@maincode-ai/matilda-code 0.22.2 → 0.22.3-nightly.20261109.f08200276
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 +1 -1
- package/chunks/agent-B3ZDDRG6.js +3 -0
- package/chunks/agent-headless-SGYTO6WW.js +3 -0
- package/chunks/{askUserQuestion-DHYKAZWH.js → askUserQuestion-Y66GA5LV.js} +1 -1
- package/chunks/ca-KKKDEIJT.js +23 -0
- package/chunks/chunk-6SPPO7RK.js +62 -0
- package/chunks/chunk-6X3HPMAU.js +56 -0
- package/chunks/{chunk-FY3LL4OC.js → chunk-7SPPCSW2.js} +1 -1
- package/chunks/{chunk-BQDEPKIG.js → chunk-ADMI5U2X.js} +2 -2
- package/chunks/chunk-AXPU2T2O.js +10 -0
- package/chunks/{chunk-DZKI2CAC.js → chunk-C2AKSF3S.js} +1 -1
- package/chunks/{chunk-HRD7WD3P.js → chunk-GFKFHWDN.js} +1 -1
- package/chunks/chunk-HAM3C2JN.js +2586 -0
- package/chunks/{chunk-OF7ORAN6.js → chunk-HSSKS2BO.js} +30 -30
- package/chunks/{chunk-VWM3GUBH.js → chunk-I4KER2VG.js} +1 -1
- package/chunks/{chunk-PFXCFIHY.js → chunk-JRGQUM3K.js} +1 -1
- package/chunks/chunk-PZF4OFAZ.js +12 -0
- package/chunks/{chunk-MZ73LBEY.js → chunk-RDTF45AP.js} +1 -1
- package/chunks/{chunk-HJK3NKAR.js → chunk-SHISTILE.js} +1 -1
- package/chunks/{chunk-OWEBLTAN.js → chunk-TGRZ364D.js} +1 -1
- package/chunks/chunk-TVTJEK4V.js +12 -0
- package/chunks/{chunk-BS7Q7KA6.js → chunk-U6ATDQUV.js} +1 -1
- package/chunks/{chunk-E2KMVG7F.js → chunk-UJWYKBZM.js} +1 -1
- package/chunks/{chunk-REUZDMLM.js → chunk-W3ZB63AP.js} +25 -25
- package/chunks/chunk-YTKDUEUJ.js +8 -0
- package/chunks/{chunk-ZUQRP3N6.js → chunk-YZ33K24S.js} +1 -1
- package/chunks/chunk-ZRUOQBYQ.js +207 -0
- package/chunks/{computer-use-5T3ZH24D.js → computer-use-ZUTEIFET.js} +5 -17
- package/chunks/{cron-create-5RRFCP36.js → cron-create-4AQ43RPW.js} +1 -1
- package/chunks/cron-delete-HB7V5CZ5.js +3 -0
- package/chunks/cron-list-DIZZQW44.js +5 -0
- package/chunks/{de-MJBGC47E.js → de-2Z3VYN7K.js} +1 -1
- package/chunks/{edit-Y7YSDGLT.js → edit-ESBQCHHP.js} +1 -1
- package/chunks/en-WPNO63RZ.js +23 -0
- package/chunks/{enter-worktree-5ZGIYDUE.js → enter-worktree-3DNEZJHH.js} +1 -1
- package/chunks/{enterPlanMode-TWD4MXCW.js → enterPlanMode-AVYWCGBL.js} +1 -1
- package/chunks/{exit-worktree-3F5UY76U.js → exit-worktree-JRQ6Z7AB.js} +1 -1
- package/chunks/{exitPlanMode-HWK5EUVS.js → exitPlanMode-DRWHFT3R.js} +10 -10
- package/chunks/fr-S2YBRXGB.js +23 -0
- package/chunks/{glob-H7DNNPJ4.js → glob-ZJ2IBSBL.js} +1 -1
- package/chunks/{goal-tools-CJINJJ3Y.js → goal-tools-APHZOFAF.js} +1 -1
- package/chunks/{grep-5MCMGW6A.js → grep-7SKE6UM4.js} +1 -1
- package/chunks/{ja-OEXP6Z3S.js → ja-NOFHSWYP.js} +1 -1
- package/chunks/ls-I6JUFOTE.js +15 -0
- package/chunks/{lsp-Y46R5DO5.js → lsp-JMVZE3IL.js} +1 -1
- package/chunks/mcp-client-WGLA6WFP.js +3 -0
- package/chunks/monitor-24WFRG6D.js +32 -0
- package/chunks/notebook-edit-75IBMHFG.js +17 -0
- package/chunks/openaiContentGenerator-SK6CIVEM.js +52 -0
- package/chunks/{pt-PCVIFK7H.js → pt-PF7EEIOB.js} +1 -1
- package/chunks/read-file-PLW5HG6G.js +3 -0
- package/chunks/ripGrep-5I2QHVHA.js +3 -0
- package/chunks/{ru-CB5SIZZM.js → ru-X7QWJTM4.js} +1 -1
- package/chunks/scheduler-V6VOAQ5Q.js +8 -0
- package/chunks/send-message-F2OT25N7.js +8 -0
- package/chunks/shell-3HCOYZFM.js +3 -0
- package/chunks/{skill-5EMGSWRM.js → skill-WUXCNHR2.js} +1 -1
- package/chunks/symbol-search-R7VDY7D2.js +19 -0
- package/chunks/syntheticOutput-ULZO4GEC.js +3 -0
- package/chunks/task-create-ARA6A3IM.js +3 -0
- package/chunks/task-detach-4JGQ6IFW.js +9 -0
- package/chunks/task-list-MUF5W3YQ.js +9 -0
- package/chunks/{task-stop-OEAEE5R7.js → task-stop-JDLVQ7YB.js} +1 -1
- package/chunks/{task-update-4ANRU74G.js → task-update-Z6PWEP2K.js} +1 -1
- package/chunks/{team-create-G4N2NCFN.js → team-create-MERVIMYO.js} +1 -1
- package/chunks/team-delete-7YXVWNUC.js +8 -0
- package/chunks/todoWrite-RJABGUPD.js +3 -0
- package/chunks/tool-call-O4FMFOGR.js +3 -0
- package/chunks/tool-search-UQPAGXZY.js +26 -0
- package/chunks/{web-fetch-VA2BZ4VR.js → web-fetch-3LOJYO2U.js} +1 -1
- package/chunks/{web-search-OVFXJQDS.js → web-search-MPPPKAJ7.js} +1 -1
- package/chunks/{workflow-6VMVM5BG.js → workflow-JA2PZCN3.js} +2 -2
- package/chunks/write-file-R7UW3VKA.js +15 -0
- package/cli.js +449 -465
- package/locales/ca.js +2 -3
- package/locales/de.js +2 -3
- package/locales/en.js +11 -22
- package/locales/fr.js +2 -3
- package/locales/ja.js +2 -3
- package/locales/pt.js +2 -3
- package/locales/ru.js +2 -3
- package/npm-postinstall.js +2 -2
- package/package.json +2 -2
- package/chunks/agent-IJOGVY62.js +0 -3
- package/chunks/agent-headless-FZGKJCVK.js +0 -3
- package/chunks/ca-HHQCT6S2.js +0 -23
- package/chunks/chunk-225CZWD7.js +0 -89
- package/chunks/chunk-3BT7ZYAM.js +0 -121
- package/chunks/chunk-3IG6LNQ3.js +0 -2581
- package/chunks/chunk-46FFWNRO.js +0 -12
- package/chunks/chunk-55YW6EUC.js +0 -8
- package/chunks/chunk-FPGKJJJY.js +0 -13
- package/chunks/chunk-L2FKLLEC.js +0 -12
- package/chunks/chunk-N2BE647T.js +0 -10
- package/chunks/chunk-P24OL22U.js +0 -31
- package/chunks/chunk-VWE5BSHV.js +0 -56
- package/chunks/chunk-WL27X35X.js +0 -44
- package/chunks/cron-delete-7DTRWCSV.js +0 -3
- package/chunks/cron-list-HY6XJD7D.js +0 -5
- package/chunks/en-JITX7JKV.js +0 -23
- package/chunks/fr-WT3R2JCR.js +0 -23
- package/chunks/keychain-token-storage-BCODB632.js +0 -3
- package/chunks/ls-JORGCXES.js +0 -15
- package/chunks/mcp-client-54J5M542.js +0 -3
- package/chunks/monitor-BRJR6PR3.js +0 -32
- package/chunks/notebook-edit-UCCVQ4JP.js +0 -17
- package/chunks/openaiContentGenerator-H6JOS3XU.js +0 -52
- package/chunks/read-file-LVMBCRCT.js +0 -3
- package/chunks/ripGrep-F6AJSDKU.js +0 -3
- package/chunks/scheduler-XAOD6LG6.js +0 -8
- package/chunks/send-message-VY4DP63A.js +0 -8
- package/chunks/shell-QUDC6MJK.js +0 -3
- package/chunks/symbol-search-YNGX4Z5T.js +0 -19
- package/chunks/syntheticOutput-4JANVS4D.js +0 -3
- package/chunks/task-create-NRBVXURQ.js +0 -3
- package/chunks/task-detach-VHDDAO2K.js +0 -9
- package/chunks/task-list-T2IET466.js +0 -9
- package/chunks/team-delete-M4ORNSTT.js +0 -8
- package/chunks/todoWrite-RN2OP46T.js +0 -3
- package/chunks/tool-search-WEUURHFZ.js +0 -28
- package/chunks/write-file-5ZAZVXBB.js +0 -15
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{Aa as ns,Ca as os,I as Xt,K as Oo,L as Uo,M as Lo,U as Go,V as Ot,ha as Fo,ia as qo,qa as vt,qb as rs,rb as is,tb as ss,ya as ts}from"./chunk-HSSKS2BO.js";import{P as Do,Q as Iu,V as Ru,d as Su,e as wu,ea as Ge,f as ot,g as Hn,k as xo,r as zt,w as Le}from"./chunk-6SPPO7RK.js";import{h as ht,i as bo,k as ji,m as es}from"./chunk-HEJO7OBH.js";import{b as p}from"./chunk-GZPNIYVZ.js";import{a as J,d as b,f as vu}from"./chunk-OWGSC52X.js";var Mu=b((OS,Pu)=>{p();function Fe(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}Pu.exports=Fe;Fe.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Fe.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Fe.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),n=this._cachedTimeouts.slice(-1);else return!1;var o=this;return this._timer=setTimeout(function(){o._attempts++,o._operationTimeoutCb&&(o._timeout=setTimeout(function(){o._operationTimeoutCb(o._attempts)},o._operationTimeout),o._options.unref&&o._timeout.unref()),o._fn(o._attempts)},n),this._options.unref&&this._timer.unref(),!0};Fe.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Fe.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Fe.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Fe.prototype.start=Fe.prototype.try;Fe.prototype.errors=function(){return this._errors};Fe.prototype.attempts=function(){return this._attempts};Fe.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,n=0,o=0;o<this._errors.length;o++){var r=this._errors[o],i=r.message,s=(t[i]||0)+1;t[i]=s,s>=n&&(e=r,n=s)}return e}});var ku=b(Ut=>{p();var Zm=Mu();Ut.operation=function(t){var e=Ut.timeouts(t);return new Zm(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};Ut.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in t)e[n]=t[n];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var o=[],r=0;r<e.retries;r++)o.push(this.createTimeout(r,e));return t&&t.forever&&!o.length&&o.push(this.createTimeout(r,e)),o.sort(function(i,s){return i-s}),o};Ut.createTimeout=function(t,e){var n=e.randomize?Math.random()+1:1,o=Math.round(n*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return o=Math.min(o,e.maxTimeout),o};Ut.wrap=function(t,e,n){if(e instanceof Array&&(n=e,e=null),!n){n=[];for(var o in t)typeof t[o]=="function"&&n.push(o)}for(var r=0;r<n.length;r++){var i=n[r],s=t[i];t[i]=function(l){var u=Ut.operation(e),c=Array.prototype.slice.call(arguments,1),f=c.pop();c.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),f.apply(this,arguments))}),u.attempt(function(){l.apply(t,c)})}.bind(t,s),t[i].options=e}}});var xu=b((FS,Nu)=>{p();Nu.exports=ku()});var bu=b((BS,Vo)=>{"use strict";p();var jm=xu(),eg=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],Bo=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},tg=(t,e,n)=>{let o=n.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=o,t},ng=t=>eg.includes(t),Du=(t,e)=>new Promise((n,o)=>{e={onFailedAttempt:()=>{},retries:10,...e};let r=jm.operation(e);r.attempt(async i=>{try{n(await t(i))}catch(s){if(!(s instanceof Error)){o(new TypeError(`Non-error was thrown: "${s}". You should only throw errors.`));return}if(s instanceof Bo)r.stop(),o(s.originalError);else if(s instanceof TypeError&&!ng(s.message))r.stop(),o(s);else{tg(s,i,e);try{await e.onFailedAttempt(s)}catch(a){o(a);return}r.retry(s)||o(r.mainError())}}})});Vo.exports=Du;Vo.exports.default=Du;Vo.exports.AbortError=Bo});var as=b((HS,Vu)=>{"use strict";p();var Ho=Object.prototype.hasOwnProperty,Bu=Object.prototype.toString,Ou=Object.defineProperty,Uu=Object.getOwnPropertyDescriptor,Lu=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Bu.call(e)==="[object Array]"},Gu=function(e){if(!e||Bu.call(e)!=="[object Object]")return!1;var n=Ho.call(e,"constructor"),o=e.constructor&&e.constructor.prototype&&Ho.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!o)return!1;var r;for(r in e);return typeof r>"u"||Ho.call(e,r)},Fu=function(e,n){Ou&&n.name==="__proto__"?Ou(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},qu=function(e,n){if(n==="__proto__")if(Ho.call(e,n)){if(Uu)return Uu(e,n).value}else return;return e[n]};Vu.exports=function t(){var e,n,o,r,i,s,a=arguments[0],l=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});l<u;++l)if(e=arguments[l],e!=null)for(n in e)o=qu(a,n),r=qu(e,n),a!==r&&(c&&r&&(Gu(r)||(i=Lu(r)))?(i?(i=!1,s=o&&Lu(o)?o:[]):s=o&&Gu(o)?o:{},Fu(a,{name:n,newValue:t(c,s,r)})):typeof r<"u"&&Fu(a,{name:n,newValue:r}));return a}});var Hu=b((KS,og)=>{og.exports={name:"gaxios",version:"7.1.4",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"packages/gaxios",url:"https://github.com/googleapis/google-cloud-node-core.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":"^22.13.1","@types/sinon":"^17.0.3","@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",linkinator:"^6.1.2",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.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"5.8.3",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-core/tree/main/packages/gaxios"}});var Ku=b((JS,$u)=>{"use strict";p();var rg=Hu();$u.exports={pkg:rg}});var cs=b(qe=>{"use strict";p();var Wu=qe&&qe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qe,"__esModule",{value:!0});qe.GaxiosError=qe.GAXIOS_ERROR_SYMBOL=void 0;qe.defaultErrorRedactor=Yu;var Ju=Wu(as()),ig=Wu(Ku()),ls=ig.default.pkg;qe.GAXIOS_ERROR_SYMBOL=Symbol.for(`${ls.name}-gaxios-error`);var us=class t extends Error{config;response;code;status;error;[qe.GAXIOS_ERROR_SYMBOL]=ls.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&qe.GAXIOS_ERROR_SYMBOL in e&&e[qe.GAXIOS_ERROR_SYMBOL]===ls.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,o,r){if(super(e,{cause:r}),this.config=n,this.response=o,this.error=r instanceof Error?r:void 0,this.config=(0,Ju.default)(!0,{},n),this.response&&(this.response.config=(0,Ju.default)(!0,{},this.response.config)),this.response){try{this.response.data=sg(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}r instanceof DOMException?this.code=r.name:r&&typeof r=="object"&&"code"in r&&(typeof r.code=="string"||typeof r.code=="number")&&(this.code=r.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let o=n;if(typeof e.data=="string"&&(o=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"){o="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:o;let r="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,i="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 s=[];for(let a of e.data.error.errors)typeof a=="object"&&"message"in a&&typeof a.message=="string"&&s.push(a.message);return Object.assign({message:s.join(`
|
|
4
|
+
`)||o,code:i,status:r},e.data.error)}return Object.assign({message:o,code:i,status:r},e.data.error)}}return{message:o,code:e.status,status:e.statusText}}};qe.GaxiosError=us;function sg(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 Yu(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(i){i&&i.forEach((s,a)=>{(/^authentication$/i.test(a)||/^authorization$/i.test(a)||/secret/i.test(a))&&i.set(a,e)})}function o(i,s){if(typeof i=="object"&&i!==null&&typeof i[s]=="string"){let a=i[s];(/grant_type=/i.test(a)||/assertion=/i.test(a)||/secret/i.test(a))&&(i[s]=e)}}function r(i){!i||typeof i!="object"||(i instanceof FormData||i instanceof URLSearchParams||"forEach"in i&&"set"in i?i.forEach((s,a)=>{(["grant_type","assertion"].includes(a)||/secret/.test(a))&&i.set(a,e)}):("grant_type"in i&&(i.grant_type=e),"assertion"in i&&(i.assertion=e),"client_secret"in i&&(i.client_secret=e)))}return t.config&&(n(t.config.headers),o(t.config,"data"),r(t.config.data),o(t.config,"body"),r(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&&(Yu({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(o(t.response,"data"),r(t.response.data))),t}});var Xu=b(ds=>{"use strict";p();Object.defineProperty(ds,"__esModule",{value:!0});ds.getRetryConfig=ag;async function ag(t){let e=zu(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||lg)(t))return{shouldRetry:!1,config:t.config};let r=ug(e);t.config.retryConfig.currentRetryAttempt+=1;let i=e.retryBackoff?e.retryBackoff(t,r):new Promise(s=>{setTimeout(s,r)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await i,{shouldRetry:!0,config:t.config}}function lg(t){let e=zu(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[o,r]of e.statusCodesToRetry){let i=t.response.status;if(i>=o&&i<=r){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function zu(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function ug(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,o=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,o,t.maxRetryDelay)}});var ps=b($o=>{"use strict";p();Object.defineProperty($o,"__esModule",{value:!0});$o.GaxiosInterceptorManager=void 0;var fs=class extends Set{};$o.GaxiosInterceptorManager=fs});var ju=b(Zt=>{"use strict";p();var cg=Zt&&Zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qt;Object.defineProperty(Zt,"__esModule",{value:!0});Zt.Gaxios=void 0;var dg=cg(as()),fg=J("https"),Lt=cs(),pg=Xu(),Qu=J("stream"),Zu=ps(),hg=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),mg=204,Ko=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Zu.GaxiosInterceptorManager,response:new Zu.GaxiosInterceptorManager}}fetch(...e){let n=e[0],o=e[1],r,i=new Headers;return typeof n=="string"?r=new URL(n):n instanceof URL?r=n:n&&n.url&&(r=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Qt.mergeHeaders(i,n.headers),o&&Qt.mergeHeaders(i,new Headers(o.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...o,...n,headers:i,url:r}):this.request({...o,headers:i,url:r})}async request(e={}){let n=await this.#o(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Qt.#l(),o={...e};delete o.data;let r=await n(e.url,o),i=await this.getResponseData(e,r);return Object.getOwnPropertyDescriptor(r,"data")?.configurable||Object.defineProperties(r,{data:{configurable:!0,writable:!0,enumerable:!0,value:i}}),Object.assign(r,{config:e,data:i})}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 r=[];for await(let i of n.data)r.push(i);n.data=r.toString()}let o=Lt.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new Lt.GaxiosError(o?.message,e,n,o)}return n}catch(n){let o;n instanceof Lt.GaxiosError?o=n:n instanceof Error?o=new Lt.GaxiosError(n.message,e,void 0,n):o=new Lt.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:r,config:i}=await(0,pg.getRetryConfig)(o);if(r&&i)return o.config.retryConfig.currentRetryAttempt=i.retryConfig.currentRetryAttempt,e.retryConfig=o.config?.retryConfig,this.#r(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(o),o}}async getResponseData(e,n){if(n.status===mg)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new Lt.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 o=await n.text();try{return JSON.parse(o)}catch{return o}}case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let o=new URL(e),r=[...n],i=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let s of i)r.push(s.trim());for(let s of r)if(s instanceof RegExp){if(s.test(o.toString()))return!1}else if(s instanceof URL){if(s.origin===o.origin)return!1}else if(s.startsWith("*.")||s.startsWith(".")){let a=s.replace(/^\*\./,".");if(o.hostname.endsWith(a))return!1}else if(s===o.origin||s===o.hostname||s===o.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let o of this.interceptors.request.values())o&&(n=n.then(o.resolved,o.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let o of this.interceptors.response.values())o&&(n=n.then(o.resolved,o.rejected));return n}async#o(e){let n=new Headers(this.defaults.headers);Qt.mergeHeaders(n,e.headers);let o=(0,dg.default)(!0,{},this.defaults,e);if(!o.url)throw new Error("URL is required.");if(o.baseURL&&(o.url=new URL(o.url,o.baseURL)),o.url=new URL(o.url),o.params)if(o.paramsSerializer){let s=o.paramsSerializer(o.params);s.startsWith("?")&&(s=s.slice(1));let a=o.url.toString().includes("?")?"&":"?";o.url=o.url+a+s}else{let s=o.url instanceof URL?o.url:new URL(o.url);for(let[a,l]of new URLSearchParams(o.params))s.searchParams.append(a,l);o.url=s}typeof e.maxContentLength=="number"&&(o.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(o.follow=e.maxRedirects);let r=typeof o.data=="string"||o.data instanceof ArrayBuffer||o.data instanceof Blob||globalThis.File&&o.data instanceof File||o.data instanceof FormData||o.data instanceof Qu.Readable||o.data instanceof ReadableStream||o.data instanceof String||o.data instanceof URLSearchParams||ArrayBuffer.isView(o.data)||["Blob","File","FormData"].includes(o.data?.constructor?.name||"");if(o.multipart?.length){let s=await hg();n.set("content-type",`multipart/related; boundary=${s}`),o.body=Qu.Readable.from(this.getMultipartRequest(o.multipart,s))}else r?o.body=o.data:typeof o.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?o.body=o.paramsSerializer?o.paramsSerializer(o.data):new URLSearchParams(o.data):(n.has("content-type")||n.set("content-type","application/json"),o.body=JSON.stringify(o.data)):o.data&&(o.body=o.data);o.validateStatus=o.validateStatus||this.validateStatus,o.responseType=o.responseType||"unknown",!n.has("accept")&&o.responseType==="json"&&n.set("accept","application/json");let i=o.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!o.agent)if(i&&this.#e(o.url,o.noProxy)){let s=await Qt.#a();this.agentCache.has(i)?o.agent=this.agentCache.get(i):(o.agent=new s(i,{cert:o.cert,key:o.key}),this.agentCache.set(i,o.agent))}else o.cert&&o.key&&(this.agentCache.has(o.key)?o.agent=this.agentCache.get(o.key):(o.agent=new fg.Agent({cert:o.cert,key:o.key}),this.agentCache.set(o.key,o.agent)));return typeof o.errorRedactor!="function"&&o.errorRedactor!==!1&&(o.errorRedactor=Lt.defaultErrorRedactor),o.body&&!("duplex"in o)&&(o.duplex="half"),this.#r(o),Object.assign(o,{headers:n,url:o.url instanceof URL?o.url:new URL(o.url)})}#r(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 o=await e.text();try{o=JSON.parse(o)}catch{}return o}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let o=`--${n}--`;for(let r of e){let i=r.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
|
|
5
|
+
Content-Type: ${i}\r
|
|
6
|
+
\r
|
|
7
|
+
`,typeof r.content=="string"?yield r.content:yield*r.content,yield`\r
|
|
8
|
+
`}yield o}static#i;static#s;static async#a(){return this.#i||=(await import("./dist-UWUWLWTO.js")).HttpsProxyAgent,this.#i}static async#l(){let e=typeof window<"u"&&!!window;return this.#s||=e?window.fetch:(await import("./src-LZEU4AYF.js")).default,this.#s}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let o of n)(o instanceof Headers?o:new Headers(o)).forEach((i,s)=>{s==="set-cookie"?e.append(s,i):e.set(s,i)});return e}};Zt.Gaxios=Ko;Qt=Ko});var ye=b(Ae=>{"use strict";p();var gg=Ae&&Ae.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),yg=Ae&&Ae.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&gg(e,t,n)};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.instance=Ae.Gaxios=Ae.GaxiosError=void 0;Ae.request=Tg;var ec=ju();Object.defineProperty(Ae,"Gaxios",{enumerable:!0,get:function(){return ec.Gaxios}});var Eg=cs();Object.defineProperty(Ae,"GaxiosError",{enumerable:!0,get:function(){return Eg.GaxiosError}});yg(ps(),Ae);Ae.instance=new ec.Gaxios;async function Tg(t){return Ae.instance.request(t)}});var hs=b((tc,Jo)=>{p();(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,o=Math.ceil,r=Math.floor,i="[BigNumber Error] ",s=i+"Number primitive has more than 15 significant digits: ",a=1e14,l=14,u=9007199254740991,c=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],f=1e7,h=1e9;function y(U){var L,$,Y,N=x.prototype={constructor:x,toString:null,valueOf:null},oe=new x(1),W=20,Z=4,pe=-7,le=21,ue=-1e7,ge=1e7,pt=!1,F=1,K=0,z={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},be="0123456789abcdefghijklmnopqrstuvwxyz",Ye=!0;function x(d,m){var g,I,_,v,M,E,C,P,w=this;if(!(w instanceof x))return new x(d,m);if(m==null){if(d&&d._isBigNumber===!0){w.s=d.s,!d.c||d.e>ge?w.c=w.e=null:d.e<ue?w.c=[w.e=0]:(w.e=d.e,w.c=d.c.slice());return}if((E=typeof d=="number")&&d*0==0){if(w.s=1/d<0?(d=-d,-1):1,d===~~d){for(v=0,M=d;M>=10;M/=10,v++);v>ge?w.c=w.e=null:(w.e=v,w.c=[d]);return}P=String(d)}else{if(!n.test(P=String(d)))return Y(w,P,E);w.s=P.charCodeAt(0)==45?(P=P.slice(1),-1):1}(v=P.indexOf("."))>-1&&(P=P.replace(".","")),(M=P.search(/e/i))>0?(v<0&&(v=M),v+=+P.slice(M+1),P=P.substring(0,M)):v<0&&(v=P.length)}else{if(R(m,2,be.length,"Base"),m==10&&Ye)return w=new x(d),ce(w,W+w.e+1,Z);if(P=String(d),E=typeof d=="number"){if(d*0!=0)return Y(w,P,E,m);if(w.s=1/d<0?(P=P.slice(1),-1):1,x.DEBUG&&P.replace(/^0\.0*|\./,"").length>15)throw Error(s+d)}else w.s=P.charCodeAt(0)===45?(P=P.slice(1),-1):1;for(g=be.slice(0,m),v=M=0,C=P.length;M<C;M++)if(g.indexOf(I=P.charAt(M))<0){if(I=="."){if(M>v){v=C;continue}}else if(!_&&(P==P.toUpperCase()&&(P=P.toLowerCase())||P==P.toLowerCase()&&(P=P.toUpperCase()))){_=!0,M=-1,v=0;continue}return Y(w,String(d),E,m)}E=!1,P=$(P,m,10,w.s),(v=P.indexOf("."))>-1?P=P.replace(".",""):v=P.length}for(M=0;P.charCodeAt(M)===48;M++);for(C=P.length;P.charCodeAt(--C)===48;);if(P=P.slice(M,++C)){if(C-=M,E&&x.DEBUG&&C>15&&(d>u||d!==r(d)))throw Error(s+w.s*d);if((v=v-M-1)>ge)w.c=w.e=null;else if(v<ue)w.c=[w.e=0];else{if(w.e=v,w.c=[],M=(v+1)%l,v<0&&(M+=l),M<C){for(M&&w.c.push(+P.slice(0,M)),C-=l;M<C;)w.c.push(+P.slice(M,M+=l));M=l-(P=P.slice(M)).length}else M-=C;for(;M--;P+="0");w.c.push(+P)}}else w.c=[w.e=0]}x.clone=y,x.ROUND_UP=0,x.ROUND_DOWN=1,x.ROUND_CEIL=2,x.ROUND_FLOOR=3,x.ROUND_HALF_UP=4,x.ROUND_HALF_DOWN=5,x.ROUND_HALF_EVEN=6,x.ROUND_HALF_CEIL=7,x.ROUND_HALF_FLOOR=8,x.EUCLID=9,x.config=x.set=function(d){var m,g;if(d!=null)if(typeof d=="object"){if(d.hasOwnProperty(m="DECIMAL_PLACES")&&(g=d[m],R(g,0,h,m),W=g),d.hasOwnProperty(m="ROUNDING_MODE")&&(g=d[m],R(g,0,8,m),Z=g),d.hasOwnProperty(m="EXPONENTIAL_AT")&&(g=d[m],g&&g.pop?(R(g[0],-h,0,m),R(g[1],0,h,m),pe=g[0],le=g[1]):(R(g,-h,h,m),pe=-(le=g<0?-g:g))),d.hasOwnProperty(m="RANGE"))if(g=d[m],g&&g.pop)R(g[0],-h,-1,m),R(g[1],1,h,m),ue=g[0],ge=g[1];else if(R(g,-h,h,m),g)ue=-(ge=g<0?-g:g);else throw Error(i+m+" cannot be zero: "+g);if(d.hasOwnProperty(m="CRYPTO"))if(g=d[m],g===!!g)if(g)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pt=g;else throw pt=!g,Error(i+"crypto unavailable");else pt=g;else throw Error(i+m+" not true or false: "+g);if(d.hasOwnProperty(m="MODULO_MODE")&&(g=d[m],R(g,0,9,m),F=g),d.hasOwnProperty(m="POW_PRECISION")&&(g=d[m],R(g,0,h,m),K=g),d.hasOwnProperty(m="FORMAT"))if(g=d[m],typeof g=="object")z=g;else throw Error(i+m+" not an object: "+g);if(d.hasOwnProperty(m="ALPHABET"))if(g=d[m],typeof g=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(g))Ye=g.slice(0,10)=="0123456789",be=g;else throw Error(i+m+" invalid: "+g)}else throw Error(i+"Object expected: "+d);return{DECIMAL_PLACES:W,ROUNDING_MODE:Z,EXPONENTIAL_AT:[pe,le],RANGE:[ue,ge],CRYPTO:pt,MODULO_MODE:F,POW_PRECISION:K,FORMAT:z,ALPHABET:be}},x.isBigNumber=function(d){if(!d||d._isBigNumber!==!0)return!1;if(!x.DEBUG)return!0;var m,g,I=d.c,_=d.e,v=d.s;e:if({}.toString.call(I)=="[object Array]"){if((v===1||v===-1)&&_>=-h&&_<=h&&_===r(_)){if(I[0]===0){if(_===0&&I.length===1)return!0;break e}if(m=(_+1)%l,m<1&&(m+=l),String(I[0]).length==m){for(m=0;m<I.length;m++)if(g=I[m],g<0||g>=a||g!==r(g))break e;if(g!==0)return!0}}}else if(I===null&&_===null&&(v===null||v===1||v===-1))return!0;throw Error(i+"Invalid BigNumber: "+d)},x.maximum=x.max=function(){return he(arguments,-1)},x.minimum=x.min=function(){return he(arguments,1)},x.random=function(){var d=9007199254740992,m=Math.random()*d&2097151?function(){return r(Math.random()*d)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(g){var I,_,v,M,E,C=0,P=[],w=new x(oe);if(g==null?g=W:R(g,0,h),M=o(g/l),pt)if(crypto.getRandomValues){for(I=crypto.getRandomValues(new Uint32Array(M*=2));C<M;)E=I[C]*131072+(I[C+1]>>>11),E>=9e15?(_=crypto.getRandomValues(new Uint32Array(2)),I[C]=_[0],I[C+1]=_[1]):(P.push(E%1e14),C+=2);C=M/2}else if(crypto.randomBytes){for(I=crypto.randomBytes(M*=7);C<M;)E=(I[C]&31)*281474976710656+I[C+1]*1099511627776+I[C+2]*4294967296+I[C+3]*16777216+(I[C+4]<<16)+(I[C+5]<<8)+I[C+6],E>=9e15?crypto.randomBytes(7).copy(I,C):(P.push(E%1e14),C+=7);C=M/7}else throw pt=!1,Error(i+"crypto unavailable");if(!pt)for(;C<M;)E=m(),E<9e15&&(P[C++]=E%1e14);for(M=P[--C],g%=l,M&&g&&(E=c[l-g],P[C]=r(M/E)*E);P[C]===0;P.pop(),C--);if(C<0)P=[v=0];else{for(v=-1;P[0]===0;P.splice(0,1),v-=l);for(C=1,E=P[0];E>=10;E/=10,C++);C<l&&(v-=l-C)}return w.e=v,w.c=P,w}}(),x.sum=function(){for(var d=1,m=arguments,g=new x(m[0]);d<m.length;)g=g.plus(m[d++]);return g},$=function(){var d="0123456789";function m(g,I,_,v){for(var M,E=[0],C,P=0,w=g.length;P<w;){for(C=E.length;C--;E[C]*=I);for(E[0]+=v.indexOf(g.charAt(P++)),M=0;M<E.length;M++)E[M]>_-1&&(E[M+1]==null&&(E[M+1]=0),E[M+1]+=E[M]/_|0,E[M]%=_)}return E.reverse()}return function(g,I,_,v,M){var E,C,P,w,k,B,V,Q,se=g.indexOf("."),me=W,X=Z;for(se>=0&&(w=K,K=0,g=g.replace(".",""),Q=new x(I),B=Q.pow(g.length-se),K=w,Q.c=m(q(A(B.c),B.e,"0"),10,_,d),Q.e=Q.c.length),V=m(g,I,_,M?(E=be,d):(E=d,be)),P=w=V.length;V[--w]==0;V.pop());if(!V[0])return E.charAt(0);if(se<0?--P:(B.c=V,B.e=P,B.s=v,B=L(B,Q,me,X,_),V=B.c,k=B.r,P=B.e),C=P+me+1,se=V[C],w=_/2,k=k||C<0||V[C+1]!=null,k=X<4?(se!=null||k)&&(X==0||X==(B.s<0?3:2)):se>w||se==w&&(X==4||k||X==6&&V[C-1]&1||X==(B.s<0?8:7)),C<1||!V[0])g=k?q(E.charAt(1),-me,E.charAt(0)):E.charAt(0);else{if(V.length=C,k)for(--_;++V[--C]>_;)V[C]=0,C||(++P,V=[1].concat(V));for(w=V.length;!V[--w];);for(se=0,g="";se<=w;g+=E.charAt(V[se++]));g=q(g,P,E.charAt(0))}return g}}(),L=function(){function d(I,_,v){var M,E,C,P,w=0,k=I.length,B=_%f,V=_/f|0;for(I=I.slice();k--;)C=I[k]%f,P=I[k]/f|0,M=V*C+P*B,E=B*C+M%f*f+w,w=(E/v|0)+(M/f|0)+V*P,I[k]=E%v;return w&&(I=[w].concat(I)),I}function m(I,_,v,M){var E,C;if(v!=M)C=v>M?1:-1;else for(E=C=0;E<v;E++)if(I[E]!=_[E]){C=I[E]>_[E]?1:-1;break}return C}function g(I,_,v,M){for(var E=0;v--;)I[v]-=E,E=I[v]<_[v]?1:0,I[v]=E*M+I[v]-_[v];for(;!I[0]&&I.length>1;I.splice(0,1));}return function(I,_,v,M,E){var C,P,w,k,B,V,Q,se,me,X,j,Te,No,Qi,Zi,nt,Vn,Ue=I.s==_.s?1:-1,Ce=I.c,ae=_.c;if(!Ce||!Ce[0]||!ae||!ae[0])return new x(!I.s||!_.s||(Ce?ae&&Ce[0]==ae[0]:!ae)?NaN:Ce&&Ce[0]==0||!ae?Ue*0:Ue/0);for(se=new x(Ue),me=se.c=[],P=I.e-_.e,Ue=v+P+1,E||(E=a,P=S(I.e/l)-S(_.e/l),Ue=Ue/l|0),w=0;ae[w]==(Ce[w]||0);w++);if(ae[w]>(Ce[w]||0)&&P--,Ue<0)me.push(1),k=!0;else{for(Qi=Ce.length,nt=ae.length,w=0,Ue+=2,B=r(E/(ae[0]+1)),B>1&&(ae=d(ae,B,E),Ce=d(Ce,B,E),nt=ae.length,Qi=Ce.length),No=nt,X=Ce.slice(0,nt),j=X.length;j<nt;X[j++]=0);Vn=ae.slice(),Vn=[0].concat(Vn),Zi=ae[0],ae[1]>=E/2&&Zi++;do{if(B=0,C=m(ae,X,nt,j),C<0){if(Te=X[0],nt!=j&&(Te=Te*E+(X[1]||0)),B=r(Te/Zi),B>1)for(B>=E&&(B=E-1),V=d(ae,B,E),Q=V.length,j=X.length;m(V,X,Q,j)==1;)B--,g(V,nt<Q?Vn:ae,Q,E),Q=V.length,C=1;else B==0&&(C=B=1),V=ae.slice(),Q=V.length;if(Q<j&&(V=[0].concat(V)),g(X,V,j,E),j=X.length,C==-1)for(;m(ae,X,nt,j)<1;)B++,g(X,nt<j?Vn:ae,j,E),j=X.length}else C===0&&(B++,X=[0]);me[w++]=B,X[0]?X[j++]=Ce[No]||0:(X=[Ce[No]],j=1)}while((No++<Qi||X[0]!=null)&&Ue--);k=X[0]!=null,me[0]||me.splice(0,1)}if(E==a){for(w=1,Ue=me[0];Ue>=10;Ue/=10,w++);ce(se,v+(se.e=w+P*l-1)+1,M,k)}else se.e=P,se.r=+k;return se}}();function re(d,m,g,I){var _,v,M,E,C;if(g==null?g=Z:R(g,0,8),!d.c)return d.toString();if(_=d.c[0],M=d.e,m==null)C=A(d.c),C=I==1||I==2&&(M<=pe||M>=le)?D(C,M):q(C,M,"0");else if(d=ce(new x(d),m,g),v=d.e,C=A(d.c),E=C.length,I==1||I==2&&(m<=v||v<=pe)){for(;E<m;C+="0",E++);C=D(C,v)}else if(m-=M+(I===2&&v>M),C=q(C,v,"0"),v+1>E){if(--m>0)for(C+=".";m--;C+="0");}else if(m+=v-E,m>0)for(v+1==E&&(C+=".");m--;C+="0");return d.s<0&&_?"-"+C:C}function he(d,m){for(var g,I,_=1,v=new x(d[0]);_<d.length;_++)I=new x(d[_]),(!I.s||(g=T(v,I))===m||g===0&&v.s===m)&&(v=I);return v}function bt(d,m,g){for(var I=1,_=m.length;!m[--_];m.pop());for(_=m[0];_>=10;_/=10,I++);return(g=I+g*l-1)>ge?d.c=d.e=null:g<ue?d.c=[d.e=0]:(d.e=g,d.c=m),d}Y=function(){var d=/^(-?)0([xbo])(?=\w[\w.]*$)/i,m=/^([^.]+)\.$/,g=/^\.([^.]+)$/,I=/^-?(Infinity|NaN)$/,_=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(v,M,E,C){var P,w=E?M:M.replace(_,"");if(I.test(w))v.s=isNaN(w)?null:w<0?-1:1;else{if(!E&&(w=w.replace(d,function(k,B,V){return P=(V=V.toLowerCase())=="x"?16:V=="b"?2:8,!C||C==P?B:k}),C&&(P=C,w=w.replace(m,"$1").replace(g,"0.$1")),M!=w))return new x(w,P);if(x.DEBUG)throw Error(i+"Not a"+(C?" base "+C:"")+" number: "+M);v.s=null}v.c=v.e=null}}();function ce(d,m,g,I){var _,v,M,E,C,P,w,k=d.c,B=c;if(k){e:{for(_=1,E=k[0];E>=10;E/=10,_++);if(v=m-_,v<0)v+=l,M=m,C=k[P=0],w=r(C/B[_-M-1]%10);else if(P=o((v+1)/l),P>=k.length)if(I){for(;k.length<=P;k.push(0));C=w=0,_=1,v%=l,M=v-l+1}else break e;else{for(C=E=k[P],_=1;E>=10;E/=10,_++);v%=l,M=v-l+_,w=M<0?0:r(C/B[_-M-1]%10)}if(I=I||m<0||k[P+1]!=null||(M<0?C:C%B[_-M-1]),I=g<4?(w||I)&&(g==0||g==(d.s<0?3:2)):w>5||w==5&&(g==4||I||g==6&&(v>0?M>0?C/B[_-M]:0:k[P-1])%10&1||g==(d.s<0?8:7)),m<1||!k[0])return k.length=0,I?(m-=d.e+1,k[0]=B[(l-m%l)%l],d.e=-m||0):k[0]=d.e=0,d;if(v==0?(k.length=P,E=1,P--):(k.length=P+1,E=B[l-v],k[P]=M>0?r(C/B[_-M]%B[M])*E:0),I)for(;;)if(P==0){for(v=1,M=k[0];M>=10;M/=10,v++);for(M=k[0]+=E,E=1;M>=10;M/=10,E++);v!=E&&(d.e++,k[0]==a&&(k[0]=1));break}else{if(k[P]+=E,k[P]!=a)break;k[P--]=0,E=1}for(v=k.length;k[--v]===0;k.pop());}d.e>ge?d.c=d.e=null:d.e<ue&&(d.c=[d.e=0])}return d}function Oe(d){var m,g=d.e;return g===null?d.toString():(m=A(d.c),m=g<=pe||g>=le?D(m,g):q(m,g,"0"),d.s<0?"-"+m:m)}return N.absoluteValue=N.abs=function(){var d=new x(this);return d.s<0&&(d.s=1),d},N.comparedTo=function(d,m){return T(this,new x(d,m))},N.decimalPlaces=N.dp=function(d,m){var g,I,_,v=this;if(d!=null)return R(d,0,h),m==null?m=Z:R(m,0,8),ce(new x(v),d+v.e+1,m);if(!(g=v.c))return null;if(I=((_=g.length-1)-S(this.e/l))*l,_=g[_])for(;_%10==0;_/=10,I--);return I<0&&(I=0),I},N.dividedBy=N.div=function(d,m){return L(this,new x(d,m),W,Z)},N.dividedToIntegerBy=N.idiv=function(d,m){return L(this,new x(d,m),0,1)},N.exponentiatedBy=N.pow=function(d,m){var g,I,_,v,M,E,C,P,w,k=this;if(d=new x(d),d.c&&!d.isInteger())throw Error(i+"Exponent not an integer: "+Oe(d));if(m!=null&&(m=new x(m)),E=d.e>14,!k.c||!k.c[0]||k.c[0]==1&&!k.e&&k.c.length==1||!d.c||!d.c[0])return w=new x(Math.pow(+Oe(k),E?d.s*(2-O(d)):+Oe(d))),m?w.mod(m):w;if(C=d.s<0,m){if(m.c?!m.c[0]:!m.s)return new x(NaN);I=!C&&k.isInteger()&&m.isInteger(),I&&(k=k.mod(m))}else{if(d.e>9&&(k.e>0||k.e<-1||(k.e==0?k.c[0]>1||E&&k.c[1]>=24e7:k.c[0]<8e13||E&&k.c[0]<=9999975e7)))return v=k.s<0&&O(d)?-0:0,k.e>-1&&(v=1/v),new x(C?1/v:v);K&&(v=o(K/l+2))}for(E?(g=new x(.5),C&&(d.s=1),P=O(d)):(_=Math.abs(+Oe(d)),P=_%2),w=new x(oe);;){if(P){if(w=w.times(k),!w.c)break;v?w.c.length>v&&(w.c.length=v):I&&(w=w.mod(m))}if(_){if(_=r(_/2),_===0)break;P=_%2}else if(d=d.times(g),ce(d,d.e+1,1),d.e>14)P=O(d);else{if(_=+Oe(d),_===0)break;P=_%2}k=k.times(k),v?k.c&&k.c.length>v&&(k.c.length=v):I&&(k=k.mod(m))}return I?w:(C&&(w=oe.div(w)),m?w.mod(m):v?ce(w,K,Z,M):w)},N.integerValue=function(d){var m=new x(this);return d==null?d=Z:R(d,0,8),ce(m,m.e+1,d)},N.isEqualTo=N.eq=function(d,m){return T(this,new x(d,m))===0},N.isFinite=function(){return!!this.c},N.isGreaterThan=N.gt=function(d,m){return T(this,new x(d,m))>0},N.isGreaterThanOrEqualTo=N.gte=function(d,m){return(m=T(this,new x(d,m)))===1||m===0},N.isInteger=function(){return!!this.c&&S(this.e/l)>this.c.length-2},N.isLessThan=N.lt=function(d,m){return T(this,new x(d,m))<0},N.isLessThanOrEqualTo=N.lte=function(d,m){return(m=T(this,new x(d,m)))===-1||m===0},N.isNaN=function(){return!this.s},N.isNegative=function(){return this.s<0},N.isPositive=function(){return this.s>0},N.isZero=function(){return!!this.c&&this.c[0]==0},N.minus=function(d,m){var g,I,_,v,M=this,E=M.s;if(d=new x(d,m),m=d.s,!E||!m)return new x(NaN);if(E!=m)return d.s=-m,M.plus(d);var C=M.e/l,P=d.e/l,w=M.c,k=d.c;if(!C||!P){if(!w||!k)return w?(d.s=-m,d):new x(k?M:NaN);if(!w[0]||!k[0])return k[0]?(d.s=-m,d):new x(w[0]?M:Z==3?-0:0)}if(C=S(C),P=S(P),w=w.slice(),E=C-P){for((v=E<0)?(E=-E,_=w):(P=C,_=k),_.reverse(),m=E;m--;_.push(0));_.reverse()}else for(I=(v=(E=w.length)<(m=k.length))?E:m,E=m=0;m<I;m++)if(w[m]!=k[m]){v=w[m]<k[m];break}if(v&&(_=w,w=k,k=_,d.s=-d.s),m=(I=k.length)-(g=w.length),m>0)for(;m--;w[g++]=0);for(m=a-1;I>E;){if(w[--I]<k[I]){for(g=I;g&&!w[--g];w[g]=m);--w[g],w[I]+=a}w[I]-=k[I]}for(;w[0]==0;w.splice(0,1),--P);return w[0]?bt(d,w,P):(d.s=Z==3?-1:1,d.c=[d.e=0],d)},N.modulo=N.mod=function(d,m){var g,I,_=this;return d=new x(d,m),!_.c||!d.s||d.c&&!d.c[0]?new x(NaN):!d.c||_.c&&!_.c[0]?new x(_):(F==9?(I=d.s,d.s=1,g=L(_,d,0,3),d.s=I,g.s*=I):g=L(_,d,0,F),d=_.minus(g.times(d)),!d.c[0]&&F==1&&(d.s=_.s),d)},N.multipliedBy=N.times=function(d,m){var g,I,_,v,M,E,C,P,w,k,B,V,Q,se,me,X=this,j=X.c,Te=(d=new x(d,m)).c;if(!j||!Te||!j[0]||!Te[0])return!X.s||!d.s||j&&!j[0]&&!Te||Te&&!Te[0]&&!j?d.c=d.e=d.s=null:(d.s*=X.s,!j||!Te?d.c=d.e=null:(d.c=[0],d.e=0)),d;for(I=S(X.e/l)+S(d.e/l),d.s*=X.s,C=j.length,k=Te.length,C<k&&(Q=j,j=Te,Te=Q,_=C,C=k,k=_),_=C+k,Q=[];_--;Q.push(0));for(se=a,me=f,_=k;--_>=0;){for(g=0,B=Te[_]%me,V=Te[_]/me|0,M=C,v=_+M;v>_;)P=j[--M]%me,w=j[M]/me|0,E=V*P+w*B,P=B*P+E%me*me+Q[v]+g,g=(P/se|0)+(E/me|0)+V*w,Q[v--]=P%se;Q[v]=g}return g?++I:Q.splice(0,1),bt(d,Q,I)},N.negated=function(){var d=new x(this);return d.s=-d.s||null,d},N.plus=function(d,m){var g,I=this,_=I.s;if(d=new x(d,m),m=d.s,!_||!m)return new x(NaN);if(_!=m)return d.s=-m,I.minus(d);var v=I.e/l,M=d.e/l,E=I.c,C=d.c;if(!v||!M){if(!E||!C)return new x(_/0);if(!E[0]||!C[0])return C[0]?d:new x(E[0]?I:_*0)}if(v=S(v),M=S(M),E=E.slice(),_=v-M){for(_>0?(M=v,g=C):(_=-_,g=E),g.reverse();_--;g.push(0));g.reverse()}for(_=E.length,m=C.length,_-m<0&&(g=C,C=E,E=g,m=_),_=0;m;)_=(E[--m]=E[m]+C[m]+_)/a|0,E[m]=a===E[m]?0:E[m]%a;return _&&(E=[_].concat(E),++M),bt(d,E,M)},N.precision=N.sd=function(d,m){var g,I,_,v=this;if(d!=null&&d!==!!d)return R(d,1,h),m==null?m=Z:R(m,0,8),ce(new x(v),d,m);if(!(g=v.c))return null;if(_=g.length-1,I=_*l+1,_=g[_]){for(;_%10==0;_/=10,I--);for(_=g[0];_>=10;_/=10,I++);}return d&&v.e+1>I&&(I=v.e+1),I},N.shiftedBy=function(d){return R(d,-u,u),this.times("1e"+d)},N.squareRoot=N.sqrt=function(){var d,m,g,I,_,v=this,M=v.c,E=v.s,C=v.e,P=W+4,w=new x("0.5");if(E!==1||!M||!M[0])return new x(!E||E<0&&(!M||M[0])?NaN:M?v:1/0);if(E=Math.sqrt(+Oe(v)),E==0||E==1/0?(m=A(M),(m.length+C)%2==0&&(m+="0"),E=Math.sqrt(+m),C=S((C+1)/2)-(C<0||C%2),E==1/0?m="5e"+C:(m=E.toExponential(),m=m.slice(0,m.indexOf("e")+1)+C),g=new x(m)):g=new x(E+""),g.c[0]){for(C=g.e,E=C+P,E<3&&(E=0);;)if(_=g,g=w.times(_.plus(L(v,_,P,1))),A(_.c).slice(0,E)===(m=A(g.c)).slice(0,E))if(g.e<C&&--E,m=m.slice(E-3,E+1),m=="9999"||!I&&m=="4999"){if(!I&&(ce(_,_.e+W+2,0),_.times(_).eq(v))){g=_;break}P+=4,E+=4,I=1}else{(!+m||!+m.slice(1)&&m.charAt(0)=="5")&&(ce(g,g.e+W+2,1),d=!g.times(g).eq(v));break}}return ce(g,g.e+W+1,Z,d)},N.toExponential=function(d,m){return d!=null&&(R(d,0,h),d++),re(this,d,m,1)},N.toFixed=function(d,m){return d!=null&&(R(d,0,h),d=d+this.e+1),re(this,d,m)},N.toFormat=function(d,m,g){var I,_=this;if(g==null)d!=null&&m&&typeof m=="object"?(g=m,m=null):d&&typeof d=="object"?(g=d,d=m=null):g=z;else if(typeof g!="object")throw Error(i+"Argument not an object: "+g);if(I=_.toFixed(d,m),_.c){var v,M=I.split("."),E=+g.groupSize,C=+g.secondaryGroupSize,P=g.groupSeparator||"",w=M[0],k=M[1],B=_.s<0,V=B?w.slice(1):w,Q=V.length;if(C&&(v=E,E=C,C=v,Q-=v),E>0&&Q>0){for(v=Q%E||E,w=V.substr(0,v);v<Q;v+=E)w+=P+V.substr(v,E);C>0&&(w+=P+V.slice(v)),B&&(w="-"+w)}I=k?w+(g.decimalSeparator||"")+((C=+g.fractionGroupSize)?k.replace(new RegExp("\\d{"+C+"}\\B","g"),"$&"+(g.fractionGroupSeparator||"")):k):w}return(g.prefix||"")+I+(g.suffix||"")},N.toFraction=function(d){var m,g,I,_,v,M,E,C,P,w,k,B,V=this,Q=V.c;if(d!=null&&(E=new x(d),!E.isInteger()&&(E.c||E.s!==1)||E.lt(oe)))throw Error(i+"Argument "+(E.isInteger()?"out of range: ":"not an integer: ")+Oe(E));if(!Q)return new x(V);for(m=new x(oe),P=g=new x(oe),I=C=new x(oe),B=A(Q),v=m.e=B.length-V.e-1,m.c[0]=c[(M=v%l)<0?l+M:M],d=!d||E.comparedTo(m)>0?v>0?m:P:E,M=ge,ge=1/0,E=new x(B),C.c[0]=0;w=L(E,m,0,1),_=g.plus(w.times(I)),_.comparedTo(d)!=1;)g=I,I=_,P=C.plus(w.times(_=P)),C=_,m=E.minus(w.times(_=m)),E=_;return _=L(d.minus(g),I,0,1),C=C.plus(_.times(P)),g=g.plus(_.times(I)),C.s=P.s=V.s,v=v*2,k=L(P,I,v,Z).minus(V).abs().comparedTo(L(C,g,v,Z).minus(V).abs())<1?[P,I]:[C,g],ge=M,k},N.toNumber=function(){return+Oe(this)},N.toPrecision=function(d,m){return d!=null&&R(d,1,h),re(this,d,m,2)},N.toString=function(d){var m,g=this,I=g.s,_=g.e;return _===null?I?(m="Infinity",I<0&&(m="-"+m)):m="NaN":(d==null?m=_<=pe||_>=le?D(A(g.c),_):q(A(g.c),_,"0"):d===10&&Ye?(g=ce(new x(g),W+_+1,Z),m=q(A(g.c),g.e,"0")):(R(d,2,be.length,"Base"),m=$(q(A(g.c),_,"0"),10,d,I,!0)),I<0&&g.c[0]&&(m="-"+m)),m},N.valueOf=N.toJSON=function(){return Oe(this)},N._isBigNumber=!0,U!=null&&x.set(U),x}function S(U){var L=U|0;return U>0||U===L?L:L-1}function A(U){for(var L,$,Y=1,N=U.length,oe=U[0]+"";Y<N;){for(L=U[Y++]+"",$=l-L.length;$--;L="0"+L);oe+=L}for(N=oe.length;oe.charCodeAt(--N)===48;);return oe.slice(0,N+1||1)}function T(U,L){var $,Y,N=U.c,oe=L.c,W=U.s,Z=L.s,pe=U.e,le=L.e;if(!W||!Z)return null;if($=N&&!N[0],Y=oe&&!oe[0],$||Y)return $?Y?0:-Z:W;if(W!=Z)return W;if($=W<0,Y=pe==le,!N||!oe)return Y?0:!N^$?1:-1;if(!Y)return pe>le^$?1:-1;for(Z=(pe=N.length)<(le=oe.length)?pe:le,W=0;W<Z;W++)if(N[W]!=oe[W])return N[W]>oe[W]^$?1:-1;return pe==le?0:pe>le^$?1:-1}function R(U,L,$,Y){if(U<L||U>$||U!==r(U))throw Error(i+(Y||"Argument")+(typeof U=="number"?U<L||U>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(U))}function O(U){var L=U.c.length-1;return S(U.e/l)==L&&U.c[L]%2!=0}function D(U,L){return(U.length>1?U.charAt(0)+"."+U.slice(1):U)+(L<0?"e":"e+")+L}function q(U,L,$){var Y,N;if(L<0){for(N=$+".";++L;N+=$);U=N+U}else if(Y=U.length,++L>Y){for(N=$,L-=Y;--L;N+=$);U+=N}else L<Y&&(U=U.slice(0,L)+"."+U.slice(L));return U}e=y(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Jo<"u"&&Jo.exports?Jo.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(tc)});var ic=b((iw,rc)=>{p();var nc=hs(),oc=rc.exports;(function(){"use strict";function t(u){return u<10?"0"+u:u}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,o,r,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},s;function a(u){return n.lastIndex=0,n.test(u)?'"'+u.replace(n,function(c){var f=i[c];return typeof f=="string"?f:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+u+'"'}function l(u,c){var f,h,y,S,A=o,T,R=c[u],O=R!=null&&(R instanceof nc||nc.isBigNumber(R));switch(R&&typeof R=="object"&&typeof R.toJSON=="function"&&(R=R.toJSON(u)),typeof s=="function"&&(R=s.call(c,u,R)),typeof R){case"string":return O?R:a(R);case"number":return isFinite(R)?String(R):"null";case"boolean":case"null":case"bigint":return String(R);case"object":if(!R)return"null";if(o+=r,T=[],Object.prototype.toString.apply(R)==="[object Array]"){for(S=R.length,f=0;f<S;f+=1)T[f]=l(f,R)||"null";return y=T.length===0?"[]":o?`[
|
|
9
|
+
`+o+T.join(`,
|
|
10
|
+
`+o)+`
|
|
11
|
+
`+A+"]":"["+T.join(",")+"]",o=A,y}if(s&&typeof s=="object")for(S=s.length,f=0;f<S;f+=1)typeof s[f]=="string"&&(h=s[f],y=l(h,R),y&&T.push(a(h)+(o?": ":":")+y));else Object.keys(R).forEach(function(D){var q=l(D,R);q&&T.push(a(D)+(o?": ":":")+q)});return y=T.length===0?"{}":o?`{
|
|
12
|
+
`+o+T.join(`,
|
|
13
|
+
`+o)+`
|
|
14
|
+
`+A+"}":"{"+T.join(",")+"}",o=A,y}}typeof oc.stringify!="function"&&(oc.stringify=function(u,c,f){var h;if(o="",r="",typeof f=="number")for(h=0;h<f;h+=1)r+=" ";else typeof f=="string"&&(r=f);if(s=c,c&&typeof c!="function"&&(typeof c!="object"||typeof c.length!="number"))throw new Error("JSON.stringify");return l("",{"":u})})})()});var ac=b((aw,sc)=>{p();var Wo=null,_g=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,Cg=/(?: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)/,Ag=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,o,r={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
15
|
+
`,r:"\r",t:" "},i,s=function(A){throw{name:"SyntaxError",message:A,at:n,text:i}},a=function(A){return A&&A!==o&&s("Expected '"+A+"' instead of '"+o+"'"),o=i.charAt(n),n+=1,o},l=function(){var A,T="";for(o==="-"&&(T="-",a("-"));o>="0"&&o<="9";)T+=o,a();if(o===".")for(T+=".";a()&&o>="0"&&o<="9";)T+=o;if(o==="e"||o==="E")for(T+=o,a(),(o==="-"||o==="+")&&(T+=o,a());o>="0"&&o<="9";)T+=o,a();if(A=+T,!isFinite(A))s("Bad number");else return Wo==null&&(Wo=hs()),T.length>15?e.storeAsString?T:e.useNativeBigInt?BigInt(T):new Wo(T):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(A):new Wo(A):A},u=function(){var A,T,R="",O;if(o==='"')for(var D=n;a();){if(o==='"')return n-1>D&&(R+=i.substring(D,n-1)),a(),R;if(o==="\\"){if(n-1>D&&(R+=i.substring(D,n-1)),a(),o==="u"){for(O=0,T=0;T<4&&(A=parseInt(a(),16),!!isFinite(A));T+=1)O=O*16+A;R+=String.fromCharCode(O)}else if(typeof r[o]=="string")R+=r[o];else break;D=n}}s("Bad string")},c=function(){for(;o&&o<=" ";)a()},f=function(){switch(o){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}s("Unexpected '"+o+"'")},h,y=function(){var A=[];if(o==="["){if(a("["),c(),o==="]")return a("]"),A;for(;o;){if(A.push(h()),c(),o==="]")return a("]"),A;a(","),c()}}s("Bad array")},S=function(){var A,T=Object.create(null);if(o==="{"){if(a("{"),c(),o==="}")return a("}"),T;for(;o;){if(A=u(),c(),a(":"),e.strict===!0&&Object.hasOwnProperty.call(T,A)&&s('Duplicate key "'+A+'"'),_g.test(A)===!0?e.protoAction==="error"?s("Object contains forbidden prototype property"):e.protoAction==="ignore"?h():T[A]=h():Cg.test(A)===!0?e.constructorAction==="error"?s("Object contains forbidden constructor property"):e.constructorAction==="ignore"?h():T[A]=h():T[A]=h(),c(),o==="}")return a("}"),T;a(","),c()}}s("Bad object")};return h=function(){switch(c(),o){case"{":return S();case"[":return y();case'"':return u();case"-":return l();default:return o>="0"&&o<="9"?l():f()}},function(A,T){var R;return i=A+"",n=0,o=" ",R=h(),c(),o&&s("Syntax error"),typeof T=="function"?function O(D,q){var U,L,$=D[q];return $&&typeof $=="object"&&Object.keys($).forEach(function(Y){L=O($,Y),L!==void 0?$[Y]=L:delete $[Y]}),T.call(D,q,$)}({"":R},""):R}};sc.exports=Ag});var cc=b((uw,Yo)=>{p();var lc=ic().stringify,uc=ac();Yo.exports=function(t){return{parse:uc(t),stringify:lc}};Yo.exports.parse=uc();Yo.exports.stringify=lc});var ms=b(ze=>{"use strict";p();Object.defineProperty(ze,"__esModule",{value:!0});ze.GCE_LINUX_BIOS_PATHS=void 0;ze.isGoogleCloudServerless=pc;ze.isGoogleComputeEngineLinux=hc;ze.isGoogleComputeEngineMACAddress=mc;ze.isGoogleComputeEngine=gc;ze.detectGCPResidency=Sg;var dc=J("fs"),fc=J("os");ze.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var vg=/^42:01/;function pc(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function hc(){if((0,fc.platform)()!=="linux")return!1;try{(0,dc.statSync)(ze.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,dc.readFileSync)(ze.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function mc(){let t=(0,fc.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(vg.test(n))return!0}return!1}function gc(){return hc()||mc()}function Sg(){return pc()||gc()}});var yc=b(zo=>{"use strict";p();Object.defineProperty(zo,"__esModule",{value:!0});zo.Colours=void 0;var _e=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};zo.Colours=_e;_e.enabled=!1;_e.reset="";_e.bright="";_e.dim="";_e.red="";_e.green="";_e.yellow="";_e.blue="";_e.magenta="";_e.cyan="";_e.white="";_e.grey="";_e.refresh()});var Cc=b(ee=>{"use strict";p();var wg=ee&&ee.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),Ig=ee&&ee.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Ec=ee&&ee.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var o=[];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(o[o.length]=r);return o},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var o=t(e),r=0;r<o.length;r++)o[r]!=="default"&&wg(n,e,o[r]);return Ig(n,e),n}}();Object.defineProperty(ee,"__esModule",{value:!0});ee.env=ee.DebugLogBackendBase=ee.placeholder=ee.AdhocDebugLogger=ee.LogSeverity=void 0;ee.getNodeBackend=ys;ee.getDebugBackend=Pg;ee.getStructuredBackend=Mg;ee.setBackend=kg;ee.log=_c;var Rg=J("events"),$n=Ec(J("process")),Tc=Ec(J("util")),Me=yc(),Xe;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Xe||(ee.LogSeverity=Xe={}));var Kn=class extends Rg.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(o,r)=>this.on(o,r)}),this.func.debug=(...o)=>this.invokeSeverity(Xe.DEBUG,...o),this.func.info=(...o)=>this.invokeSeverity(Xe.INFO,...o),this.func.warn=(...o)=>this.invokeSeverity(Xe.WARNING,...o),this.func.error=(...o)=>this.invokeSeverity(Xe.ERROR,...o),this.func.sublog=o=>_c(o,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)}};ee.AdhocDebugLogger=Kn;ee.placeholder=new Kn("",()=>{}).func;var jt=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=$n.env[ee.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...o){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let r=this.cached.get(e);r||(r=this.makeLogger(e),this.cached.set(e,r)),r(n,...o)}catch(r){console.error(r)}}};ee.DebugLogBackendBase=jt;var gs=class extends jt{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...o)=>{var r;let i=`${Me.Colours.green}${e}${Me.Colours.reset}`,s=`${Me.Colours.yellow}${$n.pid}${Me.Colours.reset}`,a;switch(n.severity){case Xe.ERROR:a=`${Me.Colours.red}${n.severity}${Me.Colours.reset}`;break;case Xe.INFO:a=`${Me.Colours.magenta}${n.severity}${Me.Colours.reset}`;break;case Xe.WARNING:a=`${Me.Colours.yellow}${n.severity}${Me.Colours.reset}`;break;default:a=(r=n.severity)!==null&&r!==void 0?r:Xe.DEFAULT;break}let l=Tc.formatWithOptions({colors:Me.Colours.enabled},...o),u=Object.assign({},n);delete u.severity;let c=Object.getOwnPropertyNames(u).length?JSON.stringify(u):"",f=c?`${Me.Colours.grey}${c}${Me.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",s,i,a,l,c?` ${f}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function ys(){return new gs}var Es=class extends jt{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(o,...r)=>{n(r[0],...r.slice(1))}}setFilters(){var e;let n=(e=$n.env.NODE_DEBUG)!==null&&e!==void 0?e:"";$n.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function Pg(t){return new Es(t)}var Ts=class extends jt{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let o=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(r,...i)=>{var s;let a=(s=r.severity)!==null&&s!==void 0?s:Xe.INFO,l=Object.assign({severity:a,message:Tc.format(...i)},r),u=JSON.stringify(l);o?o(r,u):console.log("%s",u)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function Mg(t){return new Ts(t)}ee.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var _s=new Map,ke;function kg(t){ke=t,_s.clear()}function _c(t,e){if(!ke&&!$n.env[ee.env.nodeEnables]||!t)return ee.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=_s.get(t);if(n)return n.func;if(ke===null)return ee.placeholder;ke===void 0&&(ke=ys());let o=(()=>{let r;return new Kn(t,(s,...a)=>{if(r!==ke){if(ke===null)return;ke===void 0&&(ke=ys()),r=ke}ke?.log(t,s,...a)})})();return _s.set(t,o),o.func}});var Cs=b(Gt=>{"use strict";p();var Ng=Gt&&Gt.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),xg=Gt&&Gt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Ng(e,t,n)};Object.defineProperty(Gt,"__esModule",{value:!0});xg(Cc(),Gt)});var Wn=b(H=>{"use strict";p();var vc=H&&H.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),Dg=H&&H.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),bg=H&&H.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var o=[];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(o[o.length]=r);return o},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var o=t(e),r=0;r<o.length;r++)o[r]!=="default"&&vc(n,e,o[r]);return Dg(n,e),n}}(),Og=H&&H.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&vc(e,t,n)};Object.defineProperty(H,"__esModule",{value:!0});H.gcpResidencyCache=H.METADATA_SERVER_DETECTION=H.HEADERS=H.HEADER_VALUE=H.HEADER_NAME=H.SECONDARY_HOST_ADDRESS=H.HOST_ADDRESS=H.BASE_PATH=void 0;H.instance=Bg;H.project=Vg;H.universe=Hg;H.bulk=$g;H.isAvailable=Jg;H.resetIsAvailableCache=Wg;H.getGCPResidency=Ss;H.setGCPResidency=Sc;H.requestTimeout=wc;var As=ye(),Ug=cc(),Lg=ms(),Gg=bg(Cs());H.BASE_PATH="/computeMetadata/v1";H.HOST_ADDRESS="http://169.254.169.254";H.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";H.HEADER_NAME="Metadata-Flavor";H.HEADER_VALUE="Google";H.HEADERS=Object.freeze({[H.HEADER_NAME]:H.HEADER_VALUE});var Ac=Gg.log("gcp-metadata");H.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 vs(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||H.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(H.BASE_PATH,t).href}function Fg(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 Jn(t,e={},n=3,o=!1){let r=new Headers(H.HEADERS),i="",s={};if(typeof t=="object"){let f=t;new Headers(f.headers).forEach((h,y)=>r.set(y,h)),i=f.metadataKey,s=f.params||s,n=f.noResponseRetries||n,o=f.fastFail||o}else i=t;typeof e=="string"?i+=`/${e}`:(Fg(e),e.property&&(i+=`/${e.property}`),new Headers(e.headers).forEach((f,h)=>r.set(h,f)),s=e.params||s);let a=o?qg:As.request,l={url:`${vs()}/${i}`,headers:r,retryConfig:{noResponseRetries:n},params:s,responseType:"text",timeout:wc()};Ac.info("instance request %j",l);let u=await a(l);Ac.info("instance metadata is %s",u.data);let c=u.headers.get(H.HEADER_NAME);if(c!==H.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${H.HEADER_NAME} header. Expected '${H.HEADER_VALUE}', got ${c?`'${c}'`:"no header"}`);if(typeof u.data=="string")try{return Ug.parse(u.data)}catch{}return u.data}async function qg(t){let e={...t,url:t.url?.toString().replace(vs(),vs(H.SECONDARY_HOST_ADDRESS))},n=(0,As.request)(t),o=(0,As.request)(e);return Promise.any([n,o])}function Bg(t){return Jn("instance",t)}function Vg(t){return Jn("project",t)}function Hg(t){return Jn("universe",t)}async function $g(t){let e={};return await Promise.all(t.map(n=>(async()=>{let o=await Jn(n),r=n.metadataKey;e[r]=o})())),e}function Kg(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Xo;async function Jg(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in H.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(H.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Ss();case"ping-only":}}try{return Xo===void 0&&(Xo=Jn("instance",void 0,Kg(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Xo,!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 Wg(){Xo=void 0}H.gcpResidencyCache=null;function Ss(){return H.gcpResidencyCache===null&&Sc(),H.gcpResidencyCache}function Sc(t=null){H.gcpResidencyCache=t!==null?t:(0,Lg.detectGCPResidency)()}function wc(){return Ss()?0:3e3}Og(ms(),H)});var Pc=b(Qo=>{"use strict";p();Qo.byteLength=zg;Qo.toByteArray=Qg;Qo.fromByteArray=ey;var rt=[],Be=[],Yg=typeof Uint8Array<"u"?Uint8Array:Array,ws="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ft=0,Ic=ws.length;Ft<Ic;++Ft)rt[Ft]=ws[Ft],Be[ws.charCodeAt(Ft)]=Ft;var Ft,Ic;Be[45]=62;Be[95]=63;function Rc(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 o=n===e?0:4-n%4;return[n,o]}function zg(t){var e=Rc(t),n=e[0],o=e[1];return(n+o)*3/4-o}function Xg(t,e,n){return(e+n)*3/4-n}function Qg(t){var e,n=Rc(t),o=n[0],r=n[1],i=new Yg(Xg(t,o,r)),s=0,a=r>0?o-4:o,l;for(l=0;l<a;l+=4)e=Be[t.charCodeAt(l)]<<18|Be[t.charCodeAt(l+1)]<<12|Be[t.charCodeAt(l+2)]<<6|Be[t.charCodeAt(l+3)],i[s++]=e>>16&255,i[s++]=e>>8&255,i[s++]=e&255;return r===2&&(e=Be[t.charCodeAt(l)]<<2|Be[t.charCodeAt(l+1)]>>4,i[s++]=e&255),r===1&&(e=Be[t.charCodeAt(l)]<<10|Be[t.charCodeAt(l+1)]<<4|Be[t.charCodeAt(l+2)]>>2,i[s++]=e>>8&255,i[s++]=e&255),i}function Zg(t){return rt[t>>18&63]+rt[t>>12&63]+rt[t>>6&63]+rt[t&63]}function jg(t,e,n){for(var o,r=[],i=e;i<n;i+=3)o=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),r.push(Zg(o));return r.join("")}function ey(t){for(var e,n=t.length,o=n%3,r=[],i=16383,s=0,a=n-o;s<a;s+=i)r.push(jg(t,s,s+i>a?a:s+i));return o===1?(e=t[n-1],r.push(rt[e>>2]+rt[e<<4&63]+"==")):o===2&&(e=(t[n-2]<<8)+t[n-1],r.push(rt[e>>10]+rt[e>>4&63]+rt[e<<2&63]+"=")),r.join("")}});var Rs=b(Is=>{"use strict";p();Object.defineProperty(Is,"__esModule",{value:!0});Is.fromArrayBufferToHex=ty;function ty(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Mc=b(Zo=>{"use strict";p();Object.defineProperty(Zo,"__esModule",{value:!0});Zo.BrowserCrypto=void 0;var en=Pc(),ny=Rs(),Ps=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),o=await window.crypto.subtle.digest("SHA-256",n);return en.fromByteArray(new Uint8Array(o))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),en.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,o){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},i=new TextEncoder().encode(n),s=en.toByteArray(t.padBase64(o)),a=await window.crypto.subtle.importKey("jwk",e,r,!0,["verify"]);return await window.crypto.subtle.verify(r,a,Buffer.from(s),i)}async sign(e,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},r=new TextEncoder().encode(n),i=await window.crypto.subtle.importKey("jwk",e,o,!0,["sign"]),s=await window.crypto.subtle.sign(o,i,r);return en.fromByteArray(new Uint8Array(s))}decodeBase64StringUtf8(e){let n=en.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return en.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),o=await window.crypto.subtle.digest("SHA-256",n);return(0,ny.fromArrayBufferToHex)(o)}async signWithHmacSha256(e,n){let o=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),r=new TextEncoder,i=await window.crypto.subtle.importKey("raw",r.encode(o),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",i,r.encode(n))}};Zo.BrowserCrypto=Ps});var kc=b(jo=>{"use strict";p();Object.defineProperty(jo,"__esModule",{value:!0});jo.NodeCrypto=void 0;var tn=J("crypto"),Ms=class{async sha256DigestBase64(e){return tn.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return tn.randomBytes(e).toString("base64")}async verify(e,n,o){let r=tn.createVerify("RSA-SHA256");return r.update(n),r.end(),r.verify(e,o,"base64")}async sign(e,n){let o=tn.createSign("RSA-SHA256");return o.update(n),o.end(),o.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 tn.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let o=typeof e=="string"?e:ry(e);return oy(tn.createHmac("sha256",o).update(n).digest())}};jo.NodeCrypto=Ms;function oy(t){let e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;++o)n[o]=t[o];return e}function ry(t){return Buffer.from(t)}});var Yn=b(mt=>{"use strict";p();var iy=mt&&mt.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),sy=mt&&mt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&iy(e,t,n)};Object.defineProperty(mt,"__esModule",{value:!0});mt.createCrypto=uy;mt.hasBrowserCrypto=Nc;var ay=Mc(),ly=kc();sy(Rs(),mt);function uy(){return Nc()?new ay.BrowserCrypto:new ly.NodeCrypto}function Nc(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var nn=b((ks,Dc)=>{p();var er=J("buffer"),it=er.Buffer;function xc(t,e){for(var n in t)e[n]=t[n]}it.from&&it.alloc&&it.allocUnsafe&&it.allocUnsafeSlow?Dc.exports=er:(xc(er,ks),ks.Buffer=qt);function qt(t,e,n){return it(t,e,n)}qt.prototype=Object.create(it.prototype);xc(it,qt);qt.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return it(t,e,n)};qt.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=it(t);return e!==void 0?typeof n=="string"?o.fill(e,n):o.fill(e):o.fill(0),o};qt.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return it(t)};qt.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return er.SlowBuffer(t)}});var Oc=b((xw,bc)=>{"use strict";p();function Ns(t){var e=(t/8|0)+(t%8===0?0:1);return e}var cy={ES256:Ns(256),ES384:Ns(384),ES512:Ns(521)};function dy(t){var e=cy[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}bc.exports=dy});var xs=b((bw,Bc)=>{"use strict";p();var tr=nn().Buffer,Lc=Oc(),nr=128,Gc=0,fy=32,py=16,hy=2,Fc=py|fy|Gc<<6,or=hy|Gc<<6;function my(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function qc(t){if(tr.isBuffer(t))return t;if(typeof t=="string")return tr.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function gy(t,e){t=qc(t);var n=Lc(e),o=n+1,r=t.length,i=0;if(t[i++]!==Fc)throw new Error('Could not find expected "seq"');var s=t[i++];if(s===(nr|1)&&(s=t[i++]),r-i<s)throw new Error('"seq" specified length of "'+s+'", only "'+(r-i)+'" remaining');if(t[i++]!==or)throw new Error('Could not find expected "int" for "r"');var a=t[i++];if(r-i-2<a)throw new Error('"r" specified length of "'+a+'", only "'+(r-i-2)+'" available');if(o<a)throw new Error('"r" specified length of "'+a+'", max of "'+o+'" is acceptable');var l=i;if(i+=a,t[i++]!==or)throw new Error('Could not find expected "int" for "s"');var u=t[i++];if(r-i!==u)throw new Error('"s" specified length of "'+u+'", expected "'+(r-i)+'"');if(o<u)throw new Error('"s" specified length of "'+u+'", max of "'+o+'" is acceptable');var c=i;if(i+=u,i!==r)throw new Error('Expected to consume entire buffer, but "'+(r-i)+'" bytes remain');var f=n-a,h=n-u,y=tr.allocUnsafe(f+a+h+u);for(i=0;i<f;++i)y[i]=0;t.copy(y,i,l+Math.max(-f,0),l+a),i=n;for(var S=i;i<S+h;++i)y[i]=0;return t.copy(y,i,c+Math.max(-h,0),c+u),y=y.toString("base64"),y=my(y),y}function Uc(t,e,n){for(var o=0;e+o<n&&t[e+o]===0;)++o;var r=t[e+o]>=nr;return r&&--o,o}function yy(t,e){t=qc(t);var n=Lc(e),o=t.length;if(o!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+o+'"');var r=Uc(t,0,n),i=Uc(t,n,t.length),s=n-r,a=n-i,l=2+s+1+1+a,u=l<nr,c=tr.allocUnsafe((u?2:3)+l),f=0;return c[f++]=Fc,u?c[f++]=l:(c[f++]=nr|1,c[f++]=l&255),c[f++]=or,c[f++]=s,r<0?(c[f++]=0,f+=t.copy(c,f,0,n)):f+=t.copy(c,f,r,n),c[f++]=or,c[f++]=a,i<0?(c[f++]=0,t.copy(c,f,n)):t.copy(c,f,n+i),c}Bc.exports={derToJose:gy,joseToDer:yy}});var Qe=b(gt=>{"use strict";p();Object.defineProperty(gt,"__esModule",{value:!0});gt.LRUCache=void 0;gt.snakeToCamel=Hc;gt.originalOrCamelOptions=Cy;gt.removeUndefinedValuesInObject=Ay;gt.isValidFile=vy;gt.getWellKnownCertificateConfigFileLocation=Sy;var Ey=J("fs"),Ty=J("os"),Ds=J("path"),_y="certificate_config.json",Vc="gcloud";function Hc(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function Cy(t){function e(n){let o=t||{};return o[n]??o[Hc(n)]}return{get:e}}var bs=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()}};gt.LRUCache=bs;function Ay(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function vy(t){try{return(await Ey.promises.lstat(t)).isFile()}catch{return!1}}function Sy(){let t=process.env.CLOUDSDK_CONFIG||(wy()?Ds.join(process.env.APPDATA||"",Vc):Ds.join(process.env.HOME||"",".config",Vc));return Ds.join(t,_y)}function wy(){return Ty.platform().startsWith("win")}});var $c=b((Gw,Iy)=>{Iy.exports={name:"google-auth-library",version:"10.6.2",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node-core.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.0","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","docs-test":"echo 'disabled until linkinator is fixed'","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node-core/tree/main/packages/google-auth-library-nodejs"}});var Os=b(St=>{"use strict";p();Object.defineProperty(St,"__esModule",{value:!0});St.USER_AGENT=St.PRODUCT_NAME=St.pkg=void 0;var Kc=$c();St.pkg=Kc;var Jc="google-api-nodejs-client";St.PRODUCT_NAME=Jc;var Ry=`${Jc}/${Kc.version}`;St.USER_AGENT=Ry});var Ne=b(Ze=>{"use strict";p();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.AuthClient=Ze.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Ze.DEFAULT_UNIVERSE=void 0;var Py=J("events"),Us=ye(),My=Qe(),ky=Cs(),Ls=Os();Ze.DEFAULT_UNIVERSE="googleapis.com";Ze.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=5*60*1e3;var Gs=class t extends Py.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Ze.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Ze.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,My.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")??Ze.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Us.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],o=e[1],r,i=new Headers;return typeof n=="string"?r=new URL(n):n instanceof URL?r=n:n&&n.url&&(r=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Us.Gaxios.mergeHeaders(i,n.headers),o&&Us.Gaxios.mergeHeaders(i,new Headers(o.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...o,...n,headers:i,url:r}):this.request({...o,headers:i,url:r})}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 o=n.get("x-goog-user-project"),r=n.get("authorization");return o&&e.set("x-goog-user-project",o),r&&e.set("authorization",r),e}static log=(0,ky.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let o=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${o}`)}let n=e.headers.get("User-Agent");n?n.includes(`${Ls.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${Ls.USER_AGENT}`):e.headers.set("User-Agent",Ls.USER_AGENT);try{let o=e,r=o[t.RequestMethodNameSymbol],i=`${Math.floor(Math.random()*1e3)}`;o[t.RequestLogIdSymbol]=i;let s={url:e.url,headers:e.headers};r?t.log.info("%s [%s] request %j",r,i,s):t.log.info("[%s] request %j",i,s)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,o=n[t.RequestMethodNameSymbol],r=n[t.RequestLogIdSymbol];o?t.log.info("%s [%s] response %j",o,r,e.data):t.log.info("[%s] response %j",r,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,o=n[t.RequestMethodNameSymbol],r=n[t.RequestLogIdSymbol];o?t.log.info("%s [%s] error %j",o,r,e.response?.data):t.log.error("[%s] error %j",r,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let o=e;o[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Ze.AuthClient=Gs});var qs=b(rr=>{"use strict";p();Object.defineProperty(rr,"__esModule",{value:!0});rr.LoginTicket=void 0;var Fs=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()}}};rr.LoginTicket=Fs});var Bt=b(st=>{"use strict";p();Object.defineProperty(st,"__esModule",{value:!0});st.OAuth2Client=st.ClientAuthentication=st.CertificateFormat=st.CodeChallengeMethod=void 0;var Wc=ye(),Ny=J("querystring"),xy=J("stream"),Dy=xs(),Yc=Qe(),Bs=Yn(),on=Ne(),by=qs(),zc;(function(t){t.Plain="plain",t.S256="S256"})(zc||(st.CodeChallengeMethod=zc={}));var yt;(function(t){t.PEM="PEM",t.JWK="JWK"})(yt||(st.CertificateFormat=yt={}));var zn;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(zn||(st.ClientAuthentication=zn={}));var Vs=class t extends on.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=yt.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,o){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:o}),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||zn.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()+"?"+Ny.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Bs.createCrypto)(),o=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),i=(await e.sha256DigestBase64(o)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:o,codeChallenge:i}}getToken(e,n){let o=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(o).then(r=>n(null,r.tokens,r.res),r=>n(r,null,r.response));else return this.getTokenAsync(o)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),o=new Headers,r={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===zn.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);o.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===zn.ClientSecretPost&&(r.client_secret=this._clientSecret);let i={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,Yc.removeUndefinedValuesInObject)(r)),headers:o};on.AuthClient.setMethodName(i,"getTokenAsync");let s=await this.transporter.request(i),a=s.data;return s.data&&s.data.expires_in&&(a.expiry_date=new Date().getTime()+s.data.expires_in*1e3,delete a.expires_in),this.emit("tokens",a),{tokens:a,res:s}}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(o=>(this.refreshTokenPromises.delete(e),o),o=>{throw this.refreshTokenPromises.delete(e),o});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(),o={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},r;try{let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,Yc.removeUndefinedValuesInObject)(o))};on.AuthClient.setMethodName(s,"refreshTokenNoCache"),r=await this.transporter.request(s)}catch(s){throw s instanceof Wc.GaxiosError&&s.message==="invalid_grant"&&s.response?.data&&/ReAuth/i.test(s.response.data.error_description)&&(s.message=JSON.stringify(s.response.data)),s}let i=r.data;return r.data&&r.data.expires_in&&(i.expiry_date=new Date().getTime()+r.data.expires_in*1e3,delete i.expires_in),this.emit("tokens",i),{tokens:i,res:r}}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 o=await this.processAndValidateRefreshHandler();if(o?.access_token)return this.setCredentials(o),{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 l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let o=null,r=null;try{o=await this.refreshToken(n.refresh_token),r=o.tokens}catch(a){let l=a;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let i=this.credentials;i.token_type=i.token_type||"Bearer",r.refresh_token=i.refresh_token,this.credentials=r;let s=new Headers({authorization:i.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(s),res:o.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 o={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(on.AuthClient.setMethodName(o,"revokeToken"),n)this.transporter.request(o).then(r=>n(null,r),n);else return this.transporter.request(o)}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(o=>n(null,o),o=>n(o,o.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let o=await this.getRequestMetadataAsync();return e.headers=Wc.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(o){let r=o.response;if(r){let i=r.status,s=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,l=r.config.data instanceof xy.Readable,u=i===401||i===403;if(!n&&u&&!l&&s)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&u&&!l&&a){let c=await this.processAndValidateRefreshHandler();return c?.access_token&&this.setCredentials(c),this.requestAsync(e,!0)}}throw o}}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(o=>n(null,o),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()}),o=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete o.expires_in,delete o.scope,o}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,Bs.hasBrowserCrypto)()?yt.JWK:yt.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let o,r;switch(n){case yt.PEM:r=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case yt.JWK:r=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let u={...t.RETRY_CONFIG,url:r};on.AuthClient.setMethodName(u,"getFederatedSignonCertsAsync"),o=await this.transporter.request(u)}catch(u){throw u instanceof Error&&(u.message=`Failed to retrieve verification certificates: ${u.message}`),u}let i=o?.headers.get("cache-control"),s=-1;if(i){let u=/max-age=(?<maxAge>[0-9]+)/.exec(i)?.groups?.maxAge;u&&(s=Number(u)*1e3)}let a={};switch(n){case yt.PEM:a=o.data;break;case yt.JWK:for(let u of o.data.keys)a[u.kid]=u;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=s===-1?null:new Date(l.getTime()+s),this.certificateCache=a,this.certificateCacheFormat=n,{certs:a,format:n,res:o}}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 o={...t.RETRY_CONFIG,url:n};on.AuthClient.setMethodName(o,"getIapPublicKeysAsync"),e=await this.transporter.request(o)}catch(o){throw o instanceof Error&&(o.message=`Failed to retrieve verification certificates: ${o.message}`),o}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,o,r,i){let s=(0,Bs.createCrypto)();i||(i=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 l=a[0]+"."+a[1],u=a[2],c,f;try{c=JSON.parse(s.decodeBase64StringUtf8(a[0]))}catch(D){throw D instanceof Error&&(D.message=`Can't parse token envelope: ${a[0]}': ${D.message}`),D}if(!c)throw new Error("Can't parse token envelope: "+a[0]);try{f=JSON.parse(s.decodeBase64StringUtf8(a[1]))}catch(D){throw D instanceof Error&&(D.message=`Can't parse token payload '${a[0]}`),D}if(!f)throw new Error("Can't parse token payload: "+a[1]);if(!Object.prototype.hasOwnProperty.call(n,c.kid))throw new Error("No pem found for envelope: "+JSON.stringify(c));let h=n[c.kid];if(c.alg==="ES256"&&(u=Dy.joseToDer(u,"ES256").toString("base64")),!await s.verify(h,l,u))throw new Error("Invalid token signature: "+e);if(!f.iat)throw new Error("No issue time in token: "+JSON.stringify(f));if(!f.exp)throw new Error("No expiration time in token: "+JSON.stringify(f));let S=Number(f.iat);if(isNaN(S))throw new Error("iat field using invalid format");let A=Number(f.exp);if(isNaN(A))throw new Error("exp field using invalid format");let T=new Date().getTime()/1e3;if(A>=T+i)throw new Error("Expiration time too far in future: "+JSON.stringify(f));let R=S-t.CLOCK_SKEW_SECS_,O=A+t.CLOCK_SKEW_SECS_;if(T<R)throw new Error("Token used too early, "+T+" < "+R+": "+JSON.stringify(f));if(T>O)throw new Error("Token used too late, "+T+" > "+O+": "+JSON.stringify(f));if(r&&r.indexOf(f.iss)<0)throw new Error("Invalid issuer, expected one of ["+r+"], but got "+f.iss);if(typeof o<"u"&&o!==null){let D=f.aud,q=!1;if(o.constructor===Array?q=o.indexOf(D)>-1:q=D===o,!q)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new by.LoginTicket(c,f)}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}};st.OAuth2Client=Vs});var $s=b(ir=>{"use strict";p();Object.defineProperty(ir,"__esModule",{value:!0});ir.Compute=void 0;var Oy=ye(),Xc=Wn(),Uy=Bt(),Hs=class extends Uy.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 r={property:e};this.scopes.length>0&&(r.params={scopes:this.scopes.join(",")}),n=await Xc.instance(r)}catch(r){throw r instanceof Oy.GaxiosError&&(r.message=`Could not refresh access token: ${r.message}`,this.wrapError(r)),r}let o=n;return n&&n.expires_in&&(o.expiry_date=new Date().getTime()+n.expires_in*1e3,delete o.expires_in),this.emit("tokens",o),{tokens:o,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,o;try{let r={property:n};o=await Xc.instance(r)}catch(r){throw r instanceof Error&&(r.message=`Could not fetch ID token: ${r.message}`),r}return o}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))}};ir.Compute=Hs});var Js=b(sr=>{"use strict";p();Object.defineProperty(sr,"__esModule",{value:!0});sr.IdTokenClient=void 0;var Ly=Bt(),Ks=class extends Ly.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}};sr.IdTokenClient=Ks});var Ws=b(rn=>{"use strict";p();Object.defineProperty(rn,"__esModule",{value:!0});rn.GCPEnv=void 0;rn.clear=Gy;rn.getEnv=Fy;var Qc=Wn(),at;(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"})(at||(rn.GCPEnv=at={}));var Xn;function Gy(){Xn=void 0}async function Fy(){return Xn||(Xn=qy(),Xn)}async function qy(){let t=at.NONE;return By()?t=at.APP_ENGINE:Vy()?t=at.CLOUD_FUNCTIONS:await Jy()?await Ky()?t=at.KUBERNETES_ENGINE:Hy()?t=at.CLOUD_RUN:$y()?t=at.CLOUD_RUN_JOBS:t=at.COMPUTE_ENGINE:t=at.NONE,t}function By(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Vy(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Hy(){return!!process.env.K_CONFIGURATION}function $y(){return!!process.env.CLOUD_RUN_JOB}async function Ky(){try{return await Qc.instance("attributes/cluster-name"),!0}catch{return!1}}async function Jy(){return Qc.isAvailable()}});var Ys=b((jw,Zc)=>{p();var ar=nn().Buffer,Wy=J("stream"),Yy=J("util");function lr(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ar.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ar.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+")")}Yy.inherits(lr,Wy);lr.prototype.write=function(e){this.buffer=ar.concat([this.buffer,ar.from(e)]),this.emit("data",e)};lr.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Zc.exports=lr});var ed=b((tI,jc)=>{"use strict";p();var Qn=J("buffer").Buffer,zs=J("buffer").SlowBuffer;jc.exports=ur;function ur(t,e){if(!Qn.isBuffer(t)||!Qn.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,o=0;o<t.length;o++)n|=t[o]^e[o];return n===0}ur.install=function(){Qn.prototype.equal=zs.prototype.equal=function(e){return ur(this,e)}};var zy=Qn.prototype.equal,Xy=zs.prototype.equal;ur.restore=function(){Qn.prototype.equal=zy,zs.prototype.equal=Xy}});var js=b((oI,ud)=>{p();var an=nn().Buffer,Ve=J("crypto"),nd=xs(),td=J("util"),Qy=`"%s" is not a valid algorithm.
|
|
16
|
+
Supported algorithms are:
|
|
17
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Zn="secret must be a string or buffer",sn="key must be a string or a buffer",Zy="key must be a string, a buffer or an object",Qs=typeof Ve.createPublicKey=="function";Qs&&(sn+=" or a KeyObject",Zn+="or a KeyObject");function od(t){if(!an.isBuffer(t)&&typeof t!="string"&&(!Qs||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw je(sn)}function rd(t){if(!an.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw je(Zy)}function jy(t){if(!an.isBuffer(t)){if(typeof t=="string")return t;if(!Qs||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw je(Zn)}}function Zs(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function id(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 je(t){var e=[].slice.call(arguments,1),n=td.format.bind(td,t).apply(null,e);return new TypeError(n)}function eE(t){return an.isBuffer(t)||typeof t=="string"}function jn(t){return eE(t)||(t=JSON.stringify(t)),t}function sd(t){return function(n,o){jy(o),n=jn(n);var r=Ve.createHmac("sha"+t,o),i=(r.update(n),r.digest("base64"));return Zs(i)}}var Xs,tE="timingSafeEqual"in Ve?function(e,n){return e.byteLength!==n.byteLength?!1:Ve.timingSafeEqual(e,n)}:function(e,n){return Xs||(Xs=ed()),Xs(e,n)};function nE(t){return function(n,o,r){var i=sd(t)(n,r);return tE(an.from(o),an.from(i))}}function ad(t){return function(n,o){rd(o),n=jn(n);var r=Ve.createSign("RSA-SHA"+t),i=(r.update(n),r.sign(o,"base64"));return Zs(i)}}function ld(t){return function(n,o,r){od(r),n=jn(n),o=id(o);var i=Ve.createVerify("RSA-SHA"+t);return i.update(n),i.verify(r,o,"base64")}}function oE(t){return function(n,o){rd(o),n=jn(n);var r=Ve.createSign("RSA-SHA"+t),i=(r.update(n),r.sign({key:o,padding:Ve.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ve.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Zs(i)}}function rE(t){return function(n,o,r){od(r),n=jn(n),o=id(o);var i=Ve.createVerify("RSA-SHA"+t);return i.update(n),i.verify({key:r,padding:Ve.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ve.constants.RSA_PSS_SALTLEN_DIGEST},o,"base64")}}function iE(t){var e=ad(t);return function(){var o=e.apply(null,arguments);return o=nd.derToJose(o,"ES"+t),o}}function sE(t){var e=ld(t);return function(o,r,i){r=nd.joseToDer(r,"ES"+t).toString("base64");var s=e(o,r,i);return s}}function aE(){return function(){return""}}function lE(){return function(e,n){return n===""}}ud.exports=function(e){var n={hs:sd,rs:ad,ps:oE,es:iE,none:aE},o={hs:nE,rs:ld,ps:rE,es:sE,none:lE},r=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!r)throw je(Qy,e);var i=(r[1]||r[3]).toLowerCase(),s=r[2];return{sign:n[i](s),verify:o[i](s)}}});var ea=b((iI,cd)=>{p();var uE=J("buffer").Buffer;cd.exports=function(e){return typeof e=="string"?e:typeof e=="number"||uE.isBuffer(e)?e.toString():JSON.stringify(e)}});var gd=b((aI,md)=>{p();var cE=nn().Buffer,dd=Ys(),dE=js(),fE=J("stream"),fd=ea(),ta=J("util");function pd(t,e){return cE.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function pE(t,e,n){n=n||"utf8";var o=pd(fd(t),"binary"),r=pd(fd(e),n);return ta.format("%s.%s",o,r)}function hd(t){var e=t.header,n=t.payload,o=t.secret||t.privateKey,r=t.encoding,i=dE(e.alg),s=pE(e,n,r),a=i.sign(s,o);return ta.format("%s.%s",s,a)}function cr(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 dd(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new dd(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))}ta.inherits(cr,fE);cr.prototype.sign=function(){try{var e=hd({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")}};cr.sign=hd;md.exports=cr});var Id=b((uI,wd)=>{p();var Ed=nn().Buffer,yd=Ys(),hE=js(),mE=J("stream"),Td=ea(),gE=J("util"),yE=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function EE(t){return Object.prototype.toString.call(t)==="[object Object]"}function TE(t){if(EE(t))return t;try{return JSON.parse(t)}catch{return}}function _d(t){var e=t.split(".",1)[0];return TE(Ed.from(e,"base64").toString("binary"))}function _E(t){return t.split(".",2).join(".")}function Cd(t){return t.split(".")[2]}function CE(t,e){e=e||"utf8";var n=t.split(".")[1];return Ed.from(n,"base64").toString(e)}function Ad(t){return yE.test(t)&&!!_d(t)}function vd(t,e,n){if(!e){var o=new Error("Missing algorithm parameter for jws.verify");throw o.code="MISSING_ALGORITHM",o}t=Td(t);var r=Cd(t),i=_E(t),s=hE(e);return s.verify(i,r,n)}function Sd(t,e){if(e=e||{},t=Td(t),!Ad(t))return null;var n=_d(t);if(!n)return null;var o=CE(t);return(n.typ==="JWT"||e.json)&&(o=JSON.parse(o,e.encoding)),{header:n,payload:o,signature:Cd(t)}}function ln(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 yd(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new yd(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))}gE.inherits(ln,mE);ln.prototype.verify=function(){try{var e=vd(this.signature.buffer,this.algorithm,this.key.buffer),n=Sd(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(o){this.readable=!1,this.emit("error",o),this.emit("close")}};ln.decode=Sd;ln.isValid=Ad;ln.verify=vd;wd.exports=ln});var na=b(wt=>{p();var Rd=gd(),dr=Id(),AE=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];wt.ALGORITHMS=AE;wt.sign=Rd.sign;wt.verify=dr.verify;wt.decode=dr.decode;wt.isValid=dr.isValid;wt.createSign=function(e){return new Rd(e)};wt.createVerify=function(e){return new dr(e)}});var Md=b(fr=>{"use strict";p();Object.defineProperty(fr,"__esModule",{value:!0});fr.buildPayloadForJwsSign=Pd;fr.getJwsSign=IE;var vE=na(),SE="RS256",wE="https://oauth2.googleapis.com/token";function Pd(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:wE,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function IE(t){let e=Pd(t);return(0,vE.sign)({header:{alg:SE},payload:e,secret:t.key})}});var kd=b(oa=>{"use strict";p();Object.defineProperty(oa,"__esModule",{value:!0});oa.getToken=NE;var RE=Md(),PE="https://oauth2.googleapis.com/token",ME="urn:ietf:params:oauth:grant-type:jwt-bearer",kE=t=>({method:"POST",url:PE,data:new URLSearchParams({grant_type:ME,assertion:(0,RE.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function NE(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=kE(t);return(await t.transporter.request(e)).data}catch(e){let n=e,o=n.response?.data;throw o?.error&&(n.message=`${o.error}: ${o.error_description}`),n}}});var Nd=b(pr=>{"use strict";p();Object.defineProperty(pr,"__esModule",{value:!0});pr.ErrorWithCode=void 0;var ra=class extends Error{code;constructor(e,n){super(e),this.code=n}};pr.ErrorWithCode=ra});var ca=b(ua=>{"use strict";p();Object.defineProperty(ua,"__esModule",{value:!0});ua.getCredentials=bE;var xE=J("path"),xd=J("fs"),DE=J("util"),hr=Nd(),Dd=xd.readFile?(0,DE.promisify)(xd.readFile):async()=>{throw new hr.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},It;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(It||(It={}));var ia=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await Dd(this.keyFilePath,"utf8"),n;try{n=JSON.parse(e)}catch(i){let s=i;throw new Error(`Invalid JSON key file: ${s.message}`)}let o=n.private_key,r=n.client_email;if(!o||!r)throw new hr.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:o,clientEmail:r}}},sa=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await Dd(this.keyFilePath,"utf8")}}},aa=class{async getCredentials(){throw new hr.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")}},la=class{static create(e){switch(xE.extname(e)){case It.JSON:return new ia(e);case It.DER:case It.CRT:case It.PEM:return new sa(e);case It.P12:case It.PFX:return new aa;default:throw new hr.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function bE(t){return la.create(t).getCredentials()}});var bd=b(mr=>{"use strict";p();Object.defineProperty(mr,"__esModule",{value:!0});mr.TokenHandler=void 0;var OE=kd(),UE=ca(),da=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,UE.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,OE.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}}};mr.TokenHandler=da});var Od=b(fa=>{"use strict";p();Object.defineProperty(fa,"__esModule",{value:!0});fa.revokeToken=FE;var LE="https://oauth2.googleapis.com/revoke?token=",GE=!0;async function FE(t,e){let n=LE+t;return await e.request({url:n,retry:GE})}});var ha=b(gr=>{"use strict";p();Object.defineProperty(gr,"__esModule",{value:!0});gr.GoogleToken=void 0;var qE=ye(),Ud=bd(),BE=Od(),pa=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,qE.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 Ud.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 o;typeof e=="function"?o=e:typeof e=="object"&&(n=e);let r=this.tokenHandler.getToken(n.forceRefresh??!1);return o&&r.then(i=>o(null,i),o),r}revokeToken(e){if(!this.accessToken)return Promise.reject(new Error("No token to revoke."));let n=(0,BE.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new Ud.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};gr.GoogleToken=pa});var ga=b(yr=>{"use strict";p();Object.defineProperty(yr,"__esModule",{value:!0});yr.JWTAccess=void 0;var VE=na(),HE=Qe(),Ld={alg:"RS256",typ:"JWT"},ma=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new HE.LRUCache({capacity:500,maxAge:60*60*1e3});constructor(e,n,o,r){this.email=e,this.key=n,this.keyId=o,this.eagerRefreshThresholdMillis=r??5*60*1e3}getCachedKey(e,n){let o=e;if(n&&Array.isArray(n)&&n.length?o=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(o=e?`${e}_${n}`:n),!o)throw Error("Scopes or url must be provided");return o}getRequestHeaders(e,n,o){let r=this.getCachedKey(e,o),i=this.cache.get(r),s=Date.now();if(i&&i.expiration-s>this.eagerRefreshThresholdMillis)return new Headers(i.headers);let a=Math.floor(Date.now()/1e3),l=t.getExpirationTime(a),u;if(Array.isArray(o)&&(o=o.join(" ")),o?u={iss:this.email,sub:this.email,scope:o,exp:l,iat:a}:u={iss:this.email,sub:this.email,aud:e,exp:l,iat:a},n){for(let S in u)if(n[S])throw new Error(`The '${S}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let c=this.keyId?{...Ld,kid:this.keyId}:Ld,f=Object.assign(u,n),h=VE.sign({header:c,payload:f,secret:this.key}),y=new Headers({authorization:`Bearer ${h}`});return this.cache.set(r,{expiration:l*1e3,headers:y}),y}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,o)=>{e||o(new Error("Must pass in a stream containing the service account auth settings."));let r="";e.setEncoding("utf8").on("data",i=>r+=i).on("error",o).on("end",()=>{try{let i=JSON.parse(r);this.fromJSON(i),n()}catch(i){o(i)}})})}};yr.JWTAccess=ma});var Ea=b(Tr=>{"use strict";p();Object.defineProperty(Tr,"__esModule",{value:!0});Tr.JWT=void 0;var Gd=ha(),$E=ca(),KE=ga(),JE=Bt(),Er=Ne(),ya=class t extends JE.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!==Er.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Er.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Er.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:o}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${o.id_token}`}))}}else{this.access||(this.access=new KE.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let o;this.hasUserScopes()?o=this.scopes:e||(o=this.defaultScopes);let r=this.useJWTAccessWithScope||this.universeDomain!==Er.DEFAULT_UNIVERSE,i=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,r?o:void 0);return{headers:this.addSharedMetadataHeaders(i)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new Gd.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(),o={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",o),{res:null,tokens:o}}createGToken(){return this.gtoken||(this.gtoken=new Gd.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,o)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let r="";e.setEncoding("utf8").on("error",o).on("data",i=>r+=i).on("end",()=>{try{let i=JSON.parse(r);this.fromJSON(i),n()}catch(i){o(i)}})})}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,$E.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.")}};Tr.JWT=ya});var _a=b(un=>{"use strict";p();Object.defineProperty(un,"__esModule",{value:!0});un.UserRefreshClient=un.USER_REFRESH_ACCOUNT_TYPE=void 0;var WE=Bt(),YE=Ne();un.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Ta=class t extends WE.OAuth2Client{_refreshToken;constructor(e,n,o,r,i){let s=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:o,eagerRefreshThresholdMillis:r,forceRefreshOnFailure:i};super(s),this._refreshToken=s.refreshToken,this.credentials.refresh_token=s.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 YE.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,o)=>{if(!e)return o(new Error("Must pass in a stream containing the user refresh token."));let r="";e.setEncoding("utf8").on("error",o).on("data",i=>r+=i).on("end",()=>{try{let i=JSON.parse(r);return this.fromJSON(i),n()}catch(i){return o(i)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};un.UserRefreshClient=Ta});var Aa=b(cn=>{"use strict";p();Object.defineProperty(cn,"__esModule",{value:!0});cn.Impersonated=cn.IMPERSONATED_ACCOUNT_TYPE=void 0;var Fd=Bt(),zE=ye(),XE=Qe();cn.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Ca=class t extends Fd.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 Fd.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,XE.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}`,o=`${this.endpoint}/v1/${n}:signBlob`,r={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:r,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`,o={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},r=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"}),i=r.data;return this.credentials.access_token=i.accessToken,this.credentials.expiry_date=Date.parse(i.expireTime),{tokens:this.credentials,res:r}}catch(e){if(!(e instanceof Error))throw e;let n=0,o="";throw e instanceof zE.GaxiosError&&(n=e?.response?.data?.error?.status,o=e?.response?.data?.error?.message),n&&o?(e.message=`${n}: unable to impersonate: ${o}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let o=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${o}:generateIdToken`,i={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:i,method:"POST"})).data.token}};cn.Impersonated=Ca});var Sa=b(eo=>{"use strict";p();Object.defineProperty(eo,"__esModule",{value:!0});eo.OAuthClientAuthHandler=void 0;eo.getErrorFromOAuthErrorResponse=jE;var dn=ye(),QE=Yn(),ZE=["PUT","POST","PATCH"],va=class{#e=(0,QE.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new dn.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new dn.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=dn.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=dn.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=dn.Gaxios.mergeHeaders(e.headers);let o=this.#t.clientId,r=this.#t.clientSecret||"",i=this.#e.encodeBase64StringUtf8(`${o}:${r}`);dn.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${i}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!ZE.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let r=new Headers(e.headers).get("content-type");if(r?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let i=new URLSearchParams(e.data??"");i.append("client_id",this.#t.clientId),i.append("client_secret",this.#t.clientSecret||""),e.data=i}else if(r?.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(`${r} 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"]}}}};eo.OAuthClientAuthHandler=va;function jE(t,e){let n=t.error,o=t.error_description,r=t.error_uri,i=`Error code ${n}`;typeof o<"u"&&(i+=`: ${o}`),typeof r<"u"&&(i+=` - ${r}`);let s=new Error(i);if(e){let a=Object.keys(e);e.stack&&a.push("stack"),a.forEach(l=>{l!=="message"&&Object.defineProperty(s,l,{value:e[l],writable:!1,enumerable:!0})})}return s}});var Cr=b(_r=>{"use strict";p();Object.defineProperty(_r,"__esModule",{value:!0});_r.StsCredentials=void 0;var eT=ye(),tT=Ne(),qd=Sa(),nT=Qe(),wa=class t extends qd.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,o){let r={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:o&&JSON.stringify(o)},i={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,nT.removeUndefinedValuesInObject)(r)),responseType:"json"};tT.AuthClient.setMethodName(i,"exchangeToken"),this.applyClientAuthenticationOptions(i);try{let s=await this.transporter.request(i),a=s.data;return a.res=s,a}catch(s){throw s instanceof eT.GaxiosError&&s.response?(0,qd.getErrorFromOAuthErrorResponse)(s.response.data,s):s}}};_r.StsCredentials=wa});var Rt=b(He=>{"use strict";p();Object.defineProperty(He,"__esModule",{value:!0});He.BaseExternalAccountClient=He.CLOUD_RESOURCE_MANAGER=He.EXTERNAL_ACCOUNT_TYPE=He.EXPIRATION_TIME_OFFSET=void 0;var oT=ye(),rT=J("stream"),Ia=Ne(),iT=Cr(),Bd=Qe(),sT=Os(),aT="urn:ietf:params:oauth:grant-type:token-exchange",lT="urn:ietf:params:oauth:token-type:access_token",Ra="https://www.googleapis.com/auth/cloud-platform",uT=3600;He.EXPIRATION_TIME_OFFSET=5*60*1e3;He.EXTERNAL_ACCOUNT_TYPE="external_account";He.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var cT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",dT="https://sts.{universeDomain}/v1/token",Pa=class t extends Ia.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,Bd.originalOrCamelOptions)(e),o=n.get("type");if(o&&o!==He.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${He.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let r=n.get("client_id"),i=n.get("client_secret");this.tokenUrl=n.get("token_url")??dT.replace("{universeDomain}",this.universeDomain);let s=n.get("subject_token_type"),a=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),u=n.get("service_account_impersonation"),c=(0,Bd.originalOrCamelOptions)(u).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),r&&(this.clientAuth={confidentialClientType:"basic",clientId:r,clientSecret:i}),this.stsCredential=new iT.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Ra],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=s,this.workforcePoolUserProject=a;let f=new RegExp(cT);if(this.workforcePoolUserProject&&!this.audience.match(f))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=c,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=uT),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(o=>n(null,o),o=>n(o,o.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(),o={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`,responseType:"json"};Ia.AuthClient.setMethodName(o,"getProjectId");let r=await this.transporter.request(o);return this.projectId=r.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let o;try{let r=await this.getRequestHeaders();e.headers=oT.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),o=await this.transporter.request(e)}catch(r){let i=r.response;if(i){let s=i.status,a=i.config.data instanceof rT.Readable;if(!n&&(s===401||s===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return o}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:aT,audience:this.audience,requestedTokenType:lT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Ra]:this.getScopesArray()},o=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,r=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),i=await this.stsCredential.exchangeToken(n,r,o);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(i.access_token):i.expires_in?this.cachedAccessToken={access_token:i.access_token,expiry_date:new Date().getTime()+i.expires_in*1e3,res:i.res}:this.cachedAccessToken={access_token:i.access_token,res:i.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"};Ia.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let o=await this.transporter.request(n),r=o.data;return{access_token:r.accessToken,expiry_date:new Date(r.expireTime).getTime(),res:o}}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||[Ra]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,o=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${sT.pkg.version} google-byoid-sdk source/${o} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};He.BaseExternalAccountClient=Pa});var Vd=b(Ar=>{"use strict";p();Object.defineProperty(Ar,"__esModule",{value:!0});Ar.FileSubjectTokenSupplier=void 0;var ka=J("util"),Na=J("fs"),fT=(0,ka.promisify)(Na.readFile??(()=>{})),pT=(0,ka.promisify)(Na.realpath??(()=>{})),hT=(0,ka.promisify)(Na.lstat??(()=>{})),Ma=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 pT(e),!(await hT(e)).isFile())throw new Error}catch(r){throw r instanceof Error&&(r.message=`The file at ${e} does not exist, or it is not a file. ${r.message}`),r}let n,o=await fT(e,{encoding:"utf8"});if(this.formatType==="text"?n=o:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(o)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};Ar.FileSubjectTokenSupplier=Ma});var Hd=b(vr=>{"use strict";p();Object.defineProperty(vr,"__esModule",{value:!0});vr.UrlSubjectTokenSupplier=void 0;var mT=Ne(),xa=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};mT.AuthClient.setMethodName(n,"getSubjectToken");let o;if(this.formatType==="text"?o=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(o=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!o)throw new Error("Unable to parse the subject_token from the credential_source URL");return o}};vr.UrlSubjectTokenSupplier=xa});var $d=b(xe=>{"use strict";p();Object.defineProperty(xe,"__esModule",{value:!0});xe.CertificateSubjectTokenSupplier=xe.InvalidConfigurationError=xe.CertificateSourceUnavailableError=xe.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Sr=Qe(),wr=J("fs"),Ir=J("crypto"),gT=J("https");xe.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var lt=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};xe.CertificateSourceUnavailableError=lt;var $e=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};xe.InvalidConfigurationError=$e;var Da=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new $e("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new $e("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new $e("Cannot create mTLS Agent with missing certificate or key");return new gT.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.#o(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Sr.isValidFile)(e))return e;throw new lt(`Provided certificate config path is invalid: ${e}`)}let n=process.env[xe.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Sr.isValidFile)(n))return n;throw new lt(`Path from environment variable "${xe.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let o=(0,Sr.getWellKnownCertificateConfigFileLocation)();if(await(0,Sr.isValidFile)(o))return o;throw new lt(`Could not find certificate configuration file. Searched override path, the "${xe.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${o}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await wr.promises.readFile(e,"utf8")}catch{throw new lt(`Failed to read certificate config file at: ${e}`)}try{let o=JSON.parse(n),r=o?.cert_configs?.workload?.cert_path,i=o?.cert_configs?.workload?.key_path;if(!r||!i)throw new $e(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:r,keyPath:i}}catch(o){throw o instanceof $e?o:new $e(`Failed to parse certificate config from ${e}: ${o.message}`)}}async#n(e,n){let o,r;try{o=await wr.promises.readFile(e),new Ir.X509Certificate(o)}catch(i){let s=i instanceof Error?i.message:String(i);throw new lt(`Failed to read certificate file at ${e}: ${s}`)}try{r=await wr.promises.readFile(n),(0,Ir.createPrivateKey)(r)}catch(i){let s=i instanceof Error?i.message:String(i);throw new lt(`Failed to read private key file at ${n}: ${s}`)}return{cert:o,key:r}}async#o(e){let n=new Ir.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let i=((await wr.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,u)=>{try{return new Ir.X509Certificate(l)}catch(c){let f=c instanceof Error?c.message:String(c);throw new $e(`Failed to parse certificate at index ${u} in trust chain file ${this.trustChainPath}: ${f}`)}}),s=i.findIndex(l=>n.raw.equals(l.raw)),a;if(s===-1)a=[n,...i];else if(s===0)a=i;else throw new $e(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${s}).`);return JSON.stringify(a.map(l=>l.raw.toString("base64")))}catch(o){if(o instanceof $e)throw o;let r=o instanceof Error?o.message:String(o);throw new lt(`Failed to process certificate chain from ${this.trustChainPath}: ${r}`)}}};xe.CertificateSubjectTokenSupplier=Da});var Ua=b(Rr=>{"use strict";p();Object.defineProperty(Rr,"__esModule",{value:!0});Rr.IdentityPoolClient=void 0;var yT=Rt(),ba=Qe(),ET=Vd(),TT=Hd(),Kd=$d(),_T=Cr(),Jd=ye(),Oa=class t extends yT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,ba.originalOrCamelOptions)(e),o=n.get("credential_source"),r=n.get("subject_token_supplier");if(!o&&!r)throw new Error("A credential source or subject token supplier must be specified.");if(o&&r)throw new Error("Only one of credential source or subject token supplier can be specified.");if(r)this.subjectTokenSupplier=r,this.credentialSourceType="programmatic";else{let i=(0,ba.originalOrCamelOptions)(o),s=(0,ba.originalOrCamelOptions)(i.get("format")),a=s.get("type")||"text",l=s.get("subject_token_field_name");if(a!=="json"&&a!=="text")throw new Error(`Invalid credential_source format "${a}"`);if(a==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let u=i.get("file"),c=i.get("url"),f=i.get("certificate"),h=i.get("headers");if(u&&c||c&&f||u&&f)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(u)this.credentialSourceType="file",this.subjectTokenSupplier=new ET.FileSubjectTokenSupplier({filePath:u,formatType:a,subjectTokenFieldName:l});else if(c)this.credentialSourceType="url",this.subjectTokenSupplier=new TT.UrlSubjectTokenSupplier({url:c,formatType:a,subjectTokenFieldName:l,headers:h,additionalGaxiosOptions:t.RETRY_CONFIG});else if(f){this.credentialSourceType="certificate";let y=new Kd.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:f.use_default_certificate_config,certificateConfigLocation:f.certificate_config_location,trustChainPath:f.trust_chain_path});this.subjectTokenSupplier=y}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 Kd.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new _T.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Jd.Gaxios({agent:n})}),this.transporter=new Jd.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};Rr.IdentityPoolClient=Oa});var Ga=b(Mr=>{"use strict";p();Object.defineProperty(Mr,"__esModule",{value:!0});Mr.AwsRequestSigner=void 0;var Pr=ye(),Yd=Yn(),Wd="AWS4-HMAC-SHA256",CT="aws4_request",La=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,Yd.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,o=e.url,r=e.method||"GET",i=e.body||n,s=e.headers,a=await this.getCredentials(),l=new URL(o);if(typeof i!="string"&&i!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${i}`);let u=await vT({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:r,region:this.region,securityCredentials:a,requestPayload:i,additionalAmzHeaders:s}),c=Pr.Gaxios.mergeHeaders(u.amzDate?{"x-amz-date":u.amzDate}:{},{authorization:u.authorizationHeader,host:l.host},s||{});a.token&&Pr.Gaxios.mergeHeaders(c,{"x-amz-security-token":a.token});let f={url:o,method:r,headers:c};return i!==void 0&&(f.body=i),f}};Mr.AwsRequestSigner=La;async function to(t,e,n){return await t.signWithHmacSha256(e,n)}async function AT(t,e,n,o,r){let i=await to(t,`AWS4${e}`,n),s=await to(t,i,o),a=await to(t,s,r);return await to(t,a,"aws4_request")}async function vT(t){let e=Pr.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",o=t.host.split(".")[0],r=new Date,i=r.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),s=r.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let a=Pr.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":i},e),l="",u=[...a.keys()].sort();u.forEach(O=>{l+=`${O}:${a.get(O)}
|
|
18
|
+
`});let c=u.join(";"),f=await t.crypto.sha256DigestHex(n),h=`${t.method.toUpperCase()}
|
|
19
|
+
${t.canonicalUri}
|
|
20
|
+
${t.canonicalQuerystring}
|
|
21
|
+
${l}
|
|
22
|
+
${c}
|
|
23
|
+
${f}`,y=`${s}/${t.region}/${o}/${CT}`,S=`${Wd}
|
|
24
|
+
${i}
|
|
25
|
+
${y}
|
|
26
|
+
`+await t.crypto.sha256DigestHex(h),A=await AT(t.crypto,t.securityCredentials.secretAccessKey,s,t.region,o),T=await to(t.crypto,A,S),R=`${Wd} Credential=${t.securityCredentials.accessKeyId}/${y}, SignedHeaders=${c}, Signature=${(0,Yd.fromArrayBufferToHex)(T)}`;return{amzDate:e.has("date")?void 0:i,authorizationHeader:R,canonicalQuerystring:t.canonicalQuerystring}}});var zd=b(Nr=>{"use strict";p();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.DefaultAwsSecurityCredentialsSupplier=void 0;var kr=Ne(),Fa=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.#o)return this.#o;let n=new Headers;if(!this.#o&&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 o={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:n};kr.AuthClient.setMethodName(o,"getAwsRegion");let r=await e.transporter.request(o);return r.data.substr(0,r.data.length-1)}async getAwsSecurityCredentials(e){if(this.#r)return this.#r;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let o=await this.#t(n,e.transporter),r=await this.#n(o,n,e.transporter);return{accessKeyId:r.AccessKeyId,secretAccessKey:r.SecretAccessKey,token:r.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 kr.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 o={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};return kr.AuthClient.setMethodName(o,"#getAwsRoleName"),(await n.request(o)).data}async#n(e,n,o){let r={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n,responseType:"json"};return kr.AuthClient.setMethodName(r,"#retrieveAwsSecurityCredentials"),(await o.request(r)).data}get#o(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#r(){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}};Nr.DefaultAwsSecurityCredentialsSupplier=Fa});var Ba=b(xr=>{"use strict";p();Object.defineProperty(xr,"__esModule",{value:!0});xr.AwsClient=void 0;var ST=Ga(),wT=Rt(),IT=zd(),Xd=Qe(),RT=ye(),qa=class t extends wT.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,Xd.originalOrCamelOptions)(e),o=n.get("credential_source"),r=n.get("aws_security_credentials_supplier");if(!o&&!r)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(o&&r)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(r)this.awsSecurityCredentialsSupplier=r,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let i=(0,Xd.originalOrCamelOptions)(o);this.environmentId=i.get("environment_id");let s=i.get("region_url"),a=i.get("url"),l=i.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new IT.DefaultAwsSecurityCredentialsSupplier({regionUrl:s,securityCredentialsUrl:a,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=i.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 ST.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 RT.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((r,i)=>n.push({key:i,value:r})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};xr.AwsClient=qa});var Ja=b(fe=>{"use strict";p();Object.defineProperty(fe,"__esModule",{value:!0});fe.InvalidSubjectTokenError=fe.InvalidMessageFieldError=fe.InvalidCodeFieldError=fe.InvalidTokenTypeFieldError=fe.InvalidExpirationTimeFieldError=fe.InvalidSuccessFieldError=fe.InvalidVersionFieldError=fe.ExecutableResponseError=fe.ExecutableResponse=void 0;var Dr="urn:ietf:params:oauth:token-type:saml2",Va="urn:ietf:params:oauth:token-type:id_token",Ha="urn:ietf:params:oauth:token-type:jwt",$a=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new br("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Or("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!==Dr&&this.tokenType!==Va&&this.tokenType!==Ha)throw new Ur(`Executable response must contain a 'token_type' field when successful and it must be one of ${Va}, ${Ha}, or ${Dr}.`);if(this.tokenType===Dr){if(!e.saml_response)throw new no(`Executable response must contain a 'saml_response' field when token_type=${Dr}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new no(`Executable response must contain a 'id_token' field when token_type=${Va} or ${Ha}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Lr("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Gr("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)}};fe.ExecutableResponse=$a;var ut=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};fe.ExecutableResponseError=ut;var br=class extends ut{};fe.InvalidVersionFieldError=br;var Or=class extends ut{};fe.InvalidSuccessFieldError=Or;var Ka=class extends ut{};fe.InvalidExpirationTimeFieldError=Ka;var Ur=class extends ut{};fe.InvalidTokenTypeFieldError=Ur;var Lr=class extends ut{};fe.InvalidCodeFieldError=Lr;var Gr=class extends ut{};fe.InvalidMessageFieldError=Gr;var no=class extends ut{};fe.InvalidSubjectTokenError=no});var za=b(fn=>{"use strict";p();Object.defineProperty(fn,"__esModule",{value:!0});fn.PluggableAuthHandler=fn.ExecutableError=void 0;var Vt=Ja(),PT=J("child_process"),Wa=J("fs"),Fr=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)}};fn.ExecutableError=Fr;var Ya=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,o)=>{let r=PT.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),i="";r.stdout.on("data",a=>{i+=a}),r.stderr.on("data",a=>{i+=a});let s=setTimeout(()=>(r.removeAllListeners(),r.kill(),o(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);r.on("close",a=>{if(clearTimeout(s),a===0)try{let l=JSON.parse(i),u=new Vt.ExecutableResponse(l);return n(u)}catch(l){return l instanceof Vt.ExecutableResponseError?o(l):o(new Vt.ExecutableResponseError(`The executable returned an invalid response: ${i}`))}else return o(new Fr(i,a.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Wa.promises.realpath(this.outputFile)}catch{return}if(!(await Wa.promises.lstat(e)).isFile())return;let n=await Wa.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let o=JSON.parse(n);return new Vt.ExecutableResponse(o).isValid()?new Vt.ExecutableResponse(o):void 0}catch(o){throw o instanceof Vt.ExecutableResponseError?o:new Vt.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 o=0;o<n.length;o++)n[o][0]==='"'&&n[o].slice(-1)==='"'&&(n[o]=n[o].slice(1,-1));return n}};fn.PluggableAuthHandler=Ya});var Qa=b(pn=>{"use strict";p();Object.defineProperty(pn,"__esModule",{value:!0});pn.PluggableAuthClient=pn.ExecutableError=void 0;var MT=Rt(),kT=Ja(),Qd=za(),NT=za();Object.defineProperty(pn,"ExecutableError",{enumerable:!0,get:function(){return NT.ExecutableError}});var xT=30*1e3,Zd=5*1e3,jd=120*1e3,DT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",ef=1,Xa=class extends MT.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=xT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Zd||this.timeoutMillis>jd)throw new Error(`Timeout must be between ${Zd} and ${jd} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new Qd.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[DT]!=="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 o=this.getServiceAccountEmail();o&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",o),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>ef)throw new Error(`Version of executable is not currently supported, maximum supported version is ${ef}.`);if(!e.success)throw new Qd.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new kT.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}};pn.PluggableAuthClient=Xa});var ja=b(qr=>{"use strict";p();Object.defineProperty(qr,"__esModule",{value:!0});qr.ExternalAccountClient=void 0;var bT=Rt(),OT=Ua(),UT=Ba(),LT=Qa(),Za=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===bT.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new UT.AwsClient(e):e.credential_source?.executable?new LT.PluggableAuthClient(e):new OT.IdentityPoolClient(e):null}};qr.ExternalAccountClient=Za});var nl=b(hn=>{"use strict";p();Object.defineProperty(hn,"__esModule",{value:!0});hn.ExternalAccountAuthorizedUserClient=hn.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var nf=Ne(),tf=Sa(),of=ye(),GT=J("stream"),FT=Rt();hn.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var qT="https://sts.{universeDomain}/v1/oauthtoken",el=class t extends tf.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let o={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e}),responseType:"json"};nf.AuthClient.setMethodName(o,"refreshToken"),this.applyClientAuthenticationOptions(o);try{let r=await this.transporter.request(o),i=r.data;return i.res=r,i}catch(r){throw r instanceof of.GaxiosError&&r.response?(0,tf.getErrorFromOAuthErrorResponse)(r.response.data,r):r}}},tl=class extends nf.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 el({tokenRefreshEndpoint:e.token_url??qT.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=FT.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(o=>n(null,o),o=>n(o,o.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let o;try{let r=await this.getRequestHeaders();e.headers=of.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),o=await this.transporter.request(e)}catch(r){let i=r.response;if(i){let s=i.status,a=i.config.data instanceof GT.Readable;if(!n&&(s===401||s===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return o}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}};hn.ExternalAccountAuthorizedUserClient=tl});var lf=b(et=>{"use strict";p();Object.defineProperty(et,"__esModule",{value:!0});et.GoogleAuth=et.GoogleAuthExceptionMessages=void 0;var BT=J("child_process"),oo=J("fs"),VT=ye(),ro=Wn(),HT=J("os"),ol=J("path"),$T=Yn(),KT=$s(),JT=Js(),WT=Ws(),mn=Ea(),rf=_a(),gn=Aa(),YT=ja(),io=Rt(),rl=Ne(),sf=nl(),af=Qe();et.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.
|
|
27
|
+
To learn more about authentication and Google APIs, visit:
|
|
28
|
+
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
29
|
+
To learn more about authentication and Google APIs, visit:
|
|
30
|
+
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.
|
|
31
|
+
To learn more about Universe Domain retrieval, visit:
|
|
32
|
+
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var il=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(et.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===et.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(et.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 ro.universe("universe-domain"),e||=rl.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=rl.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,af.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=rl.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let o;if(typeof e=="function"?n=e:o=e,n)this.getApplicationDefaultAsync(o).then(r=>n(null,r.credential,r.projectId),n);else return this.getApplicationDefaultAsync(o)}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 mn.JWT?n.scopes=this.scopes:n instanceof io.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof mn.JWT?n.scopes=this.scopes:n instanceof io.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new KT.Compute(e));throw new Error(et.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let o=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:o}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ro.getGCPResidency()||await ro.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 this._getApplicationCredentialsFromFilePath(n,e)}catch(o){throw o instanceof Error&&(o.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${o.message}`),o}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let r=process.env.HOME;r&&(n=ol.join(r,".config"))}return n&&(n=ol.join(n,"gcloud","application_default_credentials.json"),oo.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=oo.realpathSync(e),!oo.lstatSync(e).isFile())throw new Error}catch(r){throw r instanceof Error&&(r.message=`The file at ${e} does not exist, or it is not a file. ${r.message}`),r}let o=oo.createReadStream(e);return this.fromStream(o,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==gn.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${gn.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 o=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!o)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let r=(this.scopes||e.scopes||this.defaultScopes)??[];return new gn.Impersonated({...e,sourceClient:n,targetPrincipal:o,targetScopes:Array.isArray(r)?r:[r]})}fromJSON(e,n={}){let o,r=(0,af.originalOrCamelOptions)(n).get("universe_domain");return e.type===rf.USER_REFRESH_ACCOUNT_TYPE?(o=new rf.UserRefreshClient(n),o.fromJSON(e)):e.type===gn.IMPERSONATED_ACCOUNT_TYPE?o=this.fromImpersonatedJSON(e):e.type===io.EXTERNAL_ACCOUNT_TYPE?(o=YT.ExternalAccountClient.fromJSON({...e,...n}),o.scopes=this.getAnyScopes()):e.type===sf.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?o=new sf.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,o=new mn.JWT(n),this.setGapicJWTValues(o),o.fromJSON(e)),r&&(o.universeDomain=r),o}_cacheClientFromJSON(e,n){let o=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=o,o}fromStream(e,n={},o){let r={};if(typeof n=="function"?o=n:r=n,o)this.fromStreamAsync(e,r).then(i=>o(null,i),o);else return this.fromStreamAsync(e,r)}fromStreamAsync(e,n){return new Promise((o,r)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let i=[];e.setEncoding("utf8").on("error",r).on("data",s=>i.push(s)).on("end",()=>{try{try{let s=JSON.parse(i.join("")),a=this._cacheClientFromJSON(s,n);return o(a)}catch(s){if(!this.keyFilename)throw s;let a=new mn.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),o(a)}}catch(s){return r(s)}})})}fromAPIKey(e,n={}){return new mn.JWT({...n,apiKey:e})}_isWindows(){let e=HT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,BT.exec)("gcloud config config-helper --format json",(n,o)=>{if(!n&&o)try{let r=JSON.parse(o).configuration.properties.core.project;e(r);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!==io.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ro.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 gn.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof io.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,o]=await Promise.all([ro.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:o}}throw new Error(et.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=ol.resolve(this.keyFilename),n=oo.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 JT.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,r=await(await this.getClient()).getRequestHeaders(n);return e.headers=VT.Gaxios.mergeHeaders(e.headers,r),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,WT.getEnv)()}async sign(e,n){let o=await this.getClient(),r=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${r}/v1/projects/-/serviceAccounts/`,o instanceof gn.Impersonated)return(await o.sign(e)).signedBlob;let i=(0,$T.createCrypto)();if(o instanceof mn.JWT&&o.key)return await i.sign(o.key,e);let s=await this.getCredentials();if(!s.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(i,s.client_email,e,n)}async signBlob(e,n,o,r){let i=new URL(r+`${n}:signBlob`);return(await this.request({method:"POST",url:i.href,data:{payload:e.encodeBase64StringUtf8(o)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};et.GoogleAuth=il});var uf=b(Br=>{"use strict";p();Object.defineProperty(Br,"__esModule",{value:!0});Br.IAMAuth=void 0;var sl=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}}};Br.IAMAuth=sl});var cf=b(ct=>{"use strict";p();Object.defineProperty(ct,"__esModule",{value:!0});ct.DownscopedClient=ct.EXPIRATION_TIME_OFFSET=ct.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var zT=ye(),XT=J("stream"),al=Ne(),QT=Cr(),ZT="urn:ietf:params:oauth:grant-type:token-exchange",jT="urn:ietf:params:oauth:token-type:access_token",e_="urn:ietf:params:oauth:token-type:access_token";ct.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;ct.EXPIRATION_TIME_OFFSET=5*60*1e3;var ll=class extends al.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof al.AuthClient?{}:e),e instanceof al.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>ct.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${ct.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let o of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(o.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new QT.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(o=>n(null,o),o=>n(o,o.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let o;try{let r=await this.getRequestHeaders();e.headers=zT.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),o=await this.transporter.request(e)}catch(r){let i=r.response;if(i){let s=i.status,a=i.config.data instanceof XT.Readable;if(!n&&(s===401||s===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return o}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:ZT,requestedTokenType:jT,subjectToken:e,subjectTokenType:e_},o=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),r=this.authClient.credentials?.expiry_date||null,i=o.expires_in?new Date().getTime()+o.expires_in*1e3:r;return this.cachedDownscopedAccessToken={access_token:o.access_token,expiry_date:i,res:o.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}};ct.DownscopedClient=ll});var df=b(Vr=>{"use strict";p();Object.defineProperty(Vr,"__esModule",{value:!0});Vr.PassThroughClient=void 0;var t_=Ne(),ul=class extends t_.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Vr.PassThroughClient=ul});var gf=b(G=>{"use strict";p();var n_=G&&G.__createBinding||(Object.create?function(t,e,n,o){o===void 0&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]}),o_=G&&G.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&n_(e,t,n)};Object.defineProperty(G,"__esModule",{value:!0});G.GoogleAuth=G.auth=G.PassThroughClient=G.ExternalAccountAuthorizedUserClient=G.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=G.ExecutableError=G.PluggableAuthClient=G.DownscopedClient=G.BaseExternalAccountClient=G.ExternalAccountClient=G.IdentityPoolClient=G.AwsRequestSigner=G.AwsClient=G.UserRefreshClient=G.LoginTicket=G.ClientAuthentication=G.OAuth2Client=G.CodeChallengeMethod=G.Impersonated=G.JWT=G.JWTAccess=G.IdTokenClient=G.IAMAuth=G.GCPEnv=G.Compute=G.DEFAULT_UNIVERSE=G.AuthClient=G.gaxios=G.gcpMetadata=void 0;var ff=lf();Object.defineProperty(G,"GoogleAuth",{enumerable:!0,get:function(){return ff.GoogleAuth}});G.gcpMetadata=Wn();G.gaxios=ye();var pf=Ne();Object.defineProperty(G,"AuthClient",{enumerable:!0,get:function(){return pf.AuthClient}});Object.defineProperty(G,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return pf.DEFAULT_UNIVERSE}});var r_=$s();Object.defineProperty(G,"Compute",{enumerable:!0,get:function(){return r_.Compute}});var i_=Ws();Object.defineProperty(G,"GCPEnv",{enumerable:!0,get:function(){return i_.GCPEnv}});var s_=uf();Object.defineProperty(G,"IAMAuth",{enumerable:!0,get:function(){return s_.IAMAuth}});var a_=Js();Object.defineProperty(G,"IdTokenClient",{enumerable:!0,get:function(){return a_.IdTokenClient}});var l_=ga();Object.defineProperty(G,"JWTAccess",{enumerable:!0,get:function(){return l_.JWTAccess}});var u_=Ea();Object.defineProperty(G,"JWT",{enumerable:!0,get:function(){return u_.JWT}});var c_=Aa();Object.defineProperty(G,"Impersonated",{enumerable:!0,get:function(){return c_.Impersonated}});var cl=Bt();Object.defineProperty(G,"CodeChallengeMethod",{enumerable:!0,get:function(){return cl.CodeChallengeMethod}});Object.defineProperty(G,"OAuth2Client",{enumerable:!0,get:function(){return cl.OAuth2Client}});Object.defineProperty(G,"ClientAuthentication",{enumerable:!0,get:function(){return cl.ClientAuthentication}});var d_=qs();Object.defineProperty(G,"LoginTicket",{enumerable:!0,get:function(){return d_.LoginTicket}});var f_=_a();Object.defineProperty(G,"UserRefreshClient",{enumerable:!0,get:function(){return f_.UserRefreshClient}});var p_=Ba();Object.defineProperty(G,"AwsClient",{enumerable:!0,get:function(){return p_.AwsClient}});var h_=Ga();Object.defineProperty(G,"AwsRequestSigner",{enumerable:!0,get:function(){return h_.AwsRequestSigner}});var m_=Ua();Object.defineProperty(G,"IdentityPoolClient",{enumerable:!0,get:function(){return m_.IdentityPoolClient}});var g_=ja();Object.defineProperty(G,"ExternalAccountClient",{enumerable:!0,get:function(){return g_.ExternalAccountClient}});var y_=Rt();Object.defineProperty(G,"BaseExternalAccountClient",{enumerable:!0,get:function(){return y_.BaseExternalAccountClient}});var E_=cf();Object.defineProperty(G,"DownscopedClient",{enumerable:!0,get:function(){return E_.DownscopedClient}});var hf=Qa();Object.defineProperty(G,"PluggableAuthClient",{enumerable:!0,get:function(){return hf.PluggableAuthClient}});Object.defineProperty(G,"ExecutableError",{enumerable:!0,get:function(){return hf.ExecutableError}});var mf=nl();Object.defineProperty(G,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return mf.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(G,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return mf.ExternalAccountAuthorizedUserClient}});var T_=df();Object.defineProperty(G,"PassThroughClient",{enumerable:!0,get:function(){return T_.PassThroughClient}});o_(ha(),G);var __=new ff.GoogleAuth;G.auth=__});p();var Bp=vu(bu(),1),C_=vu(gf(),1);var yf;(function(t){t.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",t.OUTCOME_OK="OUTCOME_OK",t.OUTCOME_FAILED="OUTCOME_FAILED",t.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(yf||(yf={}));var Ef;(function(t){t.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",t.PYTHON="PYTHON"})(Ef||(Ef={}));var Tf;(function(t){t.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",t.SILENT="SILENT",t.WHEN_IDLE="WHEN_IDLE",t.INTERRUPT="INTERRUPT"})(Tf||(Tf={}));var _f;(function(t){t.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",t.STRING="STRING",t.NUMBER="NUMBER",t.INTEGER="INTEGER",t.BOOLEAN="BOOLEAN",t.ARRAY="ARRAY",t.OBJECT="OBJECT",t.NULL="NULL"})(_f||(_f={}));var Cf;(function(t){t.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",t.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER",t.ENVIRONMENT_MOBILE="ENVIRONMENT_MOBILE",t.ENVIRONMENT_DESKTOP="ENVIRONMENT_DESKTOP"})(Cf||(Cf={}));var Af;(function(t){t.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",t.NO_AUTH="NO_AUTH",t.API_KEY_AUTH="API_KEY_AUTH",t.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",t.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",t.OAUTH="OAUTH",t.OIDC_AUTH="OIDC_AUTH"})(Af||(Af={}));var vf;(function(t){t.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",t.HTTP_IN_QUERY="HTTP_IN_QUERY",t.HTTP_IN_HEADER="HTTP_IN_HEADER",t.HTTP_IN_PATH="HTTP_IN_PATH",t.HTTP_IN_BODY="HTTP_IN_BODY",t.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(vf||(vf={}));var Sf;(function(t){t.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",t.SIMPLE_SEARCH="SIMPLE_SEARCH",t.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Sf||(Sf={}));var wf;(function(t){t.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",t.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",t.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",t.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(wf||(wf={}));var If;(function(t){t.UNSPECIFIED="UNSPECIFIED",t.BLOCKING="BLOCKING",t.NON_BLOCKING="NON_BLOCKING"})(If||(If={}));var Rf;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.MODE_DYNAMIC="MODE_DYNAMIC"})(Rf||(Rf={}));var Pf;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.AUTO="AUTO",t.ANY="ANY",t.NONE="NONE",t.VALIDATED="VALIDATED"})(Pf||(Pf={}));var Mf;(function(t){t.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",t.MINIMAL="MINIMAL",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(Mf||(Mf={}));var kf;(function(t){t.DONT_ALLOW="DONT_ALLOW",t.ALLOW_ADULT="ALLOW_ADULT",t.ALLOW_ALL="ALLOW_ALL"})(kf||(kf={}));var Nf;(function(t){t.PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",t.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",t.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE"})(Nf||(Nf={}));var xf;(function(t){t.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",t.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",t.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",t.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",t.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",t.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",t.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",t.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",t.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",t.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",t.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(xf||(xf={}));var Df;(function(t){t.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",t.SEVERITY="SEVERITY",t.PROBABILITY="PROBABILITY"})(Df||(Df={}));var bf;(function(t){t.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",t.BLOCK_NONE="BLOCK_NONE",t.OFF="OFF"})(bf||(bf={}));var ie;(function(t){t.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",t.STOP="STOP",t.MAX_TOKENS="MAX_TOKENS",t.SAFETY="SAFETY",t.RECITATION="RECITATION",t.LANGUAGE="LANGUAGE",t.OTHER="OTHER",t.BLOCKLIST="BLOCKLIST",t.PROHIBITED_CONTENT="PROHIBITED_CONTENT",t.SPII="SPII",t.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",t.IMAGE_SAFETY="IMAGE_SAFETY",t.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",t.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",t.NO_IMAGE="NO_IMAGE",t.IMAGE_RECITATION="IMAGE_RECITATION",t.IMAGE_OTHER="IMAGE_OTHER"})(ie||(ie={}));var Of;(function(t){t.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",t.NEGLIGIBLE="NEGLIGIBLE",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(Of||(Of={}));var Uf;(function(t){t.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",t.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",t.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",t.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",t.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(Uf||(Uf={}));var Lf;(function(t){t.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",t.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",t.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",t.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",t.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(Lf||(Lf={}));var Gf;(function(t){t.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",t.SAFETY="SAFETY",t.OTHER="OTHER",t.BLOCKLIST="BLOCKLIST",t.PROHIBITED_CONTENT="PROHIBITED_CONTENT",t.IMAGE_SAFETY="IMAGE_SAFETY",t.MODEL_ARMOR="MODEL_ARMOR",t.JAILBREAK="JAILBREAK"})(Gf||(Gf={}));var Ff;(function(t){t.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",t.ON_DEMAND="ON_DEMAND",t.ON_DEMAND_PRIORITY="ON_DEMAND_PRIORITY",t.ON_DEMAND_FLEX="ON_DEMAND_FLEX",t.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(Ff||(Ff={}));var qf;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.AUDIO="AUDIO",t.VIDEO="VIDEO"})(qf||(qf={}));var Bf;(function(t){t.MODEL_STAGE_UNSPECIFIED="MODEL_STAGE_UNSPECIFIED",t.UNSTABLE_EXPERIMENTAL="UNSTABLE_EXPERIMENTAL",t.EXPERIMENTAL="EXPERIMENTAL",t.PREVIEW="PREVIEW",t.STABLE="STABLE",t.LEGACY="LEGACY",t.DEPRECATED="DEPRECATED",t.RETIRED="RETIRED"})(Bf||(Bf={}));var Vf;(function(t){t.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",t.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",t.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",t.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Vf||(Vf={}));var Hf;(function(t){t.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",t.TUNING_MODE_FULL="TUNING_MODE_FULL",t.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(Hf||(Hf={}));var $f;(function(t){t.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",t.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",t.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",t.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",t.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",t.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",t.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})($f||($f={}));var Kf;(function(t){t.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",t.JOB_STATE_QUEUED="JOB_STATE_QUEUED",t.JOB_STATE_PENDING="JOB_STATE_PENDING",t.JOB_STATE_RUNNING="JOB_STATE_RUNNING",t.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",t.JOB_STATE_FAILED="JOB_STATE_FAILED",t.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",t.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",t.JOB_STATE_PAUSED="JOB_STATE_PAUSED",t.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",t.JOB_STATE_UPDATING="JOB_STATE_UPDATING",t.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(Kf||(Kf={}));var Jf;(function(t){t.TUNING_JOB_STATE_UNSPECIFIED="TUNING_JOB_STATE_UNSPECIFIED",t.TUNING_JOB_STATE_WAITING_FOR_QUOTA="TUNING_JOB_STATE_WAITING_FOR_QUOTA",t.TUNING_JOB_STATE_PROCESSING_DATASET="TUNING_JOB_STATE_PROCESSING_DATASET",t.TUNING_JOB_STATE_WAITING_FOR_CAPACITY="TUNING_JOB_STATE_WAITING_FOR_CAPACITY",t.TUNING_JOB_STATE_TUNING="TUNING_JOB_STATE_TUNING",t.TUNING_JOB_STATE_POST_PROCESSING="TUNING_JOB_STATE_POST_PROCESSING"})(Jf||(Jf={}));var Wf;(function(t){t.AGGREGATION_METRIC_UNSPECIFIED="AGGREGATION_METRIC_UNSPECIFIED",t.AVERAGE="AVERAGE",t.MODE="MODE",t.STANDARD_DEVIATION="STANDARD_DEVIATION",t.VARIANCE="VARIANCE",t.MINIMUM="MINIMUM",t.MAXIMUM="MAXIMUM",t.MEDIAN="MEDIAN",t.PERCENTILE_P90="PERCENTILE_P90",t.PERCENTILE_P95="PERCENTILE_P95",t.PERCENTILE_P99="PERCENTILE_P99"})(Wf||(Wf={}));var Yf;(function(t){t.PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",t.BASELINE="BASELINE",t.CANDIDATE="CANDIDATE",t.TIE="TIE"})(Yf||(Yf={}));var zf;(function(t){t.TUNING_SPEED_UNSPECIFIED="TUNING_SPEED_UNSPECIFIED",t.REGULAR="REGULAR",t.FAST="FAST"})(zf||(zf={}));var Xf;(function(t){t.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",t.TUNING_TASK_I2V="TUNING_TASK_I2V",t.TUNING_TASK_T2V="TUNING_TASK_T2V",t.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Xf||(Xf={}));var Qf;(function(t){t.VIDEO_ORIENTATION_UNSPECIFIED="VIDEO_ORIENTATION_UNSPECIFIED",t.LANDSCAPE="LANDSCAPE",t.PORTRAIT="PORTRAIT"})(Qf||(Qf={}));var Zf;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.STATE_PENDING="STATE_PENDING",t.STATE_ACTIVE="STATE_ACTIVE",t.STATE_FAILED="STATE_FAILED"})(Zf||(Zf={}));var jf;(function(t){t.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",t.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",t.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",t.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",t.MEDIA_RESOLUTION_ULTRA_HIGH="MEDIA_RESOLUTION_ULTRA_HIGH"})(jf||(jf={}));var ep;(function(t){t.TOOL_TYPE_UNSPECIFIED="TOOL_TYPE_UNSPECIFIED",t.GOOGLE_SEARCH_WEB="GOOGLE_SEARCH_WEB",t.GOOGLE_SEARCH_IMAGE="GOOGLE_SEARCH_IMAGE",t.URL_CONTEXT="URL_CONTEXT",t.GOOGLE_MAPS="GOOGLE_MAPS",t.FILE_SEARCH="FILE_SEARCH"})(ep||(ep={}));var tp;(function(t){t.COLLECTION="COLLECTION"})(tp||(tp={}));var np;(function(t){t.UNSPECIFIED="unspecified",t.FLEX="flex",t.STANDARD="standard",t.PRIORITY="priority"})(np||(np={}));var op;(function(t){t.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",t.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",t.BALANCED="BALANCED",t.PRIORITIZE_COST="PRIORITIZE_COST"})(op||(op={}));var rp;(function(t){t.PREDICT="PREDICT",t.EMBED_CONTENT="EMBED_CONTENT"})(rp||(rp={}));var ip;(function(t){t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",t.BLOCK_NONE="BLOCK_NONE"})(ip||(ip={}));var sp;(function(t){t.auto="auto",t.en="en",t.ja="ja",t.ko="ko",t.hi="hi",t.zh="zh",t.pt="pt",t.es="es"})(sp||(sp={}));var ap;(function(t){t.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",t.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",t.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",t.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",t.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(ap||(ap={}));var lp;(function(t){t.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",t.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",t.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",t.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(lp||(lp={}));var up;(function(t){t.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",t.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",t.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",t.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(up||(up={}));var cp;(function(t){t.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",t.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",t.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",t.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",t.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",t.EDIT_MODE_STYLE="EDIT_MODE_STYLE",t.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",t.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(cp||(cp={}));var dp;(function(t){t.FOREGROUND="FOREGROUND",t.BACKGROUND="BACKGROUND",t.PROMPT="PROMPT",t.SEMANTIC="SEMANTIC",t.INTERACTIVE="INTERACTIVE"})(dp||(dp={}));var fp;(function(t){t.ASSET="ASSET",t.STYLE="STYLE"})(fp||(fp={}));var pp;(function(t){t.INSERT="INSERT",t.REMOVE="REMOVE",t.REMOVE_STATIC="REMOVE_STATIC",t.OUTPAINT="OUTPAINT"})(pp||(pp={}));var hp;(function(t){t.OPTIMIZED="OPTIMIZED",t.LOSSLESS="LOSSLESS"})(hp||(hp={}));var mp;(function(t){t.CROP="CROP",t.PAD="PAD"})(mp||(mp={}));var gp;(function(t){t.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",t.PREFERENCE_TUNING="PREFERENCE_TUNING",t.DISTILLATION="DISTILLATION"})(gp||(gp={}));var yp;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.PROCESSING="PROCESSING",t.ACTIVE="ACTIVE",t.FAILED="FAILED"})(yp||(yp={}));var Ep;(function(t){t.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",t.UPLOADED="UPLOADED",t.GENERATED="GENERATED",t.REGISTERED="REGISTERED"})(Ep||(Ep={}));var Tp;(function(t){t.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",t.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",t.RESPONSE_REJECTED="RESPONSE_REJECTED",t.NEED_MORE_INPUT="NEED_MORE_INPUT",t.PROHIBITED_INPUT_CONTENT="PROHIBITED_INPUT_CONTENT",t.IMAGE_PROHIBITED_INPUT_CONTENT="IMAGE_PROHIBITED_INPUT_CONTENT",t.INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED="INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED",t.INPUT_IMAGE_CELEBRITY="INPUT_IMAGE_CELEBRITY",t.INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED="INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED",t.INPUT_TEXT_NCII_PROHIBITED="INPUT_TEXT_NCII_PROHIBITED",t.INPUT_OTHER="INPUT_OTHER",t.INPUT_IP_PROHIBITED="INPUT_IP_PROHIBITED",t.BLOCKLIST="BLOCKLIST",t.UNSAFE_PROMPT_FOR_IMAGE_GENERATION="UNSAFE_PROMPT_FOR_IMAGE_GENERATION",t.GENERATED_IMAGE_SAFETY="GENERATED_IMAGE_SAFETY",t.GENERATED_CONTENT_SAFETY="GENERATED_CONTENT_SAFETY",t.GENERATED_AUDIO_SAFETY="GENERATED_AUDIO_SAFETY",t.GENERATED_VIDEO_SAFETY="GENERATED_VIDEO_SAFETY",t.GENERATED_CONTENT_PROHIBITED="GENERATED_CONTENT_PROHIBITED",t.GENERATED_CONTENT_BLOCKLIST="GENERATED_CONTENT_BLOCKLIST",t.GENERATED_IMAGE_PROHIBITED="GENERATED_IMAGE_PROHIBITED",t.GENERATED_IMAGE_CELEBRITY="GENERATED_IMAGE_CELEBRITY",t.GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER="GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER",t.GENERATED_IMAGE_IDENTIFIABLE_PEOPLE="GENERATED_IMAGE_IDENTIFIABLE_PEOPLE",t.GENERATED_IMAGE_MINORS="GENERATED_IMAGE_MINORS",t.OUTPUT_IMAGE_IP_PROHIBITED="OUTPUT_IMAGE_IP_PROHIBITED",t.GENERATED_OTHER="GENERATED_OTHER",t.MAX_REGENERATION_REACHED="MAX_REGENERATION_REACHED"})(Tp||(Tp={}));var _p;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.VIDEO="VIDEO",t.AUDIO="AUDIO",t.DOCUMENT="DOCUMENT"})(_p||(_p={}));var Cp;(function(t){t.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",t.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",t.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(Cp||(Cp={}));var Ap;(function(t){t.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",t.ACTIVITY_START="ACTIVITY_START",t.ACTIVITY_END="ACTIVITY_END"})(Ap||(Ap={}));var vp;(function(t){t.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",t.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",t.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(vp||(vp={}));var Sp;(function(t){t.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",t.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",t.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(Sp||(Sp={}));var wp;(function(t){t.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",t.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",t.NO_INTERRUPTION="NO_INTERRUPTION"})(wp||(wp={}));var Ip;(function(t){t.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",t.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",t.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT",t.TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO="TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"})(Ip||(Ip={}));var Rp;(function(t){t.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",t.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",t.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",t.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",t.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",t.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",t.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",t.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",t.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",t.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",t.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",t.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",t.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(Rp||(Rp={}));var Pp;(function(t){t.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",t.QUALITY="QUALITY",t.DIVERSITY="DIVERSITY",t.VOCALIZATION="VOCALIZATION"})(Pp||(Pp={}));var Mp;(function(t){t.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",t.PLAY="PLAY",t.PAUSE="PAUSE",t.STOP="STOP",t.RESET_CONTEXT="RESET_CONTEXT"})(Mp||(Mp={}));function kp(t){return{text:t}}function Np(t){return typeof t=="object"&&t!==null?"fileData"in t||"text"in t||"functionCall"in t||"functionResponse"in t||"inlineData"in t||"videoMetadata"in t||"codeExecutionResult"in t||"executableCode"in t:!1}function Vp(t){let e=[];if(typeof t=="string")e.push(kp(t));else if(Np(t))e.push(t);else if(Array.isArray(t)){if(t.length===0)throw new Error("partOrString cannot be an empty array");for(let n of t)if(typeof n=="string")e.push(kp(n));else if(Np(n))e.push(n);else throw new Error("element in PartUnion must be a Part object or string")}else throw new Error("partOrString must be a Part object, string, or array");return e}function vR(t){return{role:"user",parts:Vp(t)}}function SR(t){return{role:"model",parts:Vp(t)}}var Et=class{get text(){var e,n,o,r,i,s,a,l;if(((r=(o=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||o===void 0?void 0:o.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",c=!1,f=[];for(let h of(l=(a=(s=(i=this.candidates)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.content)===null||a===void 0?void 0:a.parts)!==null&&l!==void 0?l:[]){for(let[y,S]of Object.entries(h))y!=="text"&&y!=="thought"&&y!=="thoughtSignature"&&(S!==null||S!==void 0)&&f.push(y);if(typeof h.text=="string"){if(typeof h.thought=="boolean"&&h.thought)continue;c=!0,u+=h.text}}return f.length>0&&console.warn(`there are non-text parts ${f} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),c?u:void 0}get data(){var e,n,o,r,i,s,a,l;if(((r=(o=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||o===void 0?void 0:o.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let u="",c=[];for(let f of(l=(a=(s=(i=this.candidates)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.content)===null||a===void 0?void 0:a.parts)!==null&&l!==void 0?l:[]){for(let[h,y]of Object.entries(f))h!=="inlineData"&&(y!==null||y!==void 0)&&c.push(h);f.inlineData&&typeof f.inlineData.data=="string"&&(u+=atob(f.inlineData.data))}return c.length>0&&console.warn(`there are non-data parts ${c} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),u.length>0?btoa(u):void 0}get functionCalls(){var e,n,o,r,i,s,a,l;if(((r=(o=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||o===void 0?void 0:o.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");let u=(l=(a=(s=(i=this.candidates)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.content)===null||a===void 0?void 0:a.parts)===null||l===void 0?void 0:l.filter(c=>c.functionCall).map(c=>c.functionCall).filter(c=>c!==void 0);if(u?.length!==0)return u}get executableCode(){var e,n,o,r,i,s,a,l,u;if(((r=(o=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||o===void 0?void 0:o.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");let c=(l=(a=(s=(i=this.candidates)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.content)===null||a===void 0?void 0:a.parts)===null||l===void 0?void 0:l.filter(f=>f.executableCode).map(f=>f.executableCode).filter(f=>f!==void 0);if(c?.length!==0)return(u=c?.[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,n,o,r,i,s,a,l,u;if(((r=(o=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||o===void 0?void 0:o.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let c=(l=(a=(s=(i=this.candidates)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.content)===null||a===void 0?void 0:a.parts)===null||l===void 0?void 0:l.filter(f=>f.codeExecutionResult).map(f=>f.codeExecutionResult).filter(f=>f!==void 0);if(c?.length!==0)return(u=c?.[0])===null||u===void 0?void 0:u.output}};function A_(t,e={}){let n=t,o={name:n.name,description:n.description,parametersJsonSchema:n.inputSchema};return n.outputSchema&&(o.responseJsonSchema=n.outputSchema),e.behavior&&(o.behavior=e.behavior),{functionDeclarations:[o]}}function v_(t,e={}){let n=[],o=new Set;for(let r of t){let i=r.name;if(o.has(i))throw new Error(`Duplicate function name ${i} found in MCP tools. Please ensure function names are unique.`);o.add(i);let s=A_(r,e);s.functionDeclarations&&n.push(...s.functionDeclarations)}return{functionDeclarations:n}}var xp;(function(t){t.PAGED_ITEM_BATCH_JOBS="batchJobs",t.PAGED_ITEM_MODELS="models",t.PAGED_ITEM_TUNING_JOBS="tuningJobs",t.PAGED_ITEM_FILES="files",t.PAGED_ITEM_CACHED_CONTENTS="cachedContents",t.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",t.PAGED_ITEM_DOCUMENTS="documents"})(xp||(xp={}));function Ke(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]]);return n}function Dp(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],o=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ne(t){return this instanceof ne?(this.v=t,this):new ne(t)}function $t(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=n.apply(t,e||[]),r,i=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(y){return function(S){return Promise.resolve(S).then(y,f)}}function a(y,S){o[y]&&(r[y]=function(A){return new Promise(function(T,R){i.push([y,A,T,R])>1||l(y,A)})},S&&(r[y]=S(r[y])))}function l(y,S){try{u(o[y](S))}catch(A){h(i[0][3],A)}}function u(y){y.value instanceof ne?Promise.resolve(y.value.v).then(c,f):h(i[0][2],y)}function c(y){l("next",y)}function f(y){l("throw",y)}function h(y,S){y(S),i.shift(),i.length&&l(i[0][0],i[0][1])}}function Pt(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Dp=="function"?Dp(t):t[Symbol.iterator](),n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n);function o(i){n[i]=t[i]&&function(s){return new Promise(function(a,l){s=t[i](s),r(a,l,s.done,s.value)})}}function r(i,s,a,l){Promise.resolve(l).then(function(u){i({value:u,done:a})},s)}}var S_="2.6.0",wR=`google-genai-sdk/${S_}`;var w_=!1;function I_(t){return $t(this,arguments,function*(n,o=100){let r,i=0;for(;i<o;){let s=yield ne(n.listTools({cursor:r}));for(let a of s.tools)yield yield ne(a),i++;if(!s.nextCursor)break;r=s.nextCursor}})}var Jr=class t{constructor(e=[],n){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=n}static create(e,n){return new t(e,n)}async initialize(){var e,n,o,r;if(this.mcpTools.length>0)return;let i={},s=[];for(let c of this.mcpClients)try{for(var a=!0,l=(n=void 0,Pt(I_(c))),u;u=await l.next(),e=u.done,!e;a=!0){r=u.value,a=!1;let f=r;s.push(f);let h=f.name;if(i[h])throw new Error(`Duplicate function name ${h} found in MCP tools. Please ensure function names are unique.`);i[h]=c}}catch(f){n={error:f}}finally{try{!a&&!e&&(o=l.return)&&await o.call(l)}finally{if(n)throw n.error}}this.mcpTools=s,this.functionNameToMcpClient=i}async tool(){return await this.initialize(),v_(this.mcpTools,this.config)}async callTool(e){await this.initialize();let n=[];for(let o of e)if(o.name in this.functionNameToMcpClient){let r=this.functionNameToMcpClient[o.name],i;this.config.timeout&&(i={timeout:this.config.timeout});let s=await r.callTool({name:o.name,arguments:o.args},void 0,i);n.push({functionResponse:{name:o.name,response:s.isError?{error:s}:s}})}return n}};function R_(t){return t!==null&&typeof t=="object"&&"listTools"in t&&typeof t.listTools=="function"}function IR(...t){if(w_=!0,t.length===0)throw new Error("No MCP clients provided");let e=t[t.length-1];return R_(e)?Jr.create(t,{}):Jr.create(t.slice(0,t.length-1),e)}var Hp=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return Hp=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),n=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,o=>(+o^n()&15>>+o/4).toString(16))},P_=()=>Hp();function hl(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var ml=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};var we=class extends Error{},Ie=class t extends we{constructor(e,n,o,r){super(`${t.makeMessage(e,n,o)}`),this.status=e,this.headers=r,this.error=n}static makeMessage(e,n,o){let r=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):o;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,n,o,r){if(!e||!r)return new yn({message:o,cause:ml(n)});let i=n;return e===400?new Yr(e,i,o,r):e===401?new zr(e,i,o,r):e===403?new Xr(e,i,o,r):e===404?new Qr(e,i,o,r):e===409?new Zr(e,i,o,r):e===422?new jr(e,i,o,r):e===429?new ei(e,i,o,r):e>=500?new ti(e,i,o,r):new t(e,i,o,r)}},lo=class extends Ie{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},yn=class extends Ie{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}},Wr=class extends yn{constructor({message:e}={}){super({message:e??"Request timed out. This is a client-side timeout. You can increase the timeout by setting the `timeout` argument in your request or client http options."})}},Yr=class extends Ie{},zr=class extends Ie{},Xr=class extends Ie{},Qr=class extends Ie{},Zr=class extends Ie{},jr=class extends Ie{},ei=class extends Ie{},ti=class extends Ie{};var M_=/^[a-z][a-z0-9+.-]*:/i,k_=t=>M_.test(t),gl=t=>(gl=Array.isArray,gl(t)),N_=gl,x_=N_,bp=x_;function Op(t){if(!t)return!0;for(let e in t)return!1;return!0}function D_(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var b_=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new we(`${t} must be an integer`);if(e<0)throw new we(`${t} must be a positive integer`);return e},O_=t=>{try{return JSON.parse(t)}catch{return}};var U_=t=>new Promise(e=>setTimeout(e,t));function L_(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function $p(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function G_(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return $p({start(){},async pull(n){let{done:o,value:r}=await e.next();o?n.close():n.enqueue(r)},async cancel(){var n;await((n=e.return)===null||n===void 0?void 0:n.call(e))}})}function Kp(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let n=await e.read();return n?.done&&e.releaseLock(),n}catch(n){throw e.releaseLock(),n}},async return(){let n=e.cancel();return e.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function F_(t){var e,n;if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await((n=(e=t[Symbol.asyncIterator]()).return)===null||n===void 0?void 0:n.call(e));return}let o=t.getReader(),r=o.cancel();o.releaseLock(),await r}var q_=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});function B_(t){return Object.entries(t).filter(([e,n])=>typeof n<"u").map(([e,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(e)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(e)}=`;throw new we(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}var V_="0.0.1";var Jp=()=>{var t;if(typeof File>"u"){let{process:e}=globalThis,n=typeof((t=e?.versions)===null||t===void 0?void 0:t.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(n?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function dl(t,e,n){return Jp(),new File(t,e??"unknown_file",n)}function H_(t){return(typeof t=="object"&&t!==null&&("name"in t&&t.name&&String(t.name)||"url"in t&&t.url&&String(t.url)||"filename"in t&&t.filename&&String(t.filename)||"path"in t&&t.path&&String(t.path))||"").split(/[\\/]/).pop()||void 0}var $_=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function";var Wp=t=>t!=null&&typeof t=="object"&&typeof t.size=="number"&&typeof t.type=="string"&&typeof t.text=="function"&&typeof t.slice=="function"&&typeof t.arrayBuffer=="function",K_=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&Wp(t),J_=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function W_(t,e,n){if(Jp(),t=await t,K_(t))return t instanceof File?t:dl([await t.arrayBuffer()],t.name);if(J_(t)){let r=await t.blob();return e||(e=new URL(t.url).pathname.split(/[\\/]/).pop()),dl(await yl(r),e,n)}let o=await yl(t);if(e||(e=H_(t)),!n?.type){let r=o.find(i=>typeof i=="object"&&"type"in i&&i.type);typeof r=="string"&&(n=Object.assign(Object.assign({},n),{type:r}))}return dl(o,e,n)}async function yl(t){var e,n,o,r,i;let s=[];if(typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer)s.push(t);else if(Wp(t))s.push(t instanceof Blob?t:await t.arrayBuffer());else if($_(t))try{for(var a=!0,l=Pt(t),u;u=await l.next(),e=u.done,!e;a=!0){r=u.value,a=!1;let c=r;s.push(...await yl(c))}}catch(c){n={error:c}}finally{try{!a&&!e&&(o=l.return)&&await o.call(l)}finally{if(n)throw n.error}}else{let c=(i=t?.constructor)===null||i===void 0?void 0:i.name;throw new Error(`Unexpected data type: ${typeof t}${c?`; constructor: ${c}`:""}${Y_(t)}`)}return s}function Y_(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(n=>`"${n}"`).join(", ")}]`}var En=class{constructor(e){this._client=e}};En._key=[];function Yp(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Up=Object.freeze(Object.create(null)),z_=(t=Yp)=>function(n,...o){if(n.length===1)return n[0];let r=!1,i=[],s=n.reduce((c,f,h)=>{var y,S,A;/[?#]/.test(f)&&(r=!0);let T=o[h],R=(r?encodeURIComponent:t)(""+T);return h!==o.length&&(T==null||typeof T=="object"&&T.toString===((A=Object.getPrototypeOf((S=Object.getPrototypeOf((y=T.hasOwnProperty)!==null&&y!==void 0?y:Up))!==null&&S!==void 0?S:Up))===null||A===void 0?void 0:A.toString))&&(R=T+"",i.push({start:c.length+f.length,length:R.length,error:`Value of type ${Object.prototype.toString.call(T).slice(8,-1)} is not a valid path parameter`})),c+f+(h===o.length?"":R)},""),a=s.split(/[?#]/,1)[0],l=/(^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,u;for(;(u=l.exec(a))!==null;){let c=u[0].startsWith("/"),f=c?1:0,h=c?u[0].slice(1):u[0];i.push({start:u.index+f,length:h.length,error:`Value "${h}" can't be safely passed as a path parameter`})}if(i.sort((c,f)=>c.start-f.start),i.length>0){let c=0,f=i.reduce((h,y)=>{let S=" ".repeat(y.start-c),A="^".repeat(y.length);return c=y.start+y.length,h+S+A},"");throw new we(`Path parameters result in path with invalid segments:
|
|
33
|
+
${i.map(h=>h.error).join(`
|
|
34
|
+
`)}
|
|
35
|
+
${s}
|
|
36
|
+
${f}`)}return s},Se=z_(Yp);var ni=class extends En{create(e={},n){let o=e??{},{api_version:r=this._client.apiVersion}=o,i=Ke(o,["api_version"]);return this._client.post(Se`/${r}/agents`,Object.assign({body:i},n))}list(e={},n){let o=e??{},{api_version:r=this._client.apiVersion}=o,i=Ke(o,["api_version"]);return this._client.get(Se`/${r}/agents`,Object.assign({query:i},n))}delete(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.delete(Se`/${r}/agents/${e}`,o)}get(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.get(Se`/${r}/agents/${e}`,o)}};ni._key=Object.freeze(["agents"]);var oi=class extends ni{};function X_(t){let e=0;for(let r of t)e+=r.length;let n=new Uint8Array(e),o=0;for(let r of t)n.set(r,o),o+=r.length;return n}var Hr;function Al(t){let e;return(Hr??(e=new globalThis.TextEncoder,Hr=e.encode.bind(e)))(t)}var $r;function Lp(t){let e;return($r??(e=new globalThis.TextDecoder,$r=e.decode.bind(e)))(t)}var Tn=class{constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null,this.searchIndex=0}decode(e){var n;if(e==null)return[];let o=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Al(e):e;this.buffer=X_([this.buffer,o]);let r=[],i;for(;(i=Q_(this.buffer,(n=this.carriageReturnIndex)!==null&&n!==void 0?n:this.searchIndex))!=null;){if(i.carriage&&this.carriageReturnIndex==null){this.carriageReturnIndex=i.index;continue}if(this.carriageReturnIndex!=null&&(i.index!==this.carriageReturnIndex+1||i.carriage)){r.push(Lp(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null,this.searchIndex=0;continue}let s=this.carriageReturnIndex!==null?i.preceding-1:i.preceding,a=Lp(this.buffer.subarray(0,s));r.push(a),this.buffer=this.buffer.subarray(i.index),this.carriageReturnIndex=null,this.searchIndex=0}return this.searchIndex=Math.max(0,this.buffer.length-1),r}flush(){return this.buffer.length?this.decode(`
|
|
37
|
+
`):[]}};Tn.NEWLINE_CHARS=new Set([`
|
|
38
|
+
`,"\r"]);Tn.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Q_(t,e){let r=e??0,i=t.indexOf(10,r),s=t.indexOf(13,r);if(i===-1&&s===-1)return null;let a;return i!==-1&&s!==-1?a=Math.min(i,s):a=i!==-1?i:s,t[a]===10?{preceding:a,index:a+1,carriage:!1}:{preceding:a,index:a+1,carriage:!0}}var ri={off:0,error:200,warn:300,info:400,debug:500},Gp=(t,e,n)=>{if(t){if(D_(ri,t))return t;ve(n).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(ri))}`)}};function ao(){}function Kr(t,e,n){return!e||ri[t]>ri[n]?ao:e[t].bind(e)}var Z_={error:ao,warn:ao,info:ao,debug:ao},Fp=new WeakMap;function ve(t){var e;let n=t.logger,o=(e=t.logLevel)!==null&&e!==void 0?e:"off";if(!n)return Z_;let r=Fp.get(n);if(r&&r[0]===o)return r[1];let i={error:Kr("error",n,o),warn:Kr("warn",n,o),info:Kr("info",n,o),debug:Kr("debug",n,o)};return Fp.set(n,[o,i]),i}var Ht=t=>(t.options&&(t.options=Object.assign({},t.options),delete t.options.headers),t.headers&&(t.headers=Object.fromEntries((t.headers instanceof Headers?[...t.headers]:Object.entries(t.headers)).map(([e,n])=>[e,e.toLowerCase()==="x-goog-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in t&&(t.retryOfRequestLogID&&(t.retryOf=t.retryOfRequestLogID),delete t.retryOfRequestLogID),t);var uo=class t{constructor(e,n,o){this.iterator=e,this.controller=n,this.client=o}static fromSSEResponse(e,n,o){let r=!1,i=o?ve(o):console;function s(){return $t(this,arguments,function*(){var l,u,c,f;if(r)throw new we("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let h=!1;try{try{for(var y=!0,S=Pt(j_(e,n)),A;A=yield ne(S.next()),l=A.done,!l;y=!0){f=A.value,y=!1;let T=f;if(!h)if(T.data.startsWith("[DONE]")){h=!0;continue}else try{yield yield ne(JSON.parse(T.data))}catch(R){throw i.error("Could not parse message into JSON:",T.data),i.error("From chunk:",T.raw),R}}}catch(T){u={error:T}}finally{try{!y&&!l&&(c=S.return)&&(yield ne(c.call(S)))}finally{if(u)throw u.error}}h=!0}catch(T){if(hl(T))return yield ne(void 0);throw T}finally{h||n.abort()}})}return new t(s,n,o)}static fromReadableStream(e,n,o){let r=!1;function i(){return $t(this,arguments,function*(){var l,u,c,f;let h=new Tn,y=Kp(e);try{for(var S=!0,A=Pt(y),T;T=yield ne(A.next()),l=T.done,!l;S=!0){f=T.value,S=!1;let R=f;for(let O of h.decode(R))yield yield ne(O)}}catch(R){u={error:R}}finally{try{!S&&!l&&(c=A.return)&&(yield ne(c.call(A)))}finally{if(u)throw u.error}}for(let R of h.flush())yield yield ne(R)})}function s(){return $t(this,arguments,function*(){var l,u,c,f;if(r)throw new we("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let h=!1;try{try{for(var y=!0,S=Pt(i()),A;A=yield ne(S.next()),l=A.done,!l;y=!0){f=A.value,y=!1;let T=f;h||T&&(yield yield ne(JSON.parse(T)))}}catch(T){u={error:T}}finally{try{!y&&!l&&(c=S.return)&&(yield ne(c.call(S)))}finally{if(u)throw u.error}}h=!0}catch(T){if(hl(T))return yield ne(void 0);throw T}finally{h||n.abort()}})}return new t(s,n,o)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],n=[],o=this.iterator(),r=i=>({next:()=>{if(i.length===0){let s=o.next();e.push(s),n.push(s)}return i.shift()}});return[new t(()=>r(e),this.controller,this.client),new t(()=>r(n),this.controller,this.client)]}toReadableStream(){let e=this,n;return $p({async start(){n=e[Symbol.asyncIterator]()},async pull(o){try{let{value:r,done:i}=await n.next();if(i)return o.close();let s=Al(JSON.stringify(r)+`
|
|
39
|
+
`);o.enqueue(s)}catch(r){o.error(r)}},async cancel(){var o;await((o=n.return)===null||o===void 0?void 0:o.call(n))}})}};function j_(t,e){return $t(this,arguments,function*(){var o,r,i,s;if(!t.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new we("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new we("Attempted to iterate over a response with no body");let a=new El,l=new Tn,u=Kp(t.body);try{for(var c=!0,f=Pt(eC(u)),h;h=yield ne(f.next()),o=h.done,!o;c=!0){s=h.value,c=!1;let y=s;for(let S of l.decode(y)){let A=a.decode(S);A&&(yield yield ne(A))}}}catch(y){r={error:y}}finally{try{!c&&!o&&(i=f.return)&&(yield ne(i.call(f)))}finally{if(r)throw r.error}}for(let y of l.flush()){let S=a.decode(y);S&&(yield yield ne(S))}})}function eC(t){return $t(this,arguments,function*(){var n,o,r,i;try{for(var s=!0,a=Pt(t),l;l=yield ne(a.next()),n=l.done,!n;s=!0){i=l.value,s=!1;let u=i;if(u==null)continue;let c=u instanceof ArrayBuffer?new Uint8Array(u):typeof u=="string"?Al(u):u;yield yield ne(c)}}catch(u){o={error:u}}finally{try{!s&&!n&&(r=a.return)&&(yield ne(r.call(a)))}finally{if(o)throw o.error}}})}var El=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let i={event:this.event,data:this.data.join(`
|
|
40
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],i}if(this.chunks.push(e),e.startsWith(":"))return null;let[n,o,r]=tC(e,":");return r.startsWith(" ")&&(r=r.substring(1)),n==="event"?this.event=r:n==="data"&&this.data.push(r),null}};function tC(t,e){let n=t.indexOf(e);return n!==-1?[t.substring(0,n),e,t.substring(n+e.length)]:[t,"",""]}var nC=new Set(["lyria-3-pro-preview","lyria-3-clip-preview"]),qp={"interaction.start":"interaction.created","content.start":"step.start","content.delta":"step.delta","content.stop":"step.stop","interaction.complete":"interaction.completed"};function oC({isVertex:t,model:e}){return!!t&&typeof e=="string"&&nC.has(e)}function rC(t){let e=t.clientAdapter;return!!(e&&e.isVertexAI())}function Tl(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function zp(t){if(!("outputs"in t)||"steps"in t)return t;let{outputs:e}=t,n=Ke(t,["outputs"]);return Object.assign(Object.assign({},n),{steps:[{type:"model_output",content:e}]})}function iC(t){return Tl(t)?zp(t):t}function sC(t){if(!Tl(t))return t;let e=t.event_type;if(typeof e!="string"||!(e in qp))return t;let n=Object.assign(Object.assign({},t),{event_type:qp[e]});if(e==="content.start"){let{content:o}=n,r=Ke(n,["content"]),i;return o==null?i=[]:Array.isArray(o)?i=o:i=[o],Object.assign(Object.assign({},r),{step:{type:"model_output",content:i}})}if(e==="interaction.start"||e==="interaction.complete"){let o=n.interaction;Tl(o)&&(n.interaction=zp(o))}return n}var _l=class t extends uo{static fromSSEResponse(e,n,o){let r=uo.fromSSEResponse(e,n,o);function i(){return $t(this,arguments,function*(){var a,l,u,c;try{for(var f=!0,h=Pt(r),y;y=yield ne(h.next()),a=y.done,!a;f=!0)c=y.value,f=!1,yield yield ne(sC(c))}catch(S){l={error:S}}finally{try{!f&&!a&&(u=h.return)&&(yield ne(u.call(h)))}finally{if(l)throw l.error}}})}return new t(i,n,o)}};var ii=class extends En{create(e,n){var o;let{api_version:r=this._client.apiVersion}=e,i=Ke(e,["api_version"]);if("model"in i&&"agent_config"in i)throw new we("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in i&&"generation_config"in i)throw new we("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");let s=oC({isVertex:rC(this._client),model:"model"in i?i.model:void 0}),a=(o=e.stream)!==null&&o!==void 0?o:!1,l=this._client.post(Se`/${r}/interactions`,Object.assign(Object.assign(Object.assign({body:i},n),{stream:a}),s&&a?{__streamClass:_l}:{}));if(a)return l;let u=l;return s&&(u=u._thenUnwrap(c=>iC(c))),u._thenUnwrap(fl)}delete(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.delete(Se`/${r}/interactions/${e}`,o)}cancel(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.post(Se`/${r}/interactions/${e}/cancel`,o)._thenUnwrap(fl)}get(e,n={},o){var r;let i=n??{},{api_version:s=this._client.apiVersion}=i,a=Ke(i,["api_version"]),l=this._client.get(Se`/${s}/interactions/${e}`,Object.assign(Object.assign({query:a},o),{stream:(r=n?.stream)!==null&&r!==void 0?r:!1}));return n?.stream?l:l._thenUnwrap(fl)}};ii._key=Object.freeze(["interactions"]);var si=class extends ii{};function fl(t){var e,n;let o=(e=t.steps)!==null&&e!==void 0?e:[],r=[],i=!1;e:for(let c=o.length-1;c>=0;c--){let f=o[c];if(f.type==="user_input")break;if(f.type!=="model_output"||!f.content){if(i)break e;continue}let h=f.content;for(let y=h.length-1;y>=0;y--){let S=h[y];if(S.type==="text")i=!0,r.push((n=S.text)!==null&&n!==void 0?n:"");else if(i)break e}}let s=r.reverse().join(""),a,l,u;for(let c=o.length-1;c>=0;c--){let h=o[c];if(h.type==="user_input")break;if(h.type==="model_output"&&h.content)for(let y=h.content.length-1;y>=0;y--){let S=h.content[y];S.type==="image"&&!a&&(a=S),S.type==="audio"&&!l&&(l=S),S.type==="video"&&!u&&(u=S)}}return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t),s&&{output_text:s}),a&&{output_image:a}),l&&{output_audio:l}),u&&{output_video:u})}var ai=class extends En{create(e,n){let{api_version:o=this._client.apiVersion}=e,r=Ke(e,["api_version"]);return this._client.post(Se`/${o}/webhooks`,Object.assign({body:r},n))}update(e,n={},o){let r=n??{},{api_version:i=this._client.apiVersion,update_mask:s}=r,a=Ke(r,["api_version","update_mask"]);return this._client.patch(Se`/${i}/webhooks/${e}`,Object.assign({query:{update_mask:s},body:a},o))}list(e={},n){let o=e??{},{api_version:r=this._client.apiVersion}=o,i=Ke(o,["api_version"]);return this._client.get(Se`/${r}/webhooks`,Object.assign({query:i},n))}delete(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.delete(Se`/${r}/webhooks/${e}`,o)}get(e,n={},o){let{api_version:r=this._client.apiVersion}=n??{};return this._client.get(Se`/${r}/webhooks/${e}`,o)}ping(e,n=void 0,o){let{api_version:r=this._client.apiVersion,body:i}=n??{};return this._client.post(Se`/${r}/webhooks/${e}:ping`,Object.assign({body:i},o))}rotateSigningSecret(e,n={},o){let r=n??{},{api_version:i=this._client.apiVersion}=r,s=Ke(r,["api_version"]);return this._client.post(Se`/${i}/webhooks/${e}:rotateSigningSecret`,Object.assign({body:s},o))}};ai._key=Object.freeze(["webhooks"]);var li=class extends ai{};async function aC(t,e){let{response:n,requestLogID:o,retryOfRequestLogID:r,startTime:i}=e,s=await(async()=>{var a;if(e.options.stream)return ve(t).debug("response",n.status,n.url,n.headers,n.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(n,e.controller,t):uo.fromSSEResponse(n,e.controller,t);if(n.status===204)return null;if(e.options.__binaryResponse)return n;let l=n.headers.get("content-type"),u=(a=l?.split(";")[0])===null||a===void 0?void 0:a.trim();return u?.includes("application/json")||u?.endsWith("+json")?n.headers.get("content-length")==="0"?void 0:await n.json():await n.text()})();return ve(t).debug(`[${o}] response parsed`,Ht({retryOfRequestLogID:r,url:n.url,status:n.status,body:s,durationMs:Date.now()-i})),s}var Cl=class t extends Promise{constructor(e,n,o=aC){super(r=>{r(null)}),this.responsePromise=n,this.parseResponse=o,this.client=e}_thenUnwrap(e){return new t(this.client,this.responsePromise,async(n,o)=>e(await this.parseResponse(n,o),o))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,n]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:n}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(this.client,e))),this.parsedPromise}then(e,n){return this.parse().then(e,n)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};var Xp=Symbol("brand.privateNullableHeaders");function*lC(t){if(!t)return;if(Xp in t){let{values:o,nulls:r}=t;yield*o.entries();for(let i of r)yield[i,null];return}let e=!1,n;t instanceof Headers?n=t.entries():bp(t)?n=t:(e=!0,n=Object.entries(t??{}));for(let o of n){let r=o[0];if(typeof r!="string")throw new TypeError("expected header name to be a string");let i=bp(o[1])?o[1]:[o[1]],s=!1;for(let a of i)a!==void 0&&(e&&!s&&(s=!0,yield[r,null]),yield[r,a])}}var so=t=>{let e=new Headers,n=new Set;for(let o of t){let r=new Set;for(let[i,s]of lC(o)){let a=i.toLowerCase();r.has(a)||(e.delete(i),r.add(a)),s===null?(e.delete(i),n.add(a)):(e.append(i,s),n.delete(a))}}return{[Xp]:!0,values:e,nulls:n}};var pl=t=>{var e,n,o,r,i;if(typeof globalThis.process<"u")return((n=(e=globalThis.process.env)===null||e===void 0?void 0:e[t])===null||n===void 0?void 0:n.trim())||void 0;if(typeof globalThis.Deno<"u")return((i=(r=(o=globalThis.Deno.env)===null||o===void 0?void 0:o.get)===null||r===void 0?void 0:r.call(o,t))===null||i===void 0?void 0:i.trim())||void 0};var Qp,ui=class t{constructor(e){var n,o,r,i,s,a,l,{baseURL:u=pl("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:c=(n=pl("GEMINI_API_KEY"))!==null&&n!==void 0?n:null,apiVersion:f="v1beta"}=e,h=Ke(e,["baseURL","apiKey","apiVersion"]);let y=Object.assign(Object.assign({apiKey:c,apiVersion:f},h),{baseURL:u||"https://generativelanguage.googleapis.com"});this.baseURL=y.baseURL,this.timeout=(o=y.timeout)!==null&&o!==void 0?o:t.DEFAULT_TIMEOUT,this.logger=(r=y.logger)!==null&&r!==void 0?r:console;let S="warn";this.logLevel=S,this.logLevel=(s=(i=Gp(y.logLevel,"ClientOptions.logLevel",this))!==null&&i!==void 0?i:Gp(pl("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&s!==void 0?s:S,this.fetchOptions=y.fetchOptions,this.maxRetries=(a=y.maxRetries)!==null&&a!==void 0?a:2,this.fetch=(l=y.fetch)!==null&&l!==void 0?l:L_(),this.encoder=q_,this._options=y,this.apiKey=c,this.apiVersion=f,this.clientAdapter=y.clientAdapter}withOptions(e){return new this.constructor(Object.assign(Object.assign(Object.assign({},this._options),{baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,apiVersion:this.apiVersion}),e))}baseURLOverridden(){return this.baseURL!=="https://generativelanguage.googleapis.com"}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:n}){if(!(e.has("authorization")||e.has("x-goog-api-key"))&&!(this.apiKey&&e.get("x-goog-api-key"))&&!n.has("x-goog-api-key"))throw new Error('Could not resolve authentication method. Expected the apiKey to be set. Or for the "x-goog-api-key" headers to be explicitly omitted')}async authHeaders(e){let n=so([e.headers]);if(!(n.values.has("authorization")||n.values.has("x-goog-api-key"))){if(this.apiKey)return so([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter&&this.clientAdapter.isVertexAI())return so([await this.clientAdapter.getAuthHeaders()])}}stringifyQuery(e){return B_(e)}getUserAgent(){return`${this.constructor.name}/JS ${V_}`}defaultIdempotencyKey(){return`stainless-node-retry-${P_()}`}makeStatusError(e,n,o,r){return Ie.generate(e,n,o,r)}buildURL(e,n,o){let r=!this.baseURLOverridden()&&o||this.baseURL,i=k_(e)?new URL(e):new URL(r+(r.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),s=this.defaultQuery(),a=Object.fromEntries(i.searchParams);return(!Op(s)||!Op(a))&&(n=Object.assign(Object.assign(Object.assign({},a),s),n)),typeof n=="object"&&n&&!Array.isArray(n)&&(i.search=this.stringifyQuery(n)),i.toString()}async prepareOptions(e){if(this.clientAdapter&&this.clientAdapter.isVertexAI()&&!e.path.startsWith(`/${this.apiVersion}/projects/`)){let n=e.path.slice(this.apiVersion.length+1);e.path=`/${this.apiVersion}/projects/${this.clientAdapter.getProject()}/locations/${this.clientAdapter.getLocation()}${n}`}}async prepareRequest(e,{url:n,options:o}){}get(e,n){return this.methodRequest("get",e,n)}post(e,n){return this.methodRequest("post",e,n)}patch(e,n){return this.methodRequest("patch",e,n)}put(e,n){return this.methodRequest("put",e,n)}delete(e,n){return this.methodRequest("delete",e,n)}methodRequest(e,n,o){return this.request(Promise.resolve(o).then(r=>Object.assign({method:e,path:n},r)))}request(e,n=null){return new Cl(this,this.makeRequest(e,n,void 0))}async makeRequest(e,n,o){var r,i,s;let a=await e,l=(r=a.maxRetries)!==null&&r!==void 0?r:this.maxRetries;n==null&&(n=l),await this.prepareOptions(a);let{req:u,url:c,timeout:f}=await this.buildRequest(a,{retryCount:l-n});await this.prepareRequest(u,{url:c,options:a});let h="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),y=o===void 0?"":`, retryOf: ${o}`,S=Date.now();if(ve(this).debug(`[${h}] sending request`,Ht({retryOfRequestLogID:o,method:a.method,url:c,options:a,headers:u.headers})),!((i=a.signal)===null||i===void 0)&&i.aborted)throw new lo;let A=new AbortController,T=await this.fetchWithTimeout(c,u,f,A).catch(ml),R=Date.now();if(T instanceof globalThis.Error){let D=`retrying, ${n} attempts remaining`;if(!((s=a.signal)===null||s===void 0)&&s.aborted)throw new lo;let q=hl(T)||/timed? ?out/i.test(String(T)+("cause"in T?String(T.cause):""));if(n)return ve(this).info(`[${h}] connection ${q?"timed out":"failed"} - ${D}`),ve(this).debug(`[${h}] connection ${q?"timed out":"failed"} (${D})`,Ht({retryOfRequestLogID:o,url:c,durationMs:R-S,message:T.message})),this.retryRequest(a,n,o??h);throw ve(this).info(`[${h}] connection ${q?"timed out":"failed"} - error; no more retries left`),ve(this).debug(`[${h}] connection ${q?"timed out":"failed"} (error; no more retries left)`,Ht({retryOfRequestLogID:o,url:c,durationMs:R-S,message:T.message})),q?new Wr:new yn({cause:T})}let O=`[${h}${y}] ${u.method} ${c} ${T.ok?"succeeded":"failed"} with status ${T.status} in ${R-S}ms`;if(!T.ok){let D=await this.shouldRetry(T);if(n&&D){let N=`retrying, ${n} attempts remaining`;return await F_(T.body),ve(this).info(`${O} - ${N}`),ve(this).debug(`[${h}] response error (${N})`,Ht({retryOfRequestLogID:o,url:T.url,status:T.status,headers:T.headers,durationMs:R-S})),this.retryRequest(a,n,o??h,T.headers)}let q=D?"error; no more retries left":"error; not retryable";ve(this).info(`${O} - ${q}`);let U=await T.text().catch(N=>ml(N).message),L=O_(U),$=L?void 0:U;throw ve(this).debug(`[${h}] response error (${q})`,Ht({retryOfRequestLogID:o,url:T.url,status:T.status,headers:T.headers,message:$,durationMs:Date.now()-S})),this.makeStatusError(T.status,L,$,T.headers)}return ve(this).info(O),ve(this).debug(`[${h}] response start`,Ht({retryOfRequestLogID:o,url:T.url,status:T.status,headers:T.headers,durationMs:R-S})),{response:T,options:a,controller:A,requestLogID:h,retryOfRequestLogID:o,startTime:S}}async fetchWithTimeout(e,n,o,r){let i=n||{},{signal:s,method:a}=i,l=Ke(i,["signal","method"]),u=this._makeAbort(r);s&&s.addEventListener("abort",u,{once:!0});let c=setTimeout(u,o),f=globalThis.ReadableStream&&l.body instanceof globalThis.ReadableStream||typeof l.body=="object"&&l.body!==null&&Symbol.asyncIterator in l.body,h=Object.assign(Object.assign(Object.assign({signal:r.signal},f?{duplex:"half"}:{}),{method:"GET"}),l);a&&(h.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,h)}finally{clearTimeout(c)}}async shouldRetry(e){let n=e.headers.get("x-should-retry");return n==="true"?!0:n==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,n,o,r){var i;let s,a=r?.get("retry-after-ms");if(a){let u=parseFloat(a);Number.isNaN(u)||(s=u)}let l=r?.get("retry-after");if(l&&!s){let u=parseFloat(l);Number.isNaN(u)?s=Date.parse(l)-Date.now():s=u*1e3}if(s===void 0){let u=(i=e.maxRetries)!==null&&i!==void 0?i:this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(n,u)}return await U_(s),this.makeRequest(e,n-1,o)}calculateDefaultRetryTimeoutMillis(e,n){let i=n-e,s=Math.min(.5*Math.pow(2,i),8),a=1-Math.random()*.25;return s*a*1e3}async buildRequest(e,{retryCount:n=0}={}){var o,r,i;let s=Object.assign({},e),{method:a,path:l,query:u,defaultBaseURL:c}=s,f=this.buildURL(l,u,c);"timeout"in s&&b_("timeout",s.timeout),s.timeout=(o=s.timeout)!==null&&o!==void 0?o:this.timeout;let{bodyHeaders:h,body:y}=this.buildBody({options:s}),S=await this.buildHeaders({options:e,method:a,bodyHeaders:h,retryCount:n});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:a,headers:S},s.signal&&{signal:s.signal}),globalThis.ReadableStream&&y instanceof globalThis.ReadableStream&&{duplex:"half"}),y&&{body:y}),(r=this.fetchOptions)!==null&&r!==void 0?r:{}),(i=s.fetchOptions)!==null&&i!==void 0?i:{}),url:f,timeout:s.timeout}}async buildHeaders({options:e,method:n,bodyHeaders:o,retryCount:r}){let i={};this.idempotencyHeader&&n!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),i[this.idempotencyHeader]=e.idempotencyKey);let s=await this.authHeaders(e),a=so([i,{Accept:"application/json","User-Agent":this.getUserAgent(),"Api-Revision":"2026-05-20"},this._options.defaultHeaders,o,e.headers,s]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:n}}){if(!e)return{bodyHeaders:void 0,body:void 0};let o=so([n]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&o.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:G_(e)}:typeof e=="object"&&o.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)}:this.encoder({body:e,headers:o})}};ui.DEFAULT_TIMEOUT=6e4;var de=class extends ui{constructor(){super(...arguments),this.interactions=new si(this),this.webhooks=new li(this),this.agents=new oi(this)}};Qp=de;de.GeminiNextGenAPIClient=Qp;de.GeminiNextGenAPIClientError=we;de.APIError=Ie;de.APIConnectionError=yn;de.APIConnectionTimeoutError=Wr;de.APIUserAbortError=lo;de.NotFoundError=Qr;de.ConflictError=Zr;de.RateLimitError=ei;de.BadRequestError=Yr;de.AuthenticationError=zr;de.InternalServerError=ti;de.PermissionDeniedError=Xr;de.UnprocessableEntityError=jr;de.toFile=W_;de.Interactions=si;de.Webhooks=li;de.Agents=oi;var RR=1024*1024*8;p();p();p();p();p();var Tt=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};p();function Zp(t){return/^[0-9A-Fa-f]$/.test(t)}function kt(t){return t>="0"&&t<="9"}function jp(t){return t>=" "}function co(t){return`,:[]/{}()
|
|
41
|
+
+`.includes(t)}function vl(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Sl(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var wl=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Il=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Rl(t){return`,[]/{}
|
|
42
|
+
+`.includes(t)}function Pl(t){return fo(t)||uC.test(t)}var uC=/^[[{\w-]$/;function eh(t){return t===`
|
|
43
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Mt(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function th(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function nh(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function fo(t){return Ml(t)||ci(t)}function Ml(t){return t==='"'||t==="\u201C"||t==="\u201D"}function kl(t){return t==='"'}function ci(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Nl(t){return t==="'"}function _n(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=t.lastIndexOf(e);return o!==-1?t.substring(0,o)+(n?"":t.substring(o+1)):t}function Je(t,e){let n=t.length;if(!Mt(t,n-1))return t+e;for(;Mt(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function oh(t,e,n){return t.substring(0,e)+t.substring(e+n)}function rh(t){return/[,\n][ \t\r]*$/.test(t)}var cC={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},dC={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
44
|
+
`,r:"\r",t:" "};function di(t){let e=0,n="";u(["```","[```","{```"]),i()||le(),u(["```","```]","```}"]);let r=f(",");for(r&&s(),Pl(t[e])&&rh(n)?(r||(n=Je(n,",")),R()):r&&(n=_n(n,","));t[e]==="}"||t[e]==="]";)e++,s();if(e>=t.length)return n;pe();function i(){s();let F=A()||T()||O()||q()||U()||$(!1)||Y();return s(),F}function s(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,z=a(F);do z=l(),z&&(z=a(F));while(z);return e>K}function a(F){let K=F?Mt:th,z="";for(;;)if(K(t,e))z+=t[e],e++;else if(nh(t,e))z+=" ",e++;else break;return z.length>0?(n+=z,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!fC(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
45
|
+
`;)e++;return!0}return!1}function u(F){if(c(F)){if(vl(t[e]))for(;e<t.length&&Sl(t[e]);)e++;return s(),!0}return!1}function c(F){a(!0);for(let K of F){let z=e+K.length;if(t.slice(e,z)===K)return e=z,!0}return!1}function f(F){return t[e]===F?(n+=t[e],e++,!0):!1}function h(F){return t[e]===F?(e++,!0):!1}function y(){return h("\\")}function S(){return s(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,s(),h(","),!0):!1}function A(){if(t[e]==="{"){n+="{",e++,s(),h(",")&&s();let F=!0;for(;e<t.length&&t[e]!=="}";){let K;if(F?(K=!0,F=!1):(K=f(","),K||(n=Je(n,",")),s()),S(),!(O()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=_n(n,","):ue();break}s();let be=f(":"),Ye=e>=t.length;be||(Pl(t[e])||Ye?n=Je(n,":"):ge()),i()||(be||Ye?n+="null":ge())}return t[e]==="}"?(n+="}",e++):n=Je(n,"}"),!0}return!1}function T(){if(t[e]==="["){n+="[",e++,s(),h(",")&&s();let F=!0;for(;e<t.length&&t[e]!=="]";)if(F?F=!1:f(",")||(n=Je(n,",")),S(),!i()){n=_n(n,",");break}return t[e]==="]"?(n+="]",e++):n=Je(n,"]"),!0}return!1}function R(){let F=!0,K=!0;for(;K;)F?F=!1:f(",")||(n=Je(n,",")),K=i();K||(n=_n(n,",")),n=`[
|
|
46
|
+
${n}
|
|
47
|
+
]`}function O(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,z=t[e]==="\\";if(z&&(e++,z=!0),fo(t[e])){let be=kl(t[e])?kl:Nl(t[e])?Nl:ci(t[e])?ci:Ml,Ye=e,x=n.length,re='"';for(e++;;){if(e>=t.length){let he=N(e-1);return!F&&co(t.charAt(he))?(e=Ye,n=n.substring(0,x),O(!0)):(re=Je(re,'"'),n+=re,!0)}if(e===K)return re=Je(re,'"'),n+=re,!0;if(be(t[e])){let he=e,bt=re.length;if(re+='"',e++,n+=re,s(!1),F||e>=t.length||co(t[e])||fo(t[e])||kt(t[e]))return D(),!0;let ce=N(he-1),Oe=t.charAt(ce);if(Oe===",")return e=Ye,n=n.substring(0,x),O(!1,ce);if(co(Oe))return e=Ye,n=n.substring(0,x),O(!0);n=n.substring(0,x),e=he+1,re=`${re.substring(0,bt)}\\${re.substring(bt)}`}else if(F&&Rl(t[e])){if(t[e-1]===":"&&wl.test(t.substring(Ye+1,e+2)))for(;e<t.length&&Il.test(t[e]);)re+=t[e],e++;return re=Je(re,'"'),n+=re,D(),!0}else if(t[e]==="\\"){let he=t.charAt(e+1);if(dC[he]!==void 0)re+=t.slice(e,e+2),e+=2;else if(he==="u"){let ce=2;for(;ce<6&&Zp(t[e+ce]);)ce++;ce===6?(re+=t.slice(e,e+6),e+=6):e+ce>=t.length?e=t.length:pt()}else re+=he,e+=2}else{let he=t.charAt(e);he==='"'&&t[e-1]!=="\\"?(re+=`\\${he}`,e++):eh(he)?(re+=cC[he],e++):(jp(he)||Z(he),re+=he,e++)}z&&y()}}return!1}function D(){let F=!1;for(s();t[e]==="+";){F=!0,e++,s(),n=_n(n,'"',!0);let K=n.length;O()?n=oh(n,K,1):n=Je(n,'"')}return F}function q(){let F=e;if(t[e]==="-"){if(e++,oe())return W(F),!0;if(!kt(t[e]))return e=F,!1}for(;kt(t[e]);)e++;if(t[e]==="."){if(e++,oe())return W(F),!0;if(!kt(t[e]))return e=F,!1;for(;kt(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,oe())return W(F),!0;if(!kt(t[e]))return e=F,!1;for(;kt(t[e]);)e++}if(!oe())return e=F,!1;if(e>F){let K=t.slice(F,e),z=/^0\d/.test(K);return n+=z?`"${K}"`:K,!0}return!1}function U(){return L("true","true")||L("false","false")||L("null","null")||L("True","true")||L("False","false")||L("None","null")}function L(F,K){return t.slice(e,e+F.length)===F?(n+=K,e+=F.length,!0):!1}function $(F){let K=e;if(vl(t[e])){for(;e<t.length&&Sl(t[e]);)e++;let z=e;for(;Mt(t,z);)z++;if(t[z]==="(")return e=z+1,i(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Rl(t[e])&&!fo(t[e])&&(!F||t[e]!==":");)e++;if(t[e-1]===":"&&wl.test(t.substring(K,e+2)))for(;e<t.length&&Il.test(t[e]);)e++;if(e>K){for(;Mt(t,e-1)&&e>0;)e--;let z=t.slice(K,e);return n+=z==="undefined"?"null":JSON.stringify(z),t[e]==='"'&&e++,!0}}function Y(){if(t[e]==="/"){let F=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(F,e)}"`,!0}}function N(F){let K=F;for(;K>0&&Mt(t,K);)K--;return K}function oe(){return e>=t.length||co(t[e])||Mt(t,e)}function W(F){n+=`${t.slice(F,e)}0`}function Z(F){throw new Tt(`Invalid character ${JSON.stringify(F)}`,e)}function pe(){throw new Tt(`Unexpected character ${JSON.stringify(t[e])}`,e)}function le(){throw new Tt("Unexpected end of json string",t.length)}function ue(){throw new Tt("Object key expected",e)}function ge(){throw new Tt("Colon expected",e)}function pt(){let F=t.slice(e,e+6);throw new Tt(`Invalid unicode character "${F}"`,e)}}function fC(t,e){return t[e]==="*"&&t[e+1]==="/"}var pC=Ge("JSON_PARSE");function hC(t,e={}){if(!t||typeof t!="string")return e;try{return JSON.parse(t)}catch(n){let o=mC(t);if(o!==void 0)return o;try{let r=di(t);return JSON.parse(r)}catch(r){let i=ah(t);if(i&&i!==t)try{return JSON.parse(di(i))}catch{}return pC.error("Failed to parse JSON even with jsonrepair:",{originalError:n,repairError:r,jsonString:t}),e}}}var ih=Symbol("tool-args-parse-failed");function sh(t){if(t==null)return{};let e=typeof t=="string"?t.trim():"";if(!e)return{};let n=hC(e,ih);return n===ih?null:n&&typeof n=="object"&&!Array.isArray(n)?n:null}function mC(t){let e=ah(t);if(e&&e!==t.trim())try{return JSON.parse(e)}catch{return}}function ah(t){let e=t.trimStart();if(!e)return null;let n=e[0];if(n!=="{"&&n!=="[")return null;let o=0,r=!1,i=!1;for(let s=0;s<e.length;s++){let a=e[s];if(r){i?i=!1:a==="\\"?i=!0:a==='"'&&(r=!1);continue}if(a==='"'){r=!0;continue}if(a==="{"||a==="[")o++;else if(a==="}"||a==="]"){if(o--,o===0)return e.slice(0,s+1);if(o<0)return null}}return null}p();var gC=/[A-Za-z\u00C0-\u024F]/g;function yC(t){return t>=1024&&t<=1279||t>=1280&&t<=1327||t>=11744&&t<=11775||t>=42560&&t<=42655||t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=63744&&t<=64255||t>=44032&&t<=55215}function xl(t){let e=t.codePointAt(0);return e!==void 0&&yC(e)}function EC(t){let e=t.match(gC)?.length??0;if(e<24)return!1;let n=0;for(let o of t)xl(o)&&n++;return n===0||e>=n*8}function fi(t){if(!t||!EC(t))return t;let e="",n=0,o=[...t];for(;n<o.length;){if(!xl(o[n])){e+=o[n],n++;continue}let r=n;for(;r>0&&o[r-1]===" ";)r--;let i=n+1;for(;i<o.length&&xl(o[i]);)i++;for(;i<o.length&&o[i]===" ";)i++;let s=r>0?o[r-1]:"",a=i<o.length?o[i]:"";(/[A-Za-z0-9]/.test(s)&&/[A-Za-z0-9]/.test(a)||o[r]===" "||o[i-1]===" ")&&(e+=" "),n=i,r<n&&o[r]===" "&&e.endsWith(" ")&&(e=e.slice(0,-1))}return e.replace(/ {2,}/g," ")}p();var Cn=Ge("TAGGED_THINKING_PARSER"),ho=["<think>","<thinking>"],mo=["</think>","</thinking>"],TC=Math.max(...ho.map(t=>t.length),...mo.map(t=>t.length));function po(t,e,n){e&&t.push(n==="thought"?{text:e,thought:!0}:{text:e})}function pi(t,e,n){let o=t.length-e;return o<=0||o>TC?!1:n.some(r=>r.startsWith(t.slice(e,e+o)))}function hi(t,e,n){return n.find(o=>t.startsWith(o,e))}function bl(t){if(!t)return t;let e=t;return e=e.replace(/<\/?think(?:ing)?>/gi,""),e=e.replace(/[A-Za-z]*long[_-]?message[_-]?THINKING/gi,""),e=e.replace(/\bM?long[_-]?message\b/gi,""),e=e.replace(/(^|[\s>])THINKING(?=[\sA-Z<]|$)/g,"$1"),e!==t&&(e=e.replace(/[ \t]{2,}/g," ")),e}function lh(t){let e=[];for(let n of t){if(n.thought===!0||typeof n.text!="string"){e.push(n);continue}let o=fi(bl(n.text));(o.length>0||/^\s+$/.test(n.text))&&e.push({text:o.length>0?o:n.text})}return e}var Dl=class{mode="text";buffer="";parse(e,n=!1){this.buffer+=e;let o=this.buffer.toLowerCase(),r=[],i="",s=0;for(;s<this.buffer.length;){if(this.mode==="text"){let a=hi(o,s,ho);if(a){Cn.debug(`taggedThinking: detected open tag "${a}" at offset ${s}`),po(r,i,this.mode),i="",this.mode="thought",s+=a.length;continue}let l=hi(o,s,mo);if(l){Cn.debug(`taggedThinking: dropping orphan close tag "${l}" at offset ${s}`),po(r,i,this.mode),i="",s+=l.length;continue}if(!n&&(pi(o,s,ho)||pi(o,s,mo)))break}else{let a=hi(o,s,mo);if(a){Cn.debug(`taggedThinking: detected close tag "${a}" at offset ${s}`),po(r,i,this.mode),i="",this.mode="text",s+=a.length;continue}let l=hi(o,s,ho);if(l){s+=l.length;continue}if(!n&&(pi(o,s,mo)||pi(o,s,ho)))break}i+=this.buffer[s],s+=1}return s<this.buffer.length?(po(r,i,this.mode),this.buffer=this.buffer.slice(s),Cn.debug(`taggedThinking: emitted ${r.length} part(s), buffered ${this.buffer.length} char(s)`),lh(r)):(this.buffer="",this.mode==="thought"&&i&&Cn.warn(`taggedThinking: flushing ${i.length} chars of unclosed thought on stream end`),po(r,i,this.mode),Cn.debug(`taggedThinking: emitted ${r.length} part(s), flush complete`),lh(r))}};function uh(t){return new Dl().parse(t,!0)}p();function ch(t,e="auto"){return e==="openapi_30"?_C(t):t}function _C(t){let e=n=>{if(typeof n!="object"||n===null)return n;if(Array.isArray(n))return n.map(e);let o=n,r={};if(Array.isArray(o.type)){let i=o.type;i.length===2&&i.includes("null")?(r.type=i.find(s=>s!=="null"),r.nullable=!0):r.type=i[0]}else o.type!==void 0&&(r.type=o.type);o.const!==void 0&&(r.enum=[o.const],delete r.const),typeof o.exclusiveMinimum=="number"&&(r.minimum=o.exclusiveMinimum,r.exclusiveMinimum=!0),typeof o.exclusiveMaximum=="number"&&(r.maximum=o.exclusiveMaximum,r.exclusiveMaximum=!0),Array.isArray(o.items)?delete r.items:typeof o.items=="object"&&o.items!==null&&(r.items=e(o.items)),Array.isArray(o.enum)&&(r.enum=o.enum.map(String));for(let[i,s]of Object.entries(o))i==="type"||i==="const"||i==="exclusiveMinimum"||i==="exclusiveMaximum"||i==="items"||i==="enum"||i==="$schema"||i==="$id"||i==="default"||i==="dependencies"||i==="patternProperties"||(r[i]=e(s));return r};return e(t)}p();function An(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function mi(t){let e=t.candidates||0,n=t.thoughts||0;return n>e?e+n:Math.max(e,n)}function CC(t){return t.total&&t.total>0?Math.max(t.total,(t.prompt||0)+mi(t)):(t.prompt||0)+mi(t)}function AC(t){let e=Math.max(0,t.thoughtsTokens||0),n=mi({candidates:t.outputTokens||0,thoughts:e}),o=Math.max(t.totalTokens||0,(t.inputTokens||0)+n);return{...t,outputTokens:n,thoughtsTokens:e,totalTokens:o}}var _t=Ge("CONVERTER"),yh="(attached media from previous tool call)";function Eh(t,e={}){let n=t.prompt_tokens||0,o=t.completion_tokens||0,r=t.total_tokens||0,i=t.prompt_tokens_details,s=i?.cached_tokens??i?.cachedTokens??t.cached_tokens??t.prompt_cache_hit_tokens??t.cache_read_input_tokens??0,a=t.completion_tokens_details,l=a?.reasoning_tokens??a?.reasoningTokens??t.reasoning_tokens??0,u=Math.max(0,e.estimatedReasoningTokens??0),c=Math.max(0,e.estimatedContentTokens??0),f=l>0?l:u,h=o;f>0&&(o>=f?h=o:h=o+f),(c>0||u>0)&&(h=Math.max(h,c+(l>0?0:u),c+f)),r>n&&(n>0||o>0||f>0)&&(h=Math.max(h,r-n)),f===0&&u>0&&(f=u),f>h&&(f=h);let y=t.usage_is_incomplete===!0||o>0&&n===0||r>0&&n===0&&o===0,S=n,A=r;return(A===0&&(S>0||h>0)||A>0&&S>0&&A<S+h)&&(A=S+h),{promptTokenCount:S,candidatesTokenCount:h,totalTokenCount:A,cachedContentTokenCount:s,thoughtsTokenCount:f,...y?{usageIsIncomplete:!0}:{}}}var vC=64,dh=1024;function fh(t,e){if(t.length===0)return"";if(e.emittedText.length===0)return e.emittedText=t,e.emittedLength=t.length,t;if(e.cumulativeMode){if(t.startsWith(e.emittedText)){let n=t.slice(e.emittedText.length);return e.emittedText=t,e.emittedLength=t.length,n}return e.emittedText.startsWith(t)?(_t.debug(`normalizeStreamingTextDelta: cumulative rewind suppression (emitted=${e.emittedText.length}b, chunk=${t.length}b)`),""):(_t.debug("normalizeStreamingTextDelta: exiting cumulative mode (chunk does not match prior accumulated text)"),e.cumulativeMode=!1,e.emittedText=t,e.emittedLength+=t.length,t)}if(t.length>e.emittedText.length&&t.startsWith(e.emittedText)){let n=e.emittedText.length,r=n>=dh&&e.emittedLength>n?e.emittedLength:n;if(t.length>r){let i=t.slice(r);return e.emittedText=t,e.emittedLength=t.length,e.cumulativeMode=!0,_t.debug(`normalizeStreamingTextDelta: entered cumulative mode (prefix overlap, baseline=${n}b sliceFrom=${r}b -> curr=${t.length}b)`),i}}return t===e.emittedText?t.length>=vC?(e.cumulativeMode=!0,_t.debug(`normalizeStreamingTextDelta: entered cumulative mode (exact repeat, ${t.length}b)`),""):(e.emittedLength+=t.length,t):(e.emittedText.length<dh&&(e.emittedText+=t),e.emittedLength+=t.length,t)}function Th(t){if(!t||typeof t!="object")return t;let e=JSON.parse(JSON.stringify(t)),n=o=>{if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(n);let r={};for(let[i,s]of Object.entries(o))if(i==="type"&&typeof s=="string"){let a=s.toLowerCase();a==="integer"?r[i]="integer":a==="number"?r[i]="number":r[i]=a}else i==="minimum"||i==="maximum"||i==="multipleOf"?typeof s=="string"&&!isNaN(Number(s))?r[i]=Number(s):r[i]=s:i==="minLength"||i==="maxLength"||i==="minItems"||i==="maxItems"?typeof s=="string"&&!isNaN(Number(s))?r[i]=parseInt(s,10):r[i]=s:typeof s=="object"?r[i]=n(s):r[i]=s;return r};return n(e)}async function SC(t,e="auto"){let n=[];for(let o of t){let r;if("tool"in o?r=await o.tool():r=o,r.functionDeclarations){for(let i of r.functionDeclarations)if(i.name&&i.description){let s;i.parametersJsonSchema?s={...i.parametersJsonSchema}:i.parameters&&(s=Th(i.parameters)),s&&(s=ch(s,e)),n.push({type:"function",function:{name:i.name,description:i.description,parameters:s}})}}}return n}function wC(t,e,n={cleanOrphanToolCalls:!0}){let o=[];return RC(t,o),PC(t.contents,o,e),o=gh(o),n.cleanOrphanToolCalls&&(o=GC(o),o=gh(o)),o}function IC(t,e){let n=t.candidates?.[0],o=n?.content?.parts||[],r=[],i=[],s=[],a=0;for(let A of o)typeof A=="string"?i.push(A):"text"in A&&A.text?"thought"in A&&A.thought?r.push(A.text):i.push(A.text):"functionCall"in A&&A.functionCall&&(s.push({id:A.functionCall.id||`call_${a}`,type:"function",function:{name:A.functionCall.name||"",arguments:JSON.stringify(A.functionCall.args||{})}}),a+=1);let l={role:"assistant",content:i.join("")||null,refusal:null},u=r.join("");u&&(l.reasoning_content=u),s.length>0&&(l.tool_calls=s);let c=LC(n?.finishReason),f=t.usageMetadata,h={prompt_tokens:f?.promptTokenCount||0,completion_tokens:f?.candidatesTokenCount||0,total_tokens:f?.totalTokenCount||0};f?.cachedContentTokenCount!==void 0&&(h.prompt_tokens_details={cached_tokens:f.cachedContentTokenCount});let y=t.createTime?Number(t.createTime):Date.now(),S=Number.isFinite(y)?Math.floor(y/1e3):Math.floor(Date.now()/1e3);return{id:t.responseId||`gemini-${Date.now()}`,object:"chat.completion",created:S,model:t.modelVersion||e.model,choices:[{index:0,message:l,finish_reason:c,logprobs:null}],usage:h}}function RC(t,e){if(!t.config?.systemInstruction)return;let n=Ch(t.config.systemInstruction);n&&e.push({role:"system",content:n})}function PC(t,e,n){if(Array.isArray(t))for(let o of t)ph(o,e,n);else t&&ph(t,e,n)}function ph(t,e,n){if(typeof t=="string"){e.push({role:"user",content:t});return}if(!xC(t))return;let o=t.parts||[],r=t.role==="model"?"assistant":"user",i=[],s=[],a=[],l=0,u=new Set,c=new Set,f=[];for(let h of o){if(typeof h=="string"){i.push({type:"text",text:h});continue}"text"in h&&"thought"in h&&h.thought&&r==="assistant"&&h.text&&s.push(h.text),"text"in h&&h.text&&!("thought"in h&&h.thought)&&i.push({type:"text",text:h.text});let y=_h(h,n);if(y&&r==="user"&&i.push(y),"functionCall"in h&&h.functionCall&&r==="assistant"){let S=h.functionCall.id;if(S){if(u.has(S)){_t.debug(`Dropping duplicate functionCall id=${S} while converting content`);continue}u.add(S)}a.push({id:S||`call_${l}`,type:"function",function:{name:h.functionCall.name||"",arguments:JSON.stringify(h.functionCall.args||{})}}),l+=1}if(h.functionResponse&&r==="user"){let S=h.functionResponse.id;if(S){if(c.has(S))continue;c.add(S)}let A=kC(h.functionResponse,n);if(A){if(n.splitToolMedia&&Array.isArray(A.content)){let T=[],R=[];for(let O of A.content)O&&(O.type==="image_url"||O.type==="input_audio"||O.type==="video_url"||O.type==="file")?T.push(O):O&&O.type==="text"&&R.push(O);if(T.length>0){let O=R.map(D=>D.text).join(`
|
|
48
|
+
`);A.content=O||"[media attached in following user message]",f.push(...T)}}e.push(A)}}}if(f.length>0&&e.push({role:"user",content:[{type:"text",text:yh},...f]}),r==="assistant"){if(i.length===0&&a.length===0&&s.length===0)return;let y={role:"assistant",content:i.filter(A=>A.type==="text").map(A=>A.text).join("")||(s.length>0?"":null)};a.length>0&&(y.tool_calls=a);let S=s.join("");S&&(y.reasoning_content=S),e.push(y);return}i.length>0&&e.push({role:"user",content:i})}function MC(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="object"){let e=t,n=e.output;if(typeof n=="string")return n;let o=e.error;if(typeof o=="string")return o}try{return JSON.stringify(t)??String(t)}catch{return String(t)}}function kC(t,e){let n=MC(t.response),o=[];n&&o.push({type:"text",text:n});for(let r of t.parts||[]){if("text"in r&&typeof r.text=="string"){r.text.length>0&&o.push({type:"text",text:r.text});continue}let i=_h(r,e);i&&o.push(i)}return o.length===0?{role:"tool",tool_call_id:t.id||"",content:""}:{role:"tool",tool_call_id:t.id||"",content:o}}function _h(t,e){let{modalities:n}=e;if(t.inlineData?.mimeType&&t.inlineData?.data){let o=t.inlineData.mimeType,r=hh(o),i=t.inlineData.displayName||o;if(r==="image")return n.image?{type:"image_url",image_url:{url:`data:${o};base64,${t.inlineData.data}`}}:Kt("image",i,e);if(o==="application/pdf")return n.pdf?{type:"file",file:{filename:t.inlineData.displayName||"document.pdf",file_data:`data:${o};base64,${t.inlineData.data}`}}:Kt("pdf",i,e);if(r==="audio"){if(!n.audio)return Kt("audio",i,e);let s=NC(o);if(s)return{type:"input_audio",input_audio:{data:`data:${o};base64,${t.inlineData.data}`,format:s}}}return r==="video"?n.video?{type:"video_url",video_url:{url:`data:${o};base64,${t.inlineData.data}`}}:Kt("video",i,e):{type:"text",text:`Unsupported inline media type: ${o} (${i}).`}}if(t.fileData?.mimeType&&t.fileData?.fileUri){let o=t.fileData.displayName||"file",r=t.fileData.fileUri,i=t.fileData.mimeType,s=hh(i);if(s==="image")return n.image?{type:"image_url",image_url:{url:r}}:Kt("image",o,e);if(i==="application/pdf")return n.pdf?{type:"file",file:{filename:o,file_data:r}}:Kt("pdf",o,e);if(s==="video")return n.video?{type:"video_url",video_url:{url:r}}:Kt("video",o,e);let a=t.fileData.displayName?` (${t.fileData.displayName})`:"";return{type:"text",text:`Unsupported file media type: ${i}${a}.`}}return null}function Kt(t,e,n){_t.warn(`Model '${n.model}' does not support ${t} input. Replacing with text placeholder: ${e}`);let o;return t==="pdf"?o=`This model does not support PDF input directly. The read_file tool cannot extract PDF content either. To extract text from the PDF file, try using skills if applicable, or guide user to install pdf skill by running this slash command:
|
|
49
|
+
/extensions install https://github.com/anthropics/skills:document-skills`:o=`This model does not support ${t} input. The read_file tool cannot process this type of file either. To handle this file, try using skills if applicable, or any tools installed at system wide, or let the user know you cannot process this type of file.`,{type:"text",text:`[Unsupported ${t} file: "${e}". ${o}]`}}function hh(t){return t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"}function NC(t){return t.includes("wav")?"wav":t.includes("mp3")||t.includes("mpeg")?"mp3":null}function xC(t){return typeof t=="object"&&t!==null&&"role"in t&&"parts"in t&&Array.isArray(t.parts)}function Ch(t){return typeof t=="string"?t:Array.isArray(t)?t.map(e=>Ch(e)).filter(Boolean).join(`
|
|
50
|
+
`):typeof t=="object"&&t!==null&&"parts"in t&&t.parts?.map(n=>typeof n=="string"?n:"text"in n&&n.text||"").filter(Boolean).join(`
|
|
51
|
+
`)||""}function gi(t,e,n=!0){if(e.taggedThinkingParser)return e.taggedThinkingParser.parse(t,n);if(e.responseParsingOptions?.taggedThinkingTags)return uh(t);if(!t)return[];let o=fi(bl(t));return o?[{text:o}]:[]}function DC(t,e){let n=t.choices?.[0],o=new Et;if(n){let r=[];if(!e.responseParsingOptions?.taggedThinkingTags){let i=n.message.reasoning_content??n.message.reasoning;i&&r.push({text:i,thought:!0})}if(n.message.content&&r.push(...gi(n.message.content,e)),n.message.tool_calls){for(let i of n.message.tool_calls)if(i.function){let s=sh(i.function.arguments);if(s===null)continue;r.push({functionCall:{id:i.id,name:i.function.name,args:s}})}}o.candidates=[{content:{parts:r,role:"model"},finishReason:Ah(n.finish_reason),index:0,safetyRatings:[]}]}else o.candidates=[];if(o.responseId=t.id,o.createTime=t.created?t.created.toString():new Date().getTime().toString(),o.modelVersion=e.model,o.promptFeedback={safetyRatings:[]},t.usage){let r=t.choices?.[0]?.message,i=r?.reasoning_content??r?.reasoning??"",s=typeof r?.content=="string"?r.content:"";o.usageMetadata=Eh(t.usage,{estimatedReasoningTokens:An(i.length),estimatedContentTokens:An(s.length)})}return o}function bC(t,e){let n=t.choices?.[0],o=new Et,r=e.toolCallParser;if(!r)throw new Error("convertOpenAIChunkToGemini requires requestContext.toolCallParser \u2014 attach a fresh StreamingToolCallParser at stream start.");if(n){let i=[];if(!e.responseParsingOptions?.taggedThinkingTags){let u=n.delta?.reasoning_content??n.delta?.reasoning;if(u){let c=fh(u,e.reasoningDeltaState??={emittedText:"",emittedLength:0,cumulativeMode:!1});c&&i.push({text:c,thought:!0})}}if(typeof n.delta?.content=="string"){let u=fh(n.delta.content,e.textDeltaState??={emittedText:"",emittedLength:0,cumulativeMode:!1});(u||n.finish_reason)&&i.push(...gi(u,e,!!n.finish_reason))}else n.finish_reason&&i.push(...gi("",e,!0));if(n.delta?.tool_calls)for(let u of n.delta.tool_calls){let c=u.index??0;u.function?.arguments?r.addChunk(c,u.function.arguments,u.id,u.function.name):r.addChunk(c,"",u.id,u.function?.name)}let s=!1;if(n.finish_reason){s=r.hasIncompleteToolCalls();let u=r.getCompletedToolCalls();for(let c of u)c.name&&i.push({functionCall:{id:c.id||`call_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,name:c.name,args:c.args}})}let a=s&&n.finish_reason!=="length"?"length":n.finish_reason,l={content:{parts:i,role:"model"},index:0,safetyRatings:[]};a&&(l.finishReason=Ah(a)),o.candidates=[l]}else o.candidates=[];return o.responseId=t.id,o.createTime=t.created?t.created.toString():new Date().getTime().toString(),o.modelVersion=e.model,o.promptFeedback={safetyRatings:[]},t.usage&&(o.usageMetadata=Eh(t.usage,UC(e))),o}function OC(t){let e=t.toolCallParser;if(!e)return null;let n=[],o=e.getStrictCompletedToolCalls(),r=e.hasIncompleteToolCalls();for(let s of o)s.name&&n.push({functionCall:{id:s.id||`call_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,name:s.name,args:s.args}});if(n.push(...gi("",t,!0)),n.length===0&&!r)return null;let i=new Et;return i.candidates=[{content:{parts:n,role:"model"},index:0,safetyRatings:[],finishReason:r?ie.MAX_TOKENS:ie.STOP}],i.responseId=`stream-flush-${Date.now()}`,i.createTime=new Date().getTime().toString(),i.modelVersion=t.model,i.promptFeedback={safetyRatings:[]},i}function UC(t){return{estimatedReasoningTokens:An(t.reasoningDeltaState?.emittedLength??0),estimatedContentTokens:An(t.textDeltaState?.emittedLength??0)}}function Ah(t){return t?{stop:ie.STOP,length:ie.MAX_TOKENS,content_filter:ie.SAFETY,function_call:ie.STOP,tool_calls:ie.STOP}[t]||ie.FINISH_REASON_UNSPECIFIED:ie.FINISH_REASON_UNSPECIFIED}function LC(t){if(!t)return"stop";switch(t){case ie.STOP:return"stop";case ie.MAX_TOKENS:return"length";case ie.SAFETY:case ie.RECITATION:case ie.BLOCKLIST:case ie.PROHIBITED_CONTENT:case ie.SPII:case ie.IMAGE_SAFETY:case ie.IMAGE_RECITATION:case ie.IMAGE_PROHIBITED_CONTENT:case ie.IMAGE_OTHER:return"content_filter";case ie.NO_IMAGE:return"stop";default:return"stop"}}function Ol(t){return t.role==="assistant"&&"tool_calls"in t&&Array.isArray(t.tool_calls)&&t.tool_calls.length>0}function mh(t){if(t.role!=="user"||!("content"in t)||!Array.isArray(t.content))return!1;let e=t.content[0];return e?.type==="text"&&e.text===yh}function GC(t){let e=[],n=new Map,o=new Map,r=new Map,i=new Set,s=new Set;for(let a=0;a<t.length;a+=1){let l=t[a];if(Ol(l)){let u=[],c=new Set;for(let T of l.tool_calls){let R=T.id;!R||s.has(R)||c.has(R)||(c.add(R),u.push(T))}let f=new Set,h=[],y=[],S=!1;for(let T=a+1;T<t.length;T+=1){let R=t[T];if(R.role==="tool"&&"tool_call_id"in R){if(!R.tool_call_id){S=!1;continue}c.has(R.tool_call_id)&&!f.has(R.tool_call_id)?(f.add(R.tool_call_id),h.push(T),S=!0):S=!1;continue}if(mh(R)){S&&y.push(T);continue}if(!(R.role==="assistant"&&!Ol(R)))break}let A=u.filter(T=>f.has(T.id));for(let T of A)s.add(T.id);n.set(a,A),o.set(a,h),r.set(a,y)}}for(let a=0;a<t.length;a+=1){if(i.has(a))continue;let l=t[a];if(Ol(l)){let u=l.reasoning_content,c=n.get(a)??[];if(c.length>0){let f={...l};f.tool_calls=c,e.push(f);for(let h of o.get(a)??[]){let y=t[h];y&&(e.push(y),i.add(h))}for(let h of r.get(a)??[]){let y=t[h];y&&(e.push(y),i.add(h))}}else if(typeof l.content=="string"&&l.content.trim()||u){let f={...l};delete f.tool_calls,e.push(f)}else _t.debug(`cleanOrphanedToolCalls: dropping assistant with ${l.tool_calls.length} orphaned tool call(s) and no text/reasoning content`)}else l.role==="tool"&&"tool_call_id"in l?_t.debug(`cleanOrphanedToolCalls: dropping orphaned tool response ${l.tool_call_id||"<empty>"}`):mh(l)?_t.debug("cleanOrphanedToolCalls: dropping orphaned split tool media message"):e.push(l)}return e}function gh(t){let e=[];for(let n of t){if(n.role==="assistant"&&e.length>0){let o=e[e.length-1];if(o.role==="assistant"){let r="tool_calls"in o?o.tool_calls||[]:[],i="tool_calls"in n?n.tool_calls||[]:[],s=o.content,a=n.content,l=Array.isArray(s)||Array.isArray(a),u;if(l){let f=Array.isArray(s)?s:typeof s=="string"&&s?[{type:"text",text:s}]:[],h=Array.isArray(a)?a:typeof a=="string"&&a?[{type:"text",text:a}]:[];u=[...f,...h]}else u=[typeof s=="string"?s:"",typeof a=="string"?a:""].filter(Boolean).join("")||null;let c=[...r,...i];o.content=u||null,c.length>0&&(o.tool_calls=c);continue}}e.push(n)}return e}var yi={convertGeminiToolParametersToOpenAI:Th,convertGeminiToolsToOpenAI:SC,convertGeminiRequestToOpenAI:wC,convertGeminiResponseToOpenAI:IC,convertOpenAIResponseToGemini:DC,convertOpenAIChunkToGemini:bC,flushOpenAIStreamToGemini:OC};p();p();p();var yo="MATILDA_API_KEY";var vn="matilda-code-1.0",Ul="Matilda",Nt="https://matilda.com",Sn=`${Nt}/api/v1/code`,go="https://matilda.maincode.com",vh=[Nt,go].map(t=>new URL(t).hostname);function cP(t){return vh.includes(t.toLowerCase())}function wn(t){let e=t.toLowerCase();return vh.some(n=>e===n||e.endsWith(`.${n}`))}function Ll(t,e,n){let o;try{o=new URL(t)}catch{return t}if(o.origin!==e||o.username||o.password)return t;let r=`${o.pathname}${o.search}${o.hash}`;return`${n}${r==="/"?"":r}`}function Re(t){return Ll(t,go,Nt)}function FC(t){return Ll(Re(t),Nt,go)}function dP(t){let e=FC(t),n=Ll(e,go,`${go}:443`);return n===e?[e]:[e,n]}var fP={id:"matilda",label:"Matilda",description:"Connect to the Matilda Core code API endpoint",protocol:"openai",baseUrl:Sn,envKey:yo,models:[{id:vn,displayName:Ul,contextWindowSize:1048576,description:"Matilda Code model",generationConfig:{openAIRequestProfile:"matilda-code",timeout:6e5,samplingParams:{max_tokens:65536,chat_template_kwargs:{enable_thinking:!0}},schemaCompliance:"openapi_30",splitToolMedia:!0,customHeaders:{"User-Agent":"MatildaCode/0.1"}}}],documentationUrl:"https://help.maincode.com/products/matilda/v1/en/authentication/manage-api-keys"};var Eo=Nt,qC="https://matilda.maincode.com",dt="Matilda has moved to https://matilda.com. Update your server address and sign in again.";function Ei(t){try{return new URL(t).hostname==="matilda.maincode.com"}catch{return!1}}function Ct(t){if(Ei(t))throw new Error(dt);if(In(t)){let e=new URL(t);if(e.origin!==Eo||e.username||e.password)throw new Error("Use https://matilda.com for Matilda sign-in and API requests.")}}function In(t){try{return new URL(t).hostname==="matilda.com"}catch{return!1}}function ft(t){if(t.baseUrl&&Ei(t.baseUrl))return!0;try{return t.baseUrl&&new URL(t.baseUrl).origin!==Eo?!1:JSON.parse(Buffer.from(t.accessToken.split(".")[1]??"","base64url").toString()).iss===qC}catch{return!1}}p();var EP=new Set(["ECONNRESET","ETIMEDOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_SOCKET","ConnectionClosed","ConnectionReset","ConnectionTimedOut"]),Sh=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTUNREACH","ENETDOWN","ENETUNREACH","ENOTFOUND","UND_ERR_CONNECT_TIMEOUT","ConnectionRefused","FailedToOpenSocket","HostUnreachable","NetworkUnreachable"]);p();var _i="NOT_A_PROXY",BC=/^(?:UND_ERR_SOCKET|HPE_.*|ERR_SSL_(?:WRONG_VERSION_NUMBER|PACKET_LENGTH_TOO_LONG|HTTP_REQUEST|UNKNOWN_PROTOCOL))$/,VC={"http:":80,"https:":443},HC=/^(?:(?:.+\.)?localhost|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|::1)$/;function $C(t){let e=t.toLowerCase().replace(/^\*?\./,"");if(e==="*")return{host:"*",wildcard:!0};let n=e.match(/^\[(.+)\](?::(\d+))?$/)??e.match(/^([^:]+):(\d+)$/),o=n?.[1]??e;return n?.[2]?{host:o,port:Number(n[2]),wildcard:!1}:{host:o,wildcard:!1}}function KC(t){return(t??"").split(/[,\s]+/).filter(Boolean)}function CP(t){return KC(t).map($C)}function JC(t,e){let n=typeof t=="string"?new URL(t):t,o=n.hostname.toLowerCase().replace(/^\[|\]$/g,"");if(HC.test(o))return!0;let r=n.port?Number(n.port):VC[n.protocol];return e.some(i=>i.wildcard||(i.port===void 0||i.port===r)&&(o===i.host||o.endsWith(`.${i.host}`)))}function AP(t){let e=t.connect.bind(t);return t.connect=async n=>{try{return await e(n)}catch(o){let{code:r}=o;throw typeof r=="string"&&BC.test(r)?Object.assign(new Error("The address did not answer as a proxy."),{code:_i}):o}},t}var Ti;function vP(t,e=[]){Ti=t?{host:new URL(t).host,noProxy:e}:void 0}function wh(t){return Ti&&URL.canParse(t)&&!JC(t,Ti.noProxy)?Ti.host:void 0}var To="MATILDA_BASE_URL",WC=new Set(["localhost","127.0.0.1","[::1]"]);function At(t){return Re(t.trim()).replace(/\/+$/,"").replace(/\/api\/v1(?:\/code)?$/i,"")}var Ph=new Set;function Mh(t){let e=At(t||We());try{let{origin:n,pathname:o}=new URL(e);return`${n}${o.replace(/\/+$/,"")}`}catch{return e}}function YC(t){Ph.add(Mh(t))}function NP(t,e=(n,o)=>globalThis.fetch(n,o)){return async(n,o)=>{let r=await e(n,o);return YC(t),r}}function xP(t){return Ph.has(Mh(t))}function DP(t){try{let{host:e}=new URL(At(t));return e===new URL(Sn).host?"Matilda":e}catch{return t}}function kh(t){let e;try{e=new URL(At(t))}catch{return}if(!(!(e.protocol==="https:"||e.protocol==="http:"&&WC.has(e.hostname))||e.username||e.password||e.search||e.hash))return`${e.origin}${e.pathname.replace(/\/+$/,"")}/api/v1/code`}function Nh(t=process.env){let e=t[To]?.trim();return e?kh(e):void 0}function _o(t,e=process.env){let n=Nh(e);if(!n||!t)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function Gl(t){return t.apiKeyEnvKey===yo||zC(t.baseUrl)}function zC(t){if(!t)return!0;let e=t.endsWith("/")?t.slice(0,-1):t,n=null;try{n=new URL(e).hostname.toLowerCase()}catch{n=null}return n!==null&&(wn(n)||n==="localhost"||n==="127.0.0.1"||n.endsWith(".matilda")||n==="core-api.matilda")||_o(e)}var Ci="its certificate is not from an authority this computer trusts. If it uses a private certificate authority, or your network inspects secure connections, set NODE_EXTRA_CA_CERTS to that authority's certificate file.",XC=new Map([["UNABLE_TO_GET_ISSUER_CERT_LOCALLY",Ci],["UNABLE_TO_VERIFY_LEAF_SIGNATURE",Ci],["SELF_SIGNED_CERT_IN_CHAIN",Ci],["DEPTH_ZERO_SELF_SIGNED_CERT",Ci],["CERT_HAS_EXPIRED","its certificate has expired."],["ERR_TLS_CERT_ALTNAME_INVALID","its certificate is for another name. Check the address."]]),Ih="its name does not resolve. Check the address and your network.",Rh="it refused the connection. Check the address, and that it is running.",QC=new Map([["ENOTFOUND",Ih],["EAI_AGAIN",Ih],["ECONNREFUSED",Rh],["ConnectionRefused",Rh],["UND_ERR_CONNECT_TIMEOUT","it did not answer. Check your network, VPN and proxy."]]),xh=5,ZC=/^Proxy response \((\d+)\)/,Dh=t=>t?`the proxy at ${t}`:"your proxy";function jC(t,e){let n=Dh(e);if(t===407)return`${n} did not accept a user name and password (407). Set them in its address, as http://user:password@host:port.`;let o="add it to NO_PROXY if it is on your own network";return t===403?`${n} blocks it (403). Ask your network team to allow it, or ${o}.`:`${n} could not connect to it (${t}). Check the address, or ${o}.`}function Co(t,e){if(ot(t)!==void 0)return;let n=wh(e),o=t;for(let r=0;r<=xh;r++){if(typeof o!="object"||o===null)return;let i=o,s=i.transportCode??i.code,{cause:a,message:l}=i,u=typeof l=="string"?ZC.exec(l):null;if(u)return new zt(`Could not reach ${At(e)}: ${jC(Number(u[1]),n)}`,"UND_ERR_ABORTED");if(s===_i)return new zt(`Could not reach ${At(e)}: ${Dh(n)} did not answer as a proxy. Check its address, and whether it starts with http:// or https://.`,_i);if(typeof s=="string"){let c=At(e),f=XC.get(s);if(f)return new zt(`Could not connect securely to ${c}: ${f}`,s);if(Sh.has(s))return new zt(`Could not reach ${n?`the proxy at ${n}, for ${c}`:c}: ${QC.get(s)??"the network cannot reach it. Check your network, VPN and proxy."}`,s)}o=a}}function Fl(t,e){let n=t;for(let o=0;o<=xh;o++){if(typeof n!="object"||n===null)return;let{name:r,code:i,cause:s}=n;if(r==="TimeoutError"||r==="AuthError"&&i==="timeout")return new zt(`${At(e)} did not answer in time. Check your network, VPN and proxy.`,"ETIMEDOUT");n=s}}function eA(t=process.env){let e=t[To]?.trim();if(e&&Ct(e),e&&!kh(e))throw new xo(`${To} must be the HTTPS address of your Matilda deployment, such as https://matilda.example.com. HTTP is accepted only for localhost.`)}function We(t=process.env){return eA(t),Nh(t)??Sn}p();p();p();es();var tA=new Set(["service.version","service.instance.id","session.id"]);function Jt(t,e){bo.warn(t),e?.push(t)}function bh(t,e){if(!t)return{};let n={};for(let o of t.split(",")){let r=o.trim();if(!r)continue;let i=r.indexOf("=");if(i<0){Jt(`Skipping malformed OTEL_RESOURCE_ATTRIBUTES entry: "${r}" (hint: percent-encode literal commas as %2C)`,e);continue}let s=r.slice(0,i).trim();if(!s)continue;let a=r.slice(i+1).trim(),l;try{l=decodeURIComponent(s)}catch{Jt(`Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES key "${s}", using raw key`,e),l=s}let u;try{u=decodeURIComponent(a)}catch{Jt(`Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES for key "${l}", using raw value`,e),u=a}n[l]=u}return n}function ql(t,e,n){for(let o of tA)o in t&&(Jt(`${e} cannot override reserved key "${o}"; ignoring`,n),delete t[o]);return t}function Oh(t,e){if(t==null)return{};if(typeof t!="object"||Array.isArray(t))return Jt("settings.telemetry.resourceAttributes must be an object; ignoring",e),{};let n={};for(let[o,r]of Object.entries(t)){let i=o.trim();if(!i){Jt("settings.telemetry.resourceAttributes has an empty or whitespace-only key; ignoring",e);continue}typeof r=="string"?n[i]=r:Jt(`settings.telemetry.resourceAttributes value for "${i}" must be a string (got ${typeof r}); ignoring`,e)}return n}function Ao(t){if(t!==void 0)return t==="true"||t==="1"}async function nA(t){let e=t.argv??{},n=t.env??{},o=t.settings??{},r=e.telemetry??Ao(n.MATILDA_TELEMETRY_ENABLED)??o.enabled,i=e.telemetryOtlpEndpoint??n.MATILDA_TELEMETRY_OTLP_ENDPOINT??n.OTEL_EXPORTER_OTLP_ENDPOINT??o.otlpEndpoint,s=e.telemetryOtlpProtocol??n.MATILDA_TELEMETRY_OTLP_PROTOCOL??o.otlpProtocol,a=["grpc","http"].find(U=>U===s);if(s!==void 0&&a===void 0)throw new xo(`Invalid telemetry OTLP protocol: ${String(s)}. Valid values are: grpc, http`);let l=e.telemetryLogPrompts??Ao(n.MATILDA_TELEMETRY_LOG_PROMPTS)??o.logPrompts,u=Ao(n.MATILDA_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTES)??o.includeSensitiveSpanAttributes??!1,c=e.telemetryOutfile??n.MATILDA_TELEMETRY_OUTFILE??o.outfile,f=n.MATILDA_TELEMETRY_OTLP_TRACES_ENDPOINT??n.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT??o.otlpTracesEndpoint,h=n.MATILDA_TELEMETRY_OTLP_LOGS_ENDPOINT??n.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT??o.otlpLogsEndpoint,y=n.MATILDA_TELEMETRY_OTLP_METRICS_ENDPOINT??n.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT??o.otlpMetricsEndpoint,S=[],A=ql(bh(n.OTEL_RESOURCE_ATTRIBUTES,S),"OTEL_RESOURCE_ATTRIBUTES",S),T=ql(Oh(o.resourceAttributes,S),"settings.telemetry.resourceAttributes",S),R={...A,...T},O=n.OTEL_SERVICE_NAME?.trim();O&&(R["service.name"]=O);let D=Object.keys(R).length?R:void 0,q=Ao(n.MATILDA_TELEMETRY_METRICS_INCLUDE_SESSION_ID)??o.metrics?.includeSessionId??!1;return{enabled:r,otlpEndpoint:i,otlpProtocol:a,otlpTracesEndpoint:f,otlpLogsEndpoint:h,otlpMetricsEndpoint:y,logPrompts:l,includeSensitiveSpanAttributes:u,outfile:c,resourceAttributes:D,metrics:{includeSessionId:q},resourceAttributeWarnings:S.length?S:void 0}}p();es();import*as Dt from"node:fs";import*as Xi from"node:path";p();p();p();p();es();p();import{AsyncLocalStorage as oA}from"node:async_hooks";var Uh=new oA;p();import*as tt from"node:path";import{promises as Si}from"node:fs";p();p();import rA from"crypto";var vi=new Uint8Array(256),Ai=vi.length;function Bl(){return Ai>vi.length-16&&(rA.randomFillSync(vi),Ai=0),vi.slice(Ai,Ai+=16)}p();var Ee=[];for(let t=0;t<256;++t)Ee.push((t+256).toString(16).slice(1));function Lh(t,e=0){return Ee[t[e+0]]+Ee[t[e+1]]+Ee[t[e+2]]+Ee[t[e+3]]+"-"+Ee[t[e+4]]+Ee[t[e+5]]+"-"+Ee[t[e+6]]+Ee[t[e+7]]+"-"+Ee[t[e+8]]+Ee[t[e+9]]+"-"+Ee[t[e+10]]+Ee[t[e+11]]+Ee[t[e+12]]+Ee[t[e+13]]+Ee[t[e+14]]+Ee[t[e+15]]}p();p();import iA from"crypto";var Vl={randomUUID:iA.randomUUID};function sA(t,e,n){if(Vl.randomUUID&&!e&&!t)return Vl.randomUUID();t=t||{};let o=t.random||(t.rng||Bl)();if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,e){n=n||0;for(let r=0;r<16;++r)e[n+r]=o[r];return e}return Lh(o)}var Hl=sA;import*as xt from"os";var wi=Ge("OPENAI_LOGGER"),aA="########",lA=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function uA(t,e){let n=e||process.cwd();if(!t)return tt.join(n,"logs","openai");let o=t;return t==="~"||t.startsWith("~/")?o=tt.join(xt.homedir(),t.slice(1)):tt.isAbsolute(t)||(o=tt.resolve(n,t)),tt.normalize(o)}function Gh(t){return t&&t.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function cA(t){let e=t.split("#");if(e.length!==3)return;let[,n,o]=e;if(!(!n||!o||!/^\d+$/.test(o)))return`subagent-${n}`}function dA(t){if(t)return Xt(t)?Gh(t):Gh(cA(t))}function fA(t){if(!t)return;let e=t.indexOf(aA);if(e>0)return t.slice(0,e);if(lA.test(t))return t;let n=t.split("#");if(n.length>=3&&n[0])return n[0]}function pA(t){let e=t?.trim(),n=fA(e);return!e&&!n?null:{...e?{promptId:e}:{},...n?{sessionId:n}:{}}}var vo=class{logDir;initialized=!1;constructor(e,n){this.logDir=uA(e,n)}async initialize(){if(!this.initialized)try{await Si.mkdir(this.logDir,{recursive:!0}),this.initialized=!0}catch(e){throw wi.error("Failed to initialize OpenAI logger:",e),new Error(`Failed to initialize OpenAI logger: ${e}`)}}async logInteraction(e,n,o,r){this.initialized||await this.initialize();let i=new Date().toISOString().replace(/:/g,"-"),s=Hl().slice(0,8),a=dA(r),l=a?`openai-${i}-${s}-${a}.json`:`openai-${i}-${s}.json`,u=tt.join(this.logDir,l),c={timestamp:new Date().toISOString(),request:e,response:n||null,error:o?{message:o.message,stack:o.stack}:null,context:pA(r),system:{hostname:xt.hostname(),platform:xt.platform(),release:xt.release(),nodeVersion:process.version}};try{return await Si.writeFile(u,JSON.stringify(c,(f,h)=>typeof h=="string"?Ru(h):h,2),"utf-8"),u}catch(f){throw wi.error("Failed to write OpenAI log file:",f),new Error(`Failed to write OpenAI log file: ${f}`)}}async getLogFiles(e){this.initialized||await this.initialize();try{let o=(await Si.readdir(this.logDir)).filter(r=>r.startsWith("openai-")&&r.endsWith(".json")).map(r=>tt.join(this.logDir,r)).sort().reverse();return e?o.slice(0,e):o}catch(n){return n.code==="ENOENT"?[]:(wi.error("Failed to read OpenAI log directory:",n),[])}}async readLogFile(e){try{let n=await Si.readFile(e,"utf-8");return JSON.parse(n)}catch(n){throw wi.error(`Failed to read log file ${e}:`,n),new Error(`Failed to read log file: ${n}`)}}},p0=new vo;p();var hA="MATILDA_CODE_PROFILE_RUNTIME";function Fh(t=process.env){return t[hA]==="1"}var Kl=class{enabled;now;startedAt;requestIndex=0;openAIWireRequestIndex=0;requests=[];openaiWireRequests=[];tools=qh();constructor(e={}){this.enabled=e.enabled??Fh(),this.now=e.now??(()=>new Date().toISOString()),this.startedAt=this.now()}reset(e={}){this.enabled=e.enabled??Fh(),this.startedAt=this.now(),this.requestIndex=0,this.openAIWireRequestIndex=0,this.requests=[],this.openaiWireRequests=[],this.tools=qh()}isEnabled(){return this.enabled}recordGenerateContentRequest(e,n){this.enabled&&(this.requestIndex+=1,this.requests.push({index:this.requestIndex,timestamp:this.now(),source:n.source,model:e.model,stream:n.stream,serializedBytes:Pe(_A(e)),contents:Bh(e.contents),systemInstructionBytes:yA(e.config?.systemInstruction),generationConfigBytes:Pe(Vh(e.config)),tools:TA(e.config?.tools)}))}recordOpenAIWireRequest(e){this.enabled&&(this.openAIWireRequestIndex+=1,this.openaiWireRequests.push({index:this.openAIWireRequestIndex,timestamp:this.now(),...mA(e)}))}recordToolUse(e,n){if(!this.enabled)return;let o=Pe(n),r=this.getToolNameDiagnostics(e);r.uses+=1,r.argBytes+=o,r.maxArgBytes=Math.max(r.maxArgBytes,o),this.tools.toolUseCount+=1,this.tools.totalToolUseArgBytes+=o,this.tools.maxToolUseArgBytes=Math.max(this.tools.maxToolUseArgBytes,o)}recordToolResult(e){if(!this.enabled)return;let n=this.getToolNameDiagnostics(e.name);n.results+=1,n.resultBytes+=e.resultBytes,n.maxResultBytes=Math.max(n.maxResultBytes,e.resultBytes),e.isError&&(n.errors+=1,this.tools.toolResultErrorCount+=1),this.tools.toolResultCount+=1,this.tools.totalToolResultBytes+=e.resultBytes,this.tools.maxToolResultBytes=Math.max(this.tools.maxToolResultBytes,e.resultBytes)}snapshot(){return{enabled:this.enabled,startedAt:this.startedAt,requests:this.requests.map(e=>({...e,contents:{...e.contents,roleCounts:{...e.contents.roleCounts}},tools:{...e.tools}})),openaiWireRequests:this.openaiWireRequests.map(e=>({...e,messageBytesByRole:{...e.messageBytesByRole},topLevelKeys:[...e.topLevelKeys]})),tools:{...this.tools,byName:Object.fromEntries(Object.entries(this.tools.byName).map(([e,n])=>[e,{...n}]))}}}getToolNameDiagnostics(e){let n=this.tools.byName[e];if(n)return n;let o=gA();return this.tools.byName[e]=o,o}},Jl=new Kl;function mA(t){let e=Rn(t),n=Array.isArray(e.messages)?e.messages:[],o=Array.isArray(e.tools)?e.tools:[],r={};for(let i of n){let s=Rn(i),a=typeof s.role=="string"?s.role:"unknown";r[a]=(r[a]??0)+Pe(s.content)}return{model:typeof e.model=="string"?e.model:"unknown",stream:e.stream===!0,bodyBytes:Pe(t),messageCount:n.length,messageBytesByRole:r,toolsCount:o.length,toolSchemaBytes:Pe(o),topLevelKeys:Object.keys(e).sort()}}function qh(){return{toolUseCount:0,toolResultCount:0,toolResultErrorCount:0,totalToolUseArgBytes:0,maxToolUseArgBytes:0,totalToolResultBytes:0,maxToolResultBytes:0,byName:Object.create(null)}}function gA(){return{uses:0,argBytes:0,maxArgBytes:0,results:0,errors:0,resultBytes:0,maxResultBytes:0}}function Bh(t){let e={count:0,roleCounts:{},partCount:0,textBytes:0,functionCallCount:0,functionCallArgBytes:0,functionResponseCount:0,functionResponseBytes:0,inlineDataCount:0,inlineDataBytes:0,fileDataCount:0},n=Array.isArray(t)?t:t==null?[]:[t];for(let o of n){if(e.count+=1,typeof o=="string"){e.roleCounts.user=(e.roleCounts.user??0)+1,e.partCount+=1,e.textBytes+=Pe(o);continue}let r=Rn(o),i=typeof r.role=="string"?r.role:"unknown";e.roleCounts[i]=(e.roleCounts[i]??0)+1;let s=Array.isArray(r.parts)?r.parts:[];EA(s,e)}return e}function yA(t){return Bh(t).textBytes}function EA(t,e){for(let n of t){if(e.partCount+=1,typeof n=="string"){e.textBytes+=Pe(n);continue}let o=Rn(n);typeof o.text=="string"&&(e.textBytes+=Pe(o.text));let r=$l(o.functionCall);r&&(e.functionCallCount+=1,e.functionCallArgBytes+=Pe(r.args));let i=$l(o.functionResponse);i&&(e.functionResponseCount+=1,e.functionResponseBytes+=Pe(i.response)+Pe(i.parts));let s=$l(o.inlineData);s&&(e.inlineDataCount+=1,e.inlineDataBytes+=Pe(s.data)),o.fileData&&(e.fileDataCount+=1)}}function TA(t){let e=Array.isArray(t)?t:[],n=0;for(let o of e){let r=Rn(o),i=Array.isArray(r.functionDeclarations)?r.functionDeclarations:[];n+=i.length}return{count:e.length,functionDeclarationCount:n,schemaBytes:Pe(e)}}function _A(t){return{model:t.model,contents:t.contents,config:Vh(t.config)}}function Vh(t){if(!t)return;let e=Rn(t),n={};for(let[o,r]of Object.entries(e))o!=="abortSignal"&&(n[o]=r);return n}function Pe(t){return t==null?0:typeof t=="string"?Buffer.byteLength(t,"utf8"):Buffer.byteLength(CA(t),"utf8")}function CA(t){try{return JSON.stringify(t)??""}catch{return"[unserializable]"}}function Rn(t){return typeof t=="object"&&t!==null?t:{}}function $l(t){return typeof t=="object"&&t!==null?t:null}p();function Hh(t){let e=t.candidates?.[0]?.content?.parts;return!e||e.length===0?!1:e.some(AA)}function AA(t){if(t===null||typeof t!="object")return!1;let e=t;return typeof e.text=="string"&&e.text.length>0||e.functionCall!==void 0||e.inlineData!==void 0||e.executableCode!==void 0||e.thought===!0}p();import{AsyncLocalStorage as vA}from"node:async_hooks";var Ii=new vA;function $h(){let t=Ii.getStore();return{attempt:t?.attempt??1,requestSetupMs:t?.requestSetupMs,retryTotalDelayMs:t?.retryTotalDelayMs}}var Wt=Ge("LOGGING_CONTENT_GENERATOR"),SA=4096,Kh="...[truncated]",wA=SA-Kh.length,So=class{constructor(e,n,o){this.wrapped=e;this.config=n;this.modalities=o.modalities,this.splitToolMedia=o.splitToolMedia,this.generatorAuthType=o.authType,o.enableOpenAILogging&&(this.openaiLogger=new vo(o.openAILoggingDir,n.getWorkingDir()),this.schemaCompliance=o.schemaCompliance)}openaiLogger;schemaCompliance;modalities;splitToolMedia;generatorAuthType;getWrapped(){return this.wrapped}logApiRequest(e,n,o){let r=JSON.stringify(e);ts(this.config,new rs(n,o,r,vt.getStore()))}_logApiResponse(e,n,o,r,i,s){os(this.config,new ss(e,o,n,r,this.generatorAuthType,i,s,vt.getStore()))}_logApiError(e,n,o,r,i){let s=wu(o),a=Hn(o),l=o?.requestID||o?.request_id||e,u=ot(o);ns(this.config,new is({responseId:l,model:r,durationMs:n,promptId:i,authType:this.generatorAuthType,errorMessage:s,errorType:a,statusCode:u,subagentName:vt.getStore()}))}safelyLogApiError(e,n,o,r,i){try{this._logApiError(e,n,o,r,i)}catch(s){Wt.warn("Failed to log API error:",s)}}safelyLogApiResponse(e,n,o,r,i,s){try{this._logApiResponse(e,n,o,r,i,s)}catch(a){Wt.warn("Failed to log API response:",a)}}getClientVisibleModelId(e,n){return("isManagedMatildaModel"in this.config&&typeof this.config.isManagedMatildaModel=="function"?this.config.isManagedMatildaModel(e):!1)&&"getPublicModelId"in this.config&&typeof this.config.getPublicModelId=="function"?this.config.getPublicModelId(e):n||e}async generateContent(e,n){let o=$h(),r=Go(e.model,n);try{r.setAttribute("llm_request.stream",!1)}catch{}let i=ji.setSpan(ht.active(),r),s=Date.now(),a=Xt(n),l=this.startCaptureSession();try{Jl.recordGenerateContentRequest(e,{stream:!1,source:"generateContent"}),a||(Oo(this.config,r,e.config?.systemInstruction),Uo(this.config,r,e.config?.tools));let u=await ht.with(i,async()=>{a||this.logApiRequest(this.toContents(e.contents),e.model,n);let c=await l.wrap(()=>this.wrapped.generateContent(e,n)),f=Date.now()-s,h=a?void 0:this.extractResponseText(c);a||Lo(this.config,r,h),this.safelyLogApiResponse(c.responseId??"",f,this.getClientVisibleModelId(e.model,c.modelVersion),n,c.usageMetadata,h);try{await this.safelyLogOpenAIInteraction(await l.resolve(e),c,void 0,n)}catch(y){Wt.warn("Failed to log OpenAI interaction:",y)}return c});return Ot(r,{success:!0,inputTokens:u.usageMetadata?.promptTokenCount,outputTokens:u.usageMetadata?.candidatesTokenCount,cachedInputTokens:u.usageMetadata?.cachedContentTokenCount,durationMs:Date.now()-s,responseId:u.responseId||void 0,finishReason:u.candidates?.[0]?.finishReason||void 0,thoughtsTokenCount:u.usageMetadata?.thoughtsTokenCount,subagentName:vt.getStore()||void 0,...o}),u}catch(u){let c=Date.now()-s,f=e.config?.abortSignal?.aborted??!1;throw Ot(r,{success:!1,durationMs:c,error:f?qo:Fo,errorType:Hn(u),errorStatusCode:ot(u),subagentName:vt.getStore()||void 0,...o}),await ht.with(i,async()=>{this.safelyLogApiError("",c,u,this.getClientVisibleModelId(e.model),n);try{await this.safelyLogOpenAIInteraction(await l.resolve(e),void 0,u,n)}catch(h){Wt.warn("Failed to log OpenAI interaction:",h)}}),u}}async generateContentStream(e,n){let o=$h(),r=Go(e.model,n);try{r.setAttribute("llm_request.stream",!0)}catch{}let i=ji.setSpan(ht.active(),r),s=Date.now(),a=Xt(n),l=this.startCaptureSession(),u;try{Jl.recordGenerateContentRequest(e,{stream:!0,source:"generateContentStream"}),a||(Oo(this.config,r,e.config?.systemInstruction),Uo(this.config,r,e.config?.tools)),u=await ht.with(i,async()=>(a||this.logApiRequest(this.toContents(e.contents),e.model,n),l.wrap(()=>this.wrapped.generateContentStream(e,n))))}catch(f){let h=Date.now()-s;ht.with(i,()=>this.safelyLogApiError("",h,f,e.model,n));let y=e.config?.abortSignal?.aborted??!1;Ot(r,{success:!1,durationMs:h,error:y?qo:Fo,errorType:Hn(f),errorStatusCode:ot(f),subagentName:vt.getStore()||void 0,...o});try{await this.safelyLogOpenAIInteraction(await l.resolve(e),void 0,f,n)}catch(S){Wt.warn("Failed to log OpenAI interaction:",S)}throw f}let c;if(this.openaiLogger)try{c=await l.resolve(e)}catch(f){Wt.warn("Failed to resolve OpenAI request:",f)}return ht.with(i,()=>this.loggingStreamWrapper(u,s,n,e.model,c,r,i,e.config?.abortSignal,o))}startCaptureSession(){let e,n=!this.openaiLogger;return{wrap:o=>n?o():Uh.run(r=>{e=r},o),resolve:async o=>this.openaiLogger?e??await this.buildOpenAIRequestForLogging(o):void 0}}async*loggingStreamWrapper(e,n,o,r,i,s,a,l,u){let c=Xt(o),f=!c||!!this.openaiLogger,h=[],y="",S="",A,T=!1,R,O=!1,D,q=vt.getStore(),U,L=!1,$=W=>a?ht.with(a,W):W(),Y=5*6e4,N,oe=s?()=>{L||(N!==void 0&&clearTimeout(N),N=setTimeout(()=>{try{s.setAttribute("stream.timed_out",!0)}catch{}Ot(s,{success:!1,durationMs:Date.now()-n,error:"Stream span timed out (idle)",responseId:y||void 0,subagentName:q||void 0,...u}),L=!0},Y),N.unref())}:void 0;try{for await(let ue of e){!y&&ue.responseId&&(y=ue.responseId),!S&&ue.modelVersion&&(S=ue.modelVersion),f&&h.push(ue),ue.usageMetadata&&(A=ue.usageMetadata);let ge=ue.candidates?.[0];ge?.finishReason&&(R=ge.finishReason),ue.functionCalls?.length&&(O=!0),U===void 0&&Hh(ue)&&(U=Date.now()-n),oe?.(),yield ue,N!==void 0&&(clearTimeout(N),N=void 0)}N!==void 0&&(clearTimeout(N),N=void 0);let W=Date.now()-n,Z=f?this.consolidateGeminiResponsesForLogging(h):void 0,pe=c?void 0:this.extractResponseText(Z),le=!R&&!O?new Error("Model stream ended without a finish reason"):void 0;le&&(T=!0,D=le),L||(le?($(()=>this.safelyLogApiError(y,W,le,this.getClientVisibleModelId(r,S),o)),await $(()=>this.safelyLogOpenAIInteraction(i,Z,le,o))):($(()=>this.safelyLogApiResponse(y,W,this.getClientVisibleModelId(r,S),o,A,pe)),!c&&s&&Lo(this.config,s,pe),await $(()=>this.safelyLogOpenAIInteraction(i,Z,void 0,o))))}catch(W){if(T=!0,D=W,!L){let Z=Date.now()-n;$(()=>this.safelyLogApiError(y,Z,W,this.getClientVisibleModelId(r,S),o)),await $(()=>this.safelyLogOpenAIInteraction(i,void 0,W,o))}throw W}finally{if(N!==void 0&&clearTimeout(N),s&&!L){let W=l?.aborted??!1;Ot(s,{success:!T,inputTokens:A?.promptTokenCount,outputTokens:A?.candidatesTokenCount,cachedInputTokens:A?.cachedContentTokenCount,ttftMs:U,durationMs:Date.now()-n,error:T?W?qo:Fo:void 0,responseId:y||void 0,finishReason:R,thoughtsTokenCount:A?.thoughtsTokenCount,subagentName:q||void 0,errorType:D?Hn(D):void 0,errorStatusCode:D?ot(D):void 0,...u})}}}async buildOpenAIRequestForLogging(e){if(!this.openaiLogger)return;let n=this.createLoggingRequestContext(e.model),o=yi.convertGeminiRequestToOpenAI(e,n,{cleanOrphanToolCalls:!1}),r={model:e.model,messages:o};return e.config?.tools&&(r.tools=await yi.convertGeminiToolsToOpenAI(e.config.tools,this.schemaCompliance??"auto")),e.config?.temperature!==void 0&&(r.temperature=e.config.temperature),e.config?.topP!==void 0&&(r.top_p=e.config.topP),e.config?.maxOutputTokens!==void 0&&(r.max_tokens=e.config.maxOutputTokens),e.config?.presencePenalty!==void 0&&(r.presence_penalty=e.config.presencePenalty),e.config?.frequencyPenalty!==void 0&&(r.frequency_penalty=e.config.frequencyPenalty),r}createLoggingRequestContext(e){return{model:e,modalities:this.modalities??{},splitToolMedia:this.splitToolMedia??!0,startTime:0}}async logOpenAIInteraction(e,n,o,r){if(!this.openaiLogger||!e)return;let i=n?this.convertGeminiResponseToOpenAIForLogging(n,e):void 0;await this.openaiLogger.logInteraction(e,i,o instanceof Error?o:o?new Error(String(o)):void 0,r)}async safelyLogOpenAIInteraction(e,n,o,r){try{await this.logOpenAIInteraction(e,n,o,r)}catch(i){Wt.warn("Failed to log OpenAI interaction:",i)}}convertGeminiResponseToOpenAIForLogging(e,n){let o=new Et;return Object.assign(o,e),o.modelVersion=this.getClientVisibleModelId(n.model,e.modelVersion),yi.convertGeminiResponseToOpenAI(o,this.createLoggingRequestContext(n.model))}consolidateGeminiResponsesForLogging(e){if(e.length===0)return;let n=new Et,o=[],r=new Map,i,s;for(let u of e){u.usageMetadata&&(s=u.usageMetadata);let c=u.candidates?.[0];c?.finishReason&&(i=c.finishReason);let f=c?.content?.parts??[];for(let h of f){if(typeof h=="string"){o.push({text:h});continue}if("text"in h){h.text&&o.push({text:h.text,...h.thought?{thought:!0}:{},...h.thoughtSignature?{thoughtSignature:h.thoughtSignature}:{}});continue}if("functionCall"in h&&h.functionCall){let y=h.functionCall.id||h.functionCall.name||"tool_call",S=r.get(y),A={functionCall:h.functionCall};S!==void 0?o[S]=A:(r.set(y,o.length),o.push(A));continue}if("functionResponse"in h&&h.functionResponse){o.push({functionResponse:h.functionResponse});continue}o.push(h)}}let a=e[e.length-1],l=a.candidates?.[0];return n.responseId=a.responseId,n.createTime=a.createTime,n.modelVersion=a.modelVersion,n.promptFeedback=a.promptFeedback,n.usageMetadata=s,n.candidates=[{content:{role:l?.content?.role||"model",parts:o},...i?{finishReason:i}:{},index:0,safetyRatings:l?.safetyRatings||[]}],n}extractResponseText(e){let n=e?.candidates?.[0]?.content?.parts;if(!n?.length)return;let o="",r=!1,i=!1,s=a=>{if(r=!0,i)return;let l=wA-o.length;if(a.length<=l){o+=a;return}o+=a.slice(0,Math.max(0,l)),i=!0};for(let a of n){if(typeof a=="string"){s(a);continue}"text"in a&&typeof a.text=="string"&&!("thought"in a&&a.thought)&&s(a.text)}if(r)return i?`${o}${Kh}`:o}async countTokens(e){return this.wrapped.countTokens(e)}async embedContent(e){return this.wrapped.embedContent(e)}useSummarizedThinking(){return this.wrapped.useSummarizedThinking()}toContents(e){return Array.isArray(e)?e.map(n=>this.toContent(n)):[this.toContent(e)]}toContent(e){return Array.isArray(e)?{role:"user",parts:this.toParts(e)}:typeof e=="string"?{role:"user",parts:[{text:e}]}:"parts"in e?{...e,parts:e.parts?this.toParts(e.parts.filter(n=>n!=null)):[]}:{role:"user",parts:[this.toPart(e)]}}toParts(e){return e.map(n=>this.toPart(n))}toPart(e){if(typeof e=="string")return{text:e};if("thought"in e&&e.thought){let n=`[Thought: ${e.thought}]`,o={...e};if(delete o.thought,"functionCall"in o||"functionResponse"in o||"inlineData"in o||"fileData"in o)return o;let i=o.text,s=i?String(i):"",a=s?`${s}
|
|
52
|
+
${n}`:n;return{...o,text:a}}return e}};p();import{AsyncLocalStorage as IA}from"node:async_hooks";var Wl="x-matilda-organization-id",RA=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function W0(t){if(t!==void 0){if(typeof t!="string"||t.length!==36||!RA.test(t))throw new Error("--organization-id must be a single UUID.");return t.toLowerCase()}}var Jh=new IA;function zl(t){let e=Jh.getStore();return e?e.organizationId:t?.getOrganizationId?.()}function PA(t,e){return Jh.run({organizationId:t},e)}function Y0(t,e){return PA(zl(t),e)}function Yl(t){if(t)try{let e=new URL(t);if((e.origin===Nt&&e.protocol==="https:"&&!e.port||e.hostname==="core-api.matilda"&&(e.protocol==="http:"||e.protocol==="https:"))&&!e.username&&!e.password&&!e.search&&!e.hash)return e}catch{}}function MA(t){let e=Yl(t.baseUrl);return!!e&&e.pathname.replace(/\/$/,"")==="/api/v1/code"&&t.authType==="openai"}function Xl(t,e,n){if(!(e===void 0&&n===void 0)&&!MA(t))throw new Error("Organization selection and credit spending require the first-party Matilda Core Code endpoint.")}function Wh(t){for(let e of Object.keys(t??{})){let n=e.toLowerCase();if(n===Wl)throw new Error("Select the organization with --organization-id, not customHeaders.");if(n.startsWith("x-matilda-usage-credit-"))throw new Error("Code credit spending through customHeaders is not supported.")}}function z0(t,e,n,o,r){Xl(n,o,r);let i=Yl(n.baseUrl),s=Yl(t instanceof Request?t.url:String(t));if(!s||s.origin!==i.origin||s.pathname!=="/api/v1/code/chat/completions")throw new Error("The selected organization cannot be sent to this endpoint.");let a=e.get(Wl);if(a!==null&&a!==o)throw new Error("The request organization conflicts with --organization-id.");o!==void 0&&e.set(Wl,o)}p();function Yh(t){switch(t){case"openai":return"OPENAI_API_KEY";default:return"API_KEY"}}function zh(t){switch(t){case"openai":return"OPENAI_MODEL";default:return"MODEL"}}var Mn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}},Ri=class extends Mn{name="StrictMissingCredentialsError";code="STRICT_MISSING_CREDENTIALS";constructor(e,n,o){let r=e||"(unknown)",i=n||"(unknown)";super(`Missing credentials for modelProviders model '${i}'. `+(o?`Current configured envKey: '${o}'. Set that environment variable, or update modelProviders.${r}[].envKey.`:`Configure modelProviders.${r}[].envKey and set that environment variable.`))}},Pi=class extends Mn{name="StrictMissingModelIdError";code="STRICT_MISSING_MODEL_ID";constructor(e){super(`Missing model id for strict modelProviders resolution (authType: ${e}).`)}},Mi=class extends Mn{name="MissingApiKeyError";code="MISSING_API_KEY";constructor(e){super(`Missing API key for ${e.authType} auth. Current model: '${e.model||"(unknown)"}', baseUrl: '${e.baseUrl||"(default)"}'. Provide an API key via settings (security.auth.apiKey), or set the environment variable '${e.envKey}'.`)}},ki=class extends Mn{name="MissingModelError";code="MISSING_MODEL";constructor(e){super(`Missing model for ${e.authType} auth. Set the environment variable '${e.envKey}'.`)}};p();import tu from"node:process";p();var Ni=vn,tM="text-embedding-v4";p();function rM(t,e,n,o=2048){let r=e-n-o;return!Number.isFinite(r)||r<=0?0:Math.min(t,r)}var te={"32k":32768,"64k":65536,"128k":131072,"200k":2e5,"256k":262144,"272k":272e3,"400k":4e5,"512k":524288,"1m":1e6,"4k":4096,"8k":8192,"16k":16384};function xi(t){let e=(t??"").toLowerCase().trim();return e=e.replace(/^.*\//,""),e=e.split("|").pop()??e,e=e.split(":").pop()??e,e=e.replace(/\s+/g,"-"),e=e.replace(/-preview/g,""),e.match(/^kimi-k2-\d{4}$/)||(e=e.replace(/-(?:\d{4,}|\d+x\d+b|v\d+(?:\.\d+)*|(?<=-[^-]+-)\d+(?:\.\d+)+|latest|exp)$/g,"")),e=e.replace(/-(?:\d?bit|int[48]|bf16|fp16|q[45]|quantized)$/g,""),e}var kA=[[/^gemini-3/,te["1m"]],[/^gemini-/,te["1m"]],[/^gpt-5/,te["272k"]],[/^gpt-/,te["128k"]],[/^o\d/,te["200k"]],[/^claude-/,te["200k"]],[/^glm-5(\.[01])?(-|$)/,202752],[/^glm-(?:[5-9]|\d{2,})/,te["1m"]],[/^glm-/,202752],[/^matilda-code$/,te["1m"]],[/^matilda/,te["256k"]],[/^ornith/,te["64k"]],[/^kimi-/,te["256k"]],[/^seed-oss/,te["512k"]]],Xh=[[/^gemini-3/,te["64k"]],[/^gemini-/,te["8k"]],[/^gpt-5/,te["128k"]],[/^gpt-/,te["16k"]],[/^o\d/,te["128k"]],[/^claude-opus-4-6/,te["128k"]],[/^claude-sonnet-4-6/,te["64k"]],[/^claude-/,te["64k"]],[/^glm-5\.2/,te["64k"]],[/^glm-5/,te["64k"]],[/^glm-4\.7/,te["16k"]],[/^matilda-code$/,te["64k"]],[/^matilda$/,te["64k"]],[/^matilda-core$/,te["64k"]],[/^ornith/,te["32k"]],[/^kimi-k2\.5/,te["32k"]]];function NA(t,e="input"){let n=xi(t),o=e==="output"?Xh:kA;for(let[r,i]of o)if(r.test(n))return i}function iM(t){let e=xi(t);return Xh.some(([n])=>n.test(e))}function xA(t,e="input"){return NA(t,e)}function Di(t,e="input"){return xA(t,e)??(e==="output"?32e3:131072)}p();p();var Qh={image:!0,pdf:!0,audio:!0,video:!0},DA=[[/^gemini-3/,Qh],[/^gemini-/,Qh],[/^gpt-5/,{image:!0}],[/^gpt-/,{image:!0}],[/^o\d/,{image:!0}],[/^claude-/,{image:!0,pdf:!0}],[/^glm-4\.5v/,{image:!0}],[/^glm-5(?:-|$)/,{}],[/^glm-/,{}],[/^kimi-k2\.5/,{image:!0,video:!0}],[/^kimi-/,{}],[/^doubao-seed(ance|ream)/,{}],[/^doubao-seed/,{image:!0}],[/^doubao-.*(vision|vl)/,{image:!0}],[/^doubao/,{}]];function bi(t){let e=xi(t);for(let[n,o]of DA)if(n.test(e))return{...o};return{}}p();function Zh(t,e,n={kind:"default"}){for(let o of t)if(jh(o.value))return{value:o.value,source:o.source};return{value:e,source:n}}function Ql(t){for(let e of t)if(jh(e.value))return{value:e.value,source:e.source}}function jh(t){return!(t==null||typeof t=="string"&&t.trim()==="")}function Oi(t){return{kind:"cli",detail:t}}function bA(t){return{kind:"env",envKey:t}}function wo(t){return{kind:"settings",settingsPath:t}}function kn(t,e,n){return{kind:"modelProviders",authType:t,modelId:e,detail:n}}function Zl(t){return{kind:"default",detail:t}}function Ui(t){return{kind:"computed",detail:t}}function Li(t,e,n){let o=t[e];return{value:o!==void 0?n?n(o):o:void 0,source:bA(e)}}function De(t,e){return{value:t,source:e}}p();var Io=["samplingParams","timeout","maxRetries","retryErrorCodes","enableCacheControl","schemaCompliance","reasoning","contextWindowSize","customHeaders","extra_body","modalities","splitToolMedia","openAIRequestProfile"],em=["model","apiKey","apiKeyEnvKey","baseUrl"],jl=[...em,...Io],tm={openai:{apiKey:["OPENAI_API_KEY"],baseUrl:["OPENAI_BASE_URL"],model:["OPENAI_MODEL","MATILDA_MODEL"]}},nm={openai:Ni};var Nn="MATILDA_API_KEY",OA="matilda-code-1.0";function UA(t,e){if(!t)return!0;try{let{hostname:n}=new URL(t);return wn(n)||_o(t,e)}catch{return!1}}function LA(t,e,n,o){if(o?.timeout!==void 0)return;let r=t.MATILDA_CODE_API_TIMEOUT_MS;if(r===void 0)return;let i=Number(r);Number.isFinite(i)&&i>0&&(e.timeout=Math.floor(i),n.timeout={kind:"env",envKey:"MATILDA_CODE_API_TIMEOUT_MS"})}function vM(t){let{authType:e,cli:n,settings:o,env:r,modelProvider:i,proxy:s}=t,a=[],l={},u=e?tm[e]:{model:[],apiKey:[],baseUrl:[]},c=[];e&&i&&c.push(De(i.id,kn(e,i.id,"model.id"))),n?.model&&c.push(De(n.model,Oi("--model"))),e==="openai"&&r[Nn]&&!r.OPENAI_MODEL&&!r.MATILDA_MODEL&&c.push(De(OA,{kind:"env",envKey:Nn}));for(let U of u.model)c.push(Li(r,U));o?.model&&c.push(De(o.model,wo("model.name")));let f=e?nm[e]:"",h=Zh(c,f,Zl(f));l.model=h.source;let y=[];e&&i?.baseUrl&&y.push(De(i.baseUrl,kn(e,i.id,"baseUrl"))),n?.baseUrl&&y.push(De(n.baseUrl,Oi("--openaiBaseUrl"))),e==="openai"&&r[Nn]&&!r.OPENAI_BASE_URL&&(r[To]?.trim()||!o?.baseUrl)&&y.push(De(We(r),{kind:"env",envKey:Nn}));for(let U of u.baseUrl)y.push(Li(r,U));o?.baseUrl&&y.push(De(o.baseUrl,wo("security.auth.baseUrl")));let S=Ql(y)??(e==="openai"?{value:We(r),source:Zl("the configured Matilda endpoint")}:void 0);S&&(Ct(Re(S.value)),l.baseUrl=S.source);let A=[];if(e&&i?.envKey){let U=r[i.envKey];U&&A.push(De(U,{kind:"env",envKey:i.envKey,via:kn(e,i.id,"envKey")}))}if(n?.apiKey&&A.push(De(n.apiKey,Oi("--openaiApiKey"))),!i?.envKey){let U=r[Nn];if(e==="openai"&&U&&UA(S?.value,r)&&A.push(De(U,{kind:"env",envKey:Nn})),S?.source.kind!=="default")for(let L of u.apiKey)A.push(Li(r,L))}o?.apiKey&&A.push(De(o.apiKey,wo("security.auth.apiKey")));let T=Ql(A);T&&(l.apiKey=T.source);let R;e&&i?.envKey&&(R=i.envKey,l.apiKeyEnvKey={...kn(e,i.id,"envKey"),envKey:i.envKey});let O=Gi(o?.generationConfig,i?.generationConfig,e,i?.id??h.value,r),D=O.config;Object.assign(l,O.sources);let q={authType:e,model:h.value||"",apiKey:T?.value,apiKeyEnvKey:R,baseUrl:S&&Re(S.value),proxy:s,...D};return s&&(l.proxy=Ui("Config.getProxy()")),l.authType=Ui("provided by caller"),{config:q,sources:l,warnings:a}}function Gi(t,e,n,o,r){let i={},s=GA(t,e,n,o,i);return LA(r,s,i,e),{config:s,sources:i}}function GA(t,e,n,o,r){let i={};for(let s of Io)n&&e&&s in e?(i[s]=e[s],r[s]=kn(n,o||"",`generationConfig.${s}`)):t&&s in t&&(i[s]=t[s],r[s]=wo(`model.generationConfig.${s}`));return i.modalities===void 0&&o&&(i.modalities=bi(o),r.modalities=Ui("auto-detected from model")),i}p();var Fi="$runtime|";function RM(t){let e=t;for(;e.startsWith(Fi);){let n=e.split("|").slice(2).join("|");if(!n)break;e=n}return e}p();p();var om=Ge("MODEL_REGISTRY");function rm(t,e){return e?`${t}\0${Re(e)}`:t}var qi=class{constructor(e,n=!1){this.noFallbackServer=n;this.reloadModels(e)}models=new Map;registerModels(e){let n=new Map;for(let o of e){if(this.noFallbackServer&&!o.baseUrl)continue;let r=rm(o.id,o.baseUrl);if(n.has(r)){om.warn(`Duplicate model id "${o.id}"${o.baseUrl?` with baseUrl "${o.baseUrl}"`:""} for authType "openai". Using the first registered config.`);continue}n.set(r,this.resolveModelConfig(o))}return n}getModels(){return Array.from(this.models.values()).map(e=>({id:e.id,label:e.name,description:e.description,capabilities:e.capabilities,authType:e.authType,isVision:e.capabilities?.vision??!1,contextWindowSize:e.generationConfig.contextWindowSize??Di(e.id),modalities:e.generationConfig.modalities??bi(e.id),baseUrl:e.baseUrl,envKey:e.envKey}))}findModel(e,n){if(n)return this.models.get(rm(e,n));let o=this.models.get(e);if(o)return o;for(let r of this.models.values())if(r.id===e)return r}containsModel(e,n){return this.findModel(e,n)!==void 0}getDefaultModel(){return this.models.values().next().value}resolveModelConfig(e){return this.validateModelConfig(e),{...e,authType:"openai",name:e.name||e.id,baseUrl:Re(e.baseUrl||We()),generationConfig:{...e.generationConfig??{}},capabilities:e.capabilities||{}}}validateModelConfig(e){if(!e.id)throw new Error("Model config in authType 'openai' missing required field: id")}reloadModels(e){this.models=new Map;for(let[n,o]of Object.entries(e??{})){if(n!=="openai"){om.warn(`Invalid authType key "${n}" in modelProviders config. Expected one of: ${Object.values(Pn).join(", ")}. Skipping.`);continue}this.models=this.registerModels(o)}}};var im=class t{modelRegistry;currentAuthType;_generationConfig;generationConfigSources;strictModelProviderSelection=!1;onModelChange;authTypeWasExplicitlyProvided;settingsGenerationConfig;runtimeModelSnapshots=new Map;activeRuntimeModelSnapshotId;static deepClone(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(o=>t.deepClone(o));let n={};for(let o of Object.keys(e))n[o]=t.deepClone(e[o]);return n}constructor(e={}){this.modelRegistry=new qi(e.modelProvidersConfig,e.noFallbackServer),this.onModelChange=e.onModelChange,this._generationConfig={...e.generationConfig||{}},this.generationConfigSources=e.generationConfigSources||{},this.settingsGenerationConfig=t.deepClone(e.settingsGenerationConfig),this.authTypeWasExplicitlyProvided=e.initialAuthType!==void 0,this.currentAuthType=e.initialAuthType}createStateSnapshotForRollback(){return{currentAuthType:this.currentAuthType,generationConfig:t.deepClone(this._generationConfig),generationConfigSources:t.deepClone(this.generationConfigSources),strictModelProviderSelection:this.strictModelProviderSelection,activeRuntimeModelSnapshotId:this.activeRuntimeModelSnapshotId}}rollbackToStateSnapshot(e){this.currentAuthType=e.currentAuthType,this._generationConfig=e.generationConfig,this.generationConfigSources=e.generationConfigSources,this.strictModelProviderSelection=e.strictModelProviderSelection,this.activeRuntimeModelSnapshotId=e.activeRuntimeModelSnapshotId}getModel(){return this._generationConfig.model||Ni}getCurrentAuthType(){return this.currentAuthType}wasAuthTypeExplicitlyProvided(){return this.authTypeWasExplicitlyProvided}getAvailableModels(){return this.currentAuthType?this.modelRegistry.getModels():[]}getAllConfiguredModels(){let e=this.getRuntimeModelOption();return[...e?[e]:[],...this.modelRegistry.getModels()]}getResolvedModel(e){let n=this.modelRegistry.findModel(e);if(n)return{...n,generationConfig:{...this.resolveEntryGenerationConfig(n).config,customHeaders:n.generationConfig.customHeaders}}}resolveEntryGenerationConfig(e){return Gi(this.settingsGenerationConfig,e.generationConfig,e.authType,e.id,tu.env)}isManagedMatildaResolvedModel(e){return e?.id===vn&&e?.envKey===yo&&e?.baseUrl===Sn&&e?.generationConfig?.openAIRequestProfile==="matilda-code"}isManagedMatildaModel(e){let n=e.trim();return!n||!this.currentAuthType?!1:this.isManagedMatildaResolvedModel(this.modelRegistry.findModel(n))}getPublicModelId(e){return this.isManagedMatildaModel(e)?vn:e}getModelDisplayName(e){return this.isManagedMatildaModel(e)?Ul:this.currentAuthType?this.modelRegistry.findModel(e)?.name??e:e}async setModel(e,n){if(this.currentAuthType&&this.modelRegistry.containsModel(e)){await this.switchModel(this.currentAuthType,e);return}let o=this.createStateSnapshotForRollback();try{this.strictModelProviderSelection=!1,this._generationConfig.model=e,this.generationConfigSources.model={kind:"programmatic",detail:n?.reason||"setModel"},this.applyRawModelDerivedDefaults(e),this.onModelChange&&this.currentAuthType&&await this.onModelChange(this.currentAuthType)}catch(r){throw this.rollbackToStateSnapshot(o),r}}applyRawModelDerivedDefaults(e){let n=Gi(this.settingsGenerationConfig,void 0,this.currentAuthType,e,tu.env);this.shouldUpdateModelDerivedDefault("modalities")&&this.applyResolvedField("modalities",n),this.shouldUpdateModelDerivedDefault("contextWindowSize")&&(this.applyResolvedField("contextWindowSize",n),this.fillContextWindowSize(e))}applyResolvedField(e,n){this._generationConfig[e]=t.deepClone(n.config[e]);let o=n.sources[e];o?this.generationConfigSources[e]=o:delete this.generationConfigSources[e]}fillContextWindowSize(e){this._generationConfig.contextWindowSize===void 0&&(this._generationConfig.contextWindowSize=Di(e,"input"),this.generationConfigSources.contextWindowSize={kind:"computed",detail:"auto-detected from model"})}shouldUpdateModelDerivedDefault(e){let n=this.generationConfigSources[e];return n===void 0||n.kind==="computed"||n.kind==="default"||n.kind==="modelProviders"||n.kind==="programmatic"||n.kind==="unknown"}async switchModel(e,n,o){let r=this.extractRuntimeModelSnapshotId(n);if(r){await this.switchToRuntimeModel(r);return}let i=this.createStateSnapshotForRollback();try{let s=e!==this.currentAuthType;this.currentAuthType=e;let a=this.modelRegistry.findModel(n,o?.baseUrl);if(!a)throw new Error(`Model '${n}' not found for authType '${e}'`);let l=i.generationConfig.model||"",u=!s&&l?this.modelRegistry.findModel(l,i.generationConfig.baseUrl)??this.modelRegistry.findModel(l):void 0,c=!s&&!!i.generationConfig.apiKey&&!!a.envKey&&u?.envKey===a.envKey&&u.baseUrl===a.baseUrl,f=c?i.generationConfig.apiKey:void 0,h=c?i.generationConfigSources.apiKey:void 0;this.applyResolvedModelDefaults(a),!this._generationConfig.apiKey&&f&&(this._generationConfig.apiKey=f,h&&(this.generationConfigSources.apiKey=t.deepClone(h))),this.activeRuntimeModelSnapshotId=void 0,this.onModelChange&&await this.onModelChange(e)}catch(s){throw this.rollbackToStateSnapshot(i),s}}buildRuntimeModelSnapshotId(e,n){return`${Fi}${e}|${n}`}extractRuntimeModelSnapshotId(e){if(e.startsWith(Fi))return this.runtimeModelSnapshots.has(e)?e:void 0;if(this.runtimeModelSnapshots.has(e))return e}getGenerationConfig(){return this._generationConfig}getGenerationConfigSources(){return this.generationConfigSources}isStrictModelProviderSelection(){return this.strictModelProviderSelection}applyResolvedModelDefaults(e){if(this.strictModelProviderSelection=!0,this._generationConfig.model=e.id,this.generationConfigSources.model={kind:"modelProviders",authType:e.authType,modelId:e.id,detail:"model.id"},this._generationConfig.apiKey=void 0,this._generationConfig.apiKeyEnvKey=void 0,e.envKey!==void 0){let o=tu.env[e.envKey];o&&(this._generationConfig.apiKey=o,this.generationConfigSources.apiKey={kind:"env",envKey:e.envKey,via:{kind:"modelProviders",authType:e.authType,modelId:e.id,detail:"envKey"}}),this._generationConfig.apiKeyEnvKey=e.envKey,this.generationConfigSources.apiKeyEnvKey={kind:"modelProviders",authType:e.authType,modelId:e.id,detail:"envKey"}}this._generationConfig.baseUrl=e.baseUrl,this.generationConfigSources.baseUrl={kind:"modelProviders",authType:e.authType,modelId:e.id,detail:"baseUrl"};let n=this.resolveEntryGenerationConfig(e);for(let o of Io)this.applyResolvedField(o,n);this.fillContextWindowSize(e.id)}syncAfterAuthRefresh(e,n,{replacesApiKey:o=!1}={}){this.strictModelProviderSelection=!1;let r=this.currentAuthType;this.currentAuthType=e;let i=this.generationConfigSources.baseUrl?.kind==="modelProviders"?this._generationConfig.baseUrl:void 0,s=n?this.modelRegistry.findModel(n,i)??this.modelRegistry.findModel(n):void 0;if(s){let S=this.generationConfigSources.baseUrl?.kind==="modelProviders"&&(this._generationConfig.apiKeyEnvKey!==s.envKey||this._generationConfig.baseUrl!==s.baseUrl),A=r===e&&this._generationConfig.model===n&&!S,T=A&&!o,R=T?this._generationConfig.apiKey:void 0,O=T&&this.generationConfigSources.apiKey?{...this.generationConfigSources.apiKey}:void 0,D=this.generationConfigSources.baseUrl,q=A&&!!this._generationConfig.baseUrl&&(D?.kind==="cli"||D?.kind==="env"||D?.kind==="settings"),U=q?this._generationConfig.baseUrl:void 0,L=q&&D?{...D}:void 0;this.applyResolvedModelDefaults(s),!this._generationConfig.apiKey&&R&&(this._generationConfig.apiKey=R,O&&(this.generationConfigSources.apiKey=O)),U&&(this._generationConfig.baseUrl=U,L&&(this.generationConfigSources.baseUrl=L)),this.strictModelProviderSelection=!0,this.activeRuntimeModelSnapshotId=void 0;return}let a=this.generationConfigSources.apiKey,l=this.generationConfigSources.baseUrl,u=this._generationConfig.apiKey&&a?.kind!=="modelProviders"||this._generationConfig.baseUrl&&l?.kind!=="modelProviders";if(!(r!==e)&&(n===void 0||!this.modelRegistry.containsModel(n))&&u){n&&(this._generationConfig.model=n,this.generationConfigSources.model||(this.generationConfigSources.model={kind:"programmatic",detail:"auth refresh (preserved credentials)"}));return}let h=this.modelRegistry.getDefaultModel();if(h){this.applyResolvedModelDefaults(h),this.activeRuntimeModelSnapshotId=void 0;return}n&&(this._generationConfig.model=n,this.generationConfigSources.model||(this.generationConfigSources.model={kind:"programmatic",detail:"auth refresh (no default model)"}))}setOnModelChange(e){this.onModelChange=e}detectAndCaptureRuntimeModel(){let{model:e,apiKey:n,baseUrl:o,apiKeyEnvKey:r,...i}=this._generationConfig,s=this.currentAuthType;if(!e||!s)return;if(this.modelRegistry.containsModel(e,o)){this.clearRuntimeModelSnapshotForAuthType(s);return}if(!(this._generationConfig.apiKey&&this._generationConfig.baseUrl))return;let l=this.buildRuntimeModelSnapshotId(s,e),u={id:l,authType:s,modelId:e,apiKey:n,baseUrl:o,apiKeyEnvKey:r,generationConfig:i,sources:{...this.generationConfigSources},createdAt:Date.now()};return this.runtimeModelSnapshots.set(l,u),this.activeRuntimeModelSnapshotId=l,this.cleanupOldRuntimeModelSnapshots(),l}getActiveRuntimeModelSnapshot(){if(this.activeRuntimeModelSnapshotId)return this.runtimeModelSnapshots.get(this.activeRuntimeModelSnapshotId)}getActiveRuntimeModelSnapshotId(){return this.activeRuntimeModelSnapshotId}async switchToRuntimeModel(e){let n=this.runtimeModelSnapshots.get(e);if(!n)throw new Error(`Runtime model snapshot '${e}' not found`);let o=this.createStateSnapshotForRollback();try{this.currentAuthType=n.authType,this.activeRuntimeModelSnapshotId=e,this.strictModelProviderSelection=!1,this._generationConfig.model=n.modelId,this.generationConfigSources.model={kind:"programmatic",detail:"runtimeModelSwitch"},n.apiKey&&(this._generationConfig.apiKey=n.apiKey,this.generationConfigSources.apiKey=n.sources.apiKey||{kind:"programmatic",detail:"runtimeModelSwitch"}),n.baseUrl&&(this._generationConfig.baseUrl=n.baseUrl,this.generationConfigSources.baseUrl=n.sources.baseUrl||{kind:"programmatic",detail:"runtimeModelSwitch"}),n.apiKeyEnvKey&&(this._generationConfig.apiKeyEnvKey=n.apiKeyEnvKey),n.generationConfig&&Object.assign(this._generationConfig,n.generationConfig),this.onModelChange&&await this.onModelChange(n.authType)}catch(r){throw this.rollbackToStateSnapshot(o),r}}getRuntimeModelOption(){let e=this.getActiveRuntimeModelSnapshot();if(e)return{id:e.modelId,label:e.modelId,authType:e.authType,isVision:!1,contextWindowSize:e.generationConfig?.contextWindowSize,isRuntimeModel:!0,runtimeSnapshotId:e.id}}clearRuntimeModelSnapshotForAuthType(e){for(let[n,o]of this.runtimeModelSnapshots.entries())o.authType===e&&(this.runtimeModelSnapshots.delete(n),this.activeRuntimeModelSnapshotId===n&&(this.activeRuntimeModelSnapshotId=void 0))}cleanupOldRuntimeModelSnapshots(){let e=new Map;for(let n of this.runtimeModelSnapshots.values()){let o=e.get(n.authType);(!o||n.createdAt>o.createdAt)&&e.set(n.authType,n)}this.runtimeModelSnapshots.clear();for(let n of e.values())this.runtimeModelSnapshots.set(n.id,n);this.activeRuntimeModelSnapshotId&&!this.runtimeModelSnapshots.has(this.activeRuntimeModelSnapshotId)&&(this.activeRuntimeModelSnapshotId=void 0)}reloadModelProvidersConfig(e){this.modelRegistry.reloadModels(e)}};p();import{randomUUID as hv}from"node:crypto";import{mkdirSync as mv,readFileSync as gv}from"node:fs";import{dirname as yv,join as Ev}from"node:path";p();p();import{randomBytes as FA,createHash as qA}from"node:crypto";import{setTimeout as BA}from"node:timers/promises";var VA="urn:ietf:params:oauth:grant-type:device_code";function sm(t){return t==="localhost"||t==="127.0.0.1"||t==="::1"||t==="[::1]"}function ou(){let t=FA(32).toString("base64url"),e=qA("sha256").update(t).digest("base64url");return{codeVerifier:t,codeChallenge:e}}function xn(t,e){let n=typeof t=="object"&&t!==null?t:{};if(typeof n.access_token!="string"||n.access_token==="")throw new Error("The token response has no access token");return{accessToken:n.access_token,refreshToken:n.refresh_token??e?.refreshToken,expiresAt:Date.now()+(n.expires_in??3600)*1e3,idToken:n.id_token??e?.idToken}}var HA=15e3;async function ru(t){let e=t.replace(/\/+$/,""),n=new URL("/.well-known/oauth-authorization-server",e);if(n.protocol!=="https:"&&!sm(n.hostname))throw new Error(`Refusing OAuth discovery over insecure transport: ${n.origin}`);let o=await fetch(n,{headers:{accept:"application/json"},signal:AbortSignal.timeout(HA)});if(!o.ok)throw new Error(`OAuth discovery failed (${o.status}) for ${n.origin}`);let r=await o.json();if(!r.issuer||!r.authorization_endpoint||!r.token_endpoint)throw new Error(`OAuth discovery document missing required fields for ${n.origin}`);return{issuer:r.issuer,authorization_endpoint:r.authorization_endpoint,token_endpoint:r.token_endpoint,device_authorization_endpoint:r.device_authorization_endpoint}}var $A=15e3,nu="Device code expired: restart the sign-in";async function iu(t,e,n={}){let o;try{o=await fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:e.clientId,scope:e.scope??"openid offline_access"}),signal:um(AbortSignal.timeout($A),n.signal)})}catch(i){throw cm(i,n.signal)?new Error("The device code request timed out"):i}if(!o.ok)throw new Error(`Device code request failed (${o.status})`);let r=await o.json();return{deviceCode:r.device_code,userCode:r.user_code,verificationUri:r.verification_uri,verificationUriComplete:r.verification_uri_complete,expiresAt:Date.now()+r.expires_in*1e3,interval:r.interval??5}}async function am(t,e,n={}){let o=await fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:VA,client_id:e.clientId,device_code:e.deviceCode}),signal:n.signal});if(o.ok)return{kind:"authorized",tokens:xn(await o.json())};let r=await o.json().catch(()=>({})),i=typeof r.error=="string"?r.error:"unknown";switch(i){case"authorization_pending":return{kind:"pending"};case"slow_down":return{kind:"slow_down"};default:return{kind:"error",error:i}}}async function lm(t,e,n={}){let o=e.interval*1e3;try{for(;Date.now()<e.expiresAt;){await BA(Math.min(o,e.expiresAt-Date.now()),void 0,{signal:n.signal});let r=e.expiresAt-Date.now();if(r<=0)break;let i=await am(t,e,{signal:um(AbortSignal.timeout(r),n.signal)});if(i.kind==="authorized")return i.tokens;if(i.kind!=="pending"){if(i.kind==="slow_down"){o+=5e3;continue}switch(i.error){case"expired_token":throw new Error(nu);case"access_denied":throw new Error("User denied the authorization request");default:throw new Error(`Device flow error: ${i.error}`)}}}}catch(r){throw cm(r,n.signal)?new Error(nu):r}throw new Error(nu)}function um(t,e){return e?AbortSignal.any([t,e]):t}function cm(t,e){return!e?.aborted&&t instanceof Error&&t.name==="TimeoutError"}p();import{randomBytes as KA}from"node:crypto";import{promises as Dn,openSync as JA,closeSync as WA,unlinkSync as fm,statSync as YA}from"node:fs";import{dirname as zA}from"node:path";var dm=new Map,XA=2e4,QA=3e4,ZA=50;function su(t,e={}){let n=async()=>{try{let s=await Dn.readFile(t,"utf8"),a=JSON.parse(s);return a&&typeof a=="object"?a:{}}catch(s){if(s.code==="ENOENT")return{};throw s}},o=async(s,a)=>{await Dn.mkdir(zA(t),{recursive:!0});let l=`${t}.${process.pid}.${KA(4).toString("hex")}.tmp`;try{await Dn.writeFile(l,JSON.stringify(s,null,2),{mode:384}),a?.throwIfAborted(),await Dn.rename(l,t)}catch(u){throw await Dn.rm(l,{force:!0}).catch(()=>{}),u}await Dn.chmod(t,384).catch(()=>{})},r=(s,a={})=>{let u=(dm.get(t)??Promise.resolve()).then(async()=>{a.signal?.throwIfAborted();let c=await n(),f=!1;for(let[h,y]of Object.entries(s)){if(y===null){if(!(h in c))continue;delete c[h]}else{if(c[h]===y)continue;c[h]=y}f=!0}f&&await o(c,a.signal),a.onCommit?.()});return dm.set(t,u.catch(()=>{})),u};return{store:{async get(s){return(await n())[s]??null},set:(s,a,l)=>r({[s]:a},l),remove:(s,a)=>r({[s]:null},a)},lock:jA(`${t}.lock`,e.lockTimeoutMs??XA),update:r}}function jA(t,e){let n=Promise.resolve();return o=>{let r=n.then(async()=>{await ev(t,e);try{return await o()}finally{tv(t)}});return n=r.then(()=>{},()=>{}),r}}async function ev(t,e){let n=Date.now()+e;for(;;)try{WA(JA(t,"wx"));return}catch(o){if(o.code!=="EEXIST")throw o;try{if(Date.now()-YA(t).mtimeMs>QA){fm(t);continue}}catch{continue}if(Date.now()>n)throw Object.assign(new Error(`Timed out acquiring credential lock at ${t}`),{code:"ETIMEDOUT"});await nv(ZA)}}function tv(t){try{fm(t)}catch{}}function nv(t){return new Promise(e=>setTimeout(e,t))}p();var bn=class extends Error{code="invalid_grant";constructor(e="Refresh token is no longer valid \u2014 sign in again."){super(e),this.name="InvalidGrantError"}};function au(t){let e=t.storageKey??"default",n=t.fetchImpl??fetch,o=t.expirySkewMs??6e4,r=t.refreshTimeoutMs??15e3,i=null,s=async()=>{let u=await t.store.get(e);if(!u)return null;try{let c=JSON.parse(u);return c.accessToken?c:null}catch{return null}},a=u=>u.expiresAt-Date.now()>o,l=u=>t.lock(async()=>{let c=await s()??u;if(c.accessToken!==u.accessToken&&a(c))return c.accessToken;if(!c.refreshToken)throw new bn("No refresh token available \u2014 sign in again.");let f;try{let y=await n(t.tokenEndpoint,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:t.clientId,refresh_token:c.refreshToken}),signal:AbortSignal.timeout(r)});if(!y.ok){let S=await y.text().catch(()=>"");throw y.status>=400&&y.status<500&&ov(S)==="invalid_grant"?(await t.store.remove(e),new bn):Object.assign(new Error(`Token refresh failed (${y.status})`),{status:y.status})}f=await y.json()}catch(y){throw y?.name==="TimeoutError"?Object.assign(new Error(`Token refresh timed out after ${r} ms`),{code:"ETIMEDOUT",cause:y}):y}let h=xn(f,c);return await t.store.set(e,JSON.stringify(h)),h.accessToken});return{async getAccessToken(u){let c=await s();if(!c)throw new bn("Not signed in.");return!u?.forceRefresh&&a(c)?c.accessToken:(i||(i=l(c).finally(()=>{i=null})),i)}}}function ov(t){try{return JSON.parse(t).error}catch{return}}p();import{createServer as rv}from"node:http";import{randomBytes as iv}from"node:crypto";async function Bi(t){if(t.transport.kind==="device")return sv(t);if(t.transport.kind!=="loopback")throw new Error(`Unsupported login transport: ${t.transport.kind}`);if(t.signal?.aborted)throw new Error("Login aborted");let e=A=>t.onEvent?.(A),{codeVerifier:n,codeChallenge:o}=ou(),r=iv(16).toString("hex"),i=t.timeoutMs??5*60*1e3,s=t.transport.successRedirect,a=t.transport.port;e({type:"state",status:"idle"});let l,u,c=new Promise((A,T)=>{l=A,u=T});c.catch(()=>{});let f=rv((A,T)=>{let R=new URL(A.url??"/","http://127.0.0.1");if(R.pathname!=="/callback"){T.writeHead(404).end();return}let O=R.searchParams.get("error"),D=R.searchParams.get("state"),q=R.searchParams.get("code");if(O){let U=R.searchParams.get("error_description"),L=U?`OAuth error: ${O} (${U})`:`OAuth error: ${O}`;T.writeHead(400,{"content-type":"text/plain; charset=utf-8"}).end(`Sign-in failed: ${O}
|
|
53
|
+
`,()=>u(new Error(L)));return}if(D!==r){T.writeHead(400).end("State mismatch"),u(new Error("OAuth state mismatch"));return}if(!q){T.writeHead(400).end("Missing authorization code");return}av(T,s,()=>l(q))}),h=await new Promise((A,T)=>{f.once("error",T),f.listen(a??0,"127.0.0.1",()=>{A(f.address().port)})}),y=setTimeout(()=>u(new Error("Login timed out \u2014 the browser never reached the local callback. The hosted success page is not a completed sign-in.")),i),S=()=>u(new Error("Login aborted"));t.signal?.addEventListener("abort",S,{once:!0}),t.signal?.aborted&&S();try{t.signal?.throwIfAborted();let A=`http://127.0.0.1:${h}/callback`,T=new URL(t.metadata.authorization_endpoint);T.searchParams.set("client_id",t.clientId),T.searchParams.set("response_type","code"),T.searchParams.set("redirect_uri",A),T.searchParams.set("code_challenge",o),T.searchParams.set("code_challenge_method","S256"),T.searchParams.set("state",r),T.searchParams.set("prompt","select_account"),T.searchParams.set("scope",t.scope??"openid offline_access");let R=T.toString();e({type:"authorize_url",url:R}),e({type:"state",status:"awaiting_user"}),t.openBrowser&&await t.openBrowser(R);let O=await c;await pm(f),e({type:"state",status:"exchanging"});let D=await fetch(t.metadata.token_endpoint,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",client_id:t.clientId,code:O,code_verifier:n,redirect_uri:A}),signal:t.signal});if(!D.ok){let U=await D.text().catch(()=>"");throw new Error(`Token exchange failed (${D.status}): ${U}`)}let q=xn(await D.json());return e({type:"state",status:"authenticated"}),q}catch(A){throw e({type:"state",status:"error"}),t.signal?.aborted?new Error("Login aborted"):A}finally{clearTimeout(y),t.signal?.removeEventListener("abort",S),await pm(f)}}async function sv(t){let e=t.metadata.device_authorization_endpoint;if(!e)throw new Error("The authorization server does not offer device sign-in");if(t.signal?.aborted)throw new Error("Login aborted");let n=o=>t.onEvent?.(o);n({type:"state",status:"idle"});try{let o=await iu(e,{clientId:t.clientId,scope:t.scope},{signal:t.signal});n({type:"user_code",userCode:o.userCode,verificationUri:o.verificationUri,verificationUriComplete:o.verificationUriComplete}),n({type:"state",status:"awaiting_user"});let r=await lm(t.metadata.token_endpoint,{clientId:t.clientId,deviceCode:o.deviceCode,interval:o.interval,expiresAt:o.expiresAt},{signal:t.signal});return n({type:"state",status:"authenticated"}),r}catch(o){throw n({type:"state",status:"error"}),t.signal?.aborted?new Error("Login aborted"):o}}function pm(t){return t.listening?new Promise(e=>{t.close(()=>e()),t.closeAllConnections()}):Promise.resolve()}function av(t,e,n){t.writeHead(302,{location:e}).end(n)}p();var lv=["www-browser"];function uv(t){let e=t.replace(/\\/g,"/").split("/").pop();return!!e&&lv.includes(e)}function hm(t={}){let n=process.env.BROWSER?.trim()?.match(/^\S+/)?.[0];if(!t.ignoreBrowserBlocklist&&process.platform!=="win32"&&n&&uv(n)||process.env.CI||process.env.DEBIAN_FRONTEND==="noninteractive")return!1;let o=!!process.env.SSH_CONNECTION;return!(process.platform==="linux"&&!["DISPLAY","WAYLAND_DISPLAY","MIR_SOCKET"].some(s=>!!process.env[s])||o&&process.platform!=="linux")}p();p();import{setMaxListeners as cv}from"node:events";var dv=50;function Vi(t=dv){let e=new AbortController;return cv(t,e.signal),e}function fv(t){if(t)return t instanceof AbortController?t.signal:t}function Ik(t,e){let n=Vi(e),o=fv(t);if(!o)return n;if(o.aborted)return n.abort(o.reason),n;let r=new WeakRef(o),i=()=>{n.abort(r.deref()?.reason)};return o.addEventListener("abort",i,{once:!0}),n.signal.addEventListener("abort",()=>{r.deref()?.removeEventListener("abort",i)},{once:!0}),n}function mm(t,e){let n=Vi(e?.maxListeners),o=t.find(l=>l?.aborted);if(o)return n.abort(o.reason),{signal:n.signal,cleanup:()=>{}};let r=[];for(let l of t){if(!l)continue;if(l.aborted){n.abort(l.reason);break}let u=()=>n.abort(l.reason);l.addEventListener("abort",u,{once:!0}),r.push(()=>l.removeEventListener("abort",u))}let i=e?.timeoutMs;if(i!==void 0&&i>0&&!n.signal.aborted){let l=setTimeout(()=>{n.abort(new DOMException("Operation timed out","TimeoutError"))},i);r.push(()=>clearTimeout(l))}let s=!1,a=()=>{if(!s){s=!0;for(let l of r)l()}};return n.signal.aborted?a():n.signal.addEventListener("abort",a,{once:!0}),{signal:n.signal,cleanup:a}}async function gm(t,e){if(e?.throwIfAborted(),!e)return t();let n=()=>{},o=new Promise((i,s)=>{n=()=>s(e.reason),e.addEventListener("abort",n,{once:!0})});o.catch(()=>{});let r;try{r=await Promise.race([t(),o])}finally{e.removeEventListener("abort",n)}return e.throwIfAborted(),r}var ym=5*6e4;async function lu(t,e){let n=performance.now()+ym,o=Vi(),r=()=>o.abort(new DOMException("Sign-in timed out","TimeoutError")),i=setTimeout(r,ym),{signal:s,cleanup:a}=mm([t,o.signal]),l=()=>{t?.throwIfAborted(),performance.now()>=n&&r(),o.signal.throwIfAborted(),s.throwIfAborted()},u;try{l(),u=await e({signal:s,check:l})}finally{clearTimeout(i),a()}return l(),u}var pv=ru;async function Em(t,e){Ct(t);let n=await gm(()=>pv(t,void 0,{signal:e}),e);if(In(t)){if(n.issuer!==Eo)throw new Error("Matilda sign-in is not ready at https://matilda.com. The server returned an unexpected issuer. Try again after the service migration completes.");for(let o of[n.authorization_endpoint,n.token_endpoint,n.device_authorization_endpoint]){if(o===void 0)continue;let r=new URL(o);if(r.origin!==Eo||r.username||r.password||r.hash)throw new Error("Matilda returned an unsafe sign-in endpoint. No credentials were sent. Contact support.")}}return n}var Un="matilda-code",Tm="matilda-desktop",_m="openid profile email offline_access",$i="MATILDA_API_KEY",Tv="matilda",uu=3e5;function Ln(t){return At(t)}function Cm(){return Ev(Do.getGlobalMatildaDir(),"matilda-auth.json")}function Fn(){let t=Cm();return mv(yv(t),{recursive:!0}),su(t,{lockTimeoutMs:2e4})}function _v(t){return t==="desktop"}function qn(t){return t?.clientId?t.clientId:_v(t?.channel)?Tm:Un}function Po(t){return`matilda:${t}`}function Ki(t){return`${Po(t)}:refresh-rejected`}function Yt(t){return t===Un?[Po(t),Tv]:[Po(t)]}function fu(){try{let t=gv(Cm(),"utf8");return JSON.parse(t)}catch{return{}}}function Gn(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.accessToken=="string"&&typeof e?.baseUrl=="string"?e:null}catch{return null}}function pu(t,e){return Ln(t)===Ln(e)}function Cv(t){if(!t)return{};try{let e=t.split(".")[1],n=Buffer.from(e.replace(/-/g,"+").replace(/_/g,"/"),"base64").toString("utf8"),o=JSON.parse(n);return{sub:o.sub,email:o.email,name:o.name}}catch{return{}}}function Am(t,e){if(ft({baseUrl:e,accessToken:t.accessToken}))throw new Le({reason:dt});let n=Cv(t.idToken);return{accessToken:t.accessToken,accessTokenExpiresAt:t.expiresAt,refreshToken:t.refreshToken??"",userId:n.sub,email:n.email,displayName:n.name,baseUrl:e}}var cu=new Map;async function hu(t,e={}){let n=()=>{e.signal?.throwIfAborted(),e.check?.()};n(),Ct(t);let o=!e.signingIn&&cu.get(t);if(o)return o;try{let r=await Em(t,e.signal);return n(),cu.set(t,r),r}catch(r){n();let i=e.signingIn&&(Co(r,t)??Fl(r,t));if(i)throw i;if(In(t))throw r;return{issuer:t,authorization_endpoint:`${t}/api/auth/oauth/authorize`,token_endpoint:`${t}/api/auth/oauth/token`,device_authorization_endpoint:`${t}/api/auth/oauth/device/code`}}}function mu(t){let e=vm(t);return e&&!ft(e)?e:null}function vm(t){try{let e=fu(),n=qn(t);for(let o of Yt(n)){let r=Gn(e[o]);if(r)return r}return null}catch{return null}}async function Hi(t,e){let n=qn(t),o=fu();if(!Yt(n).some(a=>{let l=Gn(o[a]);return l&&ft(l)}))return!1;let{store:r,lock:i,update:s}=Fn();return i(async()=>{let a={};for(let l of Yt(n)){let u=Gn(await r.get(l));u&&ft(u)&&(a[l]=null)}return await s(a,{signal:e}),Object.keys(a).length>0})}function Sm(t){let e=mu(t);return!e||t?.baseUrl&&!pu(e.baseUrl,t.baseUrl)?null:e}function gu(t){return Sm(t)!==null}async function wm(t,e){for(let n of e){let o=await t.get(n);if(Gn(o))return o}return null}async function Av(t,e){let n=qn(t),o=Yt(n),{store:r,lock:i,update:s}=Fn();await i(async()=>{let a=await wm(r,o);a!==null&&a!==e||await s({...Object.fromEntries(o.map(l=>[l,null])),[Ki(n)]:"1"})})}function vv(t){return t instanceof Error?t.code==="invalid_grant"||t.name==="InvalidGrantError"?!0:t.message==="Token refresh failed (401)":!1}function On(t){du({authStage:t.authStage,authOutcome:t.authOutcome,occurrenceCount:t.occurrenceCount},{baseUrl:t.baseUrl,token:t.token}).catch(()=>{})}async function Im(t,e,n={}){let o=qn(e),r=Po(o),i={[r]:JSON.stringify(t),[Ki(o)]:null};for(let l of Yt(o))l!==r&&(i[l]=null);let{lock:s,update:a}=Fn();await s(()=>(n.check?.(),a(i,{signal:n.signal})))}async function Sv(t,e){for(let n of Yt(e))await t.remove(n);await t.remove(Ki(e))}var Ro="matilda:api-key";function Rm(){let t=fu()[Ro];if(!t)return null;try{let{apiKey:e,baseUrl:n}=JSON.parse(t);return typeof e=="string"&&e.length>0&&typeof n=="string"?{apiKey:e,baseUrl:n}:null}catch{return null}}function Ji(t){let e=Rm();return e&&pu(e.baseUrl,t)?e.apiKey:void 0}async function wv(t){let e=hv(),n=JSON.stringify(t?{...t,saveId:e}:{saveId:e}),{store:o,lock:r,update:i}=Fn(),s=await r(async()=>{let a=await o.get(Ro);return(t||a!==null)&&await i({[Ro]:n}),a});return()=>r(async()=>{await o.get(Ro)===n&&await i({[Ro]:s})})}function Iv(t){let e=mu(t);return e?{authenticated:!0,userId:e.userId,email:e.email,displayName:e.displayName,baseUrl:e.baseUrl,accessTokenExpiresAt:e.accessTokenExpiresAt}:{authenticated:!1}}async function Jk(t){let e={channel:t?.channel,clientId:t?.clientId},{store:n,lock:o}=Fn(),r=await o(async()=>{let s=mu(e);return await Sv(n,qn(e)),s}),i=Rm()!==null;if(await wv(null),r?.accessToken){let s=Ln(r.baseUrl);await fetch(`${s}/api/auth/logout`,{method:"POST",headers:{authorization:`Bearer ${r.accessToken}`,"content-type":"application/json"},body:JSON.stringify(r.refreshToken?{refreshToken:r.refreshToken}:{}),signal:t?.signal??AbortSignal.timeout(5e3)}).catch(()=>{})}return!!r||i}function Pm(t){return!t||t===$i}function Mm(t){let{baseUrl:e,channel:n,apiKey:o,apiKeyEnvKey:r}=t;if(gu({baseUrl:e,channel:n})){let i=Iv({channel:n});return{kind:"sign-in",account:i.authenticated?i.email??i.displayName??i.userId:void 0}}return o?.value?{kind:"api-key",from:o.from}:Pm(r)&&process.env[$i]?{kind:"api-key",from:$i}:Ji(e)!==void 0?{kind:"api-key",from:"saved"}:{kind:"none"}}async function km(t){t?.signal?.throwIfAborted();let e=qn(t),n=vm(t);if(n&&ft(n)&&(await Hi(t,t?.signal),!t?.baseUrl||Ei(t.baseUrl)||In(t.baseUrl)))throw new Le({channel:t?.channel,reason:dt});t?.baseUrl&&Ct(t.baseUrl);let o=Po(e),r=Sm({baseUrl:t?.baseUrl,channel:t?.channel,clientId:e});if(!r){let f=t?.fallbackAccessToken||(Pm(t?.apiKeyEnvKey)?process.env[$i]:void 0)||t?.baseUrl&&Ji(t.baseUrl)||"";if(t?.baseUrl&&ft({baseUrl:t.baseUrl,accessToken:f}))throw new Le({channel:t?.channel,reason:dt});return f}let i=Ln(r.baseUrl),s=await hu(i,{signal:t?.signal}),{manager:a,startedFrom:l}=Rv(Fn(),s.token_endpoint,r.baseUrl,e,o,t?.signal),u=e===Un&&(!!t?.forceRefresh||r.accessTokenExpiresAt-Date.now()<=uu),c;try{c=await a.getAccessToken({forceRefresh:t?.forceRefresh})}catch(f){t?.signal?.throwIfAborted(),u&&On({baseUrl:r.baseUrl,token:r.accessToken,authStage:"refresh",authOutcome:"failed"});let h=f instanceof Error?f.code:void 0;if(h==="session_changed"||h==="no_session"){let y=await Hi(t,t?.signal);throw new Le({cause:f,channel:t?.channel,...y?{reason:dt}:{}})}if(!vv(f)&&h!=="no_refresh_token")throw cu.delete(i),Co(f,i)??Fl(f,i)??f;if(f instanceof Le){let y=await Hi(t,t?.signal);throw new Le({cause:f,channel:t?.channel,...y?{reason:dt}:{}})}throw e===Tm&&await Av({channel:t?.channel,clientId:e},l()),new Le({cause:f,channel:t?.channel})}if(t?.signal?.throwIfAborted(),ft({baseUrl:r.baseUrl,accessToken:c}))throw await Hi(t,t?.signal),new Le({channel:t?.channel,reason:dt});return u&&On({baseUrl:r.baseUrl,token:c,authStage:"refresh",authOutcome:"succeeded"}),c}function Rv({store:t,lock:e,update:n},o,r,i,s,a){let l=Yt(i),u=(R,O)=>{h=f;let D=[O?.signal,a].filter(q=>q instanceof AbortSignal);return fetch(R,{...O,signal:D.length>1?AbortSignal.any(D):D[0]})},c=R=>wm(t,R===s?l:[R]),f=null,h,y=()=>h===void 0?f:h;return{manager:au({tokenEndpoint:o,clientId:i,store:{get:async R=>{let O=await c(R),D=Gn(O);if(D&&ft(D))throw new Le({reason:dt});if(f=D&&pu(D.baseUrl,r)?O:null,!f||!D?.accessToken)return null;let q={accessToken:D.accessToken,refreshToken:D.refreshToken,expiresAt:D.accessTokenExpiresAt};return JSON.stringify(q)},set:async(R,O,D={})=>{let q=await c(R);if(q===null||q!==y())throw new Le;let U=JSON.parse(O),L=Gn(q)??{},$={...L,accessToken:U.accessToken,accessTokenExpiresAt:U.expiresAt,refreshToken:U.refreshToken??L.refreshToken??"",baseUrl:L.baseUrl??r};if(ft($))throw new Le({reason:dt});await n({...Object.fromEntries(l.filter(Y=>Y!==s).map(Y=>[Y,null])),[s]:JSON.stringify($),[Ki(i)]:null},D)},remove:async(R,O={})=>{if(await c(R)!==y())return;await n(Object.fromEntries((R===s?l:[R]).map(q=>[q,null])),O)}},storageKey:s,lock:e,fetchImpl:u,expirySkewMs:uu,skewMs:uu}),startedFrom:y}}function Pv(){return process.env.MATILDA_AUTH_SKIP_BROWSER!=="1"&&hm()}async function Wk(t){let{openBrowser:e,onAuthorizeUrl:n,signal:o}=t,r=Re(t.baseUrl);return lu(o,async i=>{let s=Ln(r),a=await hu(s,{signingIn:!0,...i}),l="",u=0,c=0,f={},h=T=>{f[T]=(f[T]??0)+1},S=await(T=>(u+=1,Bi({metadata:a,clientId:Un,scope:T,transport:{kind:"loopback",successRedirect:`${s}/api/auth/oauth/success?client_id=${encodeURIComponent(Un)}`},signal:i.signal,onEvent:R=>{i.check(),R.type==="authorize_url"&&(l=R.url,n?.(R.url)),R.type==="state"&&R.status==="exchanging"&&(c+=1),i.check()},openBrowser:async R=>{if(i.check(),e===!1||!Pv()){h("skipped");return}try{let{default:O}=await import("./open-QQ7FWG4A.js");i.check(),(await O(R)).once("error",()=>{}),h("succeeded")}catch{i.check(),h("failed")}i.check()}})))(_m).catch(T=>{throw i.check(),Co(T,s)??T});i.check();let A=Am(S,r);await Im(A,void 0,i),i.check(),On({baseUrl:r,token:A.accessToken,authStage:"auth_started",authOutcome:"started",occurrenceCount:u});for(let[T,R]of Object.entries(f))On({baseUrl:r,token:A.accessToken,authStage:"browser_opened",authOutcome:T,occurrenceCount:R});return c>0&&On({baseUrl:r,token:A.accessToken,authStage:"callback_received",authOutcome:"succeeded",occurrenceCount:c}),On({baseUrl:r,token:A.accessToken,authStage:"token_persisted",authOutcome:"succeeded"}),{...A,authorizeUrl:l}})}async function Yk(t){let{onDeviceCode:e,signal:n}=t,o=Re(t.baseUrl);return lu(n,async r=>{let i=Ln(o),s=await hu(i,{signingIn:!0,...r}),a=await Bi({metadata:s,clientId:Un,scope:_m,transport:{kind:"device"},signal:r.signal,onEvent:u=>{r.check(),u.type==="user_code"&&e({userCode:u.userCode,verificationUri:u.verificationUri,verificationUriComplete:u.verificationUriComplete}),r.check()}}).catch(u=>{throw r.check(),Co(u,i)??u});r.check();let l=Am(a,o);return await Im(l,void 0,r),l})}p();p();p();function Wi(t){return typeof t=="object"&&t!==null&&"error"in t&&typeof t.error=="object"&&"message"in t.error}function Nm(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}p();function xm(t){let e=Math.max(1,t.attempt),n=Math.min(t.maxDelayMs,2147483647),o=Math.min(e-1,31),r=Math.min(t.initialDelayMs*Math.pow(2,o),n),s=(t.retryAfterMode??"ignore")==="ignore"?null:Mv(t.error);if(s!==null&&s>0){let c=Math.min(t.retryAfterMaxDelayMs??t.maxDelayMs,2147483647),f=Math.min(s,c);return Math.max(r,f)}let a=t.jitterRatio??0;if(a<=0)return r;let l=t.random??Math.random,u=r*a*(l()*2-1);return Math.min(Math.max(0,r+u),n)}function Mv(t){let e=Dm(t,"retry-after")??kv(t,"retry-after");if(e===null)return null;let n=e.trim();if(/^\d+(\.\d+)?$/.test(n)){let i=Number(n);if(Number.isFinite(i)&&i>=0)return Math.min(i*1e3,2147483647)}let o=Date.parse(n);if(!Number.isFinite(o))return null;let r=o-Date.now();return r>0?Math.min(r,2147483647):0}function Dm(t,e){if(!Nv(t))return null;let{headers:n}=t;if(typeof n.get=="function"){let r=n.get(e);return typeof r=="string"?r:null}if(typeof n!="object"||n===null)return null;let o=e.toLowerCase();for(let[r,i]of Object.entries(n))if(r.toLowerCase()===o)return typeof i=="string"?i:null;return null}function kv(t,e){return xv(t)?Dm(t.response,e):null}function Nv(t){return typeof t=="object"&&t!==null&&"headers"in t&&t.headers!=null}function xv(t){return typeof t=="object"&&t!==null&&"response"in t&&typeof t.response=="object"&&t.response!==null&&"headers"in t.response&&t.response.headers!=null}var Dv=new Set([429,503,1302,1305]);function yu(t,e){if(Eu(t))return!1;let n=Ov(t);return n===null?!1:!!(Dv.has(n)||e&&e.includes(n))}function Eu(t){return bv(t)==="insufficient_quota"}function bv(t){let e=Om(t)?.code;if(e!==void 0)return e;let n=typeof t=="object"&&t!==null&&"code"in t?t.code:void 0;return typeof n=="string"||typeof n=="number"?n:void 0}function bm(t){let e=ot(t),n=Om(t),o=Um(t),r=o?.includes("event:error")||o?.includes("HTTP_STATUS/")?"sse":e!==void 0?"http":"unknown";return{...e!==void 0?{statusCode:e}:{},...n?.code!==void 0?{providerCode:String(n.code)}:{},...n?.message!==void 0?{providerMessage:n.message}:{},...n?.requestId!==void 0?{requestId:n.requestId}:{},transport:r}}function rN(t,e){return xm({attempt:t,initialDelayMs:e.initialDelayMs,maxDelayMs:e.maxDelayMs,retryAfterMode:"minimum",retryAfterMaxDelayMs:e.maxDelayMs,error:e.error})}function Ov(t){if(Wi(t)){let n=Number(t.error.code);if(Number.isFinite(n)&&n>0)return n}let e=t instanceof Error?t.message:typeof t=="string"?t:null;if(e){let n=e.indexOf("{");if(n!==-1)try{let o=JSON.parse(e.substring(n));if(Wi(o)){let r=Number(o.error.code);if(Number.isFinite(r)&&r>0)return r}}catch{}}if(Nm(t)&&typeof t.status=="number")return t.status;if(t instanceof Error&&"status"in t){let n=t.status;if(typeof n=="number")return n}return ot(t)??null}function Om(t){for(let e of Uv(t)){if(typeof e!="object"||e===null)continue;let n=e,o=e.error,i=(typeof o=="object"&&o!==null?o:void 0)??n,s=typeof i.code=="string"||typeof i.code=="number"?i.code:void 0,a=typeof i.message=="string"?i.message:void 0,l=typeof i.request_id=="string"?i.request_id:typeof i.requestId=="string"?i.requestId:typeof n.request_id=="string"?n.request_id:typeof n.requestId=="string"?n.requestId:void 0;if(s!==void 0||a!==void 0||l!==void 0)return{code:s,message:a,requestId:l}}return Wi(t)?{code:t.error.code,message:t.error.message}:null}function Uv(t){let e=Um(t);if(!e)return[];let n=[];for(let i of e.split(/\r?\n/)){if(!i.startsWith("data:"))continue;let s=i.slice(5).trim();if(!(!s||s==="[DONE]"))try{n.push(JSON.parse(s))}catch{}}if(n.length>0)return n;let o=e.indexOf("{"),r=e.lastIndexOf("}");if(o!==-1&&r>o)try{n.push(JSON.parse(e.slice(o,r+1)))}catch{}return n}function Um(t){return t instanceof Error?t.message:typeof t=="string"?t:null}function Lv(t,e={}){if(Gv(t))return{kind:"abort",diagnosis:"fail-fast",reason:"aborted"};let n=bm(t),o=n.statusCode,r=$v(t),i=n.providerCode??r.providerCode,s=n.providerMessage??r.providerMessage,a=n.requestId??r.requestId,l={...o!==void 0?{statusCode:o}:{},...i!==void 0?{providerCode:i}:{},...s!==void 0?{providerMessage:s}:{},...a!==void 0?{requestId:a}:{}};if(Hv(i))return{kind:"provider-business",diagnosis:"fail-fast",reason:"allocated-quota-exceeded",...l};if(Eu(t))return{kind:"provider-business",diagnosis:"fail-fast",reason:"insufficient-quota",...l};if(yu(t,e.extraRetryErrorCodes))return{kind:n.transport==="sse"?"sse-provider":o!==void 0?"http":"provider",diagnosis:"retryable",reason:"rate-limit",...l};let u=qv(t);if(u!==void 0&&(o===void 0||o>=500))return{kind:"transport",diagnosis:"retryable",reason:"transport-error",transportCode:u,...o!==void 0?{statusCode:o}:{}};if(o!==void 0){let c=n.transport==="sse"?"sse-provider":"http";return o===529?{kind:c,diagnosis:"retryable",reason:"capacity-overload",...l}:o===401||o===403?{kind:c,diagnosis:"fail-fast",reason:"auth-error",...l}:o>=400&&o<500?{kind:c,diagnosis:"fail-fast",reason:"client-error",...l}:o>=500&&o<600?{kind:c,diagnosis:"retryable",reason:"server-error",...l}:{kind:c,diagnosis:"unknown",reason:"http-status",...l}}return i==="upstream_unavailable"||i==="upstream_timeout"||i==="incomplete_stream"?{kind:"sse-provider",diagnosis:"retryable",reason:"server-error",...l}:{kind:"unknown",diagnosis:"unknown",reason:"unclassified",...l}}function uN(t){let e=t.statusCode??Number(t.providerCode);return t.kind!=="transport"&&t.diagnosis!=="fail-fast"&&(e>=500&&e<600||t.kind==="sse-provider"&&t.reason==="server-error"&&t.diagnosis==="retryable")}function Lm(t,e){return yu(t,e)||Lv(t,{extraRetryErrorCodes:e}).diagnosis==="retryable"}function Gv(t){return Su(t)?!0:t instanceof Error&&t.name==="CanceledError"}var Fv=5;function qv(t){let e=t;for(let n=0;n<=Fv;n++){if(typeof e!="object"||e===null)return;let o=e.code;if(typeof o=="string"&&Bv(o))return o;e=e instanceof Error?e.cause:void 0}}function Bv(t){return Vv.has(t)}var Vv=new Set(["EAI_AGAIN","ECONNABORTED","ECONNREFUSED","ECONNRESET","EHOSTUNREACH","ENETDOWN","ENETUNREACH","ENOTFOUND","EPIPE","ETIMEDOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_SOCKET","ConnectionClosed","ConnectionRefused","ConnectionReset","ConnectionTimedOut","FailedToOpenSocket","HostUnreachable","NetworkUnreachable"]);function Hv(t){return t==="Throttling.AllocationQuota"}function $v(t){if(typeof t!="object"||t===null)return{};let e=t,n=typeof e.code=="string"||typeof e.code=="number"?String(e.code):void 0,o=typeof e.code=="number"&&e.code>=100&&e.code<600,r=t instanceof Error&&n?.startsWith("ERR_")||o?void 0:n,i=typeof e.request_id=="string"?e.request_id:typeof e.requestId=="string"?e.requestId:void 0,s=typeof e.message=="string"&&(!(t instanceof Error)||r!==void 0||i!==void 0)?e.message:void 0;return{...r!==void 0?{providerCode:r}:{},...s!==void 0?{providerMessage:s}:{},...i!==void 0?{requestId:i}:{}}}var Pn=(e=>(e.USE_OPENAI="openai",e))(Pn||{});function Gm(t,e){if(delete t.usesMatildaSignIn,delete t.usesMatildaSavedApiKey,!Gl(t))return;let n=t.baseUrl||We();gu({baseUrl:n,channel:e})&&(t.usesMatildaSignIn=!0),!t.apiKey&&Ji(n)!==void 0&&(t.usesMatildaSavedApiKey=!0)}function _N(t,e={}){let n=t.apiKey?{value:t.apiKey,from:e.apiKeyFrom??"config"}:void 0;return Gl(t)?Mm({baseUrl:t.baseUrl||We(),channel:e.channel,apiKey:n,apiKeyEnvKey:t.apiKeyEnvKey}):n&&{kind:"api-key",from:n.from}}async function Kv(t,e){try{await km({baseUrl:t.baseUrl||We(),channel:e})}catch(n){if(!Lm(n))throw n}}function Tu(t,e,n){t[e]=n}function Jv(t,e){return t?.[e]}function CN(t,e,n,o,r){let i={...o||{}},s=r?.strictModelProvider===!0,a={...n||{},authType:e,proxy:t?.getProxy()};Tu(i,"authType",{kind:"computed",detail:"provided by caller"}),t?.getProxy()&&Tu(i,"proxy",{kind:"computed",detail:"Config.getProxy()"});let l=c=>Jv(o,c)??{kind:"unknown"};for(let c of jl)n&&c in n&&!i[c]&&Tu(i,c,l(c));Gm(a,t.getChannel());let u=eu(a,s);if(!u.valid)throw new Error(u.errors.map(c=>c.message).join(`
|
|
54
|
+
`));return{config:a,sources:i}}function eu(t,e=!1){let n=[];if(!t.apiKey&&!t.usesMatildaSignIn&&!t.usesMatildaSavedApiKey)if(e)n.push(new Ri(t.authType,t.model,t.apiKeyEnvKey));else{let o=t.apiKeyEnvKey||Yh(t.authType);n.push(new Mi({authType:t.authType,model:t.model,baseUrl:t.baseUrl,envKey:o}))}if(!t.model)if(e)n.push(new Pi(t.authType));else{let o=zh(t.authType);n.push(new ki({authType:t.authType,envKey:o}))}return{valid:n.length===0,errors:n}}function Wv(t){let e=t;for(;e instanceof Error;){if("code"in e&&e.code==="ERR_MODULE_NOT_FOUND")return e;e=e.cause}}async function AN(t,e,n){e.assertServer?.(t.baseUrl,n,e.getContentGeneratorConfig?.()?.baseUrl),Xl(t,zl(e),e.getCodeCreditLimitMinor?.()),Wh(t.customHeaders),Gm(t,e.getChannel()),t.usesMatildaSignIn&&await Kv(t,e.getChannel());let o=eu(t,!1);if(!o.valid)throw new Error(o.errors.map(s=>s.message).join(`
|
|
55
|
+
`));Iu(t.apiKey);let r=t.authType;if(!r)throw new Error("ContentGeneratorConfig must have an authType");let i;try{if(r==="openai"){let{applyDeclaredInputModalities:s,createOpenAIContentGenerator:a}=await import("./openaiContentGenerator-SK6CIVEM.js");await s(t,e,n),i=a(t,e)}else throw new Error(`Error creating contentGenerator: Unsupported authType: ${r}`)}catch(s){let a=Wv(s);throw a?new Error(`Matilda was updated in the background and needs to be restarted.
|
|
56
|
+
Please exit and restart Matilda to use the '${r}' provider.`,{cause:a}):s}return new So(i,e,t)}p();import{AsyncLocalStorage as Yv}from"node:async_hooks";import{randomUUID as zv}from"node:crypto";var Bm="x-matilda-reported-operation-id",Vm="x-matilda-reported-attempt-purpose",_u=[Bm,Vm],Xv=new Set(_u),Qv=["answer","tool_followup","continuation","retry","compaction","unknown"],Zv=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,jv=new Set(Qv),Cu=new Yv,Hm=new WeakSet;function Fm(){return zv()}function Yi(t,e){let n=Object.freeze({operationId:t,attemptPurpose:e});return Hm.add(n),n}function PN(t){return Xv.has(t.toLowerCase())}function zi(){let t=Cu.getStore();return t&&Hm.has(t)?t:void 0}var qm=class{activeOperationId;begin(e){return this.activeOperationId=Fm(),Yi(this.activeOperationId,e)}continue(e){let n=zi()?.operationId??this.activeOperationId??Fm();return this.activeOperationId=n,Yi(n,e)}};function Mo(t,e){return Cu.run(t,e)}function MN(t){Cu.enterWith(t)}function kN(t,e){let n=zi();return n?Mo(Yi(n.operationId,t),e):e()}function eS(t,e){let n={next:(...i)=>Mo(t,()=>e.next(...i)),return:i=>Mo(t,()=>e.return(i)),throw:i=>Mo(t,()=>e.throw(i)),[Symbol.asyncIterator]:()=>n},o=Symbol.asyncDispose,r=o&&e[o];return o&&typeof r=="function"&&(n[o]=()=>Mo(t,()=>r.call(e))),n}function NN(t,e){let n=zi();return n?eS(Yi(n.operationId,t),e):e}function xN(){let t=zi();if(!t||!Zv.test(t.operationId))return{};let e=Ii.getStore()?.attempt,n=e!==void 0&&e>1?"retry":t.attemptPurpose;return jv.has(n)?{[Bm]:t.operationId,[Vm]:n}:{}}var tS=["x-matilda-client-name","x-matilda-client-version","x-matilda-client-operating-system","x-matilda-client-architecture","x-matilda-client-distribution-channel","x-matilda-client-release-channel"],nS=new Set([...tS,..._u]),oS=new Set(["VSCode","ACP","SDK","CI"]),Bn="(?:0|[1-9]\\d{0,4})\\.(?:0|[1-9]\\d{0,4})\\.(?:0|[1-9]\\d{0,4})",rS="[A-Za-z][0-9A-Za-z-]{0,23}",$m="(?:0|[1-9]\\d{0,11}|[0-9A-Fa-f]{7,12})",iS=new RegExp(`^${Bn}(?:-${rS}(?:\\.${$m})+)?$`),sS=63,aS=new RegExp(`^${Bn}$`),lS=new RegExp(`^${Bn}-preview\\.(?:0|[1-9]\\d{0,11})$`),uS=new RegExp(`^${Bn}-canary\\.(?:0|[1-9]\\d{0,11})$`),cS=new RegExp(`^${Bn}-nightly\\.(?:0|[1-9]\\d{0,11})\\.[0-9A-Fa-f]{7,12}$`),dS=new RegExp(`^${Bn}-(preview|canary|nightly|development|internal)(?:\\.${$m})+$`);function fS(t){return t==="desktop"?"desktop":t===void 0||oS.has(t)?"code_cli":"unknown"}function pS(t){if(t==="android")return"android";if(t==="darwin")return"macos";if(t==="win32")return"windows";if(t==="linux")return"linux"}function hS(t){if(t==="x64")return"x64";if(t==="arm64")return"arm64"}function mS(t){if(t===void 0)return"npm";if(t==="desktop")return"direct-download";if(t==="VSCode")return"vscode-marketplace"}function gS(t,e){if(e==="desktop")return"matilda-desktop";if(t==="VSCode")return"matilda-vscode";if(e==="code_cli")return"matilda-code"}function yS(t){if(typeof t=="string"&&!(t.length>sS||!iS.test(t)))return t}function ES(t){if(t!==void 0)return aS.test(t)?"stable":lS.test(t)?"preview":uS.test(t)?"canary":cS.test(t)?"nightly":dS.exec(t)?.[1]}function Km(t,e=process.platform,n=process.arch){let o=t.getChannel?.(),r=fS(o),i=yS(o==="desktop"&&process.env.CRAFT_AGENT_VERSION!==void 0?process.env.CRAFT_AGENT_VERSION:t.getCliVersion?.()),s=ES(i),a=pS(e),l=hS(n),u=mS(o),c=gS(o,r);return{...c?{"x-matilda-client-name":c}:{},...i?{"x-matilda-client-version":i}:{},...a?{"x-matilda-client-operating-system":a}:{},...l?{"x-matilda-client-architecture":l}:{},...u?{"x-matilda-client-distribution-channel":u}:{},...s?{"x-matilda-client-release-channel":s}:{}}}function FN(t){let e=t.toLowerCase();return nS.has(e)||e.startsWith("x-matilda-reported-")}function TS(t){let e=t??We();try{let n=new URL(e);if(n.protocol!=="https:"&&n.protocol!=="http:")return!1;let o=n.hostname.toLowerCase();return wn(o)||o==="core-api.matilda"||_o(e)}catch{return!1}}function qN(t,e=t.apiKey){return t.authType==="openai"&&(!!e||t.usesMatildaSignIn===!0||t.usesMatildaSavedApiKey===!0)&&TS(t.baseUrl)}var _S=3e3,ko=1,CS=24*60*60*1e3,Jm=20,Wm=999,AS=new Set(["UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]),vS=new Set(["ENOTFOUND","EAI_AGAIN"]),SS=new Set(["ECONNREFUSED","EHOSTUNREACH","ENETUNREACH"]),wS=new Set(["ABORT_ERR","ETIMEDOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT"]),IS=new Set(["ECONNRESET","EPIPE","UND_ERR_SOCKET"]);function RS(t){return`${new URL(Re(t)).origin}/api/client-events`}function PS(t){let e={eventType:t.eventType,platform:"cli"};return t.eventType==="network_error"&&(e.transportReason=t.transportReason,e.transportStage=t.transportStage,e.responseReceived=t.responseReceived,e.occurrenceCount=t.occurrenceCount),t.eventType==="auth_funnel"&&(e.authStage=t.authStage,e.authOutcome=t.authOutcome,e.occurrenceCount=t.occurrenceCount),t.eventType==="network_error"&&(e.reportedSurface=t.reportedSurface,e.reportedOs=t.reportedOs,e.reportedArchitecture=t.reportedArchitecture,e.reportedProcess=t.reportedProcess,e.reportedReleaseChannel=t.reportedReleaseChannel,t.reportedVersion&&(e.reportedVersion=t.reportedVersion)),e}async function Au(t,e){let{baseUrl:n,token:o}=e;if(!n||!o)return!1;let r=e.fetchImpl??fetch,i=new AbortController,s=setTimeout(()=>i.abort(),e.timeoutMs??_S);try{let a=await r(RS(n),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${o}`},body:JSON.stringify(PS(t)),signal:i.signal});return a.ok?!0:(bo.warn(`client-events beacon: server rejected payload (HTTP ${a.status})`),!1)}catch{return!1}finally{clearTimeout(s)}}async function du(t,e){let n=typeof t.occurrenceCount=="number"&&Number.isFinite(t.occurrenceCount)?Math.max(1,Math.min(Math.floor(t.occurrenceCount),Wm)):1;return Au({eventType:"auth_funnel",authStage:t.authStage,authOutcome:t.authOutcome,occurrenceCount:n},e)}function Ym(){try{let t=Dt.readFileSync(Qm(),"utf8"),e=JSON.parse(t);return e.schemaVersion!==ko||!Array.isArray(e.failures)?void 0:{schemaVersion:ko,failures:e.failures.filter(MS)}}catch{return}}function MS(t){if(!t||typeof t!="object")return!1;let e=t;return e.eventType==="network_error"&&typeof e.transportReason=="string"&&typeof e.transportStage=="string"&&typeof e.responseReceived=="boolean"&&typeof e.occurrenceCount=="number"&&typeof e.reportedSurface=="string"&&typeof e.reportedOs=="string"&&typeof e.reportedArchitecture=="string"&&typeof e.reportedProcess=="string"&&typeof e.reportedReleaseChannel=="string"&&typeof e.firstObservedAtMs=="number"&&typeof e.lastObservedAtMs=="number"}function zm(t){let e=Qm();if(t.failures.length===0){try{Dt.rmSync(e,{force:!0})}catch{}return}try{Dt.mkdirSync(Xi.dirname(e),{recursive:!0}),Dt.writeFileSync(e,`${JSON.stringify(t)}
|
|
57
|
+
`,"utf8")}catch{}}function Xm(t,e){return t.filter(n=>e-n.lastObservedAtMs<=CS).sort((n,o)=>n.firstObservedAtMs-o.firstObservedAtMs).slice(-Jm)}function kS(t){let e=Km(t);return{reportedSurface:e["x-matilda-client-name"]==="matilda-desktop"?"desktop":e["x-matilda-client-name"]==="matilda-code"||e["x-matilda-client-name"]==="matilda-vscode"?"code_cli":"unknown",reportedOs:e["x-matilda-client-operating-system"]??"unknown",reportedArchitecture:e["x-matilda-client-architecture"]??"unknown",reportedProcess:e["x-matilda-client-name"]??"unknown",reportedVersion:e["x-matilda-client-version"],reportedReleaseChannel:e["x-matilda-client-release-channel"]??"unknown"}}function NS(t){if(!t||typeof t!="object")return;let e=t.code;if(typeof e=="string")return e;if(!(t instanceof Error)||!t.cause||typeof t.cause!="object")return;let n=t.cause.code;return typeof n=="string"?n:void 0}function xS(t){if(!(!t||typeof t!="object"))for(let e of["status","statusCode"]){let n=t[e];if(typeof n=="number")return n}}function DS(t,e){let n=NS(t);if(n&&AS.has(n))return{reason:"tls",stage:"tls",responseReceived:!1};if(n&&vS.has(n))return{reason:"dns",stage:"resolve",responseReceived:!1};if(n&&SS.has(n))return{reason:"connect",stage:"connect",responseReceived:!1};if(n&&wS.has(n))return{reason:"timeout",stage:n==="UND_ERR_BODY_TIMEOUT"?"response":"request",responseReceived:n==="UND_ERR_BODY_TIMEOUT"};if(n&&IS.has(n))return{reason:"reset",stage:n==="UND_ERR_SOCKET"?"response":"request",responseReceived:n==="UND_ERR_SOCKET"};let o=xS(t),r=t instanceof Error?t.message.toLowerCase():String(t).toLowerCase();if(r.includes("self signed")||r.includes("certificate")||r.includes("tls"))return{reason:"tls",stage:"tls",responseReceived:!1};if(o===407||n==="proxy_auth_required")return{reason:"proxy",stage:"connect",responseReceived:!0};if(e&&r.includes("proxy")&&(r.includes("407")||r.includes("connect")||r.includes("fetch failed")))return{reason:"proxy",stage:"connect",responseReceived:!1};if(r.includes("timed out")||r.includes("timeout")||r.includes("deadline exceeded"))return{reason:"timeout",stage:"request",responseReceived:!1};if(r.includes("fetch failed"))return{reason:"unknown",stage:"unknown",responseReceived:!1}}function bS(t,e){return t.findIndex(n=>n.transportReason===e.transportReason&&n.transportStage===e.transportStage&&n.responseReceived===e.responseReceived&&n.reportedSurface===e.reportedSurface&&n.reportedOs===e.reportedOs&&n.reportedArchitecture===e.reportedArchitecture&&n.reportedProcess===e.reportedProcess&&n.reportedVersion===e.reportedVersion&&n.reportedReleaseChannel===e.reportedReleaseChannel)}function WN(t,e){let n=kS(e.cliConfig);if(n.reportedSurface!=="code_cli"&&n.reportedSurface!=="desktop")return!1;let o=DS(t,e.proxyConfigured);if(!o)return!1;let r=Date.now(),i={eventType:"network_error",transportReason:o.reason,transportStage:o.stage,responseReceived:o.responseReceived,occurrenceCount:1,...n,firstObservedAtMs:r,lastObservedAtMs:r},s=Ym()??{schemaVersion:ko,failures:[]},a=Xm(s.failures,r),l=bS(a,i);if(l>=0){let u=a[l];a[l]={...u,occurrenceCount:Math.min(u.occurrenceCount+1,Wm),lastObservedAtMs:r}}else a.push(i);return zm({schemaVersion:ko,failures:a.slice(-Jm)}),!0}async function YN(t){let e=Ym();if(!e)return;let n=Xm(e.failures,Date.now()),o=[];for(let r=0;r<n.length;r+=1){let i=n[r];if(!await Au({eventType:i.eventType,transportReason:i.transportReason,transportStage:i.transportStage,responseReceived:i.responseReceived,occurrenceCount:i.occurrenceCount,reportedSurface:i.reportedSurface,reportedOs:i.reportedOs,reportedArchitecture:i.reportedArchitecture,reportedProcess:i.reportedProcess,reportedVersion:i.reportedVersion,reportedReleaseChannel:i.reportedReleaseChannel},t)){o.push(...n.slice(r));break}}zm({schemaVersion:ko,failures:o})}function Qm(){return Xi.join(Do.getGlobalMatildaDir(),"telemetry","cli-transport-failures.json")}var JD="http://localhost:4317";export{Ii as a,Bm as b,Vm as c,PN as d,zi as e,qm as f,Mo as g,MN as h,kN as i,eS as j,NN as k,xN as l,yo as m,Nt as n,Sn as o,cP as p,wn as q,Re as r,dP as s,fP as t,Ct as u,ft as v,ie as w,vR as x,SR as y,Et as z,IR as A,uv as B,hm as C,hC as D,Dl as E,mi as F,CC as G,AC as H,yi as I,Uh as J,uA as K,Jl as L,nA as M,EP as N,Sh as O,CP as P,JC as Q,AP as R,vP as S,To as T,At as U,NP as V,xP as W,DP as X,kh as Y,Nh as Z,_o as _,Gl as $,Co as aa,eA as ba,We as ca,Km as da,FN as ea,qN as fa,du as ga,WN as ha,YN as ia,JD as ja,W0 as ka,zl as la,PA as ma,Y0 as na,Yl as oa,MA as pa,Xl as qa,Wh as ra,z0 as sa,Ni as ta,tM as ua,rM as va,iM as wa,Di as xa,Io as ya,tm as za,vM as Aa,RM as Ba,im as Ca,Vi as Da,Ik as Ea,mm as Fa,gm as Ga,Ln as Ha,mu as Ia,gu as Ja,Rm as Ka,Ji as La,wv as Ma,Iv as Na,Jk as Oa,km as Pa,Pv as Qa,Wk as Ra,Yk as Sa,Wi as Ta,Nm as Ua,xm as Va,Mv as Wa,yu as Xa,Eu as Ya,bv as Za,bm as _a,rN as $a,Lv as ab,uN as bb,Lm as cb,Pn as db,_N as eb,CN as fb,AN as gb};
|
|
58
|
+
/**
|
|
59
|
+
* @license
|
|
60
|
+
* Copyright 2025 Matilda
|
|
61
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* @license
|
|
65
|
+
* Copyright 2025 Google LLC
|
|
66
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
67
|
+
*/
|
|
68
|
+
/**
|
|
69
|
+
* @license
|
|
70
|
+
* Copyright 2026 Matilda Team
|
|
71
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
72
|
+
*/
|
|
73
|
+
/** @license Copyright 2026 Maincode SPDX-License-Identifier: Apache-2.0 */
|
|
74
|
+
/**
|
|
75
|
+
* @license
|
|
76
|
+
* Copyright 2026 Google LLC
|
|
77
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
78
|
+
*/
|
|
79
|
+
/**
|
|
80
|
+
* @license
|
|
81
|
+
* Copyright 2026 Matilda
|
|
82
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* @license
|
|
86
|
+
* Copyright 2025 Matilda Team
|
|
87
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* @license
|
|
91
|
+
* Copyright 2026 Maincode
|
|
92
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
93
|
+
*
|
|
94
|
+
* Low-level OAuth primitives for core-auth's unified `/api/auth/oauth/*` flow
|
|
95
|
+
* (ADR-029): PKCE pair generation, RFC 8414 discovery, the RFC 8628 device
|
|
96
|
+
* grant, and refresh. Vendored (as source) from matilda-core's
|
|
97
|
+
* `packages/client-sdk/src/auth.ts` and extended to carry the `id_token`
|
|
98
|
+
* (display identity) that the higher-level flows need. Node built-ins only —
|
|
99
|
+
* no third-party runtime dependencies.
|
|
100
|
+
*/
|
|
101
|
+
/**
|
|
102
|
+
* @license
|
|
103
|
+
* Copyright 2026 Maincode
|
|
104
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
105
|
+
*
|
|
106
|
+
* File-backed token store + cross-process lock. The store persists a JSON map
|
|
107
|
+
* (`{ [key]: value }`) at 0600 so callers can key several credentials in one
|
|
108
|
+
* file; the lock is an O_EXCL lockfile that serialises refreshes across
|
|
109
|
+
* processes (the guarantee a plaintext read/modify/write can't give).
|
|
110
|
+
*/
|
|
111
|
+
/**
|
|
112
|
+
* @license
|
|
113
|
+
* Copyright 2026 Maincode
|
|
114
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
115
|
+
*
|
|
116
|
+
* Hardened access-token manager: returns a valid access token, refreshing via
|
|
117
|
+
* core-auth's token endpoint when expired or forced. Single-flight within the
|
|
118
|
+
* process, serialised across processes by the store's lock, carries a prior
|
|
119
|
+
* refresh token forward when the response omits one, and evicts on a terminal
|
|
120
|
+
* `invalid_grant` so a dead session doesn't wedge the caller in a refresh loop.
|
|
121
|
+
*/
|
|
122
|
+
/**
|
|
123
|
+
* @license
|
|
124
|
+
* Copyright 2026 Maincode
|
|
125
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
126
|
+
*
|
|
127
|
+
* Browser login orchestration: PKCE + a loopback capture server, driven off
|
|
128
|
+
* discovery metadata. Unlike a bare loopback helper, this emits lifecycle
|
|
129
|
+
* events for a UI, honours an AbortSignal, and — instead of serving its own
|
|
130
|
+
* HTML — 302-redirects the browser to an app-owned branded landing
|
|
131
|
+
* (`successRedirect`). Returns a TokenSet including the `id_token`.
|
|
132
|
+
*/
|
|
133
|
+
/**
|
|
134
|
+
* @license
|
|
135
|
+
* Copyright 2026 Maincode
|
|
136
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
137
|
+
*
|
|
138
|
+
* Node auth surface for `@maincode-ai/matilda-client-sdk/auth/node`.
|
|
139
|
+
* Re-exports the OAuth primitives plus the higher-level login flow, file token
|
|
140
|
+
* store, and hardened token manager that the CLI (`packages/core`) and the
|
|
141
|
+
* Electron desktop app consume.
|
|
142
|
+
*/
|
|
143
|
+
/**
|
|
144
|
+
* @license
|
|
145
|
+
* Copyright 2026 Maincode
|
|
146
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
147
|
+
*
|
|
148
|
+
* Matilda account auth for the CLI, backed by the shared client SDK.
|
|
149
|
+
*
|
|
150
|
+
* The OAuth dance (PKCE, loopback capture, code exchange, refresh, cross-process
|
|
151
|
+
* token locking) is owned by `@maincode-ai/matilda-client-sdk/auth/node` — the
|
|
152
|
+
* auth team's tested implementation of ADR-029's unified `/api/auth/oauth/*`
|
|
153
|
+
* flow. This module keeps ONLY the CLI-specific concerns: which endpoint, the
|
|
154
|
+
* on-disk credential shape the rest of the CLI already reads, and surfacing the
|
|
155
|
+
* authorize URL to the Ink UI. No PKCE crypto, no loopback server, no token
|
|
156
|
+
* exchange lives here anymore (replaced the 391-line hand-rolled beta that hit
|
|
157
|
+
* the divergent `/api/auth/cli/*` endpoints and stored tokens in plaintext).
|
|
158
|
+
*/
|
|
159
|
+
/*! Bundled license information:
|
|
160
|
+
|
|
161
|
+
safe-buffer/index.js:
|
|
162
|
+
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
163
|
+
|
|
164
|
+
@google/genai/dist/node/index.mjs:
|
|
165
|
+
@google/genai/dist/node/index.mjs:
|
|
166
|
+
@google/genai/dist/node/index.mjs:
|
|
167
|
+
@google/genai/dist/node/index.mjs:
|
|
168
|
+
@google/genai/dist/node/index.mjs:
|
|
169
|
+
@google/genai/dist/node/index.mjs:
|
|
170
|
+
@google/genai/dist/node/index.mjs:
|
|
171
|
+
@google/genai/dist/node/index.mjs:
|
|
172
|
+
@google/genai/dist/node/index.mjs:
|
|
173
|
+
@google/genai/dist/node/index.mjs:
|
|
174
|
+
@google/genai/dist/node/index.mjs:
|
|
175
|
+
@google/genai/dist/node/index.mjs:
|
|
176
|
+
@google/genai/dist/node/index.mjs:
|
|
177
|
+
@google/genai/dist/node/index.mjs:
|
|
178
|
+
@google/genai/dist/node/index.mjs:
|
|
179
|
+
@google/genai/dist/node/index.mjs:
|
|
180
|
+
@google/genai/dist/node/index.mjs:
|
|
181
|
+
@google/genai/dist/node/index.mjs:
|
|
182
|
+
@google/genai/dist/node/index.mjs:
|
|
183
|
+
@google/genai/dist/node/index.mjs:
|
|
184
|
+
@google/genai/dist/node/index.mjs:
|
|
185
|
+
@google/genai/dist/node/index.mjs:
|
|
186
|
+
@google/genai/dist/node/index.mjs:
|
|
187
|
+
@google/genai/dist/node/index.mjs:
|
|
188
|
+
@google/genai/dist/node/index.mjs:
|
|
189
|
+
@google/genai/dist/node/index.mjs:
|
|
190
|
+
@google/genai/dist/node/index.mjs:
|
|
191
|
+
@google/genai/dist/node/index.mjs:
|
|
192
|
+
@google/genai/dist/node/index.mjs:
|
|
193
|
+
@google/genai/dist/node/index.mjs:
|
|
194
|
+
@google/genai/dist/node/index.mjs:
|
|
195
|
+
@google/genai/dist/node/index.mjs:
|
|
196
|
+
@google/genai/dist/node/index.mjs:
|
|
197
|
+
@google/genai/dist/node/index.mjs:
|
|
198
|
+
@google/genai/dist/node/index.mjs:
|
|
199
|
+
@google/genai/dist/node/index.mjs:
|
|
200
|
+
@google/genai/dist/node/index.mjs:
|
|
201
|
+
@google/genai/dist/node/index.mjs:
|
|
202
|
+
(**
|
|
203
|
+
* @license
|
|
204
|
+
* Copyright 2025 Google LLC
|
|
205
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
206
|
+
*)
|
|
207
|
+
*/
|