@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/cjs/server.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var rR=Object.create;var $a=Object.defineProperty;var oR=Object.getOwnPropertyDescriptor;var sR=Object.getOwnPropertyNames;var iR=Object.getPrototypeOf,aR=Object.prototype.hasOwnProperty;var _r=(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}},Rf=(t,e)=>{for(var n in e)$a(t,n,{get:e[n],enumerable:!0})},R0=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of sR(e))!aR.call(t,o)&&o!==n&&$a(t,o,{get:()=>e[o],enumerable:!(r=oR(e,o))||r.enumerable});return t};var tt=(t,e,n)=>(n=t!=null?rR(iR(t)):{},R0(e||!t||!t.__esModule?$a(n,"default",{value:t,enumerable:!0}):n,t)),cR=t=>R0($a({},"__esModule",{value:!0}),t);var D0=J((NL,xf)=>{"use strict";var uR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,lR=/(\w*(\.\w*)*)\..*/;xf.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,x0(r.stack)}};function x0(t){let e=t.match(uR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(lR)[1]:"anonymous"}xf.exports.extractPluginName=x0});var P0=J((ML,O0)=>{"use strict";O0.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var I0=J((BL,za)=>{"use strict";var dR=D0(),fR=P0(),pR=0;function Df(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=dR(t)+"-auto-"+pR++),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=fR(e.name);return!n&&!t[r]&&(t[r]=t),t}za.exports=Df;za.exports.default=Df;za.exports.fastifyPlugin=Df});var F0=J(Pf=>{var hR=/^(-?(?:\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?)?)?$/,Ha=1e3,Wa=Ha*60,Ga=Wa*60,ui=Ga*24,Of=ui*365.25;function mR(t){var e,n=t.toLowerCase().match(hR);if(n!=null&&(e=parseFloat(n[1])))return n[3]!=null?e*Ha:n[4]!=null?e*Wa:n[5]!=null?e*Ga:n[6]!=null?e*ui:n[7]!=null?e*ui*7:n[8]!=null?e*Of:e}function ci(t,e,n,r){var o=(t|0)===t?t:~~(t+.5);return e+o+(r?" "+n+(o!=1?"s":""):n[0])}function gR(t,e){var n=t<0?"-":"",r=t<0?-t:t;return r<Ha?t+(e?" ms":"ms"):r<Wa?ci(r/Ha,n,"second",e):r<Ga?ci(r/Wa,n,"minute",e):r<ui?ci(r/Ga,n,"hour",e):r<Of?ci(r/ui,n,"day",e):ci(r/Of,n,"year",e)}Pf.format=gR;Pf.parse=mR});var M0=J(pn=>{"use strict";function Ya(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 If=class{constructor(e=1e3,n=0){Ya(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}},Ja=class{constructor(e=1e3,n=0){Ya(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 Ff(){return{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}var Va=class{constructor(){this.records={}}initForCache(e,n){this.records[e]={[n]:Ff()}}resetForCache(e){if(this.records[e])for(let n of Object.keys(this.records[e]))this.records[e][n]=Ff()}getStatistics(){return this.records}},Nf=class{constructor(e=1e3,n=0){Ya(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}},li=class{constructor(e=1e3,n=0){Ya(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 N0(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var Mf=class{constructor(e,n,r){this.cacheId=e,this.statisticTtlInHours=n,this.collectionStart=new Date,this.currentTimeStamp=N0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records=r||new Va,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){let e=this.records.records[this.cacheId];return e[this.currentTimeStamp]||(e[this.currentTimeStamp]=Ff()),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=N0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records.initForCache(this.cacheId,this.currentTimeStamp))}},Ka=class extends li{constructor(e,n,r,o,s){if(super(e,n),!r)throw new Error("Cache id is mandatory");this.hitStatistics=new Mf(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()}};pn.Fifo=Ja;pn.FifoMap=If;pn.FifoObject=Ja;pn.HitStatisticsRecord=Va;pn.Lru=li;pn.LruHitStatistics=Ka;pn.LruMap=Nf;pn.LruObject=li;pn.LruObjectHitStatistics=Ka});var U0=J((LL,B0)=>{"use strict";var{LruMap:yR}=M0();function Xa(t,e,n=5e3){this.continueExceeding=t,this.exponentialBackoff=e,this.lru=new yR(n)}Xa.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)};Xa.prototype.child=function(t){return new Xa(t.continueExceeding,t.exponentialBackoff,t.cache)};B0.exports=Xa});var L0=J((qL,j0)=>{"use strict";var _R=`
|
|
1
|
+
"use strict";var vR=Object.create;var Ya=Object.defineProperty;var TR=Object.getOwnPropertyDescriptor;var RR=Object.getOwnPropertyNames;var xR=Object.getPrototypeOf,DR=Object.prototype.hasOwnProperty;var Sr=(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}},Gf=(t,e)=>{for(var n in e)Ya(t,n,{get:e[n],enumerable:!0})},Y0=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of RR(e))!DR.call(t,o)&&o!==n&&Ya(t,o,{get:()=>e[o],enumerable:!(r=TR(e,o))||r.enumerable});return t};var tt=(t,e,n)=>(n=t!=null?vR(xR(t)):{},Y0(e||!t||!t.__esModule?Ya(n,"default",{value:t,enumerable:!0}):n,t)),OR=t=>Y0(Ya({},"__esModule",{value:!0}),t);var Q0=J((aq,Jf)=>{"use strict";var PR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,IR=/(\w*(\.\w*)*)\..*/;Jf.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,X0(r.stack)}};function X0(t){let e=t.match(PR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(IR)[1]:"anonymous"}Jf.exports.extractPluginName=X0});var eb=J((cq,Z0)=>{"use strict";Z0.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var tb=J((uq,Xa)=>{"use strict";var FR=Q0(),NR=eb(),MR=0;function Kf(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=FR(t)+"-auto-"+MR++),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=NR(e.name);return!n&&!t[r]&&(t[r]=t),t}Xa.exports=Kf;Xa.exports.default=Kf;Xa.exports.fastifyPlugin=Kf});var nb=J(Yf=>{var BR=/^(-?(?:\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?)?)?$/,Qa=1e3,Za=Qa*60,ec=Za*60,_i=ec*24,Vf=_i*365.25;function UR(t){var e,n=t.toLowerCase().match(BR);if(n!=null&&(e=parseFloat(n[1])))return n[3]!=null?e*Qa:n[4]!=null?e*Za:n[5]!=null?e*ec:n[6]!=null?e*_i:n[7]!=null?e*_i*7:n[8]!=null?e*Vf:e}function yi(t,e,n,r){var o=(t|0)===t?t:~~(t+.5);return e+o+(r?" "+n+(o!=1?"s":""):n[0])}function jR(t,e){var n=t<0?"-":"",r=t<0?-t:t;return r<Qa?t+(e?" ms":"ms"):r<Za?yi(r/Qa,n,"second",e):r<ec?yi(r/Za,n,"minute",e):r<_i?yi(r/ec,n,"hour",e):r<Vf?yi(r/_i,n,"day",e):yi(r/Vf,n,"year",e)}Yf.format=jR;Yf.parse=UR});var ob=J(mn=>{"use strict";function oc(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){oc(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}},tc=class{constructor(e=1e3,n=0){oc(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 Qf(){return{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}var nc=class{constructor(){this.records={}}initForCache(e,n){this.records[e]={[n]:Qf()}}resetForCache(e){if(this.records[e])for(let n of Object.keys(this.records[e]))this.records[e][n]=Qf()}getStatistics(){return this.records}},Zf=class{constructor(e=1e3,n=0){oc(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}},bi=class{constructor(e=1e3,n=0){oc(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 rb(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var ep=class{constructor(e,n,r){this.cacheId=e,this.statisticTtlInHours=n,this.collectionStart=new Date,this.currentTimeStamp=rb(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records=r||new nc,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){let e=this.records.records[this.cacheId];return e[this.currentTimeStamp]||(e[this.currentTimeStamp]=Qf()),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=rb(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records.initForCache(this.cacheId,this.currentTimeStamp))}},rc=class extends bi{constructor(e,n,r,o,s){if(super(e,n),!r)throw new Error("Cache id is mandatory");this.hitStatistics=new ep(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()}};mn.Fifo=tc;mn.FifoMap=Xf;mn.FifoObject=tc;mn.HitStatisticsRecord=nc;mn.Lru=bi;mn.LruHitStatistics=rc;mn.LruMap=Zf;mn.LruObject=bi;mn.LruObjectHitStatistics=rc});var ib=J((fq,sb)=>{"use strict";var{LruMap:LR}=ob();function sc(t,e,n=5e3){this.continueExceeding=t,this.exponentialBackoff=e,this.lru=new LR(n)}sc.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)};sc.prototype.child=function(t){return new sc(t.continueExceeding,t.exponentialBackoff,t.cache)};sb.exports=sc});var cb=J((pq,ab)=>{"use strict";var qR=`
|
|
2
2
|
-- Key to operate on
|
|
3
3
|
local key = KEYS[1]
|
|
4
4
|
-- Time window for the TTL
|
|
@@ -27,330 +27,334 @@
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
return {current, timeWindow}
|
|
30
|
-
`;function Qa(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:_R})}Qa.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]})})};Qa.prototype.child=function(t){return new Qa(t.continueExceeding,t.exponentialBackoff,this.redis,`${this.key}${t.routeInfo.method}${t.routeInfo.url}-`)};j0.exports=Qa});var K0=J(($L,Za)=>{"use strict";var bR=I0(),{parse:z0,format:CR}=F0(),wR=U0(),kR=L0(),H0=1e3,W0=6e4,SR="onRequest",ER={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},vR={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},Bf=()=>{},AR=t=>t.ip,TR=(t,e)=>{let n=new Error(`Rate limit exceeded, retry in ${e.after}`);return n.statusCode=e.statusCode,n};async function Uf(t,e){let n={global:typeof e.global=="boolean"?e.global:!0};typeof e.enableDraftSpec=="boolean"&&e.enableDraftSpec?(n.enableDraftSpec=!0,n.labels=vR):(n.enableDraftSpec=!1,n.labels=ER),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=H0,Number.isFinite(e.timeWindow)&&e.timeWindow>=0?n.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?n.timeWindow=z0(e.timeWindow):typeof e.timeWindow=="function"?n.timeWindow=e.timeWindow:n.timeWindow=W0,n.hook=e.hook||SR,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:Bf,n.onExceeding=typeof e.onExceeding=="function"?e.onExceeding:Bf,n.onExceeded=typeof e.onExceeded=="function"?e.onExceeded:Bf,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:AR,typeof e.errorResponseBuilder=="function"?(n.errorResponseBuilder=e.errorResponseBuilder,n.isCustomErrorMessage=!0):(n.errorResponseBuilder=TR,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 kR(n.continueExceeding,n.exponentialBackoff,e.redis,e.nameSpace):r.store=new wR(n.continueExceeding,n.exponentialBackoff,e.cache);t.decorateRequest(r.rateLimitRan,!1),t.hasDecorator("createRateLimit")||t.decorate("createRateLimit",o=>{let s=q0(r,n,o);return i=>J0.apply(this,s.concat(i))}),t.hasDecorator("rateLimit")||t.decorate("rateLimit",o=>{let s=q0(r,n,o);return V0(...s)}),t.addHook("onRoute",o=>{if(o.config?.rateLimit!=null){if(typeof o.config.rateLimit=="object"){let s=Object.create(r),i=G0(n,o.config.rateLimit,{routeInfo:o});s.store=r.store.child(i),$0(s,i,o)}else if(o.config.rateLimit!==!1)throw new Error("Unknown value for route rate-limit configuration")}else n.global&&$0(r,n,o)})}function G0(...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=z0(e.timeWindow):typeof e.timeWindow!="function"&&(e.timeWindow=W0),Number.isFinite(e.max)&&e.max>=0?e.max=Math.trunc(e.max):typeof e.max!="function"&&(e.max=H0),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 q0(t,e,n){if(typeof n=="object"){let r=Object.create(t),o=G0(e,n,{routeInfo:{}});return r.store=r.store.child(o),[r,o]}return[t,e]}function $0(t,e,n){let r=e.hook,o=V0(t,e);Array.isArray(n[r])?n[r].push(o):typeof n[r]=="function"?n[r]=[n[r],o]:n[r]=[o]}async function J0(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 V0(t,e){let{rateLimitRan:n}=t;return async(r,o)=>{if(r[n])return;r[n]=!0;let s=await J0(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:CR(d*1e3,!0)};throw h&&(_.statusCode=403,_.ban=!0,e.onBanReach(r,i)),e.errorResponseBuilder(r,_)}}Za.exports=bR(Uf,{fastify:"5.x",name:"@fastify/rate-limit"});Za.exports.default=Uf;Za.exports.fastifyRateLimit=Uf});var Y0=J((zL,ec)=>{ec.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ec.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]/;ec.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 Lf=J((HL,X0)=>{var jf=Y0();X0.exports={isSpaceSeparator(t){return typeof t=="string"&&jf.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||jf.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"||jf.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 nb=J((WL,tb)=>{var nt=Lf(),$f,mt,Ln,nc,br,Kt,rt,Wf,fi;tb.exports=function(e,n){$f=String(e),mt="start",Ln=[],nc=0,br=1,Kt=0,rt=void 0,Wf=void 0,fi=void 0;do rt=RR(),OR[mt]();while(rt.type!=="eof");return typeof n=="function"?zf({"":fi},"",n):fi};function zf(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=zf(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=zf(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 Se,Ce,di,jn,ve;function RR(){for(Se="default",Ce="",di=!1,jn=1;;){ve=qn();let t=Z0[Se]();if(t)return t}}function qn(){if($f[nc])return String.fromCodePoint($f.codePointAt(nc))}function V(){let t=qn();return t===`
|
|
31
|
-
`?(
|
|
32
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
33
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
34
|
-
`:case"\r":throw Le(
|
|
35
|
-
`;case"r":return
|
|
36
|
-
`:case"\u2028":case"\u2029":return
|
|
37
|
-
`&&
|
|
38
|
-
`+s;T=
|
|
30
|
+
`;function ic(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:qR})}ic.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]})})};ic.prototype.child=function(t){return new ic(t.continueExceeding,t.exponentialBackoff,this.redis,`${this.key}${t.routeInfo.method}${t.routeInfo.url}-`)};ab.exports=ic});var yb=J((hq,ac)=>{"use strict";var $R=tb(),{parse:db,format:zR}=nb(),HR=ib(),WR=cb(),fb=1e3,pb=6e4,GR="onRequest",JR={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},KR={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},tp=()=>{},VR=t=>t.ip,YR=(t,e)=>{let n=new Error(`Rate limit exceeded, retry in ${e.after}`);return n.statusCode=e.statusCode,n};async function np(t,e){let n={global:typeof e.global=="boolean"?e.global:!0};typeof e.enableDraftSpec=="boolean"&&e.enableDraftSpec?(n.enableDraftSpec=!0,n.labels=KR):(n.enableDraftSpec=!1,n.labels=JR),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=fb,Number.isFinite(e.timeWindow)&&e.timeWindow>=0?n.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?n.timeWindow=db(e.timeWindow):typeof e.timeWindow=="function"?n.timeWindow=e.timeWindow:n.timeWindow=pb,n.hook=e.hook||GR,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:tp,n.onExceeding=typeof e.onExceeding=="function"?e.onExceeding:tp,n.onExceeded=typeof e.onExceeded=="function"?e.onExceeded:tp,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:VR,typeof e.errorResponseBuilder=="function"?(n.errorResponseBuilder=e.errorResponseBuilder,n.isCustomErrorMessage=!0):(n.errorResponseBuilder=YR,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 WR(n.continueExceeding,n.exponentialBackoff,e.redis,e.nameSpace):r.store=new HR(n.continueExceeding,n.exponentialBackoff,e.cache);t.decorateRequest(r.rateLimitRan,!1),t.hasDecorator("createRateLimit")||t.decorate("createRateLimit",o=>{let s=ub(r,n,o);return i=>mb.apply(this,s.concat(i))}),t.hasDecorator("rateLimit")||t.decorate("rateLimit",o=>{let s=ub(r,n,o);return gb(...s)}),t.addHook("onRoute",o=>{if(o.config?.rateLimit!=null){if(typeof o.config.rateLimit=="object"){let s=Object.create(r),i=hb(n,o.config.rateLimit,{routeInfo:o});s.store=r.store.child(i),lb(s,i,o)}else if(o.config.rateLimit!==!1)throw new Error("Unknown value for route rate-limit configuration")}else n.global&&lb(r,n,o)})}function hb(...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=db(e.timeWindow):typeof e.timeWindow!="function"&&(e.timeWindow=pb),Number.isFinite(e.max)&&e.max>=0?e.max=Math.trunc(e.max):typeof e.max!="function"&&(e.max=fb),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 ub(t,e,n){if(typeof n=="object"){let r=Object.create(t),o=hb(e,n,{routeInfo:{}});return r.store=r.store.child(o),[r,o]}return[t,e]}function lb(t,e,n){let r=e.hook,o=gb(t,e);Array.isArray(n[r])?n[r].push(o):typeof n[r]=="function"?n[r]=[n[r],o]:n[r]=[o]}async function mb(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 gb(t,e){let{rateLimitRan:n}=t;return async(r,o)=>{if(r[n])return;r[n]=!0;let s=await mb(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:zR(f*1e3,!0)};throw p&&(b.statusCode=403,b.ban=!0,e.onBanReach(r,i)),e.errorResponseBuilder(r,b)}}ac.exports=$R(np,{fastify:"5.x",name:"@fastify/rate-limit"});ac.exports.default=np;ac.exports.fastifyRateLimit=np});var _b=J((mq,cc)=>{cc.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;cc.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]/;cc.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 op=J((gq,bb)=>{var rp=_b();bb.exports={isSpaceSeparator(t){return typeof t=="string"&&rp.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||rp.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"||rp.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 Eb=J((yq,Sb)=>{var nt=op(),ip,mt,Wn,lc,Er,Xt,rt,up,wi;Sb.exports=function(e,n){ip=String(e),mt="start",Wn=[],lc=0,Er=1,Xt=0,rt=void 0,up=void 0,wi=void 0;do rt=XR(),ex[mt]();while(rt.type!=="eof");return typeof n=="function"?ap({"":wi},"",n):wi};function ap(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=ap(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=ap(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 Se,Ce,Ci,Hn,Ae;function XR(){for(Se="default",Ce="",Ci=!1,Hn=1;;){Ae=Gn();let t=wb[Se]();if(t)return t}}function Gn(){if(ip[lc])return String.fromCodePoint(ip.codePointAt(lc))}function K(){let t=Gn();return t===`
|
|
31
|
+
`?(Er++,Xt=0):t?Xt+=t.length:Xt++,t&&(lc+=t.length),t}var wb={default(){switch(Ae){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
32
|
+
`:case"\r":case"\u2028":case"\u2029":K();return;case"/":K(),Se="comment";return;case void 0:return K(),je("eof")}if(nt.isSpaceSeparator(Ae)){K();return}return wb[mt]()},comment(){switch(Ae){case"*":K(),Se="multiLineComment";return;case"/":K(),Se="singleLineComment";return}throw Le(K())},multiLineComment(){switch(Ae){case"*":K(),Se="multiLineCommentAsterisk";return;case void 0:throw Le(K())}K()},multiLineCommentAsterisk(){switch(Ae){case"*":K();return;case"/":K(),Se="default";return;case void 0:throw Le(K())}K(),Se="multiLineComment"},singleLineComment(){switch(Ae){case`
|
|
33
|
+
`:case"\r":case"\u2028":case"\u2029":K(),Se="default";return;case void 0:return K(),je("eof")}K()},value(){switch(Ae){case"{":case"[":return je("punctuator",K());case"n":return K(),Xr("ull"),je("null",null);case"t":return K(),Xr("rue"),je("boolean",!0);case"f":return K(),Xr("alse"),je("boolean",!1);case"-":case"+":K()==="-"&&(Hn=-1),Se="sign";return;case".":Ce=K(),Se="decimalPointLeading";return;case"0":Ce=K(),Se="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":Ce=K(),Se="decimalInteger";return;case"I":return K(),Xr("nfinity"),je("numeric",1/0);case"N":return K(),Xr("aN"),je("numeric",NaN);case'"':case"'":Ci=K()==='"',Ce="",Se="string";return}throw Le(K())},identifierNameStartEscape(){if(Ae!=="u")throw Le(K());K();let t=cp();switch(t){case"$":case"_":break;default:if(!nt.isIdStartChar(t))throw Cb();break}Ce+=t,Se="identifierName"},identifierName(){switch(Ae){case"$":case"_":case"\u200C":case"\u200D":Ce+=K();return;case"\\":K(),Se="identifierNameEscape";return}if(nt.isIdContinueChar(Ae)){Ce+=K();return}return je("identifier",Ce)},identifierNameEscape(){if(Ae!=="u")throw Le(K());K();let t=cp();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!nt.isIdContinueChar(t))throw Cb();break}Ce+=t,Se="identifierName"},sign(){switch(Ae){case".":Ce=K(),Se="decimalPointLeading";return;case"0":Ce=K(),Se="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":Ce=K(),Se="decimalInteger";return;case"I":return K(),Xr("nfinity"),je("numeric",Hn*(1/0));case"N":return K(),Xr("aN"),je("numeric",NaN)}throw Le(K())},zero(){switch(Ae){case".":Ce+=K(),Se="decimalPoint";return;case"e":case"E":Ce+=K(),Se="decimalExponent";return;case"x":case"X":Ce+=K(),Se="hexadecimal";return}return je("numeric",Hn*0)},decimalInteger(){switch(Ae){case".":Ce+=K(),Se="decimalPoint";return;case"e":case"E":Ce+=K(),Se="decimalExponent";return}if(nt.isDigit(Ae)){Ce+=K();return}return je("numeric",Hn*Number(Ce))},decimalPointLeading(){if(nt.isDigit(Ae)){Ce+=K(),Se="decimalFraction";return}throw Le(K())},decimalPoint(){switch(Ae){case"e":case"E":Ce+=K(),Se="decimalExponent";return}if(nt.isDigit(Ae)){Ce+=K(),Se="decimalFraction";return}return je("numeric",Hn*Number(Ce))},decimalFraction(){switch(Ae){case"e":case"E":Ce+=K(),Se="decimalExponent";return}if(nt.isDigit(Ae)){Ce+=K();return}return je("numeric",Hn*Number(Ce))},decimalExponent(){switch(Ae){case"+":case"-":Ce+=K(),Se="decimalExponentSign";return}if(nt.isDigit(Ae)){Ce+=K(),Se="decimalExponentInteger";return}throw Le(K())},decimalExponentSign(){if(nt.isDigit(Ae)){Ce+=K(),Se="decimalExponentInteger";return}throw Le(K())},decimalExponentInteger(){if(nt.isDigit(Ae)){Ce+=K();return}return je("numeric",Hn*Number(Ce))},hexadecimal(){if(nt.isHexDigit(Ae)){Ce+=K(),Se="hexadecimalInteger";return}throw Le(K())},hexadecimalInteger(){if(nt.isHexDigit(Ae)){Ce+=K();return}return je("numeric",Hn*Number(Ce))},string(){switch(Ae){case"\\":K(),Ce+=QR();return;case'"':if(Ci)return K(),je("string",Ce);Ce+=K();return;case"'":if(!Ci)return K(),je("string",Ce);Ce+=K();return;case`
|
|
34
|
+
`:case"\r":throw Le(K());case"\u2028":case"\u2029":tx(Ae);break;case void 0:throw Le(K())}Ce+=K()},start(){switch(Ae){case"{":case"[":return je("punctuator",K())}Se="value"},beforePropertyName(){switch(Ae){case"$":case"_":Ce=K(),Se="identifierName";return;case"\\":K(),Se="identifierNameStartEscape";return;case"}":return je("punctuator",K());case'"':case"'":Ci=K()==='"',Se="string";return}if(nt.isIdStartChar(Ae)){Ce+=K(),Se="identifierName";return}throw Le(K())},afterPropertyName(){if(Ae===":")return je("punctuator",K());throw Le(K())},beforePropertyValue(){Se="value"},afterPropertyValue(){switch(Ae){case",":case"}":return je("punctuator",K())}throw Le(K())},beforeArrayValue(){if(Ae==="]")return je("punctuator",K());Se="value"},afterArrayValue(){switch(Ae){case",":case"]":return je("punctuator",K())}throw Le(K())},end(){throw Le(K())}};function je(t,e){return{type:t,value:e,line:Er,column:Xt}}function Xr(t){for(let e of t){if(Gn()!==e)throw Le(K());K()}}function QR(){switch(Gn()){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(),nt.isDigit(Gn()))throw Le(K());return"\0";case"x":return K(),ZR();case"u":return K(),cp();case`
|
|
36
|
+
`:case"\u2028":case"\u2029":return K(),"";case"\r":return K(),Gn()===`
|
|
37
|
+
`&&K(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Le(K());case void 0:throw Le(K())}return K()}function ZR(){let t="",e=Gn();if(!nt.isHexDigit(e)||(t+=K(),e=Gn(),!nt.isHexDigit(e)))throw Le(K());return t+=K(),String.fromCodePoint(parseInt(t,16))}function cp(){let t="",e=4;for(;e-- >0;){let n=Gn();if(!nt.isHexDigit(n))throw Le(K());t+=K()}return String.fromCodePoint(parseInt(t,16))}var ex={start(){if(rt.type==="eof")throw Qr();sp()},beforePropertyName(){switch(rt.type){case"identifier":case"string":up=rt.value,mt="afterPropertyName";return;case"punctuator":uc();return;case"eof":throw Qr()}},afterPropertyName(){if(rt.type==="eof")throw Qr();mt="beforePropertyValue"},beforePropertyValue(){if(rt.type==="eof")throw Qr();sp()},beforeArrayValue(){if(rt.type==="eof")throw Qr();if(rt.type==="punctuator"&&rt.value==="]"){uc();return}sp()},afterPropertyValue(){if(rt.type==="eof")throw Qr();switch(rt.value){case",":mt="beforePropertyName";return;case"}":uc()}},afterArrayValue(){if(rt.type==="eof")throw Qr();switch(rt.value){case",":mt="beforeArrayValue";return;case"]":uc()}},end(){}};function sp(){let t;switch(rt.type){case"punctuator":switch(rt.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=rt.value;break}if(wi===void 0)wi=t;else{let e=Wn[Wn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,up,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Wn.push(t),Array.isArray(t)?mt="beforeArrayValue":mt="beforePropertyName";else{let e=Wn[Wn.length-1];e==null?mt="end":Array.isArray(e)?mt="afterArrayValue":mt="afterPropertyValue"}}function uc(){Wn.pop();let t=Wn[Wn.length-1];t==null?mt="end":Array.isArray(t)?mt="afterArrayValue":mt="afterPropertyValue"}function Le(t){return dc(t===void 0?`JSON5: invalid end of input at ${Er}:${Xt}`:`JSON5: invalid character '${kb(t)}' at ${Er}:${Xt}`)}function Qr(){return dc(`JSON5: invalid end of input at ${Er}:${Xt}`)}function Cb(){return Xt-=5,dc(`JSON5: invalid identifier character at ${Er}:${Xt}`)}function tx(t){console.warn(`JSON5: '${kb(t)}' in strings is not valid ECMAScript; consider escaping`)}function kb(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 dc(t){let e=new SyntaxError(t);return e.lineNumber=Er,e.columnNumber=Xt,e}});var vb=J((_q,Ab)=>{var lp=op();Ab.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(lp.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(!lp.isIdStartChar(w))return h(m,!0);for(let _=w.length;_<m.length;_++)if(!lp.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 Jf=J((JL,sb)=>{var IR=nb(),FR=ob(),NR={parse:IR,stringify:FR};sb.exports=NR});var pC=J((h2,Vx)=>{Vx.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((m2,Kx)=>{Kx.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((g2,Yx)=>{Yx.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((y2,Xx)=>{Xx.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((_2,Qx)=>{Qx.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((b2,Zx)=>{Zx.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((C2,eD)=>{eD.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((w2,tD)=>{tD.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((k2,nD)=>{nD.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 vC=J((S2,EC)=>{var rD=pC(),oD=hC(),kC=mC(),sD=gC(),iD=yC(),aD=_C(),cD=bC(),uD=CC(),lD=wC(),SC=function(t,e){return t[e]!==void 0?t[e]:e};function Sr(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=Sr(t,"^",oD),t=Sr(t,"_",rD),t=Sr(t,"\\bb",sD),t=Sr(t,"\\bf",iD),t=Sr(t,"\\it",uD),t=Sr(t,"\\cal",aD),t=Sr(t,"\\frak",cD),t=Sr(t,"\\mono",lD),t}});var wp=J((Z2,JC)=>{"use strict";var Ic=Object.prototype.hasOwnProperty,GC=Object.prototype.toString,LC=Object.defineProperty,qC=Object.getOwnPropertyDescriptor,$C=function(e){return typeof Array.isArray=="function"?Array.isArray(e):GC.call(e)==="[object Array]"},zC=function(e){if(!e||GC.call(e)!=="[object Object]")return!1;var n=Ic.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&Ic.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||Ic.call(e,o)},HC=function(e,n){LC&&n.name==="__proto__"?LC(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},WC=function(e,n){if(n==="__proto__")if(Ic.call(e,n)){if(qC)return qC(e,n).value}else return;return e[n]};JC.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=WC(c,n),o=WC(e,n),c!==o&&(d&&o&&(zC(o)||(s=$C(o)))?(s?(s=!1,i=r&&$C(r)?r:[]):i=r&&zC(r)?r:{},HC(c,{name:n,newValue:t(d,i,o)})):typeof o<"u"&&HC(c,{name:n,newValue:o}));return c}});var VC=J((e$,RD)=>{RD.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 YC=J((t$,KC)=>{"use strict";var xD=VC();KC.exports={pkg:xD}});var Ep=J(Mt=>{"use strict";var QC=Mt&&Mt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Mt,"__esModule",{value:!0});Mt.GaxiosError=Mt.GAXIOS_ERROR_SYMBOL=void 0;Mt.defaultErrorRedactor=ZC;var XC=QC(wp()),DD=QC(YC()),kp=DD.default.pkg;Mt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${kp.name}-gaxios-error`);var Sp=class t extends Error{config;response;code;status;error;[Mt.GAXIOS_ERROR_SYMBOL]=kp.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Mt.GAXIOS_ERROR_SYMBOL in e&&e[Mt.GAXIOS_ERROR_SYMBOL]===kp.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,XC.default)(!0,{},n),this.response&&(this.response.config=(0,XC.default)(!0,{},this.response.config)),this.response){try{this.response.data=OD(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}}};Mt.GaxiosError=Sp;function OD(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 ZC(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&&(ZC({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var tw=J(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.getRetryConfig=PD;async function PD(t){let e=ew(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||ID)(t))return{shouldRetry:!1,config:t.config};let o=FD(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 ID(t){let e=ew(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 ew(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function FD(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 Tp=J(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.GaxiosInterceptorManager=void 0;var Ap=class extends Set{};Fc.GaxiosInterceptorManager=Ap});var rw=J((s$,nw)=>{var Go=1e3,Jo=Go*60,Vo=Jo*60,ro=Vo*24,ND=ro*7,MD=ro*365.25;nw.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return BD(t);if(n==="number"&&isFinite(t))return e.long?jD(t):UD(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function BD(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*MD;case"weeks":case"week":case"w":return n*ND;case"days":case"day":case"d":return n*ro;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Vo;case"minutes":case"minute":case"mins":case"min":case"m":return n*Jo;case"seconds":case"second":case"secs":case"sec":case"s":return n*Go;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function UD(t){var e=Math.abs(t);return e>=ro?Math.round(t/ro)+"d":e>=Vo?Math.round(t/Vo)+"h":e>=Jo?Math.round(t/Jo)+"m":e>=Go?Math.round(t/Go)+"s":t+"ms"}function jD(t){var e=Math.abs(t);return e>=ro?Nc(t,e,ro,"day"):e>=Vo?Nc(t,e,Vo,"hour"):e>=Jo?Nc(t,e,Jo,"minute"):e>=Go?Nc(t,e,Go,"second"):t+" ms"}function Nc(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var Rp=J((i$,ow)=>{function LD(t){n.debug=n,n.default=n,n.coerce=u,n.disable=i,n.enable=o,n.enabled=c,n.humanize=rw(),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}ow.exports=LD});var sw=J((wt,Mc)=>{wt.formatArgs=$D;wt.save=zD;wt.load=HD;wt.useColors=qD;wt.storage=WD();wt.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`."))}})();wt.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 qD(){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 $D(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Mc.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)}wt.log=console.debug||console.log||(()=>{});function zD(t){try{t?wt.storage.setItem("debug",t):wt.storage.removeItem("debug")}catch{}}function HD(){let t;try{t=wt.storage.getItem("debug")||wt.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function WD(){try{return localStorage}catch{}}Mc.exports=Rp()(wt);var{formatters:GD}=Mc.exports;GD.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var aw=J((a$,iw)=>{"use strict";iw.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 lw=J((c$,uw)=>{"use strict";var JD=require("os"),cw=require("tty"),Bt=aw(),{env:ot}=process,Bc;Bt("no-color")||Bt("no-colors")||Bt("color=false")||Bt("color=never")?Bc=0:(Bt("color")||Bt("colors")||Bt("color=true")||Bt("color=always"))&&(Bc=1);function VD(){if("FORCE_COLOR"in ot)return ot.FORCE_COLOR==="true"?1:ot.FORCE_COLOR==="false"?0:ot.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ot.FORCE_COLOR,10),3)}function KD(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function YD(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=VD();r!==void 0&&(Bc=r);let o=n?Bc:r;if(o===0)return 0;if(n){if(Bt("color=16m")||Bt("color=full")||Bt("color=truecolor"))return 3;if(Bt("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(ot.TERM==="dumb")return s;if(process.platform==="win32"){let i=JD.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ot)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in ot)||ot.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in ot)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ot.TEAMCITY_VERSION)?1:0;if(ot.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ot){let i=Number.parseInt((ot.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ot.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ot.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ot.TERM)||"COLORTERM"in ot?1:s}function xp(t,e={}){let n=YD(t,{streamIsTTY:t&&t.isTTY,...e});return KD(n)}uw.exports={supportsColor:xp,stdout:xp({isTTY:cw.isatty(1)}),stderr:xp({isTTY:cw.isatty(2)})}});var fw=J((st,jc)=>{var XD=require("tty"),Uc=require("util");st.init=oO;st.log=tO;st.formatArgs=ZD;st.save=nO;st.load=rO;st.useColors=QD;st.destroy=Uc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");st.colors=[6,2,3,4,5,1];try{let t=lw();t&&(t.stderr||t).level>=2&&(st.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{}st.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 QD(){return"colors"in st.inspectOpts?!!st.inspectOpts.colors:XD.isatty(process.stderr.fd)}function ZD(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 dp=J((bq,Tb)=>{var nx=Eb(),rx=vb(),ox={parse:nx,stringify:rx};Tb.exports=ox});var HC=J((Z2,OD)=>{OD.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 WC=J((e$,PD)=>{PD.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 GC=J((t$,ID)=>{ID.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 JC=J((n$,FD)=>{FD.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 KC=J((r$,ND)=>{ND.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 VC=J((o$,MD)=>{MD.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 YC=J((s$,BD)=>{BD.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 XC=J((i$,UD)=>{UD.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 QC=J((a$,jD)=>{jD.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 nw=J((c$,tw)=>{var LD=HC(),qD=WC(),ZC=GC(),$D=JC(),zD=KC(),HD=VC(),WD=YC(),GD=XC(),JD=QC(),ew=function(t,e){return t[e]!==void 0?t[e]:e};function Tr(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+=ew(n,i),o="normal";continue}else if(o==="long"&&i==="}"){o="normal";continue}o==="normal"?r+=i:r+=ew(n,i)}return r}tw.exports=function(t){return Object.keys(ZC).forEach(function(e){var n=ZC[e];t=t.replace(e,n)}),t=Tr(t,"^",qD),t=Tr(t,"_",LD),t=Tr(t,"\\bb",$D),t=Tr(t,"\\bf",zD),t=Tr(t,"\\it",GD),t=Tr(t,"\\cal",HD),t=Tr(t,"\\frak",WD),t=Tr(t,"\\mono",JD),t}});var eh=J((Z$,Rw)=>{"use strict";var Zc=Object.prototype.hasOwnProperty,Tw=Object.prototype.toString,ww=Object.defineProperty,kw=Object.getOwnPropertyDescriptor,Sw=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Tw.call(e)==="[object Array]"},Ew=function(e){if(!e||Tw.call(e)!=="[object Object]")return!1;var n=Zc.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&Zc.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||Zc.call(e,o)},Aw=function(e,n){ww&&n.name==="__proto__"?ww(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},vw=function(e,n){if(n==="__proto__")if(Zc.call(e,n)){if(kw)return kw(e,n).value}else return;return e[n]};Rw.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=vw(a,n),o=vw(e,n),a!==o&&(f&&o&&(Ew(o)||(s=Sw(o)))?(s?(s=!1,i=r&&Sw(r)?r:[]):i=r&&Ew(r)?r:{},Aw(a,{name:n,newValue:t(f,i,o)})):typeof o<"u"&&Aw(a,{name:n,newValue:o}));return a}});var xw=J((ez,kO)=>{kO.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 Ow=J((tz,Dw)=>{"use strict";var SO=xw();Dw.exports={pkg:SO}});var rh=J(Ut=>{"use strict";var Iw=Ut&&Ut.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GaxiosError=Ut.GAXIOS_ERROR_SYMBOL=void 0;Ut.defaultErrorRedactor=Fw;var Pw=Iw(eh()),EO=Iw(Ow()),th=EO.default.pkg;Ut.GAXIOS_ERROR_SYMBOL=Symbol.for(`${th.name}-gaxios-error`);var nh=class t extends Error{config;response;code;status;error;[Ut.GAXIOS_ERROR_SYMBOL]=th.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Ut.GAXIOS_ERROR_SYMBOL in e&&e[Ut.GAXIOS_ERROR_SYMBOL]===th.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,Pw.default)(!0,{},n),this.response&&(this.response.config=(0,Pw.default)(!0,{},this.response.config)),this.response){try{this.response.data=AO(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}}};Ut.GaxiosError=nh;function AO(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 Fw(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&&(Fw({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var Mw=J(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.getRetryConfig=vO;async function vO(t){let e=Nw(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||TO)(t))return{shouldRetry:!1,config:t.config};let o=RO(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 TO(t){let e=Nw(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 Nw(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function RO(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 ih=J(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.GaxiosInterceptorManager=void 0;var sh=class extends Set{};eu.GaxiosInterceptorManager=sh});var Uw=J((sz,Bw)=>{var rs=1e3,os=rs*60,ss=os*60,lo=ss*24,xO=lo*7,DO=lo*365.25;Bw.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return OO(t);if(n==="number"&&isFinite(t))return e.long?IO(t):PO(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function OO(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*DO;case"weeks":case"week":case"w":return n*xO;case"days":case"day":case"d":return n*lo;case"hours":case"hour":case"hrs":case"hr":case"h":return n*ss;case"minutes":case"minute":case"mins":case"min":case"m":return n*os;case"seconds":case"second":case"secs":case"sec":case"s":return n*rs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function PO(t){var e=Math.abs(t);return e>=lo?Math.round(t/lo)+"d":e>=ss?Math.round(t/ss)+"h":e>=os?Math.round(t/os)+"m":e>=rs?Math.round(t/rs)+"s":t+"ms"}function IO(t){var e=Math.abs(t);return e>=lo?tu(t,e,lo,"day"):e>=ss?tu(t,e,ss,"hour"):e>=os?tu(t,e,os,"minute"):e>=rs?tu(t,e,rs,"second"):t+" ms"}function tu(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var ah=J((iz,jw)=>{function FO(t){n.debug=n,n.default=n,n.coerce=u,n.disable=i,n.enable=o,n.enabled=a,n.humanize=Uw(),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}jw.exports=FO});var Lw=J((kt,nu)=>{kt.formatArgs=MO;kt.save=BO;kt.load=UO;kt.useColors=NO;kt.storage=jO();kt.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`."))}})();kt.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 NO(){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 MO(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+nu.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)}kt.log=console.debug||console.log||(()=>{});function BO(t){try{t?kt.storage.setItem("debug",t):kt.storage.removeItem("debug")}catch{}}function UO(){let t;try{t=kt.storage.getItem("debug")||kt.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function jO(){try{return localStorage}catch{}}nu.exports=ah()(kt);var{formatters:LO}=nu.exports;LO.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var $w=J((az,qw)=>{"use strict";qw.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 Ww=J((cz,Hw)=>{"use strict";var qO=require("os"),zw=require("tty"),jt=$w(),{env:ot}=process,ru;jt("no-color")||jt("no-colors")||jt("color=false")||jt("color=never")?ru=0:(jt("color")||jt("colors")||jt("color=true")||jt("color=always"))&&(ru=1);function $O(){if("FORCE_COLOR"in ot)return ot.FORCE_COLOR==="true"?1:ot.FORCE_COLOR==="false"?0:ot.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ot.FORCE_COLOR,10),3)}function zO(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function HO(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=$O();r!==void 0&&(ru=r);let o=n?ru:r;if(o===0)return 0;if(n){if(jt("color=16m")||jt("color=full")||jt("color=truecolor"))return 3;if(jt("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(ot.TERM==="dumb")return s;if(process.platform==="win32"){let i=qO.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ot)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in ot)||ot.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in ot)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ot.TEAMCITY_VERSION)?1:0;if(ot.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ot){let i=Number.parseInt((ot.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ot.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ot.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ot.TERM)||"COLORTERM"in ot?1:s}function ch(t,e={}){let n=HO(t,{streamIsTTY:t&&t.isTTY,...e});return zO(n)}Hw.exports={supportsColor:ch,stdout:ch({isTTY:zw.isatty(1)}),stderr:ch({isTTY:zw.isatty(2)})}});var Jw=J((st,su)=>{var WO=require("tty"),ou=require("util");st.init=QO;st.log=VO;st.formatArgs=JO;st.save=YO;st.load=XO;st.useColors=GO;st.destroy=ou.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");st.colors=[6,2,3,4,5,1];try{let t=Ww();t&&(t.stderr||t).level>=2&&(st.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{}st.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 GO(){return"colors"in st.inspectOpts?!!st.inspectOpts.colors:WO.isatty(process.stderr.fd)}function JO(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+"+su.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=KO()+e+" "+t[0]}function KO(){return st.inspectOpts.hideDate?"":new Date().toISOString()+" "}function VO(...t){return process.stderr.write(ou.formatWithOptions(st.inspectOpts,...t)+`
|
|
47
|
+
`)}function YO(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function XO(){return process.env.DEBUG}function QO(t){t.inspectOpts={};let e=Object.keys(st.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=st.inspectOpts[e[n]]}su.exports=ah()(st);var{formatters:Gw}=su.exports;Gw.o=function(t){return this.inspectOpts.colors=this.useColors,ou.inspect(t,this.inspectOpts).split(`
|
|
48
|
+
`).map(e=>e.trim()).join(" ")};Gw.O=function(t){return this.inspectOpts.colors=this.useColors,ou.inspect(t,this.inspectOpts)}});var lh=J((uz,uh)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?uh.exports=Lw():uh.exports=Jw()});var Yw=J(St=>{"use strict";var ZO=St&&St.__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=St&&St.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Kw=St&&St.__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};Object.defineProperty(St,"__esModule",{value:!0});St.req=St.json=St.toBuffer=void 0;var tP=Kw(require("http")),nP=Kw(require("https"));async function Vw(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}St.toBuffer=Vw;async function rP(t){let n=(await Vw(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}St.json=rP;function oP(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?nP:tP).request(t,e),o=new Promise((s,i)=>{r.once("response",s).once("error",i).end()});return r.then=o.then.bind(o),r}St.req=oP});var ek=J(xt=>{"use strict";var Qw=xt&&xt.__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]})),sP=xt&&xt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Zw=xt&&xt.__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)&&Qw(e,t,n);return sP(e,t),e},iP=xt&&xt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Qw(e,t,n)};Object.defineProperty(xt,"__esModule",{value:!0});xt.Agent=void 0;var aP=Zw(require("net")),Xw=Zw(require("http")),cP=require("https");iP(Yw(),xt);var wn=Symbol("AgentBaseInternalState"),dh=class extends Xw.Agent{constructor(e){super(e),this[wn]={}}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 aP.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)?cP.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 Xw.Agent)try{return a.addRequest(e,o)}catch(u){return r(u)}this[wn].currentSocket=a,super.createSocket(e,n,r)},a=>{this.decrementSockets(s,i),r(a)})}createConnection(){let e=this[wn].currentSocket;if(this[wn].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[wn].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[wn]&&(this[wn].defaultPort=e)}get protocol(){return this[wn].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[wn]&&(this[wn].protocol=e)}};xt.Agent=dh});var tk=J(is=>{"use strict";var uP=is&&is.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(is,"__esModule",{value:!0});is.parseProxyResponse=void 0;var lP=uP(lh()),iu=(0,lP.default)("https-proxy-agent:parse-proxy-response");function dP(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(),iu("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function u(f){i(),iu("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=Me.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=Rt(T=>{this[T+"Mark"]=n},"mark"),C=Rt(T=>{delete this[T+"Mark"]},"clear"),v=Rt((T,x,O,q)=>{(x===void 0||x!==O)&&this[T](q&&q.subarray(x,O))},"callback"),A=Rt((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 Me.START_BOUNDARY:if(u===i.length-2){if(b===Ai)d|=Ar.LAST_BOUNDARY;else if(b!==Wc)return;u++;break}else if(u-1===i.length-2){if(d&Ar.LAST_BOUNDARY&&b===Ai)f=Me.END,d=0;else if(!(d&Ar.LAST_BOUNDARY)&&b===Hc)u=0,v("onPartBegin"),f=Me.HEADER_FIELD_START;else return;break}b!==i[u+2]&&(u=-2),b===i[u+2]&&u++;break;case Me.HEADER_FIELD_START:f=Me.HEADER_FIELD,w("onHeaderField"),u=0;case Me.HEADER_FIELD:if(b===Wc){C("onHeaderField"),f=Me.HEADERS_ALMOST_DONE;break}if(u++,b===Ai)break;if(b===DO){if(u===1)return;A("onHeaderField",!0),f=Me.HEADER_VALUE_START;break}if(y=IO(b),y<OO||y>PO)return;break;case Me.HEADER_VALUE_START:if(b===xO)break;w("onHeaderValue"),f=Me.HEADER_VALUE;case Me.HEADER_VALUE:b===Wc&&(A("onHeaderValue",!0),v("onHeaderEnd"),f=Me.HEADER_VALUE_ALMOST_DONE);break;case Me.HEADER_VALUE_ALMOST_DONE:if(b!==Hc)return;f=Me.HEADER_FIELD_START;break;case Me.HEADERS_ALMOST_DONE:if(b!==Hc)return;v("onHeadersEnd"),f=Me.PART_DATA_START;break;case Me.PART_DATA_START:f=Me.PART_DATA,w("onPartData");case Me.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===Wc?d|=Ar.PART_BOUNDARY:b===Ai?d|=Ar.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(d&Ar.PART_BOUNDARY){if(u=0,b===Hc){d&=~Ar.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Me.HEADER_FIELD_START;break}}else d&Ar.LAST_BOUNDARY&&b===Ai?(v("onPartEnd"),f=Me.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 Me.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===Me.HEADER_FIELD_START&&this.index===0||this.state===Me.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Me.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};Rt(Rw,"MultipartParser");FO=Rw;Rt(xw,"_fileName");Rt(Dw,"toFormData")});function Kw(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 Yw(){return Fw||(Fw=1,(function(t,e){(function(n,r){r(e)})(MO,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]]"),ae=Symbol("[[ErrorSteps]]"),X=Symbol("[[CancelSteps]]"),te=Symbol("[[PullSteps]]"),Z=Symbol("[[ReleaseSteps]]");function De(a,l){a._ownerReadableStream=l,l._reader=a,l._state==="readable"?ee(a):l._state==="closed"?se(a):Q(a,l._storedError)}m(De,"ReadableStreamReaderGenericInitialize");function qe(a,l){let g=a._ownerReadableStream;return Ft(g,l)}m(qe,"ReadableStreamReaderGenericCancel");function Te(a){let l=a._ownerReadableStream;l._state==="readable"?le(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):be(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(Te,"ReadableStreamReaderGenericRelease");function We(a){return new TypeError("Cannot "+a+" a stream using a released reader")}m(We,"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),le(a,l)}m(Q,"defaultReaderClosedPromiseInitializeAsRejected");function se(a){ee(a),K(a)}m(se,"defaultReaderClosedPromiseInitializeAsResolved");function le(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(le,"defaultReaderClosedPromiseReject");function be(a,l){Q(a,l)}m(be,"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 Ke=Number.isFinite||function(a){return typeof a=="number"&&isFinite(a)},Fe=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 ce(a,l){if(a!==void 0&&!Y(a))throw new TypeError(`${l} is not an object.`)}m(ce,"assertDictionary");function de(a,l){if(typeof a!="function")throw new TypeError(`${l} is not a function.`)}m(de,"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(Fe(a))}m(j,"integerPart");function P(a,l){let g=Number.MAX_SAFE_INTEGER,S=Number(a);if(S=F(S),!Ke(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!Ke(S)||S===0?0:S}m(P,"convertUnsignedLongLongWithEnforceRange");function N(a,l){if(!Nn(a))throw new TypeError(`${l} is not a ReadableStream.`)}m(N,"assertReadableStream");function U(a){return new ge(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 oe(a){return a._reader._readRequests.length}m(oe,"ReadableStreamGetNumReadRequests");function ie(a){let l=a._reader;return!(l===void 0||!he(l))}m(ie,"ReadableStreamHasDefaultReader");let _e=class{constructor(l){if(R(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),Mn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");De(this,l),this._readRequests=new $}get closed(){return he(this)?this._closedPromise:h(fn("closed"))}cancel(l=void 0){return he(this)?this._ownerReadableStream===void 0?h(We("cancel")):qe(this,l):h(fn("cancel"))}read(){if(!he(this))return h(fn("read"));if(this._ownerReadableStream===void 0)return h(We("read from"));let l,g,S=d((I,L)=>{l=I,g=L});return ye(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(!he(this))throw fn("releaseLock");this._ownerReadableStream!==void 0&&xe(this)}};m(_e,"ReadableStreamDefaultReader");let ge=_e;Object.defineProperties(ge.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ge.prototype.cancel,"cancel"),i(ge.prototype.read,"read"),i(ge.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ge.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function he(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readRequests")?!1:a instanceof ge}m(he,"IsReadableStreamDefaultReader");function ye(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(ye,"ReadableStreamDefaultReaderRead");function xe(a){Te(a);let l=new TypeError("Reader was released");Ye(a,l)}m(xe,"ReadableStreamDefaultReaderRelease");function Ye(a,l){let g=a._readRequests;a._readRequests=new $,g.forEach(S=>{S._errorSteps(l)})}m(Ye,"ReadableStreamDefaultReaderErrorReadRequests");function fn(a){return new TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}m(fn,"defaultReaderBrandCheckException");let Us=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),Eo=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 ye(l,{_chunkSteps:m(L=>{this._ongoingPromise=void 0,A(()=>g({value:L,done:!1}))},"_chunkSteps"),_closeSteps:m(()=>{this._ongoingPromise=void 0,this._isFinished=!0,Te(l),g({value:void 0,done:!0})},"_closeSteps"),_errorSteps:m(L=>{this._ongoingPromise=void 0,this._isFinished=!0,Te(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=qe(g,l);return Te(g),C(S,()=>({value:l,done:!0}))}return Te(g),p({value:l,done:!0})}};m(Eo,"ReadableStreamAsyncIteratorImpl");let vt=Eo,sr={next(){return Qe(this)?this._asyncIteratorImpl.next():h(Ne("next"))},return(a){return Qe(this)?this._asyncIteratorImpl.return(a):h(Ne("return"))}};Object.setPrototypeOf(sr,Us);function ft(a,l){let g=U(a),S=new vt(g,l),I=Object.create(sr);return I._asyncIteratorImpl=S,I}m(ft,"AcquireReadableStreamAsyncIterator");function Qe(a){if(!o(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof vt}catch{return!1}}m(Qe,"IsReadableStreamAsyncIterator");function Ne(a){return new TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}m(Ne,"streamAsyncIteratorBrandCheckException");let Iy=Number.isNaN||function(a){return a!==a};var Ed,vd,Ad;function vo(a){return a.slice()}m(vo,"CreateArrayFromList");function Td(a,l,g,S,I){new Uint8Array(a).set(new Uint8Array(g,S,I),l)}m(Td,"CopyDataBlockBytes");let Dn=m(a=>(typeof a.transfer=="function"?Dn=m(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?Dn=m(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):Dn=m(l=>l,"TransferArrayBuffer"),Dn(a)),"TransferArrayBuffer"),ir=m(a=>(typeof a.detached=="boolean"?ir=m(l=>l.detached,"IsDetachedBuffer"):ir=m(l=>l.byteLength===0,"IsDetachedBuffer"),ir(a)),"IsDetachedBuffer");function Rd(a,l,g){if(a.slice)return a.slice(l,g);let S=g-l,I=new ArrayBuffer(S);return Td(I,0,a,l,S),I}m(Rd,"ArrayBufferSlice");function js(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(js,"GetMethod");function Fy(a){let l={[Symbol.iterator]:()=>a.iterator},g=(async function*(){return yield*l})(),S=g.next;return{iterator:g,nextMethod:S,done:!1}}m(Fy,"CreateAsyncFromSyncIterator");let xd=(Ad=(Ed=Symbol.asyncIterator)!==null&&Ed!==void 0?Ed:(vd=Symbol.for)===null||vd===void 0?void 0:vd.call(Symbol,"Symbol.asyncIterator"))!==null&&Ad!==void 0?Ad:"@@asyncIterator";function Dd(a,l="sync",g){if(g===void 0)if(l==="async"){if(g=js(a,xd),g===void 0){let L=js(a,Symbol.iterator),z=Dd(a,"sync",L);return Fy(z)}}else g=js(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(Dd,"GetIterator");function Ny(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(Ny,"IteratorNext");function My(a){return!!a.done}m(My,"IteratorComplete");function By(a){return a.value}m(By,"IteratorValue");function Uy(a){return!(typeof a!="number"||Iy(a)||a<0)}m(Uy,"IsNonNegativeNumber");function Od(a){let l=Rd(a.buffer,a.byteOffset,a.byteOffset+a.byteLength);return new Uint8Array(l)}m(Od,"CloneAsUint8Array");function ma(a){let l=a._queue.shift();return a._queueTotalSize-=l.size,a._queueTotalSize<0&&(a._queueTotalSize=0),l.value}m(ma,"DequeueValue");function ga(a,l,g){if(!Uy(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(ga,"EnqueueValueWithSize");function jy(a){return a._queue.peek().value}m(jy,"PeekQueueValue");function On(a){a._queue=new $,a._queueTotalSize=0}m(On,"ResetQueue");function Pd(a){return a===DataView}m(Pd,"isDataViewConstructor");function Ly(a){return Pd(a.constructor)}m(Ly,"isDataView");function qy(a){return Pd(a)?1:a.BYTES_PER_ELEMENT}m(qy,"arrayBufferViewElementSize");let $y=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!ya(this))throw ka("view");return this._view}respond(l){if(!ya(this))throw ka("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(ir(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");zs(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!ya(this))throw ka("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(ir(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Hs(this._associatedReadableByteStreamController,l)}};m($y,"ReadableStreamBYOBRequest");let Lr=$y;Object.defineProperties(Lr.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(Lr.prototype.respond,"respond"),i(Lr.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let zy=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!ar(this))throw To("byobRequest");return wa(this)}get desiredSize(){if(!ar(this))throw To("desiredSize");return $d(this)}close(){if(!ar(this))throw To("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`);Ao(this)}enqueue(l){if(!ar(this))throw To("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`);$s(this,l)}error(l=void 0){if(!ar(this))throw To("error");At(this,l)}[X](l){Id(this),On(this);let g=this._cancelAlgorithm(l);return qs(this),g}[te](l){let g=this._controlledReadableByteStream;if(this._queueTotalSize>0){qd(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),cr(this)}[Z](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new $,this._pendingPullIntos.push(l)}}};m(zy,"ReadableByteStreamController");let Pn=zy;Object.defineProperties(Pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{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:"ReadableByteStreamController",configurable:!0});function ar(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")?!1:a instanceof Pn}m(ar,"IsReadableByteStreamController");function ya(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")?!1:a instanceof Lr}m(ya,"IsReadableStreamBYOBRequest");function cr(a){if(!Vy(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,cr(a)),null),g=>(At(a,g),null))}m(cr,"ReadableByteStreamControllerCallPullIfNeeded");function Id(a){ba(a),a._pendingPullIntos=new $}m(Id,"ReadableByteStreamControllerClearPendingPullIntos");function _a(a,l){let g=!1;a._state==="closed"&&(g=!0);let S=Fd(l);l.readerType==="default"?G(a,S,g):e_(a,S,g)}m(_a,"ReadableByteStreamControllerCommitPullIntoDescriptor");function Fd(a){let l=a.bytesFilled,g=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,l/g)}m(Fd,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Ls(a,l,g,S){a._queue.push({buffer:l,byteOffset:g,byteLength:S}),a._queueTotalSize+=S}m(Ls,"ReadableByteStreamControllerEnqueueChunkToQueue");function Nd(a,l,g,S){let I;try{I=Rd(l,g,g+S)}catch(L){throw At(a,L),L}Ls(a,I,0,S)}m(Nd,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function Md(a,l){l.bytesFilled>0&&Nd(a,l.buffer,l.byteOffset,l.bytesFilled),qr(a)}m(Md,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function Bd(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 ue=a._queue;for(;I>0;){let me=ue.peek(),we=Math.min(I,me.byteLength),ke=l.byteOffset+l.bytesFilled;Td(l.buffer,ke,me.buffer,me.byteOffset,we),me.byteLength===we?ue.shift():(me.byteOffset+=we,me.byteLength-=we),a._queueTotalSize-=we,Ud(a,we,l),I-=we}return L}m(Bd,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function Ud(a,l,g){g.bytesFilled+=l}m(Ud,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function jd(a){a._queueTotalSize===0&&a._closeRequested?(qs(a),Fo(a._controlledReadableByteStream)):cr(a)}m(jd,"ReadableByteStreamControllerHandleQueueDrain");function ba(a){a._byobRequest!==null&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}m(ba,"ReadableByteStreamControllerInvalidateBYOBRequest");function Ca(a){for(;a._pendingPullIntos.length>0;){if(a._queueTotalSize===0)return;let l=a._pendingPullIntos.peek();Bd(a,l)&&(qr(a),_a(a._controlledReadableByteStream,l))}}m(Ca,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function Hy(a){let l=a._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(a._queueTotalSize===0)return;let g=l._readRequests.shift();qd(a,g)}}m(Hy,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function Wy(a,l,g,S){let I=a._controlledReadableByteStream,L=l.constructor,z=qy(L),{byteOffset:re,byteLength:ue}=l,me=g*z,we;try{we=Dn(l.buffer)}catch(Pe){S._errorSteps(Pe);return}let ke={buffer:we,bufferByteLength:we.byteLength,byteOffset:re,byteLength:ue,bytesFilled:0,minimumFill:me,elementSize:z,viewConstructor:L,readerType:"byob"};if(a._pendingPullIntos.length>0){a._pendingPullIntos.push(ke),Wd(I,S);return}if(I._state==="closed"){let Pe=new L(ke.buffer,ke.byteOffset,0);S._closeSteps(Pe);return}if(a._queueTotalSize>0){if(Bd(a,ke)){let Pe=Fd(ke);jd(a),S._chunkSteps(Pe);return}if(a._closeRequested){let Pe=new TypeError("Insufficient bytes to fill elements in the given buffer");At(a,Pe),S._errorSteps(Pe);return}}a._pendingPullIntos.push(ke),Wd(I,S),cr(a)}m(Wy,"ReadableByteStreamControllerPullInto");function Gy(a,l){l.readerType==="none"&&qr(a);let g=a._controlledReadableByteStream;if(Sa(g))for(;Gd(g)>0;){let S=qr(a);_a(g,S)}}m(Gy,"ReadableByteStreamControllerRespondInClosedState");function Jy(a,l,g){if(Ud(a,l,g),g.readerType==="none"){Md(a,g),Ca(a);return}if(g.bytesFilled<g.minimumFill)return;qr(a);let S=g.bytesFilled%g.elementSize;if(S>0){let I=g.byteOffset+g.bytesFilled;Nd(a,g.buffer,I-S,S)}g.bytesFilled-=S,_a(a._controlledReadableByteStream,g),Ca(a)}m(Jy,"ReadableByteStreamControllerRespondInReadableState");function Ld(a,l){let g=a._pendingPullIntos.peek();ba(a),a._controlledReadableByteStream._state==="closed"?Gy(a,g):Jy(a,l,g),cr(a)}m(Ld,"ReadableByteStreamControllerRespondInternal");function qr(a){return a._pendingPullIntos.shift()}m(qr,"ReadableByteStreamControllerShiftPendingPullInto");function Vy(a){let l=a._controlledReadableByteStream;return l._state!=="readable"||a._closeRequested||!a._started?!1:!!(ie(l)&&oe(l)>0||Sa(l)&&Gd(l)>0||$d(a)>0)}m(Vy,"ReadableByteStreamControllerShouldCallPull");function qs(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}m(qs,"ReadableByteStreamControllerClearAlgorithms");function Ao(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 At(a,S),S}}qs(a),Fo(l)}}m(Ao,"ReadableByteStreamControllerClose");function $s(a,l){let g=a._controlledReadableByteStream;if(a._closeRequested||g._state!=="readable")return;let{buffer:S,byteOffset:I,byteLength:L}=l;if(ir(S))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let z=Dn(S);if(a._pendingPullIntos.length>0){let re=a._pendingPullIntos.peek();if(ir(re.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ba(a),re.buffer=Dn(re.buffer),re.readerType==="none"&&Md(a,re)}if(ie(g))if(Hy(a),oe(g)===0)Ls(a,z,I,L);else{a._pendingPullIntos.length>0&&qr(a);let re=new Uint8Array(z,I,L);G(g,re,!1)}else Sa(g)?(Ls(a,z,I,L),Ca(a)):Ls(a,z,I,L);cr(a)}m($s,"ReadableByteStreamControllerEnqueue");function At(a,l){let g=a._controlledReadableByteStream;g._state==="readable"&&(Id(a),On(a),qs(a),gf(g,l))}m(At,"ReadableByteStreamControllerError");function qd(a,l){let g=a._queue.shift();a._queueTotalSize-=g.byteLength,jd(a);let S=new Uint8Array(g.buffer,g.byteOffset,g.byteLength);l._chunkSteps(S)}m(qd,"ReadableByteStreamControllerFillReadRequestFromQueue");function wa(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(Lr.prototype);Yy(S,a,g),a._byobRequest=S}return a._byobRequest}m(wa,"ReadableByteStreamControllerGetBYOBRequest");function $d(a){let l=a._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}m($d,"ReadableByteStreamControllerGetDesiredSize");function zs(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=Dn(g.buffer),Ld(a,l)}m(zs,"ReadableByteStreamControllerRespond");function Hs(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=Dn(l.buffer),Ld(a,S)}m(Hs,"ReadableByteStreamControllerRespondWithNewView");function zd(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,On(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,cr(l),null),ue=>(At(l,ue),null))}m(zd,"SetUpReadableByteStreamController");function Ky(a,l,g){let S=Object.create(Pn.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(ue=>l.cancel(ue),"cancelAlgorithm"):z=m(()=>p(void 0),"cancelAlgorithm");let re=l.autoAllocateChunkSize;if(re===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");zd(a,S,I,L,z,g,re)}m(Ky,"SetUpReadableByteStreamControllerFromUnderlyingSource");function Yy(a,l,g){a._associatedReadableByteStreamController=l,a._view=g}m(Yy,"SetUpReadableStreamBYOBRequest");function ka(a){return new TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}m(ka,"byobRequestBrandCheckException");function To(a){return new TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}m(To,"byteStreamControllerBrandCheckException");function Xy(a,l){ce(a,l);let g=a?.mode;return{mode:g===void 0?void 0:Qy(g,`${l} has member 'mode' that`)}}m(Xy,"convertReaderOptions");function Qy(a,l){if(a=`${a}`,a!=="byob")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}m(Qy,"convertReadableStreamReaderMode");function Zy(a,l){var g;ce(a,l);let S=(g=a?.min)!==null&&g!==void 0?g:1;return{min:P(S,`${l} has member 'min' that`)}}m(Zy,"convertByobReadOptions");function Hd(a){return new ur(a)}m(Hd,"AcquireReadableStreamBYOBReader");function Wd(a,l){a._reader._readIntoRequests.push(l)}m(Wd,"ReadableStreamAddReadIntoRequest");function e_(a,l,g){let S=a._reader._readIntoRequests.shift();g?S._closeSteps(l):S._chunkSteps(l)}m(e_,"ReadableStreamFulfillReadIntoRequest");function Gd(a){return a._reader._readIntoRequests.length}m(Gd,"ReadableStreamGetNumReadIntoRequests");function Sa(a){let l=a._reader;return!(l===void 0||!lr(l))}m(Sa,"ReadableStreamHasBYOBReader");let t_=class{constructor(l){if(R(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),Mn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!ar(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");De(this,l),this._readIntoRequests=new $}get closed(){return lr(this)?this._closedPromise:h(Ws("closed"))}cancel(l=void 0){return lr(this)?this._ownerReadableStream===void 0?h(We("cancel")):qe(this,l):h(Ws("cancel"))}read(l,g={}){if(!lr(this))return h(Ws("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(ir(l.buffer))return h(new TypeError("view's buffer has been detached"));let S;try{S=Zy(g,"options")}catch(ue){return h(ue)}let I=S.min;if(I===0)return h(new TypeError("options.min must be greater than 0"));if(Ly(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(We("read from"));let L,z,re=d((ue,me)=>{L=ue,z=me});return Jd(this,l,I,{_chunkSteps:m(ue=>L({value:ue,done:!1}),"_chunkSteps"),_closeSteps:m(ue=>L({value:ue,done:!0}),"_closeSteps"),_errorSteps:m(ue=>z(ue),"_errorSteps")}),re}releaseLock(){if(!lr(this))throw Ws("releaseLock");this._ownerReadableStream!==void 0&&n_(this)}};m(t_,"ReadableStreamBYOBReader");let ur=t_;Object.defineProperties(ur.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ur.prototype.cancel,"cancel"),i(ur.prototype.read,"read"),i(ur.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ur.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function lr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")?!1:a instanceof ur}m(lr,"IsReadableStreamBYOBReader");function Jd(a,l,g,S){let I=a._ownerReadableStream;I._disturbed=!0,I._state==="errored"?S._errorSteps(I._storedError):Wy(I._readableStreamController,l,g,S)}m(Jd,"ReadableStreamBYOBReaderRead");function n_(a){Te(a);let l=new TypeError("Reader was released");Vd(a,l)}m(n_,"ReadableStreamBYOBReaderRelease");function Vd(a,l){let g=a._readIntoRequests;a._readIntoRequests=new $,g.forEach(S=>{S._errorSteps(l)})}m(Vd,"ReadableStreamBYOBReaderErrorReadIntoRequests");function Ws(a){return new TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}m(Ws,"byobReaderBrandCheckException");function Ro(a,l){let{highWaterMark:g}=a;if(g===void 0)return l;if(Iy(g)||g<0)throw new RangeError("Invalid highWaterMark");return g}m(Ro,"ExtractHighWaterMark");function Gs(a){let{size:l}=a;return l||(()=>1)}m(Gs,"ExtractSizeAlgorithm");function Js(a,l){ce(a,l);let g=a?.highWaterMark,S=a?.size;return{highWaterMark:g===void 0?void 0:D(g),size:S===void 0?void 0:r_(S,`${l} has member 'size' that`)}}m(Js,"convertQueuingStrategy");function r_(a,l){return de(a,l),g=>D(a(g))}m(r_,"convertQueuingStrategySize");function o_(a,l){ce(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:s_(g,a,`${l} has member 'abort' that`),close:S===void 0?void 0:i_(S,a,`${l} has member 'close' that`),start:I===void 0?void 0:a_(I,a,`${l} has member 'start' that`),write:z===void 0?void 0:c_(z,a,`${l} has member 'write' that`),type:L}}m(o_,"convertUnderlyingSink");function s_(a,l,g){return de(a,g),S=>x(a,l,[S])}m(s_,"convertUnderlyingSinkAbortCallback");function i_(a,l,g){return de(a,g),()=>x(a,l,[])}m(i_,"convertUnderlyingSinkCloseCallback");function a_(a,l,g){return de(a,g),S=>T(a,l,[S])}m(a_,"convertUnderlyingSinkStartCallback");function c_(a,l,g){return de(a,g),(S,I)=>x(a,l,[S,I])}m(c_,"convertUnderlyingSinkWriteCallback");function Kd(a,l){if(!$r(a))throw new TypeError(`${l} is not a WritableStream.`)}m(Kd,"assertWritableStream");function u_(a){if(typeof a!="object"||a===null)return!1;try{return typeof a.aborted=="boolean"}catch{return!1}}m(u_,"isAbortSignal");let eR=typeof AbortController=="function";function l_(){if(eR)return new AbortController}m(l_,"createAbortController");let d_=class{constructor(l={},g={}){l===void 0?l=null:E(l,"First parameter");let S=Js(g,"Second parameter"),I=o_(l,"First parameter");if(Xd(this),I.type!==void 0)throw new RangeError("Invalid type is specified");let L=Gs(S),z=Ro(S,1);R_(this,I,z,L)}get locked(){if(!$r(this))throw Qs("locked");return zr(this)}abort(l=void 0){return $r(this)?zr(this)?h(new TypeError("Cannot abort a stream that already has a writer")):Vs(this,l):h(Qs("abort"))}close(){return $r(this)?zr(this)?h(new TypeError("Cannot close a stream that already has a writer")):Jt(this)?h(new TypeError("Cannot close an already-closing stream")):Qd(this):h(Qs("close"))}getWriter(){if(!$r(this))throw Qs("getWriter");return Yd(this)}};m(d_,"WritableStream");let dr=d_;Object.defineProperties(dr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(dr.prototype.abort,"abort"),i(dr.prototype.close,"close"),i(dr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Yd(a){return new In(a)}m(Yd,"AcquireWritableStreamDefaultWriter");function f_(a,l,g,S,I=1,L=()=>1){let z=Object.create(dr.prototype);Xd(z);let re=Object.create(xo.prototype);return rf(z,re,a,l,g,S,I,L),z}m(f_,"CreateWritableStream");function Xd(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(Xd,"InitializeWritableStream");function $r(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")?!1:a instanceof dr}m($r,"IsWritableStream");function zr(a){return a._writer!==void 0}m(zr,"IsWritableStreamLocked");function Vs(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||va(a,l),L}m(Vs,"WritableStreamAbort");function Qd(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"&&Ia(S),x_(a._writableStreamController),g}m(Qd,"WritableStreamClose");function p_(a){return d((l,g)=>{let S={_resolve:l,_reject:g};a._writeRequests.push(S)})}m(p_,"WritableStreamAddWriteRequest");function Ea(a,l){if(a._state==="writable"){va(a,l);return}Aa(a)}m(Ea,"WritableStreamDealWithRejection");function va(a,l){let g=a._writableStreamController;a._state="erroring",a._storedError=l;let S=a._writer;S!==void 0&&ef(S,l),!__(a)&&g._started&&Aa(a)}m(va,"WritableStreamStartErroring");function Aa(a){a._state="errored",a._writableStreamController[ae]();let l=a._storedError;if(a._writeRequests.forEach(I=>{I._reject(l)}),a._writeRequests=new $,a._pendingAbortRequest===void 0){Ks(a);return}let g=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,g._wasAlreadyErroring){g._reject(l),Ks(a);return}let S=a._writableStreamController[H](g._reason);b(S,()=>(g._resolve(),Ks(a),null),I=>(g._reject(I),Ks(a),null))}m(Aa,"WritableStreamFinishErroring");function h_(a){a._inFlightWriteRequest._resolve(void 0),a._inFlightWriteRequest=void 0}m(h_,"WritableStreamFinishInFlightWrite");function m_(a,l){a._inFlightWriteRequest._reject(l),a._inFlightWriteRequest=void 0,Ea(a,l)}m(m_,"WritableStreamFinishInFlightWriteWithError");function g_(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&&cf(l)}m(g_,"WritableStreamFinishInFlightClose");function y_(a,l){a._inFlightCloseRequest._reject(l),a._inFlightCloseRequest=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._reject(l),a._pendingAbortRequest=void 0),Ea(a,l)}m(y_,"WritableStreamFinishInFlightCloseWithError");function Jt(a){return!(a._closeRequest===void 0&&a._inFlightCloseRequest===void 0)}m(Jt,"WritableStreamCloseQueuedOrInFlight");function __(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}m(__,"WritableStreamHasOperationMarkedInFlight");function b_(a){a._inFlightCloseRequest=a._closeRequest,a._closeRequest=void 0}m(b_,"WritableStreamMarkCloseRequestInFlight");function C_(a){a._inFlightWriteRequest=a._writeRequests.shift()}m(C_,"WritableStreamMarkFirstWriteRequestInFlight");function Ks(a){a._closeRequest!==void 0&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let l=a._writer;l!==void 0&&Oa(l,a._storedError)}m(Ks,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function Ta(a,l){let g=a._writer;g!==void 0&&l!==a._backpressure&&(l?M_(g):Ia(g)),a._backpressure=l}m(Ta,"WritableStreamUpdateBackpressure");let w_=class{constructor(l){if(R(l,1,"WritableStreamDefaultWriter"),Kd(l,"First parameter"),zr(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")!Jt(l)&&l._backpressure?ei(this):uf(this),Zs(this);else if(g==="erroring")Pa(this,l._storedError),Zs(this);else if(g==="closed")uf(this),F_(this);else{let S=l._storedError;Pa(this,S),af(this,S)}}get closed(){return fr(this)?this._closedPromise:h(pr("closed"))}get desiredSize(){if(!fr(this))throw pr("desiredSize");if(this._ownerWritableStream===void 0)throw Oo("desiredSize");return v_(this)}get ready(){return fr(this)?this._readyPromise:h(pr("ready"))}abort(l=void 0){return fr(this)?this._ownerWritableStream===void 0?h(Oo("abort")):k_(this,l):h(pr("abort"))}close(){if(!fr(this))return h(pr("close"));let l=this._ownerWritableStream;return l===void 0?h(Oo("close")):Jt(l)?h(new TypeError("Cannot close an already-closing stream")):Zd(this)}releaseLock(){if(!fr(this))throw pr("releaseLock");this._ownerWritableStream!==void 0&&tf(this)}write(l=void 0){return fr(this)?this._ownerWritableStream===void 0?h(Oo("write to")):nf(this,l):h(pr("write"))}};m(w_,"WritableStreamDefaultWriter");let In=w_;Object.defineProperties(In.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(In.prototype.abort,"abort"),i(In.prototype.close,"close"),i(In.prototype.releaseLock,"releaseLock"),i(In.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(In.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function fr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")?!1:a instanceof In}m(fr,"IsWritableStreamDefaultWriter");function k_(a,l){let g=a._ownerWritableStream;return Vs(g,l)}m(k_,"WritableStreamDefaultWriterAbort");function Zd(a){let l=a._ownerWritableStream;return Qd(l)}m(Zd,"WritableStreamDefaultWriterClose");function S_(a){let l=a._ownerWritableStream,g=l._state;return Jt(l)||g==="closed"?p(void 0):g==="errored"?h(l._storedError):Zd(a)}m(S_,"WritableStreamDefaultWriterCloseWithErrorPropagation");function E_(a,l){a._closedPromiseState==="pending"?Oa(a,l):N_(a,l)}m(E_,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function ef(a,l){a._readyPromiseState==="pending"?lf(a,l):B_(a,l)}m(ef,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function v_(a){let l=a._ownerWritableStream,g=l._state;return g==="errored"||g==="erroring"?null:g==="closed"?0:of(l._writableStreamController)}m(v_,"WritableStreamDefaultWriterGetDesiredSize");function tf(a){let l=a._ownerWritableStream,g=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");ef(a,g),E_(a,g),l._writer=void 0,a._ownerWritableStream=void 0}m(tf,"WritableStreamDefaultWriterRelease");function nf(a,l){let g=a._ownerWritableStream,S=g._writableStreamController,I=D_(S,l);if(g!==a._ownerWritableStream)return h(Oo("write to"));let L=g._state;if(L==="errored")return h(g._storedError);if(Jt(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=p_(g);return O_(S,l,I),z}m(nf,"WritableStreamDefaultWriterWrite");let A_={},T_=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Ra(this))throw Da("abortReason");return this._abortReason}get signal(){if(!Ra(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(!Ra(this))throw Da("error");this._controlledWritableStream._state==="writable"&&sf(this,l)}[H](l){let g=this._abortAlgorithm(l);return Ys(this),g}[ae](){On(this)}};m(T_,"WritableStreamDefaultController");let xo=T_;Object.defineProperties(xo.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xo.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Ra(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")?!1:a instanceof xo}m(Ra,"IsWritableStreamDefaultController");function rf(a,l,g,S,I,L,z,re){l._controlledWritableStream=a,a._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,On(l),l._abortReason=void 0,l._abortController=l_(),l._started=!1,l._strategySizeAlgorithm=re,l._strategyHWM=z,l._writeAlgorithm=S,l._closeAlgorithm=I,l._abortAlgorithm=L;let ue=xa(l);Ta(a,ue);let me=g(),we=p(me);b(we,()=>(l._started=!0,Xs(l),null),ke=>(l._started=!0,Ea(a,ke),null))}m(rf,"SetUpWritableStreamDefaultController");function R_(a,l,g,S){let I=Object.create(xo.prototype),L,z,re,ue;l.start!==void 0?L=m(()=>l.start(I),"startAlgorithm"):L=m(()=>{},"startAlgorithm"),l.write!==void 0?z=m(me=>l.write(me,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?ue=m(me=>l.abort(me),"abortAlgorithm"):ue=m(()=>p(void 0),"abortAlgorithm"),rf(a,I,L,z,re,ue,g,S)}m(R_,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function Ys(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}m(Ys,"WritableStreamDefaultControllerClearAlgorithms");function x_(a){ga(a,A_,0),Xs(a)}m(x_,"WritableStreamDefaultControllerClose");function D_(a,l){try{return a._strategySizeAlgorithm(l)}catch(g){return Do(a,g),1}}m(D_,"WritableStreamDefaultControllerGetChunkSize");function of(a){return a._strategyHWM-a._queueTotalSize}m(of,"WritableStreamDefaultControllerGetDesiredSize");function O_(a,l,g){try{ga(a,l,g)}catch(I){Do(a,I);return}let S=a._controlledWritableStream;if(!Jt(S)&&S._state==="writable"){let I=xa(a);Ta(S,I)}Xs(a)}m(O_,"WritableStreamDefaultControllerWrite");function Xs(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=jy(a);g===A_?P_(a):I_(a,g)}m(Xs,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function Do(a,l){a._controlledWritableStream._state==="writable"&&sf(a,l)}m(Do,"WritableStreamDefaultControllerErrorIfNeeded");function P_(a){let l=a._controlledWritableStream;b_(l),ma(a);let g=a._closeAlgorithm();Ys(a),b(g,()=>(g_(l),null),S=>(y_(l,S),null))}m(P_,"WritableStreamDefaultControllerProcessClose");function I_(a,l){let g=a._controlledWritableStream;C_(g);let S=a._writeAlgorithm(l);b(S,()=>{h_(g);let I=g._state;if(ma(a),!Jt(g)&&I==="writable"){let L=xa(a);Ta(g,L)}return Xs(a),null},I=>(g._state==="writable"&&Ys(a),m_(g,I),null))}m(I_,"WritableStreamDefaultControllerProcessWrite");function xa(a){return of(a)<=0}m(xa,"WritableStreamDefaultControllerGetBackpressure");function sf(a,l){let g=a._controlledWritableStream;Ys(a),va(g,l)}m(sf,"WritableStreamDefaultControllerError");function Qs(a){return new TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}m(Qs,"streamBrandCheckException$2");function Da(a){return new TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}m(Da,"defaultControllerBrandCheckException$2");function pr(a){return new TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}m(pr,"defaultWriterBrandCheckException");function Oo(a){return new TypeError("Cannot "+a+" a stream using a released writer")}m(Oo,"defaultWriterLockException");function Zs(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g,a._closedPromiseState="pending"})}m(Zs,"defaultWriterClosedPromiseInitialize");function af(a,l){Zs(a),Oa(a,l)}m(af,"defaultWriterClosedPromiseInitializeAsRejected");function F_(a){Zs(a),cf(a)}m(F_,"defaultWriterClosedPromiseInitializeAsResolved");function Oa(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(Oa,"defaultWriterClosedPromiseReject");function N_(a,l){af(a,l)}m(N_,"defaultWriterClosedPromiseResetToRejected");function cf(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(cf,"defaultWriterClosedPromiseResolve");function ei(a){a._readyPromise=d((l,g)=>{a._readyPromise_resolve=l,a._readyPromise_reject=g}),a._readyPromiseState="pending"}m(ei,"defaultWriterReadyPromiseInitialize");function Pa(a,l){ei(a),lf(a,l)}m(Pa,"defaultWriterReadyPromiseInitializeAsRejected");function uf(a){ei(a),Ia(a)}m(uf,"defaultWriterReadyPromiseInitializeAsResolved");function lf(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(lf,"defaultWriterReadyPromiseReject");function M_(a){ei(a)}m(M_,"defaultWriterReadyPromiseReset");function B_(a,l){Pa(a,l)}m(B_,"defaultWriterReadyPromiseResetToRejected");function Ia(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(Ia,"defaultWriterReadyPromiseResolve");function U_(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof Ip<"u")return Ip}m(U_,"getGlobals");let tR=U_();function j_(a){if(!(typeof a=="function"||typeof a=="object")||a.name!=="DOMException")return!1;try{return new a,!0}catch{return!1}}m(j_,"isDOMExceptionConstructor");function L_(){let a=tR?.DOMException;return j_(a)?a:void 0}m(L_,"getFromGlobal");function q_(){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(q_,"createPolyfill");let nR=L_()||q_();function df(a,l,g,S,I,L){let z=U(a),re=Yd(l);a._disturbed=!0;let ue=!1,me=p(void 0);return d((we,ke)=>{let Pe;if(L!==void 0){if(Pe=m(()=>{let fe=L.reason!==void 0?L.reason:new nR("Aborted","AbortError"),Ae=[];S||Ae.push(()=>l._state==="writable"?Vs(l,fe):p(void 0)),I||Ae.push(()=>a._state==="readable"?Ft(a,fe):p(void 0)),pt(()=>Promise.all(Ae.map(Oe=>Oe())),!0,fe)},"abortAlgorithm"),L.aborted){Pe();return}L.addEventListener("abort",Pe)}function yt(){return d((fe,Ae)=>{function Oe(ht){ht?fe():_(Bn(),Oe,Ae)}m(Oe,"next"),Oe(!1)})}m(yt,"pipeLoop");function Bn(){return ue?p(!0):_(re._readyPromise,()=>d((fe,Ae)=>{ye(z,{_chunkSteps:m(Oe=>{me=_(nf(re,Oe),void 0,r),fe(!1)},"_chunkSteps"),_closeSteps:m(()=>fe(!0),"_closeSteps"),_errorSteps:Ae})}))}if(m(Bn,"pipeStep"),Nt(a,z._closedPromise,fe=>(S?_t(!0,fe):pt(()=>Vs(l,fe),!0,fe),null)),Nt(l,re._closedPromise,fe=>(I?_t(!0,fe):pt(()=>Ft(a,fe),!0,fe),null)),Ze(a,z._closedPromise,()=>(g?_t():pt(()=>S_(re)),null)),Jt(l)||l._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");I?_t(!0,fe):pt(()=>Ft(a,fe),!0,fe)}v(yt());function Vt(){let fe=me;return _(me,()=>fe!==me?Vt():void 0)}m(Vt,"waitForWritesToFinish");function Nt(fe,Ae,Oe){fe._state==="errored"?Oe(fe._storedError):w(Ae,Oe)}m(Nt,"isOrBecomesErrored");function Ze(fe,Ae,Oe){fe._state==="closed"?Oe():y(Ae,Oe)}m(Ze,"isOrBecomesClosed");function pt(fe,Ae,Oe){if(ue)return;ue=!0,l._state==="writable"&&!Jt(l)?y(Vt(),ht):ht();function ht(){return b(fe(),()=>Un(Ae,Oe),yr=>Un(!0,yr)),null}m(ht,"doTheRest")}m(pt,"shutdownWithAction");function _t(fe,Ae){ue||(ue=!0,l._state==="writable"&&!Jt(l)?y(Vt(),()=>Un(fe,Ae)):Un(fe,Ae))}m(_t,"shutdown");function Un(fe,Ae){return tf(re),Te(z),L!==void 0&&L.removeEventListener("abort",Pe),fe?ke(Ae):we(void 0),null}m(Un,"finalize")})}m(df,"ReadableStreamPipeTo");let $_=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ti(this))throw ri("desiredSize");return Fa(this)}close(){if(!ti(this))throw ri("close");if(!Wr(this))throw new TypeError("The stream is not in a state that permits close");hr(this)}enqueue(l=void 0){if(!ti(this))throw ri("enqueue");if(!Wr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Hr(this,l)}error(l=void 0){if(!ti(this))throw ri("error");It(this,l)}[X](l){On(this);let g=this._cancelAlgorithm(l);return ni(this),g}[te](l){let g=this._controlledReadableStream;if(this._queue.length>0){let S=ma(this);this._closeRequested&&this._queue.length===0?(ni(this),Fo(g)):Po(this),l._chunkSteps(S)}else B(g,l),Po(this)}[Z](){}};m($_,"ReadableStreamDefaultController");let Fn=$_;Object.defineProperties(Fn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Fn.prototype.close,"close"),i(Fn.prototype.enqueue,"enqueue"),i(Fn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function ti(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")?!1:a instanceof Fn}m(ti,"IsReadableStreamDefaultController");function Po(a){if(!ff(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,Po(a)),null),g=>(It(a,g),null))}m(Po,"ReadableStreamDefaultControllerCallPullIfNeeded");function ff(a){let l=a._controlledReadableStream;return!Wr(a)||!a._started?!1:!!(Mn(l)&&oe(l)>0||Fa(a)>0)}m(ff,"ReadableStreamDefaultControllerShouldCallPull");function ni(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}m(ni,"ReadableStreamDefaultControllerClearAlgorithms");function hr(a){if(!Wr(a))return;let l=a._controlledReadableStream;a._closeRequested=!0,a._queue.length===0&&(ni(a),Fo(l))}m(hr,"ReadableStreamDefaultControllerClose");function Hr(a,l){if(!Wr(a))return;let g=a._controlledReadableStream;if(Mn(g)&&oe(g)>0)G(g,l,!1);else{let S;try{S=a._strategySizeAlgorithm(l)}catch(I){throw It(a,I),I}try{ga(a,l,S)}catch(I){throw It(a,I),I}}Po(a)}m(Hr,"ReadableStreamDefaultControllerEnqueue");function It(a,l){let g=a._controlledReadableStream;g._state==="readable"&&(On(a),ni(a),gf(g,l))}m(It,"ReadableStreamDefaultControllerError");function Fa(a){let l=a._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}m(Fa,"ReadableStreamDefaultControllerGetDesiredSize");function z_(a){return!ff(a)}m(z_,"ReadableStreamDefaultControllerHasBackpressure");function Wr(a){let l=a._controlledReadableStream._state;return!a._closeRequested&&l==="readable"}m(Wr,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function pf(a,l,g,S,I,L,z){l._controlledReadableStream=a,l._queue=void 0,l._queueTotalSize=void 0,On(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,Po(l),null),ue=>(It(l,ue),null))}m(pf,"SetUpReadableStreamDefaultController");function H_(a,l,g,S){let I=Object.create(Fn.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(ue=>l.cancel(ue),"cancelAlgorithm"):re=m(()=>p(void 0),"cancelAlgorithm"),pf(a,I,L,z,re,g,S)}m(H_,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function ri(a){return new TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}m(ri,"defaultControllerBrandCheckException$1");function W_(a,l){return ar(a._readableStreamController)?J_(a):G_(a)}m(W_,"ReadableStreamTee");function G_(a,l){let g=U(a),S=!1,I=!1,L=!1,z=!1,re,ue,me,we,ke,Pe=d(Ze=>{ke=Ze});function yt(){return S?(I=!0,p(void 0)):(S=!0,ye(g,{_chunkSteps:m(Ze=>{A(()=>{I=!1;let pt=Ze,_t=Ze;L||Hr(me._readableStreamController,pt),z||Hr(we._readableStreamController,_t),S=!1,I&&yt()})},"_chunkSteps"),_closeSteps:m(()=>{S=!1,L||hr(me._readableStreamController),z||hr(we._readableStreamController),(!L||!z)&&ke(void 0)},"_closeSteps"),_errorSteps:m(()=>{S=!1},"_errorSteps")}),p(void 0))}m(yt,"pullAlgorithm");function Bn(Ze){if(L=!0,re=Ze,z){let pt=vo([re,ue]),_t=Ft(a,pt);ke(_t)}return Pe}m(Bn,"cancel1Algorithm");function Vt(Ze){if(z=!0,ue=Ze,L){let pt=vo([re,ue]),_t=Ft(a,pt);ke(_t)}return Pe}m(Vt,"cancel2Algorithm");function Nt(){}return m(Nt,"startAlgorithm"),me=Io(Nt,yt,Bn),we=Io(Nt,yt,Vt),w(g._closedPromise,Ze=>(It(me._readableStreamController,Ze),It(we._readableStreamController,Ze),(!L||!z)&&ke(void 0),null)),[me,we]}m(G_,"ReadableStreamDefaultTee");function J_(a){let l=U(a),g=!1,S=!1,I=!1,L=!1,z=!1,re,ue,me,we,ke,Pe=d(fe=>{ke=fe});function yt(fe){w(fe._closedPromise,Ae=>(fe!==l||(At(me._readableStreamController,Ae),At(we._readableStreamController,Ae),(!L||!z)&&ke(void 0)),null))}m(yt,"forwardReaderError");function Bn(){lr(l)&&(Te(l),l=U(a),yt(l)),ye(l,{_chunkSteps:m(fe=>{A(()=>{S=!1,I=!1;let Ae=fe,Oe=fe;if(!L&&!z)try{Oe=Od(fe)}catch(ht){At(me._readableStreamController,ht),At(we._readableStreamController,ht),ke(Ft(a,ht));return}L||$s(me._readableStreamController,Ae),z||$s(we._readableStreamController,Oe),g=!1,S?Nt():I&&Ze()})},"_chunkSteps"),_closeSteps:m(()=>{g=!1,L||Ao(me._readableStreamController),z||Ao(we._readableStreamController),me._readableStreamController._pendingPullIntos.length>0&&zs(me._readableStreamController,0),we._readableStreamController._pendingPullIntos.length>0&&zs(we._readableStreamController,0),(!L||!z)&&ke(void 0)},"_closeSteps"),_errorSteps:m(()=>{g=!1},"_errorSteps")})}m(Bn,"pullWithDefaultReader");function Vt(fe,Ae){he(l)&&(Te(l),l=Hd(a),yt(l));let Oe=Ae?we:me,ht=Ae?me:we;Jd(l,fe,1,{_chunkSteps:m(yr=>{A(()=>{S=!1,I=!1;let No=Ae?z:L;if(Ae?L:z)No||Hs(Oe._readableStreamController,yr);else{let Mo;try{Mo=Od(yr)}catch(Tf){At(Oe._readableStreamController,Tf),At(ht._readableStreamController,Tf),ke(Ft(a,Tf));return}No||Hs(Oe._readableStreamController,yr),$s(ht._readableStreamController,Mo)}g=!1,S?Nt():I&&Ze()})},"_chunkSteps"),_closeSteps:m(yr=>{g=!1;let No=Ae?z:L,Mo=Ae?L:z;No||Ao(Oe._readableStreamController),Mo||Ao(ht._readableStreamController),yr!==void 0&&(No||Hs(Oe._readableStreamController,yr),!Mo&&ht._readableStreamController._pendingPullIntos.length>0&&zs(ht._readableStreamController,0)),(!No||!Mo)&&ke(void 0)},"_closeSteps"),_errorSteps:m(()=>{g=!1},"_errorSteps")})}m(Vt,"pullWithBYOBReader");function Nt(){if(g)return S=!0,p(void 0);g=!0;let fe=wa(me._readableStreamController);return fe===null?Bn():Vt(fe._view,!1),p(void 0)}m(Nt,"pull1Algorithm");function Ze(){if(g)return I=!0,p(void 0);g=!0;let fe=wa(we._readableStreamController);return fe===null?Bn():Vt(fe._view,!0),p(void 0)}m(Ze,"pull2Algorithm");function pt(fe){if(L=!0,re=fe,z){let Ae=vo([re,ue]),Oe=Ft(a,Ae);ke(Oe)}return Pe}m(pt,"cancel1Algorithm");function _t(fe){if(z=!0,ue=fe,L){let Ae=vo([re,ue]),Oe=Ft(a,Ae);ke(Oe)}return Pe}m(_t,"cancel2Algorithm");function Un(){}return m(Un,"startAlgorithm"),me=mf(Un,Nt,pt),we=mf(Un,Ze,_t),yt(l),[me,we]}m(J_,"ReadableByteStreamTee");function V_(a){return o(a)&&typeof a.getReader<"u"}m(V_,"isReadableStreamLike");function K_(a){return V_(a)?X_(a.getReader()):Y_(a)}m(K_,"ReadableStreamFrom");function Y_(a){let l,g=Dd(a,"async"),S=r;function I(){let z;try{z=Ny(g)}catch(ue){return h(ue)}let re=p(z);return C(re,ue=>{if(!o(ue))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(My(ue))hr(l._readableStreamController);else{let me=By(ue);Hr(l._readableStreamController,me)}})}m(I,"pullAlgorithm");function L(z){let re=g.iterator,ue;try{ue=js(re,"return")}catch(ke){return h(ke)}if(ue===void 0)return p(void 0);let me;try{me=T(ue,re,[z])}catch(ke){return h(ke)}let we=p(me);return C(we,ke=>{if(!o(ke))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return m(L,"cancelAlgorithm"),l=Io(S,I,L,0),l}m(Y_,"ReadableStreamFromIterable");function X_(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)hr(l._readableStreamController);else{let re=z.value;Hr(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=Io(g,S,I,0),l}m(X_,"ReadableStreamFromDefaultReader");function Q_(a,l){ce(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:Z_(I,g,`${l} has member 'cancel' that`),pull:L===void 0?void 0:e0(L,g,`${l} has member 'pull' that`),start:z===void 0?void 0:t0(z,g,`${l} has member 'start' that`),type:re===void 0?void 0:n0(re,`${l} has member 'type' that`)}}m(Q_,"convertUnderlyingDefaultOrByteSource");function Z_(a,l,g){return de(a,g),S=>x(a,l,[S])}m(Z_,"convertUnderlyingSourceCancelCallback");function e0(a,l,g){return de(a,g),S=>x(a,l,[S])}m(e0,"convertUnderlyingSourcePullCallback");function t0(a,l,g){return de(a,g),S=>T(a,l,[S])}m(t0,"convertUnderlyingSourceStartCallback");function n0(a,l){if(a=`${a}`,a!=="bytes")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}m(n0,"convertReadableStreamType");function r0(a,l){return ce(a,l),{preventCancel:!!a?.preventCancel}}m(r0,"convertIteratorOptions");function hf(a,l){ce(a,l);let g=a?.preventAbort,S=a?.preventCancel,I=a?.preventClose,L=a?.signal;return L!==void 0&&o0(L,`${l} has member 'signal' that`),{preventAbort:!!g,preventCancel:!!S,preventClose:!!I,signal:L}}m(hf,"convertPipeOptions");function o0(a,l){if(!u_(a))throw new TypeError(`${l} is not an AbortSignal.`)}m(o0,"assertAbortSignal");function s0(a,l){ce(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"),Kd(S,`${l} has member 'writable' that`),{readable:g,writable:S}}m(s0,"convertReadableWritablePair");let i0=class{constructor(l={},g={}){l===void 0?l=null:E(l,"First parameter");let S=Js(g,"Second parameter"),I=Q_(l,"First parameter");if(Na(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=Ro(S,0);Ky(this,I,L)}else{let L=Gs(S),z=Ro(S,1);H_(this,I,z,L)}}get locked(){if(!Nn(this))throw mr("locked");return Mn(this)}cancel(l=void 0){return Nn(this)?Mn(this)?h(new TypeError("Cannot cancel a stream that already has a reader")):Ft(this,l):h(mr("cancel"))}getReader(l=void 0){if(!Nn(this))throw mr("getReader");return Xy(l,"First parameter").mode===void 0?U(this):Hd(this)}pipeThrough(l,g={}){if(!Nn(this))throw mr("pipeThrough");R(l,1,"pipeThrough");let S=s0(l,"First parameter"),I=hf(g,"Second parameter");if(Mn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(zr(S.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=df(this,S.writable,I.preventClose,I.preventAbort,I.preventCancel,I.signal);return v(L),S.readable}pipeTo(l,g={}){if(!Nn(this))return h(mr("pipeTo"));if(l===void 0)return h("Parameter 1 is required in 'pipeTo'.");if(!$r(l))return h(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let S;try{S=hf(g,"Second parameter")}catch(I){return h(I)}return Mn(this)?h(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):zr(l)?h(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):df(this,l,S.preventClose,S.preventAbort,S.preventCancel,S.signal)}tee(){if(!Nn(this))throw mr("tee");let l=W_(this);return vo(l)}values(l=void 0){if(!Nn(this))throw mr("values");let g=r0(l,"First parameter");return ft(this,g.preventCancel)}[xd](l){return this.values(l)}static from(l){return K_(l)}};m(i0,"ReadableStream");let dt=i0;Object.defineProperties(dt,{from:{enumerable:!0}}),Object.defineProperties(dt.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(dt.from,"from"),i(dt.prototype.cancel,"cancel"),i(dt.prototype.getReader,"getReader"),i(dt.prototype.pipeThrough,"pipeThrough"),i(dt.prototype.pipeTo,"pipeTo"),i(dt.prototype.tee,"tee"),i(dt.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dt.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(dt.prototype,xd,{value:dt.prototype.values,writable:!0,configurable:!0});function Io(a,l,g,S=1,I=()=>1){let L=Object.create(dt.prototype);Na(L);let z=Object.create(Fn.prototype);return pf(L,z,a,l,g,S,I),L}m(Io,"CreateReadableStream");function mf(a,l,g){let S=Object.create(dt.prototype);Na(S);let I=Object.create(Pn.prototype);return zd(S,I,a,l,g,0,void 0),S}m(mf,"CreateReadableByteStream");function Na(a){a._state="readable",a._reader=void 0,a._storedError=void 0,a._disturbed=!1}m(Na,"InitializeReadableStream");function Nn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")?!1:a instanceof dt}m(Nn,"IsReadableStream");function Mn(a){return a._reader!==void 0}m(Mn,"IsReadableStreamLocked");function Ft(a,l){if(a._disturbed=!0,a._state==="closed")return p(void 0);if(a._state==="errored")return h(a._storedError);Fo(a);let g=a._reader;if(g!==void 0&&lr(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(Ft,"ReadableStreamCancel");function Fo(a){a._state="closed";let l=a._reader;if(l!==void 0&&(K(l),he(l))){let g=l._readRequests;l._readRequests=new $,g.forEach(S=>{S._closeSteps()})}}m(Fo,"ReadableStreamClose");function gf(a,l){a._state="errored",a._storedError=l;let g=a._reader;g!==void 0&&(le(g,l),he(g)?Ye(g,l):Vd(g,l))}m(gf,"ReadableStreamError");function mr(a){return new TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}m(mr,"streamBrandCheckException$1");function yf(a,l){ce(a,l);let g=a?.highWaterMark;return M(g,"highWaterMark","QueuingStrategyInit"),{highWaterMark:D(g)}}m(yf,"convertQueuingStrategyInit");let a0=m(a=>a.byteLength,"byteLengthSizeFunction");i(a0,"size");let c0=class{constructor(l){R(l,1,"ByteLengthQueuingStrategy"),l=yf(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!bf(this))throw _f("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!bf(this))throw _f("size");return a0}};m(c0,"ByteLengthQueuingStrategy");let Ma=c0;Object.defineProperties(Ma.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ma.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function _f(a){return new TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}m(_f,"byteLengthBrandCheckException");function bf(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")?!1:a instanceof Ma}m(bf,"IsByteLengthQueuingStrategy");let u0=m(()=>1,"countSizeFunction");i(u0,"size");let l0=class{constructor(l){R(l,1,"CountQueuingStrategy"),l=yf(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!wf(this))throw Cf("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!wf(this))throw Cf("size");return u0}};m(l0,"CountQueuingStrategy");let Ba=l0;Object.defineProperties(Ba.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ba.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Cf(a){return new TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}m(Cf,"countBrandCheckException");function wf(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")?!1:a instanceof Ba}m(wf,"IsCountQueuingStrategy");function d0(a,l){ce(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:m0(g,a,`${l} has member 'cancel' that`),flush:S===void 0?void 0:f0(S,a,`${l} has member 'flush' that`),readableType:I,start:L===void 0?void 0:p0(L,a,`${l} has member 'start' that`),transform:z===void 0?void 0:h0(z,a,`${l} has member 'transform' that`),writableType:re}}m(d0,"convertTransformer");function f0(a,l,g){return de(a,g),S=>x(a,l,[S])}m(f0,"convertTransformerFlushCallback");function p0(a,l,g){return de(a,g),S=>T(a,l,[S])}m(p0,"convertTransformerStartCallback");function h0(a,l,g){return de(a,g),(S,I)=>x(a,l,[S,I])}m(h0,"convertTransformerTransformCallback");function m0(a,l,g){return de(a,g),S=>x(a,l,[S])}m(m0,"convertTransformerCancelCallback");let g0=class{constructor(l={},g={},S={}){l===void 0&&(l=null);let I=Js(g,"Second parameter"),L=Js(S,"Third parameter"),z=d0(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=Ro(L,0),ue=Gs(L),me=Ro(I,1),we=Gs(I),ke,Pe=d(yt=>{ke=yt});y0(this,Pe,me,we,re,ue),C0(this,z),z.start!==void 0?ke(z.start(this._transformStreamController)):ke(void 0)}get readable(){if(!kf(this))throw Af("readable");return this._readable}get writable(){if(!kf(this))throw Af("writable");return this._writable}};m(g0,"TransformStream");let Ua=g0;Object.defineProperties(Ua.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ua.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function y0(a,l,g,S,I,L){function z(){return l}m(z,"startAlgorithm");function re(Pe){return S0(a,Pe)}m(re,"writeAlgorithm");function ue(Pe){return E0(a,Pe)}m(ue,"abortAlgorithm");function me(){return v0(a)}m(me,"closeAlgorithm"),a._writable=f_(z,re,me,ue,g,S);function we(){return A0(a)}m(we,"pullAlgorithm");function ke(Pe){return T0(a,Pe)}m(ke,"cancelAlgorithm"),a._readable=Io(z,we,ke,I,L),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,oi(a,!0),a._transformStreamController=void 0}m(y0,"InitializeTransformStream");function kf(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")?!1:a instanceof Ua}m(kf,"IsTransformStream");function Sf(a,l){It(a._readable._readableStreamController,l),ja(a,l)}m(Sf,"TransformStreamError");function ja(a,l){ii(a._transformStreamController),Do(a._writable._writableStreamController,l),La(a)}m(ja,"TransformStreamErrorWritableAndUnblockWrite");function La(a){a._backpressure&&oi(a,!1)}m(La,"TransformStreamUnblockWrite");function oi(a,l){a._backpressureChangePromise!==void 0&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=d(g=>{a._backpressureChangePromise_resolve=g}),a._backpressure=l}m(oi,"TransformStreamSetBackpressure");let _0=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!si(this))throw ai("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return Fa(l)}enqueue(l=void 0){if(!si(this))throw ai("enqueue");Ef(this,l)}error(l=void 0){if(!si(this))throw ai("error");w0(this,l)}terminate(){if(!si(this))throw ai("terminate");k0(this)}};m(_0,"TransformStreamDefaultController");let gr=_0;Object.defineProperties(gr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(gr.prototype.enqueue,"enqueue"),i(gr.prototype.error,"error"),i(gr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function si(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")?!1:a instanceof gr}m(si,"IsTransformStreamDefaultController");function b0(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(b0,"SetUpTransformStreamDefaultController");function C0(a,l){let g=Object.create(gr.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"),b0(a,g,S,I,L)}m(C0,"SetUpTransformStreamDefaultControllerFromTransformer");function ii(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0,a._cancelAlgorithm=void 0}m(ii,"TransformStreamDefaultControllerClearAlgorithms");function Ef(a,l){let g=a._controlledTransformStream,S=g._readable._readableStreamController;if(!Wr(S))throw new TypeError("Readable side is not in a state that permits enqueue");try{Hr(S,l)}catch(I){throw ja(g,I),g._readable._storedError}z_(S)!==g._backpressure&&oi(g,!0)}m(Ef,"TransformStreamDefaultControllerEnqueue");function w0(a,l){Sf(a._controlledTransformStream,l)}m(w0,"TransformStreamDefaultControllerError");function vf(a,l){let g=a._transformAlgorithm(l);return C(g,void 0,S=>{throw Sf(a._controlledTransformStream,S),S})}m(vf,"TransformStreamDefaultControllerPerformTransform");function k0(a){let l=a._controlledTransformStream,g=l._readable._readableStreamController;hr(g);let S=new TypeError("TransformStream terminated");ja(l,S)}m(k0,"TransformStreamDefaultControllerTerminate");function S0(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 vf(g,l)})}return vf(g,l)}m(S0,"TransformStreamDefaultSinkWriteAlgorithm");function E0(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 ii(g),b(I,()=>(S._state==="errored"?Gr(g,S._storedError):(It(S._readableStreamController,l),qa(g)),null),L=>(It(S._readableStreamController,L),Gr(g,L),null)),g._finishPromise}m(E0,"TransformStreamDefaultSinkAbortAlgorithm");function v0(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 ii(l),b(S,()=>(g._state==="errored"?Gr(l,g._storedError):(hr(g._readableStreamController),qa(l)),null),I=>(It(g._readableStreamController,I),Gr(l,I),null)),l._finishPromise}m(v0,"TransformStreamDefaultSinkCloseAlgorithm");function A0(a){return oi(a,!1),a._backpressureChangePromise}m(A0,"TransformStreamDefaultSourcePullAlgorithm");function T0(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 ii(g),b(I,()=>(S._state==="errored"?Gr(g,S._storedError):(Do(S._writableStreamController,l),La(a),qa(g)),null),L=>(Do(S._writableStreamController,L),La(a),Gr(g,L),null)),g._finishPromise}m(T0,"TransformStreamDefaultSourceCancelAlgorithm");function ai(a){return new TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}m(ai,"defaultControllerBrandCheckException");function qa(a){a._finishPromise_resolve!==void 0&&(a._finishPromise_resolve(),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}m(qa,"defaultControllerFinishPromiseResolve");function Gr(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(Gr,"defaultControllerFinishPromiseReject");function Af(a){return new TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}m(Af,"streamBrandCheckException"),n.ByteLengthQueuingStrategy=Ma,n.CountQueuingStrategy=Ba,n.ReadableByteStreamController=Pn,n.ReadableStream=dt,n.ReadableStreamBYOBReader=ur,n.ReadableStreamBYOBRequest=Lr,n.ReadableStreamDefaultController=Fn,n.ReadableStreamDefaultReader=ge,n.TransformStream=Ua,n.TransformStreamDefaultController=gr,n.WritableStream=dr,n.WritableStreamDefaultController=xo,n.WritableStreamDefaultWriter=In})})(Yc,Yc.exports)),Yc.exports}function Mw(){if(Nw)return Iw;Nw=1;let t=65536;if(!globalThis.ReadableStream)try{let e=require("node:process"),{emitWarning:n}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),e.emitWarning=n}catch(r){throw e.emitWarning=n,r}}catch{Object.assign(globalThis,Yw())}try{let{Blob:e}=require("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 Iw}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,Bw),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+Bw)).arrayBuffer();r+=s.byteLength,yield new Uint8Array(s)}}}function Qw(t,e=lo){var n=`${Uw()}${Uw()}`.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){iu("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}iu("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()})}is.parseProxyResponse=dP});var ak=J(Lt=>{"use strict";var fP=Lt&&Lt.__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]})),pP=Lt&&Lt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sk=Lt&&Lt.__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)&&fP(e,t,n);return pP(e,t),e},ik=Lt&&Lt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Lt,"__esModule",{value:!0});Lt.HttpsProxyAgent=void 0;var au=sk(require("net")),nk=sk(require("tls")),hP=ik(require("assert")),mP=ik(lh()),gP=ek(),yP=require("url"),_P=tk(),Ii=(0,mP.default)("https-proxy-agent"),rk=t=>t.servername===void 0&&t.host&&!au.isIP(t.host)?{...t,servername:t.host}:t,cu=class extends gP.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new yP.URL(e):e,this.proxyHeaders=n?.headers??{},Ii("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?ok(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:"?(Ii("Creating `tls.Socket`: %o",this.connectOpts),o=nk.connect(rk(this.connectOpts))):(Ii("Creating `net.Socket`: %o",this.connectOpts),o=au.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},i=au.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,_P.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",bP),n.secureEndpoint?(Ii("Upgrading socket connection to TLS"),nk.connect({...ok(rk(n),"host","path","port"),socket:o})):o;o.destroy();let h=new au.Socket({writable:!1});return h.readable=!0,e.once("socket",p=>{Ii("Replaying proxy buffer for failed request"),(0,hP.default)(p.listenerCount("data")>0),p.push(f),p.push(null)}),h}};cu.protocols=["http","https"];Lt.HttpsProxyAgent=cu;function bP(t){t.resume()}function ok(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function ph(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var CP,wP,fh,uu=Sr(()=>{CP=Object.defineProperty,wP=(t,e)=>CP(t,"name",{value:e,configurable:!0}),fh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};wP(ph,"getDefaultExportFromCjs")});var fk={};Gf(fk,{toFormData:()=>dk});function lk(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 dk(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 RP(n[1]||n[2]),o,s,i,a,u,d,f=[],h=new po,p=Dt(_=>{i+=w.decode(_,{stream:!0})},"onPartData"),b=Dt(_=>{f.push(_)},"appendToFile"),C=Dt(()=>{let _=new as(f,d,{type:u});h.append(a,_)},"appendFileToFormData"),m=Dt(()=>{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=lk(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 kP,Dt,kn,Me,ck,Dr,lu,du,SP,Fi,EP,AP,vP,TP,fo,uk,RP,pk=Sr(()=>{fu();uu();kP=Object.defineProperty,Dt=(t,e)=>kP(t,"name",{value:e,configurable:!0}),kn=0,Me={START_BOUNDARY:kn++,HEADER_FIELD_START:kn++,HEADER_FIELD:kn++,HEADER_VALUE_START:kn++,HEADER_VALUE:kn++,HEADER_VALUE_ALMOST_DONE:kn++,HEADERS_ALMOST_DONE:kn++,PART_DATA_START:kn++,PART_DATA:kn++,END:kn++},ck=1,Dr={PART_BOUNDARY:ck,LAST_BOUNDARY:ck*=2},lu=10,du=13,SP=32,Fi=45,EP=58,AP=97,vP=122,TP=Dt(t=>t|32,"lower"),fo=Dt(()=>{},"noop"),uk=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=fo,this.onHeaderField=fo,this.onHeadersEnd=fo,this.onHeaderValue=fo,this.onPartBegin=fo,this.onPartData=fo,this.onPartEnd=fo,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=Me.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=Dt(T=>{this[T+"Mark"]=n},"mark"),_=Dt(T=>{delete this[T+"Mark"]},"clear"),A=Dt((T,x,O,q)=>{(x===void 0||x!==O)&&this[T](q&&q.subarray(x,O))},"callback"),S=Dt((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 Me.START_BOUNDARY:if(u===i.length-2){if(C===Fi)f|=Dr.LAST_BOUNDARY;else if(C!==du)return;u++;break}else if(u-1===i.length-2){if(f&Dr.LAST_BOUNDARY&&C===Fi)d=Me.END,f=0;else if(!(f&Dr.LAST_BOUNDARY)&&C===lu)u=0,A("onPartBegin"),d=Me.HEADER_FIELD_START;else return;break}C!==i[u+2]&&(u=-2),C===i[u+2]&&u++;break;case Me.HEADER_FIELD_START:d=Me.HEADER_FIELD,w("onHeaderField"),u=0;case Me.HEADER_FIELD:if(C===du){_("onHeaderField"),d=Me.HEADERS_ALMOST_DONE;break}if(u++,C===Fi)break;if(C===EP){if(u===1)return;S("onHeaderField",!0),d=Me.HEADER_VALUE_START;break}if(m=TP(C),m<AP||m>vP)return;break;case Me.HEADER_VALUE_START:if(C===SP)break;w("onHeaderValue"),d=Me.HEADER_VALUE;case Me.HEADER_VALUE:C===du&&(S("onHeaderValue",!0),A("onHeaderEnd"),d=Me.HEADER_VALUE_ALMOST_DONE);break;case Me.HEADER_VALUE_ALMOST_DONE:if(C!==lu)return;d=Me.HEADER_FIELD_START;break;case Me.HEADERS_ALMOST_DONE:if(C!==lu)return;A("onHeadersEnd"),d=Me.PART_DATA_START;break;case Me.PART_DATA_START:d=Me.PART_DATA,w("onPartData");case Me.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===du?f|=Dr.PART_BOUNDARY:C===Fi?f|=Dr.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(f&Dr.PART_BOUNDARY){if(u=0,C===lu){f&=~Dr.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),d=Me.HEADER_FIELD_START;break}}else f&Dr.LAST_BOUNDARY&&C===Fi?(A("onPartEnd"),d=Me.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 Me.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===Me.HEADER_FIELD_START&&this.index===0||this.state===Me.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Me.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};Dt(uk,"MultipartParser");RP=uk;Dt(lk,"_fileName");Dt(dk,"toFormData")});function Dk(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 Ok(){return mk||(mk=1,(function(t,e){(function(n,r){r(e)})(DP,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]]"),ae=Symbol("[[ErrorSteps]]"),X=Symbol("[[CancelSteps]]"),ee=Symbol("[[PullSteps]]"),Z=Symbol("[[ReleaseSteps]]");function Re(c,l){c._ownerReadableStream=l,l._reader=c,l._state==="readable"?te(c):l._state==="closed"?se(c):Q(c,l._storedError)}g(Re,"ReadableStreamReaderGenericInitialize");function qe(c,l){let y=c._ownerReadableStream;return Mt(y,l)}g(qe,"ReadableStreamReaderGenericCancel");function Te(c){let l=c._ownerReadableStream;l._state==="readable"?le(c,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):be(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(Te,"ReadableStreamReaderGenericRelease");function We(c){return new TypeError("Cannot "+c+" a stream using a released reader")}g(We,"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),le(c,l)}g(Q,"defaultReaderClosedPromiseInitializeAsRejected");function se(c){te(c),V(c)}g(se,"defaultReaderClosedPromiseInitializeAsResolved");function le(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(le,"defaultReaderClosedPromiseReject");function be(c,l){Q(c,l)}g(be,"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 Ye=Number.isFinite||function(c){return typeof c=="number"&&isFinite(c)},Fe=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 ce(c,l){if(c!==void 0&&!Y(c))throw new TypeError(`${l} is not an object.`)}g(ce,"assertDictionary");function de(c,l){if(typeof c!="function")throw new TypeError(`${l} is not a function.`)}g(de,"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(Fe(c))}g(j,"integerPart");function P(c,l){let y=Number.MAX_SAFE_INTEGER,E=Number(c);if(E=F(E),!Ye(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!Ye(E)||E===0?0:E}g(P,"convertUnsignedLongLongWithEnforceRange");function N(c,l){if(!Ln(c))throw new TypeError(`${l} is not a ReadableStream.`)}g(N,"assertReadableStream");function U(c){return new ge(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 oe(c){return c._reader._readRequests.length}g(oe,"ReadableStreamGetNumReadRequests");function ie(c){let l=c._reader;return!(l===void 0||!he(l))}g(ie,"ReadableStreamHasDefaultReader");let _e=class{constructor(l){if(R(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),qn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Re(this,l),this._readRequests=new $}get closed(){return he(this)?this._closedPromise:p(hn("closed"))}cancel(l=void 0){return he(this)?this._ownerReadableStream===void 0?p(We("cancel")):qe(this,l):p(hn("cancel"))}read(){if(!he(this))return p(hn("read"));if(this._ownerReadableStream===void 0)return p(We("read from"));let l,y,E=f((I,L)=>{l=I,y=L});return ye(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(!he(this))throw hn("releaseLock");this._ownerReadableStream!==void 0&&De(this)}};g(_e,"ReadableStreamDefaultReader");let ge=_e;Object.defineProperties(ge.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ge.prototype.cancel,"cancel"),i(ge.prototype.read,"read"),i(ge.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ge.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function he(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readRequests")?!1:c instanceof ge}g(he,"IsReadableStreamDefaultReader");function ye(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(ye,"ReadableStreamDefaultReaderRead");function De(c){Te(c);let l=new TypeError("Reader was released");Xe(c,l)}g(De,"ReadableStreamDefaultReaderRelease");function Xe(c,l){let y=c._readRequests;c._readRequests=new $,y.forEach(E=>{E._errorSteps(l)})}g(Xe,"ReadableStreamDefaultReaderErrorReadRequests");function hn(c){return new TypeError(`ReadableStreamDefaultReader.prototype.${c} can only be used on a ReadableStreamDefaultReader`)}g(hn,"defaultReaderBrandCheckException");let Js=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),Oo=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 ye(l,{_chunkSteps:g(L=>{this._ongoingPromise=void 0,S(()=>y({value:L,done:!1}))},"_chunkSteps"),_closeSteps:g(()=>{this._ongoingPromise=void 0,this._isFinished=!0,Te(l),y({value:void 0,done:!0})},"_closeSteps"),_errorSteps:g(L=>{this._ongoingPromise=void 0,this._isFinished=!0,Te(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=qe(y,l);return Te(y),_(E,()=>({value:l,done:!0}))}return Te(y),h({value:l,done:!0})}};g(Oo,"ReadableStreamAsyncIteratorImpl");let At=Oo,lr={next(){return Ze(this)?this._asyncIteratorImpl.next():p(Ne("next"))},return(c){return Ze(this)?this._asyncIteratorImpl.return(c):p(Ne("return"))}};Object.setPrototypeOf(lr,Js);function ft(c,l){let y=U(c),E=new At(y,l),I=Object.create(lr);return I._asyncIteratorImpl=E,I}g(ft,"AcquireReadableStreamAsyncIterator");function Ze(c){if(!o(c)||!Object.prototype.hasOwnProperty.call(c,"_asyncIteratorImpl"))return!1;try{return c._asyncIteratorImpl instanceof At}catch{return!1}}g(Ze,"IsReadableStreamAsyncIterator");function Ne(c){return new TypeError(`ReadableStreamAsyncIterator.${c} can only be used on a ReadableSteamAsyncIterator`)}g(Ne,"streamAsyncIteratorBrandCheckException");let t_=Number.isNaN||function(c){return c!==c};var $d,zd,Hd;function Po(c){return c.slice()}g(Po,"CreateArrayFromList");function Wd(c,l,y,E,I){new Uint8Array(c).set(new Uint8Array(y,E,I),l)}g(Wd,"CopyDataBlockBytes");let Nn=g(c=>(typeof c.transfer=="function"?Nn=g(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?Nn=g(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):Nn=g(l=>l,"TransferArrayBuffer"),Nn(c)),"TransferArrayBuffer"),dr=g(c=>(typeof c.detached=="boolean"?dr=g(l=>l.detached,"IsDetachedBuffer"):dr=g(l=>l.byteLength===0,"IsDetachedBuffer"),dr(c)),"IsDetachedBuffer");function Gd(c,l,y){if(c.slice)return c.slice(l,y);let E=y-l,I=new ArrayBuffer(E);return Wd(I,0,c,l,E),I}g(Gd,"ArrayBufferSlice");function Ks(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(Ks,"GetMethod");function n_(c){let l={[Symbol.iterator]:()=>c.iterator},y=(async function*(){return yield*l})(),E=y.next;return{iterator:y,nextMethod:E,done:!1}}g(n_,"CreateAsyncFromSyncIterator");let Jd=(Hd=($d=Symbol.asyncIterator)!==null&&$d!==void 0?$d:(zd=Symbol.for)===null||zd===void 0?void 0:zd.call(Symbol,"Symbol.asyncIterator"))!==null&&Hd!==void 0?Hd:"@@asyncIterator";function Kd(c,l="sync",y){if(y===void 0)if(l==="async"){if(y=Ks(c,Jd),y===void 0){let L=Ks(c,Symbol.iterator),H=Kd(c,"sync",L);return n_(H)}}else y=Ks(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(Kd,"GetIterator");function r_(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(r_,"IteratorNext");function o_(c){return!!c.done}g(o_,"IteratorComplete");function s_(c){return c.value}g(s_,"IteratorValue");function i_(c){return!(typeof c!="number"||t_(c)||c<0)}g(i_,"IsNonNegativeNumber");function Vd(c){let l=Gd(c.buffer,c.byteOffset,c.byteOffset+c.byteLength);return new Uint8Array(l)}g(Vd,"CloneAsUint8Array");function Sa(c){let l=c._queue.shift();return c._queueTotalSize-=l.size,c._queueTotalSize<0&&(c._queueTotalSize=0),l.value}g(Sa,"DequeueValue");function Ea(c,l,y){if(!i_(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(Ea,"EnqueueValueWithSize");function a_(c){return c._queue.peek().value}g(a_,"PeekQueueValue");function Mn(c){c._queue=new $,c._queueTotalSize=0}g(Mn,"ResetQueue");function Yd(c){return c===DataView}g(Yd,"isDataViewConstructor");function c_(c){return Yd(c.constructor)}g(c_,"isDataView");function u_(c){return Yd(c)?1:c.BYTES_PER_ELEMENT}g(u_,"arrayBufferViewElementSize");let l_=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Aa(this))throw Da("view");return this._view}respond(l){if(!Aa(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(dr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Qs(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!Aa(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(dr(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Zs(this._associatedReadableByteStreamController,l)}};g(l_,"ReadableStreamBYOBRequest");let Hr=l_;Object.defineProperties(Hr.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(Hr.prototype.respond,"respond"),i(Hr.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let d_=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fr(this))throw Fo("byobRequest");return xa(this)}get desiredSize(){if(!fr(this))throw Fo("desiredSize");return af(this)}close(){if(!fr(this))throw Fo("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`);Io(this)}enqueue(l){if(!fr(this))throw Fo("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`);Xs(this,l)}error(l=void 0){if(!fr(this))throw Fo("error");vt(this,l)}[X](l){Xd(this),Mn(this);let y=this._cancelAlgorithm(l);return Ys(this),y}[ee](l){let y=this._controlledReadableByteStream;if(this._queueTotalSize>0){sf(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),pr(this)}[Z](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new $,this._pendingPullIntos.push(l)}}};g(d_,"ReadableByteStreamController");let Bn=d_;Object.defineProperties(Bn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Bn.prototype.close,"close"),i(Bn.prototype.enqueue,"enqueue"),i(Bn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function fr(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledReadableByteStream")?!1:c instanceof Bn}g(fr,"IsReadableByteStreamController");function Aa(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_associatedReadableByteStreamController")?!1:c instanceof Hr}g(Aa,"IsReadableStreamBYOBRequest");function pr(c){if(!g_(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,pr(c)),null),y=>(vt(c,y),null))}g(pr,"ReadableByteStreamControllerCallPullIfNeeded");function Xd(c){Ta(c),c._pendingPullIntos=new $}g(Xd,"ReadableByteStreamControllerClearPendingPullIntos");function va(c,l){let y=!1;c._state==="closed"&&(y=!0);let E=Qd(l);l.readerType==="default"?G(c,E,y):k_(c,E,y)}g(va,"ReadableByteStreamControllerCommitPullIntoDescriptor");function Qd(c){let l=c.bytesFilled,y=c.elementSize;return new c.viewConstructor(c.buffer,c.byteOffset,l/y)}g(Qd,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Vs(c,l,y,E){c._queue.push({buffer:l,byteOffset:y,byteLength:E}),c._queueTotalSize+=E}g(Vs,"ReadableByteStreamControllerEnqueueChunkToQueue");function Zd(c,l,y,E){let I;try{I=Gd(l,y,y+E)}catch(L){throw vt(c,L),L}Vs(c,I,0,E)}g(Zd,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function ef(c,l){l.bytesFilled>0&&Zd(c,l.buffer,l.byteOffset,l.bytesFilled),Wr(c)}g(ef,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function tf(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 ue=c._queue;for(;I>0;){let me=ue.peek(),we=Math.min(I,me.byteLength),ke=l.byteOffset+l.bytesFilled;Wd(l.buffer,ke,me.buffer,me.byteOffset,we),me.byteLength===we?ue.shift():(me.byteOffset+=we,me.byteLength-=we),c._queueTotalSize-=we,nf(c,we,l),I-=we}return L}g(tf,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function nf(c,l,y){y.bytesFilled+=l}g(nf,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function rf(c){c._queueTotalSize===0&&c._closeRequested?(Ys(c),qo(c._controlledReadableByteStream)):pr(c)}g(rf,"ReadableByteStreamControllerHandleQueueDrain");function Ta(c){c._byobRequest!==null&&(c._byobRequest._associatedReadableByteStreamController=void 0,c._byobRequest._view=null,c._byobRequest=null)}g(Ta,"ReadableByteStreamControllerInvalidateBYOBRequest");function Ra(c){for(;c._pendingPullIntos.length>0;){if(c._queueTotalSize===0)return;let l=c._pendingPullIntos.peek();tf(c,l)&&(Wr(c),va(c._controlledReadableByteStream,l))}}g(Ra,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function f_(c){let l=c._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(c._queueTotalSize===0)return;let y=l._readRequests.shift();sf(c,y)}}g(f_,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function p_(c,l,y,E){let I=c._controlledReadableByteStream,L=l.constructor,H=u_(L),{byteOffset:re,byteLength:ue}=l,me=y*H,we;try{we=Nn(l.buffer)}catch(Ie){E._errorSteps(Ie);return}let ke={buffer:we,bufferByteLength:we.byteLength,byteOffset:re,byteLength:ue,bytesFilled:0,minimumFill:me,elementSize:H,viewConstructor:L,readerType:"byob"};if(c._pendingPullIntos.length>0){c._pendingPullIntos.push(ke),lf(I,E);return}if(I._state==="closed"){let Ie=new L(ke.buffer,ke.byteOffset,0);E._closeSteps(Ie);return}if(c._queueTotalSize>0){if(tf(c,ke)){let Ie=Qd(ke);rf(c),E._chunkSteps(Ie);return}if(c._closeRequested){let Ie=new TypeError("Insufficient bytes to fill elements in the given buffer");vt(c,Ie),E._errorSteps(Ie);return}}c._pendingPullIntos.push(ke),lf(I,E),pr(c)}g(p_,"ReadableByteStreamControllerPullInto");function h_(c,l){l.readerType==="none"&&Wr(c);let y=c._controlledReadableByteStream;if(Oa(y))for(;df(y)>0;){let E=Wr(c);va(y,E)}}g(h_,"ReadableByteStreamControllerRespondInClosedState");function m_(c,l,y){if(nf(c,l,y),y.readerType==="none"){ef(c,y),Ra(c);return}if(y.bytesFilled<y.minimumFill)return;Wr(c);let E=y.bytesFilled%y.elementSize;if(E>0){let I=y.byteOffset+y.bytesFilled;Zd(c,y.buffer,I-E,E)}y.bytesFilled-=E,va(c._controlledReadableByteStream,y),Ra(c)}g(m_,"ReadableByteStreamControllerRespondInReadableState");function of(c,l){let y=c._pendingPullIntos.peek();Ta(c),c._controlledReadableByteStream._state==="closed"?h_(c,y):m_(c,l,y),pr(c)}g(of,"ReadableByteStreamControllerRespondInternal");function Wr(c){return c._pendingPullIntos.shift()}g(Wr,"ReadableByteStreamControllerShiftPendingPullInto");function g_(c){let l=c._controlledReadableByteStream;return l._state!=="readable"||c._closeRequested||!c._started?!1:!!(ie(l)&&oe(l)>0||Oa(l)&&df(l)>0||af(c)>0)}g(g_,"ReadableByteStreamControllerShouldCallPull");function Ys(c){c._pullAlgorithm=void 0,c._cancelAlgorithm=void 0}g(Ys,"ReadableByteStreamControllerClearAlgorithms");function Io(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 vt(c,E),E}}Ys(c),qo(l)}}g(Io,"ReadableByteStreamControllerClose");function Xs(c,l){let y=c._controlledReadableByteStream;if(c._closeRequested||y._state!=="readable")return;let{buffer:E,byteOffset:I,byteLength:L}=l;if(dr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let H=Nn(E);if(c._pendingPullIntos.length>0){let re=c._pendingPullIntos.peek();if(dr(re.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Ta(c),re.buffer=Nn(re.buffer),re.readerType==="none"&&ef(c,re)}if(ie(y))if(f_(c),oe(y)===0)Vs(c,H,I,L);else{c._pendingPullIntos.length>0&&Wr(c);let re=new Uint8Array(H,I,L);G(y,re,!1)}else Oa(y)?(Vs(c,H,I,L),Ra(c)):Vs(c,H,I,L);pr(c)}g(Xs,"ReadableByteStreamControllerEnqueue");function vt(c,l){let y=c._controlledReadableByteStream;y._state==="readable"&&(Xd(c),Mn(c),Ys(c),Ff(y,l))}g(vt,"ReadableByteStreamControllerError");function sf(c,l){let y=c._queue.shift();c._queueTotalSize-=y.byteLength,rf(c);let E=new Uint8Array(y.buffer,y.byteOffset,y.byteLength);l._chunkSteps(E)}g(sf,"ReadableByteStreamControllerFillReadRequestFromQueue");function xa(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(Hr.prototype);__(E,c,y),c._byobRequest=E}return c._byobRequest}g(xa,"ReadableByteStreamControllerGetBYOBRequest");function af(c){let l=c._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:c._strategyHWM-c._queueTotalSize}g(af,"ReadableByteStreamControllerGetDesiredSize");function Qs(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=Nn(y.buffer),of(c,l)}g(Qs,"ReadableByteStreamControllerRespond");function Zs(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=Nn(l.buffer),of(c,E)}g(Zs,"ReadableByteStreamControllerRespondWithNewView");function cf(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,Mn(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,pr(l),null),ue=>(vt(l,ue),null))}g(cf,"SetUpReadableByteStreamController");function y_(c,l,y){let E=Object.create(Bn.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(ue=>l.cancel(ue),"cancelAlgorithm"):H=g(()=>h(void 0),"cancelAlgorithm");let re=l.autoAllocateChunkSize;if(re===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");cf(c,E,I,L,H,y,re)}g(y_,"SetUpReadableByteStreamControllerFromUnderlyingSource");function __(c,l,y){c._associatedReadableByteStreamController=l,c._view=y}g(__,"SetUpReadableStreamBYOBRequest");function Da(c){return new TypeError(`ReadableStreamBYOBRequest.prototype.${c} can only be used on a ReadableStreamBYOBRequest`)}g(Da,"byobRequestBrandCheckException");function Fo(c){return new TypeError(`ReadableByteStreamController.prototype.${c} can only be used on a ReadableByteStreamController`)}g(Fo,"byteStreamControllerBrandCheckException");function b_(c,l){ce(c,l);let y=c?.mode;return{mode:y===void 0?void 0:C_(y,`${l} has member 'mode' that`)}}g(b_,"convertReaderOptions");function C_(c,l){if(c=`${c}`,c!=="byob")throw new TypeError(`${l} '${c}' is not a valid enumeration value for ReadableStreamReaderMode`);return c}g(C_,"convertReadableStreamReaderMode");function w_(c,l){var y;ce(c,l);let E=(y=c?.min)!==null&&y!==void 0?y:1;return{min:P(E,`${l} has member 'min' that`)}}g(w_,"convertByobReadOptions");function uf(c){return new hr(c)}g(uf,"AcquireReadableStreamBYOBReader");function lf(c,l){c._reader._readIntoRequests.push(l)}g(lf,"ReadableStreamAddReadIntoRequest");function k_(c,l,y){let E=c._reader._readIntoRequests.shift();y?E._closeSteps(l):E._chunkSteps(l)}g(k_,"ReadableStreamFulfillReadIntoRequest");function df(c){return c._reader._readIntoRequests.length}g(df,"ReadableStreamGetNumReadIntoRequests");function Oa(c){let l=c._reader;return!(l===void 0||!mr(l))}g(Oa,"ReadableStreamHasBYOBReader");let S_=class{constructor(l){if(R(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),qn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fr(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Re(this,l),this._readIntoRequests=new $}get closed(){return mr(this)?this._closedPromise:p(ei("closed"))}cancel(l=void 0){return mr(this)?this._ownerReadableStream===void 0?p(We("cancel")):qe(this,l):p(ei("cancel"))}read(l,y={}){if(!mr(this))return p(ei("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(dr(l.buffer))return p(new TypeError("view's buffer has been detached"));let E;try{E=w_(y,"options")}catch(ue){return p(ue)}let I=E.min;if(I===0)return p(new TypeError("options.min must be greater than 0"));if(c_(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(We("read from"));let L,H,re=f((ue,me)=>{L=ue,H=me});return ff(this,l,I,{_chunkSteps:g(ue=>L({value:ue,done:!1}),"_chunkSteps"),_closeSteps:g(ue=>L({value:ue,done:!0}),"_closeSteps"),_errorSteps:g(ue=>H(ue),"_errorSteps")}),re}releaseLock(){if(!mr(this))throw ei("releaseLock");this._ownerReadableStream!==void 0&&E_(this)}};g(S_,"ReadableStreamBYOBReader");let hr=S_;Object.defineProperties(hr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(hr.prototype.cancel,"cancel"),i(hr.prototype.read,"read"),i(hr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function mr(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readIntoRequests")?!1:c instanceof hr}g(mr,"IsReadableStreamBYOBReader");function ff(c,l,y,E){let I=c._ownerReadableStream;I._disturbed=!0,I._state==="errored"?E._errorSteps(I._storedError):p_(I._readableStreamController,l,y,E)}g(ff,"ReadableStreamBYOBReaderRead");function E_(c){Te(c);let l=new TypeError("Reader was released");pf(c,l)}g(E_,"ReadableStreamBYOBReaderRelease");function pf(c,l){let y=c._readIntoRequests;c._readIntoRequests=new $,y.forEach(E=>{E._errorSteps(l)})}g(pf,"ReadableStreamBYOBReaderErrorReadIntoRequests");function ei(c){return new TypeError(`ReadableStreamBYOBReader.prototype.${c} can only be used on a ReadableStreamBYOBReader`)}g(ei,"byobReaderBrandCheckException");function No(c,l){let{highWaterMark:y}=c;if(y===void 0)return l;if(t_(y)||y<0)throw new RangeError("Invalid highWaterMark");return y}g(No,"ExtractHighWaterMark");function ti(c){let{size:l}=c;return l||(()=>1)}g(ti,"ExtractSizeAlgorithm");function ni(c,l){ce(c,l);let y=c?.highWaterMark,E=c?.size;return{highWaterMark:y===void 0?void 0:D(y),size:E===void 0?void 0:A_(E,`${l} has member 'size' that`)}}g(ni,"convertQueuingStrategy");function A_(c,l){return de(c,l),y=>D(c(y))}g(A_,"convertQueuingStrategySize");function v_(c,l){ce(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:T_(y,c,`${l} has member 'abort' that`),close:E===void 0?void 0:R_(E,c,`${l} has member 'close' that`),start:I===void 0?void 0:x_(I,c,`${l} has member 'start' that`),write:H===void 0?void 0:D_(H,c,`${l} has member 'write' that`),type:L}}g(v_,"convertUnderlyingSink");function T_(c,l,y){return de(c,y),E=>x(c,l,[E])}g(T_,"convertUnderlyingSinkAbortCallback");function R_(c,l,y){return de(c,y),()=>x(c,l,[])}g(R_,"convertUnderlyingSinkCloseCallback");function x_(c,l,y){return de(c,y),E=>T(c,l,[E])}g(x_,"convertUnderlyingSinkStartCallback");function D_(c,l,y){return de(c,y),(E,I)=>x(c,l,[E,I])}g(D_,"convertUnderlyingSinkWriteCallback");function hf(c,l){if(!Gr(c))throw new TypeError(`${l} is not a WritableStream.`)}g(hf,"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 SR=typeof AbortController=="function";function P_(){if(SR)return new AbortController}g(P_,"createAbortController");let I_=class{constructor(l={},y={}){l===void 0?l=null:v(l,"First parameter");let E=ni(y,"Second parameter"),I=v_(l,"First parameter");if(gf(this),I.type!==void 0)throw new RangeError("Invalid type is specified");let L=ti(E),H=No(E,1);Y_(this,I,H,L)}get locked(){if(!Gr(this))throw ai("locked");return Jr(this)}abort(l=void 0){return Gr(this)?Jr(this)?p(new TypeError("Cannot abort a stream that already has a writer")):ri(this,l):p(ai("abort"))}close(){return Gr(this)?Jr(this)?p(new TypeError("Cannot close a stream that already has a writer")):Vt(this)?p(new TypeError("Cannot close an already-closing stream")):yf(this):p(ai("close"))}getWriter(){if(!Gr(this))throw ai("getWriter");return mf(this)}};g(I_,"WritableStream");let gr=I_;Object.defineProperties(gr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(gr.prototype.abort,"abort"),i(gr.prototype.close,"close"),i(gr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function mf(c){return new Un(c)}g(mf,"AcquireWritableStreamDefaultWriter");function F_(c,l,y,E,I=1,L=()=>1){let H=Object.create(gr.prototype);gf(H);let re=Object.create(Mo.prototype);return kf(H,re,c,l,y,E,I,L),H}g(F_,"CreateWritableStream");function gf(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(gf,"InitializeWritableStream");function Gr(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_writableStreamController")?!1:c instanceof gr}g(Gr,"IsWritableStream");function Jr(c){return c._writer!==void 0}g(Jr,"IsWritableStreamLocked");function ri(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||Ia(c,l),L}g(ri,"WritableStreamAbort");function yf(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"&&qa(E),X_(c._writableStreamController),y}g(yf,"WritableStreamClose");function N_(c){return f((l,y)=>{let E={_resolve:l,_reject:y};c._writeRequests.push(E)})}g(N_,"WritableStreamAddWriteRequest");function Pa(c,l){if(c._state==="writable"){Ia(c,l);return}Fa(c)}g(Pa,"WritableStreamDealWithRejection");function Ia(c,l){let y=c._writableStreamController;c._state="erroring",c._storedError=l;let E=c._writer;E!==void 0&&bf(E,l),!L_(c)&&y._started&&Fa(c)}g(Ia,"WritableStreamStartErroring");function Fa(c){c._state="errored",c._writableStreamController[ae]();let l=c._storedError;if(c._writeRequests.forEach(I=>{I._reject(l)}),c._writeRequests=new $,c._pendingAbortRequest===void 0){oi(c);return}let y=c._pendingAbortRequest;if(c._pendingAbortRequest=void 0,y._wasAlreadyErroring){y._reject(l),oi(c);return}let E=c._writableStreamController[z](y._reason);C(E,()=>(y._resolve(),oi(c),null),I=>(y._reject(I),oi(c),null))}g(Fa,"WritableStreamFinishErroring");function M_(c){c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0}g(M_,"WritableStreamFinishInFlightWrite");function B_(c,l){c._inFlightWriteRequest._reject(l),c._inFlightWriteRequest=void 0,Pa(c,l)}g(B_,"WritableStreamFinishInFlightWriteWithError");function U_(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&&vf(l)}g(U_,"WritableStreamFinishInFlightClose");function j_(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(j_,"WritableStreamFinishInFlightCloseWithError");function Vt(c){return!(c._closeRequest===void 0&&c._inFlightCloseRequest===void 0)}g(Vt,"WritableStreamCloseQueuedOrInFlight");function L_(c){return!(c._inFlightWriteRequest===void 0&&c._inFlightCloseRequest===void 0)}g(L_,"WritableStreamHasOperationMarkedInFlight");function q_(c){c._inFlightCloseRequest=c._closeRequest,c._closeRequest=void 0}g(q_,"WritableStreamMarkCloseRequestInFlight");function $_(c){c._inFlightWriteRequest=c._writeRequests.shift()}g($_,"WritableStreamMarkFirstWriteRequestInFlight");function oi(c){c._closeRequest!==void 0&&(c._closeRequest._reject(c._storedError),c._closeRequest=void 0);let l=c._writer;l!==void 0&&ja(l,c._storedError)}g(oi,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function Na(c,l){let y=c._writer;y!==void 0&&l!==c._backpressure&&(l?o0(y):qa(y)),c._backpressure=l}g(Na,"WritableStreamUpdateBackpressure");let z_=class{constructor(l){if(R(l,1,"WritableStreamDefaultWriter"),hf(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")!Vt(l)&&l._backpressure?ui(this):Tf(this),ci(this);else if(y==="erroring")La(this,l._storedError),ci(this);else if(y==="closed")Tf(this),n0(this);else{let E=l._storedError;La(this,E),Af(this,E)}}get closed(){return yr(this)?this._closedPromise:p(_r("closed"))}get desiredSize(){if(!yr(this))throw _r("desiredSize");if(this._ownerWritableStream===void 0)throw Uo("desiredSize");return J_(this)}get ready(){return yr(this)?this._readyPromise:p(_r("ready"))}abort(l=void 0){return yr(this)?this._ownerWritableStream===void 0?p(Uo("abort")):H_(this,l):p(_r("abort"))}close(){if(!yr(this))return p(_r("close"));let l=this._ownerWritableStream;return l===void 0?p(Uo("close")):Vt(l)?p(new TypeError("Cannot close an already-closing stream")):_f(this)}releaseLock(){if(!yr(this))throw _r("releaseLock");this._ownerWritableStream!==void 0&&Cf(this)}write(l=void 0){return yr(this)?this._ownerWritableStream===void 0?p(Uo("write to")):wf(this,l):p(_r("write"))}};g(z_,"WritableStreamDefaultWriter");let Un=z_;Object.defineProperties(Un.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(Un.prototype.abort,"abort"),i(Un.prototype.close,"close"),i(Un.prototype.releaseLock,"releaseLock"),i(Un.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Un.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function yr(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_ownerWritableStream")?!1:c instanceof Un}g(yr,"IsWritableStreamDefaultWriter");function H_(c,l){let y=c._ownerWritableStream;return ri(y,l)}g(H_,"WritableStreamDefaultWriterAbort");function _f(c){let l=c._ownerWritableStream;return yf(l)}g(_f,"WritableStreamDefaultWriterClose");function W_(c){let l=c._ownerWritableStream,y=l._state;return Vt(l)||y==="closed"?h(void 0):y==="errored"?p(l._storedError):_f(c)}g(W_,"WritableStreamDefaultWriterCloseWithErrorPropagation");function G_(c,l){c._closedPromiseState==="pending"?ja(c,l):r0(c,l)}g(G_,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function bf(c,l){c._readyPromiseState==="pending"?Rf(c,l):s0(c,l)}g(bf,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function J_(c){let l=c._ownerWritableStream,y=l._state;return y==="errored"||y==="erroring"?null:y==="closed"?0:Sf(l._writableStreamController)}g(J_,"WritableStreamDefaultWriterGetDesiredSize");function Cf(c){let l=c._ownerWritableStream,y=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");bf(c,y),G_(c,y),l._writer=void 0,c._ownerWritableStream=void 0}g(Cf,"WritableStreamDefaultWriterRelease");function wf(c,l){let y=c._ownerWritableStream,E=y._writableStreamController,I=Q_(E,l);if(y!==c._ownerWritableStream)return p(Uo("write to"));let L=y._state;if(L==="errored")return p(y._storedError);if(Vt(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=N_(y);return Z_(E,l,I),H}g(wf,"WritableStreamDefaultWriterWrite");let K_={},V_=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Ma(this))throw Ua("abortReason");return this._abortReason}get signal(){if(!Ma(this))throw Ua("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!Ma(this))throw Ua("error");this._controlledWritableStream._state==="writable"&&Ef(this,l)}[z](l){let y=this._abortAlgorithm(l);return si(this),y}[ae](){Mn(this)}};g(V_,"WritableStreamDefaultController");let Mo=V_;Object.defineProperties(Mo.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mo.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Ma(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledWritableStream")?!1:c instanceof Mo}g(Ma,"IsWritableStreamDefaultController");function kf(c,l,y,E,I,L,H,re){l._controlledWritableStream=c,c._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Mn(l),l._abortReason=void 0,l._abortController=P_(),l._started=!1,l._strategySizeAlgorithm=re,l._strategyHWM=H,l._writeAlgorithm=E,l._closeAlgorithm=I,l._abortAlgorithm=L;let ue=Ba(l);Na(c,ue);let me=y(),we=h(me);C(we,()=>(l._started=!0,ii(l),null),ke=>(l._started=!0,Pa(c,ke),null))}g(kf,"SetUpWritableStreamDefaultController");function Y_(c,l,y,E){let I=Object.create(Mo.prototype),L,H,re,ue;l.start!==void 0?L=g(()=>l.start(I),"startAlgorithm"):L=g(()=>{},"startAlgorithm"),l.write!==void 0?H=g(me=>l.write(me,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?ue=g(me=>l.abort(me),"abortAlgorithm"):ue=g(()=>h(void 0),"abortAlgorithm"),kf(c,I,L,H,re,ue,y,E)}g(Y_,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function si(c){c._writeAlgorithm=void 0,c._closeAlgorithm=void 0,c._abortAlgorithm=void 0,c._strategySizeAlgorithm=void 0}g(si,"WritableStreamDefaultControllerClearAlgorithms");function X_(c){Ea(c,K_,0),ii(c)}g(X_,"WritableStreamDefaultControllerClose");function Q_(c,l){try{return c._strategySizeAlgorithm(l)}catch(y){return Bo(c,y),1}}g(Q_,"WritableStreamDefaultControllerGetChunkSize");function Sf(c){return c._strategyHWM-c._queueTotalSize}g(Sf,"WritableStreamDefaultControllerGetDesiredSize");function Z_(c,l,y){try{Ea(c,l,y)}catch(I){Bo(c,I);return}let E=c._controlledWritableStream;if(!Vt(E)&&E._state==="writable"){let I=Ba(c);Na(E,I)}ii(c)}g(Z_,"WritableStreamDefaultControllerWrite");function ii(c){let l=c._controlledWritableStream;if(!c._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){Fa(l);return}if(c._queue.length===0)return;let y=a_(c);y===K_?e0(c):t0(c,y)}g(ii,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function Bo(c,l){c._controlledWritableStream._state==="writable"&&Ef(c,l)}g(Bo,"WritableStreamDefaultControllerErrorIfNeeded");function e0(c){let l=c._controlledWritableStream;q_(l),Sa(c);let y=c._closeAlgorithm();si(c),C(y,()=>(U_(l),null),E=>(j_(l,E),null))}g(e0,"WritableStreamDefaultControllerProcessClose");function t0(c,l){let y=c._controlledWritableStream;$_(y);let E=c._writeAlgorithm(l);C(E,()=>{M_(y);let I=y._state;if(Sa(c),!Vt(y)&&I==="writable"){let L=Ba(c);Na(y,L)}return ii(c),null},I=>(y._state==="writable"&&si(c),B_(y,I),null))}g(t0,"WritableStreamDefaultControllerProcessWrite");function Ba(c){return Sf(c)<=0}g(Ba,"WritableStreamDefaultControllerGetBackpressure");function Ef(c,l){let y=c._controlledWritableStream;si(c),Ia(y,l)}g(Ef,"WritableStreamDefaultControllerError");function ai(c){return new TypeError(`WritableStream.prototype.${c} can only be used on a WritableStream`)}g(ai,"streamBrandCheckException$2");function Ua(c){return new TypeError(`WritableStreamDefaultController.prototype.${c} can only be used on a WritableStreamDefaultController`)}g(Ua,"defaultControllerBrandCheckException$2");function _r(c){return new TypeError(`WritableStreamDefaultWriter.prototype.${c} can only be used on a WritableStreamDefaultWriter`)}g(_r,"defaultWriterBrandCheckException");function Uo(c){return new TypeError("Cannot "+c+" a stream using a released writer")}g(Uo,"defaultWriterLockException");function ci(c){c._closedPromise=f((l,y)=>{c._closedPromise_resolve=l,c._closedPromise_reject=y,c._closedPromiseState="pending"})}g(ci,"defaultWriterClosedPromiseInitialize");function Af(c,l){ci(c),ja(c,l)}g(Af,"defaultWriterClosedPromiseInitializeAsRejected");function n0(c){ci(c),vf(c)}g(n0,"defaultWriterClosedPromiseInitializeAsResolved");function ja(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(ja,"defaultWriterClosedPromiseReject");function r0(c,l){Af(c,l)}g(r0,"defaultWriterClosedPromiseResetToRejected");function vf(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(vf,"defaultWriterClosedPromiseResolve");function ui(c){c._readyPromise=f((l,y)=>{c._readyPromise_resolve=l,c._readyPromise_reject=y}),c._readyPromiseState="pending"}g(ui,"defaultWriterReadyPromiseInitialize");function La(c,l){ui(c),Rf(c,l)}g(La,"defaultWriterReadyPromiseInitializeAsRejected");function Tf(c){ui(c),qa(c)}g(Tf,"defaultWriterReadyPromiseInitializeAsResolved");function Rf(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(Rf,"defaultWriterReadyPromiseReject");function o0(c){ui(c)}g(o0,"defaultWriterReadyPromiseReset");function s0(c,l){La(c,l)}g(s0,"defaultWriterReadyPromiseResetToRejected");function qa(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(qa,"defaultWriterReadyPromiseResolve");function i0(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof fh<"u")return fh}g(i0,"getGlobals");let ER=i0();function a0(c){if(!(typeof c=="function"||typeof c=="object")||c.name!=="DOMException")return!1;try{return new c,!0}catch{return!1}}g(a0,"isDOMExceptionConstructor");function c0(){let c=ER?.DOMException;return a0(c)?c:void 0}g(c0,"getFromGlobal");function u0(){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(u0,"createPolyfill");let AR=c0()||u0();function xf(c,l,y,E,I,L){let H=U(c),re=mf(l);c._disturbed=!0;let ue=!1,me=h(void 0);return f((we,ke)=>{let Ie;if(L!==void 0){if(Ie=g(()=>{let fe=L.reason!==void 0?L.reason:new AR("Aborted","AbortError"),ve=[];E||ve.push(()=>l._state==="writable"?ri(l,fe):h(void 0)),I||ve.push(()=>c._state==="readable"?Mt(c,fe):h(void 0)),pt(()=>Promise.all(ve.map(Pe=>Pe())),!0,fe)},"abortAlgorithm"),L.aborted){Ie();return}L.addEventListener("abort",Ie)}function yt(){return f((fe,ve)=>{function Pe(ht){ht?fe():b($n(),Pe,ve)}g(Pe,"next"),Pe(!1)})}g(yt,"pipeLoop");function $n(){return ue?h(!0):b(re._readyPromise,()=>f((fe,ve)=>{ye(H,{_chunkSteps:g(Pe=>{me=b(wf(re,Pe),void 0,r),fe(!1)},"_chunkSteps"),_closeSteps:g(()=>fe(!0),"_closeSteps"),_errorSteps:ve})}))}if(g($n,"pipeStep"),Bt(c,H._closedPromise,fe=>(E?_t(!0,fe):pt(()=>ri(l,fe),!0,fe),null)),Bt(l,re._closedPromise,fe=>(I?_t(!0,fe):pt(()=>Mt(c,fe),!0,fe),null)),et(c,H._closedPromise,()=>(y?_t():pt(()=>W_(re)),null)),Vt(l)||l._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");I?_t(!0,fe):pt(()=>Mt(c,fe),!0,fe)}A(yt());function Yt(){let fe=me;return b(me,()=>fe!==me?Yt():void 0)}g(Yt,"waitForWritesToFinish");function Bt(fe,ve,Pe){fe._state==="errored"?Pe(fe._storedError):w(ve,Pe)}g(Bt,"isOrBecomesErrored");function et(fe,ve,Pe){fe._state==="closed"?Pe():m(ve,Pe)}g(et,"isOrBecomesClosed");function pt(fe,ve,Pe){if(ue)return;ue=!0,l._state==="writable"&&!Vt(l)?m(Yt(),ht):ht();function ht(){return C(fe(),()=>zn(ve,Pe),kr=>zn(!0,kr)),null}g(ht,"doTheRest")}g(pt,"shutdownWithAction");function _t(fe,ve){ue||(ue=!0,l._state==="writable"&&!Vt(l)?m(Yt(),()=>zn(fe,ve)):zn(fe,ve))}g(_t,"shutdown");function zn(fe,ve){return Cf(re),Te(H),L!==void 0&&L.removeEventListener("abort",Ie),fe?ke(ve):we(void 0),null}g(zn,"finalize")})}g(xf,"ReadableStreamPipeTo");let l0=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!li(this))throw fi("desiredSize");return $a(this)}close(){if(!li(this))throw fi("close");if(!Vr(this))throw new TypeError("The stream is not in a state that permits close");br(this)}enqueue(l=void 0){if(!li(this))throw fi("enqueue");if(!Vr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Kr(this,l)}error(l=void 0){if(!li(this))throw fi("error");Nt(this,l)}[X](l){Mn(this);let y=this._cancelAlgorithm(l);return di(this),y}[ee](l){let y=this._controlledReadableStream;if(this._queue.length>0){let E=Sa(this);this._closeRequested&&this._queue.length===0?(di(this),qo(y)):jo(this),l._chunkSteps(E)}else B(y,l),jo(this)}[Z](){}};g(l0,"ReadableStreamDefaultController");let jn=l0;Object.defineProperties(jn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(jn.prototype.close,"close"),i(jn.prototype.enqueue,"enqueue"),i(jn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function li(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledReadableStream")?!1:c instanceof jn}g(li,"IsReadableStreamDefaultController");function jo(c){if(!Df(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,jo(c)),null),y=>(Nt(c,y),null))}g(jo,"ReadableStreamDefaultControllerCallPullIfNeeded");function Df(c){let l=c._controlledReadableStream;return!Vr(c)||!c._started?!1:!!(qn(l)&&oe(l)>0||$a(c)>0)}g(Df,"ReadableStreamDefaultControllerShouldCallPull");function di(c){c._pullAlgorithm=void 0,c._cancelAlgorithm=void 0,c._strategySizeAlgorithm=void 0}g(di,"ReadableStreamDefaultControllerClearAlgorithms");function br(c){if(!Vr(c))return;let l=c._controlledReadableStream;c._closeRequested=!0,c._queue.length===0&&(di(c),qo(l))}g(br,"ReadableStreamDefaultControllerClose");function Kr(c,l){if(!Vr(c))return;let y=c._controlledReadableStream;if(qn(y)&&oe(y)>0)G(y,l,!1);else{let E;try{E=c._strategySizeAlgorithm(l)}catch(I){throw Nt(c,I),I}try{Ea(c,l,E)}catch(I){throw Nt(c,I),I}}jo(c)}g(Kr,"ReadableStreamDefaultControllerEnqueue");function Nt(c,l){let y=c._controlledReadableStream;y._state==="readable"&&(Mn(c),di(c),Ff(y,l))}g(Nt,"ReadableStreamDefaultControllerError");function $a(c){let l=c._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:c._strategyHWM-c._queueTotalSize}g($a,"ReadableStreamDefaultControllerGetDesiredSize");function d0(c){return!Df(c)}g(d0,"ReadableStreamDefaultControllerHasBackpressure");function Vr(c){let l=c._controlledReadableStream._state;return!c._closeRequested&&l==="readable"}g(Vr,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function Of(c,l,y,E,I,L,H){l._controlledReadableStream=c,l._queue=void 0,l._queueTotalSize=void 0,Mn(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,jo(l),null),ue=>(Nt(l,ue),null))}g(Of,"SetUpReadableStreamDefaultController");function f0(c,l,y,E){let I=Object.create(jn.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(ue=>l.cancel(ue),"cancelAlgorithm"):re=g(()=>h(void 0),"cancelAlgorithm"),Of(c,I,L,H,re,y,E)}g(f0,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function fi(c){return new TypeError(`ReadableStreamDefaultController.prototype.${c} can only be used on a ReadableStreamDefaultController`)}g(fi,"defaultControllerBrandCheckException$1");function p0(c,l){return fr(c._readableStreamController)?m0(c):h0(c)}g(p0,"ReadableStreamTee");function h0(c,l){let y=U(c),E=!1,I=!1,L=!1,H=!1,re,ue,me,we,ke,Ie=f(et=>{ke=et});function yt(){return E?(I=!0,h(void 0)):(E=!0,ye(y,{_chunkSteps:g(et=>{S(()=>{I=!1;let pt=et,_t=et;L||Kr(me._readableStreamController,pt),H||Kr(we._readableStreamController,_t),E=!1,I&&yt()})},"_chunkSteps"),_closeSteps:g(()=>{E=!1,L||br(me._readableStreamController),H||br(we._readableStreamController),(!L||!H)&&ke(void 0)},"_closeSteps"),_errorSteps:g(()=>{E=!1},"_errorSteps")}),h(void 0))}g(yt,"pullAlgorithm");function $n(et){if(L=!0,re=et,H){let pt=Po([re,ue]),_t=Mt(c,pt);ke(_t)}return Ie}g($n,"cancel1Algorithm");function Yt(et){if(H=!0,ue=et,L){let pt=Po([re,ue]),_t=Mt(c,pt);ke(_t)}return Ie}g(Yt,"cancel2Algorithm");function Bt(){}return g(Bt,"startAlgorithm"),me=Lo(Bt,yt,$n),we=Lo(Bt,yt,Yt),w(y._closedPromise,et=>(Nt(me._readableStreamController,et),Nt(we._readableStreamController,et),(!L||!H)&&ke(void 0),null)),[me,we]}g(h0,"ReadableStreamDefaultTee");function m0(c){let l=U(c),y=!1,E=!1,I=!1,L=!1,H=!1,re,ue,me,we,ke,Ie=f(fe=>{ke=fe});function yt(fe){w(fe._closedPromise,ve=>(fe!==l||(vt(me._readableStreamController,ve),vt(we._readableStreamController,ve),(!L||!H)&&ke(void 0)),null))}g(yt,"forwardReaderError");function $n(){mr(l)&&(Te(l),l=U(c),yt(l)),ye(l,{_chunkSteps:g(fe=>{S(()=>{E=!1,I=!1;let ve=fe,Pe=fe;if(!L&&!H)try{Pe=Vd(fe)}catch(ht){vt(me._readableStreamController,ht),vt(we._readableStreamController,ht),ke(Mt(c,ht));return}L||Xs(me._readableStreamController,ve),H||Xs(we._readableStreamController,Pe),y=!1,E?Bt():I&&et()})},"_chunkSteps"),_closeSteps:g(()=>{y=!1,L||Io(me._readableStreamController),H||Io(we._readableStreamController),me._readableStreamController._pendingPullIntos.length>0&&Qs(me._readableStreamController,0),we._readableStreamController._pendingPullIntos.length>0&&Qs(we._readableStreamController,0),(!L||!H)&&ke(void 0)},"_closeSteps"),_errorSteps:g(()=>{y=!1},"_errorSteps")})}g($n,"pullWithDefaultReader");function Yt(fe,ve){he(l)&&(Te(l),l=uf(c),yt(l));let Pe=ve?we:me,ht=ve?me:we;ff(l,fe,1,{_chunkSteps:g(kr=>{S(()=>{E=!1,I=!1;let $o=ve?H:L;if(ve?L:H)$o||Zs(Pe._readableStreamController,kr);else{let zo;try{zo=Vd(kr)}catch(Wf){vt(Pe._readableStreamController,Wf),vt(ht._readableStreamController,Wf),ke(Mt(c,Wf));return}$o||Zs(Pe._readableStreamController,kr),Xs(ht._readableStreamController,zo)}y=!1,E?Bt():I&&et()})},"_chunkSteps"),_closeSteps:g(kr=>{y=!1;let $o=ve?H:L,zo=ve?L:H;$o||Io(Pe._readableStreamController),zo||Io(ht._readableStreamController),kr!==void 0&&($o||Zs(Pe._readableStreamController,kr),!zo&&ht._readableStreamController._pendingPullIntos.length>0&&Qs(ht._readableStreamController,0)),(!$o||!zo)&&ke(void 0)},"_closeSteps"),_errorSteps:g(()=>{y=!1},"_errorSteps")})}g(Yt,"pullWithBYOBReader");function Bt(){if(y)return E=!0,h(void 0);y=!0;let fe=xa(me._readableStreamController);return fe===null?$n():Yt(fe._view,!1),h(void 0)}g(Bt,"pull1Algorithm");function et(){if(y)return I=!0,h(void 0);y=!0;let fe=xa(we._readableStreamController);return fe===null?$n():Yt(fe._view,!0),h(void 0)}g(et,"pull2Algorithm");function pt(fe){if(L=!0,re=fe,H){let ve=Po([re,ue]),Pe=Mt(c,ve);ke(Pe)}return Ie}g(pt,"cancel1Algorithm");function _t(fe){if(H=!0,ue=fe,L){let ve=Po([re,ue]),Pe=Mt(c,ve);ke(Pe)}return Ie}g(_t,"cancel2Algorithm");function zn(){}return g(zn,"startAlgorithm"),me=If(zn,Bt,pt),we=If(zn,et,_t),yt(l),[me,we]}g(m0,"ReadableByteStreamTee");function g0(c){return o(c)&&typeof c.getReader<"u"}g(g0,"isReadableStreamLike");function y0(c){return g0(c)?b0(c.getReader()):_0(c)}g(y0,"ReadableStreamFrom");function _0(c){let l,y=Kd(c,"async"),E=r;function I(){let H;try{H=r_(y)}catch(ue){return p(ue)}let re=h(H);return _(re,ue=>{if(!o(ue))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(o_(ue))br(l._readableStreamController);else{let me=s_(ue);Kr(l._readableStreamController,me)}})}g(I,"pullAlgorithm");function L(H){let re=y.iterator,ue;try{ue=Ks(re,"return")}catch(ke){return p(ke)}if(ue===void 0)return h(void 0);let me;try{me=T(ue,re,[H])}catch(ke){return p(ke)}let we=h(me);return _(we,ke=>{if(!o(ke))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return g(L,"cancelAlgorithm"),l=Lo(E,I,L,0),l}g(_0,"ReadableStreamFromIterable");function b0(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)br(l._readableStreamController);else{let re=H.value;Kr(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=Lo(y,E,I,0),l}g(b0,"ReadableStreamFromDefaultReader");function C0(c,l){ce(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:w0(I,y,`${l} has member 'cancel' that`),pull:L===void 0?void 0:k0(L,y,`${l} has member 'pull' that`),start:H===void 0?void 0:S0(H,y,`${l} has member 'start' that`),type:re===void 0?void 0:E0(re,`${l} has member 'type' that`)}}g(C0,"convertUnderlyingDefaultOrByteSource");function w0(c,l,y){return de(c,y),E=>x(c,l,[E])}g(w0,"convertUnderlyingSourceCancelCallback");function k0(c,l,y){return de(c,y),E=>x(c,l,[E])}g(k0,"convertUnderlyingSourcePullCallback");function S0(c,l,y){return de(c,y),E=>T(c,l,[E])}g(S0,"convertUnderlyingSourceStartCallback");function E0(c,l){if(c=`${c}`,c!=="bytes")throw new TypeError(`${l} '${c}' is not a valid enumeration value for ReadableStreamType`);return c}g(E0,"convertReadableStreamType");function A0(c,l){return ce(c,l),{preventCancel:!!c?.preventCancel}}g(A0,"convertIteratorOptions");function Pf(c,l){ce(c,l);let y=c?.preventAbort,E=c?.preventCancel,I=c?.preventClose,L=c?.signal;return L!==void 0&&v0(L,`${l} has member 'signal' that`),{preventAbort:!!y,preventCancel:!!E,preventClose:!!I,signal:L}}g(Pf,"convertPipeOptions");function v0(c,l){if(!O_(c))throw new TypeError(`${l} is not an AbortSignal.`)}g(v0,"assertAbortSignal");function T0(c,l){ce(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"),hf(E,`${l} has member 'writable' that`),{readable:y,writable:E}}g(T0,"convertReadableWritablePair");let R0=class{constructor(l={},y={}){l===void 0?l=null:v(l,"First parameter");let E=ni(y,"Second parameter"),I=C0(l,"First parameter");if(za(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=No(E,0);y_(this,I,L)}else{let L=ti(E),H=No(E,1);f0(this,I,H,L)}}get locked(){if(!Ln(this))throw Cr("locked");return qn(this)}cancel(l=void 0){return Ln(this)?qn(this)?p(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,l):p(Cr("cancel"))}getReader(l=void 0){if(!Ln(this))throw Cr("getReader");return b_(l,"First parameter").mode===void 0?U(this):uf(this)}pipeThrough(l,y={}){if(!Ln(this))throw Cr("pipeThrough");R(l,1,"pipeThrough");let E=T0(l,"First parameter"),I=Pf(y,"Second parameter");if(qn(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=xf(this,E.writable,I.preventClose,I.preventAbort,I.preventCancel,I.signal);return A(L),E.readable}pipeTo(l,y={}){if(!Ln(this))return p(Cr("pipeTo"));if(l===void 0)return p("Parameter 1 is required in 'pipeTo'.");if(!Gr(l))return p(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=Pf(y,"Second parameter")}catch(I){return p(I)}return qn(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")):xf(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Ln(this))throw Cr("tee");let l=p0(this);return Po(l)}values(l=void 0){if(!Ln(this))throw Cr("values");let y=A0(l,"First parameter");return ft(this,y.preventCancel)}[Jd](l){return this.values(l)}static from(l){return y0(l)}};g(R0,"ReadableStream");let dt=R0;Object.defineProperties(dt,{from:{enumerable:!0}}),Object.defineProperties(dt.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(dt.from,"from"),i(dt.prototype.cancel,"cancel"),i(dt.prototype.getReader,"getReader"),i(dt.prototype.pipeThrough,"pipeThrough"),i(dt.prototype.pipeTo,"pipeTo"),i(dt.prototype.tee,"tee"),i(dt.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dt.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(dt.prototype,Jd,{value:dt.prototype.values,writable:!0,configurable:!0});function Lo(c,l,y,E=1,I=()=>1){let L=Object.create(dt.prototype);za(L);let H=Object.create(jn.prototype);return Of(L,H,c,l,y,E,I),L}g(Lo,"CreateReadableStream");function If(c,l,y){let E=Object.create(dt.prototype);za(E);let I=Object.create(Bn.prototype);return cf(E,I,c,l,y,0,void 0),E}g(If,"CreateReadableByteStream");function za(c){c._state="readable",c._reader=void 0,c._storedError=void 0,c._disturbed=!1}g(za,"InitializeReadableStream");function Ln(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readableStreamController")?!1:c instanceof dt}g(Ln,"IsReadableStream");function qn(c){return c._reader!==void 0}g(qn,"IsReadableStreamLocked");function Mt(c,l){if(c._disturbed=!0,c._state==="closed")return h(void 0);if(c._state==="errored")return p(c._storedError);qo(c);let y=c._reader;if(y!==void 0&&mr(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(Mt,"ReadableStreamCancel");function qo(c){c._state="closed";let l=c._reader;if(l!==void 0&&(V(l),he(l))){let y=l._readRequests;l._readRequests=new $,y.forEach(E=>{E._closeSteps()})}}g(qo,"ReadableStreamClose");function Ff(c,l){c._state="errored",c._storedError=l;let y=c._reader;y!==void 0&&(le(y,l),he(y)?Xe(y,l):pf(y,l))}g(Ff,"ReadableStreamError");function Cr(c){return new TypeError(`ReadableStream.prototype.${c} can only be used on a ReadableStream`)}g(Cr,"streamBrandCheckException$1");function Nf(c,l){ce(c,l);let y=c?.highWaterMark;return M(y,"highWaterMark","QueuingStrategyInit"),{highWaterMark:D(y)}}g(Nf,"convertQueuingStrategyInit");let x0=g(c=>c.byteLength,"byteLengthSizeFunction");i(x0,"size");let D0=class{constructor(l){R(l,1,"ByteLengthQueuingStrategy"),l=Nf(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!Bf(this))throw Mf("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Bf(this))throw Mf("size");return x0}};g(D0,"ByteLengthQueuingStrategy");let Ha=D0;Object.defineProperties(Ha.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ha.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Mf(c){return new TypeError(`ByteLengthQueuingStrategy.prototype.${c} can only be used on a ByteLengthQueuingStrategy`)}g(Mf,"byteLengthBrandCheckException");function Bf(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_byteLengthQueuingStrategyHighWaterMark")?!1:c instanceof Ha}g(Bf,"IsByteLengthQueuingStrategy");let O0=g(()=>1,"countSizeFunction");i(O0,"size");let P0=class{constructor(l){R(l,1,"CountQueuingStrategy"),l=Nf(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!jf(this))throw Uf("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!jf(this))throw Uf("size");return O0}};g(P0,"CountQueuingStrategy");let Wa=P0;Object.defineProperties(Wa.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wa.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Uf(c){return new TypeError(`CountQueuingStrategy.prototype.${c} can only be used on a CountQueuingStrategy`)}g(Uf,"countBrandCheckException");function jf(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_countQueuingStrategyHighWaterMark")?!1:c instanceof Wa}g(jf,"IsCountQueuingStrategy");function I0(c,l){ce(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:B0(y,c,`${l} has member 'cancel' that`),flush:E===void 0?void 0:F0(E,c,`${l} has member 'flush' that`),readableType:I,start:L===void 0?void 0:N0(L,c,`${l} has member 'start' that`),transform:H===void 0?void 0:M0(H,c,`${l} has member 'transform' that`),writableType:re}}g(I0,"convertTransformer");function F0(c,l,y){return de(c,y),E=>x(c,l,[E])}g(F0,"convertTransformerFlushCallback");function N0(c,l,y){return de(c,y),E=>T(c,l,[E])}g(N0,"convertTransformerStartCallback");function M0(c,l,y){return de(c,y),(E,I)=>x(c,l,[E,I])}g(M0,"convertTransformerTransformCallback");function B0(c,l,y){return de(c,y),E=>x(c,l,[E])}g(B0,"convertTransformerCancelCallback");let U0=class{constructor(l={},y={},E={}){l===void 0&&(l=null);let I=ni(y,"Second parameter"),L=ni(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=No(L,0),ue=ti(L),me=No(I,1),we=ti(I),ke,Ie=f(yt=>{ke=yt});j0(this,Ie,me,we,re,ue),$0(this,H),H.start!==void 0?ke(H.start(this._transformStreamController)):ke(void 0)}get readable(){if(!Lf(this))throw Hf("readable");return this._readable}get writable(){if(!Lf(this))throw Hf("writable");return this._writable}};g(U0,"TransformStream");let Ga=U0;Object.defineProperties(Ga.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ga.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function j0(c,l,y,E,I,L){function H(){return l}g(H,"startAlgorithm");function re(Ie){return W0(c,Ie)}g(re,"writeAlgorithm");function ue(Ie){return G0(c,Ie)}g(ue,"abortAlgorithm");function me(){return J0(c)}g(me,"closeAlgorithm"),c._writable=F_(H,re,me,ue,y,E);function we(){return K0(c)}g(we,"pullAlgorithm");function ke(Ie){return V0(c,Ie)}g(ke,"cancelAlgorithm"),c._readable=Lo(H,we,ke,I,L),c._backpressure=void 0,c._backpressureChangePromise=void 0,c._backpressureChangePromise_resolve=void 0,pi(c,!0),c._transformStreamController=void 0}g(j0,"InitializeTransformStream");function Lf(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_transformStreamController")?!1:c instanceof Ga}g(Lf,"IsTransformStream");function qf(c,l){Nt(c._readable._readableStreamController,l),Ja(c,l)}g(qf,"TransformStreamError");function Ja(c,l){mi(c._transformStreamController),Bo(c._writable._writableStreamController,l),Ka(c)}g(Ja,"TransformStreamErrorWritableAndUnblockWrite");function Ka(c){c._backpressure&&pi(c,!1)}g(Ka,"TransformStreamUnblockWrite");function pi(c,l){c._backpressureChangePromise!==void 0&&c._backpressureChangePromise_resolve(),c._backpressureChangePromise=f(y=>{c._backpressureChangePromise_resolve=y}),c._backpressure=l}g(pi,"TransformStreamSetBackpressure");let L0=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!hi(this))throw gi("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return $a(l)}enqueue(l=void 0){if(!hi(this))throw gi("enqueue");$f(this,l)}error(l=void 0){if(!hi(this))throw gi("error");z0(this,l)}terminate(){if(!hi(this))throw gi("terminate");H0(this)}};g(L0,"TransformStreamDefaultController");let wr=L0;Object.defineProperties(wr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(wr.prototype.enqueue,"enqueue"),i(wr.prototype.error,"error"),i(wr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function hi(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledTransformStream")?!1:c instanceof wr}g(hi,"IsTransformStreamDefaultController");function q0(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(q0,"SetUpTransformStreamDefaultController");function $0(c,l){let y=Object.create(wr.prototype),E,I,L;l.transform!==void 0?E=g(H=>l.transform(H,y),"transformAlgorithm"):E=g(H=>{try{return $f(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"),q0(c,y,E,I,L)}g($0,"SetUpTransformStreamDefaultControllerFromTransformer");function mi(c){c._transformAlgorithm=void 0,c._flushAlgorithm=void 0,c._cancelAlgorithm=void 0}g(mi,"TransformStreamDefaultControllerClearAlgorithms");function $f(c,l){let y=c._controlledTransformStream,E=y._readable._readableStreamController;if(!Vr(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Kr(E,l)}catch(I){throw Ja(y,I),y._readable._storedError}d0(E)!==y._backpressure&&pi(y,!0)}g($f,"TransformStreamDefaultControllerEnqueue");function z0(c,l){qf(c._controlledTransformStream,l)}g(z0,"TransformStreamDefaultControllerError");function zf(c,l){let y=c._transformAlgorithm(l);return _(y,void 0,E=>{throw qf(c._controlledTransformStream,E),E})}g(zf,"TransformStreamDefaultControllerPerformTransform");function H0(c){let l=c._controlledTransformStream,y=l._readable._readableStreamController;br(y);let E=new TypeError("TransformStream terminated");Ja(l,E)}g(H0,"TransformStreamDefaultControllerTerminate");function W0(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 zf(y,l)})}return zf(y,l)}g(W0,"TransformStreamDefaultSinkWriteAlgorithm");function G0(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 mi(y),C(I,()=>(E._state==="errored"?Yr(y,E._storedError):(Nt(E._readableStreamController,l),Va(y)),null),L=>(Nt(E._readableStreamController,L),Yr(y,L),null)),y._finishPromise}g(G0,"TransformStreamDefaultSinkAbortAlgorithm");function J0(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 mi(l),C(E,()=>(y._state==="errored"?Yr(l,y._storedError):(br(y._readableStreamController),Va(l)),null),I=>(Nt(y._readableStreamController,I),Yr(l,I),null)),l._finishPromise}g(J0,"TransformStreamDefaultSinkCloseAlgorithm");function K0(c){return pi(c,!1),c._backpressureChangePromise}g(K0,"TransformStreamDefaultSourcePullAlgorithm");function V0(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 mi(y),C(I,()=>(E._state==="errored"?Yr(y,E._storedError):(Bo(E._writableStreamController,l),Ka(c),Va(y)),null),L=>(Bo(E._writableStreamController,L),Ka(c),Yr(y,L),null)),y._finishPromise}g(V0,"TransformStreamDefaultSourceCancelAlgorithm");function gi(c){return new TypeError(`TransformStreamDefaultController.prototype.${c} can only be used on a TransformStreamDefaultController`)}g(gi,"defaultControllerBrandCheckException");function Va(c){c._finishPromise_resolve!==void 0&&(c._finishPromise_resolve(),c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0)}g(Va,"defaultControllerFinishPromiseResolve");function Yr(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(Yr,"defaultControllerFinishPromiseReject");function Hf(c){return new TypeError(`TransformStream.prototype.${c} can only be used on a TransformStream`)}g(Hf,"streamBrandCheckException"),n.ByteLengthQueuingStrategy=Ha,n.CountQueuingStrategy=Wa,n.ReadableByteStreamController=Bn,n.ReadableStream=dt,n.ReadableStreamBYOBReader=hr,n.ReadableStreamBYOBRequest=Hr,n.ReadableStreamDefaultController=jn,n.ReadableStreamDefaultReader=ge,n.TransformStream=Ga,n.TransformStreamDefaultController=wr,n.WritableStream=gr,n.WritableStreamDefaultController=Mo,n.WritableStreamDefaultWriter=Un})})(gu,gu.exports)),gu.exports}function yk(){if(gk)return hk;gk=1;let t=65536;if(!globalThis.ReadableStream)try{let e=require("node:process"),{emitWarning:n}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),e.emitWarning=n}catch(r){throw e.emitWarning=n,r}}catch{Object.assign(globalThis,Ok())}try{let{Blob:e}=require("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 hk}async function*yu(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,_k),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+_k)).arrayBuffer();r+=s.byteLength,yield new Uint8Array(s)}}}function Ik(t,e=_o){var n=`${bk()}${bk()}`.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+_h(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+_h(i)+`"; filename="${_h(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 _u(t){if(t[Et].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[Et].disturbed=!0,t[Et].error)throw t[Et].error;let{body:e}=t;if(e===null)return ut.Buffer.alloc(0);if(!(e instanceof He.default))return ut.Buffer.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 qt(`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 vu?o:new qt(`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")?ut.Buffer.from(n.join("")):ut.Buffer.concat(n,r)}catch(o){throw new qt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new qt(`Premature close of server response while trying to fetch ${t.url}`)}function qk(t=[]){return new Qn(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return bu(e),Ch(e,String(n)),!0}catch{return!1}}))}function wh(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 Hk(t){if(!zk.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Wk(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=(0,Rk.isIP)(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 go(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Wk(t)}function Gk(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=wh(o),i=wh(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 go(s)&&!go(a)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===a.origin?s:go(s)&&!go(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 go(s)&&!go(a)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Jk(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&zk.has(r)&&(n=r);return n}function Xk(){if(wk)return bh;if(wk=1,!globalThis.DOMException)try{let{MessageChannel:t}=require("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 bh=globalThis.DOMException,bh}async function Oh(t,e){return new Promise((n,r)=>{let o=new qi(t,e),{parsedURL:s,options:i}=GP(o);if(!VP.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=Dk(o.url),m=new Sn(C,{headers:{"Content-Type":C.typeFull}});n(m);return}let a=(s.protocol==="https:"?vk.default:fs.default).request,{signal:u}=o,d=null,f=g(()=>{let C=new xh("The operation was aborted.");r(C),o.body&&o.body instanceof He.default.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 qt(`request to ${o.url} failed, reason: ${C.message}`,"system",C)),b()}),aS(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=qk(C.rawHeaders);if(Tu(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 qt(`uri requested responds with an invalid redirect URL: ${T}`,"invalid-redirect")),b();return}}switch(o.redirect){case"error":r(new qt(`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 qt(`maximum redirect reached at: ${o.url}`,"max-redirect")),b();return}let O={headers:new Qn(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Rh(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!MP(o.url,x)||!BP(o.url,x))for(let $ of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete($);if(C.statusCode!==303&&o.body&&e.body instanceof He.default.Readable){r(new qt("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=Jk(m);q&&(O.referrerPolicy=q),n(Oh(new qi(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=(0,He.pipeline)(C,new He.PassThrough,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 Sn(w,_),n(d);return}let S={flush:mo.default.Z_SYNC_FLUSH,finishFlush:mo.default.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){w=(0,He.pipeline)(w,mo.default.createGunzip(S),T=>{T&&r(T)}),d=new Sn(w,_),n(d);return}if(A==="deflate"||A==="x-deflate"){let T=(0,He.pipeline)(C,new He.PassThrough,x=>{x&&r(x)});T.once("data",x=>{(x[0]&15)===8?w=(0,He.pipeline)(w,mo.default.createInflate(),O=>{O&&r(O)}):w=(0,He.pipeline)(w,mo.default.createInflateRaw(),O=>{O&&r(O)}),d=new Sn(w,_),n(d)}),T.once("end",()=>{d||(d=new Sn(w,_),n(d))});return}if(A==="br"){w=(0,He.pipeline)(w,mo.default.createBrotliDecompress(),T=>{T&&r(T)}),d=new Sn(w,_),n(d);return}d=new Sn(w,_),n(d)}),qP(p,o).catch(r)})}function aS(t,e){let n=ut.Buffer.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"),io=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"),so=(Bp=class{constructor(...t){if(Gn(this,Xt,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Di](){return"FormData"}[UO](){return this.entries()}static[jO](t){return t&&typeof t=="object"&&t[Di]==="FormData"&&!LO.some(e=>typeof t[e]!="function")}append(...t){io("append",arguments,2),ze(this,Xt).push(jw(...t))}delete(t){io("delete",arguments,1),t+="",Zt(this,Xt,ze(this,Xt).filter(([e])=>e!==t))}get(t){io("get",arguments,1),t+="";for(var e=ze(this,Xt),n=e.length,r=0;r<n;r++)if(e[r][0]===t)return e[r][1];return null}getAll(t,e){return io("getAll",arguments,1),e=[],t+="",ze(this,Xt).forEach(n=>n[0]===t&&e.push(n[1])),e}has(t){return io("has",arguments,1),t+="",ze(this,Xt).some(e=>e[0]===t)}forEach(t,e){io("forEach",arguments,1);for(var[n,r]of this)t.call(e,r,n,this)}set(...t){io("set",arguments,2);var e=[],n=!0;t=jw(...t),ze(this,Xt).forEach(r=>{r[0]===t[0]?n&&(n=!e.push(t)):e.push(r)}),n&&e.push(t),Zt(this,Xt,e)}*entries(){yield*ze(this,Xt)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},Xt=new WeakMap,m(Bp,"FormData"),Bp);m(Qw,"formDataToBlob");Zw=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(Zw,"FetchBaseError");iu=Zw,ek=class extends iu{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};m(ek,"FetchError");jt=ek,tu=Symbol.toStringTag,tk=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[tu]==="URLSearchParams","isURLSearchParameters"),nu=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[tu]),"isBlob"),qO=m(t=>typeof t=="object"&&(t[tu]==="AbortSignal"||t[tu]==="EventTarget"),"isAbortSignal"),$O=m((t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},"isDomainOrSubdomain"),zO=m((t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r},"isSameProtocol"),HO=(0,Lt.promisify)(He.default.pipeline),St=Symbol("Body internals"),nk=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:tk(e)?e=ut.Buffer.from(e.toString()):nu(e)||ut.Buffer.isBuffer(e)||(Lt.types.isAnyArrayBuffer(e)?e=ut.Buffer.from(e):ArrayBuffer.isView(e)?e=ut.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof He.default||(e instanceof so?(e=Qw(e),r=e.type.split("=")[1]):e=ut.Buffer.from(String(e))));let o=e;ut.Buffer.isBuffer(e)?o=He.default.Readable.from(e):nu(e)&&(o=He.default.Readable.from(e.stream())),this[St]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof He.default&&e.on("error",s=>{let i=s instanceof iu?s:new jt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[St].error=i})}get body(){return this[St].stream}get bodyUsed(){return this[St].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await Qc(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 so,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(()=>(Pw(),Ow));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[St].body&&this[St].body.type||"",n=await this.arrayBuffer();return new lo([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Qc(this);return new TextDecoder().decode(e)}buffer(){return Qc(this)}};m(nk,"Body");Oi=nk;Oi.prototype.buffer=(0,Lt.deprecate)(Oi.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(Oi.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Lt.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});m(Qc,"consumeBody");Kp=m((t,e)=>{let n,r,{body:o}=t[St];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof He.default&&typeof o.getBoundary!="function"&&(n=new He.PassThrough({highWaterMark:e}),r=new He.PassThrough({highWaterMark:e}),o.pipe(n),o.pipe(r),t[St].stream=n,o=r),o},"clone"),WO=(0,Lt.deprecate)(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"),rk=m((t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":tk(t)?"application/x-www-form-urlencoded;charset=UTF-8":nu(t)?t.type||null:ut.Buffer.isBuffer(t)||Lt.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof so?`multipart/form-data; boundary=${e[St].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${WO(t)}`:t instanceof He.default?null:"text/plain;charset=UTF-8","extractContentType"),GO=m(t=>{let{body:e}=t[St];return e===null?0:nu(e)?e.size:ut.Buffer.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 HO(e,t)},"writeToStream"),Zc=typeof ts.default.validateHeaderName=="function"?ts.default.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}},qp=typeof ts.default.validateHeaderValue=="function"?ts.default.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}},ok=class sk extends URLSearchParams{constructor(e){let n=[];if(e instanceof sk){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"&&!Lt.types.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"||Lt.types.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])=>(Zc(r),qp(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)=>(Zc(i),qp(i,String(c)),URLSearchParams.prototype[o].call(r,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(Zc(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(ok,"Headers");Jn=ok;Object.defineProperties(Jn.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));m(ik,"fromRawHeaders");VO=new Set([301,302,303,307,308]),au=m(t=>VO.has(t),"isRedirect"),Qt=Symbol("Response internals"),ak=class xi extends Oi{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new Jn(n.headers);if(e!==null&&!o.has("Content-Type")){let s=rk(e,this);s&&o.append("Content-Type",s)}this[Qt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[Qt].type}get url(){return this[Qt].url||""}get status(){return this[Qt].status}get ok(){return this[Qt].status>=200&&this[Qt].status<300}get redirected(){return this[Qt].counter>0}get statusText(){return this[Qt].statusText}get headers(){return this[Qt].headers}get highWaterMark(){return this[Qt].highWaterMark}clone(){return new xi(Kp(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(!au(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new xi(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new xi(null,{status:0,statusText:""});return e[Qt].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 Jn(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new xi(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};m(ak,"Response");_n=ak;Object.defineProperties(_n.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}});KO=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($p,"stripURLForUseAsAReferrer");ck=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),YO="strict-origin-when-cross-origin";m(uk,"validateReferrerPolicy");m(lk,"isOriginPotentiallyTrustworthy");m(co,"isUrlPotentiallyTrustworthy");m(dk,"determineRequestsReferrer");m(fk,"parseReferrerPolicyFromHeader");it=Symbol("Request internals"),Ri=m(t=>typeof t=="object"&&typeof t[it]=="object","isRequest"),XO=(0,Lt.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),pk=class hk extends Oi{constructor(e,n={}){let r;if(Ri(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()),!Ri(n)&&"data"in n&&XO(),(n.body!=null||Ri(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:Ri(e)&&e.body!==null?Kp(e):null;super(s,{size:n.size||e.size||0});let i=new Jn(n.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let f=rk(s,this);f&&i.set("Content-Type",f)}let c=Ri(e)?e.signal:null;if("signal"in n&&(c=n.signal),c!=null&&!qO(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[it]={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[it].method}get url(){return(0,Gw.format)(this[it].parsedURL)}get headers(){return this[it].headers}get redirect(){return this[it].redirect}get signal(){return this[it].signal}get referrer(){if(this[it].referrer==="no-referrer")return"";if(this[it].referrer==="client")return"about:client";if(this[it].referrer)return this[it].referrer.toString()}get referrerPolicy(){return this[it].referrerPolicy}set referrerPolicy(e){this[it].referrerPolicy=uk(e)}clone(){return new hk(this)}get[Symbol.toStringTag](){return"Request"}};m(pk,"Request");Ii=pk;Object.defineProperties(Ii.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}});QO=m(t=>{let{parsedURL:e}=t[it],n=new Jn(t[it].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=GO(t);typeof c=="number"&&!Number.isNaN(c)&&(r=String(c))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=YO),t.referrer&&t.referrer!=="no-referrer"?t[it].referrer=dk(t):t[it].referrer="no-referrer",t[it].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=KO(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"),mk=class extends iu{constructor(e,n="aborted"){super(e,n)}};m(mk,"AbortError");Yp=mk;m(gk,"requireNodeDomexception");ZO=gk(),e1=Fp(ZO),{stat:Xp}=fo.promises,yk=m((t,e)=>wk((0,fo.statSync)(t),t,e),"blobFromSync"),_k=m((t,e)=>Xp(t).then(n=>wk(n,t,e)),"blobFrom"),bk=m((t,e)=>Xp(t).then(n=>kk(n,t,e)),"fileFrom"),Ck=m((t,e)=>kk((0,fo.statSync)(t),t,e),"fileFromSync"),wk=m((t,e,n="")=>new lo([new vk({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),"fromBlob"),kk=m((t,e,n="")=>new Yo([new vk({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,Vw.basename)(e),{type:n,lastModified:t.mtimeMs}),"fromFile"),Sk=class Ek{constructor(e){Gn(this,Qo),Gn(this,Zo),Zt(this,Qo,e.path),Zt(this,Zo,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new Ek({path:ze(this,Qo),lastModified:this.lastModified,size:n-e,start:ze(this,Zo)+e})}async*stream(){let{mtimeMs:e}=await Xp(ze(this,Qo));if(e>this.lastModified)throw new e1("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*(0,fo.createReadStream)(ze(this,Qo),{start:ze(this,Zo),end:ze(this,Zo)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};Qo=new WeakMap,Zo=new WeakMap,m(Sk,"BlobDataItem");vk=Sk,t1=new Set(["data:","http:","https:"]);m(Qp,"fetch$1");m(Ak,"fixResponseChunkedTransferBadEnding");Tk=new WeakMap,zp=new WeakMap;m(Be,"pd");m(Hp,"setCancelFlag");m(uo,"Event"),uo.prototype={get type(){return Be(this).event.type},get target(){return Be(this).eventTarget},get currentTarget(){return Be(this).currentTarget},composedPath(){let t=Be(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 Be(this).eventPhase},stopPropagation(){let t=Be(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Be(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Be(this).event.bubbles},get cancelable(){return!!Be(this).event.cancelable},preventDefault(){Hp(Be(this))},get defaultPrevented(){return Be(this).canceled},get composed(){return!!Be(this).event.composed},get timeStamp(){return Be(this).timeStamp},get srcElement(){return Be(this).eventTarget},get cancelBubble(){return Be(this).stopped},set cancelBubble(t){if(!t)return;let e=Be(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Be(this).canceled},set returnValue(t){t||Hp(Be(this))},initEvent(){}},Object.defineProperty(uo.prototype,"constructor",{value:uo,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(uo.prototype,window.Event.prototype),zp.set(window.Event.prototype,uo));m(Zp,"defineRedirectDescriptor");m(Rk,"defineCallDescriptor");m(xk,"defineWrapper");m(eh,"getWrapper");m(Dk,"wrapEvent");m(Ok,"isStopped");m(Pk,"setEventPhase");m(Ik,"setCurrentTarget");m(Wp,"setPassiveListener");Fk=new WeakMap,qw=1,$w=2,eu=3;m(Pi,"isObject");m(es,"getListeners");m(Nk,"defineEventAttributeDescriptor");m(th,"defineEventAttribute");m(Gp,"defineCustomEventTarget");m(bn,"EventTarget"),bn.prototype={addEventListener(t,e,n){if(e==null)return;if(typeof e!="function"&&!Pi(e))throw new TypeError("'listener' should be a function or an object.");let r=es(this),o=Pi(n),s=(o?n.capture:n)?qw:$w,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=es(this),o=(Pi(n)?n.capture:n)?qw:$w,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=es(this),n=t.type,r=e.get(n);if(r==null)return!0;let o=Dk(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,Wp(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!==eu&&typeof r.listener.handleEvent=="function"&&r.listener.handleEvent(o);if(Ok(o))break;r=r.next}return Wp(o,null),Pk(o,0),Ik(o,null),!o.defaultPrevented}},Object.defineProperty(bn.prototype,"constructor",{value:bn,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(bn.prototype,window.EventTarget.prototype);Mk=class extends bn{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=ou.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(Mk,"AbortSignal");ru=Mk;th(ru.prototype,"abort");m(Bk,"createAbortSignal");m(Uk,"abortSignal");ou=new WeakMap;Object.defineProperties(ru.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ru.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});su=(Up=class{constructor(){jk.set(this,Bk())}get signal(){return Jp(this)}abort(){Uk(Jp(this))}},m(Up,"AbortController"),Up),jk=new WeakMap;m(Jp,"getSignal"),Object.defineProperties(su.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(su.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});n1=Object.defineProperty,r1=m((t,e)=>n1(t,"name",{value:e,configurable:!0}),"e"),Lk=Qp;Vp();m(Vp,"s"),r1(Vp,"checkNodeEnvironment")});var qk={};Rf(qk,{AbortController:()=>d1,AbortError:()=>Yp,Blob:()=>s1,FetchError:()=>jt,File:()=>i1,FormData:()=>a1,Headers:()=>c1,Request:()=>u1,Response:()=>l1,blobFrom:()=>_k,blobFromSync:()=>yk,default:()=>o1,fetch:()=>o1,fileFrom:()=>bk,fileFromSync:()=>Ck,isRedirect:()=>au});var Rr,o1,s1,i1,a1,c1,u1,l1,d1,$k=_r(()=>{Gc();Gc();zc();Rr=!!globalThis.process?.env?.FORCE_NODE_FETCH,o1=!Rr&&globalThis.fetch||Lk,s1=!Rr&&globalThis.Blob||lo,i1=!Rr&&globalThis.File||Yo,a1=!Rr&&globalThis.FormData||so,c1=!Rr&&globalThis.Headers||Jn,u1=!Rr&&globalThis.Request||Ii,l1=!Rr&&globalThis.Response||_n,d1=!Rr&&globalThis.AbortController||su});var Wk=J(rs=>{"use strict";var f1=rs&&rs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},ns;Object.defineProperty(rs,"__esModule",{value:!0});rs.Gaxios=void 0;var p1=f1(wp()),h1=require("https"),po=Ep(),m1=tw(),zk=require("stream"),Hk=Tp(),g1=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),y1=204,cu=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Hk.GaxiosInterceptorManager,response:new Hk.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&&ns.mergeHeaders(s,n.headers),r&&ns.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 ns.#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=po.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new po.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof po.GaxiosError?r=n:n instanceof Error?r=new po.GaxiosError(n.message,e,void 0,n):r=new po.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,m1.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===y1)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new po.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);ns.mergeHeaders(n,e.headers);let r=(0,p1.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 zk.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 g1();n.set("content-type",`multipart/related; boundary=${i}`),r.body=zk.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 ns.#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 h1.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=po.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=ut.Buffer.compare(d.slice(-5),n)===0,!o&&s&&(o=ut.Buffer.compare(s.slice(-3),n.slice(0,3))===0&&ut.Buffer.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 Be(t){let e=cS.get(t);return console.assert(e!=null,"'this' is expected an Event object, but got",t),e}function Sh(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 yo(t,e){cS.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,Ph(o))}}function Ph(t){return{get(){return Be(this).event[t]},set(e){Be(this).event[t]=e},configurable:!0,enumerable:!0}}function uS(t){return{value(){let e=Be(this).event;return e[t].apply(e,arguments)},configurable:!0,enumerable:!0}}function lS(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?uS(s):Ph(s))}}return r}function Ih(t){if(t==null||t===Object.prototype)return yo;let e=kh.get(t);return e==null&&(e=lS(Ih(Object.getPrototypeOf(t)),t),kh.set(t,e)),e}function dS(t,e){let n=Ih(Object.getPrototypeOf(e));return new n(t,e)}function fS(t){return Be(t).immediateStopped}function pS(t,e){Be(t).eventPhase=e}function hS(t,e){Be(t).currentTarget=e}function Eh(t,e){Be(t).passiveListener=e}function Li(t){return t!==null&&typeof t=="object"}function ds(t){let e=mS.get(t);if(e==null)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return e}function gS(t){return{get(){let e=ds(this).get(t);for(;e!=null;){if(e.listenerType===Cu)return e.listener;e=e.next}return null},set(e){typeof e!="function"&&!Li(e)&&(e=null);let n=ds(this),r=null,o=n.get(t);for(;o!=null;)o.listenerType===Cu?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:Cu,passive:!1,once:!1,next:null};r===null?n.set(t,s):r.next=s}},configurable:!0,enumerable:!0}}function Fh(t,e){Object.defineProperty(t,`on${e}`,gS(e))}function Ah(t){function e(){En.call(this)}g(e,"CustomEventTarget"),e.prototype=Object.create(En.prototype,{constructor:{value:e,configurable:!0,writable:!0}});for(let n=0;n<t.length;++n)Fh(e.prototype,t[n]);return e}function En(){if(this instanceof En){mS.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return Ah(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 Ah(t)}throw new TypeError("Cannot call a class as a function")}function _S(){let t=Object.create(Su.prototype);return En.call(t),Eu.set(t,!1),t}function bS(t){Eu.get(t)===!1&&(Eu.set(t,!0),t.dispatchEvent({type:"abort"}))}function vh(t){let e=CS.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 Th(){!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 fs,vk,mo,He,ut,$t,Tk,Rk,bo,xk,xP,Ek,g,Ak,ze,Xn,tn,Or,pu,cs,hh,Ni,hu,mu,mh,Zt,gh,us,ls,yh,hk,gu,DP,mk,gk,_k,Pk,_o,OP,as,Ui,PP,IP,bk,FP,Ck,_h,ho,po,Fk,vu,Nk,qt,wu,Mk,ku,NP,MP,BP,UP,Et,Bk,ji,Rh,jP,Uk,LP,qP,bu,Ch,jk,Qn,$P,Tu,en,$k,Sn,zP,zk,HP,it,Mi,WP,Kk,qi,GP,Yk,xh,bh,wk,JP,KP,Dh,Qk,Zk,eS,tS,nS,rS,oS,iS,VP,cS,kh,mS,kk,Sk,Cu,yS,Su,Eu,Au,CS,YP,XP,wS,fu=Sr(()=>{fs=tt(require("node:http"),1),vk=tt(require("node:https"),1),mo=tt(require("node:zlib"),1),He=tt(require("node:stream"),1),ut=require("node:buffer"),$t=require("node:util");uu();Tk=require("node:url"),Rk=require("node:net"),bo=require("node:fs"),xk=require("node:path"),xP=Object.defineProperty,Ek=t=>{throw TypeError(t)},g=(t,e)=>xP(t,"name",{value:e,configurable:!0}),Ak=(t,e,n)=>e.has(t)||Ek("Cannot "+n),ze=(t,e,n)=>(Ak(t,e,"read from private field"),n?n.call(t):e.get(t)),Xn=(t,e,n)=>e.has(t)?Ek("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),tn=(t,e,n,r)=>(Ak(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);g(Dk,"dataUriToBuffer");hk={},gu={exports:{}};DP=gu.exports;g(Ok,"requirePonyfill_es2018");g(yk,"requireStreams"),yk();_k=65536;g(yu,"toIterator");Pk=(Ni=class{constructor(t=[],e={}){if(Xn(this,Or,[]),Xn(this,pu,""),Xn(this,cs,0),Xn(this,hh,"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 Ni?s=o:s=n.encode(`${o}`),tn(this,cs,ze(this,cs)+(ArrayBuffer.isView(s)?s.byteLength:s.size)),ze(this,Or).push(s)}tn(this,hh,`${e.endings===void 0?"transparent":e.endings}`);let r=e.type===void 0?"":String(e.type);tn(this,pu,/^[\x20-\x7E]*$/.test(r)?r:"")}get size(){return ze(this,cs)}get type(){return ze(this,pu)}async text(){let t=new TextDecoder,e="";for await(let n of yu(ze(this,Or),!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 yu(ze(this,Or),!1))t.set(n,e),e+=n.length;return t.buffer}stream(){let t=yu(ze(this,Or),!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,Or),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 Ni([],{type:String(n).toLowerCase()});return tn(f,cs,i),tn(f,Or,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])}},Or=new WeakMap,pu=new WeakMap,cs=new WeakMap,hh=new WeakMap,g(Ni,"Blob"),Ni);Object.defineProperties(Pk.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});_o=Pk,OP=(mh=class extends _o{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),Xn(this,hu,0),Xn(this,mu,""),n===null&&(n={});let r=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(r)||tn(this,hu,r),tn(this,mu,String(e))}get name(){return ze(this,mu)}get lastModified(){return ze(this,hu)}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](t){return!!t&&t instanceof _o&&/^(File)$/.test(t[Symbol.toStringTag])}},hu=new WeakMap,mu=new WeakMap,g(mh,"File"),mh),as=OP;({toStringTag:Ui,iterator:PP,hasInstance:IP}=Symbol),bk=Math.random,FP="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Ck=g((t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[Ui])?[(n=n!==void 0?n+"":e[Ui]=="File"?e.name:"blob",t),e.name!==n||e[Ui]=="blob"?new as([e],n,e):e]:[t,e+""]),"f"),_h=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"),ho=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"),po=(gh=class{constructor(...t){if(Xn(this,Zt,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Ui](){return"FormData"}[PP](){return this.entries()}static[IP](t){return t&&typeof t=="object"&&t[Ui]==="FormData"&&!FP.some(e=>typeof t[e]!="function")}append(...t){ho("append",arguments,2),ze(this,Zt).push(Ck(...t))}delete(t){ho("delete",arguments,1),t+="",tn(this,Zt,ze(this,Zt).filter(([e])=>e!==t))}get(t){ho("get",arguments,1),t+="";for(var e=ze(this,Zt),n=e.length,r=0;r<n;r++)if(e[r][0]===t)return e[r][1];return null}getAll(t,e){return ho("getAll",arguments,1),e=[],t+="",ze(this,Zt).forEach(n=>n[0]===t&&e.push(n[1])),e}has(t){return ho("has",arguments,1),t+="",ze(this,Zt).some(e=>e[0]===t)}forEach(t,e){ho("forEach",arguments,1);for(var[n,r]of this)t.call(e,r,n,this)}set(...t){ho("set",arguments,2);var e=[],n=!0;t=Ck(...t),ze(this,Zt).forEach(r=>{r[0]===t[0]?n&&(n=!e.push(t)):e.push(r)}),n&&e.push(t),tn(this,Zt,e)}*entries(){yield*ze(this,Zt)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},Zt=new WeakMap,g(gh,"FormData"),gh);g(Ik,"formDataToBlob");Fk=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(Fk,"FetchBaseError");vu=Fk,Nk=class extends vu{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};g(Nk,"FetchError");qt=Nk,wu=Symbol.toStringTag,Mk=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[wu]==="URLSearchParams","isURLSearchParameters"),ku=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[wu]),"isBlob"),NP=g(t=>typeof t=="object"&&(t[wu]==="AbortSignal"||t[wu]==="EventTarget"),"isAbortSignal"),MP=g((t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},"isDomainOrSubdomain"),BP=g((t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r},"isSameProtocol"),UP=(0,$t.promisify)(He.default.pipeline),Et=Symbol("Body internals"),Bk=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Mk(e)?e=ut.Buffer.from(e.toString()):ku(e)||ut.Buffer.isBuffer(e)||($t.types.isAnyArrayBuffer(e)?e=ut.Buffer.from(e):ArrayBuffer.isView(e)?e=ut.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof He.default||(e instanceof po?(e=Ik(e),r=e.type.split("=")[1]):e=ut.Buffer.from(String(e))));let o=e;ut.Buffer.isBuffer(e)?o=He.default.Readable.from(e):ku(e)&&(o=He.default.Readable.from(e.stream())),this[Et]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof He.default&&e.on("error",s=>{let i=s instanceof vu?s:new qt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[Et].error=i})}get body(){return this[Et].stream}get bodyUsed(){return this[Et].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await _u(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 po,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(()=>(pk(),fk));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[Et].body&&this[Et].body.type||"",n=await this.arrayBuffer();return new _o([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await _u(this);return new TextDecoder().decode(e)}buffer(){return _u(this)}};g(Bk,"Body");ji=Bk;ji.prototype.buffer=(0,$t.deprecate)(ji.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(ji.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,$t.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});g(_u,"consumeBody");Rh=g((t,e)=>{let n,r,{body:o}=t[Et];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof He.default&&typeof o.getBoundary!="function"&&(n=new He.PassThrough({highWaterMark:e}),r=new He.PassThrough({highWaterMark:e}),o.pipe(n),o.pipe(r),t[Et].stream=n,o=r),o},"clone"),jP=(0,$t.deprecate)(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":Mk(t)?"application/x-www-form-urlencoded;charset=UTF-8":ku(t)?t.type||null:ut.Buffer.isBuffer(t)||$t.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof po?`multipart/form-data; boundary=${e[Et].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${jP(t)}`:t instanceof He.default?null:"text/plain;charset=UTF-8","extractContentType"),LP=g(t=>{let{body:e}=t[Et];return e===null?0:ku(e)?e.size:ut.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},"getTotalBytes"),qP=g(async(t,{body:e})=>{e===null?t.end():await UP(e,t)},"writeToStream"),bu=typeof fs.default.validateHeaderName=="function"?fs.default.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}},Ch=typeof fs.default.validateHeaderValue=="function"?fs.default.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}},jk=class Lk extends URLSearchParams{constructor(e){let n=[];if(e instanceof Lk){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"&&!$t.types.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"||$t.types.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])=>(bu(r),Ch(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)=>(bu(i),Ch(i,String(a)),URLSearchParams.prototype[o].call(r,String(i).toLowerCase(),String(a)));case"delete":case"has":case"getAll":return i=>(bu(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(jk,"Headers");Qn=jk;Object.defineProperties(Qn.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));g(qk,"fromRawHeaders");$P=new Set([301,302,303,307,308]),Tu=g(t=>$P.has(t),"isRedirect"),en=Symbol("Response internals"),$k=class Bi extends ji{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=Uk(e,this);s&&o.append("Content-Type",s)}this[en]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[en].type}get url(){return this[en].url||""}get status(){return this[en].status}get ok(){return this[en].status>=200&&this[en].status<300}get redirected(){return this[en].counter>0}get statusText(){return this[en].statusText}get headers(){return this[en].headers}get highWaterMark(){return this[en].highWaterMark}clone(){return new Bi(Rh(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(!Tu(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new Bi(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new Bi(null,{status:0,statusText:""});return e[en].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 Bi(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};g($k,"Response");Sn=$k;Object.defineProperties(Sn.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}});zP=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(wh,"stripURLForUseAsAReferrer");zk=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),HP="strict-origin-when-cross-origin";g(Hk,"validateReferrerPolicy");g(Wk,"isOriginPotentiallyTrustworthy");g(go,"isUrlPotentiallyTrustworthy");g(Gk,"determineRequestsReferrer");g(Jk,"parseReferrerPolicyFromHeader");it=Symbol("Request internals"),Mi=g(t=>typeof t=="object"&&typeof t[it]=="object","isRequest"),WP=(0,$t.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Kk=class Vk extends ji{constructor(e,n={}){let r;if(Mi(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()),!Mi(n)&&"data"in n&&WP(),(n.body!=null||Mi(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:Mi(e)&&e.body!==null?Rh(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 d=Uk(s,this);d&&i.set("Content-Type",d)}let a=Mi(e)?e.signal:null;if("signal"in n&&(a=n.signal),a!=null&&!NP(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[it]={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[it].method}get url(){return(0,Tk.format)(this[it].parsedURL)}get headers(){return this[it].headers}get redirect(){return this[it].redirect}get signal(){return this[it].signal}get referrer(){if(this[it].referrer==="no-referrer")return"";if(this[it].referrer==="client")return"about:client";if(this[it].referrer)return this[it].referrer.toString()}get referrerPolicy(){return this[it].referrerPolicy}set referrerPolicy(e){this[it].referrerPolicy=Hk(e)}clone(){return new Vk(this)}get[Symbol.toStringTag](){return"Request"}};g(Kk,"Request");qi=Kk;Object.defineProperties(qi.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}});GP=g(t=>{let{parsedURL:e}=t[it],n=new Qn(t[it].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=LP(t);typeof a=="number"&&!Number.isNaN(a)&&(r=String(a))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=HP),t.referrer&&t.referrer!=="no-referrer"?t[it].referrer=Gk(t):t[it].referrer="no-referrer",t[it].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=zP(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"),Yk=class extends vu{constructor(e,n="aborted"){super(e,n)}};g(Yk,"AbortError");xh=Yk;g(Xk,"requireNodeDomexception");JP=Xk(),KP=ph(JP),{stat:Dh}=bo.promises,Qk=g((t,e)=>nS((0,bo.statSync)(t),t,e),"blobFromSync"),Zk=g((t,e)=>Dh(t).then(n=>nS(n,t,e)),"blobFrom"),eS=g((t,e)=>Dh(t).then(n=>rS(n,t,e)),"fileFrom"),tS=g((t,e)=>rS((0,bo.statSync)(t),t,e),"fileFromSync"),nS=g((t,e,n="")=>new _o([new iS({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),"fromBlob"),rS=g((t,e,n="")=>new as([new iS({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,xk.basename)(e),{type:n,lastModified:t.mtimeMs}),"fromFile"),oS=class sS{constructor(e){Xn(this,us),Xn(this,ls),tn(this,us,e.path),tn(this,ls,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new sS({path:ze(this,us),lastModified:this.lastModified,size:n-e,start:ze(this,ls)+e})}async*stream(){let{mtimeMs:e}=await Dh(ze(this,us));if(e>this.lastModified)throw new KP("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*(0,bo.createReadStream)(ze(this,us),{start:ze(this,ls),end:ze(this,ls)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};us=new WeakMap,ls=new WeakMap,g(oS,"BlobDataItem");iS=oS,VP=new Set(["data:","http:","https:"]);g(Oh,"fetch$1");g(aS,"fixResponseChunkedTransferBadEnding");cS=new WeakMap,kh=new WeakMap;g(Be,"pd");g(Sh,"setCancelFlag");g(yo,"Event"),yo.prototype={get type(){return Be(this).event.type},get target(){return Be(this).eventTarget},get currentTarget(){return Be(this).currentTarget},composedPath(){let t=Be(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 Be(this).eventPhase},stopPropagation(){let t=Be(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Be(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Be(this).event.bubbles},get cancelable(){return!!Be(this).event.cancelable},preventDefault(){Sh(Be(this))},get defaultPrevented(){return Be(this).canceled},get composed(){return!!Be(this).event.composed},get timeStamp(){return Be(this).timeStamp},get srcElement(){return Be(this).eventTarget},get cancelBubble(){return Be(this).stopped},set cancelBubble(t){if(!t)return;let e=Be(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Be(this).canceled},set returnValue(t){t||Sh(Be(this))},initEvent(){}},Object.defineProperty(yo.prototype,"constructor",{value:yo,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(yo.prototype,window.Event.prototype),kh.set(window.Event.prototype,yo));g(Ph,"defineRedirectDescriptor");g(uS,"defineCallDescriptor");g(lS,"defineWrapper");g(Ih,"getWrapper");g(dS,"wrapEvent");g(fS,"isStopped");g(pS,"setEventPhase");g(hS,"setCurrentTarget");g(Eh,"setPassiveListener");mS=new WeakMap,kk=1,Sk=2,Cu=3;g(Li,"isObject");g(ds,"getListeners");g(gS,"defineEventAttributeDescriptor");g(Fh,"defineEventAttribute");g(Ah,"defineCustomEventTarget");g(En,"EventTarget"),En.prototype={addEventListener(t,e,n){if(e==null)return;if(typeof e!="function"&&!Li(e))throw new TypeError("'listener' should be a function or an object.");let r=ds(this),o=Li(n),s=(o?n.capture:n)?kk:Sk,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=ds(this),o=(Li(n)?n.capture:n)?kk:Sk,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=ds(this),n=t.type,r=e.get(n);if(r==null)return!0;let o=dS(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!==Cu&&typeof r.listener.handleEvent=="function"&&r.listener.handleEvent(o);if(fS(o))break;r=r.next}return Eh(o,null),pS(o,0),hS(o,null),!o.defaultPrevented}},Object.defineProperty(En.prototype,"constructor",{value:En,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(En.prototype,window.EventTarget.prototype);yS=class extends En{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=Eu.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(yS,"AbortSignal");Su=yS;Fh(Su.prototype,"abort");g(_S,"createAbortSignal");g(bS,"abortSignal");Eu=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=(yh=class{constructor(){CS.set(this,_S())}get signal(){return vh(this)}abort(){bS(vh(this))}},g(yh,"AbortController"),yh),CS=new WeakMap;g(vh,"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"});YP=Object.defineProperty,XP=g((t,e)=>YP(t,"name",{value:e,configurable:!0}),"e"),wS=Oh;Th();g(Th,"s"),XP(Th,"checkNodeEnvironment")});var kS={};Gf(kS,{AbortController:()=>s1,AbortError:()=>xh,Blob:()=>ZP,FetchError:()=>qt,File:()=>e1,FormData:()=>t1,Headers:()=>n1,Request:()=>r1,Response:()=>o1,blobFrom:()=>Zk,blobFromSync:()=>Qk,default:()=>QP,fetch:()=>QP,fileFrom:()=>eS,fileFromSync:()=>tS,isRedirect:()=>Tu});var Pr,QP,ZP,e1,t1,n1,r1,o1,s1,SS=Sr(()=>{fu();fu();uu();Pr=!!globalThis.process?.env?.FORCE_NODE_FETCH,QP=!Pr&&globalThis.fetch||wS,ZP=!Pr&&globalThis.Blob||_o,e1=!Pr&&globalThis.File||as,t1=!Pr&&globalThis.FormData||po,n1=!Pr&&globalThis.Headers||Qn,r1=!Pr&&globalThis.Request||qi,o1=!Pr&&globalThis.Response||Sn,s1=!Pr&&globalThis.AbortController||Au});var vS=J(hs=>{"use strict";var i1=hs&&hs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},ps;Object.defineProperty(hs,"__esModule",{value:!0});hs.Gaxios=void 0;var a1=i1(eh()),c1=require("https"),Co=rh(),u1=Mw(),ES=require("stream"),AS=ih(),l1=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),d1=204,Ru=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new AS.GaxiosInterceptorManager,response:new AS.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&&ps.mergeHeaders(s,n.headers),r&&ps.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 ps.#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=Co.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new Co.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof Co.GaxiosError?r=n:n instanceof Error?r=new Co.GaxiosError(n.message,e,void 0,n):r=new Co.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,u1.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===d1)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new Co.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);ps.mergeHeaders(n,e.headers);let r=(0,a1.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 ES.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 l1();n.set("content-type",`multipart/related; boundary=${i}`),r.body=ES.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 ps.#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 c1.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=Co.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(()=>tt(Aw()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>($k(),qk))).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}};rs.Gaxios=cu;ns=cu});var lt=J(gt=>{"use strict";var _1=gt&>.__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]})),b1=gt&>.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&_1(e,t,n)};Object.defineProperty(gt,"__esModule",{value:!0});gt.instance=gt.Gaxios=gt.GaxiosError=void 0;gt.request=w1;var Gk=Wk();Object.defineProperty(gt,"Gaxios",{enumerable:!0,get:function(){return Gk.Gaxios}});var C1=Ep();Object.defineProperty(gt,"GaxiosError",{enumerable:!0,get:function(){return C1.GaxiosError}});b1(Tp(),gt);gt.instance=new Gk.Gaxios;async function w1(t){return gt.instance.request(t)}});var nh=J((Jk,uu)=>{(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},ae=new K(1),X=20,te=4,Z=-7,De=21,qe=-1e7,Te=1e7,We=!1,ee=1,Q=0,se={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},le="0123456789abcdefghijklmnopqrstuvwxyz",be=!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>Te?B.c=B.e=null:k.e<qe?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>Te?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,le.length,"Base"),E==10&&be)return B=new K(k),ce(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=le.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)>Te)B.c=B.e=null;else if(F<qe)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],De=R[1]):(C(R,-h,h,E),Z=-(De=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),qe=R[0],Te=R[1];else if(C(R,-h,h,E),R)qe=-(Te=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))We=R;else throw We=!R,Error(s+"crypto unavailable");else We=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")se=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))be=R.slice(0,10)=="0123456789",le=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,De],RANGE:[qe,Te],CRYPTO:We,MODULO_MODE:ee,POW_PRECISION:Q,FORMAT:se,ALPHABET:le}},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 Fe(arguments,-1)},K.minimum=K.min=function(){return Fe(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(ae);if(R==null?R=X:C(R,0,h),j=r(R/u),We)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 We=!1,Error(s+"crypto unavailable");if(!We)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,oe,ie,_e,ge=R.indexOf("."),he=X,ye=te;for(ge>=0&&(B=Q,Q=0,R=R.replace(".",""),_e=new K(M),oe=_e.pow(R.length-ge),Q=B,_e.c=E(T(y(oe.c),oe.e,"0"),10,D,k),_e.e=_e.c.length),ie=E(R,M,D,j?(P=le,k):(P=k,le)),U=B=ie.length;ie[--B]==0;ie.pop());if(!ie[0])return P.charAt(0);if(ge<0?--U:(oe.c=ie,oe.e=U,oe.s=F,oe=O(oe,_e,he,ye,D),ie=oe.c,G=oe.r,U=oe.e),N=U+he+1,ge=ie[N],B=D/2,G=G||N<0||ie[N+1]!=null,G=ye<4?(ge!=null||G)&&(ye==0||ye==(oe.s<0?3:2)):ge>B||ge==B&&(ye==4||G||ye==6&&ie[N-1]&1||ye==(oe.s<0?8:7)),N<1||!ie[0])R=G?T(P.charAt(1),-he,P.charAt(0)):P.charAt(0);else{if(ie.length=N,G)for(--D;++ie[--N]>D;)ie[N]=0,N||(++U,ie=[1].concat(ie));for(B=ie.length;!ie[--B];);for(ge=0,R="";ge<=B;R+=P.charAt(ie[ge++]));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,oe=D%p,ie=D/p|0;for(M=M.slice();G--;)N=M[G]%p,U=M[G]/p|0,j=ie*N+U*oe,P=oe*N+j%p*p+B,B=(P/F|0)+(j/p|0)+ie*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,oe,ie,_e,ge,he,ye,xe,Ye,fn,Us,Eo,vt,sr,ft=M.s==D.s?1:-1,Qe=M.c,Ne=D.c;if(!Qe||!Qe[0]||!Ne||!Ne[0])return new K(!M.s||!D.s||(Qe?Ne&&Qe[0]==Ne[0]:!Ne)?NaN:Qe&&Qe[0]==0||!Ne?ft*0:ft/0);for(ge=new K(ft),he=ge.c=[],U=M.e-D.e,ft=F+U+1,P||(P=c,U=b(M.e/u)-b(D.e/u),ft=ft/u|0),B=0;Ne[B]==(Qe[B]||0);B++);if(Ne[B]>(Qe[B]||0)&&U--,ft<0)he.push(1),G=!0;else{for(Us=Qe.length,vt=Ne.length,B=0,ft+=2,oe=o(P/(Ne[0]+1)),oe>1&&(Ne=k(Ne,oe,P),Qe=k(Qe,oe,P),vt=Ne.length,Us=Qe.length),fn=vt,ye=Qe.slice(0,vt),xe=ye.length;xe<vt;ye[xe++]=0);sr=Ne.slice(),sr=[0].concat(sr),Eo=Ne[0],Ne[1]>=P/2&&Eo++;do{if(oe=0,N=E(Ne,ye,vt,xe),N<0){if(Ye=ye[0],vt!=xe&&(Ye=Ye*P+(ye[1]||0)),oe=o(Ye/Eo),oe>1)for(oe>=P&&(oe=P-1),ie=k(Ne,oe,P),_e=ie.length,xe=ye.length;E(ie,ye,_e,xe)==1;)oe--,R(ie,vt<_e?sr:Ne,_e,P),_e=ie.length,N=1;else oe==0&&(N=oe=1),ie=Ne.slice(),_e=ie.length;if(_e<xe&&(ie=[0].concat(ie)),R(ye,ie,xe,P),xe=ye.length,N==-1)for(;E(Ne,ye,vt,xe)<1;)oe++,R(ye,vt<xe?sr:Ne,xe,P),xe=ye.length}else N===0&&(oe++,ye=[0]);he[B++]=oe,ye[0]?ye[xe++]=Qe[fn]||0:(ye=[Qe[fn]],xe=1)}while((fn++<Us||ye[0]!=null)&&ft--);G=ye[0]!=null,he[0]||he.splice(0,1)}if(P==c){for(B=1,ft=he[0];ft>=10;ft/=10,B++);ce(ge,F+(ge.e=B+U*u-1)+1,j,G)}else ge.e=U,ge.r=+G;return ge}})();function Ke(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>=De)?A(N,j):T(N,j,"0");else if(k=ce(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 Fe(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)>Te?k.c=k.e=null:R<qe?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,oe,ie){return U=(ie=ie.toLowerCase())=="x"?16:ie=="b"?2:8,!N||N==U?oe: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 ce(k,E,R,M){var D,F,j,P,N,U,B,G=k.c,oe=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/oe[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/oe[D-j-1]%10)}if(M=M||E<0||G[U+1]!=null||(j<0?N:N%oe[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/oe[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]=oe[(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=oe[u-F],G[U]=j>0?o(N/oe[D-j]%oe[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>Te?k.c=k.e=null:k.e<qe&&(k.c=[k.e=0])}return k}function de(k){var E,R=k.e;return R===null?k.toString():(E=y(k.c),E=R<=Z||R>=De?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),ce(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: "+de(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(+de(G),P?k.s*(2-v(k)):+de(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(+de(k)),U=D%2),B=new K(ae);;){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),ce(k,k.e+1,1),k.e>14)U=v(k);else{if(D=+de(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=ae.div(B)),E?B.mod(E):F?ce(B,Q,te,j):B)},H.integerValue=function(k){var E=new K(this);return k==null?k=te:C(k,0,8),ce(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,oe,ie,_e,ge,he,ye=this,xe=ye.c,Ye=(k=new K(k,E)).c;if(!xe||!Ye||!xe[0]||!Ye[0])return!ye.s||!k.s||xe&&!xe[0]&&!Ye||Ye&&!Ye[0]&&!xe?k.c=k.e=k.s=null:(k.s*=ye.s,!xe||!Ye?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=b(ye.e/u)+b(k.e/u),k.s*=ye.s,N=xe.length,G=Ye.length,N<G&&(_e=xe,xe=Ye,Ye=_e,D=N,N=G,G=D),D=N+G,_e=[];D--;_e.push(0));for(ge=c,he=p,D=G;--D>=0;){for(R=0,oe=Ye[D]%he,ie=Ye[D]/he|0,j=N,F=D+j;F>D;)U=xe[--j]%he,B=xe[j]/he|0,P=ie*U+B*oe,U=oe*U+P%he*he+_e[F]+R,R=(U/ge|0)+(P/he|0)+ie*B,_e[F--]=U%ge;_e[F]=R}return R?++M:_e.splice(0,1),Y(k,_e,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),ce(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(+de(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&&(ce(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")&&(ce(R,R.e+X+2,1),k=!R.times(R).eq(F));break}}return ce(R,R.e+X+1,te,k)},H.toExponential=function(k,E){return k!=null&&(C(k,0,h),k++),Ke(this,k,E,1)},H.toFixed=function(k,E){return k!=null&&(C(k,0,h),k=k+this.e+1),Ke(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=se;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],oe=D.s<0,ie=oe?B.slice(1):B,_e=ie.length;if(N&&(F=P,P=N,N=F,_e-=F),P>0&&_e>0){for(F=_e%P||P,B=ie.substr(0,F);F<_e;F+=P)B+=U+ie.substr(F,P);N>0&&(B+=U+ie.slice(F)),oe&&(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,oe,ie=this,_e=ie.c;if(k!=null&&(P=new K(k),!P.isInteger()&&(P.c||P.s!==1)||P.lt(ae)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+de(P));if(!_e)return new K(ie);for(E=new K(ae),U=R=new K(ae),M=N=new K(ae),oe=y(_e),F=E.e=oe.length-ie.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=Te,Te=1/0,P=new K(oe),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=ie.s,F=F*2,G=O(U,M,F,te).minus(ie).abs().comparedTo(O(N,R,F,te).minus(ie).abs())<1?[U,M]:[N,R],Te=j,G},H.toNumber=function(){return+de(this)},H.toPrecision=function(k,E){return k!=null&&C(k,1,h),Ke(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>=De?A(y(R.c),D):T(y(R.c),D,"0"):k===10&&be?(R=ce(new K(R),X+D+1,te),E=T(y(R.c),R.e,"0")):(C(k,2,le.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 de(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,ae=x[0]+"";$<H;){for(O=x[$++]+"",q=u-O.length;q--;O="0"+O);ae+=O}for(H=ae.length;ae.charCodeAt(--H)===48;);return ae.slice(0,H+1||1)}function w(x,O){var q,$,H=x.c,ae=O.c,X=x.s,te=O.s,Z=x.e,De=O.e;if(!X||!te)return null;if(q=H&&!H[0],$=ae&&!ae[0],q||$)return q?$?0:-te:X;if(X!=te)return X;if(q=X<0,$=Z==De,!H||!ae)return $?0:!H^q?1:-1;if(!$)return Z>De^q?1:-1;for(te=(Z=H.length)<(De=ae.length)?Z:De,X=0;X<te;X++)if(H[X]!=ae[X])return H[X]>ae[X]^q?1:-1;return Z==De?0:Z>De^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 uu<"u"&&uu.exports?uu.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Jk)});var Xk=J((K$,Yk)=>{var Vk=nh(),Kk=Yk.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 Vk||Vk.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(()=>tt(ak()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(SS(),kS))).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}};hs.Gaxios=Ru;ps=Ru});var lt=J(gt=>{"use strict";var f1=gt&>.__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]})),p1=gt&>.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&f1(e,t,n)};Object.defineProperty(gt,"__esModule",{value:!0});gt.instance=gt.Gaxios=gt.GaxiosError=void 0;gt.request=m1;var TS=vS();Object.defineProperty(gt,"Gaxios",{enumerable:!0,get:function(){return TS.Gaxios}});var h1=rh();Object.defineProperty(gt,"GaxiosError",{enumerable:!0,get:function(){return h1.GaxiosError}});p1(ih(),gt);gt.instance=new TS.Gaxios;async function m1(t){return gt.instance.request(t)}});var Nh=J((RS,xu)=>{(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},ae=new V(1),X=20,ee=4,Z=-7,Re=21,qe=-1e7,Te=1e7,We=!1,te=1,Q=0,se={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},le="0123456789abcdefghijklmnopqrstuvwxyz",be=!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>Te?B.c=B.e=null:k.e<qe?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>Te?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,le.length,"Base"),v==10&&be)return B=new V(k),ce(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=le.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)>Te)B.c=B.e=null;else if(F<qe)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],Re=R[1]):(_(R,-p,p,v),Z=-(Re=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),qe=R[0],Te=R[1];else if(_(R,-p,p,v),R)qe=-(Te=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))We=R;else throw We=!R,Error(s+"crypto unavailable");else We=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")se=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))be=R.slice(0,10)=="0123456789",le=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,Re],RANGE:[qe,Te],CRYPTO:We,MODULO_MODE:te,POW_PRECISION:Q,FORMAT:se,ALPHABET:le}},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 Fe(arguments,-1)},V.minimum=V.min=function(){return Fe(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(ae);if(R==null?R=X:_(R,0,p),j=r(R/u),We)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 We=!1,Error(s+"crypto unavailable");if(!We)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,oe,ie,_e,ge=R.indexOf("."),he=X,ye=ee;for(ge>=0&&(B=Q,Q=0,R=R.replace(".",""),_e=new V(M),oe=_e.pow(R.length-ge),Q=B,_e.c=v(T(m(oe.c),oe.e,"0"),10,D,k),_e.e=_e.c.length),ie=v(R,M,D,j?(P=le,k):(P=k,le)),U=B=ie.length;ie[--B]==0;ie.pop());if(!ie[0])return P.charAt(0);if(ge<0?--U:(oe.c=ie,oe.e=U,oe.s=F,oe=O(oe,_e,he,ye,D),ie=oe.c,G=oe.r,U=oe.e),N=U+he+1,ge=ie[N],B=D/2,G=G||N<0||ie[N+1]!=null,G=ye<4?(ge!=null||G)&&(ye==0||ye==(oe.s<0?3:2)):ge>B||ge==B&&(ye==4||G||ye==6&&ie[N-1]&1||ye==(oe.s<0?8:7)),N<1||!ie[0])R=G?T(P.charAt(1),-he,P.charAt(0)):P.charAt(0);else{if(ie.length=N,G)for(--D;++ie[--N]>D;)ie[N]=0,N||(++U,ie=[1].concat(ie));for(B=ie.length;!ie[--B];);for(ge=0,R="";ge<=B;R+=P.charAt(ie[ge++]));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,oe=D%h,ie=D/h|0;for(M=M.slice();G--;)N=M[G]%h,U=M[G]/h|0,j=ie*N+U*oe,P=oe*N+j%h*h+B,B=(P/F|0)+(j/h|0)+ie*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,oe,ie,_e,ge,he,ye,De,Xe,hn,Js,Oo,At,lr,ft=M.s==D.s?1:-1,Ze=M.c,Ne=D.c;if(!Ze||!Ze[0]||!Ne||!Ne[0])return new V(!M.s||!D.s||(Ze?Ne&&Ze[0]==Ne[0]:!Ne)?NaN:Ze&&Ze[0]==0||!Ne?ft*0:ft/0);for(ge=new V(ft),he=ge.c=[],U=M.e-D.e,ft=F+U+1,P||(P=a,U=C(M.e/u)-C(D.e/u),ft=ft/u|0),B=0;Ne[B]==(Ze[B]||0);B++);if(Ne[B]>(Ze[B]||0)&&U--,ft<0)he.push(1),G=!0;else{for(Js=Ze.length,At=Ne.length,B=0,ft+=2,oe=o(P/(Ne[0]+1)),oe>1&&(Ne=k(Ne,oe,P),Ze=k(Ze,oe,P),At=Ne.length,Js=Ze.length),hn=At,ye=Ze.slice(0,At),De=ye.length;De<At;ye[De++]=0);lr=Ne.slice(),lr=[0].concat(lr),Oo=Ne[0],Ne[1]>=P/2&&Oo++;do{if(oe=0,N=v(Ne,ye,At,De),N<0){if(Xe=ye[0],At!=De&&(Xe=Xe*P+(ye[1]||0)),oe=o(Xe/Oo),oe>1)for(oe>=P&&(oe=P-1),ie=k(Ne,oe,P),_e=ie.length,De=ye.length;v(ie,ye,_e,De)==1;)oe--,R(ie,At<_e?lr:Ne,_e,P),_e=ie.length,N=1;else oe==0&&(N=oe=1),ie=Ne.slice(),_e=ie.length;if(_e<De&&(ie=[0].concat(ie)),R(ye,ie,De,P),De=ye.length,N==-1)for(;v(Ne,ye,At,De)<1;)oe++,R(ye,At<De?lr:Ne,De,P),De=ye.length}else N===0&&(oe++,ye=[0]);he[B++]=oe,ye[0]?ye[De++]=Ze[hn]||0:(ye=[Ze[hn]],De=1)}while((hn++<Js||ye[0]!=null)&&ft--);G=ye[0]!=null,he[0]||he.splice(0,1)}if(P==a){for(B=1,ft=he[0];ft>=10;ft/=10,B++);ce(ge,F+(ge.e=B+U*u-1)+1,j,G)}else ge.e=U,ge.r=+G;return ge}})();function Ye(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>=Re)?S(N,j):T(N,j,"0");else if(k=ce(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 Fe(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)>Te?k.c=k.e=null:R<qe?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,oe,ie){return U=(ie=ie.toLowerCase())=="x"?16:ie=="b"?2:8,!N||N==U?oe: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 ce(k,v,R,M){var D,F,j,P,N,U,B,G=k.c,oe=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/oe[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/oe[D-j-1]%10)}if(M=M||v<0||G[U+1]!=null||(j<0?N:N%oe[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/oe[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]=oe[(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=oe[u-F],G[U]=j>0?o(N/oe[D-j]%oe[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>Te?k.c=k.e=null:k.e<qe&&(k.c=[k.e=0])}return k}function de(k){var v,R=k.e;return R===null?k.toString():(v=m(k.c),v=R<=Z||R>=Re?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),ce(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: "+de(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(+de(G),P?k.s*(2-A(k)):+de(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(+de(k)),U=D%2),B=new V(ae);;){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),ce(k,k.e+1,1),k.e>14)U=A(k);else{if(D=+de(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=ae.div(B)),v?B.mod(v):F?ce(B,Q,ee,j):B)},z.integerValue=function(k){var v=new V(this);return k==null?k=ee:_(k,0,8),ce(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,oe,ie,_e,ge,he,ye=this,De=ye.c,Xe=(k=new V(k,v)).c;if(!De||!Xe||!De[0]||!Xe[0])return!ye.s||!k.s||De&&!De[0]&&!Xe||Xe&&!Xe[0]&&!De?k.c=k.e=k.s=null:(k.s*=ye.s,!De||!Xe?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=C(ye.e/u)+C(k.e/u),k.s*=ye.s,N=De.length,G=Xe.length,N<G&&(_e=De,De=Xe,Xe=_e,D=N,N=G,G=D),D=N+G,_e=[];D--;_e.push(0));for(ge=a,he=h,D=G;--D>=0;){for(R=0,oe=Xe[D]%he,ie=Xe[D]/he|0,j=N,F=D+j;F>D;)U=De[--j]%he,B=De[j]/he|0,P=ie*U+B*oe,U=oe*U+P%he*he+_e[F]+R,R=(U/ge|0)+(P/he|0)+ie*B,_e[F--]=U%ge;_e[F]=R}return R?++M:_e.splice(0,1),Y(k,_e,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),ce(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(+de(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&&(ce(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")&&(ce(R,R.e+X+2,1),k=!R.times(R).eq(F));break}}return ce(R,R.e+X+1,ee,k)},z.toExponential=function(k,v){return k!=null&&(_(k,0,p),k++),Ye(this,k,v,1)},z.toFixed=function(k,v){return k!=null&&(_(k,0,p),k=k+this.e+1),Ye(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=se;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],oe=D.s<0,ie=oe?B.slice(1):B,_e=ie.length;if(N&&(F=P,P=N,N=F,_e-=F),P>0&&_e>0){for(F=_e%P||P,B=ie.substr(0,F);F<_e;F+=P)B+=U+ie.substr(F,P);N>0&&(B+=U+ie.slice(F)),oe&&(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,oe,ie=this,_e=ie.c;if(k!=null&&(P=new V(k),!P.isInteger()&&(P.c||P.s!==1)||P.lt(ae)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+de(P));if(!_e)return new V(ie);for(v=new V(ae),U=R=new V(ae),M=N=new V(ae),oe=m(_e),F=v.e=oe.length-ie.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=Te,Te=1/0,P=new V(oe),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=ie.s,F=F*2,G=O(U,M,F,ee).minus(ie).abs().comparedTo(O(N,R,F,ee).minus(ie).abs())<1?[U,M]:[N,R],Te=j,G},z.toNumber=function(){return+de(this)},z.toPrecision=function(k,v){return k!=null&&_(k,1,p),Ye(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>=Re?S(m(R.c),D):T(m(R.c),D,"0"):k===10&&be?(R=ce(new V(R),X+D+1,ee),v=T(m(R.c),R.e,"0")):(_(k,2,le.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 de(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,ae=x[0]+"";$<z;){for(O=x[$++]+"",q=u-O.length;q--;O="0"+O);ae+=O}for(z=ae.length;ae.charCodeAt(--z)===48;);return ae.slice(0,z+1||1)}function w(x,O){var q,$,z=x.c,ae=O.c,X=x.s,ee=O.s,Z=x.e,Re=O.e;if(!X||!ee)return null;if(q=z&&!z[0],$=ae&&!ae[0],q||$)return q?$?0:-ee:X;if(X!=ee)return X;if(q=X<0,$=Z==Re,!z||!ae)return $?0:!z^q?1:-1;if(!$)return Z>Re^q?1:-1;for(ee=(Z=z.length)<(Re=ae.length)?Z:Re,X=0;X<ee;X++)if(z[X]!=ae[X])return z[X]>ae[X]^q?1:-1;return Z==Re?0:Z>Re^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 xu<"u"&&xu.exports?xu.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(RS)});var PS=J((Vz,OS)=>{var xS=Nh(),DS=OS.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 xS||xS.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 lu==null&&(lu=nh()),w.length>15?e.storeAsString?w:e.useNativeBigInt?BigInt(w):new lu(w):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new lu(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+'"'),k1.test(y)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?h():w[y]=h():S1.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}};Qk.exports=E1});var nS=J((X$,du)=>{var eS=Xk().stringify,tS=Zk();du.exports=function(t){return{parse:tS(t),stringify:eS}};du.exports.parse=tS();du.exports.stringify=eS});var rh=J(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.GCE_LINUX_BIOS_PATHS=void 0;en.isGoogleCloudServerless=sS;en.isGoogleComputeEngineLinux=iS;en.isGoogleComputeEngineMACAddress=aS;en.isGoogleComputeEngine=cS;en.detectGCPResidency=A1;var rS=require("fs"),oS=require("os");en.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var v1=/^42:01/;function sS(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function iS(){if((0,oS.platform)()!=="linux")return!1;try{(0,rS.statSync)(en.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,rS.readFileSync)(en.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function aS(){let t=(0,oS.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(v1.test(n))return!0}return!1}function cS(){return iS()||aS()}function A1(){return sS()||cS()}});var uS=J(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});pu.Colours=void 0;var fu=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="")}};pu.Colours=fu;fu.refresh()});var dS=J(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.LogSeverity=void 0;var lS;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(lS||(hu.LogSeverity=lS={}))});var mS=J(Ue=>{"use strict";var T1=Ue&&Ue.__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]})),R1=Ue&&Ue.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fS=Ue&&Ue.__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"&&T1(n,e,r[o]);return R1(n,e),n}})();Object.defineProperty(Ue,"__esModule",{value:!0});Ue.env=Ue.DebugLogBackendBase=Ue.placeholder=Ue.AdhocDebugLogger=void 0;Ue.getNodeBackend=sh;Ue.getDebugBackend=D1;Ue.getStructuredBackend=O1;Ue.setBackend=P1;Ue.log=hS;var x1=require("events"),Fi=fS(require("process")),pS=fS(require("util")),xt=uS(),Vn=dS(),Ni=class extends x1.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(Vn.LogSeverity.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Vn.LogSeverity.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Vn.LogSeverity.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Vn.LogSeverity.ERROR,...r),this.func.sublog=r=>hS(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)}};Ue.AdhocDebugLogger=Ni;Ue.placeholder=new Ni("",()=>{}).func;var os=class{cached=new Map;filters=[];filtersSet=!1;constructor(){let e=Fi.env[Ue.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)}}};Ue.DebugLogBackendBase=os;var oh=class extends os{enabledRegexp=/.*/g;isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{let o=`${xt.Colours.green}${e}${xt.Colours.reset}`,s=`${xt.Colours.yellow}${Fi.pid}${xt.Colours.reset}`,i;switch(n.severity){case Vn.LogSeverity.ERROR:i=`${xt.Colours.red}${n.severity}${xt.Colours.reset}`;break;case Vn.LogSeverity.INFO:i=`${xt.Colours.magenta}${n.severity}${xt.Colours.reset}`;break;case Vn.LogSeverity.WARNING:i=`${xt.Colours.yellow}${n.severity}${xt.Colours.reset}`;break;default:i=n.severity??Vn.LogSeverity.DEFAULT;break}let c=pS.formatWithOptions({colors:xt.Colours.enabled},...r),u=Object.assign({},n);delete u.severity;let f=Object.getOwnPropertyNames(u).length?JSON.stringify(u):"",d=f?`${xt.Colours.grey}${f}${xt.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 sh(){return new oh}var ih=class extends os{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=Fi.env.NODE_DEBUG??"";Fi.env.NODE_DEBUG=`${e}${e?",":""}${this.filters.join(",")}`}};function D1(t){return new ih(t)}var ah=class extends os{upstream;constructor(e){super(),this.upstream=e??void 0}makeLogger(e){let n=this.upstream?.makeLogger(e);return(r,...o)=>{let s=r.severity??Vn.LogSeverity.INFO,i=Object.assign({severity:s,message:pS.format(...o)},r),c=JSON.stringify(i);n?n(r,c):console.log("%s",c)}}setFilters(){this.upstream?.setFilters()}};function O1(t){return new ah(t)}Ue.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var ch=new Map,tn;function P1(t){tn=t,ch.clear()}function hS(t,e){if(!tn&&!Fi.env[Ue.env.nodeEnables]||!t)return Ue.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=ch.get(t);if(n)return n.func;if(tn===null)return Ue.placeholder;tn===void 0&&(tn=sh());let r=(()=>{let o;return new Ni(t,(i,...c)=>{if(o!==tn){if(tn===null)return;tn===void 0&&(tn=sh()),o=tn}tn?.log(t,i,...c)})})();return ch.set(t,r),r.func}});var uh=J(ho=>{"use strict";var I1=ho&&ho.__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]})),F1=ho&&ho.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&I1(e,t,n)};Object.defineProperty(ho,"__esModule",{value:!0});F1(mS(),ho)});var Bi=J(pe=>{"use strict";var yS=pe&&pe.__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]})),N1=pe&&pe.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),M1=pe&&pe.__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"&&yS(n,e,r[o]);return N1(n,e),n}})(),B1=pe&&pe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&yS(e,t,n)};Object.defineProperty(pe,"__esModule",{value:!0});pe.gcpResidencyCache=pe.METADATA_SERVER_DETECTION=pe.HEADERS=pe.HEADER_VALUE=pe.HEADER_NAME=pe.SECONDARY_HOST_ADDRESS=pe.HOST_ADDRESS=pe.BASE_PATH=void 0;pe.instance=z1;pe.project=H1;pe.universe=W1;pe.bulk=G1;pe.isAvailable=V1;pe.resetIsAvailableCache=K1;pe.getGCPResidency=fh;pe.setGCPResidency=_S;pe.requestTimeout=bS;var lh=lt(),U1=nS(),j1=rh(),L1=M1(uh());pe.BASE_PATH="/computeMetadata/v1";pe.HOST_ADDRESS="http://169.254.169.254";pe.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";pe.HEADER_NAME="Metadata-Flavor";pe.HEADER_VALUE="Google";pe.HEADERS=Object.freeze({[pe.HEADER_NAME]:pe.HEADER_VALUE});var gS=L1.log("gcp-metadata");pe.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 dh(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||pe.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(pe.BASE_PATH,t).href}function q1(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 Mi(t,e={},n=3,r=!1){let o=new Headers(pe.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}`:(q1(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,h)=>o.set(h,p)),i=e.params||i);let c=r?$1:lh.request,u={url:`${dh()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:i,responseType:"text",timeout:bS()};gS.info("instance request %j",u);let f=await c(u);gS.info("instance metadata is %s",f.data);let d=f.headers.get(pe.HEADER_NAME);if(d!==pe.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${pe.HEADER_NAME} header. Expected '${pe.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return U1.parse(f.data)}catch{}return f.data}async function $1(t){let e={...t,url:t.url?.toString().replace(dh(),dh(pe.SECONDARY_HOST_ADDRESS))},n=(0,lh.request)(t),r=(0,lh.request)(e);return Promise.any([n,r])}function z1(t){return Mi("instance",t)}function H1(t){return Mi("project",t)}function W1(t){return Mi("universe",t)}async function G1(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Mi(n),o=n.metadataKey;e[o]=r})())),e}function J1(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var mu;async function V1(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in pe.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(pe.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return fh();case"ping-only":}}try{return mu===void 0&&(mu=Mi("instance",void 0,J1(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await mu,!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 K1(){mu=void 0}pe.gcpResidencyCache=null;function fh(){return pe.gcpResidencyCache===null&&_S(),pe.gcpResidencyCache}function _S(t=null){pe.gcpResidencyCache=t!==null?t:(0,j1.detectGCPResidency)()}function bS(){return fh()?0:3e3}B1(rh(),pe)});var kS=J(gu=>{"use strict";gu.byteLength=X1;gu.toByteArray=Z1;gu.fromByteArray=nP;var Cn=[],qt=[],Y1=typeof Uint8Array<"u"?Uint8Array:Array,ph="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(mo=0,CS=ph.length;mo<CS;++mo)Cn[mo]=ph[mo],qt[ph.charCodeAt(mo)]=mo;var mo,CS;qt[45]=62;qt[95]=63;function wS(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 X1(t){var e=wS(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Q1(t,e,n){return(e+n)*3/4-n}function Z1(t){var e,n=wS(t),r=n[0],o=n[1],s=new Y1(Q1(t,r,o)),i=0,c=o>0?r-4:r,u;for(u=0;u<c;u+=4)e=qt[t.charCodeAt(u)]<<18|qt[t.charCodeAt(u+1)]<<12|qt[t.charCodeAt(u+2)]<<6|qt[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=qt[t.charCodeAt(u)]<<2|qt[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=qt[t.charCodeAt(u)]<<10|qt[t.charCodeAt(u+1)]<<4|qt[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function eP(t){return Cn[t>>18&63]+Cn[t>>12&63]+Cn[t>>6&63]+Cn[t&63]}function tP(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(eP(r));return o.join("")}function nP(t){for(var e,n=t.length,r=n%3,o=[],s=16383,i=0,c=n-r;i<c;i+=s)o.push(tP(t,i,i+s>c?c:i+s));return r===1?(e=t[n-1],o.push(Cn[e>>2]+Cn[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(Cn[e>>10]+Cn[e>>4&63]+Cn[e<<2&63]+"=")),o.join("")}});var mh=J(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});hh.fromArrayBufferToHex=rP;function rP(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var SS=J(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.BrowserCrypto=void 0;var ss=kS(),oP=mh(),gh=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 ss.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),ss.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=ss.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 ss.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let n=ss.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return ss.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,oP.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))}};yu.BrowserCrypto=gh});var ES=J(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});_u.NodeCrypto=void 0;var is=require("crypto"),yh=class{async sha256DigestBase64(e){return is.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return is.randomBytes(e).toString("base64")}async verify(e,n,r){let o=is.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=is.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 is.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:iP(e);return sP(is.createHmac("sha256",r).update(n).digest())}};_u.NodeCrypto=yh;function sP(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 iP(t){return Buffer.from(t)}});var Ui=J(Kn=>{"use strict";var aP=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]})),cP=Kn&&Kn.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&aP(e,t,n)};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.createCrypto=dP;Kn.hasBrowserCrypto=vS;var uP=SS(),lP=ES();cP(mh(),Kn);function dP(){return vS()?new uP.BrowserCrypto:new lP.NodeCrypto}function vS(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var as=J((_h,TS)=>{var bu=require("buffer"),wn=bu.Buffer;function AS(t,e){for(var n in t)e[n]=t[n]}wn.from&&wn.alloc&&wn.allocUnsafe&&wn.allocUnsafeSlow?TS.exports=bu:(AS(bu,_h),_h.Buffer=go);function go(t,e,n){return wn(t,e,n)}go.prototype=Object.create(wn.prototype);AS(wn,go);go.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return wn(t,e,n)};go.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=wn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};go.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return wn(t)};go.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bu.SlowBuffer(t)}});var xS=J((uz,RS)=>{"use strict";function bh(t){var e=(t/8|0)+(t%8===0?0:1);return e}var fP={ES256:bh(256),ES384:bh(384),ES512:bh(521)};function pP(t){var e=fP[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}RS.exports=pP});var Ch=J((lz,NS)=>{"use strict";var Cu=as().Buffer,OS=xS(),wu=128,PS=0,hP=32,mP=16,gP=2,IS=mP|hP|PS<<6,ku=gP|PS<<6;function yP(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function FS(t){if(Cu.isBuffer(t))return t;if(typeof t=="string")return Cu.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function _P(t,e){t=FS(t);var n=OS(e),r=n+1,o=t.length,s=0;if(t[s++]!==IS)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(wu|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==ku)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++]!==ku)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,_=Cu.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"),_=yP(_),_}function DS(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=wu;return o&&--r,r}function bP(t,e){t=FS(t);var n=OS(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=DS(t,0,n),s=DS(t,n,t.length),i=n-o,c=n-s,u=2+i+1+1+c,f=u<wu,d=Cu.allocUnsafe((f?2:3)+u),p=0;return d[p++]=IS,f?d[p++]=u:(d[p++]=wu|1,d[p++]=u&255),d[p++]=ku,d[p++]=i,o<0?(d[p++]=0,p+=t.copy(d,p,0,n)):p+=t.copy(d,p,o,n),d[p++]=ku,d[p++]=c,s<0?(d[p++]=0,t.copy(d,p,n)):t.copy(d,p,n+s),d}NS.exports={derToJose:_P,joseToDer:bP}});var nn=J(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.LRUCache=void 0;Yn.snakeToCamel=BS;Yn.originalOrCamelOptions=SP;Yn.removeUndefinedValuesInObject=EP;Yn.isValidFile=vP;Yn.getWellKnownCertificateConfigFileLocation=AP;var CP=require("fs"),wP=require("os"),wh=require("path"),kP="certificate_config.json",MS="gcloud";function BS(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function SP(t){function e(n){let r=t||{};return r[n]??r[BS(n)]}return{get:e}}var kh=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()}};Yn.LRUCache=kh;function EP(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function vP(t){try{return(await CP.promises.lstat(t)).isFile()}catch{return!1}}function AP(){let t=process.env.CLOUDSDK_CONFIG||(TP()?wh.join(process.env.APPDATA||"",MS):wh.join(process.env.HOME||"",".config",MS));return wh.join(t,kP)}function TP(){return wP.platform().startsWith("win")}});var US=J((fz,RP)=>{RP.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 Sh=J(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.USER_AGENT=xr.PRODUCT_NAME=xr.pkg=void 0;var jS=US();xr.pkg=jS;var LS="google-api-nodejs-client";xr.PRODUCT_NAME=LS;var xP=`${LS}/${jS.version}`;xr.USER_AGENT=xP});var Dt=J(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.AuthClient=rn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=rn.DEFAULT_UNIVERSE=void 0;var DP=require("events"),Eh=lt(),OP=nn(),PP=uh(),vh=Sh();rn.DEFAULT_UNIVERSE="googleapis.com";rn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Ah=class t extends DP.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=rn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=rn.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,OP.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")??rn.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Eh.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&&Eh.Gaxios.mergeHeaders(s,n.headers),r&&Eh.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,PP.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(`${vh.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${vh.USER_AGENT}`):e.headers.set("User-Agent",vh.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"]}}}};rn.AuthClient=Ah});var Rh=J(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.LoginTicket=void 0;var Th=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()}}};Su.LoginTicket=Th});var Dr=J(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.OAuth2Client=kn.ClientAuthentication=kn.CertificateFormat=kn.CodeChallengeMethod=void 0;var qS=lt(),IP=require("querystring"),FP=require("stream"),NP=Ch(),$S=nn(),xh=Ui(),cs=Dt(),MP=Rh(),zS;(function(t){t.Plain="plain",t.S256="S256"})(zS||(kn.CodeChallengeMethod=zS={}));var Xn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Xn||(kn.CertificateFormat=Xn={}));var ji;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(ji||(kn.ClientAuthentication=ji={}));var Dh=class t extends cs.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Xn.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||ji.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()+"?"+IP.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,xh.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===ji.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===ji.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,$S.removeUndefinedValuesInObject)(o)),headers:r};cs.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,$S.removeUndefinedValuesInObject)(r))};cs.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof qS.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(cs.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=qS.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 FP.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,xh.hasBrowserCrypto)()?Xn.JWK:Xn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case Xn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Xn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let f={...t.RETRY_CONFIG,url:o};cs.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 Xn.PEM:c=r.data;break;case Xn.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};cs.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,xh.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=NP.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 MP.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}};kn.OAuth2Client=Dh});var Ph=J(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.Compute=void 0;var BP=lt(),HS=Bi(),UP=Dr(),Oh=class extends UP.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 HS.instance(o)}catch(o){throw o instanceof BP.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 HS.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))}};Eu.Compute=Oh});var Fh=J(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.IdTokenClient=void 0;var jP=Dr(),Ih=class extends jP.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}};vu.IdTokenClient=Ih});var Nh=J(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.GCPEnv=void 0;us.clear=LP;us.getEnv=qP;var WS=Bi(),Sn;(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"})(Sn||(us.GCPEnv=Sn={}));var Li;function LP(){Li=void 0}async function qP(){return Li||(Li=$P(),Li)}async function $P(){let t=Sn.NONE;return zP()?t=Sn.APP_ENGINE:HP()?t=Sn.CLOUD_FUNCTIONS:await VP()?await JP()?t=Sn.KUBERNETES_ENGINE:WP()?t=Sn.CLOUD_RUN:GP()?t=Sn.CLOUD_RUN_JOBS:t=Sn.COMPUTE_ENGINE:t=Sn.NONE,t}function zP(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function HP(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function WP(){return!!process.env.K_CONFIGURATION}function GP(){return!!process.env.CLOUD_RUN_JOB}async function JP(){try{return await WS.instance("attributes/cluster-name"),!0}catch{return!1}}async function VP(){return WS.isAvailable()}});var Mh=J((Cz,GS)=>{var Au=as().Buffer,KP=require("stream"),YP=require("util");function Tu(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+")")}YP.inherits(Tu,KP);Tu.prototype.write=function(e){this.buffer=Au.concat([this.buffer,Au.from(e)]),this.emit("data",e)};Tu.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};GS.exports=Tu});var VS=J((wz,JS)=>{"use strict";var qi=require("buffer").Buffer,Bh=require("buffer").SlowBuffer;JS.exports=Ru;function Ru(t,e){if(!qi.isBuffer(t)||!qi.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}Ru.install=function(){qi.prototype.equal=Bh.prototype.equal=function(e){return Ru(this,e)}};var XP=qi.prototype.equal,QP=Bh.prototype.equal;Ru.restore=function(){qi.prototype.equal=XP,Bh.prototype.equal=QP}});var qh=J((kz,rE)=>{var ds=as().Buffer,$t=require("crypto"),YS=Ch(),KS=require("util"),ZP=`"%s" is not a valid algorithm.
|
|
78
|
+
`+m+"}":"{"+w.join(",")+"}",r=m,b}}typeof DS.stringify!="function"&&(DS.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 FS=J((Yz,IS)=>{var Du=null,g1=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,y1=/(?: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)/,_1=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 Du==null&&(Du=Nh()),w.length>15?e.storeAsString?w:e.useNativeBigInt?BigInt(w):new Du(w):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(m):new Du(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+'"'),g1.test(m)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?p():w[m]=p():y1.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)})({"":_},""):_}};IS.exports=_1});var BS=J((Xz,Ou)=>{var NS=PS().stringify,MS=FS();Ou.exports=function(t){return{parse:MS(t),stringify:NS}};Ou.exports.parse=MS();Ou.exports.stringify=NS});var Mh=J(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.GCE_LINUX_BIOS_PATHS=void 0;nn.isGoogleCloudServerless=LS;nn.isGoogleComputeEngineLinux=qS;nn.isGoogleComputeEngineMACAddress=$S;nn.isGoogleComputeEngine=zS;nn.detectGCPResidency=C1;var US=require("fs"),jS=require("os");nn.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var b1=/^42:01/;function LS(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function qS(){if((0,jS.platform)()!=="linux")return!1;try{(0,US.statSync)(nn.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,US.readFileSync)(nn.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function $S(){let t=(0,jS.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(b1.test(n))return!0}return!1}function zS(){return qS()||$S()}function C1(){return LS()||zS()}});var HS=J(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.Colours=void 0;var Pu=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="")}};Iu.Colours=Pu;Pu.refresh()});var GS=J(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.LogSeverity=void 0;var WS;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(WS||(Fu.LogSeverity=WS={}))});var YS=J(Ue=>{"use strict";var w1=Ue&&Ue.__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=Ue&&Ue.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),JS=Ue&&Ue.__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"&&w1(n,e,r[o]);return k1(n,e),n}})();Object.defineProperty(Ue,"__esModule",{value:!0});Ue.env=Ue.DebugLogBackendBase=Ue.placeholder=Ue.AdhocDebugLogger=void 0;Ue.getNodeBackend=Uh;Ue.getDebugBackend=E1;Ue.getStructuredBackend=A1;Ue.setBackend=v1;Ue.log=VS;var S1=require("events"),$i=JS(require("process")),KS=JS(require("util")),Ot=HS(),Zn=GS(),zi=class extends S1.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(Zn.LogSeverity.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Zn.LogSeverity.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Zn.LogSeverity.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Zn.LogSeverity.ERROR,...r),this.func.sublog=r=>VS(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)}};Ue.AdhocDebugLogger=zi;Ue.placeholder=new zi("",()=>{}).func;var ms=class{cached=new Map;filters=[];filtersSet=!1;constructor(){let e=$i.env[Ue.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)}}};Ue.DebugLogBackendBase=ms;var Bh=class extends ms{enabledRegexp=/.*/g;isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{let o=`${Ot.Colours.green}${e}${Ot.Colours.reset}`,s=`${Ot.Colours.yellow}${$i.pid}${Ot.Colours.reset}`,i;switch(n.severity){case Zn.LogSeverity.ERROR:i=`${Ot.Colours.red}${n.severity}${Ot.Colours.reset}`;break;case Zn.LogSeverity.INFO:i=`${Ot.Colours.magenta}${n.severity}${Ot.Colours.reset}`;break;case Zn.LogSeverity.WARNING:i=`${Ot.Colours.yellow}${n.severity}${Ot.Colours.reset}`;break;default:i=n.severity??Zn.LogSeverity.DEFAULT;break}let a=KS.formatWithOptions({colors:Ot.Colours.enabled},...r),u=Object.assign({},n);delete u.severity;let d=Object.getOwnPropertyNames(u).length?JSON.stringify(u):"",f=d?`${Ot.Colours.grey}${d}${Ot.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 Uh(){return new Bh}var jh=class extends ms{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 E1(t){return new jh(t)}var Lh=class extends ms{upstream;constructor(e){super(),this.upstream=e??void 0}makeLogger(e){let n=this.upstream?.makeLogger(e);return(r,...o)=>{let s=r.severity??Zn.LogSeverity.INFO,i=Object.assign({severity:s,message:KS.format(...o)},r),a=JSON.stringify(i);n?n(r,a):console.log("%s",a)}}setFilters(){this.upstream?.setFilters()}};function A1(t){return new Lh(t)}Ue.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var qh=new Map,rn;function v1(t){rn=t,qh.clear()}function VS(t,e){if(!rn&&!$i.env[Ue.env.nodeEnables]||!t)return Ue.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=qh.get(t);if(n)return n.func;if(rn===null)return Ue.placeholder;rn===void 0&&(rn=Uh());let r=(()=>{let o;return new zi(t,(i,...a)=>{if(o!==rn){if(rn===null)return;rn===void 0&&(rn=Uh()),o=rn}rn?.log(t,i,...a)})})();return qh.set(t,r),r.func}});var $h=J(wo=>{"use strict";var T1=wo&&wo.__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]})),R1=wo&&wo.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&T1(e,t,n)};Object.defineProperty(wo,"__esModule",{value:!0});R1(YS(),wo)});var Wi=J(pe=>{"use strict";var QS=pe&&pe.__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]})),x1=pe&&pe.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),D1=pe&&pe.__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"&&QS(n,e,r[o]);return x1(n,e),n}})(),O1=pe&&pe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&QS(e,t,n)};Object.defineProperty(pe,"__esModule",{value:!0});pe.gcpResidencyCache=pe.METADATA_SERVER_DETECTION=pe.HEADERS=pe.HEADER_VALUE=pe.HEADER_NAME=pe.SECONDARY_HOST_ADDRESS=pe.HOST_ADDRESS=pe.BASE_PATH=void 0;pe.instance=B1;pe.project=U1;pe.universe=j1;pe.bulk=L1;pe.isAvailable=$1;pe.resetIsAvailableCache=z1;pe.getGCPResidency=Wh;pe.setGCPResidency=ZS;pe.requestTimeout=eE;var zh=lt(),P1=BS(),I1=Mh(),F1=D1($h());pe.BASE_PATH="/computeMetadata/v1";pe.HOST_ADDRESS="http://169.254.169.254";pe.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";pe.HEADER_NAME="Metadata-Flavor";pe.HEADER_VALUE="Google";pe.HEADERS=Object.freeze({[pe.HEADER_NAME]:pe.HEADER_VALUE});var XS=F1.log("gcp-metadata");pe.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 Hh(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||pe.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(pe.BASE_PATH,t).href}function N1(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 Hi(t,e={},n=3,r=!1){let o=new Headers(pe.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}`:(N1(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,p)=>o.set(p,h)),i=e.params||i);let a=r?M1:zh.request,u={url:`${Hh()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:i,responseType:"text",timeout:eE()};XS.info("instance request %j",u);let d=await a(u);XS.info("instance metadata is %s",d.data);let f=d.headers.get(pe.HEADER_NAME);if(f!==pe.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${pe.HEADER_NAME} header. Expected '${pe.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return P1.parse(d.data)}catch{}return d.data}async function M1(t){let e={...t,url:t.url?.toString().replace(Hh(),Hh(pe.SECONDARY_HOST_ADDRESS))},n=(0,zh.request)(t),r=(0,zh.request)(e);return Promise.any([n,r])}function B1(t){return Hi("instance",t)}function U1(t){return Hi("project",t)}function j1(t){return Hi("universe",t)}async function L1(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Hi(n),o=n.metadataKey;e[o]=r})())),e}function q1(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Nu;async function $1(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in pe.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(pe.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 Nu===void 0&&(Nu=Hi("instance",void 0,q1(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Nu,!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 z1(){Nu=void 0}pe.gcpResidencyCache=null;function Wh(){return pe.gcpResidencyCache===null&&ZS(),pe.gcpResidencyCache}function ZS(t=null){pe.gcpResidencyCache=t!==null?t:(0,I1.detectGCPResidency)()}function eE(){return Wh()?0:3e3}O1(Mh(),pe)});var rE=J(Mu=>{"use strict";Mu.byteLength=W1;Mu.toByteArray=J1;Mu.fromByteArray=Y1;var An=[],zt=[],H1=typeof Uint8Array<"u"?Uint8Array:Array,Gh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ko=0,tE=Gh.length;ko<tE;++ko)An[ko]=Gh[ko],zt[Gh.charCodeAt(ko)]=ko;var ko,tE;zt[45]=62;zt[95]=63;function nE(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 W1(t){var e=nE(t),n=e[0],r=e[1];return(n+r)*3/4-r}function G1(t,e,n){return(e+n)*3/4-n}function J1(t){var e,n=nE(t),r=n[0],o=n[1],s=new H1(G1(t,r,o)),i=0,a=o>0?r-4:r,u;for(u=0;u<a;u+=4)e=zt[t.charCodeAt(u)]<<18|zt[t.charCodeAt(u+1)]<<12|zt[t.charCodeAt(u+2)]<<6|zt[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=zt[t.charCodeAt(u)]<<2|zt[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=zt[t.charCodeAt(u)]<<10|zt[t.charCodeAt(u+1)]<<4|zt[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function K1(t){return An[t>>18&63]+An[t>>12&63]+An[t>>6&63]+An[t&63]}function V1(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(K1(r));return o.join("")}function Y1(t){for(var e,n=t.length,r=n%3,o=[],s=16383,i=0,a=n-r;i<a;i+=s)o.push(V1(t,i,i+s>a?a:i+s));return r===1?(e=t[n-1],o.push(An[e>>2]+An[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(An[e>>10]+An[e>>4&63]+An[e<<2&63]+"=")),o.join("")}});var Kh=J(Jh=>{"use strict";Object.defineProperty(Jh,"__esModule",{value:!0});Jh.fromArrayBufferToHex=X1;function X1(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var oE=J(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});Bu.BrowserCrypto=void 0;var gs=rE(),Q1=Kh(),Vh=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 gs.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),gs.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=gs.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 gs.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let n=gs.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return gs.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,Q1.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=Vh});var sE=J(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.NodeCrypto=void 0;var ys=require("crypto"),Yh=class{async sha256DigestBase64(e){return ys.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return ys.randomBytes(e).toString("base64")}async verify(e,n,r){let o=ys.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=ys.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 ys.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:eI(e);return Z1(ys.createHmac("sha256",r).update(n).digest())}};Uu.NodeCrypto=Yh;function Z1(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 eI(t){return Buffer.from(t)}});var Gi=J(er=>{"use strict";var tI=er&&er.__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]})),nI=er&&er.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&tI(e,t,n)};Object.defineProperty(er,"__esModule",{value:!0});er.createCrypto=sI;er.hasBrowserCrypto=iE;var rI=oE(),oI=sE();nI(Kh(),er);function sI(){return iE()?new rI.BrowserCrypto:new oI.NodeCrypto}function iE(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var _s=J((Xh,cE)=>{var ju=require("buffer"),vn=ju.Buffer;function aE(t,e){for(var n in t)e[n]=t[n]}vn.from&&vn.alloc&&vn.allocUnsafe&&vn.allocUnsafeSlow?cE.exports=ju:(aE(ju,Xh),Xh.Buffer=So);function So(t,e,n){return vn(t,e,n)}So.prototype=Object.create(vn.prototype);aE(vn,So);So.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return vn(t,e,n)};So.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=vn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};So.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return vn(t)};So.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ju.SlowBuffer(t)}});var lE=J((uH,uE)=>{"use strict";function Qh(t){var e=(t/8|0)+(t%8===0?0:1);return e}var iI={ES256:Qh(256),ES384:Qh(384),ES512:Qh(521)};function aI(t){var e=iI[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}uE.exports=aI});var Zh=J((lH,gE)=>{"use strict";var Lu=_s().Buffer,fE=lE(),qu=128,pE=0,cI=32,uI=16,lI=2,hE=uI|cI|pE<<6,$u=lI|pE<<6;function dI(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function mE(t){if(Lu.isBuffer(t))return t;if(typeof t=="string")return Lu.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function fI(t,e){t=mE(t);var n=fE(e),r=n+1,o=t.length,s=0;if(t[s++]!==hE)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(qu|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==$u)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++]!==$u)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=Lu.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=dI(b),b}function dE(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=qu;return o&&--r,r}function pI(t,e){t=mE(t);var n=fE(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=dE(t,0,n),s=dE(t,n,t.length),i=n-o,a=n-s,u=2+i+1+1+a,d=u<qu,f=Lu.allocUnsafe((d?2:3)+u),h=0;return f[h++]=hE,d?f[h++]=u:(f[h++]=qu|1,f[h++]=u&255),f[h++]=$u,f[h++]=i,o<0?(f[h++]=0,h+=t.copy(f,h,0,n)):h+=t.copy(f,h,o,n),f[h++]=$u,f[h++]=a,s<0?(f[h++]=0,t.copy(f,h,n)):t.copy(f,h,n+s),f}gE.exports={derToJose:fI,joseToDer:pI}});var on=J(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.LRUCache=void 0;tr.snakeToCamel=_E;tr.originalOrCamelOptions=yI;tr.removeUndefinedValuesInObject=_I;tr.isValidFile=bI;tr.getWellKnownCertificateConfigFileLocation=CI;var hI=require("fs"),mI=require("os"),em=require("path"),gI="certificate_config.json",yE="gcloud";function _E(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function yI(t){function e(n){let r=t||{};return r[n]??r[_E(n)]}return{get:e}}var tm=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()}};tr.LRUCache=tm;function _I(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function bI(t){try{return(await hI.promises.lstat(t)).isFile()}catch{return!1}}function CI(){let t=process.env.CLOUDSDK_CONFIG||(wI()?em.join(process.env.APPDATA||"",yE):em.join(process.env.HOME||"",".config",yE));return em.join(t,gI)}function wI(){return mI.platform().startsWith("win")}});var bE=J((fH,kI)=>{kI.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 nm=J(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.USER_AGENT=Ir.PRODUCT_NAME=Ir.pkg=void 0;var CE=bE();Ir.pkg=CE;var wE="google-api-nodejs-client";Ir.PRODUCT_NAME=wE;var SI=`${wE}/${CE.version}`;Ir.USER_AGENT=SI});var Pt=J(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.AuthClient=sn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=sn.DEFAULT_UNIVERSE=void 0;var EI=require("events"),rm=lt(),AI=on(),vI=$h(),om=nm();sn.DEFAULT_UNIVERSE="googleapis.com";sn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var sm=class t extends EI.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=sn.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=sn.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,AI.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")??sn.DEFAULT_UNIVERSE,this.transporter=e.transporter??new rm.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&&rm.Gaxios.mergeHeaders(s,n.headers),r&&rm.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,vI.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(`${om.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${om.USER_AGENT}`):e.headers.set("User-Agent",om.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"]}}}};sn.AuthClient=sm});var am=J(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.LoginTicket=void 0;var im=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()}}};zu.LoginTicket=im});var Fr=J(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.OAuth2Client=Tn.ClientAuthentication=Tn.CertificateFormat=Tn.CodeChallengeMethod=void 0;var kE=lt(),TI=require("querystring"),RI=require("stream"),xI=Zh(),SE=on(),cm=Gi(),bs=Pt(),DI=am(),EE;(function(t){t.Plain="plain",t.S256="S256"})(EE||(Tn.CodeChallengeMethod=EE={}));var nr;(function(t){t.PEM="PEM",t.JWK="JWK"})(nr||(Tn.CertificateFormat=nr={}));var Ji;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Ji||(Tn.ClientAuthentication=Ji={}));var um=class t extends bs.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=nr.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||Ji.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()+"?"+TI.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,cm.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===Ji.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===Ji.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,SE.removeUndefinedValuesInObject)(o)),headers:r};bs.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,SE.removeUndefinedValuesInObject)(r))};bs.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof kE.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(bs.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=kE.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 RI.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,cm.hasBrowserCrypto)()?nr.JWK:nr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case nr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case nr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let d={...t.RETRY_CONFIG,url:o};bs.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 nr.PEM:a=r.data;break;case nr.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};bs.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,cm.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=xI.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 DI.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}};Tn.OAuth2Client=um});var dm=J(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.Compute=void 0;var OI=lt(),AE=Wi(),PI=Fr(),lm=class extends PI.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 AE.instance(o)}catch(o){throw o instanceof OI.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 AE.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))}};Hu.Compute=lm});var pm=J(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.IdTokenClient=void 0;var II=Fr(),fm=class extends II.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}};Wu.IdTokenClient=fm});var hm=J(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.GCPEnv=void 0;Cs.clear=FI;Cs.getEnv=NI;var vE=Wi(),Rn;(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"})(Rn||(Cs.GCPEnv=Rn={}));var Ki;function FI(){Ki=void 0}async function NI(){return Ki||(Ki=MI(),Ki)}async function MI(){let t=Rn.NONE;return BI()?t=Rn.APP_ENGINE:UI()?t=Rn.CLOUD_FUNCTIONS:await $I()?await qI()?t=Rn.KUBERNETES_ENGINE:jI()?t=Rn.CLOUD_RUN:LI()?t=Rn.CLOUD_RUN_JOBS:t=Rn.COMPUTE_ENGINE:t=Rn.NONE,t}function BI(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function UI(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function jI(){return!!process.env.K_CONFIGURATION}function LI(){return!!process.env.CLOUD_RUN_JOB}async function qI(){try{return await vE.instance("attributes/cluster-name"),!0}catch{return!1}}async function $I(){return vE.isAvailable()}});var mm=J((CH,TE)=>{var Gu=_s().Buffer,zI=require("stream"),HI=require("util");function Ju(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Gu.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Gu.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+")")}HI.inherits(Ju,zI);Ju.prototype.write=function(e){this.buffer=Gu.concat([this.buffer,Gu.from(e)]),this.emit("data",e)};Ju.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};TE.exports=Ju});var xE=J((wH,RE)=>{"use strict";var Vi=require("buffer").Buffer,gm=require("buffer").SlowBuffer;RE.exports=Ku;function Ku(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}Ku.install=function(){Vi.prototype.equal=gm.prototype.equal=function(e){return Ku(this,e)}};var WI=Vi.prototype.equal,GI=gm.prototype.equal;Ku.restore=function(){Vi.prototype.equal=WI,gm.prototype.equal=GI}});var Cm=J((kH,UE)=>{var ks=_s().Buffer,Ht=require("crypto"),OE=Zh(),DE=require("util"),JI=`"%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".`,$i="secret must be a string or buffer",ls="key must be a string or a buffer",eI="key must be a string, a buffer or an object",jh=typeof $t.createPublicKey=="function";jh&&(ls+=" or a KeyObject",$i+="or a KeyObject");function XS(t){if(!ds.isBuffer(t)&&typeof t!="string"&&(!jh||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw on(ls)}function QS(t){if(!ds.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw on(eI)}function tI(t){if(!ds.isBuffer(t)){if(typeof t=="string")return t;if(!jh||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw on($i)}}function Lh(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ZS(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 on(t){var e=[].slice.call(arguments,1),n=KS.format.bind(KS,t).apply(null,e);return new TypeError(n)}function nI(t){return ds.isBuffer(t)||typeof t=="string"}function zi(t){return nI(t)||(t=JSON.stringify(t)),t}function eE(t){return function(n,r){tI(r),n=zi(n);var o=$t.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Lh(s)}}var Uh,rI="timingSafeEqual"in $t?function(e,n){return e.byteLength!==n.byteLength?!1:$t.timingSafeEqual(e,n)}:function(e,n){return Uh||(Uh=VS()),Uh(e,n)};function oI(t){return function(n,r,o){var s=eE(t)(n,o);return rI(ds.from(r),ds.from(s))}}function tE(t){return function(n,r){QS(r),n=zi(n);var o=$t.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Lh(s)}}function nE(t){return function(n,r,o){XS(o),n=zi(n),r=ZS(r);var s=$t.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function sI(t){return function(n,r){QS(r),n=zi(n);var o=$t.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:$t.constants.RSA_PKCS1_PSS_PADDING,saltLength:$t.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Lh(s)}}function iI(t){return function(n,r,o){XS(o),n=zi(n),r=ZS(r);var s=$t.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:$t.constants.RSA_PKCS1_PSS_PADDING,saltLength:$t.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function aI(t){var e=tE(t);return function(){var r=e.apply(null,arguments);return r=YS.derToJose(r,"ES"+t),r}}function cI(t){var e=nE(t);return function(r,o,s){o=YS.joseToDer(o,"ES"+t).toString("base64");var i=e(r,o,s);return i}}function uI(){return function(){return""}}function lI(){return function(e,n){return n===""}}rE.exports=function(e){var n={hs:eE,rs:tE,ps:sI,es:aI,none:uI},r={hs:oI,rs:nE,ps:iI,es:cI,none:lI},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw on(ZP,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:n[s](i),verify:r[s](i)}}});var $h=J((Sz,oE)=>{var dI=require("buffer").Buffer;oE.exports=function(e){return typeof e=="string"?e:typeof e=="number"||dI.isBuffer(e)?e.toString():JSON.stringify(e)}});var lE=J((Ez,uE)=>{var fI=as().Buffer,sE=Mh(),pI=qh(),hI=require("stream"),iE=$h(),zh=require("util");function aE(t,e){return fI.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function mI(t,e,n){n=n||"utf8";var r=aE(iE(t),"binary"),o=aE(iE(e),n);return zh.format("%s.%s",r,o)}function cE(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=pI(e.alg),i=mI(e,n,o),c=s.sign(i,r);return zh.format("%s.%s",i,c)}function xu(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 sE(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new sE(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))}zh.inherits(xu,hI);xu.prototype.sign=function(){try{var e=cE({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")}};xu.sign=cE;uE.exports=xu});var CE=J((vz,bE)=>{var fE=as().Buffer,dE=Mh(),gI=qh(),yI=require("stream"),pE=$h(),_I=require("util"),bI=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function CI(t){return Object.prototype.toString.call(t)==="[object Object]"}function wI(t){if(CI(t))return t;try{return JSON.parse(t)}catch{return}}function hE(t){var e=t.split(".",1)[0];return wI(fE.from(e,"base64").toString("binary"))}function kI(t){return t.split(".",2).join(".")}function mE(t){return t.split(".")[2]}function SI(t,e){e=e||"utf8";var n=t.split(".")[1];return fE.from(n,"base64").toString(e)}function gE(t){return bI.test(t)&&!!hE(t)}function yE(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=pE(t);var o=mE(t),s=kI(t),i=gI(e);return i.verify(s,o,n)}function _E(t,e){if(e=e||{},t=pE(t),!gE(t))return null;var n=hE(t);if(!n)return null;var r=SI(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:mE(t)}}function fs(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 dE(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new dE(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))}_I.inherits(fs,yI);fs.prototype.verify=function(){try{var e=yE(this.signature.buffer,this.algorithm,this.key.buffer),n=_E(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")}};fs.decode=_E;fs.isValid=gE;fs.verify=yE;bE.exports=fs});var Hh=J(Or=>{var wE=lE(),Du=CE(),EI=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Or.ALGORITHMS=EI;Or.sign=wE.sign;Or.verify=Du.verify;Or.decode=Du.decode;Or.isValid=Du.isValid;Or.createSign=function(e){return new wE(e)};Or.createVerify=function(e){return new Du(e)}});var SE=J(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.buildPayloadForJwsSign=kE;Ou.getJwsSign=RI;var vI=Hh(),AI="RS256",TI="https://oauth2.googleapis.com/token";function kE(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:TI,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function RI(t){let e=kE(t);return(0,vI.sign)({header:{alg:AI},payload:e,secret:t.key})}});var EE=J(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0});Wh.getToken=II;var xI=SE(),DI="https://oauth2.googleapis.com/token",OI="urn:ietf:params:oauth:grant-type:jwt-bearer",PI=t=>({method:"POST",url:DI,data:new URLSearchParams({grant_type:OI,assertion:(0,xI.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function II(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=PI(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 vE=J(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.ErrorWithCode=void 0;var Gh=class extends Error{code;constructor(e,n){super(e),this.code=n}};Pu.ErrorWithCode=Gh});var Qh=J(Xh=>{"use strict";Object.defineProperty(Xh,"__esModule",{value:!0});Xh.getCredentials=MI;var FI=require("path"),AE=require("fs"),NI=require("util"),Iu=vE(),TE=AE.readFile?(0,NI.promisify)(AE.readFile):async()=>{throw new Iu.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},Pr;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(Pr||(Pr={}));var Jh=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await TE(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 Iu.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 TE(this.keyFilePath,"utf8")}}},Kh=class{async getCredentials(){throw new Iu.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")}},Yh=class{static create(e){switch(FI.extname(e)){case Pr.JSON:return new Jh(e);case Pr.DER:case Pr.CRT:case Pr.PEM:return new Vh(e);case Pr.P12:case Pr.PFX:return new Kh;default:throw new Iu.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function MI(t){return Yh.create(t).getCredentials()}});var RE=J(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.TokenHandler=void 0;var BI=EE(),UI=Qh(),Zh=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,UI.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,BI.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}}};Fu.TokenHandler=Zh});var xE=J(em=>{"use strict";Object.defineProperty(em,"__esModule",{value:!0});em.revokeToken=qI;var jI="https://oauth2.googleapis.com/revoke?token=",LI=!0;async function qI(t,e){let n=jI+t;return await e.request({url:n,retry:LI})}});var nm=J(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});Nu.GoogleToken=void 0;var $I=lt(),DE=RE(),zI=xE(),tm=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,$I.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 DE.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,zI.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new DE.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};Nu.GoogleToken=tm});var om=J(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.JWTAccess=void 0;var HI=Hh(),WI=nn(),OE={alg:"RS256",typ:"JWT"},rm=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new WI.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?{...OE,kid:this.keyId}:OE,p=Object.assign(f,n),h=HI.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)}})})}};Mu.JWTAccess=rm});var im=J(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.JWT=void 0;var PE=nm(),GI=Qh(),JI=om(),VI=Dr(),Bu=Dt(),sm=class t extends VI.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!==Bu.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Bu.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Bu.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!==Bu.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 PE.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 PE.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,GI.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.")}};Uu.JWT=sm});var cm=J(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.UserRefreshClient=ps.USER_REFRESH_ACCOUNT_TYPE=void 0;var KI=Dr(),YI=Dt();ps.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var am=class t extends KI.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 YI.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}};ps.UserRefreshClient=am});var lm=J(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.Impersonated=hs.IMPERSONATED_ACCOUNT_TYPE=void 0;var IE=Dr(),XI=lt(),QI=nn();hs.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var um=class t extends IE.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 IE.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,QI.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 XI.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}};hs.Impersonated=um});var fm=J(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.OAuthClientAuthHandler=void 0;Hi.getErrorFromOAuthErrorResponse=tF;var ms=lt(),ZI=Ui(),eF=["PUT","POST","PATCH"],dm=class{#e=(0,ZI.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ms.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ms.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ms.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ms.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ms.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ms.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!eF.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"]}}}};Hi.OAuthClientAuthHandler=dm;function tF(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 Lu=J(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.StsCredentials=void 0;var nF=lt(),rF=Dt(),FE=fm(),oF=nn(),pm=class t extends FE.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,oF.removeUndefinedValuesInObject)(o)),responseType:"json"};rF.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 nF.GaxiosError&&i.response?(0,FE.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};ju.StsCredentials=pm});var Ir=J(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.BaseExternalAccountClient=zt.CLOUD_RESOURCE_MANAGER=zt.EXTERNAL_ACCOUNT_TYPE=zt.EXPIRATION_TIME_OFFSET=void 0;var sF=lt(),iF=require("stream"),hm=Dt(),aF=Lu(),NE=nn(),cF=Sh(),uF="urn:ietf:params:oauth:grant-type:token-exchange",lF="urn:ietf:params:oauth:token-type:access_token",mm="https://www.googleapis.com/auth/cloud-platform",dF=3600;zt.EXPIRATION_TIME_OFFSET=300*1e3;zt.EXTERNAL_ACCOUNT_TYPE="external_account";zt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var fF="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",pF="https://sts.{universeDomain}/v1/token",gm=class t extends hm.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,NE.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==zt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${zt.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")??pF.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,NE.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 aF.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[mm],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=c;let p=new RegExp(fF);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=dF),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"};hm.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=sF.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 iF.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:uF,audience:this.audience,requestedTokenType:lF,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[mm]: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"};hm.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||[mm]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${cF.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};zt.BaseExternalAccountClient=gm});var ME=J(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.FileSubjectTokenSupplier=void 0;var _m=require("util"),bm=require("fs"),hF=(0,_m.promisify)(bm.readFile??(()=>{})),mF=(0,_m.promisify)(bm.realpath??(()=>{})),gF=(0,_m.promisify)(bm.lstat??(()=>{})),ym=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 mF(e),!(await gF(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 hF(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}};qu.FileSubjectTokenSupplier=ym});var BE=J($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.UrlSubjectTokenSupplier=void 0;var yF=Dt(),Cm=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};yF.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}};$u.UrlSubjectTokenSupplier=Cm});var UE=J(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.CertificateSubjectTokenSupplier=Ot.InvalidConfigurationError=Ot.CertificateSourceUnavailableError=Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var zu=nn(),Hu=require("fs"),Wu=require("crypto"),_F=require("https");Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var En=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Ot.CertificateSourceUnavailableError=En;var Ht=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Ot.InvalidConfigurationError=Ht;var wm=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ht("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ht("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ht("Cannot create mTLS Agent with missing certificate or key");return new _F.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,zu.isValidFile)(e))return e;throw new En(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,zu.isValidFile)(n))return n;throw new En(`Path from environment variable "${Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,zu.getWellKnownCertificateConfigFileLocation)();if(await(0,zu.isValidFile)(r))return r;throw new En(`Could not find certificate configuration file. Searched override path, the "${Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await Hu.promises.readFile(e,"utf8")}catch{throw new En(`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 Ht(`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 Ht?r:new Ht(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await Hu.promises.readFile(e),new Wu.X509Certificate(r)}catch(s){let i=s instanceof Error?s.message:String(s);throw new En(`Failed to read certificate file at ${e}: ${i}`)}try{o=await Hu.promises.readFile(n),(0,Wu.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new En(`Failed to read private key file at ${n}: ${i}`)}return{cert:r,key:o}}async#r(e){let n=new Wu.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await Hu.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,f)=>{try{return new Wu.X509Certificate(u)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Ht(`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 Ht(`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 Ht)throw r;let o=r instanceof Error?r.message:String(r);throw new En(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Ot.CertificateSubjectTokenSupplier=wm});var Em=J(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.IdentityPoolClient=void 0;var bF=Ir(),km=nn(),CF=ME(),wF=BE(),jE=UE(),kF=Lu(),LE=lt(),Sm=class t extends bF.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,km.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,km.originalOrCamelOptions)(r),i=(0,km.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 CF.FileSubjectTokenSupplier({filePath:f,formatType:c,subjectTokenFieldName:u});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new wF.UrlSubjectTokenSupplier({url:d,formatType:c,subjectTokenFieldName:u,headers:h,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let _=new jE.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 jE.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new kF.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new LE.Gaxios({agent:n})}),this.transporter=new LE.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};Gu.IdentityPoolClient=Sm});var Am=J(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.AwsRequestSigner=void 0;var Ju=lt(),$E=Ui(),qE="AWS4-HMAC-SHA256",SF="aws4_request",vm=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,$E.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 vF({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=Ju.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:u.host},i||{});c.token&&Ju.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}};Vu.AwsRequestSigner=vm;async function Wi(t,e,n){return await t.signWithHmacSha256(e,n)}async function EF(t,e,n,r,o){let s=await Wi(t,`AWS4${e}`,n),i=await Wi(t,s,r),c=await Wi(t,i,o);return await Wi(t,c,"aws4_request")}async function vF(t){let e=Ju.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=Ju.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".`,Yi="secret must be a string or buffer",ws="key must be a string or a buffer",KI="key must be a string, a buffer or an object",_m=typeof Ht.createPublicKey=="function";_m&&(ws+=" or a KeyObject",Yi+="or a KeyObject");function PE(t){if(!ks.isBuffer(t)&&typeof t!="string"&&(!_m||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw an(ws)}function IE(t){if(!ks.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw an(KI)}function VI(t){if(!ks.isBuffer(t)){if(typeof t=="string")return t;if(!_m||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw an(Yi)}}function bm(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function FE(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 an(t){var e=[].slice.call(arguments,1),n=DE.format.bind(DE,t).apply(null,e);return new TypeError(n)}function YI(t){return ks.isBuffer(t)||typeof t=="string"}function Xi(t){return YI(t)||(t=JSON.stringify(t)),t}function NE(t){return function(n,r){VI(r),n=Xi(n);var o=Ht.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return bm(s)}}var ym,XI="timingSafeEqual"in Ht?function(e,n){return e.byteLength!==n.byteLength?!1:Ht.timingSafeEqual(e,n)}:function(e,n){return ym||(ym=xE()),ym(e,n)};function QI(t){return function(n,r,o){var s=NE(t)(n,o);return XI(ks.from(r),ks.from(s))}}function ME(t){return function(n,r){IE(r),n=Xi(n);var o=Ht.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return bm(s)}}function BE(t){return function(n,r,o){PE(o),n=Xi(n),r=FE(r);var s=Ht.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function ZI(t){return function(n,r){IE(r),n=Xi(n);var o=Ht.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Ht.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ht.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return bm(s)}}function eF(t){return function(n,r,o){PE(o),n=Xi(n),r=FE(r);var s=Ht.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Ht.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ht.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function tF(t){var e=ME(t);return function(){var r=e.apply(null,arguments);return r=OE.derToJose(r,"ES"+t),r}}function nF(t){var e=BE(t);return function(r,o,s){o=OE.joseToDer(o,"ES"+t).toString("base64");var i=e(r,o,s);return i}}function rF(){return function(){return""}}function oF(){return function(e,n){return n===""}}UE.exports=function(e){var n={hs:NE,rs:ME,ps:ZI,es:tF,none:rF},r={hs:QI,rs:BE,ps:eF,es:nF,none:oF},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw an(JI,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:n[s](i),verify:r[s](i)}}});var wm=J((SH,jE)=>{var sF=require("buffer").Buffer;jE.exports=function(e){return typeof e=="string"?e:typeof e=="number"||sF.isBuffer(e)?e.toString():JSON.stringify(e)}});var WE=J((EH,HE)=>{var iF=_s().Buffer,LE=mm(),aF=Cm(),cF=require("stream"),qE=wm(),km=require("util");function $E(t,e){return iF.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function uF(t,e,n){n=n||"utf8";var r=$E(qE(t),"binary"),o=$E(qE(e),n);return km.format("%s.%s",r,o)}function zE(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=aF(e.alg),i=uF(e,n,o),a=s.sign(i,r);return km.format("%s.%s",i,a)}function Vu(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 LE(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new LE(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))}km.inherits(Vu,cF);Vu.prototype.sign=function(){try{var e=zE({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")}};Vu.sign=zE;HE.exports=Vu});var tA=J((AH,eA)=>{var JE=_s().Buffer,GE=mm(),lF=Cm(),dF=require("stream"),KE=wm(),fF=require("util"),pF=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function hF(t){return Object.prototype.toString.call(t)==="[object Object]"}function mF(t){if(hF(t))return t;try{return JSON.parse(t)}catch{return}}function VE(t){var e=t.split(".",1)[0];return mF(JE.from(e,"base64").toString("binary"))}function gF(t){return t.split(".",2).join(".")}function YE(t){return t.split(".")[2]}function yF(t,e){e=e||"utf8";var n=t.split(".")[1];return JE.from(n,"base64").toString(e)}function XE(t){return pF.test(t)&&!!VE(t)}function QE(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=KE(t);var o=YE(t),s=gF(t),i=lF(e);return i.verify(s,o,n)}function ZE(t,e){if(e=e||{},t=KE(t),!XE(t))return null;var n=VE(t);if(!n)return null;var r=yF(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:YE(t)}}function Ss(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 GE(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new GE(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))}fF.inherits(Ss,dF);Ss.prototype.verify=function(){try{var e=QE(this.signature.buffer,this.algorithm,this.key.buffer),n=ZE(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")}};Ss.decode=ZE;Ss.isValid=XE;Ss.verify=QE;eA.exports=Ss});var Sm=J(Nr=>{var nA=WE(),Yu=tA(),_F=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Nr.ALGORITHMS=_F;Nr.sign=nA.sign;Nr.verify=Yu.verify;Nr.decode=Yu.decode;Nr.isValid=Yu.isValid;Nr.createSign=function(e){return new nA(e)};Nr.createVerify=function(e){return new Yu(e)}});var oA=J(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.buildPayloadForJwsSign=rA;Xu.getJwsSign=kF;var bF=Sm(),CF="RS256",wF="https://oauth2.googleapis.com/token";function rA(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:wF,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function kF(t){let e=rA(t);return(0,bF.sign)({header:{alg:CF},payload:e,secret:t.key})}});var sA=J(Em=>{"use strict";Object.defineProperty(Em,"__esModule",{value:!0});Em.getToken=TF;var SF=oA(),EF="https://oauth2.googleapis.com/token",AF="urn:ietf:params:oauth:grant-type:jwt-bearer",vF=t=>({method:"POST",url:EF,data:new URLSearchParams({grant_type:AF,assertion:(0,SF.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function TF(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=vF(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 iA=J(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.ErrorWithCode=void 0;var Am=class extends Error{code;constructor(e,n){super(e),this.code=n}};Qu.ErrorWithCode=Am});var Om=J(Dm=>{"use strict";Object.defineProperty(Dm,"__esModule",{value:!0});Dm.getCredentials=DF;var RF=require("path"),aA=require("fs"),xF=require("util"),Zu=iA(),cA=aA.readFile?(0,xF.promisify)(aA.readFile):async()=>{throw new Zu.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},Mr;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(Mr||(Mr={}));var vm=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await cA(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 Zu.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:r,clientEmail:o}}},Tm=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await cA(this.keyFilePath,"utf8")}}},Rm=class{async getCredentials(){throw new Zu.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")}},xm=class{static create(e){switch(RF.extname(e)){case Mr.JSON:return new vm(e);case Mr.DER:case Mr.CRT:case Mr.PEM:return new Tm(e);case Mr.P12:case Mr.PFX:return new Rm;default:throw new Zu.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function DF(t){return xm.create(t).getCredentials()}});var uA=J(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.TokenHandler=void 0;var OF=sA(),PF=Om(),Pm=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,PF.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,OF.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}}};el.TokenHandler=Pm});var lA=J(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.revokeToken=NF;var IF="https://oauth2.googleapis.com/revoke?token=",FF=!0;async function NF(t,e){let n=IF+t;return await e.request({url:n,retry:FF})}});var Nm=J(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.GoogleToken=void 0;var MF=lt(),dA=uA(),BF=lA(),Fm=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,MF.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 dA.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,BF.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new dA.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};tl.GoogleToken=Fm});var Bm=J(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.JWTAccess=void 0;var UF=Sm(),jF=on(),fA={alg:"RS256",typ:"JWT"},Mm=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new jF.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?{...fA,kid:this.keyId}:fA,h=Object.assign(d,n),p=UF.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)}})})}};nl.JWTAccess=Mm});var jm=J(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.JWT=void 0;var pA=Nm(),LF=Om(),qF=Bm(),$F=Fr(),rl=Pt(),Um=class t extends $F.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!==rl.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==rl.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${rl.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 qF.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!==rl.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 pA.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 pA.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,LF.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.")}};ol.JWT=Um});var qm=J(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.UserRefreshClient=Es.USER_REFRESH_ACCOUNT_TYPE=void 0;var zF=Fr(),HF=Pt();Es.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Lm=class t extends zF.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 HF.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}};Es.UserRefreshClient=Lm});var zm=J(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.Impersonated=As.IMPERSONATED_ACCOUNT_TYPE=void 0;var hA=Fr(),WF=lt(),GF=on();As.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var $m=class t extends hA.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 hA.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,GF.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 WF.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}};As.Impersonated=$m});var Wm=J(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.OAuthClientAuthHandler=void 0;Qi.getErrorFromOAuthErrorResponse=VF;var vs=lt(),JF=Gi(),KF=["PUT","POST","PATCH"],Hm=class{#e=(0,JF.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new vs.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new vs.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=vs.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=vs.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=vs.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);vs.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!KF.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"]}}}};Qi.OAuthClientAuthHandler=Hm;function VF(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 il=J(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.StsCredentials=void 0;var YF=lt(),XF=Pt(),mA=Wm(),QF=on(),Gm=class t extends mA.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,QF.removeUndefinedValuesInObject)(o)),responseType:"json"};XF.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 YF.GaxiosError&&i.response?(0,mA.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};sl.StsCredentials=Gm});var Br=J(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.BaseExternalAccountClient=Wt.CLOUD_RESOURCE_MANAGER=Wt.EXTERNAL_ACCOUNT_TYPE=Wt.EXPIRATION_TIME_OFFSET=void 0;var ZF=lt(),eN=require("stream"),Jm=Pt(),tN=il(),gA=on(),nN=nm(),rN="urn:ietf:params:oauth:grant-type:token-exchange",oN="urn:ietf:params:oauth:token-type:access_token",Km="https://www.googleapis.com/auth/cloud-platform",sN=3600;Wt.EXPIRATION_TIME_OFFSET=300*1e3;Wt.EXTERNAL_ACCOUNT_TYPE="external_account";Wt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var iN="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",aN="https://sts.{universeDomain}/v1/token",Vm=class t extends Jm.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,gA.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Wt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Wt.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")??aN.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,gA.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 tN.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Km],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=a;let h=new RegExp(iN);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=sN),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"};Jm.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=ZF.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 eN.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:rN,audience:this.audience,requestedTokenType:oN,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Km]: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"};Jm.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||[Km]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${nN.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Wt.BaseExternalAccountClient=Vm});var yA=J(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.FileSubjectTokenSupplier=void 0;var Xm=require("util"),Qm=require("fs"),cN=(0,Xm.promisify)(Qm.readFile??(()=>{})),uN=(0,Xm.promisify)(Qm.realpath??(()=>{})),lN=(0,Xm.promisify)(Qm.lstat??(()=>{})),Ym=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 uN(e),!(await lN(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 cN(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}};al.FileSubjectTokenSupplier=Ym});var _A=J(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});cl.UrlSubjectTokenSupplier=void 0;var dN=Pt(),Zm=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};dN.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}};cl.UrlSubjectTokenSupplier=Zm});var bA=J(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.CertificateSubjectTokenSupplier=It.InvalidConfigurationError=It.CertificateSourceUnavailableError=It.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ul=on(),ll=require("fs"),dl=require("crypto"),fN=require("https");It.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var xn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};It.CertificateSourceUnavailableError=xn;var Gt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};It.InvalidConfigurationError=Gt;var eg=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Gt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Gt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Gt("Cannot create mTLS Agent with missing certificate or key");return new fN.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,ul.isValidFile)(e))return e;throw new xn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[It.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,ul.isValidFile)(n))return n;throw new xn(`Path from environment variable "${It.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,ul.getWellKnownCertificateConfigFileLocation)();if(await(0,ul.isValidFile)(r))return r;throw new xn(`Could not find certificate configuration file. Searched override path, the "${It.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ll.promises.readFile(e,"utf8")}catch{throw new xn(`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 Gt(`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 Gt?r:new Gt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ll.promises.readFile(e),new dl.X509Certificate(r)}catch(s){let i=s instanceof Error?s.message:String(s);throw new xn(`Failed to read certificate file at ${e}: ${i}`)}try{o=await ll.promises.readFile(n),(0,dl.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new xn(`Failed to read private key file at ${n}: ${i}`)}return{cert:r,key:o}}async#r(e){let n=new dl.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ll.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,d)=>{try{return new dl.X509Certificate(u)}catch(f){let h=f instanceof Error?f.message:String(f);throw new Gt(`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 Gt(`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 Gt)throw r;let o=r instanceof Error?r.message:String(r);throw new xn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};It.CertificateSubjectTokenSupplier=eg});var rg=J(fl=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});fl.IdentityPoolClient=void 0;var pN=Br(),tg=on(),hN=yA(),mN=_A(),CA=bA(),gN=il(),wA=lt(),ng=class t extends pN.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,tg.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,tg.originalOrCamelOptions)(r),i=(0,tg.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 hN.FileSubjectTokenSupplier({filePath:d,formatType:a,subjectTokenFieldName:u});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new mN.UrlSubjectTokenSupplier({url:f,formatType:a,subjectTokenFieldName:u,headers:p,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let b=new CA.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 CA.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new gN.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new wA.Gaxios({agent:n})}),this.transporter=new wA.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};fl.IdentityPoolClient=ng});var sg=J(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});hl.AwsRequestSigner=void 0;var pl=lt(),SA=Gi(),kA="AWS4-HMAC-SHA256",yN="aws4_request",og=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,SA.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 bN({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=pl.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:u.host},i||{});a.token&&pl.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}};hl.AwsRequestSigner=og;async function Zi(t,e,n){return await t.signWithHmacSha256(e,n)}async function _N(t,e,n,r,o){let s=await Zi(t,`AWS4${e}`,n),i=await Zi(t,s,r),a=await Zi(t,i,o);return await Zi(t,a,"aws4_request")}async function bN(t){let e=pl.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=pl.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}/${yN}`,C=`${kA}
|
|
88
88
|
${s}
|
|
89
|
-
${
|
|
90
|
-
`+await t.crypto.sha256DigestHex(h),y=await EF(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,r),w=await Wi(t.crypto,y,b),C=`${qE} Credential=${t.securityCredentials.accessKeyId}/${_}, SignedHeaders=${d}, Signature=${(0,$E.fromArrayBufferToHex)(w)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:C,canonicalQuerystring:t.canonicalQuerystring}}});var zE=J(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.DefaultAwsSecurityCredentialsSupplier=void 0;var Ku=Dt(),Tm=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};Ku.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 Ku.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 Ku.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 Ku.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}};Yu.DefaultAwsSecurityCredentialsSupplier=Tm});var xm=J(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.AwsClient=void 0;var AF=Am(),TF=Ir(),RF=zE(),HE=nn(),xF=lt(),Rm=class t extends TF.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,HE.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,HE.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 RF.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 AF.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 xF.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}))}};Xu.AwsClient=Rm});var Fm=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 Qu="urn:ietf:params:oauth:token-type:saml2",Dm="urn:ietf:params:oauth:token-type:id_token",Om="urn:ietf:params:oauth:token-type:jwt",Pm=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Zu("Executable response must contain a 'version' field.");if(e.success===void 0)throw new el("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!==Qu&&this.tokenType!==Dm&&this.tokenType!==Om)throw new tl(`Executable response must contain a 'token_type' field when successful and it must be one of ${Dm}, ${Om}, or ${Qu}.`);if(this.tokenType===Qu){if(!e.saml_response)throw new Gi(`Executable response must contain a 'saml_response' field when token_type=${Qu}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Gi(`Executable response must contain a 'id_token' field when token_type=${Dm} or ${Om}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new nl("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new rl("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=Pm;var vn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Xe.ExecutableResponseError=vn;var Zu=class extends vn{};Xe.InvalidVersionFieldError=Zu;var el=class extends vn{};Xe.InvalidSuccessFieldError=el;var Im=class extends vn{};Xe.InvalidExpirationTimeFieldError=Im;var tl=class extends vn{};Xe.InvalidTokenTypeFieldError=tl;var nl=class extends vn{};Xe.InvalidCodeFieldError=nl;var rl=class extends vn{};Xe.InvalidMessageFieldError=rl;var Gi=class extends vn{};Xe.InvalidSubjectTokenError=Gi});var Bm=J(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.PluggableAuthHandler=gs.ExecutableError=void 0;var yo=Fm(),DF=require("child_process"),Nm=require("fs"),ol=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)}};gs.ExecutableError=ol;var Mm=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=DF.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 yo.ExecutableResponse(u);return n(f)}catch(u){return u instanceof yo.ExecutableResponseError?r(u):r(new yo.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new ol(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Nm.promises.realpath(this.outputFile)}catch{return}if(!(await Nm.promises.lstat(e)).isFile())return;let n=await Nm.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new yo.ExecutableResponse(r).isValid()?new yo.ExecutableResponse(r):void 0}catch(r){throw r instanceof yo.ExecutableResponseError?r:new yo.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}};gs.PluggableAuthHandler=Mm});var jm=J(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.PluggableAuthClient=ys.ExecutableError=void 0;var OF=Ir(),PF=Fm(),WE=Bm(),IF=Bm();Object.defineProperty(ys,"ExecutableError",{enumerable:!0,get:function(){return IF.ExecutableError}});var FF=30*1e3,GE=5*1e3,JE=120*1e3,NF="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",VE=1,Um=class extends OF.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=FF;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<GE||this.timeoutMillis>JE)throw new Error(`Timeout must be between ${GE} and ${JE} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new WE.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[NF]!=="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>VE)throw new Error(`Version of executable is not currently supported, maximum supported version is ${VE}.`);if(!e.success)throw new WE.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new PF.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}};ys.PluggableAuthClient=Um});var qm=J(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.ExternalAccountClient=void 0;var MF=Ir(),BF=Em(),UF=xm(),jF=jm(),Lm=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===MF.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new UF.AwsClient(e):e.credential_source?.executable?new jF.PluggableAuthClient(e):new BF.IdentityPoolClient(e):null}};sl.ExternalAccountClient=Lm});var Hm=J(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.ExternalAccountAuthorizedUserClient=_s.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var YE=Dt(),KE=fm(),XE=lt(),LF=require("stream"),qF=Ir();_s.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var $F="https://sts.{universeDomain}/v1/oauthtoken",$m=class t extends KE.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"};YE.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 XE.GaxiosError&&o.response?(0,KE.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},zm=class extends YE.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 $m({tokenRefreshEndpoint:e.token_url??$F.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=qF.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=XE.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 LF.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}};_s.ExternalAccountAuthorizedUserClient=zm});var Gm=J(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.GdchClient=Fr.GDCH_SERVICE_ACCOUNT_TYPE=void 0;var zF=require("crypto"),HF=require("fs"),WF=require("https"),GF=Dr(),JF=3600;Fr.GDCH_SERVICE_ACCOUNT_TYPE="gdch_service_account";var Wm=class t extends GF.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!==Fr.GDCH_SERVICE_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Fr.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=zF.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 HF.promises.readFile(r);return new WF.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")}};Fr.GdchClient=Wm});var tv=J(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.GoogleAuth=sn.GoogleAuthExceptionMessages=void 0;var VF=require("child_process"),Ji=require("fs"),KF=lt(),Vi=Bi(),YF=require("os"),il=require("path"),XF=Ui(),QF=Ph(),ZF=Fh(),eN=Nh(),bs=im(),QE=cm(),Cs=lm(),tN=qm(),Ki=Ir(),Jm=Dt(),ZE=Hm(),Vm=Gm(),ev=nn();sn.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 _N(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,r),w=await Zi(t.crypto,m,C),_=`${kA} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${f}, Signature=${(0,SA.fromArrayBufferToHex)(w)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var EA=J(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.DefaultAwsSecurityCredentialsSupplier=void 0;var ml=Pt(),ig=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};ml.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 ml.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 ml.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 ml.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}};gl.DefaultAwsSecurityCredentialsSupplier=ig});var cg=J(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.AwsClient=void 0;var CN=sg(),wN=Br(),kN=EA(),AA=on(),SN=lt(),ag=class t extends wN.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,AA.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,AA.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 kN.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 CN.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 SN.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}))}};yl.AwsClient=ag});var pg=J(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.InvalidSubjectTokenError=Qe.InvalidMessageFieldError=Qe.InvalidCodeFieldError=Qe.InvalidTokenTypeFieldError=Qe.InvalidExpirationTimeFieldError=Qe.InvalidSuccessFieldError=Qe.InvalidVersionFieldError=Qe.ExecutableResponseError=Qe.ExecutableResponse=void 0;var _l="urn:ietf:params:oauth:token-type:saml2",ug="urn:ietf:params:oauth:token-type:id_token",lg="urn:ietf:params:oauth:token-type:jwt",dg=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new bl("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Cl("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!==_l&&this.tokenType!==ug&&this.tokenType!==lg)throw new wl(`Executable response must contain a 'token_type' field when successful and it must be one of ${ug}, ${lg}, or ${_l}.`);if(this.tokenType===_l){if(!e.saml_response)throw new ea(`Executable response must contain a 'saml_response' field when token_type=${_l}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new ea(`Executable response must contain a 'id_token' field when token_type=${ug} or ${lg}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new kl("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)}};Qe.ExecutableResponse=dg;var Dn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Qe.ExecutableResponseError=Dn;var bl=class extends Dn{};Qe.InvalidVersionFieldError=bl;var Cl=class extends Dn{};Qe.InvalidSuccessFieldError=Cl;var fg=class extends Dn{};Qe.InvalidExpirationTimeFieldError=fg;var wl=class extends Dn{};Qe.InvalidTokenTypeFieldError=wl;var kl=class extends Dn{};Qe.InvalidCodeFieldError=kl;var Sl=class extends Dn{};Qe.InvalidMessageFieldError=Sl;var ea=class extends Dn{};Qe.InvalidSubjectTokenError=ea});var gg=J(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.PluggableAuthHandler=Ts.ExecutableError=void 0;var Eo=pg(),EN=require("child_process"),hg=require("fs"),El=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)}};Ts.ExecutableError=El;var mg=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=EN.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 Eo.ExecutableResponse(u);return n(d)}catch(u){return u instanceof Eo.ExecutableResponseError?r(u):r(new Eo.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new El(s,a.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await hg.promises.realpath(this.outputFile)}catch{return}if(!(await hg.promises.lstat(e)).isFile())return;let n=await hg.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new Eo.ExecutableResponse(r).isValid()?new Eo.ExecutableResponse(r):void 0}catch(r){throw r instanceof Eo.ExecutableResponseError?r:new Eo.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}};Ts.PluggableAuthHandler=mg});var _g=J(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.PluggableAuthClient=Rs.ExecutableError=void 0;var AN=Br(),vN=pg(),vA=gg(),TN=gg();Object.defineProperty(Rs,"ExecutableError",{enumerable:!0,get:function(){return TN.ExecutableError}});var RN=30*1e3,TA=5*1e3,RA=120*1e3,xN="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",xA=1,yg=class extends AN.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=RN;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<TA||this.timeoutMillis>RA)throw new Error(`Timeout must be between ${TA} and ${RA} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new vA.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[xN]!=="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>xA)throw new Error(`Version of executable is not currently supported, maximum supported version is ${xA}.`);if(!e.success)throw new vA.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new vN.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=yg});var Cg=J(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});Al.ExternalAccountClient=void 0;var DN=Br(),ON=rg(),PN=cg(),IN=_g(),bg=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===DN.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new PN.AwsClient(e):e.credential_source?.executable?new IN.PluggableAuthClient(e):new ON.IdentityPoolClient(e):null}};Al.ExternalAccountClient=bg});var Sg=J(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.ExternalAccountAuthorizedUserClient=xs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var OA=Pt(),DA=Wm(),PA=lt(),FN=require("stream"),NN=Br();xs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var MN="https://sts.{universeDomain}/v1/oauthtoken",wg=class t extends DA.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"};OA.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 PA.GaxiosError&&o.response?(0,DA.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},kg=class extends OA.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 wg({tokenRefreshEndpoint:e.token_url??MN.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=NN.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=PA.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 FN.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}};xs.ExternalAccountAuthorizedUserClient=kg});var Ag=J(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.GdchClient=Ur.GDCH_SERVICE_ACCOUNT_TYPE=void 0;var BN=require("crypto"),UN=require("fs"),jN=require("https"),LN=Fr(),qN=3600;Ur.GDCH_SERVICE_ACCOUNT_TYPE="gdch_service_account";var Eg=class t extends LN.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||qN,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!==Ur.GDCH_SERVICE_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Ur.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=BN.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 UN.promises.readFile(r);return new jN.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")}};Ur.GdchClient=Eg});var MA=J(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.GoogleAuth=cn.GoogleAuthExceptionMessages=void 0;var $N=require("child_process"),ta=require("fs"),zN=lt(),na=Wi(),HN=require("os"),vl=require("path"),WN=Gi(),GN=dm(),JN=pm(),KN=hm(),Ds=jm(),IA=qm(),Os=zm(),VN=Cg(),ra=Br(),vg=Pt(),FA=Sg(),Tg=Ag(),NA=on();cn.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 Km=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(sn.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===sn.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(sn.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 Vi.universe("universe-domain"),e||=Jm.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Jm.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,ev.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Jm.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 bs.JWT?n.scopes=this.scopes:n instanceof Ki.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof bs.JWT?n.scopes=this.scopes:n instanceof Ki.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new QF.Compute(e));throw new Error(sn.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=Vi.getGCPResidency()||await Vi.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=il.join(process.env.APPDATA,"gcloud"));else{let s=process.env.HOME;s&&(n=il.join(s,".config","gcloud"))}if(!n)return null;let r=il.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!==Cs.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Cs.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 Cs.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){let r,o=(0,ev.originalOrCamelOptions)(n).get("universe_domain");return e.type===QE.USER_REFRESH_ACCOUNT_TYPE?(r=new QE.UserRefreshClient(n),r.fromJSON(e)):e.type===Cs.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===Ki.EXTERNAL_ACCOUNT_TYPE?(r=tN.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===ZE.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new ZE.ExternalAccountAuthorizedUserClient({...e,...n}):e.type===Vm.GDCH_SERVICE_ACCOUNT_TYPE?(r=new Vm.GdchClient(n),r.fromJSON(e)):(n.scopes=this.scopes,r=new bs.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 bs.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 bs.JWT({...n,apiKey:e})}_isWindows(){let e=YF.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,VF.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!==Ki.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Vi.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 Cs.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ki.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([Vi.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(sn.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=il.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 ZF.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=KF.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,eN.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 Cs.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,XF.createCrypto)();if(r instanceof bs.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}};sn.GoogleAuth=Km});var nv=J(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.IAMAuth=void 0;var Ym=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}}};al.IAMAuth=Ym});var rv=J(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.DownscopedClient=An.EXPIRATION_TIME_OFFSET=An.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var nN=lt(),rN=require("stream"),Xm=Dt(),oN=Lu(),sN="urn:ietf:params:oauth:grant-type:token-exchange",iN="urn:ietf:params:oauth:token-type:access_token",aN="urn:ietf:params:oauth:token-type:access_token";An.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;An.EXPIRATION_TIME_OFFSET=300*1e3;var Qm=class extends Xm.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Xm.AuthClient?{}:e),e instanceof Xm.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>An.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${An.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 oN.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=nN.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 rN.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:sN,requestedTokenType:iN,subjectToken:e,subjectTokenType:aN},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}};An.DownscopedClient=Qm});var ov=J(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});cl.PassThroughClient=void 0;var cN=Dt(),Zm=class extends cN.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};cl.PassThroughClient=Zm});var ul=J(ne=>{"use strict";var uN=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]})),lN=ne&&ne.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&uN(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 sv=tv();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return sv.GoogleAuth}});ne.gcpMetadata=Bi();ne.gaxios=lt();var iv=Dt();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return iv.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return iv.DEFAULT_UNIVERSE}});var dN=Ph();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return dN.Compute}});var fN=Nh();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return fN.GCPEnv}});var pN=nv();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return pN.IAMAuth}});var hN=Fh();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return hN.IdTokenClient}});var mN=om();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return mN.JWTAccess}});var gN=im();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return gN.JWT}});var yN=lm();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return yN.Impersonated}});var eg=Dr();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return eg.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return eg.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return eg.ClientAuthentication}});var _N=Rh();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return _N.LoginTicket}});var bN=cm();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return bN.UserRefreshClient}});var CN=xm();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return CN.AwsClient}});var wN=Am();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return wN.AwsRequestSigner}});var kN=Em();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return kN.IdentityPoolClient}});var SN=qm();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return SN.ExternalAccountClient}});var EN=Ir();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return EN.BaseExternalAccountClient}});var vN=rv();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return vN.DownscopedClient}});var av=jm();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return av.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return av.ExecutableError}});var cv=Hm();Object.defineProperty(ne,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return cv.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(ne,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return cv.ExternalAccountAuthorizedUserClient}});var AN=ov();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return AN.PassThroughClient}});var uv=Gm();Object.defineProperty(ne,"GdchClient",{enumerable:!0,get:function(){return uv.GdchClient}});Object.defineProperty(ne,"GDCH_SERVICE_ACCOUNT_TYPE",{enumerable:!0,get:function(){return uv.GDCH_SERVICE_ACCOUNT_TYPE}});lN(nm(),ne);var TN=new sv.GoogleAuth;ne.auth=TN});var $T=J((tW,wy)=>{"use strict";var AL=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,TL=/(\w*(\.\w*)*)\..*/;wy.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,qT(r.stack)}};function qT(t){let e=t.match(AL);return e?e[1].split(/[/\\]/).slice(-1)[0].match(TL)[1]:"anonymous"}wy.exports.extractPluginName=qT});var HT=J((nW,zT)=>{"use strict";zT.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var WT=J((rW,Sd)=>{"use strict";var RL=$T(),xL=HT(),DL=0;function ky(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=RL(t)+"-auto-"+DL++),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=xL(e.name);return!n&&!t[r]&&(t[r]=t),t}Sd.exports=ky;Sd.exports.default=ky;Sd.exports.fastifyPlugin=ky});var da,Sy=_r(()=>{"use strict";da=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 Rg=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(cn.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===cn.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(cn.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 na.universe("universe-domain"),e||=vg.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=vg.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,NA.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=vg.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 Ds.JWT?n.scopes=this.scopes:n instanceof ra.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof Ds.JWT?n.scopes=this.scopes:n instanceof ra.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new GN.Compute(e));throw new Error(cn.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=na.getGCPResidency()||await na.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=vl.join(process.env.APPDATA,"gcloud"));else{let s=process.env.HOME;s&&(n=vl.join(s,".config","gcloud"))}if(!n)return null;let r=vl.join(n,"application_default_credentials.json");return ta.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=ta.realpathSync(e),!ta.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=ta.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!==Os.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Os.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 Os.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){let r,o=(0,NA.originalOrCamelOptions)(n).get("universe_domain");return e.type===IA.USER_REFRESH_ACCOUNT_TYPE?(r=new IA.UserRefreshClient(n),r.fromJSON(e)):e.type===Os.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===ra.EXTERNAL_ACCOUNT_TYPE?(r=VN.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===FA.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new FA.ExternalAccountAuthorizedUserClient({...e,...n}):e.type===Tg.GDCH_SERVICE_ACCOUNT_TYPE?(r=new Tg.GdchClient(n),r.fromJSON(e)):(n.scopes=this.scopes,r=new Ds.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 Ds.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 Ds.JWT({...n,apiKey:e})}_isWindows(){let e=HN.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,$N.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!==ra.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await na.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 Os.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ra.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([na.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(cn.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 Tg.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=vl.resolve(this.keyFilename),n=ta.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 JN.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=zN.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,KN.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 Os.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,WN.createCrypto)();if(r instanceof Ds.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}};cn.GoogleAuth=Rg});var BA=J(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.IAMAuth=void 0;var xg=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}}};Tl.IAMAuth=xg});var UA=J(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.DownscopedClient=On.EXPIRATION_TIME_OFFSET=On.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var YN=lt(),XN=require("stream"),Dg=Pt(),QN=il(),ZN="urn:ietf:params:oauth:grant-type:token-exchange",eM="urn:ietf:params:oauth:token-type:access_token",tM="urn:ietf:params:oauth:token-type:access_token";On.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;On.EXPIRATION_TIME_OFFSET=300*1e3;var Og=class extends Dg.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dg.AuthClient?{}:e),e instanceof Dg.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>On.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${On.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 QN.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=YN.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 XN.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:ZN,requestedTokenType:eM,subjectToken:e,subjectTokenType:tM},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}};On.DownscopedClient=Og});var jA=J(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.PassThroughClient=void 0;var nM=Pt(),Pg=class extends nM.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Rl.PassThroughClient=Pg});var xl=J(ne=>{"use strict";var rM=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]})),oM=ne&&ne.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&rM(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 LA=MA();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return LA.GoogleAuth}});ne.gcpMetadata=Wi();ne.gaxios=lt();var qA=Pt();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return qA.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return qA.DEFAULT_UNIVERSE}});var sM=dm();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return sM.Compute}});var iM=hm();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return iM.GCPEnv}});var aM=BA();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return aM.IAMAuth}});var cM=pm();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return cM.IdTokenClient}});var uM=Bm();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return uM.JWTAccess}});var lM=jm();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return lM.JWT}});var dM=zm();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return dM.Impersonated}});var Ig=Fr();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return Ig.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return Ig.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return Ig.ClientAuthentication}});var fM=am();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return fM.LoginTicket}});var pM=qm();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return pM.UserRefreshClient}});var hM=cg();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return hM.AwsClient}});var mM=sg();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return mM.AwsRequestSigner}});var gM=rg();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return gM.IdentityPoolClient}});var yM=Cg();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return yM.ExternalAccountClient}});var _M=Br();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return _M.BaseExternalAccountClient}});var bM=UA();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return bM.DownscopedClient}});var $A=_g();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return $A.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return $A.ExecutableError}});var zA=Sg();Object.defineProperty(ne,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return zA.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(ne,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return zA.ExternalAccountAuthorizedUserClient}});var CM=jA();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return CM.PassThroughClient}});var HA=Ag();Object.defineProperty(ne,"GdchClient",{enumerable:!0,get:function(){return HA.GdchClient}});Object.defineProperty(ne,"GDCH_SERVICE_ACCOUNT_TYPE",{enumerable:!0,get:function(){return HA.GDCH_SERVICE_ACCOUNT_TYPE}});oM(Nm(),ne);var wM=new LA.GoogleAuth;ne.auth=wM});var dR=J((YW,zy)=>{"use strict";var QL=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,ZL=/(\w*(\.\w*)*)\..*/;zy.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,lR(r.stack)}};function lR(t){let e=t.match(QL);return e?e[1].split(/[/\\]/).slice(-1)[0].match(ZL)[1]:"anonymous"}zy.exports.extractPluginName=lR});var pR=J((XW,fR)=>{"use strict";fR.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var hR=J((QW,qd)=>{"use strict";var eq=dR(),tq=pR(),nq=0;function Hy(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=eq(t)+"-auto-"+nq++),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=tq(e.name);return!n&&!t[r]&&(t[r]=t),t}qd.exports=Hy;qd.exports.default=Hy;qd.exports.fastifyPlugin=Hy});var ba,Wy=Sr(()=>{"use strict";ba=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 fa,Ey=_r(()=>{"use strict";fa=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})}}}});var Ms,vy,GT,pa,Ay=_r(()=>{"use strict";Ms=require("fs"),vy=require("path"),GT=require("os"),pa=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=(0,GT.tmpdir)();this.baseDir=(0,vy.join)(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,Ms.existsSync)(this.baseDir)||(0,Ms.mkdirSync)(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(0,vy.join)(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(0,Ms.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var Ty,Bs,JT=_r(()=>{"use strict";Sy();Ey();Ay();Ty=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 da(e.config);break;case"webhook":n=new fa(e.config);break;case"temp-file":n=new pa(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)}},Bs=new Ty});var IL={};Rf(IL,{ANTIGRAVITY_CLIENT_ID:()=>dd,ANTIGRAVITY_CLIENT_SECRET:()=>fd,ANTIGRAVITY_REDIRECT_URI:()=>hy,ANTIGRAVITY_SCOPES:()=>rT,ConfigService:()=>Kr,DEFAULT_LOG_BODY_MAX_BYTES:()=>Yf,ProviderService:()=>eo,SSEParserTransform:()=>Hn,SSESerializerTransform:()=>to,TokenizerService:()=>ko,TransformerService:()=>wo,calculateTokenCount:()=>cp,default:()=>PL,diffHeadersForLog:()=>ub,exchangeAuthorizationCode:()=>_T,fetchUserEmail:()=>yT,getGlobalTokenSpeedStats:()=>Dy,getTokenSpeedStats:()=>xy,getValidAccessToken:()=>oa,isClientAbortError:()=>Ge,isRoutedLlmPost:()=>xb,listClientRouteRegistrations:()=>lc,loadTokens:()=>na,matchClientProtocol:()=>wr,pluginManager:()=>Cy,protocolErrorBody:()=>Bo,resolveProjectId:()=>hd,rewriteStream:()=>pp,router:()=>hc,sanitizeBodyForLog:()=>cb,sanitizeHeadersForLog:()=>sc,saveTokens:()=>pd,searchProjectBySession:()=>up,sessionUsageCache:()=>fc,tokenSpeedPlugin:()=>Oy});module.exports=cR(IL);var YT=tt(require("fastify"),1),XT=tt(require("@fastify/cors"),1),QT=tt(K0(),1),ZT=require("@caeliq/ccr-shared");var pi=require("fs"),Vf=require("path"),ib=require("dotenv"),ab=tt(Jf(),1),Kr=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:(0,Vf.join)(process.cwd(),this.options.jsonPath);if((0,pi.existsSync)(e))try{let n=(0,pi.readFileSync)(e,"utf-8"),r=ab.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:(0,Vf.join)(process.cwd(),this.options.envPath);if((0,pi.existsSync)(e))try{let n=(0,ib.config)({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 Kf="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function et(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(`"(${Kf})"\\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 MR=new RegExp(`^(?:${Kf})$`,"i"),BR=6,UR=20;function oc(t,e=0){if(t==null)return t;if(!(e>BR)){if(typeof t=="string")return et(t);if(Array.isArray(t))return t.slice(0,UR).map(n=>oc(n,e+1));if(typeof t=="object"){let n={};for(let[r,o]of Object.entries(t))n[r]=MR.test(r)?"[redacted]":oc(o,e+1);return n}return t}}var Yf=32768;function cb(t,e=Yf){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(`"(${Kf})"\\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 jR(t,e){return t.split(`
|
|
102
|
-
`).map(n=>
|
|
103
|
-
`).slice(0,e)}function
|
|
104
|
-
`):""}function
|
|
105
|
-
`);return s.trim()?Cb(s):void 0}function Xr(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}:tp}return r}function Qr(t){let e=Je(t.messages||[]),n=Ve(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:tp}];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:tp},{...t,messages:e,...n?{tools:n}:{}}}}return{...t,messages:e,...n?{tools:n}:{}}}function ic(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 kb(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 Sb(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function ex(t){for(let e=t.length-1;e>=0;e-=1)if(Sb(t[e]))return e;return-1}function hi(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=Yt(n,t);if(o&&!r.prompt_cache_key&&(r.prompt_cache_key=o),kb(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=ex(i.content);u>=0&&s.push({messageIndex:c,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,f)=>{u?.cache_control&&Sb(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=Je(r.messages),r.tools=Ve(r.tools),r}function ac(t,e){return kb(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function tx(t){return String(t?.name||"").trim().toLowerCase()}function nx(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function np(t,e){let n={...t,messages:Je(t.messages||[]),tools:Ve(t.tools)},r=Yt(e,t);return r&&(n.prompt_cache_key=r),n}function cc(t,e,n){let r=tx(e),o=nx(e);return r==="openai"||r==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?hi(t,e,n):r==="qwen"||r==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?Qr(t):r==="mistral"||r==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?np(t,n):{...t,messages:Je(t.messages||[]),tools:Ve(t.tools)}}async function Eb(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 vb(t,e){let n=e.toLowerCase();return Object.keys(t).find(r=>r.toLowerCase()===n)}function uc(t,e){let n={...t||{}};if(!e)return n;for(let[r,o]of Object.entries(e)){let s=vb(n,r);s&&delete n[s],o!==void 0&&o!=="undefined"&&(n[r]=o)}return n}var rx=new Set(["content-length","content-encoding","transfer-encoding","connection","content-type","keep-alive"]);function Ab(t){let e={};return t&&t.forEach((n,r)=>{rx.has(r.toLowerCase())||(e[r]=n)}),e}var ox=new Set(["retry-after","request-id","x-request-id","openai-request-id"]),sx=["anthropic-ratelimit-","x-ratelimit-"];function rp(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();!(ox.has(s)||sx.some(c=>s.startsWith(c)))||e[s]!==void 0||(e[s]=o)}return e}function Tb(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=vb(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"))}var Zr=require("@caeliq/ccr-shared");var Rb=[{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"}],ix=["/v1/completions","/completions","/v1beta/interactions","/v1/interactions"],ax=/^\/preset\/[^/]+/;function cx(t){let e=t.split("?")[0]||"/";return e.length>1&&e.endsWith("/")?e.slice(0,-1):e||"/"}function ux(t){let e=t.match(ax);if(!e)return{suffix:t};let n=e[0];return{suffix:t.slice(n.length)||"/",presetPrefix:n}}function lx(t){return ix.some(e=>t===e)}function dx(t){for(let e of Rb){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 wr(t,e){if(t.toUpperCase()!=="POST")return null;let n=cx(e),{suffix:r,presetPrefix:o}=ux(n);if(lx(r))return null;let s=dx(r);return s?{...s,presetPrefix:o}:null}function xb(t,e){return wr(t,e)!==null}function lc(){let t=[];for(let e of Rb){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 Db(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}}var Ob=require("crypto"),Pb=/^[a-zA-Z0-9_-]+$/,Ib=/[^a-zA-Z0-9_-]+/g,Fb=256;function fx(t){return t.length>0&&t.length<=Fb&&Pb.test(t)}function op(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=op(t.replace(Ib,"_").slice(0,Fb));return e.length?e:void 0}var Nb=64,Mb=20,px=Nb-Mb-1;function hx(t){return t.length>0&&t.length<=Nb&&Pb.test(t)}function Ct(t){if(typeof t!="string"||t.length===0)return;if(hx(t))return t;let e=op(t.replace(Ib,"_")),n=op(e.slice(0,px))||"call",r=(0,Ob.createHash)("sha256").update(t,"utf8").digest("base64url").slice(0,Mb);return`${n}_${r}`}function jo(){return{forward:new Map,reverse:new Map}}function mi(t,e,n="client_to_unified"){if(typeof e!="string"||!e)return;if(n==="unified_to_client"){let i=Ct(e)??e;if(t.reverse.has(i))return i}let r=t.forward.get(e);if(r)return r;let o=Ct(e)??e,s=0;for(;t.reverse.has(o)&&t.reverse.get(o)!==e;)s+=1,o=Ct(`${e}_${s}`)||`call_${s}`;return t.forward.set(e,o),t.reverse.set(o,e),o}function dc(t,e=jo()){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 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)gx(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=_x(t.tools),s=bx(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 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");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 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:mi(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:mi(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: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:""}function _x(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 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?.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 Bb(t,e){let n=e?.callIdMap??jo(),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=mi(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=zb(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 Ub(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??jo()}}function jb(t,e){return e.map(n=>({...n,sequence_number:t.sequenceNumber++}))}function Lb(t,e){t.created||(t.created=!0,e.push({type:"response.created",response:$b(t,"in_progress")}))}function qb(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)&&Lb(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:mi(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=mi(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),jb(e,n)}function sp(t,e){if(t.finished)return[];t.finished=!0;let n=[];Lb(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=$b(t,"completed",e||t.usage);return n.push({type:"response.completed",response:r}),jb(t,n)}function $b(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:zb(n)}}function zb(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 gi(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 Hb(t,e,n){let r=e&&typeof e=="object"?Lo(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=Db(t,{originalModel:s,stream:o});return{normalizationInput:r,context:i}}async function Wb(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 dc(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 Lo(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}var wx=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"]),kx=["x-stainless-"];function Gb(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(u=>s.startsWith(u))))continue;let c=Array.isArray(o)?o[0]:o;typeof c=="string"&&c&&(e[s]=c)}return e}function Jb(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]}var Yb=require("tiktoken");var ip=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())}},fc=new ip(100);var ap=require("fs/promises"),yi=require("fs/promises"),at=require("path"),qo=require("@caeliq/ccr-shared"),Xb=require("lru-cache"),Sx=(0,Yb.get_encoding)("cl100k_base"),zn=t=>Sx.encode(t,void 0,[]),Vb="<CCR-SUBAGENT-MODEL>",Kb="</CCR-SUBAGENT-MODEL>",_i="x-anthropic-billing-header",$o=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Qb(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 Ex(t){let e=`${_i}:`;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 $o(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 pc(t,e){let n=t.indexOf(Vb);if(n<0)return;let r=n+Vb.length,o=t.indexOf(Kb,r);if(o<0)return;let s=Qb(t.slice(r,o));if(s)return e(`${t.slice(0,n)}${t.slice(o+Kb.length)}`),s}function Zb(t,e){if(typeof t=="string")return pc(t,e);if(!(!$o(t)||typeof t.text!="string"))return pc(t.text,e)}function vx(t){let e=t?.system;if(typeof e=="string")return pc(e,n=>{t.system=n});if(Array.isArray(e))for(let n=0;n<e.length;n+=1){let r=e[n],o=Zb(r,s=>{typeof r=="string"?e[n]=s:$o(r)&&(r.text=s)});if(o)return o}}function Ax(t){if(typeof t.content=="string")return pc(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=Zb(r,s=>{typeof r=="string"?e[n]=s:$o(r)&&(r.text=s)});if(o)return o}}function Tx(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(!$o(r)||r.role!=="user")continue;let o=Ax(r);if(o)return o}}function eC(t){return vx(t)||Tx(t)}function tC(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:$o(n)&&n.type==="text"&&typeof n.text=="string"?n.text:void 0;return r?.startsWith(_i)?{present:!0,isSubagent:Ex(r)}:{present:!1,isSubagent:!1}}var cp=(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},Rx=async(t,e)=>{if(t.sessionId){let n=await up(t.sessionId);if(n){let r=(0,at.resolve)(qo.HOME_DIR),o=(0,at.resolve)(r,(0,at.basename)(n)),s=(0,at.relative)(r,o);if(!s||s.startsWith(".."))return;let i=`${(0,at.basename)(String(t.sessionId))}.json`,c=(0,at.join)(o,"config.json"),u=(0,at.join)(o,i);try{let f=JSON.parse(await(0,ap.readFile)(u,"utf8"));if(f&&f.Router)return f.Router}catch{}try{let f=JSON.parse(await(0,ap.readFile)(c,"utf8"));if(f&&f.Router)return f.Router}catch{}}}};function nC(t){return t.unifiedBody&&typeof t.unifiedBody=="object"?t.unifiedBody:t.body}function xx(t){return!t.clientProtocol||t.clientProtocol==="anthropic_messages"}function Dx(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 Ox(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 Px=async(t,e,n,r)=>{let o=await Rx(t,n),s=n.get("providers")||[],i=o||n.get("Router"),c=nC(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(xx(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=Qb(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 Dx(c?.tools)&&i?.webSearch?{model:i.webSearch,scenarioType:"webSearch"}:Ox(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"}},Ix=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{}},hc=async(t,e,n)=>{let{configService:r,event:o}=n,s=nC(t),i=t.body?.metadata?.user_id??s?.metadata?.user_id;t.sessionId=Ix(i);let c=fc.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=cp(u,f,d),t.tokenCount=y;let w,C=r.get("CUSTOM_ROUTER_PATH");if(C)try{w=await require(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 Px(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"}},kr=new Xb.LRUCache({max:1e3}),up=async(t,e)=>{if(kr.has(t)){let n=kr.get(t);return!n||n===""?null:n}try{if(!(await(0,yi.stat)(qo.CLAUDE_PROJECTS_DIR)).isDirectory())return kr.set(t,""),null}catch(n){return n?.code==="ENOENT"?(kr.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",n),kr.set(t,""),null)}try{let n=await(0,yi.opendir)(qo.CLAUDE_PROJECTS_DIR),r=[];for await(let u of n)u.isDirectory()&&r.push(u.name);let o=(0,at.resolve)(qo.CLAUDE_PROJECTS_DIR),s=`${(0,at.basename)(String(t))}.jsonl`,i=r.map(async u=>{let f=(0,at.resolve)(o,(0,at.basename)(u)),d=(0,at.relative)(o,f);if(!d||d.startsWith(".."))return null;let p=(0,at.join)(f,s);try{return(await(0,yi.stat)(p)).isFile()?u:null}catch{return null}}),c=await Promise.all(i);for(let u of c)if(u)return kr.set(t,u),u;return kr.set(t,""),null}catch(n){return(e?.error??console.error)("Error searching for project by session:",n),kr.set(t,""),null}};var rC=require("fs/promises");async function oC(t,e,n,r,o){let s=t.pathname||String(t.url||o).split("?")[0]||o,i=t.protocolMatch||wr(t.method,s)||wr("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}=Hb(i,c,u);i.protocol==="anthropic_messages"&&await Fx(f,d,n.configService);let p={req:t,signal:void 0,clientProtocol:i.protocol,protocolContext:d},h=await Wb(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 hc(_,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=Nx(h.model,i.protocol);return n.providerService.getProvider(C.providerName)||mc(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 Fx(t,e,n){let r=tC(t);e.claudeCodeSubagent=r.isSubagent,e.taggedSubagentModel=eC(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(0,rC.readFile)(o,"utf-8");s[1].text=`${i}<env>${s[1].text.split("<env>").pop()}`}}function Nx(t,e){let n=typeof t=="string"?t.trim():"";n||mc(e,"Missing model. Configure Router.default or send provider,model.",400,"missing_model","invalid_request_error"),n.includes(",")||mc(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)&&mc(e,`Invalid model '${n}'. Expected provider,model.`,400,"invalid_model","invalid_request_error"),{providerName:r,modelName:s}}function mc(t,e,n,r,o="api_error"){let s=Bo(t,e,n,r,o),i=W(e,s.statusCode,r,o);throw i.protocolBody=s.body,i}function gc(t,e,n,r){return n?Jb(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 bi(t,e,n){return!!(n&&t.transformer?.passthrough===!0&&t.transformer?.use?.some(r=>r?.name===e.name))}async function Mx(t,e,n,r,o){let s=fb(t,e),i=s.signal;s.arm();let c;try{c=await oC(t,e,n,r,o)}catch(f){throw Ge(f)||i.aborted?typeof f=="string"?hn(f):hn(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=gc(u,r,c.protocolContext,c.modelName),d=bi(u,r,c.protocolContext),p=c.clientWireBody??c.originalBody,h=f||d?{...typeof p=="object"&&p?Lo(p):{},model:c.modelName}:Lo(c.unifiedBody),{requestBody:_,config:b,bypass:y}=await iC(h,u,r,t.headers,{req:t,provider:u,signal:i,clientProtocol:c.protocolContext.protocol,protocolContext:c.protocolContext,skipClientNormalization:!0}),w=await aC(_,b,u,n,y,r,{req:t,signal:i,protocolContext:c.protocolContext}),C=await cC(_,w,u,r,y,{req:t,signal:i,protocolContext:c.protocolContext,skipClientNormalization:y});return await uC(C,e,c.originalBody,i,c.protocolContext.stream)}catch(f){if(Ge(f))throw typeof f=="string"?hn(f):f;if(i.aborted)throw hn(i.reason??f);if(ep(f)){let d=await Bx(t,e,n,r,f,i);if(d)return d;if(i.aborted)throw hn(i.reason??bt)}throw f}}async function Bx(t,e,n,r,o,s){let i=t.scenarioType||"default",c=n.configService.get("fallback"),u=pb(c,i);if(!u?.length||s?.aborted||Ge(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:Cr(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let f=0,d=Zf(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 Qf(d,s)}catch(p){if(Ge(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={...Lo(_?.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=gc(A,r,_?.protocolContext,w),x=bi(A,r,_?.protocolContext),O=_?.clientWireBody??_?.originalBody,q=T||x?{...typeof O=="object"&&O?Lo(O):{},model:w}:C,{requestBody:$,config:H,bypass:ae}=await iC(q,A,r,t.headers,{req:v,provider:A,signal:s,clientProtocol:_?.protocolContext?.protocol,protocolContext:_?.protocolContext,skipClientNormalization:!0}),X=await aC($,H,A,n,ae,r,{req:v,signal:s,protocolContext:_?.protocolContext}),te=await cC($,X,A,r,ae,{req:v,signal:s,protocolContext:_?.protocolContext});return t.log.info(`Fallback model ${h} succeeded`),await uC(te,e,_?.originalBody??t.body,s,_?.protocolContext?.stream)}catch(_){if(Ge(_))throw _;if(s?.aborted)throw hn(s.reason??bt);if(!ep(_))throw t.log.warn({fallbackModel:h,error:Cr(_)},`Fallback model ${h} failed with a terminal error`),_;if(t.log.warn({fallbackModel:h,error:Cr(_)},`Fallback model ${h} failed`),p<u.length-1){let y=Zf(f,_?.headers?.["Retry-After"]??_?.headers?.["retry-after"]);if(f+=1,y>0){t.log.info(`Waiting ${y}ms before next fallback attempt`);try{await Qf(y,s)}catch(w){if(Ge(w)||s?.aborted)return null;throw w}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function iC(t,e,n,r,o){let s=t,i={},c=gc(e,n,o?.protocolContext,t?.model),u=bi(e,n,o?.protocolContext),f=c||e.transformer?.passthrough||o?.skipClientNormalization===!0;if(c&&(i.headers=Gb(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:uc(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:uc(i.headers,h.headers)}}else s=p}return!c&&!e.transformer?.use?.length&&Array.isArray(s?.messages)&&(s=cc(s,e,o)),{requestBody:s,config:i,bypass:c}}async function aC(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=uc(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=Tb(e?.headers,n.apiKey),{__authRecovery:f,...d}=e||{},h=await Eb(_=>Uo(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=et(_)||_.slice(0,240),y;try{y=JSON.parse(_)}catch{y=void 0}let w=y&&typeof y=="object"?y.error:void 0,C=rp(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=et(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?oc(y):void 0,provider:n.name,model:t.model},x}return h}async function cC(t,e,n,r,o,s){let i=e,c=o||bi(n,r,s?.protocolContext)||n.transformer?.passthrough&&!s?.protocolContext,u=bi(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 uC(t,e,n,r,o){t.ok||e.code(t.status);let s=rp(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=sC.Readable.fromWeb(t.body),u=!1,f=()=>{if(!u){u=!0;try{c.destroyed||c.destroy()}catch{}}},d=()=>{r&&r.removeEventListener("abort",f)};return mb(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"||Ge(h))&&f()}),e.raw.on("close",()=>{e.raw.writableEnded||f()}),c.on("error",h=>{h?.code==="ERR_STREAM_PREMATURE_CLOSE"||h?.code==="ABORT_ERR"||Ge(h)||e.log?.error?.(Cr(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 lp=async t=>{let e={config:{rateLimit:{...Zr.RATE_LIMIT_CONFIG}}};t.addHook("onRequest",async s=>{let i=String(s.url||"").split("?")[0]||"/",c=wr(s.method,i);s.pathname=i,c&&(s.protocolMatch=c,s.clientProtocol=c.protocol)}),t.get("/",e,async()=>({message:"LLMs API",version:bb})),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 lc()){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)=>Mx(u,f,t,i,c)))}t.post("/providers",{config:{rateLimit:{...Zr.RATE_LIMIT_CONFIG}},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||!Ux(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:{...Zr.RATE_LIMIT_CONFIG}},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:{...Zr.RATE_LIMIT_CONFIG}},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:{...Zr.RATE_LIMIT_CONFIG}},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:{...Zr.RATE_LIMIT_CONFIG}},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 Ux(t){try{return new URL(t),!0}catch{return!1}}var eo=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 ct=[];for(let t=0;t<256;++t)ct.push((t+256).toString(16).slice(1));function lC(t,e=0){return(ct[t[e+0]]+ct[t[e+1]]+ct[t[e+2]]+ct[t[e+3]]+"-"+ct[t[e+4]]+ct[t[e+5]]+"-"+ct[t[e+6]]+ct[t[e+7]]+"-"+ct[t[e+8]]+ct[t[e+9]]+"-"+ct[t[e+10]]+ct[t[e+11]]+ct[t[e+12]]+ct[t[e+13]]+ct[t[e+14]]+ct[t[e+15]]).toLowerCase()}var jx=new Uint8Array(16);function dp(){return crypto.getRandomValues(jx)}function Lx(t,e,n){return!e&&!t&&crypto.randomUUID?crypto.randomUUID():qx(t,e,n)}function qx(t,e,n){t=t||{};let r=t.random??t.rng?.()??dp();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 lC(r)}var mn=Lx;var dC=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var fp=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function $x(t){if(typeof t!="string")return!1;let e=t.trim();return fp.some(n=>e===n)}function zx(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 Ca,Gy=Sr(()=>{"use strict";Ca=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})}}}});var Ws,Jy,mR,wa,Ky=Sr(()=>{"use strict";Ws=require("fs"),Jy=require("path"),mR=require("os"),wa=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=(0,mR.tmpdir)();this.baseDir=(0,Jy.join)(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,Ws.existsSync)(this.baseDir)||(0,Ws.mkdirSync)(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(0,Jy.join)(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(0,Ws.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var Vy,Gs,gR=Sr(()=>{"use strict";Wy();Gy();Ky();Vy=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 ba(e.config);break;case"webhook":n=new Ca(e.config);break;case"temp-file":n=new wa(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)}},Gs=new Vy});var sq={};Gf(sq,{ANTIGRAVITY_CLIENT_ID:()=>xd,ANTIGRAVITY_CLIENT_SECRET:()=>Dd,ANTIGRAVITY_REDIRECT_URI:()=>My,ANTIGRAVITY_SCOPES:()=>vT,ConfigService:()=>Zr,DEFAULT_LOG_BODY_MAX_BYTES:()=>hp,ProviderService:()=>ao,SSEParserTransform:()=>Vn,SSESerializerTransform:()=>co,TokenizerService:()=>xo,TransformerService:()=>Ro,calculateTokenCount:()=>Tp,default:()=>oq,diffHeadersForLog:()=>Ob,exchangeAuthorizationCode:()=>qT,fetchUserEmail:()=>LT,getGlobalTokenSpeedStats:()=>Qy,getTokenSpeedStats:()=>Xy,getValidAccessToken:()=>fa,isClientAbortError:()=>Je,isRoutedLlmPost:()=>Qb,listClientRouteRegistrations:()=>Cc,loadTokens:()=>la,matchClientProtocol:()=>_n,pluginManager:()=>$y,protocolErrorBody:()=>Ho,resolveProjectId:()=>Pd,rewriteStream:()=>Np,router:()=>Ac,sanitizeBodyForLog:()=>Db,sanitizeHeadersForLog:()=>pc,saveTokens:()=>Od,searchProjectBySession:()=>Rp,sessionUsageCache:()=>Sc,tokenSpeedPlugin:()=>Zy});module.exports=OR(sq);var bR=tt(require("fastify"),1),CR=tt(require("@fastify/cors"),1),wR=tt(yb(),1),kR=require("@caeliq/ccr-shared");var ki=require("fs"),fp=require("path"),Rb=require("dotenv"),xb=tt(dp(),1),Zr=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:(0,fp.join)(process.cwd(),this.options.jsonPath);if((0,ki.existsSync)(e))try{let n=(0,ki.readFileSync)(e,"utf-8"),r=xb.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:(0,fp.join)(process.cwd(),this.options.envPath);if((0,ki.existsSync)(e))try{let n=(0,Rb.config)({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 pp="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function Ge(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(`"(${pp})"\\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 sx=new RegExp(`^(?:${pp})$`,"i"),ix=6,ax=20;function fc(t,e=0){if(t==null)return t;if(!(e>ix)){if(typeof t=="string")return Ge(t);if(Array.isArray(t))return t.slice(0,ax).map(n=>fc(n,e+1));if(typeof t=="object"){let n={};for(let[r,o]of Object.entries(t))n[r]=sx.test(r)?"[redacted]":fc(o,e+1);return n}return t}}var hp=32768;function Db(t,e=hp){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(`"(${pp})"\\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 cx(t,e){return t.split(`
|
|
102
|
+
`).map(n=>Ge(n)).filter(Boolean).join(`
|
|
103
|
+
`).slice(0,e)}function gn(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:Ge(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"?cx(e.stack,4e3):void 0,cause:r?Ge(r):void 0}}var ux=/^(?:authorization|x-api-key|api-key|cookie|set-cookie)$|token|secret|password|passwd/i;function lx(t){return ux.test(t)}function dx(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 pc(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=dx(o);if(s!=null){if(lx(r)){e[r]="[redacted]";continue}e[r]=s}}return e}function Ob(t,e){let n=pc(t),r=pc(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 bt="client disconnected";function gp(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 Fb(t,e){let n=new AbortController,r=e?.raw,o=!1,s=(a=bt)=>{n.signal.aborted||n.abort(a)},i=()=>{if(!o&&(o=!0,!!r)){if(mp(r)){s(`${bt} (already destroyed)`);return}r.on("close",()=>{!r.writableEnded&&mp(r)&&s(`${bt} (response close)`)}),r.on("error",a=>{(a?.code==="EPIPE"||a?.code==="ECONNRESET"||a?.code==="ERR_STREAM_PREMATURE_CLOSE"||Je(a))&&s(`${bt} (response error)`)})}};return{signal:n.signal,arm:i}}function fx(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 px(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function yp(t,e){let n=fx(e);return n!==void 0&&n>0?n:px(t)}function Nb(t,e){if(!t)return;let n=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(n)?n:void 0}var Pb=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 Mb(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 yn(t=bt){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:bt;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 Je(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(bt)||Ib(t);let e=t;if(Mb(e))return!1;let n=e.reason??e.cause;if(typeof n=="string"&&n.startsWith(bt)||typeof e.message=="string"&&e.message.startsWith(bt)||e.name==="AbortError"||e.code==="ABORT_ERR"||e.code==="ERR_STREAM_PREMATURE_CLOSE")return!0;let r=String(e.message||"");return Ib(r)}function mp(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function Bb(t){return mp(t.raw)}function eo(t){if(!t||Je(t))return!1;if(Mb(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&Pb.has(e.code)||e.cause?.code&&Pb.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 hx(t){return typeof t!="number"||!Number.isFinite(t)?!1:t===408||t===409||t===425||t===429?!0:t>=500&&t<=599}function _p(t){let e=t;if(!e||Je(e))return!1;if(eo(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?hx(n):e.code==="provider_response_error"}function Ho(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(Ge(t)||t);return s.statusCode=e,s.code=n,s.type=r,o&&(s.headers=o),s}async function Ub(t,e,n){if(Je(t)||n.raw.destroyed||n.sent)return e.log.debug(gn(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(gn(t),"request error");let r=t.statusCode||500,o=Ge(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=Ho(a,o,r,s,i).body),t.headers&&n.headers(t.headers),n.type("application/json"),n.code(r).send(u)}var MC=require("stream");var Lb=require("undici");function mx(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function gx(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function jb(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 yx(t,e){let[n,r]=e.split("/"),o=parseInt(r,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=jb(t),i=jb(n);if(s===null||i===null)return!1;let a=o===0?0:-1<<32-o>>>0;return(s&a)===(i&a)}function _x(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let n=mx(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=bx(i);if(a.startsWith(".")){if(n.endsWith(a)||n===a.slice(1))return!0;continue}if(a.includes("/")&&gx(n)){if(yx(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 bx(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 Wo(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&&!_x(d)&&(u.dispatcher=new Lb.ProxyAgent(new URL(n.httpsProxy).toString()));try{return await fetch(d,u)}catch(h){if(Je(h))throw typeof h=="string"?yn(h):h;if(n.signal?.aborted&&Je(n.signal.reason??bt))throw yn(n.signal.reason??h);if(eo(h)){let p=W(h?.message||"Provider network error",502,"provider_network_error");throw p.cause=h,p}throw h}}var qb="1.0.60";var zb=require("crypto"),bp={type:"ephemeral"};function Ke(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 Ve(t){return Array.isArray(t)?t.map(e=>{if(!e.cache_control)return e;let{cache_control:n,...r}=e;return r}):t}function $b(t){return`ccr_${(0,zb.createHash)("sha256").update(t).digest("hex").slice(0,48)}`}function wx(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 kx(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 Qt(t,e){let n=t?.req?.sessionId||wx(e?.metadata?.user_id);if(typeof n=="string"&&n)return $b(n);let r=(e.messages||[]).find(i=>i.role==="system"||i.role==="user"),o=r?kx(r.content):"",s=[e.model||"",o].join(`
|
|
105
|
+
`);return s.trim()?$b(s):void 0}function hc(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}:bp}return r}function to(t){let e=Ke(t.messages||[]),n=Ve(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:bp}];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:bp},{...t,messages:e,...n?{tools:n}:{}}}}return{...t,messages:e,...n?{tools:n}:{}}}function mc(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 Hb(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 Wb(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function Sx(t){for(let e=t.length-1;e>=0;e-=1)if(Wb(t[e]))return e;return-1}function Si(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=Qt(n,t);if(o&&!r.prompt_cache_key&&(r.prompt_cache_key=o),Hb(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=Sx(i.content);u>=0&&s.push({messageIndex:a,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,d)=>{u?.cache_control&&Wb(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=Ke(r.messages),r.tools=Ve(r.tools),r}function gc(t,e){return Hb(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function Ex(t){return String(t?.name||"").trim().toLowerCase()}function Ax(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function Cp(t,e){let n={...t,messages:Ke(t.messages||[]),tools:Ve(t.tools)},r=Qt(e,t);return r&&(n.prompt_cache_key=r),n}function yc(t,e,n){let r=Ex(e),o=Ax(e);return r==="openai"||r==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?Si(t,e,n):r==="qwen"||r==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?to(t):r==="mistral"||r==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?Cp(t,n):{...t,messages:Ke(t.messages||[]),tools:Ve(t.tools)}}function Tt(t){if(typeof t!="string")return;let e=t.trim().toLowerCase();return e||void 0}function Rt(t,e){return e?.type==="disabled"||t?.enabled===!1||Tt(t?.effort)==="none"}function Go(t,e){let n=Tt(t);if(!(!n&&e===void 0))return{...n?{effort:n}:{},enabled:n==="none"?!1:e??!0}}function _c(t){if(!t.reasoning)return t;let e=Rt(t.reasoning,t.thinking)?"none":Tt(t.reasoning.effort);return e&&(t.reasoning_effort=e),delete t.reasoning,t}function Gb(t){let e=Tt(t);if(!(!e||e==="none"))return e==="minimal"?"low":e==="ultra"?"max":e}async function Jb(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 Kb(t,e){let n=e.toLowerCase();return Object.keys(t).find(r=>r.toLowerCase()===n)}function bc(t,e){let n={...t||{}};if(!e)return n;for(let[r,o]of Object.entries(e)){let s=Kb(n,r);s&&delete n[s],o!==void 0&&o!=="undefined"&&(n[r]=o)}return n}var vx=new Set(["content-length","content-encoding","transfer-encoding","connection","content-type","keep-alive"]);function Vb(t){let e={};return t&&t.forEach((n,r)=>{vx.has(r.toLowerCase())||(e[r]=n)}),e}var Tx=new Set(["retry-after","request-id","x-request-id","openai-request-id"]),Rx=["anthropic-ratelimit-","x-ratelimit-"];function wp(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();!(Tx.has(s)||Rx.some(a=>s.startsWith(a)))||e[s]!==void 0||(e[s]=o)}return e}function Yb(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=Kb(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"))}var so=require("@caeliq/ccr-shared");var Xb=[{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"}],xx=["/v1/completions","/completions","/v1beta/interactions","/v1/interactions"],Dx=/^\/preset\/[^/]+/;function Ox(t){let e=t.split("?")[0]||"/";return e.length>1&&e.endsWith("/")?e.slice(0,-1):e||"/"}function Px(t){let e=t.match(Dx);if(!e)return{suffix:t};let n=e[0];return{suffix:t.slice(n.length)||"/",presetPrefix:n}}function Ix(t){return xx.some(e=>t===e)}function Fx(t){for(let e of Xb){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 _n(t,e){if(t.toUpperCase()!=="POST")return null;let n=Ox(e),{suffix:r,presetPrefix:o}=Px(n);if(Ix(r))return null;let s=Fx(r);return s?{...s,presetPrefix:o}:null}function Qb(t,e){return _n(t,e)!==null}function Cc(){let t=[];for(let e of Xb){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 Zb(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}}var eC=require("crypto"),tC=/^[a-zA-Z0-9_-]+$/,nC=/[^a-zA-Z0-9_-]+/g,rC=256;function Nx(t){return t.length>0&&t.length<=rC&&tC.test(t)}function kp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===95;)e--;return t.slice(0,e)}function Jn(t){if(typeof t!="string"||t.length===0)return;if(Nx(t))return t;let e=kp(t.replace(nC,"_").slice(0,rC));return e.length?e:void 0}var oC=64,sC=20,Mx=oC-sC-1;function Bx(t){return t.length>0&&t.length<=oC&&tC.test(t)}function Ct(t){if(typeof t!="string"||t.length===0)return;if(Bx(t))return t;let e=kp(t.replace(nC,"_")),n=kp(e.slice(0,Mx))||"call",r=(0,eC.createHash)("sha256").update(t,"utf8").digest("base64url").slice(0,sC);return`${n}_${r}`}function Jo(){return{forward:new Map,reverse:new Map}}function no(t,e,n="client_to_unified"){if(typeof e!="string"||!e)return;if(n==="unified_to_client"){let i=Ct(e)??e;if(t.reverse.has(i))return i}let r=t.forward.get(e);if(r)return r;let o=Ct(e)??e,s=0;for(;t.reverse.has(o)&&t.reverse.get(o)!==e;)s+=1,o=Ct(`${e}_${s}`)||`call_${s}`;return t.forward.set(e,o),t.reverse.set(o,e),o}function kc(t,e=Jo(),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(Ux(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)jx(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=qx(t.tools,n),i=$x(t.tool_choice),a=t.reasoning&&typeof t.reasoning=="object"?{...Go(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 Ux(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 iC(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 jx(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:no(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");iC(t,{id:no(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:no(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");iC(t,{id:no(n,r)??r,type:"function",function:{name:e.name,arguments:JSON.stringify({[wc]: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:Lx(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 Lx(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 wc="input";function Sp(t){if(!t)return"";try{let n=JSON.parse(t)?.[wc];if(typeof n=="string")return n}catch{}return t}function qx(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:{[wc]:{type:"string",description:"The freeform text/code input for this tool."}},required:[wc]}}}):{type:"function",function:{name:o,description:n.description||n.function?.description,parameters:n.parameters||n.schema||n.function?.parameters||{type:"object",properties:{}}}}})}}function $x(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 aC(t,e){let n=e?.callIdMap??Jo(),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=no(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:Sp(f)});continue}s.push({type:"function_call",id:d,call_id:d,name:u.function.name,arguments:f,status:"completed"})}let a=pC(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 cC(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??Jo(),customToolNames:t?.customToolNames??new Set}}function uC(t,e){return e.map(n=>({...n,sequence_number:t.sequenceNumber++}))}function lC(t,e){t.created||(t.created=!0,e.push({type:"response.created",response:fC(t,"in_progress")}))}function dC(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)&&lC(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=no(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=no(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),uC(e,n)}function Ep(t,e){if(t.finished)return[];t.finished=!0;let n=[];lC(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=Sp(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=fC(t,"completed",e||t.usage);return n.push({type:"response.completed",response:r}),uC(t,n)}function fC(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:Sp(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:pC(n)}}function pC(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 hC(t,e,n){let r=e&&typeof e=="object"?Ar(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=Zb(t,{originalModel:s,stream:o});return{normalizationInput:r,context:i}}async function mC(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 zx(e);if(t==="openai_responses")return kc(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 zx(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 Ar(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}var Hx=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"]),Wx=["proxy-","x-forwarded-","x-real-ip"];function gC(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(Hx.has(s)||Wx.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 yC(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]}var CC=require("tiktoken");var Ap=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())}},Sc=new Ap(100);var vp=require("fs/promises"),Ai=require("fs/promises"),at=require("path"),Ko=require("@caeliq/ccr-shared"),wC=require("lru-cache");var Gx=(0,CC.get_encoding)("cl100k_base"),Kn=t=>Gx.encode(t,void 0,[]),_C="<CCR-SUBAGENT-MODEL>",bC="</CCR-SUBAGENT-MODEL>",Vo="x-anthropic-billing-header",Yo=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function kC(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 Jx(t){let e=`${Vo}:`;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 Yo(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 Ec(t,e){let n=t.indexOf(_C);if(n<0)return;let r=n+_C.length,o=t.indexOf(bC,r);if(o<0)return;let s=kC(t.slice(r,o));if(s)return e(`${t.slice(0,n)}${t.slice(o+bC.length)}`),s}function SC(t,e){if(typeof t=="string")return Ec(t,e);if(!(!Yo(t)||typeof t.text!="string"))return Ec(t.text,e)}function Kx(t){let e=t?.system;if(typeof e=="string")return Ec(e,n=>{t.system=n});if(Array.isArray(e))for(let n=0;n<e.length;n+=1){let r=e[n],o=SC(r,s=>{typeof r=="string"?e[n]=s:Yo(r)&&(r.text=s)});if(o)return o}}function Vx(t){if(typeof t.content=="string")return Ec(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=SC(r,s=>{typeof r=="string"?e[n]=s:Yo(r)&&(r.text=s)});if(o)return o}}function Yx(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(!Yo(r)||r.role!=="user")continue;let o=Vx(r);if(o)return o}}function EC(t){return Kx(t)||Yx(t)}function AC(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:Yo(n)&&n.type==="text"&&typeof n.text=="string"?n.text:void 0;return r?.startsWith(Vo)?{present:!0,isSubagent:Jx(r)}:{present:!1,isSubagent:!1}}var Tp=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=Kn(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=Kn(s.text).length:s.type==="tool_use"?r+=Kn(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=Kn(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=Kn(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=Kn(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=Kn(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=Kn(o.name+o.description).length),o.input_schema&&(r+=Kn(JSON.stringify(o.input_schema)).length)}),r},Xx=async(t,e)=>{if(t.sessionId){let n=await Rp(t.sessionId);if(n){let r=(0,at.resolve)(Ko.HOME_DIR),o=(0,at.resolve)(r,(0,at.basename)(n)),s=(0,at.relative)(r,o);if(!s||s.startsWith(".."))return;let i=`${(0,at.basename)(String(t.sessionId))}.json`,a=(0,at.join)(o,"config.json"),u=(0,at.join)(o,i);try{let d=JSON.parse(await(0,vp.readFile)(u,"utf8"));if(d&&d.Router)return d.Router}catch{}try{let d=JSON.parse(await(0,vp.readFile)(a,"utf8"));if(d&&d.Router)return d.Router}catch{}}}};function vC(t){return t.unifiedBody&&typeof t.unifiedBody=="object"?t.unifiedBody:t.body}function Qx(t){return!t.clientProtocol||t.clientProtocol==="anthropic_messages"}function Zx(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 eD(t){if(Rt(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 tD=async(t,e,n,r)=>{let o=await Xx(t,n),s=n.get("providers")||[],i=o||n.get("Router"),a=vC(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(Qx(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=kC(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 Zx(a?.tools)&&i?.webSearch?{model:i.webSearch,scenarioType:"webSearch"}:eD(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"}},nD=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{}},Ac=async(t,e,n)=>{let{configService:r,event:o}=n,s=vC(t),i=t.body?.metadata?.user_id??s?.metadata?.user_id;t.sessionId=nD(i);let a=Sc.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=Tp(u,d,f),t.tokenCount=m;let w,_=r.get("CUSTOM_ROUTER_PATH");if(_)try{w=await require(_)(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 tD(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"}},vr=new wC.LRUCache({max:1e3}),Rp=async(t,e)=>{if(vr.has(t)){let n=vr.get(t);return!n||n===""?null:n}try{if(!(await(0,Ai.stat)(Ko.CLAUDE_PROJECTS_DIR)).isDirectory())return vr.set(t,""),null}catch(n){return n?.code==="ENOENT"?(vr.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",n),vr.set(t,""),null)}try{let n=await(0,Ai.opendir)(Ko.CLAUDE_PROJECTS_DIR),r=[];for await(let u of n)u.isDirectory()&&r.push(u.name);let o=(0,at.resolve)(Ko.CLAUDE_PROJECTS_DIR),s=`${(0,at.basename)(String(t))}.jsonl`,i=r.map(async u=>{let d=(0,at.resolve)(o,(0,at.basename)(u)),f=(0,at.relative)(o,d);if(!f||f.startsWith(".."))return null;let h=(0,at.join)(d,s);try{return(await(0,Ai.stat)(h)).isFile()?u:null}catch{return null}}),a=await Promise.all(i);for(let u of a)if(u)return vr.set(t,u),u;return vr.set(t,""),null}catch(n){return(e?.error??console.error)("Error searching for project by session:",n),vr.set(t,""),null}};var xC=require("fs/promises");var TC=require("crypto");var rD="59cf53e54c78",xp=process.env.ANTHROPIC_CLI_VERSION||"2.1.226",oD=process.env.CLAUDE_CODE_ENTRYPOINT??"unknown",RC=process.env.CLAUDE_CODE_ENTRYPOINT??"cli",ro="You are Claude Code, Anthropic's official CLI for Claude.";function sD(t){return typeof t=="string"?t:Array.isArray(t)?t.find(n=>n.type==="text")?.text??"":""}function iD(t){let e=t?.find(n=>n.role==="user");return e?sD(e.content):""}function aD(t,e){let n=[4,7,20].map(r=>t[r]||"0").join("");return(0,TC.createHash)("sha256").update(rD+n+e).digest("hex").slice(0,3)}function cD(){return"00000"}function uD(t,e=xp,n=oD){let r=process.env.CLAUDE_CODE_ATTRIBUTION_HEADER?.trim().toLowerCase();if(["0","false","no","off"].includes(r||""))return"";let o=aD(iD(t),e);return`${Vo}: cc_version=${e}.${o}; cc_entrypoint=${n}; cch=${cD()};`}function vc(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 Tc(t,e){for(let r=t.length-1;r>=0;r--)t[r].text.startsWith(Vo)&&t.splice(r,1);let n=uD(e);n&&t.unshift({type:"text",text:n})}function Rc(t){let e=t.findIndex(o=>o.text.startsWith(Vo)),n=e>=0?e+1:0,r=t[n];if(r?.text!==ro){if(r?.text.startsWith(ro)&&r.text.length>ro.length){let o={type:"text",text:r.text.slice(ro.length)};r.cache_control!==void 0&&(o.cache_control=r.cache_control),t.splice(n,1,{type:"text",text:ro},o);return}t.splice(n,0,{type:"text",text:ro})}}function xc(t,e){let n=t.findIndex(i=>i.text===ro);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 lD(t){return/^mcp_[A-Z]/.test(t)?t:`mcp_${t.charAt(0).toUpperCase()}${t.slice(1)}`}function dD(t){return!t.startsWith("mcp_")||t.length<=4?t:`${t.charAt(4).toLowerCase()}${t.slice(5)}`}function Dc(t,e){let n=r=>{let o=lD(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 Xo(t,e){let n=r=>{let o=r?.function?.name;typeof o=="string"&&(r.function.name=e?.get(o)??dD(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 oo(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 fD(t){return(Array.isArray(t?.system)?t.system:[]).some(n=>typeof n?.text=="string"&&n.text.startsWith("x-anthropic-billing-header"))}function pD(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 DC(t,e){let n=Dp(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 Dp(t,e){let n=oo(t,"user-agent")||"",r=oo(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(oo(t,"x-app")||""),cliSession:!!oo(t,"x-claude-code-session-id"),stainlessPackage:!!oo(t,"x-stainless-package-version"),billingSystem:fD(e),identitySystem:pD(e)}}function Oc(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 Pc(t){return t==="claude_desktop"||t==="claude_code"}async function Ic(t,e,n){if(e.anthropicClientKind!=="other"||e.anthropicDestinationInScope!==!0)return;let r=vc(t);Tc(r,t.messages),Rc(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(0,xC.readFile)(o,"utf-8");i.text=`${a}<env>${i.text.split("<env>").pop()}`}xc(r,t.messages);let s=new Map;Dc(t,s),hD(t,e.anthropicProviderMode),e.claudeAuthToolNameMap=s,e.anthropicPolicyApplied=!0,e.anthropicSystemTransformed=!0}function hD(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 mD={"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:[]}},OC=/\[1m\]$/i;function bn(t){let e=t||"",n=OC.test(e);return{modelId:e.replace(OC,""),requestedOneMillion:n}}function gD(t){if(!t)return"";let e=t.trim(),n=e.indexOf(",");return n>=0&&(e=e.slice(n+1)),e=bn(e).modelId.trim(),e=e.replace(/[-@]\d{8}$/,""),e.toLowerCase()}function Qo(t){let e=gD(t);if(e)return mD[e]}function Op(t,e){return t?.capabilities.includes(e)??!1}function PC(t){return(t?.capabilities.length??0)>0}var FC=require("@caeliq/ccr-shared");async function NC(t,e,n,r,o){let s=t.pathname||String(t.url||o).split("?")[0]||o,i=t.protocolMatch||_n(t.method,s)||_n("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}=hC(i,a,u);i.protocol==="anthropic_messages"?(f.anthropicClientKind=DC(t.headers,d),t.log?.debug?.({anthropicClientKind:f.anthropicClientKind,anthropicClientSignals:Dp(t.headers,d)},"classified Anthropic client"),await yD(d,f)):f.anthropicClientKind="other";let h={req:t,signal:void 0,clientProtocol:i.protocol,protocolContext:f},p=await mC(i.protocol,d,r,h);p.model=IC(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 Ac(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=IC(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 _=_D(p.model,i.protocol),A=bn(_.modelName);_.modelName=A.modelId,f.requestedOneMillion=A.requestedOneMillion;let S=n.providerService.getProvider(_.providerName);S||vi(i.protocol,`Provider '${_.providerName}' not found`,404,"provider_not_found"),p.model=_.modelName,b.provider=_.providerName,b.model=_.modelName;let T=Ar(p),x=Oc(S);return f.anthropicProviderMode=x,f.anthropicDestinationInScope=x!=="out_of_scope",f.anthropicNativeWire=i.protocol==="anthropic_messages"&&f.anthropicDestinationInScope&&Pc(f.anthropicClientKind||"other"),f.anthropicDestinationInScope&&f.anthropicClientKind==="other"&&await Ic(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 yD(t,e){let n=AC(t);e.claudeCodeSubagent=n.isSubagent,e.taggedSubagentModel=EC(t)}function _D(t,e){let n=typeof t=="string"?t.trim():"";n||vi(e,"Missing model. Configure Router.default or send provider,model.",400,"missing_model","invalid_request_error"),n.includes(",")||vi(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)&&vi(e,`Invalid model '${n}'. Expected provider,model.`,400,"invalid_model","invalid_request_error"),{providerName:r,modelName:s}}function IC(t,e,n){if(typeof t!="string")return t;let r=(0,FC.decodeClaudeModelAlias)(t);if(!r)return t;let o=bn(r).modelId;return e(o)||vi(n,`Encoded model alias resolves to an unconfigured model '${o}'.`,404,"model_not_found","invalid_request_error"),r}function vi(t,e,n,r,o="api_error"){let s=Ho(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?yC(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 Ti(t,e,n){return!!(n&&t.transformer?.passthrough===!0&&t.transformer?.use?.some(r=>r?.name===e.name))}function io(t){return t?.anthropicDestinationInScope===!0&&t?.anthropicClientKind==="other"}async function bD(t,e,n,r,o){let s=Fb(t,e),i=s.signal;s.arm();let a;try{a=await NC(t,e,n,r,o)}catch(d){throw Je(d)||i.aborted?typeof d=="string"?yn(d):yn(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)&&!io(a.protocolContext),f=!io(a.protocolContext)&&Ti(u,r,a.protocolContext),h=a.protocolContext.anthropicNativeWire?a.originalBody:a.clientWireBody??a.originalBody,p=a.protocolContext.anthropicNativeWire||d||f?{...typeof h=="object"&&h?Ar(h):{},model:a.modelName}:Ar(a.unifiedBody),{requestBody:b,config:C,bypass:m}=await BC(p,u,r,t.headers,{req:t,provider:u,signal:i,clientProtocol:a.protocolContext.protocol,protocolContext:a.protocolContext,skipClientNormalization:!0}),w=await UC(b,C,u,n,m,r,{req:t,signal:i,protocolContext:a.protocolContext}),_=await jC(b,w,u,r,m,{req:t,signal:i,protocolContext:a.protocolContext,skipClientNormalization:m});return await LC(_,e,a.originalBody,i,a.protocolContext.stream)}catch(d){if(Je(d))throw typeof d=="string"?yn(d):d;if(i.aborted)throw yn(i.reason??d);if(_p(d)){let f=await CD(t,e,n,r,d,i);if(f)return f;if(i.aborted)throw yn(i.reason??bt)}throw d}}async function CD(t,e,n,r,o,s){let i=t.scenarioType||"default",a=n.configService.get("fallback"),u=Nb(a,i);if(!u?.length||s?.aborted||Je(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:gn(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let d=0,f=yp(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 gp(f,s)}catch(h){if(Je(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=Oc(_),S=b?.protocolContext?{...b.protocolContext,anthropicProviderMode:A,anthropicDestinationInScope:A!=="out_of_scope",anthropicNativeWire:!!(b.protocolContext.protocol==="anthropic_messages"&&A!=="out_of_scope"&&Pc(b.protocolContext.anthropicClientKind||"other")),anthropicPolicyApplied:!1,anthropicSystemTransformed:!1,claudeAuthToolNameMap:new Map}:b?.protocolContext,T={...Ar(b?.prePolicyUnifiedBody||b?.unifiedBody||t.unifiedBody||t.body),model:w};S?.anthropicDestinationInScope&&S.anthropicClientKind==="other"&&await Ic(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)&&!io(S),q=!io(S)&&Ti(_,r,S),$=S?.anthropicNativeWire?b?.originalBody:b?.clientWireBody??b?.originalBody,z=S?.anthropicNativeWire||O||q?{...typeof $=="object"&&$?Ar($):{},model:w}:T,{requestBody:ae,config:X,bypass:ee}=await BC(z,_,r,t.headers,{req:x,provider:_,signal:s,clientProtocol:b?.protocolContext?.protocol,protocolContext:S,skipClientNormalization:!0}),Z=await UC(ae,X,_,n,ee,r,{req:x,signal:s,protocolContext:S}),Re=await jC(ae,Z,_,r,ee,{req:x,signal:s,protocolContext:S});return t.log.info(`Fallback model ${p} succeeded`),await LC(Re,e,b?.originalBody??t.body,s,S?.stream)}catch(b){if(Je(b))throw b;if(s?.aborted)throw yn(s.reason??bt);if(!_p(b))throw t.log.warn({fallbackModel:p,error:gn(b)},`Fallback model ${p} failed with a terminal error`),b;if(t.log.warn({fallbackModel:p,error:gn(b)},`Fallback model ${p} failed`),h<u.length-1){let m=yp(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 gp(m,s)}catch(w){if(Je(w)||s?.aborted)return null;throw w}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function BC(t,e,n,r,o){let s=t,i={},a=Fc(e,n,o?.protocolContext,t?.model),u=!!(o?.protocolContext?.anthropicNativeWire===!0||a&&!io(o?.protocolContext)),d=io(o?.protocolContext),f=!d&&Ti(e,n,o?.protocolContext),h=u||!d&&e.transformer?.passthrough||o?.skipClientNormalization===!0;if(u&&(i.headers=gC(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:bc(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:bc(i.headers,C.headers)}}else s=b}return!u&&!e.transformer?.use?.length&&Array.isArray(s?.messages)&&(s=_c(s),s=yc(s,e,o)),{requestBody:s,config:i,bypass:u}}async function UC(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=bc(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=Yb(e?.headers,n.apiKey),{__authRecovery:f,...h}=e||{},b=await Jb(C=>Wo(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=Ge(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=wp(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=Ge(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?fc(w):void 0,provider:n.name,model:t.model},O}return b}async function jC(t,e,n,r,o,s){let i=e,a=io(s?.protocolContext),u=o||!a&&Ti(n,r,s?.protocolContext)||n.transformer?.passthrough&&!s?.protocolContext,d=!a&&Ti(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 LC(t,e,n,r,o){t.ok||e.code(t.status);let s=wp(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=MC.Readable.fromWeb(t.body),u=!1,d=()=>{if(!u){u=!0;try{a.destroyed||a.destroy()}catch{}}},f=()=>{r&&r.removeEventListener("abort",d)};return Bb(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"||Je(p))&&d()}),e.raw.on("close",()=>{e.raw.writableEnded||d()}),a.on("error",p=>{p?.code==="ERR_STREAM_PREMATURE_CLOSE"||p?.code==="ABORT_ERR"||Je(p)||e.log?.error?.(gn(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 Pp=async t=>{let e={config:{rateLimit:{...so.RATE_LIMIT_CONFIG}}};t.addHook("onRequest",async s=>{let i=String(s.url||"").split("?")[0]||"/",a=_n(s.method,i);s.pathname=i,a&&(s.protocolMatch=a,s.clientProtocol=a.protocol)}),t.get("/",e,async()=>({message:"LLMs API",version:qb})),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 Cc()){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)=>bD(u,d,t,i,a)))}t.post("/providers",{config:{rateLimit:{...so.RATE_LIMIT_CONFIG}},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||!wD(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:{...so.RATE_LIMIT_CONFIG}},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:{...so.RATE_LIMIT_CONFIG}},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:{...so.RATE_LIMIT_CONFIG}},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:{...so.RATE_LIMIT_CONFIG}},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 wD(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}`,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 ct=[];for(let t=0;t<256;++t)ct.push((t+256).toString(16).slice(1));function qC(t,e=0){return(ct[t[e+0]]+ct[t[e+1]]+ct[t[e+2]]+ct[t[e+3]]+"-"+ct[t[e+4]]+ct[t[e+5]]+"-"+ct[t[e+6]]+ct[t[e+7]]+"-"+ct[t[e+8]]+ct[t[e+9]]+"-"+ct[t[e+10]]+ct[t[e+11]]+ct[t[e+12]]+ct[t[e+13]]+ct[t[e+14]]+ct[t[e+15]]).toLowerCase()}var kD=new Uint8Array(16);function Ip(){return crypto.getRandomValues(kD)}function SD(t,e,n){return!e&&!t&&crypto.randomUUID?crypto.randomUUID():ED(t,e,n)}function ED(t,e,n){t=t||{};let r=t.random??t.rng?.()??Ip();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 qC(r)}var Cn=SD;var $C=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Fp=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function AD(t){if(typeof t!="string")return!1;let e=t.trim();return Fp.some(n=>e===n)}function vD(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 TD(t){return!t||typeof t!="object"?!1:t.type==="image"?!!t.source:t.type!=="tool_result"&&t.type!=="text"}function RD(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:vD(o.content),isError:o.is_error===!0});continue}if(o?.type==="text"&&typeof o.text=="string"){r&&AD(o.text)?e.interruption="synthetic_client_interrupt":o.text.trim()&&(e.steering="meaningful");continue}TD(o)&&(e.steering="meaningful")}return e}function xD(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 zC(t){return{source:"anthropic",sourceSessionIdentity:xD(t.metadata),turnIntent:RD(t.messages)}}var Vn=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 co=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 Np=(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 Nc(t,e,n,r){let o={...r,...gn(n)};t?.error?t.error(o,e):console.error(e,o)}function DD(t){if(Je(t)||!eo(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 Oe(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 Vn).pipeThrough(new co).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){Nc(n?.logger,"Error processing line",m,{line:Ge(C)}),u.enqueue(r.encode(C+`
|
|
119
|
+
`))}}}catch(f){if(!i){let h=DD(f);Nc(n?.logger,"Stream error",h);let p=!1;try{p=n?.onError?.(h,d)===!0}catch(b){Nc(n?.logger,"Stream error handler failed",b)}o=!p,p||u.error(h)}}finally{s=null;try{n?.onComplete?.(d)}catch(f){Nc(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:{...Vb(t.headers),"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function Ee(t,e){return e.encode(`data: ${t}
|
|
120
|
+
|
|
121
|
+
`)}function xe(t,e){return e.encode(t+`
|
|
122
|
+
`)}var Mc=tt(nw(),1),KD={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"},Mp="\u26A0\uFE0F Upstream ended the turn without a reply";function Ri(t){return t?KD[t.toUpperCase()]||t.toLowerCase():null}function Bp(t){let e=t?.finishReason;if(!e||String(e).toUpperCase()==="STOP")return null;let n=String(t?.finishMessage||"").trim();return`${Mp} (${String(e).toUpperCase()})`+(n?`: ${n}`:"")}var Bc=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 Uc(t,e){return e[t]||t}function jc(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 Lc(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 Zo(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 qc(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 xi(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof Mc.default=="function"?Mc.default:Mc.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 rw(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 Rr(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 Up(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 ow(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],i=Uc(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}:{}})}),jc(s.content).forEach(d=>{a.push(qc(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:Lc(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=Zo(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})),hc(r)}function sw(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 $c(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=Up(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:Rr(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 Oe(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:Rr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
116
126
|
|
|
117
|
-
`)}function
|
|
118
|
-
`)}var yc=tt(vC(),1),dD={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 Ci(t){return t?dD[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 _c=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:Ci(n?.finishReason)}});return}this.flushBufferedContent({chunk:e,candidate:n,mode:n?.finishReason?"finish":"buffered",finishReason:Ci(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 bc(t,e){return e[t]||t}function Cc(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 wc(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 zo(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 kc(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 wi(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof yc.default=="function"?yc.default:yc.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 AC(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 Er(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=bc(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}:{}})}),Cc(s.content).forEach(f=>{c.push(kc(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:wc(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=zo(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})),Xr(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 Sc(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=gp(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:Er(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 Ie(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:Rr(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:Rr(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:Rr(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:Rr(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:Up(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:Rr({...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:Up(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:Rr(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}var Jp=require("crypto");var wt=require("fs"),es=require("path"),jp=require("os"),aw=require("crypto"),VD=(0,es.join)((0,jp.homedir)(),".claude-code-router","claude_auth.json"),YD=(0,es.join)((0,jp.homedir)(),".claude-code-router","claude_device.json"),XD=/^[0-9a-f]{64}$/;function cw(){return process.env.CCR_CLAUDE_AUTH_FILE||VD}function QD(){return process.env.CCR_CLAUDE_DEVICE_FILE||YD}var iw={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 Lp(){try{let t=cw();if(!(0,wt.existsSync)(t))return null;let e=(0,wt.readFileSync)(t,"utf-8"),n=JSON.parse(e);return n.access_token?n:null}catch{return null}}function qp(t){let e=cw(),n=(0,es.dirname)(e);(0,wt.existsSync)(n)||(0,wt.mkdirSync)(n,{recursive:!0}),(0,wt.writeFileSync)(e,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function ZD(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function $p(t){let e=await fetch(iw.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:iw.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 zp(){let t=Lp();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(ZD(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 $p(t.refresh_token),qp(t)}return t}function uw(){let t=QD();try{if((0,wt.existsSync)(t)){let r=JSON.parse((0,wt.readFileSync)(t,"utf-8"));if(typeof r.device_id=="string"&&XD.test(r.device_id))return r.device_id}}catch{}let e=(0,aw.randomBytes)(32).toString("hex"),n=(0,es.dirname)(t);return(0,wt.existsSync)(n)||(0,wt.mkdirSync)(n,{recursive:!0}),(0,wt.writeFileSync)(t,JSON.stringify({device_id:e},null,2),{mode:384,encoding:"utf-8"}),e}function Di(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 lw="oauth-2025-04-20";function eO(...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 Hp(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 tO(t){return t?.startsWith("claude-cli/")??!1}function Wp(t){return t.clientBeta?.trim()?eO(t.clientBeta,lw):lw}function Kp(t,e){let{requestedOneMillion:n}=bn(t),r=Qo(t),o=u=>Op(r,u),i=bn(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"),PC(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 Vp(t,e){if(!t||!e)return t;let n=bn(t).modelId;return Qo(n)?.nativeOneMillion?n:`${n}[1m]`}function Yp(t,e){let n=o=>Op(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 nO="0.94.0";function rO(){switch(process.arch){case"arm64":return"arm64";case"x64":return"x64";default:return process.arch}}function oO(){switch(process.platform){case"darwin":return"MacOS";case"linux":return"Linux";case"win32":return"Windows";default:return process.platform}}var Gp;function dw(){return Gp||(Gp=(0,Jp.randomUUID)()),Gp}var sO=new Set(["authorization","x-api-key","anthropic-beta","cookie","set-cookie","host","content-length","content-encoding","connection","transfer-encoding","upgrade","te","trailer"]);function iO(){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||sO.has(r.toLowerCase())||(t[r]=o)}return t}function Xp(){let t=[RC,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/${xp} (external, ${t})`,"x-app":"cli","anthropic-dangerous-direct-browser-access":"true","X-Claude-Code-Session-Id":dw(),"x-client-request-id":(0,Jp.randomUUID)(),"x-stainless-arch":rO(),"x-stainless-lang":"js","x-stainless-os":oO(),"x-stainless-package-version":nO,"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"}:{},...iO()}}function Qp(){return{user_id:JSON.stringify({device_id:uw(),account_uuid:"",session_id:dw()})}}var zc=class{name="claude-auth";logger;async transformRequestIn(e,n,r){let o=await zp(),s=r?.req?.headers||{},i=Hp(s,"user-agent"),a=r?.protocolContext?.anthropicClientKind||(tO(i)?"claude_code":"other"),u=a==="claude_code",d=!r?.protocolContext||r.protocolContext.anthropicDestinationInScope===!0;if(a==="other"&&d&&!r?.protocolContext?.anthropicPolicyApplied){let b=vc(e);Tc(b,e.messages),Rc(b),xc(b,e.messages);let C=new Map;Dc(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?Hp(s,"anthropic-beta"):void 0,h=Wp(u?{clientBeta:f}:{clientBeta:Kp(Vp(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=Hp(s,b);C&&(p[b]=C)}else{Object.assign(p,Xp());let b=Qo(e.model);r&&(r.claudeAuthPostBuildHook=C=>{Yp(C,b),C.metadata={...C.metadata||{},...Qp()}})}return{body:e,config:{headers:p,__authRecovery:()=>this.recoverUnauthorizedAuth(o.access_token)}}}async auth(e,n,r){let o=await zp(),s=r?.req?.headers||{},i=oo(s,"anthropic-beta");return{body:e,config:{url:Di(n?.baseUrl),headers:{Authorization:`Bearer ${o.access_token}`,"anthropic-beta":Wp({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 Xo(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 Oe(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));Xo(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=Lp();if(n?.access_token&&n.access_token!==e)return{Authorization:`Bearer ${n.access_token}`};if(!n?.refresh_token)return null;let r=await $p(n.refresh_token);return qp(r),{Authorization:`Bearer ${r.access_token}`}}};function Hc(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 aO(t,e){if(!t||typeof t!="object")return;let n=structuredClone(t);if(n.effort!==void 0){let r=e?void 0:Gb(n.effort);r?n.effort=r:delete n.effort}return Object.keys(n).length?n:void 0}var Wc=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:Di(n.baseUrl),headers:o}}}async transformRequestIn(e,n,r){let o=t.buildAnthropicBody(e,this.logger,r);o.model=bn(o.model).modelId;let s=r?.protocolContext,a=s?.anthropicDestinationInScope===!0&&s.anthropicClientKind==="other"&&s.anthropicPolicyApplied===!0&&s?.anthropicProviderMode==="api_key";a&&(Yp(o,Qo(o.model)),o.metadata={...o.metadata||{},...Qp()}),r?.claudeAuthPostBuildHook?.(o);let u=Di(n?.baseUrl),d={"Content-Type":"application/json","anthropic-version":"2023-06-01"};return a&&Object.assign(d,Xp(),{"anthropic-beta":Kp(Vp(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 $c(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 Xo(i,o),new Response(JSON.stringify(i),{status:r.status,statusText:r.statusText,headers:r.headers})}return s.includes("text/event-stream")&&r.body?Oe(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));Xo(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=zC(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:Jn(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"?$C(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:Jn(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=Tt(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={...Go(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:Jn(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:Jn(_.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=Rt(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=aO(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}},ae=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:{},Re=typeof Z.type=="string"?Z.type:"api_error",qe=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:Re,message:qe}})}
|
|
156
168
|
|
|
157
|
-
`)),i.close(),
|
|
158
|
-
`);Z=Te.pop()||"";for(let We of Te){if(
|
|
169
|
+
`)),i.close(),A=!0}catch(Z){try{i.error(Z)}catch(Re){this.logger?.error(Re)}}},X=null;try{X=e.getReader(),r=X;let ee=new TextDecoder,Z="";for(;!A;){let{done:Re,value:qe}=await X.read();if(Re)break;Z+=ee.decode(qe,{stream:!0});let Te=Z.split(`
|
|
170
|
+
`);Z=Te.pop()||"";for(let We of Te){if(A||b)break;if(!We.startsWith("data:"))continue;let te=We.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 le={type:"error",message:{type:"api_error",message:JSON.stringify(Q.error)}};$(a.encode(`event: error
|
|
159
171
|
data: ${JSON.stringify(le)}
|
|
160
172
|
|
|
161
|
-
`));continue}if(
|
|
173
|
+
`));continue}if(f=Q.model||f,!h&&!A&&!b){h=!0;let le={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(le)}
|
|
163
175
|
|
|
164
|
-
`))}let se=Q.choices?.[0];if(Q.usage&&(
|
|
176
|
+
`))}let se=Q.choices?.[0];if(Q.usage&&(d?d.usage=Hc(Q.usage):d={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:Hc(Q.usage)}),!se)continue;if(se?.delta?.thinking&&!A&&!b){if(x>=0&&!S){let le={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
165
177
|
data: ${JSON.stringify(le)}
|
|
166
178
|
|
|
167
|
-
`)),x=-1,
|
|
179
|
+
`)),x=-1,p=!1}if(!S){let le=q(),be={type:"content_block_start",index:le,content_block:{type:"thinking",thinking:""}};$(a.encode(`event: content_block_start
|
|
168
180
|
data: ${JSON.stringify(be)}
|
|
169
181
|
|
|
170
|
-
`)),x=le,
|
|
182
|
+
`)),x=le,S=!0}if(se.delta.thinking.signature){let le={type:"content_block_delta",index:x,delta:{type:"signature_delta",signature:se.delta.thinking.signature}};$(a.encode(`event: content_block_delta
|
|
171
183
|
data: ${JSON.stringify(le)}
|
|
172
184
|
|
|
173
|
-
`));let be={type:"content_block_stop",index:x};$(
|
|
185
|
+
`));let be={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
174
186
|
data: ${JSON.stringify(be)}
|
|
175
187
|
|
|
176
|
-
`)),x=-1,
|
|
188
|
+
`)),x=-1,S=!1}else if(se.delta.thinking.content){let le={type:"content_block_delta",index:x,delta:{type:"thinking_delta",thinking:se.delta.thinking.content||""}};$(a.encode(`event: content_block_delta
|
|
177
189
|
data: ${JSON.stringify(le)}
|
|
178
190
|
|
|
179
|
-
`))}}if(se?.delta?.content&&!
|
|
191
|
+
`))}}if(se?.delta?.content&&!A&&!b){if(w++,x>=0&&!p){let be={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
180
192
|
data: ${JSON.stringify(be)}
|
|
181
193
|
|
|
182
|
-
`)),x=-1,
|
|
194
|
+
`)),x=-1,S=!1}if(!p&&!b){p=!0;let le=q(),be={type:"content_block_start",index:le,content_block:{type:"text",text:""}};$(a.encode(`event: content_block_start
|
|
183
195
|
data: ${JSON.stringify(be)}
|
|
184
196
|
|
|
185
|
-
`)),x=le}if(!
|
|
197
|
+
`)),x=le}if(!A&&!b){let le={type:"content_block_delta",index:x,delta:{type:"text_delta",text:se.delta.content}};$(a.encode(`event: content_block_delta
|
|
186
198
|
data: ${JSON.stringify(le)}
|
|
187
199
|
|
|
188
|
-
`))}}if(se?.delta?.annotations?.length&&!
|
|
200
|
+
`))}}if(se?.delta?.annotations?.length&&!A&&!b){if(O+=se.delta.annotations.length,x>=0&&p){let le={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
189
201
|
data: ${JSON.stringify(le)}
|
|
190
202
|
|
|
191
|
-
`)),x=-1,
|
|
192
|
-
data: ${JSON.stringify(
|
|
203
|
+
`)),x=-1,p=!1}se?.delta?.annotations.forEach(le=>{let be=q(),V={type:"content_block_start",index:be,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Cn()}`,content:[{type:"web_search_result",title:le.url_citation.title,url:le.url_citation.url}]}};$(a.encode(`event: content_block_start
|
|
204
|
+
data: ${JSON.stringify(V)}
|
|
193
205
|
|
|
194
|
-
`));let
|
|
195
|
-
data: ${JSON.stringify(
|
|
206
|
+
`));let Ye={type:"content_block_stop",index:be};$(a.encode(`event: content_block_stop
|
|
207
|
+
data: ${JSON.stringify(Ye)}
|
|
196
208
|
|
|
197
|
-
`))})}if(se?.delta?.tool_calls&&!
|
|
198
|
-
data: ${JSON.stringify(
|
|
209
|
+
`))})}if(se?.delta?.tool_calls&&!A&&!b){_++;let le=new Set;for(let be of se.delta.tool_calls){if(A)break;let V=be.index??0;if(le.has(V))continue;if(le.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 Fe=q();m.set(V,Fe);let Y=Jn(be.id)||`call_${Date.now()}_${V}`,ce=be.function?.name||`tool_${V}`,de={type:"content_block_start",index:Fe,content_block:{type:"tool_use",id:Y,name:ce,input:{}}};$(a.encode(`event: content_block_start
|
|
201
213
|
data: ${JSON.stringify(de)}
|
|
202
214
|
|
|
203
|
-
`)),x=Fe;let k={id:Y,name:ce,arguments:"",contentBlockIndex:Fe};
|
|
215
|
+
`)),x=Fe;let k={id:Y,name:ce,arguments:"",contentBlockIndex:Fe};C.set(V,k)}else if(be.id&&be.function?.name){let Fe=C.get(V);Fe.id.startsWith("call_")&&Fe.name.startsWith("tool_")&&(Fe.id=be.id,Fe.name=be.function.name)}if(be.function?.arguments&&!A&&!b){let Fe=m.get(V);if(Fe===void 0)continue;let Y=C.get(V);Y&&(Y.arguments+=be.function.arguments);try{let ce={type:"content_block_delta",index:Fe,delta:{type:"input_json_delta",partial_json:be.function.arguments}};$(a.encode(`event: content_block_delta
|
|
204
216
|
data: ${JSON.stringify(ce)}
|
|
205
217
|
|
|
206
|
-
`))}catch{try{let ce=be.function.arguments.replace(new RegExp("\\p{Cc}","gu"),"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),de={type:"content_block_delta",index:Fe,delta:{type:"input_json_delta",partial_json:ce}};$(
|
|
218
|
+
`))}catch{try{let ce=be.function.arguments.replace(new RegExp("\\p{Cc}","gu"),"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),de={type:"content_block_delta",index:Fe,delta:{type:"input_json_delta",partial_json:ce}};$(a.encode(`event: content_block_delta
|
|
207
219
|
data: ${JSON.stringify(de)}
|
|
208
220
|
|
|
209
|
-
`))}catch(ce){this.logger?.error(ce)}}}}}if(se?.finish_reason&&!
|
|
221
|
+
`))}catch(ce){this.logger?.error(ce)}}}}}if(se?.finish_reason&&!A&&!b){if(w===0&&_===0&&this.logger?.warn("No content in the stream response!"),x>=0){let le={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
210
222
|
data: ${JSON.stringify(le)}
|
|
211
223
|
|
|
212
|
-
`)),x=-1}if(!v){let be={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[se.finish_reason]||"end_turn";y.size>0&&be==="end_turn"&&(be="tool_use"),f={type:"message_delta",delta:{stop_reason:be,stop_sequence:null},usage:Ec(Q.usage)}}break}}catch(Q){this.logger?.error(`parseError: ${Q.name} message: ${Q.message} stack: ${Q.stack} data: ${ee}`)}}}H()}catch(te){ae(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_${mn()}`;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:$n(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:{...Ec(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 hD=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 vr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(r=>vr(r,e));let n={};for(let r in t){if(e!=="properties"&&!hD.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]=vr(o[i]);n[r]=s}else r==="items"?n[r]=vr(o,r):["anyOf","allOf","oneOf"].includes(r)&&Array.isArray(o)?n[r]=o.map(s=>vr(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 Ho(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(Ho);let e={};for(let h in t){let _=t[h];if(h==="properties"&&_&&typeof _=="object"){let b={};for(let y in _)b[y]=Ho(_[y]);e[h]=b}else h==="items"?e[h]=Ho(_):["anyOf","allOf","oneOf"].includes(h)&&Array.isArray(_)?e[h]=_.map(Ho):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 Ac(t){return!t||typeof t!="object"?t:vr(t)}var Si=["minimal","low","medium","high"];function mD(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function gD(t){let e=mD(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:Si}:{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 yD(t,e){let n=t.toLowerCase(),r=Si.filter(s=>e.includes(s));if(!r.length)return"high";if(n==="xhigh"||n==="max")return r[r.length-1];let o=Si.indexOf(n);return o<0?r[r.length-1]:r.find(s=>Si.indexOf(s)>=o)??r[r.length-1]}function _D(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function bD(t,e,n){return Math.min(Math.max(t,e),n)}function OC(t){let e=t.reasoning,n=t.thinking?.type==="disabled";if(!e||n)return;let r=gD(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=Si.filter(d=>r.levels.includes(d));return s?{includeThoughts:!1,thinkingLevel:f[0]}:o?{includeThoughts:!0,thinkingLevel:yD(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?_D(o,r.max):void 0;if(typeof c!="number")return{includeThoughts:!0};let u=bD(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 no=new Map,PC=(t,e)=>`${t||"default"}${e}`;function IC(t,e,n){if(!e||!n)return;let r=PC(t,e);for(no.delete(r),no.set(r,{signature:n,expiresAt:Date.now()+216e5});no.size>4096;){let o=no.keys().next();if(o.done)break;no.delete(o.value)}}function FC(t,e){if(!e)return;let n=PC(t,e),r=no.get(n);if(r){if(r.expiresAt<=Date.now()){no.delete(n);return}return r.signature}}function CD(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var Wo={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function wD(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(Wo).includes(r)?r:Wo.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(Wo).includes(o)?o:Wo.TYPE_UNSPECIFIED})}}}function Ei(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)&&wD(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(Wo).includes(u)?u:Wo.TYPE_UNSPECIFIED}else if(n.includes(i))e[i]=Ei(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(Ei(f))}e[i]=u}else if(o.includes(i)){let u={};for(let[f,d]of Object.entries(c))u[f]=Ei(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 kD(t,e){let n=r=>e?.collapseUnions?Ho(r):r;if(t.functionDeclarations)for(let r of t.functionDeclarations){if(!r.parameters)r.parameters={type:"OBJECT",properties:{}};else{let o=vr(r.parameters);r.parameters=n(Ei(o))}if(r.response){let o=vr(r.response);r.response=n(Ei(o))}}return t}var MC="skip_thought_signature_validator";function Tc(t,e){let n=[],r=t.tools||[],o=r.filter(C=>zo(C).name!=="web_search").map(C=>{let{name:v,description:A,parameters:T}=zo(C);return{name:AC(v),description:A,parameters:T??{type:"object",properties:{}}}});o?.length&&n.push(kD({functionDeclarations:o},{collapseUnions:CD(t.model)})),r.find(C=>zo(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=bc(C.role,{assistant:"model"}),A=[],T=C.thinking?.signature,x=T?.startsWith("ccr_")?void 0:T,O=$=>v==="model"&&($==="(no content)"||$.startsWith(hp));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 ae=H.text||"";ae&&!O(ae)&&A.push({text:ae})}}),Cc(C.content).forEach(H=>{A.push(kc(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 ae=$.id||`tool_${Math.random().toString(36).substring(2,15)}`,X=$.thought_signature||FC(e?.signatureScope,ae);return!X&&H===0&&(X=x||(h?MC:void 0)),{toolCall:$,id:ae,signature:X}}):[];if(q.length>0&&A.push(...q.map(({toolCall:$,id:H,signature:ae})=>({functionCall:{id:H,name:$.function.name,args:JSON.parse($.function.arguments||"{}")},...ae&&{thoughtSignature:ae}}))),A.length===0&&A.push({text:""}),i.push({role:v,parts:A}),v==="model"&&q.length>0){let $=q.map(({toolCall:H,id:ae})=>{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 be={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[se.finish_reason]||"end_turn";m.size>0&&be==="end_turn"&&(be="tool_use"),d={type:"message_delta",delta:{stop_reason:be,stop_sequence:null},usage:Hc(Q.usage)}}break}}catch(Q){this.logger?.error(`parseError: ${Q.name} message: ${Q.message} stack: ${Q.stack} data: ${te}`)}}}z()}catch(ee){ae(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_${Cn()}`;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:Jn(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:{...Hc(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 cO=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 xr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(r=>xr(r,e));let n={};for(let r in t){if(e!=="properties"&&!cO.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]=xr(o[i]);n[r]=s}else r==="items"?n[r]=xr(o,r):["anyOf","allOf","oneOf"].includes(r)&&Array.isArray(o)?n[r]=o.map(s=>xr(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 ts(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(ts);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]=ts(b[m]);e[p]=C}else p==="items"?e[p]=ts(b):["anyOf","allOf","oneOf"].includes(p)&&Array.isArray(b)?e[p]=b.map(ts):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 Gc(t){return!t||typeof t!="object"?t:xr(t)}var Oi=["minimal","low","medium","high"];function uO(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function lO(t){let e=uO(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:Oi}:{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 dO(t,e){let n=t.toLowerCase(),r=Oi.filter(s=>e.includes(s));if(!r.length)return"high";if(n==="xhigh"||n==="max"||n==="ultra")return r[r.length-1];let o=Oi.indexOf(n);return o<0?r[r.length-1]:r.find(s=>Oi.indexOf(s)>=o)??r[r.length-1]}function fO(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function pO(t,e,n){return Math.min(Math.max(t,e),n)}function fw(t){let e=t.reasoning,n=t.thinking?.type==="disabled";if(!e||n)return;let r=lO(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=Oi.filter(f=>r.levels.includes(f));return s?{includeThoughts:!1,thinkingLevel:d[0]}:o?{includeThoughts:!0,thinkingLevel:dO(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?fO(o,r.max):void 0;if(typeof a!="number")return{includeThoughts:!0};let u=pO(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 uo=new Map,pw=(t,e)=>`${t||"default"}${e}`;function hw(t,e,n){if(!e||!n)return;let r=pw(t,e);for(uo.delete(r),uo.set(r,{signature:n,expiresAt:Date.now()+216e5});uo.size>4096;){let o=uo.keys().next();if(o.done)break;uo.delete(o.value)}}function mw(t,e){if(!e)return;let n=pw(t,e),r=uo.get(n);if(r){if(r.expiresAt<=Date.now()){uo.delete(n);return}return r.signature}}function hO(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var ns={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function mO(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(ns).includes(r)?r:ns.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(ns).includes(o)?o:ns.TYPE_UNSPECIFIED})}}}function Pi(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)&&mO(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(ns).includes(u)?u:ns.TYPE_UNSPECIFIED}else if(n.includes(i))e[i]=Pi(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(Pi(d))}e[i]=u}else if(o.includes(i)){let u={};for(let[d,f]of Object.entries(a))u[d]=Pi(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 gO(t,e){let n=r=>e?.collapseUnions?ts(r):r;if(t.functionDeclarations)for(let r of t.functionDeclarations){if(!r.parameters)r.parameters={type:"OBJECT",properties:{}};else{let o=xr(r.parameters);r.parameters=n(Pi(o))}if(r.response){let o=xr(r.response);r.response=n(Pi(o))}}return t}var yw="skip_thought_signature_validator";function Jc(t,e){let n=[],r=t.tools||[],o=r.filter(_=>Zo(_).name!=="web_search").map(_=>{let{name:A,description:S,parameters:T}=Zo(_);return{name:rw(A),description:S,parameters:T??{type:"object",properties:{}}}});o?.length&&n.push(gO({functionDeclarations:o},{collapseUnions:hO(t.model)})),r.find(_=>Zo(_).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=Uc(_.role,{assistant:"model"}),S=[],T=_.thinking?.signature,x=T?.startsWith("ccr_")?void 0:T,O=$=>A==="model"&&($==="(no content)"||$.startsWith(Mp));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 ae=z.text||"";ae&&!O(ae)&&S.push({text:ae})}}),jc(_.content).forEach(z=>{S.push(qc(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 ae=$.id||`tool_${Math.random().toString(36).substring(2,15)}`,X=$.thought_signature||mw(e?.signatureScope,ae);return!X&&z===0&&(X=x||(p?yw:void 0)),{toolCall:$,id:ae,signature:X}}):[];if(q.length>0&&S.push(...q.map(({toolCall:$,id:z,signature:ae})=>({functionCall:{id:z,name:$.function.name,args:JSON.parse($.function.arguments||"{}")},...ae&&{thoughtSignature:ae}}))),S.length===0&&S.push({text:""}),i.push({role:A,parts:S}),A==="model"&&q.length>0){let $=q.map(({toolCall:z,id:ae})=>{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:ae,name:z?.function?.name,response:{result:ee}}}});i.push({role:"user",parts:$})}});let b=Lc(i,"parts"),C={},m=fw(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 Kc(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 gw(t,e){e.forEach(n=>{let r=n.thought_signature;!r||r===yw||r.startsWith("ccr_")||hw(t,n.id,r)})}async function Vc(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+=xi(_.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),gw(o,f);let h=d?.filter(_=>_.text)?.map(_=>xi(_.text||""))?.join(`
|
|
228
|
+
`)||"",p=s.candidates[0],b=h&&h!=="(no content)"?h:"",C=!b&&f.length===0?Bp(p):null,m=Ri(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"?Ri(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 Bc({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 Oe(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(xi(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=>xi(X.text||"")).join(`
|
|
231
|
+
`),$=x.find(X=>X.thoughtSignature)?.thoughtSignature;$&&O.length>0&&!O[0].thought_signature&&(O[0].thought_signature=$),gw(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 ae=i<0&&O.length===0&&!q?Bp(T):null;if(!q&&O.length===0&&i<0&&T.finishReason&&!ae&&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,Re={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)},qe=p(T);qe.length>0&&(Re.choices[0].delta.annotations=qe),f(_,Re)}),T.finishReason&&(C.hasBufferedContent?C.finalize(S,T,{beforeFlush:()=>{C.signatureSent||s++}}):!q&&O.length===0&&(s++,b(_,ae||"",{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}var Cw=require("crypto"),yO=15e3,_O=256,Yn=new Map,Zp=new Map;function _w(t){return(0,Cw.createHash)("sha256").update(JSON.stringify(t)).digest("hex").slice(0,48)}function bO(t){return t.toLowerCase().includes("gemini-2.5")?2048:4096}function CO(t){return Math.floor(JSON.stringify(t).length/4)}function wO(t){return Object.fromEntries(["systemInstruction","tools","toolConfig"].filter(e=>t[e]!==void 0).map(e=>[e,t[e]]))}function bw(t,e){let n={...t,cachedContent:e};return delete n.systemInstruction,delete n.tools,delete n.toolConfig,n}function Yc(t,e){let n=Date.now();for(let[r,o]of Yn)o.expiresAt<=n&&Yn.delete(r);for(Yn.delete(t),Yn.set(t,e);Yn.size>_O;){let r=Yn.keys().next().value;if(r===void 0)break;Yn.delete(r)}}async function Xc(t){let{body:e,modelResource:n,createUrl:r,headers:o}=t,s=wO(e);if(Object.keys(s).length===0||CO(s)<bO(n))return e;let i=_w(o),a=[String(r),i,n,_w(s)].join(":"),u=Date.now(),d=Yn.get(a);if(d&&d.expiresAt>u)return d.name?bw(e,d.name):e;d&&Yn.delete(a);let f=3600,h={model:n,...s,ttl:`${f}s`},p=Zp.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(yO)});if(!C.ok){t.logger?.debug?.({status:C.status},"Gemini cached-content create failed; using implicit cache"),Yc(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"),Yc(a,{expiresAt:Date.now()+300*1e3});return}return Yc(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"),Yc(a,{expiresAt:Date.now()+300*1e3});return}finally{Zp.delete(a)}})(),Zp.set(a,p));let b=await p;return b?bw(e,b):e}var Qc=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=Jc(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:n?.name||this.name});return{body:this.cachedContent?await Xc({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 Kc(e)}async transformResponseOut(e,n){return Vc(e,this.name,this.logger,n?.provider?.name||this.name)}};async function kM(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>tt(xl(),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 ll=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 RN(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 Oc({body:Tc(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 Rc(e)}async transformResponseOut(e,n){return xc(e,this.name,this.logger,n?.provider?.name||this.name)}};function dl(){return{content:"",isComplete:!1,hasContent:!1}}function fl(t,e){t.content+=e,t.hasContent=!0}function pl(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Nr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function ws(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 Mr(t){delete t.reasoning_content,delete t.reasoning}var fv=require("node:crypto"),lv=360*60*1e3,xN=4096,tg="__ccrDeepseekReasoning",ng=class{cache=new Map;get(e){let n=this.cache.get(e);if(n){if(Date.now()-n.createdAt>lv){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>lv&&this.cache.delete(e);for(;this.cache.size>xN;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},hl=new ng;function rg(t){return Array.isArray(t)?t.map(rg):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,n)=>(e[n]=rg(t[n]),e),{}):t}function _o(t){return JSON.stringify(rg(t))}function ml(t){return(0,fv.createHash)("sha256").update(t).digest("hex")}function pv(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||""):_o(e)).join(""):_o(t)}function og(t){let e=t.function??{},n=typeof e.arguments=="string"?e.arguments:_o(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:n}}}function hv(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function mv(t){let e=og(t);return ml(_o({...e,id:void 0}))}function gv(t){return ml(_o({content:pv(t.content),tool_calls:(t.tool_calls||[]).map(e=>og(e))}))}function DN(t){let e={role:t.role,content:pv(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=>og(n))),e}function dv(t,e){let n=t.filter(r=>r.role!=="system").map(r=>DN(r));return ml(_o({namespace:e,messages:n}))}function ON(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 yv(t,e){if(t.role!=="assistant")return 0;let n=ON(t);if(!n)return 0;let r=[`scope:${e}:signature:${gv(t)}`];return r.push(...hv(t).map(o=>`scope:${e}:tool_call:${o}`)),r.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${mv(o)}`)),r.forEach(o=>hl.put(o,n)),r.length}function PN(t,e){let n=hl.get(`scope:${e}:signature:${gv(t)}`);if(n)return n;for(let r of hv(t)){let o=hl.get(`scope:${e}:tool_call:${r}`);if(o)return o}for(let r of t.tool_calls||[]){let o=hl.get(`scope:${e}:tool_call_signature:${mv(r)}`);if(o)return o}}function IN(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 FN(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 NN(t,e){return ml(_o({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function gl(t,e,n){if(!FN(t,e))return n?.req&&delete n.req[tg],{restoredFromCache:0,restoredFromThinking:0};let r=NN(t,e),o=[],s=0,i=0;for(let c of t.messages){if(c.role==="assistant"){let u=dv(o,r);if(IN(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=PN(c,u);h&&(c.reasoning_content=h,s++)}}yv(c,u)}o.push(c)}return n?.req&&(n.req[tg]={enabled:!0,namespace:r,requestScope:dv(t.messages,r)}),{restoredFromCache:s,restoredFromThinking:i}}function _v(t){return t?.req?.[tg]}function yl(t){return _v(t)?.enabled===!0}function ks(t,e){if(!t)return 0;let n=_v(e);return n?yv(t,n.requestScope):0}function _l(){return{content:"",reasoning:"",toolCalls:new Map}}function Ss(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 bl(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 bv(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 Cl=class{name="deepseek";async transformRequestIn(e,n,r){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=Je(e.messages),e.tools=Ve(e.tools),gl(e,n,r),e}async transformResponseOut(e,n){let r=yl(n);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return bv(o),r&&ks({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=dl(),s=r?_l():null;return Ie(e,(i,c)=>{if(!i.trim()){c.controller.enqueue(Re(i,c.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){c.controller.enqueue(Re(i,c.encoder));return}try{let u=i.slice(5).trim(),f=JSON.parse(u);bv(f);let d=f.choices?.[0]?.delta;if(!d){c.controller.enqueue(Ee(JSON.stringify(f),c.encoder));return}let p=ws(d);if(p){s&&Ss(s,d),fl(o,p);let h=Nr(f,{content:p});Mr(h.choices[0].delta),c.controller.enqueue(Ee(JSON.stringify(h),c.encoder));return}if(s&&Ss(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:h,signature:_}=pl(o),b=Nr(f,{content:h,signature:_});Mr(b.choices[0].delta),b.choices[0].delta.content=null,c.controller.enqueue(Ee(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(Ee(JSON.stringify(f),c.encoder)))}catch{c.controller.enqueue(Re(i,c.encoder))}},{onComplete:()=>{s&&ks(bl(s),n)}})}return e}};var wl=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 Dl=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 kM(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 Xc({body:Jc(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 Kc(e)}async transformResponseOut(e,n){return Vc(e,this.name,this.logger,n?.provider?.name||this.name)}};function Ol(){return{content:"",isComplete:!1,hasContent:!1}}function Pl(t,e){t.content+=e,t.hasContent=!0}function Il(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function jr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function Ps(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 Lr(t){delete t.reasoning_content,delete t.reasoning}var JA=require("node:crypto");var WA=360*60*1e3,SM=4096,Fg="__ccrDeepseekReasoning",Ng=class{cache=new Map;get(e){let n=this.cache.get(e);if(n){if(Date.now()-n.createdAt>WA){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>WA&&this.cache.delete(e);for(;this.cache.size>SM;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Fl=new Ng;function Mg(t){return Array.isArray(t)?t.map(Mg):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,n)=>(e[n]=Mg(t[n]),e),{}):t}function Ao(t){return JSON.stringify(Mg(t))}function Nl(t){return(0,JA.createHash)("sha256").update(t).digest("hex")}function KA(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||""):Ao(e)).join(""):Ao(t)}function Bg(t){let e=t.function??{},n=typeof e.arguments=="string"?e.arguments:Ao(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:n}}}function VA(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function YA(t){let e=Bg(t);return Nl(Ao({...e,id:void 0}))}function XA(t){return Nl(Ao({content:KA(t.content),tool_calls:(t.tool_calls||[]).map(e=>Bg(e))}))}function EM(t){let e={role:t.role,content:KA(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=>Bg(n))),e}function GA(t,e){let n=t.filter(r=>r.role!=="system").map(r=>EM(r));return Nl(Ao({namespace:e,messages:n}))}function AM(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 QA(t,e){if(t.role!=="assistant")return 0;let n=AM(t);if(!n)return 0;let r=[`scope:${e}:signature:${XA(t)}`];return r.push(...VA(t).map(o=>`scope:${e}:tool_call:${o}`)),r.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${YA(o)}`)),r.forEach(o=>Fl.put(o,n)),r.length}function vM(t,e){let n=Fl.get(`scope:${e}:signature:${XA(t)}`);if(n)return n;for(let r of VA(t)){let o=Fl.get(`scope:${e}:tool_call:${r}`);if(o)return o}for(let r of t.tool_calls||[]){let o=Fl.get(`scope:${e}:tool_call_signature:${YA(r)}`);if(o)return o}}function TM(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 RM(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||Rt(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 xM(t,e){return Nl(Ao({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function Ml(t,e,n){if(!RM(t,e))return n?.req&&delete n.req[Fg],{restoredFromCache:0,restoredFromThinking:0};let r=xM(t,e),o=[],s=0,i=0;for(let a of t.messages){if(a.role==="assistant"){let u=GA(o,r);if(TM(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=vM(a,u);p&&(a.reasoning_content=p,s++)}}QA(a,u)}o.push(a)}return n?.req&&(n.req[Fg]={enabled:!0,namespace:r,requestScope:GA(t.messages,r)}),{restoredFromCache:s,restoredFromThinking:i}}function ZA(t){return t?.req?.[Fg]}function Bl(t){return ZA(t)?.enabled===!0}function Is(t,e){if(!t)return 0;let n=ZA(e);return n?QA(t,n.requestScope):0}function Ul(){return{content:"",reasoning:"",toolCalls:new Map}}function Fs(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 jl(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 ev(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 Ll=class{name="deepseek";async transformRequestIn(e,n,r){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=Ke(e.messages),e.tools=Ve(e.tools),Ml(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 ev(o),r&&Is({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=Ol(),s=r?Ul():null;return Oe(e,(i,a)=>{if(!i.trim()){a.controller.enqueue(xe(i,a.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){a.controller.enqueue(xe(i,a.encoder));return}try{let u=i.slice(5).trim(),d=JSON.parse(u);ev(d);let f=d.choices?.[0]?.delta;if(!f){a.controller.enqueue(Ee(JSON.stringify(d),a.encoder));return}let h=Ps(f);if(h){s&&Fs(s,f),Pl(o,h);let p=jr(d,{content:h});Lr(p.choices[0].delta),a.controller.enqueue(Ee(JSON.stringify(p),a.encoder));return}if(s&&Fs(s,f),f.content&&o.hasContent&&!o.isComplete){let{content:p,signature:b}=Il(o),C=jr(d,{content:p,signature:b});Lr(C.choices[0].delta),C.choices[0].delta.content=null,a.controller.enqueue(Ee(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(Ee(JSON.stringify(d),a.encoder)))}catch{a.controller.enqueue(xe(i,a.encoder))}},{onComplete:()=>{s&&Is(jl(s),n)}})}return e}};var ql=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 Oe(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 $l=class{constructor(e){this.options=e}options;static TransformerName="openrouter";logger;async transformRequestIn(e,n,r){let o=Qt(r,e),s=(e.model||"").toLowerCase();return s.includes("anthropic/")||s.includes("claude")?e=hc(e):s.startsWith("openai/")||s.startsWith("gpt-")?e=Si(e,n,r):s.includes("qwen")||s.includes("alibaba")?e=to(e):s.includes("gemini")?e=to(e):e={...e,messages:Ke(e.messages),tools:Ve(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=Ol(),r=!1,o=!1;return Oe(e,(s,i)=>{if(!s.trim()){i.controller.enqueue(xe(s,i.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){i.controller.enqueue(xe(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(Ee(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?Ps(d):null;if(f){Pl(n,f);let h=jr(u,{content:f});Lr(h.choices[0].delta),i.controller.enqueue(Ee(JSON.stringify(h),i.encoder));return}if(d?.content&&n.hasContent&&!n.isComplete){let{content:h,signature:p}=Il(n),b=jr(u,{content:h,signature:p});Lr(b.choices[0].delta),b.choices[0].delta.content=null,i.controller.enqueue(Ee(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_${Cn()}`}),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(Ee(JSON.stringify(u),i.encoder))}catch{i.controller.enqueue(xe(s,i.encoder))}})}return e}};var zl=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 Hl=class{name="groq";async transformRequestIn(e){return e.messages=Ke(e.messages),e.tools=Ve(e.tools),Array.isArray(e.tools)&&e.tools.forEach(n=>{n?.function?.parameters&&(n.function.parameters=Gc(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 Oe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(xe(r,o.encoder));return}if(!r.startsWith("data:")||r.trim()==="data: [DONE]"){o.controller.enqueue(xe(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_${Cn()}`}),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(Ee(JSON.stringify(i),o.encoder))}catch{o.controller.enqueue(xe(r,o.encoder))}})}return e}};var Wl=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 dv=tt(dp());var rr=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function tv(t){return/^[0-9A-Fa-f]$/.test(t)}function sr(t){return t>="0"&&t<="9"}function nv(t){return t>=" "}function Ms(t){return`,:[]/{}()
|
|
245
|
+
+`.includes(t)}function Ug(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Gl(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var jg=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Lg=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function qg(t){return`,[]/{}
|
|
246
|
+
+`.includes(t)}function $g(t){return Bs(t)||DM.test(t)}var DM=/^[[{\w-]$/;function zg(t){return t===`
|
|
247
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function or(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function rv(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function ov(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 Bs(t){return Hg(t)||Jl(t)}function Hg(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Wg(t){return t==='"'}function Jl(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Gg(t){return t==="'"}function Us(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 Jt(t,e){let n=t.length;if(!or(t,n-1))return t+e;for(;or(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function sv(t,e,n){return t.substring(0,e)+t.substring(e+n)}function iv(t){return/[,\n][ \t\r]*$/.test(t)}var OM={""":'"',"&":"&","<":"<",">":">","'":"'"},Jg=12;function Kg(t){if(t.charAt(0)!=="&")return null;let e=t.indexOf(";");if(e===-1)return null;let n=t.substring(0,e+1),r=OM[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 av(t){return t!==null&&t.char==='"'}function cv(t){return t!==null&&t.char==="'"}function Ns(t,e){let n=0;for(let r=0;r<t.length;r++)t.charAt(r)===e&&n++;return n}function uv(t,e){switch(e){case")":return Ns(t,"(")>Ns(t,")");case"]":return Ns(t,"[")>Ns(t,"]");case"}":return Ns(t,"{")>Ns(t,"}");default:return!1}}var lv={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},PM={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
248
|
+
`,r:"\r",t:" "};function Vg(t){let e=0,n="";d(["```","[```","{```"]),s()||Re(),d(["```","```]","```}"]);let o=h(",");for(o&&i(),$g(t[e])&&iv(n)?(o||(n=Jt(n,",")),_()):o&&(n=Us(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,se=a(te);do se=u(),se&&(se=a(te));while(se);return e>Q}function a(te){let Q=te?or:rv,se="";for(;;)if(Q(t,e))se+=t[e],e++;else if(ov(t,e))se+=" ",e++;else break;return se.length>0?(n+=se,!0):!1}function u(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!IM(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(Ug(t[e]))for(;e<t.length&&Gl(t[e]);)e++;return i(),!0}return!1}function f(te){a(!0);for(let Q of te){let se=e+Q.length;if(t.slice(e,se)===Q)return e=se,!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=Jt(n,",")),i()),C(),!(A()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?te||(n=Us(n,",")):qe();break}i();let le=h(":"),be=e>=t.length;le||($g(t[e])||be?n=Jt(n,":"):Te()),s()||(le||be?n+="null":Te()),te=!1}return t[e]==="}"?(n+="}",e++):n=Jt(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=Jt(n,",")),C(),!s()){te||(n=Us(n,","));break}te=!1}return t[e]==="]"?(n+="]",e++):n=Jt(n,"]"),!0}return!1}function _(){let te=!0,Q=!0;for(;Q;)te?te=!1:h(",")||(n=Jt(n,",")),Q=s();Q||(n=Us(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,se=t[e]==="\\";se&&(e++,Bs(t[e])||Z());let le=t[e]==="&"?Kg(t.slice(e,e+Jg)):null,be=av(le)||cv(le);if(Bs(t[e])||be){let V=Wg(t[e])?Wg:Gg(t[e])?Gg:Jl(t[e])?Jl:Hg,Ye=e,Fe=n.length,Y='"';for(e+=be&&le?le.length:1;;){if(e>=t.length){let k=z(e-1);return!te&&Ms(t.charAt(k))?(e=Ye,n=n.substring(0,Fe),A(!0)):(Y=Jt(Y,'"'),n+=Y,!0)}if(e===Q)return Y=Jt(Y,'"'),n+=Y,!0;let ce=be&&t[e]==="&"?Kg(t.slice(e,e+Jg)):null;if(ce&&le?ce.char===le.char:V(t[e])){let k=e,v=Y.length;if(Y+='"',e+=ce?ce.length:1,n+=Y,i(!1),te||e>=t.length||Ms(t[e])&&!uv(Y,t[e])||Bs(t[e])&&!ae(e)||sr(t[e]))return S(),!0;t[e]==="\\"&&Z();let R=z(k-1),M=t.charAt(R);if(M===",")return e=Ye,n=n.substring(0,Fe),A(!1,R);if(Ms(M))return e=Ye,n=n.substring(0,Fe),A(!0);n=n.substring(0,Fe),e=k+(ce?ce.length:1),Y=`${Y.substring(0,v)}\\${Y.substring(v)}`}else if(te&&qg(t[e])){if(t[e-1]===":"&&jg.test(t.substring(Ye+1,e+2)))for(;e<t.length&&Lg.test(t[e]);)Y+=t[e],e++;return Y=Jt(Y,'"'),n+=Y,S(),!0}else if(ce){let k=ce.char;k==='"'?Y+='\\"':zg(k)?Y+=lv[k]:Y+=k,e+=ce.length}else if(t[e]==="\\"){let k=t.charAt(e+1);if(PM[k]!==void 0)Y+=t.slice(e,e+2),e+=2;else if(k==="u"){let R=2;for(;R<6&&tv(t[e+R]);)R++;R===6?(Y+=t.slice(e,e+6),e+=6):e+R>=t.length?e=t.length:We()}else k===`
|
|
252
|
+
`?(Y+="\\n",e+=2):(Y+=k,e+=2)}else{let k=t.charAt(e);k==='"'&&t[e-1]!=="\\"?(Y+=`\\${k}`,e++):zg(k)?(Y+=lv[k],e++):(nv(k)||ee(k),Y+=k,e++)}se&&b()}}return!1}function S(){let te=!1;for(i();t[e]==="+";){te=!0,e++,i(),n=Us(n,'"',!0);let Q=n.length;A()?n=sv(n,Q,1):n=Jt(n,'"')}return te}function T(){let te=e,Q="",se=!1;for(t[e]==="-"&&(Q+=t[e],e++,!sr(t[e])&&X()&&(Q+="0")),t[e]==="0"&&sr(t[e+1])&&(se=!0);sr(t[e]);)Q+=t[e],e++;if(t[e]===".")for((Q===""||Q==="-")&&(Q+="0"),Q+=t[e],e++,sr(t[e])||(Q+="0");sr(t[e]);)Q+=t[e],e++;if(e>te){if(t[e]==="e"||t[e]==="E")for(Q==="-"&&(se=!0),Q+=t[e],e++,(t[e]==="-"||t[e]==="+")&&(Q+=t[e],e++),sr(t[e])||(Q+="0");sr(t[e]);)Q+=t[e],e++;return X()?(n+=se?`"${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&&!Gl(t[e+te.length])?(n+=Q,e+=te.length,!0):!1}function q(te){let Q=e;if(Ug(t[e])){for(;e<t.length&&Gl(t[e]);)e++;let se=e;for(;or(t,se);)se++;if(t[se]==="(")return e=se+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!qg(t[e])&&!Bs(t[e])&&(!te||t[e]!==":");)e++;if(t[e-1]===":"&&jg.test(t.substring(Q,e+2)))for(;e<t.length&&Lg.test(t[e]);)e++;if(e>Q){for(;or(t,e-1)&&e>0;)e--;let se=t.slice(Q,e);return n+=se==="undefined"?"null":JSON.stringify(se),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&&or(t,Q);)Q--;return Q}function ae(te){let Q=te+1;for(;Q<t.length&&or(t,Q);)Q++;return Q>=t.length||Ms(t[Q])}function X(){return e>=t.length||Ms(t[e])||or(t,e)}function ee(te){throw new rr(`Invalid character ${JSON.stringify(te)}`,e)}function Z(){throw new rr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function Re(){throw new rr("Unexpected end of json string",t.length)}function qe(){throw new rr("Object key expected",e)}function Te(){throw new rr("Colon expected",e)}function We(){let te=t.slice(e,e+6);throw new rr(`Invalid unicode character "${te}"`,e)}}function IM(t,e){return t[e]==="*"&&t[e+1]==="/"}function Yg(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=dv.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Vg(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 Kl=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=Yg(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=Yg(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 Vl=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?Rt(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),Ml(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&&Is({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?Ul():null;return Oe(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&&Fs(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&&Fs(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&&Is(jl(i),n)}})}return e}};var Yl=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 Xl=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 FM(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>tt(xl(),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 Ql=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 FM(this.logger);return{body:ow(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 sw(e)}async transformResponseOut(e){return $c(e,this.name,this.logger)}};var fv=tt(xl(),1);var Zl=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 fv.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:Ke(e.messages),tools:Ve(e.tools)},config:{headers:{Authorization:`Bearer ${r}`}}}}};var ed=class{name="cerebras";async transformRequestIn(e,n,r){let o=JSON.parse(JSON.stringify(e));o.messages=Ke(o.messages),o.tools=Ve(o.tools);let s=Qt(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 td=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var nd=class{name="OpenAI";endPoint="/v1/chat/completions";async transformRequestOut(e,n){return NM(e)}async transformRequestIn(e,n,r){return e=structuredClone(e),_c(e),yc(e,n,r)}async transformResponseIn(e,n){return(e.headers.get("Content-Type")||"").includes("text/event-stream")?UM(e):e}};function NM(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(BM(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=>MM(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=Tt(t.reasoning_effort??t.reasoning?.effort);return(t.reasoning!==void 0||s)&&(o.reasoning={...t.reasoning&&typeof t.reasoning=="object"?t.reasoning:{},...Go(s,t.reasoning?.enabled)||{}}),t.thinking!==void 0&&(o.thinking=t.thinking),o}function MM(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 BM(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 UM(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 rd=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 od=class{constructor(e){this.options=e}options;static TransformerName="vercel";logger;endPoint="/v1/chat/completions";async transformRequestIn(e,n,r){e={...e,messages:Ke(e.messages),tools:Ve(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_${Cn()}`}),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 jl=class{logger;name="openai-responses";endPoint="/v1/responses";async transformRequestOut(e,n){let r=jo();return n&&(n.responsesCallIdMap=r,n.protocolContext&&(n.protocolContext.responsesCallIdMap=r)),dc(e,r)}async transformResponseIn(e,n){let r=n?.responsesCallIdMap||n?.protocolContext?.responsesCallIdMap||n?.req?.protocolContext?.responsesCallIdMap||jo(),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=Bb(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=Ub({model:n.originalModel,callIdMap:n.callIdMap});return Ie(e,(o,s)=>{if(r.finished||!o.trim()||o.startsWith("event: "))return;if(!o.startsWith("data: ")){if(!o.startsWith(":")){let c=gi("Malformed upstream SSE event",r);s.controller.enqueue(Ee(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 sp(r))s.controller.enqueue(Ee(JSON.stringify(c),s.encoder));return}try{let c=JSON.parse(i);if(typeof c?.type=="string"&&c.type.startsWith("response.")){s.controller.enqueue(Ee(JSON.stringify(c),s.encoder)),(c.type==="response.completed"||c.type==="response.failed")&&(r.finished=!0);return}if(c?.error&&!c?.choices){let f=gi(et(String(c.error.message||c.error))||"Upstream stream failed",r);s.controller.enqueue(Ee(JSON.stringify(f),s.encoder)),r.finished=!0;return}let u=qb(c,r);for(let f of u)s.controller.enqueue(Ee(JSON.stringify(f),s.encoder))}catch{let c=gi("Malformed JSON in upstream SSE event",r);s.controller.enqueue(Ee(JSON.stringify(c),s.encoder)),r.finished=!0}},{onComplete:o=>{if(!r.finished)for(let s of sp(r))o.controller.enqueue(Ee(JSON.stringify(s),o.encoder))},onError:(o,s)=>{if(!r.finished){let i=o instanceof Error?o.message:String(o),c=gi(et(i)||"Upstream stream failed",r);s.controller.enqueue(Ee(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=hi(e,n,r);let i=ic(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:_,...ac(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=Ct(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:Ct(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 Ie(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(Ee("[DONE]",f.encoder)),c();return}try{let p=JSON.parse(d);if(p.type==="response.failed"){c();let _=p.response?.error??{},b=et(String(_.message||"Upstream response failed"))||"Upstream response failed";f.controller.enqueue(Ee(JSON.stringify({error:{message:b,type:typeof _.type=="string"?_.type:"api_error",code:typeof _.code=="string"?_.code:null}}),f.encoder)),f.controller.enqueue(Ee("[DONE]",f.encoder));return}let h=this.convertStreamEvent(p,i);h&&f.controller.enqueue(Ee(JSON.stringify(h),f.encoder)),p.type==="response.completed"&&(f.controller.enqueue(Ee("[DONE]",f.encoder)),c())}catch{f.controller.enqueue(Re(u,f.encoder))}}else f.controller.enqueue(Re(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:Ct(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,...ac(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,...ac(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:Ct(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}};var Bv=require("crypto"),Uv=require("child_process"),tr=require("os"),Ag=require("@caeliq/ccr-shared");var $e=require("fs"),ql=require("path"),Pv=require("os"),WN=(0,ql.join)((0,Pv.homedir)(),".claude-code-router","codex_auth.json"),GN=300,JN=11520*60,VN=2*6e4,KN=35e3,Iv={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},Ll=null;function wg(){return process.env.CCR_CODEX_AUTH_FILE||WN}function bg(){return`${wg()}.refresh.lock`}function YN(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||Iv.token_endpoint}function kg(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 $l(t){let e=t.account_id?.trim();return e||kg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function XN(t){return kg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function Fv(t){let e=kg(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function zl(t){let e=$l(t),n=Fv(t);return{...t,...e?{account_id:e}:{},...n?{expires_at:n}:{}}}function Cg(){try{let t=wg();if(!(0,$e.existsSync)(t))return null;let e=JSON.parse((0,$e.readFileSync)(t,"utf8"));return e.access_token?zl(e):null}catch{return null}}function QN(t){let e=wg();(0,$e.mkdirSync)((0,ql.dirname)(e),{recursive:!0});let n=zl(t),r=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,$e.writeFileSync)(r,JSON.stringify(n,null,2),{mode:384,encoding:"utf8"}),(0,$e.renameSync)(r,e)}finally{try{(0,$e.existsSync)(r)&&(0,$e.unlinkSync)(r)}catch{}}}function Nv(t,e=GN){let n=Fv(t);return n?Date.now()/1e3+e>=n:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+JN)}function _g(t,e){let n=$l(e);if(t&&t!==n)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function ZN(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 eM(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(YN(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:Iv.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}): ${ZN(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 zl({...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 tM(){let t=bg();try{return(0,$e.openSync)(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-(0,$e.statSync)(t).mtimeMs>VN&&(0,$e.unlinkSync)(t)}catch{}return null}}async function nM(t){let e=Date.now()+KN,n=null;for(;n===null&&(n=tM(),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=(0,$e.fstatSync)(n).ino;(0,$e.closeSync)(n);try{(0,$e.statSync)(bg()).ino===r&&(0,$e.unlinkSync)(bg())}catch{}}}async function rM(t,e){return nM(async()=>{let n=Cg();if(!n)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");_g(e.expectedAccountId,n);let r=e.previousAccessToken||t.access_token;if(n.access_token!==r||!e.force&&!Nv(n))return n;let o=await eM(n);_g(e.expectedAccountId,o);let s=Cg();return s&&s.access_token!==n.access_token?(_g(e.expectedAccountId,s),s):(QN(o),o)})}async function Sg(t={}){let e=Cg();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!Nv(e)?e:(Ll||(Ll=rM(e,{...t,expectedAccountId:t.expectedAccountId||$l(e)}).finally(()=>{Ll=null})),Ll)}function Eg(t){let e=zl(t);return{mode:"oauth",token:e.access_token,accountId:$l(e),isFedramp:XN(e)}}var oM=300*1e3,Hl=new Map,vg=new Map,jv="0.145.0",Lv="codex_cli_rs",qv="x-codex-turn-metadata",sM="x-codex-window-id",iM="x-codex-parent-thread-id",aM="session_id",cM="thread_id",uM="turn_id",lM="window_id";function dM(){switch((0,tr.platform)()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return(0,tr.platform)()||"unknown"}}function fM(){switch((0,tr.arch)()){case"x64":return"x86_64";case"arm64":return"arm64";default:return(0,tr.arch)()||"unknown"}}function pM(){if((0,tr.platform)()==="darwin")try{return(0,Uv.execFileSync)("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return(0,tr.release)()||"unknown"}function hM(){return`${Lv}/${jv} (${dM()} ${pM()}; ${fM()})`}function Mv(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",jv),e.toString()}function mM(t){return{session_id:t,thread_id:t,turn_id:(0,Bv.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function gM(t){return{[aM]:t.session_id,[cM]:t.thread_id,[uM]:t.turn_id,[lM]:t.window_id,[qv]:JSON.stringify(t)}}function yM(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function _M(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[sM]:t.window_id,[qv]:JSON.stringify(t),[iM]:t.thread_id}}function bM(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 CM(t,e){return t?.req?.sessionId||bM(e)}function wM(t,e,n){if(!n)return;let r=mM(n);t.client_metadata=yM(t.client_metadata,gM(r)),Object.assign(e,_M(r))}var Wl=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=np(e,r);let u=ic(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 sd=class{logger;name="openai-responses";endPoint="/v1/responses";async transformRequestOut(e,n){let r=Jo(),o=new Set;return n&&(n.responsesCallIdMap=r,n.responsesCustomToolNames=o,n.protocolContext&&(n.protocolContext.responsesCallIdMap=r,n.protocolContext.responsesCustomToolNames=o)),kc(e,r,o)}async transformResponseIn(e,n){let r=n?.responsesCallIdMap||n?.protocolContext?.responsesCallIdMap||n?.req?.protocolContext?.responsesCallIdMap||Jo(),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=aC(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=cC({model:n.originalModel,callIdMap:n.callIdMap,customToolNames:n.customToolNames});return Oe(e,(o,s)=>{if(r.finished||!o.trim()||o.startsWith("event: "))return;if(!o.startsWith("data: ")){if(!o.startsWith(":")){let a=Ei("Malformed upstream SSE event",r);s.controller.enqueue(Ee(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 Ep(r))s.controller.enqueue(Ee(JSON.stringify(a),s.encoder));return}try{let a=JSON.parse(i);if(typeof a?.type=="string"&&a.type.startsWith("response.")){s.controller.enqueue(Ee(JSON.stringify(a),s.encoder)),(a.type==="response.completed"||a.type==="response.failed")&&(r.finished=!0);return}if(a?.error&&!a?.choices){let d=Ei(Ge(String(a.error.message||a.error))||"Upstream stream failed",r);s.controller.enqueue(Ee(JSON.stringify(d),s.encoder)),r.finished=!0;return}let u=dC(a,r);for(let d of u)s.controller.enqueue(Ee(JSON.stringify(d),s.encoder))}catch{let a=Ei("Malformed JSON in upstream SSE event",r);s.controller.enqueue(Ee(JSON.stringify(a),s.encoder)),r.finished=!0}},{onComplete:o=>{if(!r.finished)for(let s of Ep(r))o.controller.enqueue(Ee(JSON.stringify(s),o.encoder))},onError:(o,s)=>{if(!r.finished){let i=o instanceof Error?o.message:String(o),a=Ei(Ge(i)||"Upstream stream failed",r);s.controller.enqueue(Ee(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=Rt(e.reasoning,e.thinking)?"none":Tt(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=Si(e,n,r);let i=mc(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,...gc(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=Ct(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:Ct(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 Oe(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(Ee("[DONE]",d.encoder)),a();return}try{let h=JSON.parse(f);if(h.type==="response.failed"){a();let b=h.response?.error??{},C=Ge(String(b.message||"Upstream response failed"))||"Upstream response failed";d.controller.enqueue(Ee(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(Ee("[DONE]",d.encoder));return}let p=this.convertStreamEvent(h,i);p&&d.controller.enqueue(Ee(JSON.stringify(p),d.encoder)),h.type==="response.completed"&&(d.controller.enqueue(Ee("[DONE]",d.encoder)),a())}catch{d.controller.enqueue(xe(u,d.encoder))}}else d.controller.enqueue(xe(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:Ct(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,...gc(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,...gc(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:Ct(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}};var _v=require("crypto"),bv=require("child_process"),ir=require("os"),sy=require("@caeliq/ccr-shared");var $e=require("fs"),ad=require("path"),pv=require("os"),jM=(0,ad.join)((0,pv.homedir)(),".claude-code-router","codex_auth.json"),LM=300,qM=11520*60,$M=2*6e4,zM=35e3,hv={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},id=null;function ey(){return process.env.CCR_CODEX_AUTH_FILE||jM}function Qg(){return`${ey()}.refresh.lock`}function HM(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||hv.token_endpoint}function ty(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 cd(t){let e=t.account_id?.trim();return e||ty(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function WM(t){return ty(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function mv(t){let e=ty(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function ud(t){let e=cd(t),n=mv(t);return{...t,...e?{account_id:e}:{},...n?{expires_at:n}:{}}}function Zg(){try{let t=ey();if(!(0,$e.existsSync)(t))return null;let e=JSON.parse((0,$e.readFileSync)(t,"utf8"));return e.access_token?ud(e):null}catch{return null}}function GM(t){let e=ey();(0,$e.mkdirSync)((0,ad.dirname)(e),{recursive:!0});let n=ud(t),r=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,$e.writeFileSync)(r,JSON.stringify(n,null,2),{mode:384,encoding:"utf8"}),(0,$e.renameSync)(r,e)}finally{try{(0,$e.existsSync)(r)&&(0,$e.unlinkSync)(r)}catch{}}}function gv(t,e=LM){let n=mv(t);return n?Date.now()/1e3+e>=n:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+qM)}function Xg(t,e){let n=cd(e);if(t&&t!==n)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function JM(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 KM(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(HM(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:hv.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}): ${JM(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 ud({...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 VM(){let t=Qg();try{return(0,$e.openSync)(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-(0,$e.statSync)(t).mtimeMs>$M&&(0,$e.unlinkSync)(t)}catch{}return null}}async function YM(t){let e=Date.now()+zM,n=null;for(;n===null&&(n=VM(),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=(0,$e.fstatSync)(n).ino;(0,$e.closeSync)(n);try{(0,$e.statSync)(Qg()).ino===r&&(0,$e.unlinkSync)(Qg())}catch{}}}async function XM(t,e){return YM(async()=>{let n=Zg();if(!n)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");Xg(e.expectedAccountId,n);let r=e.previousAccessToken||t.access_token;if(n.access_token!==r||!e.force&&!gv(n))return n;let o=await KM(n);Xg(e.expectedAccountId,o);let s=Zg();return s&&s.access_token!==n.access_token?(Xg(e.expectedAccountId,s),s):(GM(o),o)})}async function ny(t={}){let e=Zg();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!gv(e)?e:(id||(id=XM(e,{...t,expectedAccountId:t.expectedAccountId||cd(e)}).finally(()=>{id=null})),id)}function ry(t){let e=ud(t);return{mode:"oauth",token:e.access_token,accountId:cd(e),isFedramp:WM(e)}}var QM=300*1e3,ld=new Map,oy=new Map,Cv="0.145.0",wv="codex_cli_rs",kv="x-codex-turn-metadata",ZM="x-codex-window-id",eB="x-codex-parent-thread-id",tB="session_id",nB="thread_id",rB="turn_id",oB="window_id";function sB(){switch((0,ir.platform)()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return(0,ir.platform)()||"unknown"}}function iB(){switch((0,ir.arch)()){case"x64":return"x86_64";case"arm64":return"arm64";default:return(0,ir.arch)()||"unknown"}}function aB(){if((0,ir.platform)()==="darwin")try{return(0,bv.execFileSync)("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return(0,ir.release)()||"unknown"}function cB(){return`${wv}/${Cv} (${sB()} ${aB()}; ${iB()})`}function yv(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",Cv),e.toString()}function uB(t){return{session_id:t,thread_id:t,turn_id:(0,_v.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function lB(t){return{[tB]:t.session_id,[nB]:t.thread_id,[rB]:t.turn_id,[oB]:t.window_id,[kv]:JSON.stringify(t)}}function dB(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function fB(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[ZM]:t.window_id,[kv]:JSON.stringify(t),[eB]:t.thread_id}}function pB(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 hB(t,e){return t?.req?.sessionId||pB(e)}function mB(t,e,n){if(!n)return;let r=uB(n);t.client_metadata=dB(t.client_metadata,lB(r)),Object.assign(e,fB(r))}var dd=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=Rt(e.reasoning,e.thinking)?"none":Tt(e.reasoning?.effort)||Tt(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=Cp(e,r);let d=mc(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=Ct(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:Ct(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);mB(e,b,e.prompt_cache_key||hB(r,e));let C=n?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:yv(`${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:yv(`${s}/responses`),headers:o,__authRecovery:()=>this.recoverUnauthorizedAuth(n,r)}}}async resolveAuth(e){let n=(0,sy.resolveCodexPat)(e?.apiKey,{allowBareEnvName:!0});return n?this.resolvePatAuth(n):ry(await ny())}buildAuthHeaders(e){let n={Authorization:`Bearer ${e.token}`,originator:wv,"User-Agent":cB()};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 ld.delete(n.token),null;if((0,sy.resolveCodexPat)(e?.apiKey,{allowBareEnvName:!0}))return null;let r=await ny({force:!0,previousAccessToken:n.token,expectedAccountId:n.accountId}),o=ry(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=ld.get(e);if(n&&n.expiresAt>Date.now())return n.value;ld.delete(e);let r=oy.get(e);if(r)return r;let o=this.requestPatAuth(e).finally(()=>{oy.delete(e)});return oy.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 ld.set(e,{value:s,expiresAt:Date.now()+QM}),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=Oe(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(Ee("[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(Ee(JSON.stringify(O),S.encoder))}catch{S.controller.enqueue(xe(A,S.encoder))}}else S.controller.enqueue(xe(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:Ct(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 ae=this.convertStreamEvent(z,_,n);S(ae)}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:Ct(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}};var ar=require("fs"),ay=require("path"),cy=require("os"),iy=(0,ay.join)((0,cy.homedir)(),".claude-code-router","qwen_auth.json"),gB="https://qwen.aikit.club",yB=1e4,_B=120;function bB(){try{if(!(0,ar.existsSync)(iy))return null;let t=JSON.parse((0,ar.readFileSync)(iy,"utf-8"));return t.token?t:null}catch{return null}}function CB(t){let e=(0,ay.join)((0,cy.homedir)(),".claude-code-router");(0,ar.existsSync)(e)||(0,ar.mkdirSync)(e,{recursive:!0}),(0,ar.writeFileSync)(iy,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function wB(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 kB(t){try{let e=await fetch(`${gB}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(yB)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function Sv(){let t=bB();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+_B*1e3>=t.expiresAt){let e=await kB(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:wB(e),updatedAt:Date.now()},CB(t)}return t}var SB="https://qwen.aikit.club",Ev=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,fd=class{name="qwen-auth";logger;async buildAuthConfig(e){let n=await Sv();return{url:e?.api_base_url||e?.baseUrl||SB,headers:{Authorization:`Bearer ${n.token}`}}}async transformRequestIn(e,n){return{body:to(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?Oe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(xe(r,o.encoder));return}if(r.startsWith("data: ")){let s=r.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(xe(r,o.encoder));return}let i=s.replace(Ev,"");o.controller.enqueue(xe(`data: ${i}`,o.encoder));return}o.controller.enqueue(xe(r,o.encoder))}):e;if(n.includes("application/json")){let o=(await e.text()).replace(Ev,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var uy=`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.`,EB=10,pd=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<EB)&&(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:uy}):r.content=[{type:"text",text:uy},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:uy}]}),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 PM(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 IM(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var Hv=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function Wv(t,e,n){let r={...t};Array.isArray(r.messages)&&(r.messages=r.messages.map(s=>OM(s))),r.stream===void 0&&(r.stream=!0);let o=Yt(e,t);if(o&&(r.prompt_cache_key=o),r.tool_choice&&(r.tool_choice=PM(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:Ac(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-")&&!Hv.has(s)||s.startsWith("mistral-medium-")&&!Hv.has(s))&&(r.reasoning_effort=IM(r.reasoning)),delete r.reasoning}return r}async function Gv(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?Ie(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Re(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Re(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(Re(o,s.encoder));return}let f=ws(u);if(f){let d=Nr(c,{content:f});Mr(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(Ee(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(Ee(JSON.stringify(c),s.encoder))}catch{s.controller.enqueue(Re(o,s.encoder))}}):t;return t}var Kl=class{name="mistral";logger;async transformRequestIn(e,n,r){return{body:Wv(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 Gv(e,this.name,this.logger)}catch(r){throw this.logger?.error({error:r.message,response:e},"Mistral transformResponseOut error:"),r}}};var FM="http://127.0.0.1:3457",Yl=class{name="chrome-on-device";async transformRequestIn(e,n,r){let o=process.env.CHROME_BRIDGE_URL||n?.baseUrl||FM;r?.req?.body&&(r.req.body.stream=!0);let s=Yt(r,e);return{body:{...e,messages:Je(e.messages),tools:Ve(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}};var Ql=require("crypto");var NM="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Jv=3,Xl=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<Jv;d++){let p=this.buildHeaders(n,r,s),h=await Uo(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===Jv-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=et(_)||_.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(0,Ql.createHash)("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=(0,Ql.randomBytes)(1)[0];i>=248||(s+=NM[i%62])}return`${e}_${o.toString("hex")}${s}`}};var qg=require("crypto");var Et=require("fs"),Rs=require("path"),Og=require("os"),Kv=require("crypto"),MM=(0,Rs.join)((0,Og.homedir)(),".claude-code-router","claude_auth.json"),BM=(0,Rs.join)((0,Og.homedir)(),".claude-code-router","claude_device.json"),UM=/^[0-9a-f]{64}$/;function Yv(){return process.env.CCR_CLAUDE_AUTH_FILE||MM}function jM(){return process.env.CCR_CLAUDE_DEVICE_FILE||BM}var Vv={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 Pg(){try{let t=Yv();if(!(0,Et.existsSync)(t))return null;let e=(0,Et.readFileSync)(t,"utf-8"),n=JSON.parse(e);return n.access_token?n:null}catch{return null}}function Ig(t){let e=Yv(),n=(0,Rs.dirname)(e);(0,Et.existsSync)(n)||(0,Et.mkdirSync)(n,{recursive:!0}),(0,Et.writeFileSync)(e,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function LM(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function Fg(t){let e=await fetch(Vv.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:Vv.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 Xv(){let t=Pg();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(LM(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 Fg(t.refresh_token),Ig(t)}return t}function Qv(){let t=jM();try{if((0,Et.existsSync)(t)){let r=JSON.parse((0,Et.readFileSync)(t,"utf-8"));if(typeof r.device_id=="string"&&UM.test(r.device_id))return r.device_id}}catch{}let e=(0,Kv.randomBytes)(32).toString("hex"),n=(0,Rs.dirname)(t);return(0,Et.existsSync)(n)||(0,Et.mkdirSync)(n,{recursive:!0}),(0,Et.writeFileSync)(t,JSON.stringify({device_id:e},null,2),{mode:384,encoding:"utf-8"}),e}var Zl=require("crypto");var qM="59cf53e54c78",Mg=process.env.ANTHROPIC_CLI_VERSION||"2.1.220",Bg=process.env.CLAUDE_CODE_ENTRYPOINT||"cli",xs="You are Claude Code, Anthropic's official CLI for Claude.";function $M(t){return typeof t=="string"?t:Array.isArray(t)?t.find(n=>n.type==="text")?.text??"":""}function zM(t){let e=t?.find(n=>n.role==="user");return e?$M(e.content):""}function HM(t,e){let n=[4,7,20].map(r=>t[r]||"0").join("");return(0,Zl.createHash)("sha256").update(qM+n+e).digest("hex").slice(0,3)}var Ng;function WM(){return Ng||(Ng=(0,Zl.randomBytes)(3).toString("hex").slice(0,5)),Ng}function GM(t,e=Mg,n=Bg){let r=HM(zM(t),e);return`${_i}: cc_version=${e}.${r}; cc_entrypoint=${n}; cch=${WM()};`}function Zv(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 eA(t,e){for(let n=t.length-1;n>=0;n--)t[n].text.startsWith(_i)&&t.splice(n,1);t.unshift({type:"text",text:GM(e)})}function tA(t){let n=t[1];if(n?.text!==xs){if(n?.text.startsWith(xs)&&n.text.length>xs.length){let r={type:"text",text:n.text.slice(xs.length)};n.cache_control!==void 0&&(r.cache_control=n.cache_control),t.splice(1,1,{type:"text",text:xs},r);return}t.splice(1,0,{type:"text",text:xs})}}function nA(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 hd=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 AB(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 vB(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 TB(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="minimal"?"low":e==="low"||e==="medium"||e==="high"?e:"high"}var Av=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function vv(t,e,n){let r={...t};Array.isArray(r.messages)&&(r.messages=r.messages.map(s=>AB(s))),r.stream===void 0&&(r.stream=!0);let o=Qt(e,t);if(o&&(r.prompt_cache_key=o),r.tool_choice&&(r.tool_choice=vB(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:Gc(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-")&&!Av.has(s)||s.startsWith("mistral-medium-")&&!Av.has(s))&&(r.reasoning_effort=TB(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?Oe(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(),a=JSON.parse(i),u=a.choices?.[0]?.delta;if(!u){s.controller.enqueue(xe(o,s.encoder));return}let d=Ps(u);if(d){let f=jr(a,{content:d});Lr(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(Ee(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(Ee(JSON.stringify(a),s.encoder))}catch{s.controller.enqueue(xe(o,s.encoder))}}):t;return t}var md=class{name="mistral";logger;async transformRequestIn(e,n,r){return{body:vv(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 RB="http://127.0.0.1:3457",gd=class{name="chrome-on-device";async transformRequestIn(e,n,r){let o=process.env.CHROME_BRIDGE_URL||n?.baseUrl||RB;r?.req?.body&&(r.req.body.stream=!0);let s=Qt(r,e);return{body:{...e,messages:Ke(e.messages),tools:Ve(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}};var _d=require("crypto");var xB="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Rv=3,yd=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<Rv;f++){let h=this.buildHeaders(n,r,s),p=await Wo(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===Rv-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=Ge(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(0,_d.createHash)("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=(0,_d.randomBytes)(1)[0];i>=248||(s+=xB[i%62])}return`${e}_${o.toString("hex")}${s}`}};var wT=require("@cursor/sdk");var DB=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function xv(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!DB.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"})}var Dv=require("crypto"),Ov=require("os"),vo=require("path"),ly="cursor-sdk",bd="bridge",OB=(0,vo.join)((0,Ov.homedir)(),".claude-code-router"),Pn=(0,vo.join)(OB,"cursor-sdk-workspaces"),Pv=900*1e3,dy=32,Iv=1440*60*1e3,Fv=3600*1e3,PB=/^[0-9a-f]{32}$/;function fy(t,e=Pn){let n=t.replace(/[\\/]+$/,"");return(0,vo.dirname)(n)!==e.replace(/[\\/]+$/,"")?!1:PB.test((0,vo.basename)(n))}var Nv=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],oa="custom-user-tools";function un(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 js(t){return(0,Dv.createHash)("sha256").update(t.filter(Boolean).join(`
|
|
345
|
+
`)).digest("hex").slice(0,32)}function Ls(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 py(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function Mv(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:Ls(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 Ee(JSON.stringify(s),e)},encodeDone(){return Ee("[DONE]",e)}}}function hy(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+=Ls(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 qr={additionalRoots:[],facts:[],known:!1,fingerprint:"none"},Bv=/<(env|environment|system-info|system_info)>([\s\S]*?)<\/\1>/gi,IB=/^\s*[-*]?\s*([A-Za-z][A-Za-z0-9 _/'-]{2,48}?)\s*:\s*(\S.*?)\s*$/,FB=/working director|workspace root|project root|platform|os version|operating system|git repo/i,Uv=[/^primary working director/i,/^current working director/i,/^working director/i,/^project root/i,/^workspace root/i,/^cwd$/i],jv=[/^additional working director/i,/^additional director/i,/^extra working director/i],Lv=[/^platform$/i,/^operating system$/i,/^os$/i],qv=[/^os version$/i,/^system version$/i],NB=[...Uv,...jv,...Lv,...qv],MB=2e5,BB=16,UB=400;function jB(t){let e=[],n=MB,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=un(o.content);if(s&&(e.push(s.slice(0,n)),n-=Math.min(s.length,n),n<=0))break}return e.join(`
|
|
346
|
+
`)}function LB(t){let e=[],n=new Set,r=i=>{if(e.length>=BB)return;let a=i.match(IB);if(!a)return;let u=a[1].trim(),d=a[2].trim().slice(0,UB);if(!u||!d)return;let f=u.toLowerCase();n.has(f)||(n.add(f),e.push({key:u,value:d}))},o=!1;Bv.lastIndex=0;let s;for(;s=Bv.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/))FB.test(i)&&r(i);return e}function Cd(t,e){for(let n of e){let r=t.find(o=>n.test(o.key));if(r)return r.value}}function $v(t){return/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(t)}function qB(t){return t?t.split(/[,\n]/).map(e=>e.trim()).filter(e=>$v(e)):[]}function sa(t){let e=LB(jB(t)),n=Cd(e,Uv),r=n&&$v(n)?n:void 0,o=qB(Cd(e,jv)).filter(u=>u!==r),s=Cd(e,Lv),i=Cd(e,qv),a=!!(r||s||i||e.length);return a?{projectRoot:r,additionalRoots:o,platform:s,osVersion:i,facts:e,known:a,fingerprint:js([r||"",o.join("|"),s||"",i||"",e.map(u=>`${u.key}=${u.value}`).join("|")])}:qr}function zv(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)NB.some(r=>r.test(n.key))||e.push(`- ${n.key}: ${n.value}`);return e}function To(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 $B(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 zB(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 Wv(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=zv(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(To(e)),n.push(`Host tools are exposed via MCP server "${oa}" 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 HB(t,e,n=sa(t)){return[...Wv(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:",zB(t)].join(`
|
|
348
|
+
`)}function WB(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.`,To(e)].join(`
|
|
349
|
+
`)}function Gv(t,e){return["# Agent rules","",...Wv(t,e).map(n=>n.startsWith("- ")?n:`- ${n}`),""].join(`
|
|
350
|
+
`)}function Jv(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.",To(t)].join(" ")}var GB=[/^(?: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 JB(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:GB.some(o=>o.test(n))}function Kv(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&JB(t.assistantText)}function Vv(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(To(t)),{text:e.join(" ")}}function Hv(t){let e=t.trim();return Fp.some(n=>e===n)}function KB(t){if(!Array.isArray(t)){let e=un(t);return e.trim().length>0&&!Hv(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&&!Hv(n)}return!0})}function Yv(t,e){let n=t.messages||[],r=[],o=e.hostEnv||sa(t);e.mode==="bridge"?(r.push(HB(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=un(f.content);h&&r.push(`[system]
|
|
351
|
+
${h}`)}let i=n.filter(f=>f.role!=="system"),a=e.followUpOnly?i.slice(-Math.max(1,VB(i,e.turnIntent)+1)):i,u=[];for(let f of a){if(f.role==="assistant"){let h=un(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
|
+
${un(f.content)}`);continue}if(f.role==="user"){let h=un(f.content);u=[...u,...$B(f.content)],h&&r.push(`[user]
|
|
355
|
+
${h}`)}}e.mode==="bridge"&&r.push(WB(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 VB(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 Xv(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||KB(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:un(i.content)})}return{toolResults:n,hasTrailingUserInput:s}}var wd=require("crypto"),Kt=require("fs"),_y=require("path"),gy=require("@cursor/sdk");var $r=require("fs"),qs=require("path");function YB(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(oa)})) {
|
|
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 vB(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${Yi}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,EA(t)].join(" ")}function Jg(t,e,n){try{if((0,Ur.readFileSync)(t,"utf-8")===e)return}catch{}(0,Ur.writeFileSync)(t,e,{encoding:"utf-8",mode:n})}function Qi(t,e=Br){let n=(0,Ps.join)(t,".cursor"),r=(0,Ps.join)(n,"hooks");(0,Ur.mkdirSync)(r,{recursive:!0});let o=(0,Ps.join)(r,"deny-builtin.cjs");Jg(o,EB(vB(e)),448);try{(0,Ur.chmodSync)(o,448)}catch{}let s=fA.join("|"),i=`node "${o}"`,c={version:1,hooks:{preToolUse:[{matcher:s,command:i}],beforeShellExecution:[{command:i}],beforeReadFile:[{command:i}],beforeMCPExecution:[{command:i}]}};Jg((0,Ps.join)(n,"hooks.json"),JSON.stringify(c,null,2),384),Jg((0,Ps.join)(t,"AGENTS.md"),SA(t,e),384)}var AB=2e3;function TB(t){let e=t;return e?.name==="AbortError"||String(e?.message||t).toLowerCase()==="this operation was aborted"}function Is(t,e){t.poisoned=!0,t.poisonReason=e}async function Xg(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 sd(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&&Is(t,e.reason||"cursor-sdk run cancellation did not complete"),n}async function sd(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 id(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 Zi(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")||(0,Gt.existsSync)("/.dockerenv")||process.env.container==="docker")}function RB(t,e){(0,Gt.existsSync)(Tn)||(0,Gt.mkdirSync)(Tn,{recursive:!0});let n=(0,Yg.join)(Tn,t);return(0,Gt.mkdirSync)(n,{recursive:!0}),Qi(n,e),n}function Qg(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 Qi(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function xA(t,e,n=Tn){if(!Hg(t,n))return!1;try{return(0,Gt.rmSync)(t,{recursive:!0,force:!0}),!0}catch(r){return e?.debug?.({err:r,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function OA(t){if(t.headerSession)return(0,rd.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,rd.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,rd.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return Ds([t.model||"",t.systemAndFirstUser||""])}function DA(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function od(t){t.lastActiveAt=Date.now()}var Kg=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&&od(n),n}async retireSession(e,n,r){Is(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||Br,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:RB(e.key,o);e.mode==="bridge"&&Qi(s,o);let i=e.mode==="plan"?"plan":"agent",c=Zi(e.sandboxEnabled),u=await Vg.Agent.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=Zi(e.sandboxEnabled),r=e.hostEnv||Br;e.mode==="bridge"&&Qi(e.workspaceDir,r);let o=await Vg.Agent.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"),od(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 Xg(n,{rejectParked:!0,reason:r}),await this.disposeAgent(n,r),xA(n.workspaceDir,this.logger),!0))}invalidate(e,n){let r=typeof e=="string"?this.sessions.get(e):e;if(!r)return Promise.resolve();if(Is(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 sd(r,AB,"cursor-sdk agent disposal timed out")}catch(r){let o={err:r,sessionKey:e.key,agentId:e.agentId,reason:n};TB(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>=zg;){let e,n=1/0;for(let[r,o]of this.sessions)DA(o)||o.lastActiveAt<n&&(n=o.lastActiveAt,e=r);if(!e){this.logger?.warn?.({size:this.sessions.size,max:zg},"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)DA(r)||e-r.lastActiveAt>uA&&(this.logger?.info?.({sessionKey:n},"cursor-sdk idle session evicted"),this.dispose(n));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),n=Tn){if(e-this.lastSweepAt<dA)return 0;this.lastSweepAt=e;let r;try{r=(0,Gt.readdirSync)(n)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of r){let c=(0,Yg.join)(n,i);if(!(o.has(c)||!Hg(c,n))){try{let u=(0,Gt.statSync)(c);if(!u.isDirectory()||e-u.mtimeMs<=lA)continue}catch{continue}xA(c,this.logger,n)&&s++}}return s&&this.logger?.info?.({removed:s,root:n},"cursor-sdk orphan workspaces swept"),s}},jr=new Kg;var xB="Cursor SDK agent.send timed out";function Zg(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 ey(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 DB(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 OB(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=DB(r),await sd(s?Promise.race([o,s.promise]):o,15e3,xB)}catch(i){throw o&&o.then(c=>c.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function ty(t,e,n,r={}){return OB(t,e,n,r.abortSignal)}var NA=require("crypto");var PB=6,IB=512,FB=4;function NB(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function MB(t,e){return t.length<8?!1:t.includes(e)||t.includes(Tn)}function PA(t,e){let n=[],r=0,o=(s,i,c)=>{if(!(n.length>=FB||r>=IB||c>PB)){if(r++,typeof s=="string"){MB(s,e)&&n.push({argPath:i||"(argument)",value:NB(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 IA(t){return t.projectRoot?!t.projectRoot.startsWith(Tn):!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 LA(t,e,n=0){let r=Math.max(0,Math.trunc(t)||0),o=UA(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 ad(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function qA(t,e,n){let r=Math.max(0,Math.trunc(n)||0);if(!r||!t)return 0;let o=ad(t.prompt_tokens),s=ad(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=ad(e?.prompt_tokens),c=ad(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 $A(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}}}var zA=require("crypto"),jB=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function Rn(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=>Rn(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=Rn(t[n]);r!==void 0&&(e[n]=r)}return e}function oy(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=Rn(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 Rn(e);let n=e;return n.type==="text"?{text:String(n.text||""),type:"text"}:Rn(n)}).filter(e=>e!==void 0)}function LB(t){if(typeof t!="string")return Rn(t)??null;try{return Rn(JSON.parse(t))??null}catch{return t}}function sy(t){let e=t,n={content:oy(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:LB(r.function.arguments),name:r.function.name},id:r.id,type:r.type}))),n}function HA(t){return Array.isArray(t)?t.map(e=>Rn(e)).filter(e=>e!==void 0).sort((e,n)=>ry(e).localeCompare(ry(n))):[]}function ry(t){return JSON.stringify(t)}function iy(t){return(0,zA.createHash)("sha256").update(ry(t)).digest("hex")}function WA(t){return{system:oy(t.system),messages:(t.messages||[]).map(sy)}}function qB(t){let e=t,n={};for(let r of Object.keys(e).sort()){if(jB.has(r)||r==="cache_control")continue;let o;r==="messages"?o=(t.messages||[]).map(sy):r==="system"?o=oy(t.system):r==="tools"?o=HA(t.tools):o=Rn(e[r]),o!==void 0&&(n[r]=o)}return n}function GA(t,e={}){return iy({compatibilityStamp:e.compatibilityStamp||"",request:qB(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 ay(t){return iy({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:Rn(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:HA(t.tools),workspaceDir:t.workspaceDir})}function JA(t,e){return iy({messages:e,system:t})}function VA(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(sy(e)),Object.freeze({transcriptHash:JA(n.system,n.messages),messageCount:n.messages.length})}function KA(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)&&JA(n.system,n.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function $B(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 rr=t=>({action:"retire-and-replay-full",reason:t});function YA(t){let{session:e,turn:n}=t;if(e.poisoned)return rr("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:rr("inconsistent-unused-session");if(e.alignment==="unknown")return rr("unknown-context-alignment");if(e.alignment==="divergent")return rr("divergent-context-alignment");if(e.run.kind==="active-different-turn")return rr("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return rr("dead-parked-run");if(n.hasMeaningfulSteering)return rr("parked-turn-has-steering");let r=$B(e.run.tools,n.toolResults);return r?{action:"resume-parked",reason:"exact-parked-tool-results",matches:r}:rr("parked-tool-results-mismatch")}return n.toolResults.length>0?rr("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function cn(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 cy(t,e){let n;try{await Promise.race([t,new Promise(r=>{n=setTimeout(r,e)})])}finally{n&&clearTimeout(n)}}var uy=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 ly(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(cn(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 cy(this.settled,3e3);return}this.phase="aborting";let n=cn(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 cy(o,3e3),this.finishFailed(n)}await cy(this.settled,3e3)}async responseFor(e,n){if(await this.ready,!this.interests.has(e))throw cn(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(cn(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,cn(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||cn("Cursor turn ended before subscription"))},cancel:o=>r!==void 0?this.removeSubscriber(r,cn(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(cn(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"))}},ly=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}}},dy=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 cn(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 cn(e.signal.reason);for(;;){if(e.signal?.aborted)throw cn(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 uy(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()}},XA=new dy;var zB=900*1e3,ea=null;function fy(t){return Ds([t])}async function HB(t){let e=fy(t);if(ea&&ea.apiKeyFingerprint===e&&Date.now()-ea.fetchedAt<zB)return ea.models;let n=await QA.Cursor.models.list({apiKey:t})||[];return ea={fetchedAt:Date.now(),apiKeyFingerprint:e,models:n},n}async function WB(t,e,n){let r;try{r=await HB(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 GB(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 JB(t){return t.length===1&&t[0]?.role==="user"}function VB(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||an(i.content)!==c.content)return!1}return!r||t[t.length-1]?.role==="user"}function un(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*KB(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 YB(t,e){if(!e||e.type!=="thinking-delta")return;let n=Os(e.text);if(n)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:n}}async function ta(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:jr.retireSession(t,e.reason,()=>id(t,async()=>(await Xg(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),await jr.invalidate(t,e.reason),!0)))}function XB(t,e,n,r){let o=r.cursorMode||td,s=t.model||"composer-2",i;try{i=iA(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=OA({headerSession:typeof c=="string"?c:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:GB(t)});return{apiKey:i,hostEnv:Xi(t),mode:o,modelId:s,sessionKey:f,turnIntent:r.turnIntent||n?.unifiedRequest?.turnIntent}}async function ZA(t,e,n,r={}){let o=XB(t,e,n,r),s=r.cursorCwd||`managed-session:${o.sessionKey}`,i=ay({credentialFingerprint:fy(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:Wg(t)||""},sandboxEnabled:Zi(r.sandboxEnabled),tools:t.tools,workspaceDir:s}),c=GA(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await XA.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 QB(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 QB(t,e,n,r,o){un(r.abortSignal);let s=r.logger||e?.logger;s&&jr.setLogger(s);let i=o.mode,c=t.stream===!0,u=o.modelId,f=o.apiKey,d=o.sessionKey,p=Wg(t),h=await WB(f,u,p);un(r.abortSignal);let _=o.hostEnv,b={key:d,apiKey:f,model:h,mode:i,cursorCwd:r.cursorCwd,sandboxEnabled:r.sandboxEnabled,hostEnv:_};un(r.abortSignal);let y=await jr.getOrCreate(b);un(r.abortSignal);let w=Y=>!_.known&&Y.hostEnv?.known?Y.hostEnv:_,C=Y=>ay({credentialFingerprint:fy(f),guidanceFingerprint:w(Y).fingerprint,mode:i,model:h,sandboxEnabled:Zi(r.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),v=w(y),A=C(y),T=RA(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?KA(y.transcriptCommit,t):void 0,$=q===void 0?!1:O.kind==="parked"?VB(q,T,r.turnIntent):O.kind==="idle"?JB(q):!0,H=!y.hasSentPrompt||!y.transcriptCommit?"unknown":$?"strict":"divergent",ae=YA({session:{alignment:H,hasSentPrompt:y.hasSentPrompt,poisoned:y.poisoned===!0,run:O},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:x}});if(ae.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:y.key,agentId:y.agentId,alignment:H,lifecycleReason:ae.reason,toolResultCount:x.length},"cursor-sdk retiring session before full transcript replay"),await ta(y,{reason:`cursor-sdk lifecycle: ${ae.reason}`,onlyRunToken:y.activeRunToken}),un(r.abortSignal),y=await jr.getOrCreate(b),un(r.abortSignal),v=w(y),A=C(y),ae={action:"send-full",reason:"unused-session"}),un(r.abortSignal),Qg(y,v),ae.action==="resume-parked"&&(un(r.abortSignal),jr.resolveParkedTools(y,x)!==x.length||y.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let X=ae.action!=="resume-parked",te=ae.action==="send-incremental",Z=y.activeRunToken,De=(Y,ce)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(de=>de.runToken!==ce),Y.notifySdkMessage()},qe=(Y,ce)=>{let de=i==="bridge"?MA(t,Y,s,Te):void 0;return{model:h,mode:i==="plan"?"plan":"agent",local:de?{customTools:de}:void 0,onDelta:({update:k})=>{let E=YB(Y,k);E&&Y.enqueueSdkMessage(E,ce)}}},Te=ny(),We=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),ee=(Y,ce)=>ce.hasSentPrompt&&!r.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||Zg(Y)||ey(Y)),Q=async(Y,ce)=>{let de;if(await id(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 Is(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:ce,hostEnv:v,turnIntent:r.turnIntent});de=Symbol("cursor-sdk-run"),Y.activeRunToken=de;try{let E=await ty(Y,k,qe(Y,de),{abortSignal:r.abortSignal,logger:s});Y.run=E,Y.activeRunToken=de,Y.streamIterator=E.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,un(r.abortSignal)}catch(E){throw de&&Y.activeRunToken===de&&(Y.activeRunToken=void 0,De(Y,de)),(r.abortSignal?.aborted||ey(E)||Zg(E))&&Is(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}}),!de)throw new Error("cursor-sdk agent.send did not produce a run token");return de};if(X)try{Z=await Q(y,te)}catch(Y){let ce=ee(Y,y);if(await ta(y,{reason:"cursor-sdk prompt send failed before streaming"}),!ce)throw We(Y);un(r.abortSignal),s?.warn?.({err:Y,sessionKey:y.key,agentId:y.agentId},"cursor-sdk retrying failed resumed send with fresh session"),y=await jr.getOrCreate(b),un(r.abortSignal),v=w(y),A=C(y),Qg(y,v);try{Z=await Q(y,!1)}catch(de){throw await ta(y,{reason:"cursor-sdk fresh replay send failed before streaming"}),We(de)}}Z||(Z=Symbol("cursor-sdk-run"),y.activeRunToken=Z);let se=pA(u,new TextEncoder),le=[],be=jA(t),K=0,Ke,Fe=new ReadableStream({async start(Y){let ce=()=>{Te.scratchViolations<=0||s?.warn?.({sessionKey:y.key,model:u,scratchViolations:Te.scratchViolations,scratchCorrections:Te.scratchCorrections,metrics:y.metrics,hostProjectRoot:v.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},de=D=>{le.push(D),c&&Y.enqueue(se.encode(D))},k=D=>{typeof D=="string"&&D.length&&(K+=D.length)},E=()=>{let D=qA(Ke,y.lastSdkUsageRaw,be),F=LA(be,K,D);return Ke&&(y.lastSdkUsageRaw=Ke),F},R=()=>{if(y.activeRunToken!==Z)return;let F=Gg(u,le)?.choices?.[0]?.message;!F||F.role!=="assistant"||(y.transcriptCommit=VA(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:Ke,runUsage:y.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),de(se.finish(D,F)),R()};try{let D=0,F=!1,j=!0,P=!1,N=!1,U,B="",G=0,oe=()=>{!P||N||(de(se.thinkingSignature()),N=!0,j=!1)};for(;;){let ie=!1;for await(let _e of KB(y,i,Z,r.abortSignal)){if(od(y),_e.kind==="host_tool"){if(i!=="bridge")continue;for(oe(),j=!1,k(_e.tool.name),k(JSON.stringify(_e.tool.args??{})),de(se.toolCall(_e.tool,D)),D+=1;y.pendingEmit.length;){let he=y.pendingEmit.shift();k(he.name),k(JSON.stringify(he.args??{})),de(se.toolCall(he,D)),D+=1}M("tool_calls"),c&&Y.enqueue(se.encodeDone()),Y.close();return}if(_e.kind==="end"){if(_e.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(vA({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 he=Symbol("cursor-sdk-run");Z=he,y.activeRunToken=he,await id(y,async()=>{if(y.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let ye=await ty(y,AA(v),qe(y,he),{abortSignal:r.abortSignal,logger:s});if(y.run=ye,y.activeRunToken=he,y.streamIterator=ye.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="",ie=!0;break}oe(),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(se.encodeDone()),Y.close();return}let ge=_e.message;if(ge){if(ge.type==="assistant")for(let he of ge.message?.content||[])he.type==="text"&&he.text&&(oe(),j=!1,F=!0,B+=he.text,k(he.text),de(se.content(he.text)));else if(ge.type==="thinking"){if(!j)continue;let he=_e.source||"stream";if(U&&U!==he)continue;U=he;let ye=Os(ge.text);ye&&(P=!0,k(ye),de(se.thinking(ye)))}else if(ge.type==="usage")Ke=$A(ge);else if(ge.type==="status"){if(ge.status==="ERROR"||ge.status==="CANCELLED")throw Object.assign(new Error(ge.message||`Cursor run ${ge.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ge.type==="tool_call"&&i!=="bridge"&&i==="agent"&&ge.name){oe(),j=!1;let he=`
|
|
396
|
+
`}function XB(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${oa}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,Jv(t)].join(" ")}function my(t,e,n){try{if((0,$r.readFileSync)(t,"utf-8")===e)return}catch{}(0,$r.writeFileSync)(t,e,{encoding:"utf-8",mode:n})}function ia(t,e=qr){let n=(0,qs.join)(t,".cursor"),r=(0,qs.join)(n,"hooks");(0,$r.mkdirSync)(r,{recursive:!0});let o=(0,qs.join)(r,"deny-builtin.cjs");my(o,YB(XB(e)),448);try{(0,$r.chmodSync)(o,448)}catch{}let s=Nv.join("|"),i=`node "${o}"`,a={version:1,hooks:{preToolUse:[{matcher:s,command:i}],beforeShellExecution:[{command:i}],beforeReadFile:[{command:i}],beforeMCPExecution:[{command:i}]}};my((0,qs.join)(n,"hooks.json"),JSON.stringify(a,null,2),384),my((0,qs.join)(t,"AGENTS.md"),Gv(t,e),384)}var QB=2e3;function ZB(t){let e=t;return e?.name==="AbortError"||String(e?.message||t).toLowerCase()==="this operation was aborted"}function $s(t,e){t.poisoned=!0,t.poisonReason=e}async function by(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 Sd(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&&$s(t,e.reason||"cursor-sdk run cancellation did not complete"),n}async function Sd(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 Ed(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 aa(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")||(0,Kt.existsSync)("/.dockerenv")||process.env.container==="docker")}function eU(t,e){(0,Kt.existsSync)(Pn)||(0,Kt.mkdirSync)(Pn,{recursive:!0});let n=(0,_y.join)(Pn,t);return(0,Kt.mkdirSync)(n,{recursive:!0}),ia(n,e),n}function Cy(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 ia(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function Qv(t,e,n=Pn){if(!fy(t,n))return!1;try{return(0,Kt.rmSync)(t,{recursive:!0,force:!0}),!0}catch(r){return e?.debug?.({err:r,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function eT(t){if(t.headerSession)return(0,wd.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,wd.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,wd.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return js([t.model||"",t.systemAndFirstUser||""])}function Zv(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function kd(t){t.lastActiveAt=Date.now()}var yy=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&&kd(n),n}async retireSession(e,n,r){$s(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||qr,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:eU(e.key,o);e.mode==="bridge"&&ia(s,o);let i=e.mode==="plan"?"plan":"agent",a=aa(e.sandboxEnabled),u=await gy.Agent.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=aa(e.sandboxEnabled),r=e.hostEnv||qr;e.mode==="bridge"&&ia(e.workspaceDir,r);let o=await gy.Agent.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"),kd(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 by(n,{rejectParked:!0,reason:r}),await this.disposeAgent(n,r),Qv(n.workspaceDir,this.logger),!0))}invalidate(e,n){let r=typeof e=="string"?this.sessions.get(e):e;if(!r)return Promise.resolve();if($s(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 Sd(r,QB,"cursor-sdk agent disposal timed out")}catch(r){let o={err:r,sessionKey:e.key,agentId:e.agentId,reason:n};ZB(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>=dy;){let e,n=1/0;for(let[r,o]of this.sessions)Zv(o)||o.lastActiveAt<n&&(n=o.lastActiveAt,e=r);if(!e){this.logger?.warn?.({size:this.sessions.size,max:dy},"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)Zv(r)||e-r.lastActiveAt>Pv&&(this.logger?.info?.({sessionKey:n},"cursor-sdk idle session evicted"),this.dispose(n));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),n=Pn){if(e-this.lastSweepAt<Fv)return 0;this.lastSweepAt=e;let r;try{r=(0,Kt.readdirSync)(n)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of r){let a=(0,_y.join)(n,i);if(!(o.has(a)||!fy(a,n))){try{let u=(0,Kt.statSync)(a);if(!u.isDirectory()||e-u.mtimeMs<=Iv)continue}catch{continue}Qv(a,this.logger,n)&&s++}}return s&&this.logger?.info?.({removed:s,root:n},"cursor-sdk orphan workspaces swept"),s}},zr=new yy;var tU="Cursor SDK agent.send timed out";function wy(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 ky(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 nU(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 rU(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=nU(r),await Sd(s?Promise.race([o,s.promise]):o,15e3,tU)}catch(i){throw o&&o.then(a=>a.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function Sy(t,e,n,r={}){return rU(t,e,n,r.abortSignal)}var oT=require("crypto");var oU=6,sU=512,iU=4;function aU(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function cU(t,e){return t.length<8?!1:t.includes(e)||t.includes(Pn)}function tT(t,e){let n=[],r=0,o=(s,i,a)=>{if(!(n.length>=iU||r>=sU||a>oU)){if(r++,typeof s=="string"){cU(s,e)&&n.push({argPath:i||"(argument)",value:aU(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 nT(t){return t.projectRoot?!t.projectRoot.startsWith(Pn):!0}function rT(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.",To(r),"Retry the call with a host path."].join(`
|
|
398
|
+
`)}var uU=3;function lU(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 Ey(){return{scratchViolations:0,scratchCorrections:0}}function sT(t,e,n,r=Ey()){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:lU(s.function.parameters),async execute(a,u){let d=Jn(u.toolCallId)||(0,oT.randomUUID)(),f=a||{},h=e.hostEnv||qr,p=nT(h)?tT(f,e.workspaceDir):[];if(p.length){e.metrics.scratchPathViolations+=1,r.scratchViolations+=1;let b=e.metrics.scratchPathCorrections<uU;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,rT(p,i,e.workspaceDir,h)}return e.metrics.customToolCalls+=1,e.parkHostTool({id:d,name:i,args:f})}})}return o}function aT(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function iT(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function cT(t){let e=[];t.system&&e.push(iT(t.system));for(let n of t.messages||[])e.push(iT(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)),aT(e.join(`
|
|
399
|
+
`).length)}function uT(t,e,n=0){let r=Math.max(0,Math.trunc(t)||0),o=aT(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 Ad(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function lT(t,e,n){let r=Math.max(0,Math.trunc(n)||0);if(!r||!t)return 0;let o=Ad(t.prompt_tokens),s=Ad(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=Ad(e?.prompt_tokens),a=Ad(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 dT(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}}}var fT=require("crypto"),dU=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function In(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=>In(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=In(t[n]);r!==void 0&&(e[n]=r)}return e}function vy(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=In(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 In(e);let n=e;return n.type==="text"?{text:String(n.text||""),type:"text"}:In(n)}).filter(e=>e!==void 0)}function fU(t){if(typeof t!="string")return In(t)??null;try{return In(JSON.parse(t))??null}catch{return t}}function Ty(t){let e=t,n={content:vy(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:fU(r.function.arguments),name:r.function.name},id:r.id,type:r.type}))),n}function pT(t){return Array.isArray(t)?t.map(e=>In(e)).filter(e=>e!==void 0).sort((e,n)=>Ay(e).localeCompare(Ay(n))):[]}function Ay(t){return JSON.stringify(t)}function Ry(t){return(0,fT.createHash)("sha256").update(Ay(t)).digest("hex")}function hT(t){return{system:vy(t.system),messages:(t.messages||[]).map(Ty)}}function pU(t){let e=t,n={};for(let r of Object.keys(e).sort()){if(dU.has(r)||r==="cache_control")continue;let o;r==="messages"?o=(t.messages||[]).map(Ty):r==="system"?o=vy(t.system):r==="tools"?o=pT(t.tools):o=In(e[r]),o!==void 0&&(n[r]=o)}return n}function mT(t,e={}){return Ry({compatibilityStamp:e.compatibilityStamp||"",request:pU(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 xy(t){return Ry({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:In(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:pT(t.tools),workspaceDir:t.workspaceDir})}function gT(t,e){return Ry({messages:e,system:t})}function yT(t,e){if(e&&e.role!=="assistant")throw new TypeError("Cursor transcript commits require an assistant message");let n=hT(t);return e&&n.messages.push(Ty(e)),Object.freeze({transcriptHash:gT(n.system,n.messages),messageCount:n.messages.length})}function _T(t,e){if(!Number.isInteger(t.messageCount)||t.messageCount<0||typeof t.transcriptHash!="string")return;let n=hT(e);if(!(n.messages.length<=t.messageCount)&&gT(n.system,n.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function hU(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 cr=t=>({action:"retire-and-replay-full",reason:t});function bT(t){let{session:e,turn:n}=t;if(e.poisoned)return cr("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:cr("inconsistent-unused-session");if(e.alignment==="unknown")return cr("unknown-context-alignment");if(e.alignment==="divergent")return cr("divergent-context-alignment");if(e.run.kind==="active-different-turn")return cr("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return cr("dead-parked-run");if(n.hasMeaningfulSteering)return cr("parked-turn-has-steering");let r=hU(e.run.tools,n.toolResults);return r?{action:"resume-parked",reason:"exact-parked-tool-results",matches:r}:cr("parked-tool-results-mismatch")}return n.toolResults.length>0?cr("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function ln(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 Dy(t,e){let n;try{await Promise.race([t,new Promise(r=>{n=setTimeout(r,e)})])}finally{n&&clearTimeout(n)}}var Oy=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 Py(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(ln(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 Dy(this.settled,3e3);return}this.phase="aborting";let n=ln(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 Dy(o,3e3),this.finishFailed(n)}await Dy(this.settled,3e3)}async responseFor(e,n){if(await this.ready,!this.interests.has(e))throw ln(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(ln(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,ln(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||ln("Cursor turn ended before subscription"))},cancel:o=>r!==void 0?this.removeSubscriber(r,ln(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(ln(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"))}},Py=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}}},Iy=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 ln(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 ln(e.signal.reason);for(;;){if(e.signal?.aborted)throw ln(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 Oy(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()}},CT=new Iy;var mU=900*1e3,ca=null;function Fy(t){return js([t])}async function gU(t){let e=Fy(t);if(ca&&ca.apiKeyFingerprint===e&&Date.now()-ca.fetchedAt<mU)return ca.models;let n=await wT.Cursor.models.list({apiKey:t})||[];return ca={fetchedAt:Date.now(),apiKeyFingerprint:e,models:n},n}async function yU(t,e,n){let r;try{r=await gU(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 _U(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 bU(t){return t.length===1&&t[0]?.role==="user"}function CU(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||un(i.content)!==a.content)return!1}return!r||t[t.length-1]?.role==="user"}function dn(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*wU(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 kU(t,e){if(!e||e.type!=="thinking-delta")return;let n=Ls(e.text);if(n)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:n}}async function ua(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:zr.retireSession(t,e.reason,()=>Ed(t,async()=>(await by(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),await zr.invalidate(t,e.reason),!0)))}function SU(t,e,n,r){let o=r.cursorMode||bd,s=t.model||"composer-2",i;try{i=xv(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=eT({headerSession:typeof a=="string"?a:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:_U(t)});return{apiKey:i,hostEnv:sa(t),mode:o,modelId:s,sessionKey:d,turnIntent:r.turnIntent||n?.unifiedRequest?.turnIntent}}async function kT(t,e,n,r={}){let o=SU(t,e,n,r),s=r.cursorCwd||`managed-session:${o.sessionKey}`,i=xy({credentialFingerprint:Fy(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:py(t)||""},sandboxEnabled:aa(r.sandboxEnabled),tools:t.tools,workspaceDir:s}),a=mT(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await CT.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 EU(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 EU(t,e,n,r,o){dn(r.abortSignal);let s=r.logger||e?.logger;s&&zr.setLogger(s);let i=o.mode,a=t.stream===!0,u=o.modelId,d=o.apiKey,f=o.sessionKey,h=py(t),p=await yU(d,u,h);dn(r.abortSignal);let b=o.hostEnv,C={key:f,apiKey:d,model:p,mode:i,cursorCwd:r.cursorCwd,sandboxEnabled:r.sandboxEnabled,hostEnv:b};dn(r.abortSignal);let m=await zr.getOrCreate(C);dn(r.abortSignal);let w=Y=>!b.known&&Y.hostEnv?.known?Y.hostEnv:b,_=Y=>xy({credentialFingerprint:Fy(d),guidanceFingerprint:w(Y).fingerprint,mode:i,model:p,sandboxEnabled:aa(r.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),A=w(m),S=_(m),T=Xv(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?_T(m.transcriptCommit,t):void 0,$=q===void 0?!1:O.kind==="parked"?CU(q,T,r.turnIntent):O.kind==="idle"?bU(q):!0,z=!m.hasSentPrompt||!m.transcriptCommit?"unknown":$?"strict":"divergent",ae=bT({session:{alignment:z,hasSentPrompt:m.hasSentPrompt,poisoned:m.poisoned===!0,run:O},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:x}});if(ae.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:m.key,agentId:m.agentId,alignment:z,lifecycleReason:ae.reason,toolResultCount:x.length},"cursor-sdk retiring session before full transcript replay"),await ua(m,{reason:`cursor-sdk lifecycle: ${ae.reason}`,onlyRunToken:m.activeRunToken}),dn(r.abortSignal),m=await zr.getOrCreate(C),dn(r.abortSignal),A=w(m),S=_(m),ae={action:"send-full",reason:"unused-session"}),dn(r.abortSignal),Cy(m,A),ae.action==="resume-parked"&&(dn(r.abortSignal),zr.resolveParkedTools(m,x)!==x.length||m.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let X=ae.action!=="resume-parked",ee=ae.action==="send-incremental",Z=m.activeRunToken,Re=(Y,ce)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(de=>de.runToken!==ce),Y.notifySdkMessage()},qe=(Y,ce)=>{let de=i==="bridge"?sT(t,Y,s,Te):void 0;return{model:p,mode:i==="plan"?"plan":"agent",local:de?{customTools:de}:void 0,onDelta:({update:k})=>{let v=kU(Y,k);v&&Y.enqueueSdkMessage(v,ce)}}},Te=Ey(),We=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),te=(Y,ce)=>ce.hasSentPrompt&&!r.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||wy(Y)||ky(Y)),Q=async(Y,ce)=>{let de;if(await Ed(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 $s(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=Yv(t,{mode:i,workspaceDir:Y.workspaceDir,followUpOnly:ce,hostEnv:A,turnIntent:r.turnIntent});de=Symbol("cursor-sdk-run"),Y.activeRunToken=de;try{let v=await Sy(Y,k,qe(Y,de),{abortSignal:r.abortSignal,logger:s});Y.run=v,Y.activeRunToken=de,Y.streamIterator=v.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,dn(r.abortSignal)}catch(v){throw de&&Y.activeRunToken===de&&(Y.activeRunToken=void 0,Re(Y,de)),(r.abortSignal?.aborted||ky(v)||wy(v))&&$s(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}}),!de)throw new Error("cursor-sdk agent.send did not produce a run token");return de};if(X)try{Z=await Q(m,ee)}catch(Y){let ce=te(Y,m);if(await ua(m,{reason:"cursor-sdk prompt send failed before streaming"}),!ce)throw We(Y);dn(r.abortSignal),s?.warn?.({err:Y,sessionKey:m.key,agentId:m.agentId},"cursor-sdk retrying failed resumed send with fresh session"),m=await zr.getOrCreate(C),dn(r.abortSignal),A=w(m),S=_(m),Cy(m,A);try{Z=await Q(m,!1)}catch(de){throw await ua(m,{reason:"cursor-sdk fresh replay send failed before streaming"}),We(de)}}Z||(Z=Symbol("cursor-sdk-run"),m.activeRunToken=Z);let se=Mv(u,new TextEncoder),le=[],be=cT(t),V=0,Ye,Fe=new ReadableStream({async start(Y){let ce=()=>{Te.scratchViolations<=0||s?.warn?.({sessionKey:m.key,model:u,scratchViolations:Te.scratchViolations,scratchCorrections:Te.scratchCorrections,metrics:m.metrics,hostProjectRoot:A.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},de=D=>{le.push(D),a&&Y.enqueue(se.encode(D))},k=D=>{typeof D=="string"&&D.length&&(V+=D.length)},v=()=>{let D=lT(Ye,m.lastSdkUsageRaw,be),F=uT(be,V,D);return Ye&&(m.lastSdkUsageRaw=Ye),F},R=()=>{if(m.activeRunToken!==Z)return;let F=hy(u,le)?.choices?.[0]?.message;!F||F.role!=="assistant"||(m.transcriptCommit=yT(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:Ye,runUsage:m.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),de(se.finish(D,F)),R()};try{let D=0,F=!1,j=!0,P=!1,N=!1,U,B="",G=0,oe=()=>{!P||N||(de(se.thinkingSignature()),N=!0,j=!1)};for(;;){let ie=!1;for await(let _e of wU(m,i,Z,r.abortSignal)){if(kd(m),_e.kind==="host_tool"){if(i!=="bridge")continue;for(oe(),j=!1,k(_e.tool.name),k(JSON.stringify(_e.tool.args??{})),de(se.toolCall(_e.tool,D)),D+=1;m.pendingEmit.length;){let he=m.pendingEmit.shift();k(he.name),k(JSON.stringify(he.args??{})),de(se.toolCall(he,D)),D+=1}M("tool_calls"),a&&Y.enqueue(se.encodeDone()),Y.close();return}if(_e.kind==="end"){if(_e.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(Kv({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 he=Symbol("cursor-sdk-run");Z=he,m.activeRunToken=he,await Ed(m,async()=>{if(m.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let ye=await Sy(m,Vv(A),qe(m,he),{abortSignal:r.abortSignal,logger:s});if(m.run=ye,m.activeRunToken=he,m.streamIterator=ye.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="",ie=!0;break}oe(),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(se.encodeDone()),Y.close();return}let ge=_e.message;if(ge){if(ge.type==="assistant")for(let he of ge.message?.content||[])he.type==="text"&&he.text&&(oe(),j=!1,F=!0,B+=he.text,k(he.text),de(se.content(he.text)));else if(ge.type==="thinking"){if(!j)continue;let he=_e.source||"stream";if(U&&U!==he)continue;U=he;let ye=Ls(ge.text);ye&&(P=!0,k(ye),de(se.thinking(ye)))}else if(ge.type==="usage")Ye=dT(ge);else if(ge.type==="status"){if(ge.status==="ERROR"||ge.status==="CANCELLED")throw Object.assign(new Error(ge.message||`Cursor run ${ge.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ge.type==="tool_call"&&i!=="bridge"&&i==="agent"&&ge.name){oe(),j=!1;let he=`
|
|
397
401
|
[cursor tool ${ge.status||"running"}: ${ge.name}]
|
|
398
|
-
`;k(he),de(se.content(he))}}}if(!ie)break}!F&&!D&&(oe(),M("stop")),c&&Y.enqueue(se.encodeDone()),Y.close()}catch(D){s?.error?.({err:D,metrics:y.metrics},"cursor-sdk stream failed"),await ta(y,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Z});try{Y.error(D)}catch{}}finally{ce()}},async cancel(){await ta(y,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Z})}});if(!c){let Y=Fe.getReader();for(;;){let{done:de}=await Y.read();if(de)break}let ce=Gg(u,le);return new Response(JSON.stringify(ce),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Fe,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function ZB(t,e,n){return{cursorMode:t.cursorMode||td,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:n,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var cd=class{static TransformerName=$g;name=$g;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,n,r){let o=ZB(this.options,r,this.logger),s={...e,messages:Je(e.messages),tools:Ve(e.tools)},i=await ZA(s,n,r,o);return{body:s,config:{url:n?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};var wT=require("crypto");var Pt=require("fs"),ld=require("path"),tT=require("os"),nT=require("crypto"),dd="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",fd="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",hy="http://localhost:51121/oauth-callback",rT=["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"],my="https://daily-cloudcode-pa.sandbox.googleapis.com",oT="https://autopush-cloudcode-pa.sandbox.googleapis.com",sT="https://cloudcode-pa.googleapis.com",eU=[my,oT,sT],py=[sT,my,oT],tU="1.18.3",nU=(0,ld.join)((0,tT.homedir)(),".claude-code-router","antigravity_auth.json"),rU=12e4,iT="https://oauth2.googleapis.com/token",oU="https://www.googleapis.com/oauth2/v2/userinfo",ud=null,aT=null;function cT(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||nU}function ra(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${tU} 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 na(){try{let t=cT();if(!(0,Pt.existsSync)(t))return null;let e=JSON.parse((0,Pt.readFileSync)(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function pd(t){let e=cT();(0,Pt.mkdirSync)((0,ld.dirname)(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,Pt.writeFileSync)(n,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),(0,Pt.renameSync)(n,e)}finally{try{(0,Pt.existsSync)(n)&&(0,Pt.unlinkSync)(n)}catch{}}}function sU(t){return Date.now()+rU>=t.expires_at}async function iU(t){let e=new URLSearchParams({client_id:dd,client_secret:fd,refresh_token:t.refresh_token,grant_type:"refresh_token"}),n=await fetch(iT,{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 pd(o),o}async function oa(t){let e=na();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!sU(e)?e:(ud||(ud=iU(e).finally(()=>{ud=null})),ud)}function Fs(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 aU(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 uT(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function eT(t){await new Promise(e=>setTimeout(e,t))}async function cU(t,e,n){let r=n.startsWith("http")?n:`${e}/${n.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...ra()};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 eT(2e3);continue}let c=await i.json();if(c?.done===!0)return Fs(c?.response)||Fs(c)||void 0}catch{}await eT(2e3)}}async function uU(t,e,n){try{let r=await fetch(`${n}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...ra()},body:JSON.stringify({tierId:e,metadata:uT()}),signal:AbortSignal.timeout(3e4)});if(!r.ok)return;let o=await r.json(),s=Fs(o?.response)||Fs(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?cU(t,n,o.name.trim()):void 0}catch{return}}function lU(t){let e=aU(t),n=["free-tier","FREE"];return[...new Set([e,...n].filter(Boolean))]}async function dU(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...ra()},n=JSON.stringify({metadata:uT()}),r;for(let o of py)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=Fs(i);if(c)return c}catch{}for(let o of lU(r))for(let s of py){let i=await uU(t,o,s);if(i)return i}for(let o of py)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=Fs(await s.json());if(i)return i}catch{}}async function hd(t,e){let n=t?.project_id?.trim();if(n)return n;let r=na();if(r?.project_id?.trim())return r.project_id.trim();let o=await dU(e);if(o){let s=na();return s&&pd({...s,project_id:o}),o}}function sa(){return aT||my}function lT(t){aT=t}var dT=new Set;function fT(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function pT(t){dT.add(t.replace(/\/$/,""))}function fU(t){return dT.has(t.replace(/\/$/,""))}function hT(t,e){return e?t===404||t===403||t>=500:!1}function mT(t){let e=t?.replace(/\/$/,"")||sa(),n=[...new Set([e,...eU])],r=n.filter(o=>!fU(o));return r.length?r:n}function md(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function gT(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:(0,nT.randomUUID)()}}async function yT(t){try{let e=await fetch(oU,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function _T(t,e){let n=new URLSearchParams({client_id:dd,client_secret:fd,code:t,grant_type:"authorization_code",redirect_uri:hy,code_verifier:e}),r=await fetch(iT,{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 bT(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 CT(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function pU(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 hU(t){return t?.req?.body?.stream===!0}function mU(t){return mT(t)}var gd=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,n,r,o){let s=await oa({force:o?.forceRefresh}),i=await hd(n,s.access_token),c=pU(r,n),u=hU(r),f=gT({...i?{project:i}:{},model:c,request:e});return f.requestId=f.requestId||(0,wT.randomUUID)(),{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,...ra(),...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||sa(),d=mU(f),p;for(let h=0;h<d.length;h++){let _=d[h],b=md(_,r),y=this.buildHeaders(n,r);try{let w=await Uo(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 oa({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=bT(C),A={};throw v!=null&&(A["Retry-After"]=String(Math.ceil(v/1e3))),W(et(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&&fT(C)&&(pT(_),u?.warn?.({endpoint:_},"Antigravity endpoint is not enabled for this project; skipping it")),hT(w.status,h<d.length-1)){p=W(`Antigravity endpoint ${_} returned ${w.status}`,w.status,"provider_error");continue}throw W(et(C)||`Antigravity request failed with ${w.status}`,w.status,w.status===403?"permission_error":"provider_error")}return lT(_),w}catch(w){if(w?.statusCode===429||w?.status===429||!Yr(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:md(sa(),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:md(n?.baseUrl||sa(),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?Ie(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(Re(r,o.encoder));return}if(r.startsWith("data: ")){let s=r.slice(6);if(s.trim()==="[DONE]"){o.controller.enqueue(Ee("[DONE]",o.encoder));return}try{let i=JSON.parse(s),c=CT(i);o.controller.enqueue(Ee(JSON.stringify(c),o.encoder))}catch{o.controller.enqueue(Re(r,o.encoder))}return}o.controller.enqueue(Re(r,o.encoder))},{logger:this.logger}):e;if(n.includes("application/json")){let r=await e.text();try{let o=JSON.parse(r),s=CT(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 kT={AnthropicTransformer:vc,GeminiTransformer:Pc,VertexGeminiTransformer:ll,VertexClaudeTransformer:Pl,VertexOpenaiTransformer:Il,DeepseekTransformer:Cl,TooluseTransformer:wl,OpenrouterTransformer:kl,OpenAITransformer:Ml,MaxTokenTransformer:Sl,GroqTransformer:El,CleancacheTransformer:vl,EnhanceToolTransformer:Rl,ReasoningTransformer:xl,SamplingTransformer:Dl,MaxCompletionTokens:Ol,CerebrasTransformer:Fl,StreamOptionsTransformer:Nl,CustomParamsTransformer:Bl,VercelTransformer:Ul,OpenAIResponsesTransformer:jl,CodexTransformer:Wl,QwenAuthTransformer:Gl,ForceReasoningTransformer:Jl,ExtraThinkTagTransformer:Vl,MistralTransformer:Kl,ChromeOnDeviceTransformer:Yl,OpencodeHeadersTransformer:Xl,ClaudeAuthTransformer:ed,CursorSdkTransformer:cd,AntigravityAuthTransformer:gd};var wo=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=require(require.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(he),de(se.content(he))}}}if(!ie)break}!F&&!D&&(oe(),M("stop")),a&&Y.enqueue(se.encodeDone()),Y.close()}catch(D){s?.error?.({err:D,metrics:m.metrics},"cursor-sdk stream failed"),await ua(m,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Z});try{Y.error(D)}catch{}}finally{ce()}},async cancel(){await ua(m,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Z})}});if(!a){let Y=Fe.getReader();for(;;){let{done:de}=await Y.read();if(de)break}let ce=hy(u,le);return new Response(JSON.stringify(ce),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Fe,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function AU(t,e,n){return{cursorMode:t.cursorMode||bd,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:n,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var vd=class{static TransformerName=ly;name=ly;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,n,r){let o=AU(this.options,r,this.logger),s={...e,messages:Ke(e.messages),tools:Ve(e.tools)},i=await kT(s,n,r,o);return{body:s,config:{url:n?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};var HT=require("crypto");var Ft=require("fs"),Rd=require("path"),ET=require("os"),AT=require("crypto"),xd="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",Dd="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",My="http://localhost:51121/oauth-callback",vT=["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"],By="https://daily-cloudcode-pa.sandbox.googleapis.com",TT="https://autopush-cloudcode-pa.sandbox.googleapis.com",RT="https://cloudcode-pa.googleapis.com",vU=[By,TT,RT],Ny=[RT,By,TT],TU="1.18.3",RU=(0,Rd.join)((0,ET.homedir)(),".claude-code-router","antigravity_auth.json"),xU=12e4,xT="https://oauth2.googleapis.com/token",DU="https://www.googleapis.com/oauth2/v2/userinfo",Td=null,DT=null;function OT(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||RU}function da(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${TU} 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 la(){try{let t=OT();if(!(0,Ft.existsSync)(t))return null;let e=JSON.parse((0,Ft.readFileSync)(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function Od(t){let e=OT();(0,Ft.mkdirSync)((0,Rd.dirname)(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,Ft.writeFileSync)(n,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),(0,Ft.renameSync)(n,e)}finally{try{(0,Ft.existsSync)(n)&&(0,Ft.unlinkSync)(n)}catch{}}}function OU(t){return Date.now()+xU>=t.expires_at}async function PU(t){let e=new URLSearchParams({client_id:xd,client_secret:Dd,refresh_token:t.refresh_token,grant_type:"refresh_token"}),n=await fetch(xT,{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 Od(o),o}async function fa(t){let e=la();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!OU(e)?e:(Td||(Td=PU(e).finally(()=>{Td=null})),Td)}function zs(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 IU(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 PT(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function ST(t){await new Promise(e=>setTimeout(e,t))}async function FU(t,e,n){let r=n.startsWith("http")?n:`${e}/${n.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...da()};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 ST(2e3);continue}let a=await i.json();if(a?.done===!0)return zs(a?.response)||zs(a)||void 0}catch{}await ST(2e3)}}async function NU(t,e,n){try{let r=await fetch(`${n}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...da()},body:JSON.stringify({tierId:e,metadata:PT()}),signal:AbortSignal.timeout(3e4)});if(!r.ok)return;let o=await r.json(),s=zs(o?.response)||zs(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?FU(t,n,o.name.trim()):void 0}catch{return}}function MU(t){let e=IU(t),n=["free-tier","FREE"];return[...new Set([e,...n].filter(Boolean))]}async function BU(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...da()},n=JSON.stringify({metadata:PT()}),r;for(let o of Ny)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=zs(i);if(a)return a}catch{}for(let o of MU(r))for(let s of Ny){let i=await NU(t,o,s);if(i)return i}for(let o of Ny)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=zs(await s.json());if(i)return i}catch{}}async function Pd(t,e){let n=t?.project_id?.trim();if(n)return n;let r=la();if(r?.project_id?.trim())return r.project_id.trim();let o=await BU(e);if(o){let s=la();return s&&Od({...s,project_id:o}),o}}function pa(){return DT||By}function IT(t){DT=t}var FT=new Set;function NT(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function MT(t){FT.add(t.replace(/\/$/,""))}function UU(t){return FT.has(t.replace(/\/$/,""))}function BT(t,e){return e?t===404||t===403||t>=500:!1}function UT(t){let e=t?.replace(/\/$/,"")||pa(),n=[...new Set([e,...vU])],r=n.filter(o=>!UU(o));return r.length?r:n}function Id(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function jT(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:(0,AT.randomUUID)()}}async function LT(t){try{let e=await fetch(DU,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function qT(t,e){let n=new URLSearchParams({client_id:xd,client_secret:Dd,code:t,grant_type:"authorization_code",redirect_uri:My,code_verifier:e}),r=await fetch(xT,{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 $T(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 zT(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function jU(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 LU(t){return t?.req?.body?.stream===!0}function qU(t){return UT(t)}var Fd=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,n,r,o){let s=await fa({force:o?.forceRefresh}),i=await Pd(n,s.access_token),a=jU(r,n),u=LU(r),d=jT({...i?{project:i}:{},model:a,request:e});return d.requestId=d.requestId||(0,HT.randomUUID)(),{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,...da(),...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||pa(),f=qU(d),h;for(let p=0;p<f.length;p++){let b=f[p],C=Id(b,r),m=this.buildHeaders(n,r);try{let w=await Wo(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 fa({force:!0});return this.sendWithFallback(e,_.access_token,r,o,s,!0)}if(w.status===429){let _=await w.clone().text().catch(()=>""),A=$T(_),S={};throw A!=null&&(S["Retry-After"]=String(Math.ceil(A/1e3))),W(Ge(_)||"Antigravity rate limit exceeded",429,"rate_limit_error","api_error",S)}if(!w.ok){let _=await w.clone().text().catch(()=>"");if(w.status===403&&NT(_)&&(MT(b),u?.warn?.({endpoint:b},"Antigravity endpoint is not enabled for this project; skipping it")),BT(w.status,p<f.length-1)){h=W(`Antigravity endpoint ${b} returned ${w.status}`,w.status,"provider_error");continue}throw W(Ge(_)||`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||!eo(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:Id(pa(),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:Id(n?.baseUrl||pa(),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?Oe(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(Ee("[DONE]",o.encoder));return}try{let i=JSON.parse(s),a=zT(i);o.controller.enqueue(Ee(JSON.stringify(a),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=zT(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 WT={AnthropicTransformer:Wc,GeminiTransformer:Qc,VertexGeminiTransformer:Dl,VertexClaudeTransformer:Ql,VertexOpenaiTransformer:Zl,DeepseekTransformer:Ll,TooluseTransformer:ql,OpenrouterTransformer:$l,OpenAITransformer:nd,MaxTokenTransformer:zl,GroqTransformer:Hl,CleancacheTransformer:Wl,EnhanceToolTransformer:Kl,ReasoningTransformer:Vl,SamplingTransformer:Yl,MaxCompletionTokens:Xl,CerebrasTransformer:ed,StreamOptionsTransformer:td,CustomParamsTransformer:rd,VercelTransformer:od,OpenAIResponsesTransformer:sd,CodexTransformer:dd,QwenAuthTransformer:fd,ForceReasoningTransformer:pd,ExtraThinkTagTransformer:hd,MistralTransformer:md,ChromeOnDeviceTransformer:gd,OpencodeHeadersTransformer:yd,ClaudeAuthTransformer:zc,CursorSdkTransformer:vd,AntigravityAuthTransformer:Fd};var Ro=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=require(require.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}},IU=PU,FU=class extends or{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}},NU=FU,MU=class extends or{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>IT(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},BU=MU,UU=class extends or{normalize(t){let e=_d(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},jU=UU,LU=class extends or{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},bd=LU,qU=class extends bd{constructor(){super(...arguments),this.form="NFC"}},$U=qU,zU=class extends bd{constructor(){super(...arguments),this.form="NFD"}},HU=zU,WU=class extends bd{constructor(){super(...arguments),this.form="NFKC"}},GU=WU,JU=class extends bd{constructor(){super(...arguments),this.form="NFKD"}},VU=JU,KU=class extends or{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}},YU=KU,XU=class extends or{normalize(t){return PT(t)}},QU=XU,ZU=class extends or{normalize(t){return t.toLowerCase()}},ej=ZU,tj=class extends or{normalize(t){return t=this.config.prepend+t,t}},nj=tj;function rj(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new IU(t);case"Precompiled":return new NU(t);case"Sequence":return new BU(t);case"Replace":return new jU(t);case"NFC":return new $U(t);case"NFD":return new HU(t);case"NFKC":return new GU(t);case"NFKD":return new VU(t);case"Strip":return new YU(t);case"StripAccents":return new QU(t);case"Lowercase":return new ej(t);case"Prepend":return new nj(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var IT=rj,oj=class extends aa{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)}},dn=oj,sj=class extends dn{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=OT,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(""))}},ij=sj,aj=class extends dn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},cj=aj,uj=class extends dn{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]}},lj=uj,dj=class extends dn{constructor(t){super(),this.config=t,this.pattern=_d(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):RU(t,this.pattern)}},fj=dj,pj=class extends dn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${yd}]+|[${yd}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},hj=pj,mj=class extends dn{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)||[]}},gj=mj,yj=class extends dn{constructor(){super(),this.pattern=new RegExp(`[^\\s${yd}]+|[${yd}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},_j=yj,bj=class extends dn{constructor(t){super(),this.config=t,this.pattern=_d(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},Cj=bj,wj=class extends dn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>FT(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},kj=wj,Sj=class extends dn{pre_tokenize_text(t){return xU(t)}},Ej=Sj,vj=class extends dn{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}},Aj=vj;function Tj(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new _j;case"Sequence":return new kj(t);case"Whitespace":return new cj;case"WhitespaceSplit":return new Ej;case"Metaspace":return new lj(t);case"ByteLevel":return new ij(t);case"Split":return new fj(t);case"Punctuation":return new hj(t);case"Digits":return new gj(t);case"Replace":return new Cj(t);case"FixedLength":return new Aj(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var FT=Tj,Rj=class extends aa{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=SU(e,this.tokens_to_ids,this.unk_token_id)),e}},Cd=Rj,xj=class extends Cd{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=_y(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}},TT=xj,RT=class NT{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new NT(!1,new Map)}},Dj=class{constructor(){this.root=RT.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=RT.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)}}},Oj=Dj,gy=class MT{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 MT(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},Pj=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 gy(this.bos_token_id??0,0,0,0,0),o=new gy(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 gy(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)}},Ij=Pj;function Fj(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 Nj=class extends Cd{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=Fj(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new Oj,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=AU(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 Ij(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}},xT=Nj,Mj=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}},Bj=Mj,Uj=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()}},jj=Uj,Lj=class extends Cd{constructor(t){super(t),this.tokens_to_ids=_y(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 jj(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 Bj((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}},DT=Lj,qj=class extends Cd{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=_y(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}},$j=qj;function zj(t,e){switch(t.type){case"WordPiece":return new TT(t);case"Unigram":return new xT(t,e.eos_token);case"BPE":return new DT(t);default:if(t.vocab)return Array.isArray(t.vocab)?new xT(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new DT(t):new TT(t):new $j(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 Hj=zj,Wj=class extends aa{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ca=Wj,Gj=class extends ca{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=ln(o,t),s=ln(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=ln(o,e),s=ln(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},Jj=Gj,Vj=class extends ca{post_process(t,e=null){return{tokens:t,tokens_pair:e}}},Kj=Vj,Yj=class extends ca{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=ln([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=ln(t,o,e,s),r=ln(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},Xj=Yj,Qj=class extends ca{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=ln([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=ln(t,o,e,s),r=ln(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},Zj=Qj,eL=class extends ca{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>BT(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}},tL=eL;function nL(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new Jj(t);case"ByteLevel":return new Kj(t);case"BertProcessing":return new Xj(t);case"RobertaProcessing":return new Zj(t);case"Sequence":return new tL(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var BT=nL,rL=class extends aa{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("")}},xn=rL,oL=class extends xn{constructor(t){super(t),this.byte_decoder=CU,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}},sL=oL,iL=class extends xn{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=yy(e)),e})}},aL=iL,cL=class extends xn{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}},uL=cL,lL=class extends xn{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},dL=lL,fL=class extends xn{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=yy(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},pL=fL,hL=class extends xn{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>UT(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},mL=hL,gL=class extends xn{decode_chain(t){let e=_d(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},yL=gL,_L=class extends xn{decode_chain(t){return[t.join("")]}},bL=_L,CL=class extends xn{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)})}},wL=CL,kL=class extends xn{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}},SL=kL;function EL(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new sL(t);case"WordPiece":return new aL(t);case"Metaspace":return new uL(t);case"BPEDecoder":return new dL(t);case"CTC":return new pL(t);case"Sequence":return new mL(t);case"Replace":return new yL(t);case"Fuse":return new bL(t);case"Strip":return new wL(t);case"ByteFallback":return new SL(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var UT=EL,vL=class{constructor(t,e){let n=AT(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=AT(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=IT(this.tokenizer.normalizer),this.pre_tokenizer=FT(this.tokenizer.pre_tokenizer),this.model=Hj(this.tokenizer.model,this.config),this.post_processor=BT(this.tokenizer.post_processor),this.decoder=UT(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 _U(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 ET(o),this.splitter_normalized=new ET(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||!vU(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=yy(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=TU(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:ln(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}},jT=vL;var wd=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||(0,ua.join)((0,LT.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,ua.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,ua.join)(e,"tokenizer.json"),tokenizerConfig:(0,ua.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,Ns.existsSync)(e)||(0,Ns.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,Ns.existsSync)(e.tokenizerJson)||!(0,Ns.existsSync)(e.tokenizerConfig))return null;let[n,r]=await Promise.all([la.promises.readFile(e.tokenizerJson,"utf-8"),la.promises.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([la.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),la.promises.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 jT(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 kd=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 ko=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 ia("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 ia(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new wd(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new kd(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()}},Cy=new by;var KT=tt(WT(),1);Sy();Ey();Ay();JT();var So=new Map;function xy(t){let e=So.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function Dy(){return Array.from(So.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var Ry=new Map,Oy={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,KT.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)Bs.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&&Bs.registerHandlers(s)}n.outputOptions&&Bs.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 VT(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 Hn).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 ae=q.data.delta.type,X="";if(ae==="text_delta"?X=q.data.delta.text||"":ae==="input_json_delta"?X=q.data.delta.partial_json||"":ae==="thinking_delta"&&(X=q.data.delta.thinking||""),X){let te=p&&p.encodeText?p.encodeText(X).length:ha(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:ha(v))}return w},0):typeof y=="string"&&(_=p.encodeText?p.encodeText(y).length:ha(y));else{let w=Array.isArray(y)?y.map(C=>C.text).join(""):y;_=ha(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 VT(y,r,n.outputOptions,!0,t.log)}return c})})};function ha(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function VT(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 Bs.outputToType(u,i,c)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,f)}}function OL(t={}){let e=(0,YT.default)({bodyLimit:52428800,...t});return e.setErrorHandler(gb),e.register(XT.default),e.register(QT.default,{global:!0,...ZT.RATE_LIMIT_CONFIG}),e}var Py=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:n,...r}=e;this.app=OL({...r,logger:r.logger??!0}),this.configService=new Kr({...e,logger:this.app.log}),this.transformerService=new wo(this.configService,this.app.log),this.tokenizerService=new ko(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new eo(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 lp(c)});return}if(!n)throw new Error("options is required");let r=new Kr({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new wo(r,this.app.log);await o.initialize();let s=new eo(r,o,this.app.log),i=new ko(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 lp(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)}}},PL=Py;0&&(module.exports={ANTIGRAVITY_CLIENT_ID,ANTIGRAVITY_CLIENT_SECRET,ANTIGRAVITY_REDIRECT_URI,ANTIGRAVITY_SCOPES,ConfigService,DEFAULT_LOG_BODY_MAX_BYTES,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,diffHeadersForLog,exchangeAuthorizationCode,fetchUserEmail,getGlobalTokenSpeedStats,getTokenSpeedStats,getValidAccessToken,isClientAbortError,isRoutedLlmPost,listClientRouteRegistrations,loadTokens,matchClientProtocol,pluginManager,protocolErrorBody,resolveProjectId,rewriteStream,router,sanitizeBodyForLog,sanitizeHeadersForLog,saveTokens,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
|
|
405
|
+
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(WT).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)}};var GT=require("tiktoken"),ha=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,GT.get_encoding)(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)}};var ya=require("path"),uR=require("os"),Hs=require("fs"),_a=require("fs");var $U=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}},JT=$U,zU=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}},HU=zU,eR=(()=>{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]]))})(),WU=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),GU=WU(eR),KT=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",JU=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|[${KT}])]+`,` ?[^\\s${KT}]+`]]),Nd="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",jy=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"),Md=(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 JU)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=KU(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},KU=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),VU=(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},YU=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,XU=t=>Number.isInteger(t)||typeof t=="bigint",QU=t=>{let e=0;for(let n of t)++e;return e},ZU=t=>tR(t.toLowerCase()),fn=(...t)=>Array.prototype.concat.apply([],t),Ly=t=>new Map(Object.entries(t)),ej=(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},tR=t=>t.replace(new RegExp("\\p{M}","gu"),""),VT=(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},tj=t=>t.match(/\S+/g)||[],nj=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ma=nj,rj=class extends ma{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},ur=rj,oj=class extends ur{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);YU(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}},sj=oj,ij=class extends ur{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}},aj=ij,cj=class extends ur{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>nR(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},uj=cj,lj=class extends ur{normalize(t){let e=Md(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},dj=lj,fj=class extends ur{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Bd=fj,pj=class extends Bd{constructor(){super(...arguments),this.form="NFC"}},hj=pj,mj=class extends Bd{constructor(){super(...arguments),this.form="NFD"}},gj=mj,yj=class extends Bd{constructor(){super(...arguments),this.form="NFKC"}},_j=yj,bj=class extends Bd{constructor(){super(...arguments),this.form="NFKD"}},Cj=bj,wj=class extends ur{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}},kj=wj,Sj=class extends ur{normalize(t){return tR(t)}},Ej=Sj,Aj=class extends ur{normalize(t){return t.toLowerCase()}},vj=Aj,Tj=class extends ur{normalize(t){return t=this.config.prepend+t,t}},Rj=Tj;function xj(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new sj(t);case"Precompiled":return new aj(t);case"Sequence":return new uj(t);case"Replace":return new dj(t);case"NFC":return new hj(t);case"NFD":return new gj(t);case"NFKC":return new _j(t);case"NFKD":return new Cj(t);case"Strip":return new kj(t);case"StripAccents":return new Ej(t);case"Lowercase":return new vj(t);case"Prepend":return new Rj(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var nR=xj,Dj=class extends ma{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)}},pn=Dj,Oj=class extends pn{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=eR,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(""))}},Pj=Oj,Ij=class extends pn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},Fj=Ij,Nj=class extends pn{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]}},Mj=Nj,Bj=class extends pn{constructor(t){super(),this.config=t,this.pattern=Md(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):ej(t,this.pattern)}},Uj=Bj,jj=class extends pn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Nd}]+|[${Nd}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Lj=jj,qj=class extends pn{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)||[]}},$j=qj,zj=class extends pn{constructor(){super(),this.pattern=new RegExp(`[^\\s${Nd}]+|[${Nd}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},Hj=zj,Wj=class extends pn{constructor(t){super(),this.config=t,this.pattern=Md(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},Gj=Wj,Jj=class extends pn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>rR(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},Kj=Jj,Vj=class extends pn{pre_tokenize_text(t){return tj(t)}},Yj=Vj,Xj=class extends pn{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}},Qj=Xj;function Zj(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new Hj;case"Sequence":return new Kj(t);case"Whitespace":return new Fj;case"WhitespaceSplit":return new Yj;case"Metaspace":return new Mj(t);case"ByteLevel":return new Pj(t);case"Split":return new Uj(t);case"Punctuation":return new Lj(t);case"Digits":return new $j(t);case"Replace":return new Gj(t);case"FixedLength":return new Qj(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var rR=Zj,eL=class extends ma{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=VU(e,this.tokens_to_ids,this.unk_token_id)),e}},Ud=eL,tL=class extends Ud{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Ly(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}},YT=tL,XT=class oR{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new oR(!1,new Map)}},nL=class{constructor(){this.root=XT.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=XT.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)}}},rL=nL,Uy=class sR{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 sR(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},oL=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 Uy(this.bos_token_id??0,0,0,0,0),o=new Uy(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 Uy(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)}},sL=oL;function iL(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 aL=class extends Ud{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=iL(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new rL,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=QU(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 sL(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}},QT=aL,cL=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}},uL=cL,lL=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()}},dL=lL,fL=class extends Ud{constructor(t){super(t),this.tokens_to_ids=Ly(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 dL(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 uL((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}},ZT=fL,pL=class extends Ud{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Ly(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}},hL=pL;function mL(t,e){switch(t.type){case"WordPiece":return new YT(t);case"Unigram":return new QT(t,e.eos_token);case"BPE":return new ZT(t);default:if(t.vocab)return Array.isArray(t.vocab)?new QT(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new ZT(t):new YT(t):new hL(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 gL=mL,yL=class extends ma{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ga=yL,_L=class extends ga{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=fn(o,t),s=fn(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=fn(o,e),s=fn(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},bL=_L,CL=class extends ga{post_process(t,e=null){return{tokens:t,tokens_pair:e}}},wL=CL,kL=class extends ga{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=fn([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=fn(t,o,e,s),r=fn(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},SL=kL,EL=class extends ga{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=fn([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=fn(t,o,e,s),r=fn(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},AL=EL,vL=class extends ga{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>iR(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}},TL=vL;function RL(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new bL(t);case"ByteLevel":return new wL(t);case"BertProcessing":return new SL(t);case"RobertaProcessing":return new AL(t);case"Sequence":return new TL(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var iR=RL,xL=class extends ma{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("")}},Fn=xL,DL=class extends Fn{constructor(t){super(t),this.byte_decoder=GU,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}},OL=DL,PL=class extends Fn{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=jy(e)),e})}},IL=PL,FL=class extends Fn{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}},NL=FL,ML=class extends Fn{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},BL=ML,UL=class extends Fn{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=jy(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},jL=UL,LL=class extends Fn{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>aR(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},qL=LL,$L=class extends Fn{decode_chain(t){let e=Md(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},zL=$L,HL=class extends Fn{decode_chain(t){return[t.join("")]}},WL=HL,GL=class extends Fn{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)})}},JL=GL,KL=class extends Fn{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}},VL=KL;function YL(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new OL(t);case"WordPiece":return new IL(t);case"Metaspace":return new NL(t);case"BPEDecoder":return new BL(t);case"CTC":return new jL(t);case"Sequence":return new qL(t);case"Replace":return new zL(t);case"Fuse":return new WL(t);case"Strip":return new JL(t);case"ByteFallback":return new VL(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var aR=YL,XL=class{constructor(t,e){let n=VT(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=VT(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=nR(this.tokenizer.normalizer),this.pre_tokenizer=rR(this.tokenizer.pre_tokenizer),this.model=gL(this.tokenizer.model,this.config),this.post_processor=iR(this.tokenizer.post_processor),this.decoder=aR(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 HU(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 JT(o),this.splitter_normalized=new JT(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||!XU(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=jy(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=ZU(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:fn(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}},cR=XL;var jd=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||(0,ya.join)((0,uR.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,ya.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,ya.join)(e,"tokenizer.json"),tokenizerConfig:(0,ya.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,Hs.existsSync)(e)||(0,Hs.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,Hs.existsSync)(e.tokenizerJson)||!(0,Hs.existsSync)(e.tokenizerConfig))return null;let[n,r]=await Promise.all([_a.promises.readFile(e.tokenizerJson,"utf-8"),_a.promises.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([_a.promises.writeFile(e.tokenizerJson,JSON.stringify(a,null,2)),_a.promises.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 cR(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 Ld=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 xo=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 ha("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 ha(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new jd(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new Ld(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 qy=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()}},$y=new qy;var _R=tt(hR(),1);Wy();Gy();Ky();gR();var Do=new Map;function Xy(t){let e=Do.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function Qy(){return Array.from(Do.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var Yy=new Map,Zy={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,_R.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)Gs.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&&Gs.registerHandlers(s)}n.outputOptions&&Gs.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(Yy.has(d))return Yy.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 Yy.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){Do.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=Do.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 yR(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 Vn).getReader();for(_=setInterval(async()=>{Do.get(d)&&await A(!1)},1e3);;){let{done:x,value:O}=await T.read();if(x)break;let q=O,$=Do.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 ae=q.data.delta.type,X="";if(ae==="text_delta"?X=q.data.delta.text||"":ae==="input_json_delta"?X=q.data.delta.partial_json||"":ae==="thinking_delta"&&(X=q.data.delta.thinking||""),X){let ee=h&&h.encodeText?h.encodeText(X).length:ka(X);$.tokenCount+=ee,$.lastTokenTime=z;for(let Z=0;Z<ee;Z++)$.tokenTimestamps.push(z)}}q.event==="message_stop"&&(_&&(clearInterval(_),_=null),await A(!0),Do.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:ka(A))}return w},0):typeof m=="string"&&(b=h.encodeText?h.encodeText(m).length:ka(m));else{let w=Array.isArray(m)?m.map(_=>_.text).join(""):m;b=ka(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 yR(m,r,n.outputOptions,!0,t.log)}return a})})};function ka(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function yR(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 Gs.outputToType(u,i,a)}catch(d){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,d)}}function rq(t={}){let e=(0,bR.default)({bodyLimit:52428800,...t});return e.setErrorHandler(Ub),e.register(CR.default),e.register(wR.default,{global:!0,...kR.RATE_LIMIT_CONFIG}),e}var e_=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:n,...r}=e;this.app=rq({...r,logger:r.logger??!0}),this.configService=new Zr({...e,logger:this.app.log}),this.transformerService=new Ro(this.configService,this.app.log),this.tokenizerService=new xo(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 a=>{a.decorate("configService",this.configService),a.decorate("transformerService",this.transformerService),a.decorate("providerService",this.providerService),a.decorate("tokenizerService",this.tokenizerService),await Pp(a)});return}if(!n)throw new Error("options is required");let r=new Zr({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Ro(r,this.app.log);await o.initialize();let s=new ao(r,o,this.app.log),i=new xo(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 Pp(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=_n(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)}}},oq=e_;0&&(module.exports={ANTIGRAVITY_CLIENT_ID,ANTIGRAVITY_CLIENT_SECRET,ANTIGRAVITY_REDIRECT_URI,ANTIGRAVITY_SCOPES,ConfigService,DEFAULT_LOG_BODY_MAX_BYTES,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,diffHeadersForLog,exchangeAuthorizationCode,fetchUserEmail,getGlobalTokenSpeedStats,getTokenSpeedStats,getValidAccessToken,isClientAbortError,isRoutedLlmPost,listClientRouteRegistrations,loadTokens,matchClientProtocol,pluginManager,protocolErrorBody,resolveProjectId,rewriteStream,router,sanitizeBodyForLog,sanitizeHeadersForLog,saveTokens,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
|
|
403
407
|
/*! Bundled license information:
|
|
404
408
|
|
|
405
409
|
toad-cache/dist/toad-cache.cjs:
|