@maincode-ai/matilda-code 0.22.3 → 0.22.4
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/chunks/agent-MOVDRLTH.js +3 -0
- package/chunks/agent-headless-OIL2DH2J.js +3 -0
- package/chunks/{askUserQuestion-Y66GA5LV.js → askUserQuestion-76LPP5ST.js} +1 -1
- package/chunks/{chunk-RDTF45AP.js → chunk-3EQIOCSJ.js} +1 -1
- package/chunks/{chunk-6SPPO7RK.js → chunk-4SDFTVQW.js} +1 -1
- package/chunks/chunk-5372BQ2X.js +18 -0
- package/chunks/chunk-5MS3VZDH.js +12 -0
- package/chunks/chunk-B7BF33U4.js +31 -0
- package/chunks/{chunk-C2AKSF3S.js → chunk-EC2IF7DG.js} +1 -1
- package/chunks/{chunk-TGRZ364D.js → chunk-EEPSTT7K.js} +1 -1
- package/chunks/{chunk-JRGQUM3K.js → chunk-J6NYCXUR.js} +1 -1
- package/chunks/chunk-J6YVJMKL.js +207 -0
- package/chunks/{chunk-SLKJK36M.js → chunk-JVQHQDDE.js} +1 -1
- package/chunks/chunk-LPPYEBZM.js +2557 -0
- package/chunks/{chunk-DNDA5SY7.js → chunk-LQ3VS2EV.js} +76 -67
- package/chunks/{chunk-SHISTILE.js → chunk-M5ABGGE7.js} +1 -1
- package/chunks/chunk-MUYVUUSO.js +80 -0
- package/chunks/{chunk-YTKDUEUJ.js → chunk-QKAKC34Q.js} +1 -1
- package/chunks/{chunk-I4KER2VG.js → chunk-QUITDDTB.js} +1 -1
- package/chunks/{chunk-YZ33K24S.js → chunk-R373GBK6.js} +1 -1
- package/chunks/chunk-RR3LDVGW.js +8 -0
- package/chunks/chunk-RT2VU2QV.js +68 -0
- package/chunks/{chunk-U6ATDQUV.js → chunk-T6MRYRLI.js} +1 -1
- package/chunks/{chunk-7SPPCSW2.js → chunk-VNSW4TSX.js} +1 -1
- package/chunks/{chunk-GFKFHWDN.js → chunk-WAZCC4SE.js} +1 -1
- package/chunks/{chunk-TVTJEK4V.js → chunk-YUCEPXGG.js} +1 -1
- package/chunks/{computer-use-ISO4RC44.js → computer-use-MBKJPMWZ.js} +4 -4
- package/chunks/{cron-create-4AQ43RPW.js → cron-create-K6DCVCY3.js} +3 -3
- package/chunks/{cron-delete-HB7V5CZ5.js → cron-delete-XNCDKPVV.js} +1 -1
- package/chunks/{cron-list-DIZZQW44.js → cron-list-3IPROBTC.js} +1 -1
- package/chunks/{edit-MHYRQVE6.js → edit-72ASKQO7.js} +17 -17
- package/chunks/en-SCZAH2YB.js +23 -0
- package/chunks/{enter-worktree-BSZTMEDU.js → enter-worktree-YYH4RD3G.js} +1 -1
- package/chunks/enterPlanMode-SKK26RKS.js +18 -0
- package/chunks/{exit-worktree-BI3PAII4.js → exit-worktree-5K5Y2UR4.js} +1 -1
- package/chunks/{exitPlanMode-W5VIX4WC.js → exitPlanMode-XDH6WKKD.js} +30 -27
- package/chunks/{glob-V3O2W6OW.js → glob-3PF3E5R2.js} +1 -1
- package/chunks/{goal-tools-H4HYCQUP.js → goal-tools-4SWS6CGW.js} +1 -1
- package/chunks/{grep-ANJ5PXWU.js → grep-RQLOBTPU.js} +3 -3
- package/chunks/{ls-I6JUFOTE.js → ls-EP4ZVFNW.js} +1 -1
- package/chunks/{lsp-JMVZE3IL.js → lsp-ULZTGWC4.js} +1 -1
- package/chunks/monitor-ZS5E3EAX.js +33 -0
- package/chunks/notebook-edit-JMRHVFA4.js +17 -0
- package/chunks/openaiContentGenerator-PRVYEJIU.js +52 -0
- package/chunks/read-file-GWUQN2ZM.js +3 -0
- package/chunks/ripGrep-CWJYHBK6.js +3 -0
- package/chunks/scheduler-LPJ66QW3.js +8 -0
- package/chunks/{send-message-F2OT25N7.js → send-message-TDOMZHNJ.js} +1 -1
- package/chunks/shell-AXB4E537.js +3 -0
- package/chunks/{skill-2ISAMUAZ.js → skill-7PMKFRET.js} +1 -1
- package/chunks/symbol-search-NHVD4D3O.js +19 -0
- package/chunks/{syntheticOutput-ULZO4GEC.js → syntheticOutput-5SCRQCXN.js} +1 -1
- package/chunks/{task-create-ARA6A3IM.js → task-create-T4DIVG5X.js} +1 -1
- package/chunks/{task-detach-DNYZ6B3V.js → task-detach-ES3IMGJ4.js} +2 -2
- package/chunks/{task-list-MUF5W3YQ.js → task-list-LYK4TOBS.js} +1 -1
- package/chunks/{task-stop-JDLVQ7YB.js → task-stop-FETAYKFU.js} +1 -1
- package/chunks/{task-update-Z6PWEP2K.js → task-update-I6PVT46S.js} +1 -1
- package/chunks/{team-create-5NCGVBX5.js → team-create-3S7UXATW.js} +1 -1
- package/chunks/{team-delete-7YXVWNUC.js → team-delete-P5F32IYK.js} +1 -1
- package/chunks/todoWrite-ADAGHJLI.js +3 -0
- package/chunks/{tool-call-O4FMFOGR.js → tool-call-W6PAJOF6.js} +1 -1
- package/chunks/{tool-search-IRVSMFYZ.js → tool-search-ECQHNTSM.js} +1 -1
- package/chunks/{web-fetch-L3AFPTQ3.js → web-fetch-2BMJPIBC.js} +1 -1
- package/chunks/{web-search-CQZ35NJW.js → web-search-CHJGDUDM.js} +1 -1
- package/chunks/{workflow-Z7BMQ6HQ.js → workflow-H5E25IZN.js} +2 -2
- package/chunks/write-file-UPXM654K.js +15 -0
- package/cli.js +474 -472
- package/locales/en.js +36 -93
- package/package.json +2 -2
- package/chunks/agent-CZV2RVXO.js +0 -3
- package/chunks/agent-headless-ZANXAE75.js +0 -3
- package/chunks/ca-3NRDXS7D.js +0 -23
- package/chunks/chunk-225CZWD7.js +0 -89
- package/chunks/chunk-4OBUTJ5U.js +0 -56
- package/chunks/chunk-ADMI5U2X.js +0 -46
- package/chunks/chunk-BNPG5OZM.js +0 -2582
- package/chunks/chunk-L76BNXJ2.js +0 -13
- package/chunks/chunk-NGIEYIMB.js +0 -80
- package/chunks/chunk-OODGPZRX.js +0 -12
- package/chunks/chunk-QYVSSMHJ.js +0 -121
- package/chunks/chunk-UJWYKBZM.js +0 -8
- package/chunks/de-MINTIKBC.js +0 -23
- package/chunks/en-PBTDLJES.js +0 -23
- package/chunks/enterPlanMode-XUABOR3E.js +0 -18
- package/chunks/fr-XRDTBTRU.js +0 -23
- package/chunks/ja-OYFHC7MP.js +0 -23
- package/chunks/mcp-client-F5W7WEZP.js +0 -3
- package/chunks/monitor-OEMTAZ5B.js +0 -32
- package/chunks/notebook-edit-L3SBV7YM.js +0 -17
- package/chunks/openaiContentGenerator-PBSIX6IL.js +0 -52
- package/chunks/pt-6DJAKXHE.js +0 -23
- package/chunks/read-file-YNB554TW.js +0 -3
- package/chunks/ripGrep-FPRMOSPK.js +0 -3
- package/chunks/ru-4UMYCMY6.js +0 -23
- package/chunks/scheduler-JCQAZK5I.js +0 -8
- package/chunks/shell-JOPPKFDV.js +0 -3
- package/chunks/symbol-search-R7VDY7D2.js +0 -19
- package/chunks/todoWrite-RJABGUPD.js +0 -3
- package/chunks/write-file-I4DCL6AB.js +0 -15
- package/locales/ca.js +0 -1894
- package/locales/de.js +0 -1934
- package/locales/fr.js +0 -1935
- package/locales/ja.js +0 -1697
- package/locales/pt.js +0 -1920
- package/locales/ru.js +0 -1910
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{Aa as ns,Ca as os,Eb as rs,Fb as is,Hb as ss,I as Xt,K as Oo,L as Uo,M as Lo,U as Go,V as Ot,ha as Fo,ia as qo,mb as Du,qa as St,ya as ts}from"./chunk-LQ3VS2EV.js";import{P as Do,Q as xu,V as Nu,d as Mu,e as ku,ea as Ge,f as ot,g as Hn,k as No,r as vt,w as Le}from"./chunk-4SDFTVQW.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 Pu}from"./chunk-OWGSC52X.js";var Ou=b((OS,bu)=>{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))}bu.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 Uu=b(Ut=>{p();var ng=Ou();Ut.operation=function(t){var e=Ut.timeouts(t);return new ng(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 Gu=b((FS,Lu)=>{p();Lu.exports=Uu()});var qu=b((BS,Vo)=>{"use strict";p();var og=Gu(),rg=["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}},ig=(t,e,n)=>{let o=n.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=o,t},sg=t=>rg.includes(t),Fu=(t,e)=>new Promise((n,o)=>{e={onFailedAttempt:()=>{},retries:10,...e};let r=og.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&&!sg(s.message))r.stop(),o(s);else{ig(s,i,e);try{await e.onFailedAttempt(s)}catch(a){o(a);return}r.retry(s)||o(r.mainError())}}})});Vo.exports=Fu;Vo.exports.default=Fu;Vo.exports.AbortError=Bo});var as=b((HS,Yu)=>{"use strict";p();var Ho=Object.prototype.hasOwnProperty,Wu=Object.prototype.toString,Bu=Object.defineProperty,Vu=Object.getOwnPropertyDescriptor,Hu=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Wu.call(e)==="[object Array]"},$u=function(e){if(!e||Wu.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)},Ku=function(e,n){Bu&&n.name==="__proto__"?Bu(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Ju=function(e,n){if(n==="__proto__")if(Ho.call(e,n)){if(Vu)return Vu(e,n).value}else return;return e[n]};Yu.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=Ju(a,n),r=Ju(e,n),a!==r&&(c&&r&&($u(r)||(i=Hu(r)))?(i?(i=!1,s=o&&Hu(o)?o:[]):s=o&&$u(o)?o:{},Ku(a,{name:n,newValue:t(c,s,r)})):typeof r<"u"&&Ku(a,{name:n,newValue:r}));return a}});var zu=b((KS,ag)=>{ag.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 Qu=b((JS,Xu)=>{"use strict";p();var lg=zu();Xu.exports={pkg:lg}});var cs=b(qe=>{"use strict";p();var ju=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=ec;var Zu=ju(as()),ug=ju(Qu()),ls=ug.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,Zu.default)(!0,{},n),this.response&&(this.response.config=(0,Zu.default)(!0,{},this.response.config)),this.response){try{this.response.data=cg(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 cg(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 ec(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&&(ec({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(o(t.response,"data"),r(t.response.data))),t}});var nc=b(ds=>{"use strict";p();Object.defineProperty(ds,"__esModule",{value:!0});ds.getRetryConfig=dg;async function dg(t){let e=tc(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||fg)(t))return{shouldRetry:!1,config:t.config};let r=pg(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 fg(t){let e=tc(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 tc(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function pg(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 ic=b(Zt=>{"use strict";p();var hg=Zt&&Zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qt;Object.defineProperty(Zt,"__esModule",{value:!0});Zt.Gaxios=void 0;var mg=hg(as()),gg=J("https"),Lt=cs(),yg=nc(),oc=J("stream"),rc=ps(),Eg=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Tg=204,Ko=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new rc.GaxiosInterceptorManager,response:new rc.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,yg.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===Tg)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,mg.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 oc.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 Eg();n.set("content-type",`multipart/related; boundary=${s}`),o.body=oc.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 gg.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 _g=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]}),Cg=Ae&&Ae.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&_g(e,t,n)};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.instance=Ae.Gaxios=Ae.GaxiosError=void 0;Ae.request=vg;var sc=ic();Object.defineProperty(Ae,"Gaxios",{enumerable:!0,get:function(){return sc.Gaxios}});var Ag=cs();Object.defineProperty(Ae,"GaxiosError",{enumerable:!0,get:function(){return Ag.GaxiosError}});Cg(ps(),Ae);Ae.instance=new sc.Gaxios;async function vg(t){return Ae.instance.request(t)}});var hs=b((ac,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,x=N.prototype={constructor:N,toString:null,valueOf:null},ne=new N(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 N(d,m){var g,I,_,v,M,E,C,P,w=this;if(!(w instanceof N))return new N(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 N(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,N.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&&N.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]}N.clone=y,N.ROUND_UP=0,N.ROUND_DOWN=1,N.ROUND_CEIL=2,N.ROUND_FLOOR=3,N.ROUND_HALF_UP=4,N.ROUND_HALF_DOWN=5,N.ROUND_HALF_EVEN=6,N.ROUND_HALF_CEIL=7,N.ROUND_HALF_FLOOR=8,N.EUCLID=9,N.config=N.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}},N.isBigNumber=function(d){if(!d||d._isBigNumber!==!0)return!1;if(!N.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)},N.maximum=N.max=function(){return he(arguments,-1)},N.minimum=N.min=function(){return he(arguments,1)},N.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 N(ne);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}}(),N.sum=function(){for(var d=1,m=arguments,g=new N(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 N(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,xo,Qi,Zi,nt,Vn,Ue=I.s==_.s?1:-1,Ce=I.c,ae=_.c;if(!Ce||!Ce[0]||!ae||!ae[0])return new N(!I.s||!_.s||(Ce?ae&&Ce[0]==ae[0]:!ae)?NaN:Ce&&Ce[0]==0||!ae?Ue*0:Ue/0);for(se=new N(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),xo=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[xo]||0:(X=[Ce[xo]],j=1)}while((xo++<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 oe(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 N(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 N(d[0]);_<d.length;_++)I=new N(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 N(w,P);if(N.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 x.absoluteValue=x.abs=function(){var d=new N(this);return d.s<0&&(d.s=1),d},x.comparedTo=function(d,m){return T(this,new N(d,m))},x.decimalPlaces=x.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 N(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},x.dividedBy=x.div=function(d,m){return L(this,new N(d,m),W,Z)},x.dividedToIntegerBy=x.idiv=function(d,m){return L(this,new N(d,m),0,1)},x.exponentiatedBy=x.pow=function(d,m){var g,I,_,v,M,E,C,P,w,k=this;if(d=new N(d),d.c&&!d.isInteger())throw Error(i+"Exponent not an integer: "+Oe(d));if(m!=null&&(m=new N(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 N(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 N(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 N(C?1/v:v);K&&(v=o(K/l+2))}for(E?(g=new N(.5),C&&(d.s=1),P=O(d)):(_=Math.abs(+Oe(d)),P=_%2),w=new N(ne);;){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=ne.div(w)),m?w.mod(m):v?ce(w,K,Z,M):w)},x.integerValue=function(d){var m=new N(this);return d==null?d=Z:R(d,0,8),ce(m,m.e+1,d)},x.isEqualTo=x.eq=function(d,m){return T(this,new N(d,m))===0},x.isFinite=function(){return!!this.c},x.isGreaterThan=x.gt=function(d,m){return T(this,new N(d,m))>0},x.isGreaterThanOrEqualTo=x.gte=function(d,m){return(m=T(this,new N(d,m)))===1||m===0},x.isInteger=function(){return!!this.c&&S(this.e/l)>this.c.length-2},x.isLessThan=x.lt=function(d,m){return T(this,new N(d,m))<0},x.isLessThanOrEqualTo=x.lte=function(d,m){return(m=T(this,new N(d,m)))===-1||m===0},x.isNaN=function(){return!this.s},x.isNegative=function(){return this.s<0},x.isPositive=function(){return this.s>0},x.isZero=function(){return!!this.c&&this.c[0]==0},x.minus=function(d,m){var g,I,_,v,M=this,E=M.s;if(d=new N(d,m),m=d.s,!E||!m)return new N(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 N(k?M:NaN);if(!w[0]||!k[0])return k[0]?(d.s=-m,d):new N(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)},x.modulo=x.mod=function(d,m){var g,I,_=this;return d=new N(d,m),!_.c||!d.s||d.c&&!d.c[0]?new N(NaN):!d.c||_.c&&!_.c[0]?new N(_):(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)},x.multipliedBy=x.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 N(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)},x.negated=function(){var d=new N(this);return d.s=-d.s||null,d},x.plus=function(d,m){var g,I=this,_=I.s;if(d=new N(d,m),m=d.s,!_||!m)return new N(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 N(_/0);if(!E[0]||!C[0])return C[0]?d:new N(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)},x.precision=x.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 N(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},x.shiftedBy=function(d){return R(d,-u,u),this.times("1e"+d)},x.squareRoot=x.sqrt=function(){var d,m,g,I,_,v=this,M=v.c,E=v.s,C=v.e,P=W+4,w=new N("0.5");if(E!==1||!M||!M[0])return new N(!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 N(m)):g=new N(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)},x.toExponential=function(d,m){return d!=null&&(R(d,0,h),d++),oe(this,d,m,1)},x.toFixed=function(d,m){return d!=null&&(R(d,0,h),d=d+this.e+1),oe(this,d,m)},x.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||"")},x.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 N(d),!E.isInteger()&&(E.c||E.s!==1)||E.lt(ne)))throw Error(i+"Argument "+(E.isInteger()?"out of range: ":"not an integer: ")+Oe(E));if(!Q)return new N(V);for(m=new N(ne),P=g=new N(ne),I=C=new N(ne),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 N(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},x.toNumber=function(){return+Oe(this)},x.toPrecision=function(d,m){return d!=null&&R(d,1,h),oe(this,d,m,2)},x.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 N(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},x.valueOf=x.toJSON=function(){return Oe(this)},x._isBigNumber=!0,U!=null&&N.set(U),N}function S(U){var L=U|0;return U>0||U===L?L:L-1}function A(U){for(var L,$,Y=1,x=U.length,ne=U[0]+"";Y<x;){for(L=U[Y++]+"",$=l-L.length;$--;L="0"+L);ne+=L}for(x=ne.length;ne.charCodeAt(--x)===48;);return ne.slice(0,x+1||1)}function T(U,L){var $,Y,x=U.c,ne=L.c,W=U.s,Z=L.s,pe=U.e,le=L.e;if(!W||!Z)return null;if($=x&&!x[0],Y=ne&&!ne[0],$||Y)return $?Y?0:-Z:W;if(W!=Z)return W;if($=W<0,Y=pe==le,!x||!ne)return Y?0:!x^$?1:-1;if(!Y)return pe>le^$?1:-1;for(Z=(pe=x.length)<(le=ne.length)?pe:le,W=0;W<Z;W++)if(x[W]!=ne[W])return x[W]>ne[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,x;if(L<0){for(x=$+".";++L;x+=$);U=x+U}else if(Y=U.length,++L>Y){for(x=$,L-=Y;--L;x+=$);U+=x}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)})(ac)});var dc=b((iw,cc)=>{p();var lc=hs(),uc=cc.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 lc||lc.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 uc.stringify!="function"&&(uc.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 pc=b((aw,fc)=>{p();var Wo=null,Sg=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,wg=/(?: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)/,Ig=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+'"'),Sg.test(A)===!0?e.protoAction==="error"?s("Object contains forbidden prototype property"):e.protoAction==="ignore"?h():T[A]=h():wg.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}};fc.exports=Ig});var gc=b((uw,Yo)=>{p();var hc=dc().stringify,mc=pc();Yo.exports=function(t){return{parse:mc(t),stringify:hc}};Yo.exports.parse=mc();Yo.exports.stringify=hc});var ms=b(ze=>{"use strict";p();Object.defineProperty(ze,"__esModule",{value:!0});ze.GCE_LINUX_BIOS_PATHS=void 0;ze.isGoogleCloudServerless=Tc;ze.isGoogleComputeEngineLinux=_c;ze.isGoogleComputeEngineMACAddress=Cc;ze.isGoogleComputeEngine=Ac;ze.detectGCPResidency=Pg;var yc=J("fs"),Ec=J("os");ze.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var Rg=/^42:01/;function Tc(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function _c(){if((0,Ec.platform)()!=="linux")return!1;try{(0,yc.statSync)(ze.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,yc.readFileSync)(ze.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Cc(){let t=(0,Ec.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(Rg.test(n))return!0}return!1}function Ac(){return _c()||Cc()}function Pg(){return Tc()||Ac()}});var vc=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 Rc=b(ee=>{"use strict";p();var Mg=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]}),kg=ee&&ee.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Sc=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"&&Mg(n,e,o[r]);return kg(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=Ng;ee.getStructuredBackend=Dg;ee.setBackend=bg;ee.log=Ic;var xg=J("events"),$n=Sc(J("process")),wc=Sc(J("util")),Me=vc(),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 xg.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=>Ic(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=wc.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 Ng(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:wc.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 Dg(t){return new Ts(t)}ee.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var _s=new Map,ke;function bg(t){ke=t,_s.clear()}function Ic(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 Og=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]}),Ug=Gt&&Gt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Og(e,t,n)};Object.defineProperty(Gt,"__esModule",{value:!0});Ug(Rc(),Gt)});var Wn=b(H=>{"use strict";p();var Mc=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]}),Lg=H&&H.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Gg=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"&&Mc(n,e,o[r]);return Lg(n,e),n}}(),Fg=H&&H.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Mc(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=Kg;H.project=Jg;H.universe=Wg;H.bulk=Yg;H.isAvailable=Xg;H.resetIsAvailableCache=Qg;H.getGCPResidency=Ss;H.setGCPResidency=kc;H.requestTimeout=xc;var As=ye(),qg=gc(),Bg=ms(),Vg=Gg(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 Pc=Vg.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 Hg(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}`:(Hg(e),e.property&&(i+=`/${e.property}`),new Headers(e.headers).forEach((f,h)=>r.set(h,f)),s=e.params||s);let a=o?$g:As.request,l={url:`${vs()}/${i}`,headers:r,retryConfig:{noResponseRetries:n},params:s,responseType:"text",timeout:xc()};Pc.info("instance request %j",l);let u=await a(l);Pc.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 qg.parse(u.data)}catch{}return u.data}async function $g(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 Kg(t){return Jn("instance",t)}function Jg(t){return Jn("project",t)}function Wg(t){return Jn("universe",t)}async function Yg(t){let e={};return await Promise.all(t.map(n=>(async()=>{let o=await Jn(n),r=n.metadataKey;e[r]=o})())),e}function zg(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Xo;async function Xg(){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,zg(),!(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 Qg(){Xo=void 0}H.gcpResidencyCache=null;function Ss(){return H.gcpResidencyCache===null&&kc(),H.gcpResidencyCache}function kc(t=null){H.gcpResidencyCache=t!==null?t:(0,Bg.detectGCPResidency)()}function xc(){return Ss()?0:3e3}Fg(ms(),H)});var bc=b(Qo=>{"use strict";p();Qo.byteLength=jg;Qo.toByteArray=ty;Qo.fromByteArray=ry;var rt=[],Be=[],Zg=typeof Uint8Array<"u"?Uint8Array:Array,ws="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ft=0,Nc=ws.length;Ft<Nc;++Ft)rt[Ft]=ws[Ft],Be[ws.charCodeAt(Ft)]=Ft;var Ft,Nc;Be[45]=62;Be[95]=63;function Dc(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 jg(t){var e=Dc(t),n=e[0],o=e[1];return(n+o)*3/4-o}function ey(t,e,n){return(e+n)*3/4-n}function ty(t){var e,n=Dc(t),o=n[0],r=n[1],i=new Zg(ey(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 ny(t){return rt[t>>18&63]+rt[t>>12&63]+rt[t>>6&63]+rt[t&63]}function oy(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(ny(o));return r.join("")}function ry(t){for(var e,n=t.length,o=n%3,r=[],i=16383,s=0,a=n-o;s<a;s+=i)r.push(oy(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=iy;function iy(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Oc=b(Zo=>{"use strict";p();Object.defineProperty(Zo,"__esModule",{value:!0});Zo.BrowserCrypto=void 0;var en=bc(),sy=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,sy.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 Uc=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:ly(e);return ay(tn.createHmac("sha256",o).update(n).digest())}};jo.NodeCrypto=Ms;function ay(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 ly(t){return Buffer.from(t)}});var Yn=b(mt=>{"use strict";p();var uy=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]}),cy=mt&&mt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&uy(e,t,n)};Object.defineProperty(mt,"__esModule",{value:!0});mt.createCrypto=py;mt.hasBrowserCrypto=Lc;var dy=Oc(),fy=Uc();cy(Rs(),mt);function py(){return Lc()?new dy.BrowserCrypto:new fy.NodeCrypto}function Lc(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var nn=b((ks,Fc)=>{p();var er=J("buffer"),it=er.Buffer;function Gc(t,e){for(var n in t)e[n]=t[n]}it.from&&it.alloc&&it.allocUnsafe&&it.allocUnsafeSlow?Fc.exports=er:(Gc(er,ks),ks.Buffer=qt);function qt(t,e,n){return it(t,e,n)}qt.prototype=Object.create(it.prototype);Gc(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 Bc=b((Nw,qc)=>{"use strict";p();function xs(t){var e=(t/8|0)+(t%8===0?0:1);return e}var hy={ES256:xs(256),ES384:xs(384),ES512:xs(521)};function my(t){var e=hy[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}qc.exports=my});var Ns=b((bw,Wc)=>{"use strict";p();var tr=nn().Buffer,Hc=Bc(),nr=128,$c=0,gy=32,yy=16,Ey=2,Kc=yy|gy|$c<<6,or=Ey|$c<<6;function Ty(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Jc(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 _y(t,e){t=Jc(t);var n=Hc(e),o=n+1,r=t.length,i=0;if(t[i++]!==Kc)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=Ty(y),y}function Vc(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 Cy(t,e){t=Jc(t);var n=Hc(e),o=t.length;if(o!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+o+'"');var r=Vc(t,0,n),i=Vc(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++]=Kc,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}Wc.exports={derToJose:_y,joseToDer:Cy}});var Qe=b(gt=>{"use strict";p();Object.defineProperty(gt,"__esModule",{value:!0});gt.LRUCache=void 0;gt.snakeToCamel=zc;gt.originalOrCamelOptions=wy;gt.removeUndefinedValuesInObject=Iy;gt.isValidFile=Ry;gt.getWellKnownCertificateConfigFileLocation=Py;var Ay=J("fs"),vy=J("os"),Ds=J("path"),Sy="certificate_config.json",Yc="gcloud";function zc(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function wy(t){function e(n){let o=t||{};return o[n]??o[zc(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 Iy(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function Ry(t){try{return(await Ay.promises.lstat(t)).isFile()}catch{return!1}}function Py(){let t=process.env.CLOUDSDK_CONFIG||(My()?Ds.join(process.env.APPDATA||"",Yc):Ds.join(process.env.HOME||"",".config",Yc));return Ds.join(t,Sy)}function My(){return vy.platform().startsWith("win")}});var Xc=b((Gw,ky)=>{ky.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(wt=>{"use strict";p();Object.defineProperty(wt,"__esModule",{value:!0});wt.USER_AGENT=wt.PRODUCT_NAME=wt.pkg=void 0;var Qc=Xc();wt.pkg=Qc;var Zc="google-api-nodejs-client";wt.PRODUCT_NAME=Zc;var xy=`${Zc}/${Qc.version}`;wt.USER_AGENT=xy});var xe=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 Ny=J("events"),Us=ye(),Dy=Qe(),by=Cs(),Ls=Os();Ze.DEFAULT_UNIVERSE="googleapis.com";Ze.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=5*60*1e3;var Gs=class t extends Ny.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,Dy.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,by.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 jc=ye(),Oy=J("querystring"),Uy=J("stream"),Ly=Ns(),ed=Qe(),Bs=Yn(),on=xe(),Gy=qs(),td;(function(t){t.Plain="plain",t.S256="S256"})(td||(st.CodeChallengeMethod=td={}));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()+"?"+Oy.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,ed.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,ed.removeUndefinedValuesInObject)(o))};on.AuthClient.setMethodName(s,"refreshTokenNoCache"),r=await this.transporter.request(s)}catch(s){throw s instanceof jc.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=jc.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 Uy.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=Ly.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 Gy.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 Fy=ye(),nd=Wn(),qy=Bt(),Hs=class extends qy.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 nd.instance(r)}catch(r){throw r instanceof Fy.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 nd.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 By=Bt(),Ks=class extends By.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=Vy;rn.getEnv=Hy;var od=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 Vy(){Xn=void 0}async function Hy(){return Xn||(Xn=$y(),Xn)}async function $y(){let t=at.NONE;return Ky()?t=at.APP_ENGINE:Jy()?t=at.CLOUD_FUNCTIONS:await Xy()?await zy()?t=at.KUBERNETES_ENGINE:Wy()?t=at.CLOUD_RUN:Yy()?t=at.CLOUD_RUN_JOBS:t=at.COMPUTE_ENGINE:t=at.NONE,t}function Ky(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Jy(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Wy(){return!!process.env.K_CONFIGURATION}function Yy(){return!!process.env.CLOUD_RUN_JOB}async function zy(){try{return await od.instance("attributes/cluster-name"),!0}catch{return!1}}async function Xy(){return od.isAvailable()}});var Ys=b((jw,rd)=>{p();var ar=nn().Buffer,Qy=J("stream"),Zy=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+")")}Zy.inherits(lr,Qy);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};rd.exports=lr});var sd=b((tI,id)=>{"use strict";p();var Qn=J("buffer").Buffer,zs=J("buffer").SlowBuffer;id.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 jy=Qn.prototype.equal,eE=zs.prototype.equal;ur.restore=function(){Qn.prototype.equal=jy,zs.prototype.equal=eE}});var js=b((oI,md)=>{p();var an=nn().Buffer,Ve=J("crypto"),ld=Ns(),ad=J("util"),tE=`"%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",nE="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 ud(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 cd(t){if(!an.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw je(nE)}function oE(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 dd(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=ad.format.bind(ad,t).apply(null,e);return new TypeError(n)}function rE(t){return an.isBuffer(t)||typeof t=="string"}function jn(t){return rE(t)||(t=JSON.stringify(t)),t}function fd(t){return function(n,o){oE(o),n=jn(n);var r=Ve.createHmac("sha"+t,o),i=(r.update(n),r.digest("base64"));return Zs(i)}}var Xs,iE="timingSafeEqual"in Ve?function(e,n){return e.byteLength!==n.byteLength?!1:Ve.timingSafeEqual(e,n)}:function(e,n){return Xs||(Xs=sd()),Xs(e,n)};function sE(t){return function(n,o,r){var i=fd(t)(n,r);return iE(an.from(o),an.from(i))}}function pd(t){return function(n,o){cd(o),n=jn(n);var r=Ve.createSign("RSA-SHA"+t),i=(r.update(n),r.sign(o,"base64"));return Zs(i)}}function hd(t){return function(n,o,r){ud(r),n=jn(n),o=dd(o);var i=Ve.createVerify("RSA-SHA"+t);return i.update(n),i.verify(r,o,"base64")}}function aE(t){return function(n,o){cd(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 lE(t){return function(n,o,r){ud(r),n=jn(n),o=dd(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 uE(t){var e=pd(t);return function(){var o=e.apply(null,arguments);return o=ld.derToJose(o,"ES"+t),o}}function cE(t){var e=hd(t);return function(o,r,i){r=ld.joseToDer(r,"ES"+t).toString("base64");var s=e(o,r,i);return s}}function dE(){return function(){return""}}function fE(){return function(e,n){return n===""}}md.exports=function(e){var n={hs:fd,rs:pd,ps:aE,es:uE,none:dE},o={hs:sE,rs:hd,ps:lE,es:cE,none:fE},r=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!r)throw je(tE,e);var i=(r[1]||r[3]).toLowerCase(),s=r[2];return{sign:n[i](s),verify:o[i](s)}}});var ea=b((iI,gd)=>{p();var pE=J("buffer").Buffer;gd.exports=function(e){return typeof e=="string"?e:typeof e=="number"||pE.isBuffer(e)?e.toString():JSON.stringify(e)}});var Ad=b((aI,Cd)=>{p();var hE=nn().Buffer,yd=Ys(),mE=js(),gE=J("stream"),Ed=ea(),ta=J("util");function Td(t,e){return hE.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function yE(t,e,n){n=n||"utf8";var o=Td(Ed(t),"binary"),r=Td(Ed(e),n);return ta.format("%s.%s",o,r)}function _d(t){var e=t.header,n=t.payload,o=t.secret||t.privateKey,r=t.encoding,i=mE(e.alg),s=yE(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 yd(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new yd(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,gE);cr.prototype.sign=function(){try{var e=_d({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=_d;Cd.exports=cr});var Nd=b((uI,xd)=>{p();var Sd=nn().Buffer,vd=Ys(),EE=js(),TE=J("stream"),wd=ea(),_E=J("util"),CE=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function AE(t){return Object.prototype.toString.call(t)==="[object Object]"}function vE(t){if(AE(t))return t;try{return JSON.parse(t)}catch{return}}function Id(t){var e=t.split(".",1)[0];return vE(Sd.from(e,"base64").toString("binary"))}function SE(t){return t.split(".",2).join(".")}function Rd(t){return t.split(".")[2]}function wE(t,e){e=e||"utf8";var n=t.split(".")[1];return Sd.from(n,"base64").toString(e)}function Pd(t){return CE.test(t)&&!!Id(t)}function Md(t,e,n){if(!e){var o=new Error("Missing algorithm parameter for jws.verify");throw o.code="MISSING_ALGORITHM",o}t=wd(t);var r=Rd(t),i=SE(t),s=EE(e);return s.verify(i,r,n)}function kd(t,e){if(e=e||{},t=wd(t),!Pd(t))return null;var n=Id(t);if(!n)return null;var o=wE(t);return(n.typ==="JWT"||e.json)&&(o=JSON.parse(o,e.encoding)),{header:n,payload:o,signature:Rd(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 vd(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new vd(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))}_E.inherits(ln,TE);ln.prototype.verify=function(){try{var e=Md(this.signature.buffer,this.algorithm,this.key.buffer),n=kd(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=kd;ln.isValid=Pd;ln.verify=Md;xd.exports=ln});var na=b(It=>{p();var Dd=Ad(),dr=Nd(),IE=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];It.ALGORITHMS=IE;It.sign=Dd.sign;It.verify=dr.verify;It.decode=dr.decode;It.isValid=dr.isValid;It.createSign=function(e){return new Dd(e)};It.createVerify=function(e){return new dr(e)}});var Od=b(fr=>{"use strict";p();Object.defineProperty(fr,"__esModule",{value:!0});fr.buildPayloadForJwsSign=bd;fr.getJwsSign=kE;var RE=na(),PE="RS256",ME="https://oauth2.googleapis.com/token";function bd(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:ME,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function kE(t){let e=bd(t);return(0,RE.sign)({header:{alg:PE},payload:e,secret:t.key})}});var Ud=b(oa=>{"use strict";p();Object.defineProperty(oa,"__esModule",{value:!0});oa.getToken=OE;var xE=Od(),NE="https://oauth2.googleapis.com/token",DE="urn:ietf:params:oauth:grant-type:jwt-bearer",bE=t=>({method:"POST",url:NE,data:new URLSearchParams({grant_type:DE,assertion:(0,xE.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function OE(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=bE(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 Ld=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=GE;var UE=J("path"),Gd=J("fs"),LE=J("util"),hr=Ld(),Fd=Gd.readFile?(0,LE.promisify)(Gd.readFile):async()=>{throw new hr.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},Rt;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(Rt||(Rt={}));var ia=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await Fd(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 Fd(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(UE.extname(e)){case Rt.JSON:return new ia(e);case Rt.DER:case Rt.CRT:case Rt.PEM:return new sa(e);case Rt.P12:case Rt.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 GE(t){return la.create(t).getCredentials()}});var qd=b(mr=>{"use strict";p();Object.defineProperty(mr,"__esModule",{value:!0});mr.TokenHandler=void 0;var FE=Ud(),qE=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,qE.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,FE.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 Bd=b(fa=>{"use strict";p();Object.defineProperty(fa,"__esModule",{value:!0});fa.revokeToken=HE;var BE="https://oauth2.googleapis.com/revoke?token=",VE=!0;async function HE(t,e){let n=BE+t;return await e.request({url:n,retry:VE})}});var ha=b(gr=>{"use strict";p();Object.defineProperty(gr,"__esModule",{value:!0});gr.GoogleToken=void 0;var $E=ye(),Vd=qd(),KE=Bd(),pa=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,$E.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 Vd.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,KE.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new Vd.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 JE=na(),WE=Qe(),Hd={alg:"RS256",typ:"JWT"},ma=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new WE.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?{...Hd,kid:this.keyId}:Hd,f=Object.assign(u,n),h=JE.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 $d=ha(),YE=ca(),zE=ga(),XE=Bt(),Er=xe(),ya=class t extends XE.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 zE.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 $d.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 $d.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,YE.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 QE=Bt(),ZE=xe();un.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Ta=class t extends QE.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 ZE.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 Kd=Bt(),jE=ye(),eT=Qe();cn.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Ca=class t extends Kd.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 Kd.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,eT.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 jE.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=oT;var dn=ye(),tT=Yn(),nT=["PUT","POST","PATCH"],va=class{#e=(0,tT.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(!nT.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 oT(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 rT=ye(),iT=xe(),Jd=Sa(),sT=Qe(),wa=class t extends Jd.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,sT.removeUndefinedValuesInObject)(r)),responseType:"json"};iT.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 rT.GaxiosError&&s.response?(0,Jd.getErrorFromOAuthErrorResponse)(s.response.data,s):s}}};_r.StsCredentials=wa});var Pt=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 aT=ye(),lT=J("stream"),Ia=xe(),uT=Cr(),Wd=Qe(),cT=Os(),dT="urn:ietf:params:oauth:grant-type:token-exchange",fT="urn:ietf:params:oauth:token-type:access_token",Ra="https://www.googleapis.com/auth/cloud-platform",pT=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 hT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",mT="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,Wd.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")??mT.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,Wd.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 uT.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(hT);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=pT),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=aT.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 lT.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:dT,audience:this.audience,requestedTokenType:fT,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/${cT.pkg.version} google-byoid-sdk source/${o} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};He.BaseExternalAccountClient=Pa});var Yd=b(Ar=>{"use strict";p();Object.defineProperty(Ar,"__esModule",{value:!0});Ar.FileSubjectTokenSupplier=void 0;var ka=J("util"),xa=J("fs"),gT=(0,ka.promisify)(xa.readFile??(()=>{})),yT=(0,ka.promisify)(xa.realpath??(()=>{})),ET=(0,ka.promisify)(xa.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 yT(e),!(await ET(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 gT(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 zd=b(vr=>{"use strict";p();Object.defineProperty(vr,"__esModule",{value:!0});vr.UrlSubjectTokenSupplier=void 0;var TT=xe(),Na=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};TT.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=Na});var Xd=b(Ne=>{"use strict";p();Object.defineProperty(Ne,"__esModule",{value:!0});Ne.CertificateSubjectTokenSupplier=Ne.InvalidConfigurationError=Ne.CertificateSourceUnavailableError=Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Sr=Qe(),wr=J("fs"),Ir=J("crypto"),_T=J("https");Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var lt=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Ne.CertificateSourceUnavailableError=lt;var $e=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Ne.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 _T.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[Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Sr.isValidFile)(n))return n;throw new lt(`Path from environment variable "${Ne.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 "${Ne.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}`)}}};Ne.CertificateSubjectTokenSupplier=Da});var Ua=b(Rr=>{"use strict";p();Object.defineProperty(Rr,"__esModule",{value:!0});Rr.IdentityPoolClient=void 0;var CT=Pt(),ba=Qe(),AT=Yd(),vT=zd(),Qd=Xd(),ST=Cr(),Zd=ye(),Oa=class t extends CT.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 AT.FileSubjectTokenSupplier({filePath:u,formatType:a,subjectTokenFieldName:l});else if(c)this.credentialSourceType="url",this.subjectTokenSupplier=new vT.UrlSubjectTokenSupplier({url:c,formatType:a,subjectTokenFieldName:l,headers:h,additionalGaxiosOptions:t.RETRY_CONFIG});else if(f){this.credentialSourceType="certificate";let y=new Qd.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 Qd.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new ST.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Zd.Gaxios({agent:n})}),this.transporter=new Zd.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(),ef=Yn(),jd="AWS4-HMAC-SHA256",wT="aws4_request",La=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,ef.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 RT({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 IT(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 RT(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}/${wT}`,S=`${jd}
|
|
24
|
+
${i}
|
|
25
|
+
${y}
|
|
26
|
+
`+await t.crypto.sha256DigestHex(h),A=await IT(t.crypto,t.securityCredentials.secretAccessKey,s,t.region,o),T=await to(t.crypto,A,S),R=`${jd} Credential=${t.securityCredentials.accessKeyId}/${y}, SignedHeaders=${c}, Signature=${(0,ef.fromArrayBufferToHex)(T)}`;return{amzDate:e.has("date")?void 0:i,authorizationHeader:R,canonicalQuerystring:t.canonicalQuerystring}}});var tf=b(xr=>{"use strict";p();Object.defineProperty(xr,"__esModule",{value:!0});xr.DefaultAwsSecurityCredentialsSupplier=void 0;var kr=xe(),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}};xr.DefaultAwsSecurityCredentialsSupplier=Fa});var Ba=b(Nr=>{"use strict";p();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.AwsClient=void 0;var PT=Ga(),MT=Pt(),kT=tf(),nf=Qe(),xT=ye(),qa=class t extends MT.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,nf.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,nf.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 kT.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 PT.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 xT.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}))}};Nr.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(),NT=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=NT.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 DT=Pt(),bT=Ja(),of=za(),OT=za();Object.defineProperty(pn,"ExecutableError",{enumerable:!0,get:function(){return OT.ExecutableError}});var UT=30*1e3,rf=5*1e3,sf=120*1e3,LT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",af=1,Xa=class extends DT.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=UT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<rf||this.timeoutMillis>sf)throw new Error(`Timeout must be between ${rf} and ${sf} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new of.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[LT]!=="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>af)throw new Error(`Version of executable is not currently supported, maximum supported version is ${af}.`);if(!e.success)throw new of.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new bT.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 GT=Pt(),FT=Ua(),qT=Ba(),BT=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===GT.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new qT.AwsClient(e):e.credential_source?.executable?new BT.PluggableAuthClient(e):new FT.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 uf=xe(),lf=Sa(),cf=ye(),VT=J("stream"),HT=Pt();hn.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var $T="https://sts.{universeDomain}/v1/oauthtoken",el=class t extends lf.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"};uf.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 cf.GaxiosError&&r.response?(0,lf.getErrorFromOAuthErrorResponse)(r.response.data,r):r}}},tl=class extends uf.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??$T.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=HT.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=cf.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 VT.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 hf=b(et=>{"use strict";p();Object.defineProperty(et,"__esModule",{value:!0});et.GoogleAuth=et.GoogleAuthExceptionMessages=void 0;var KT=J("child_process"),oo=J("fs"),JT=ye(),ro=Wn(),WT=J("os"),ol=J("path"),YT=Yn(),zT=$s(),XT=Js(),QT=Ws(),mn=Ea(),df=_a(),gn=Aa(),ZT=ja(),io=Pt(),rl=xe(),ff=nl(),pf=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,pf.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 zT.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,pf.originalOrCamelOptions)(n).get("universe_domain");return e.type===df.USER_REFRESH_ACCOUNT_TYPE?(o=new df.UserRefreshClient(n),o.fromJSON(e)):e.type===gn.IMPERSONATED_ACCOUNT_TYPE?o=this.fromImpersonatedJSON(e):e.type===io.EXTERNAL_ACCOUNT_TYPE?(o=ZT.ExternalAccountClient.fromJSON({...e,...n}),o.scopes=this.getAnyScopes()):e.type===ff.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?o=new ff.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=WT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,KT.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 XT.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=JT.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,QT.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,YT.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 mf=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 gf=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 jT=ye(),e_=J("stream"),al=xe(),t_=Cr(),n_="urn:ietf:params:oauth:grant-type:token-exchange",o_="urn:ietf:params:oauth:token-type:access_token",r_="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 t_.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=jT.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 e_.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:n_,requestedTokenType:o_,subjectToken:e,subjectTokenType:r_},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 yf=b(Vr=>{"use strict";p();Object.defineProperty(Vr,"__esModule",{value:!0});Vr.PassThroughClient=void 0;var i_=xe(),ul=class extends i_.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Vr.PassThroughClient=ul});var Af=b(G=>{"use strict";p();var s_=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]}),a_=G&&G.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&s_(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 Ef=hf();Object.defineProperty(G,"GoogleAuth",{enumerable:!0,get:function(){return Ef.GoogleAuth}});G.gcpMetadata=Wn();G.gaxios=ye();var Tf=xe();Object.defineProperty(G,"AuthClient",{enumerable:!0,get:function(){return Tf.AuthClient}});Object.defineProperty(G,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return Tf.DEFAULT_UNIVERSE}});var l_=$s();Object.defineProperty(G,"Compute",{enumerable:!0,get:function(){return l_.Compute}});var u_=Ws();Object.defineProperty(G,"GCPEnv",{enumerable:!0,get:function(){return u_.GCPEnv}});var c_=mf();Object.defineProperty(G,"IAMAuth",{enumerable:!0,get:function(){return c_.IAMAuth}});var d_=Js();Object.defineProperty(G,"IdTokenClient",{enumerable:!0,get:function(){return d_.IdTokenClient}});var f_=ga();Object.defineProperty(G,"JWTAccess",{enumerable:!0,get:function(){return f_.JWTAccess}});var p_=Ea();Object.defineProperty(G,"JWT",{enumerable:!0,get:function(){return p_.JWT}});var h_=Aa();Object.defineProperty(G,"Impersonated",{enumerable:!0,get:function(){return h_.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 m_=qs();Object.defineProperty(G,"LoginTicket",{enumerable:!0,get:function(){return m_.LoginTicket}});var g_=_a();Object.defineProperty(G,"UserRefreshClient",{enumerable:!0,get:function(){return g_.UserRefreshClient}});var y_=Ba();Object.defineProperty(G,"AwsClient",{enumerable:!0,get:function(){return y_.AwsClient}});var E_=Ga();Object.defineProperty(G,"AwsRequestSigner",{enumerable:!0,get:function(){return E_.AwsRequestSigner}});var T_=Ua();Object.defineProperty(G,"IdentityPoolClient",{enumerable:!0,get:function(){return T_.IdentityPoolClient}});var __=ja();Object.defineProperty(G,"ExternalAccountClient",{enumerable:!0,get:function(){return __.ExternalAccountClient}});var C_=Pt();Object.defineProperty(G,"BaseExternalAccountClient",{enumerable:!0,get:function(){return C_.BaseExternalAccountClient}});var A_=gf();Object.defineProperty(G,"DownscopedClient",{enumerable:!0,get:function(){return A_.DownscopedClient}});var _f=Qa();Object.defineProperty(G,"PluggableAuthClient",{enumerable:!0,get:function(){return _f.PluggableAuthClient}});Object.defineProperty(G,"ExecutableError",{enumerable:!0,get:function(){return _f.ExecutableError}});var Cf=nl();Object.defineProperty(G,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return Cf.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(G,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return Cf.ExternalAccountAuthorizedUserClient}});var v_=yf();Object.defineProperty(G,"PassThroughClient",{enumerable:!0,get:function(){return v_.PassThroughClient}});a_(ha(),G);var S_=new Ef.GoogleAuth;G.auth=S_});p();p();var Wp=Pu(qu(),1),w_=Pu(Af(),1);var vf;(function(t){t.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",t.OUTCOME_OK="OUTCOME_OK",t.OUTCOME_FAILED="OUTCOME_FAILED",t.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(vf||(vf={}));var Sf;(function(t){t.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",t.PYTHON="PYTHON"})(Sf||(Sf={}));var wf;(function(t){t.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",t.SILENT="SILENT",t.WHEN_IDLE="WHEN_IDLE",t.INTERRUPT="INTERRUPT"})(wf||(wf={}));var If;(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"})(If||(If={}));var Rf;(function(t){t.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",t.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER",t.ENVIRONMENT_MOBILE="ENVIRONMENT_MOBILE",t.ENVIRONMENT_DESKTOP="ENVIRONMENT_DESKTOP"})(Rf||(Rf={}));var Pf;(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"})(Pf||(Pf={}));var Mf;(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"})(Mf||(Mf={}));var kf;(function(t){t.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",t.SIMPLE_SEARCH="SIMPLE_SEARCH",t.ELASTIC_SEARCH="ELASTIC_SEARCH"})(kf||(kf={}));var xf;(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"})(xf||(xf={}));var Nf;(function(t){t.UNSPECIFIED="UNSPECIFIED",t.BLOCKING="BLOCKING",t.NON_BLOCKING="NON_BLOCKING"})(Nf||(Nf={}));var Df;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.MODE_DYNAMIC="MODE_DYNAMIC"})(Df||(Df={}));var bf;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.AUTO="AUTO",t.ANY="ANY",t.NONE="NONE",t.VALIDATED="VALIDATED"})(bf||(bf={}));var Of;(function(t){t.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",t.MINIMAL="MINIMAL",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(Of||(Of={}));var Uf;(function(t){t.DONT_ALLOW="DONT_ALLOW",t.ALLOW_ADULT="ALLOW_ADULT",t.ALLOW_ALL="ALLOW_ALL"})(Uf||(Uf={}));var Lf;(function(t){t.PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",t.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",t.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE"})(Lf||(Lf={}));var Gf;(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"})(Gf||(Gf={}));var Ff;(function(t){t.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",t.SEVERITY="SEVERITY",t.PROBABILITY="PROBABILITY"})(Ff||(Ff={}));var qf;(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"})(qf||(qf={}));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 Bf;(function(t){t.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",t.NEGLIGIBLE="NEGLIGIBLE",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(Bf||(Bf={}));var Vf;(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"})(Vf||(Vf={}));var Hf;(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"})(Hf||(Hf={}));var $f;(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"})($f||($f={}));var Kf;(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"})(Kf||(Kf={}));var Jf;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.AUDIO="AUDIO",t.VIDEO="VIDEO"})(Jf||(Jf={}));var Wf;(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"})(Wf||(Wf={}));var Yf;(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"})(Yf||(Yf={}));var zf;(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"})(zf||(zf={}));var Xf;(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"})(Xf||(Xf={}));var Qf;(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"})(Qf||(Qf={}));var Zf;(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"})(Zf||(Zf={}));var jf;(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"})(jf||(jf={}));var ep;(function(t){t.PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",t.BASELINE="BASELINE",t.CANDIDATE="CANDIDATE",t.TIE="TIE"})(ep||(ep={}));var tp;(function(t){t.TUNING_SPEED_UNSPECIFIED="TUNING_SPEED_UNSPECIFIED",t.REGULAR="REGULAR",t.FAST="FAST"})(tp||(tp={}));var np;(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"})(np||(np={}));var op;(function(t){t.VIDEO_ORIENTATION_UNSPECIFIED="VIDEO_ORIENTATION_UNSPECIFIED",t.LANDSCAPE="LANDSCAPE",t.PORTRAIT="PORTRAIT"})(op||(op={}));var rp;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.STATE_PENDING="STATE_PENDING",t.STATE_ACTIVE="STATE_ACTIVE",t.STATE_FAILED="STATE_FAILED"})(rp||(rp={}));var ip;(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"})(ip||(ip={}));var sp;(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"})(sp||(sp={}));var ap;(function(t){t.COLLECTION="COLLECTION"})(ap||(ap={}));var lp;(function(t){t.UNSPECIFIED="unspecified",t.FLEX="flex",t.STANDARD="standard",t.PRIORITY="priority"})(lp||(lp={}));var up;(function(t){t.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",t.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",t.BALANCED="BALANCED",t.PRIORITIZE_COST="PRIORITIZE_COST"})(up||(up={}));var cp;(function(t){t.PREDICT="PREDICT",t.EMBED_CONTENT="EMBED_CONTENT"})(cp||(cp={}));var dp;(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"})(dp||(dp={}));var fp;(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"})(fp||(fp={}));var pp;(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"})(pp||(pp={}));var hp;(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"})(hp||(hp={}));var mp;(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"})(mp||(mp={}));var gp;(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"})(gp||(gp={}));var yp;(function(t){t.FOREGROUND="FOREGROUND",t.BACKGROUND="BACKGROUND",t.PROMPT="PROMPT",t.SEMANTIC="SEMANTIC",t.INTERACTIVE="INTERACTIVE"})(yp||(yp={}));var Ep;(function(t){t.ASSET="ASSET",t.STYLE="STYLE"})(Ep||(Ep={}));var Tp;(function(t){t.INSERT="INSERT",t.REMOVE="REMOVE",t.REMOVE_STATIC="REMOVE_STATIC",t.OUTPAINT="OUTPAINT"})(Tp||(Tp={}));var _p;(function(t){t.OPTIMIZED="OPTIMIZED",t.LOSSLESS="LOSSLESS"})(_p||(_p={}));var Cp;(function(t){t.CROP="CROP",t.PAD="PAD"})(Cp||(Cp={}));var Ap;(function(t){t.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",t.PREFERENCE_TUNING="PREFERENCE_TUNING",t.DISTILLATION="DISTILLATION"})(Ap||(Ap={}));var vp;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.PROCESSING="PROCESSING",t.ACTIVE="ACTIVE",t.FAILED="FAILED"})(vp||(vp={}));var Sp;(function(t){t.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",t.UPLOADED="UPLOADED",t.GENERATED="GENERATED",t.REGISTERED="REGISTERED"})(Sp||(Sp={}));var wp;(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"})(wp||(wp={}));var Ip;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.VIDEO="VIDEO",t.AUDIO="AUDIO",t.DOCUMENT="DOCUMENT"})(Ip||(Ip={}));var Rp;(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"})(Rp||(Rp={}));var Pp;(function(t){t.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",t.ACTIVITY_START="ACTIVITY_START",t.ACTIVITY_END="ACTIVITY_END"})(Pp||(Pp={}));var Mp;(function(t){t.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",t.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",t.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(Mp||(Mp={}));var kp;(function(t){t.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",t.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",t.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(kp||(kp={}));var xp;(function(t){t.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",t.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",t.NO_INTERRUPTION="NO_INTERRUPTION"})(xp||(xp={}));var Np;(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"})(Np||(Np={}));var Dp;(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"})(Dp||(Dp={}));var bp;(function(t){t.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",t.QUALITY="QUALITY",t.DIVERSITY="DIVERSITY",t.VOCALIZATION="VOCALIZATION"})(bp||(bp={}));var Op;(function(t){t.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",t.PLAY="PLAY",t.PAUSE="PAUSE",t.STOP="STOP",t.RESET_CONTEXT="RESET_CONTEXT"})(Op||(Op={}));function Up(t){return{text:t}}function Lp(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 Yp(t){let e=[];if(typeof t=="string")e.push(Up(t));else if(Lp(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(Up(n));else if(Lp(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:Yp(t)}}function SR(t){return{role:"model",parts:Yp(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}};var Gp;(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"})(Gp||(Gp={}));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 Fp(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 re(t){return this instanceof re?(this.v=t,this):new re(t)}function yn(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 re?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 $t(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 Fp=="function"?Fp(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 I_="2.6.0",wR=`google-genai-sdk/${I_}`;var zp=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return zp=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))},R_=()=>zp();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 En({message:o,cause:ml(n)});let i=n;return e===400?new Wr(e,i,o,r):e===401?new Yr(e,i,o,r):e===403?new zr(e,i,o,r):e===404?new Xr(e,i,o,r):e===409?new Qr(e,i,o,r):e===422?new Zr(e,i,o,r):e===429?new jr(e,i,o,r):e>=500?new ei(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)}},En=class extends Ie{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}},Jr=class extends En{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."})}},Wr=class extends Ie{},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{};var P_=/^[a-z][a-z0-9+.-]*:/i,M_=t=>P_.test(t),gl=t=>(gl=Array.isArray,gl(t)),k_=gl,x_=k_,qp=x_;function Bp(t){if(!t)return!0;for(let e in t)return!1;return!0}function N_(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var D_=(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},b_=t=>{try{return JSON.parse(t)}catch{return}};var O_=t=>new Promise(e=>setTimeout(e,t));function U_(){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 Xp(...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 L_(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return Xp({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 Qp(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 G_(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 F_=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});function q_(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 B_="0.0.1";var Zp=()=>{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 Zp(),new File(t,e??"unknown_file",n)}function V_(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 H_=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function";var jp=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",$_=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&jp(t),K_=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function J_(t,e,n){if(Zp(),t=await t,$_(t))return t instanceof File?t:dl([await t.arrayBuffer()],t.name);if(K_(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=V_(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(jp(t))s.push(t instanceof Blob?t:await t.arrayBuffer());else if(H_(t))try{for(var a=!0,l=$t(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}`:""}${W_(t)}`)}return s}function W_(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(n=>`"${n}"`).join(", ")}]`}var Tn=class{constructor(e){this._client=e}};Tn._key=[];function eh(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Vp=Object.freeze(Object.create(null)),Y_=(t=eh)=>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:Vp))!==null&&S!==void 0?S:Vp))===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=Y_(eh);var ti=class extends Tn{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)}};ti._key=Object.freeze(["agents"]);var ni=class extends ti{};function z_(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 Hp(t){let e;return($r??(e=new globalThis.TextDecoder,$r=e.decode.bind(e)))(t)}var _n=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=z_([this.buffer,o]);let r=[],i;for(;(i=X_(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(Hp(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=Hp(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
|
+
`):[]}};_n.NEWLINE_CHARS=new Set([`
|
|
38
|
+
`,"\r"]);_n.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function X_(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 oi={off:0,error:200,warn:300,info:400,debug:500},$p=(t,e,n)=>{if(t){if(N_(oi,t))return t;ve(n).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(oi))}`)}};function ao(){}function Kr(t,e,n){return!e||oi[t]>oi[n]?ao:e[t].bind(e)}var Q_={error:ao,warn:ao,info:ao,debug:ao},Kp=new WeakMap;function ve(t){var e;let n=t.logger,o=(e=t.logLevel)!==null&&e!==void 0?e:"off";if(!n)return Q_;let r=Kp.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 Kp.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 yn(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=$t(Z_(e,n)),A;A=yield re(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 re(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 re(c.call(S)))}finally{if(u)throw u.error}}h=!0}catch(T){if(hl(T))return yield re(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 yn(this,arguments,function*(){var l,u,c,f;let h=new _n,y=Qp(e);try{for(var S=!0,A=$t(y),T;T=yield re(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 re(O)}}catch(R){u={error:R}}finally{try{!S&&!l&&(c=A.return)&&(yield re(c.call(A)))}finally{if(u)throw u.error}}for(let R of h.flush())yield yield re(R)})}function s(){return yn(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=$t(i()),A;A=yield re(S.next()),l=A.done,!l;y=!0){f=A.value,y=!1;let T=f;h||T&&(yield yield re(JSON.parse(T)))}}catch(T){u={error:T}}finally{try{!y&&!l&&(c=S.return)&&(yield re(c.call(S)))}finally{if(u)throw u.error}}h=!0}catch(T){if(hl(T))return yield re(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 Xp({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 Z_(t,e){return yn(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 _n,u=Qp(t.body);try{for(var c=!0,f=$t(j_(u)),h;h=yield re(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 re(A))}}}catch(y){r={error:y}}finally{try{!c&&!o&&(i=f.return)&&(yield re(i.call(f)))}finally{if(r)throw r.error}}for(let y of l.flush()){let S=a.decode(y);S&&(yield yield re(S))}})}function j_(t){return yn(this,arguments,function*(){var n,o,r,i;try{for(var s=!0,a=$t(t),l;l=yield re(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 re(c)}}catch(u){o={error:u}}finally{try{!s&&!n&&(r=a.return)&&(yield re(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]=eC(e,":");return r.startsWith(" ")&&(r=r.substring(1)),n==="event"?this.event=r:n==="data"&&this.data.push(r),null}};function eC(t,e){let n=t.indexOf(e);return n!==-1?[t.substring(0,n),e,t.substring(n+e.length)]:[t,"",""]}var tC=new Set(["lyria-3-pro-preview","lyria-3-clip-preview"]),Jp={"interaction.start":"interaction.created","content.start":"step.start","content.delta":"step.delta","content.stop":"step.stop","interaction.complete":"interaction.completed"};function nC({isVertex:t,model:e}){return!!t&&typeof e=="string"&&tC.has(e)}function oC(t){let e=t.clientAdapter;return!!(e&&e.isVertexAI())}function Tl(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function th(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 rC(t){return Tl(t)?th(t):t}function iC(t){if(!Tl(t))return t;let e=t.event_type;if(typeof e!="string"||!(e in Jp))return t;let n=Object.assign(Object.assign({},t),{event_type:Jp[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=th(o))}return n}var _l=class t extends uo{static fromSSEResponse(e,n,o){let r=uo.fromSSEResponse(e,n,o);function i(){return yn(this,arguments,function*(){var a,l,u,c;try{for(var f=!0,h=$t(r),y;y=yield re(h.next()),a=y.done,!a;f=!0)c=y.value,f=!1,yield yield re(iC(c))}catch(S){l={error:S}}finally{try{!f&&!a&&(u=h.return)&&(yield re(u.call(h)))}finally{if(l)throw l.error}}})}return new t(i,n,o)}};var ri=class extends Tn{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=nC({isVertex:oC(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=>rC(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)}};ri._key=Object.freeze(["interactions"]);var ii=class extends ri{};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 si=class extends Tn{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))}};si._key=Object.freeze(["webhooks"]);var ai=class extends si{};async function sC(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=sC){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 nh=Symbol("brand.privateNullableHeaders");function*aC(t){if(!t)return;if(nh 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():qp(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=qp(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 aC(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{[nh]:!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 oh,li=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=$p(y.logLevel,"ClientOptions.logLevel",this))!==null&&i!==void 0?i:$p(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:U_(),this.encoder=F_,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 q_(e)}getUserAgent(){return`${this.constructor.name}/JS ${B_}`}defaultIdempotencyKey(){return`stainless-node-retry-${R_()}`}makeStatusError(e,n,o,r){return Ie.generate(e,n,o,r)}buildURL(e,n,o){let r=!this.baseURLOverridden()&&o||this.baseURL,i=M_(e)?new URL(e):new URL(r+(r.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),s=this.defaultQuery(),a=Object.fromEntries(i.searchParams);return(!Bp(s)||!Bp(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 Jr:new En({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 x=`retrying, ${n} attempts remaining`;return await G_(T.body),ve(this).info(`${O} - ${x}`),ve(this).debug(`[${h}] response error (${x})`,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(x=>ml(x).message),L=b_(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 O_(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&&D_("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:L_(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})}};li.DEFAULT_TIMEOUT=6e4;var de=class extends li{constructor(){super(...arguments),this.interactions=new ii(this),this.webhooks=new ai(this),this.agents=new ni(this)}};oh=de;de.GeminiNextGenAPIClient=oh;de.GeminiNextGenAPIClientError=we;de.APIError=Ie;de.APIConnectionError=En;de.APIConnectionTimeoutError=Jr;de.APIUserAbortError=lo;de.NotFoundError=Xr;de.ConflictError=Qr;de.RateLimitError=jr;de.BadRequestError=Wr;de.AuthenticationError=Yr;de.InternalServerError=ei;de.PermissionDeniedError=zr;de.UnprocessableEntityError=Zr;de.toFile=J_;de.Interactions=ii;de.Webhooks=ai;de.Agents=ni;var IR=1024*1024*8;p();p();p();p();var Tt=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};p();function rh(t){return/^[0-9A-Fa-f]$/.test(t)}function kt(t){return t>="0"&&t<="9"}function ih(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)||lC.test(t)}var lC=/^[[{\w-]$/;function sh(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 ah(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function lh(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)||ui(t)}function Ml(t){return t==='"'||t==="\u201C"||t==="\u201D"}function kl(t){return t==='"'}function ui(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function xl(t){return t==="'"}function Cn(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 uh(t,e,n){return t.substring(0,e)+t.substring(e+n)}function ch(t){return/[,\n][ \t\r]*$/.test(t)}var uC={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},cC={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
44
|
+
`,r:"\r",t:" "};function ci(t){let e=0,n="";u(["```","[```","{```"]),i()||le(),u(["```","```]","```}"]);let r=f(",");for(r&&s(),Pl(t[e])&&ch(n)?(r||(n=Je(n,",")),R()):r&&(n=Cn(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:ah,z="";for(;;)if(K(t,e))z+=t[e],e++;else if(lh(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&&!dC(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=Cn(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=Cn(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=Cn(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:xl(t[e])?xl:ui(t[e])?ui:Ml,Ye=e,N=n.length,oe='"';for(e++;;){if(e>=t.length){let he=x(e-1);return!F&&co(t.charAt(he))?(e=Ye,n=n.substring(0,N),O(!0)):(oe=Je(oe,'"'),n+=oe,!0)}if(e===K)return oe=Je(oe,'"'),n+=oe,!0;if(be(t[e])){let he=e,bt=oe.length;if(oe+='"',e++,n+=oe,s(!1),F||e>=t.length||co(t[e])||fo(t[e])||kt(t[e]))return D(),!0;let ce=x(he-1),Oe=t.charAt(ce);if(Oe===",")return e=Ye,n=n.substring(0,N),O(!1,ce);if(co(Oe))return e=Ye,n=n.substring(0,N),O(!0);n=n.substring(0,N),e=he+1,oe=`${oe.substring(0,bt)}\\${oe.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]);)oe+=t[e],e++;return oe=Je(oe,'"'),n+=oe,D(),!0}else if(t[e]==="\\"){let he=t.charAt(e+1);if(cC[he]!==void 0)oe+=t.slice(e,e+2),e+=2;else if(he==="u"){let ce=2;for(;ce<6&&rh(t[e+ce]);)ce++;ce===6?(oe+=t.slice(e,e+6),e+=6):e+ce>=t.length?e=t.length:pt()}else oe+=he,e+=2}else{let he=t.charAt(e);he==='"'&&t[e-1]!=="\\"?(oe+=`\\${he}`,e++):sh(he)?(oe+=uC[he],e++):(ih(he)||Z(he),oe+=he,e++)}z&&y()}}return!1}function D(){let F=!1;for(s();t[e]==="+";){F=!0,e++,s(),n=Cn(n,'"',!0);let K=n.length;O()?n=uh(n,K,1):n=Je(n,'"')}return F}function q(){let F=e;if(t[e]==="-"){if(e++,ne())return W(F),!0;if(!kt(t[e]))return e=F,!1}for(;kt(t[e]);)e++;if(t[e]==="."){if(e++,ne())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++,ne())return W(F),!0;if(!kt(t[e]))return e=F,!1;for(;kt(t[e]);)e++}if(!ne())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 x(F){let K=F;for(;K>0&&Mt(t,K);)K--;return K}function ne(){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 dC(t,e){return t[e]==="*"&&t[e+1]==="/"}var fC=Ge("JSON_PARSE");function pC(t,e={}){if(!t||typeof t!="string")return e;try{return JSON.parse(t)}catch(n){let o=hC(t);if(o!==void 0)return o;try{let r=ci(t);return JSON.parse(r)}catch(r){let i=ph(t);if(i&&i!==t)try{return JSON.parse(ci(i))}catch{}return fC.error("Failed to parse JSON even with jsonrepair:",{originalError:n,repairError:r,jsonString:t}),e}}}var dh=Symbol("tool-args-parse-failed");function fh(t){if(t==null)return{};let e=typeof t=="string"?t.trim():"";if(!e)return{};let n=pC(e,dh);return n===dh?null:n&&typeof n=="object"&&!Array.isArray(n)?n:null}function hC(t){let e=ph(t);if(e&&e!==t.trim())try{return JSON.parse(e)}catch{return}}function ph(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 mC=/[A-Za-z\u00C0-\u024F]/g;function gC(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 Nl(t){let e=t.codePointAt(0);return e!==void 0&&gC(e)}function yC(t){let e=t.match(mC)?.length??0;if(e<24)return!1;let n=0;for(let o of t)Nl(o)&&n++;return n===0||e>=n*8}function di(t){if(!t||!yC(t))return t;let e="",n=0,o=[...t];for(;n<o.length;){if(!Nl(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&&Nl(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 An=Ge("TAGGED_THINKING_PARSER"),ho=["<think>","<thinking>"],mo=["</think>","</thinking>"],EC=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 fi(t,e,n){let o=t.length-e;return o<=0||o>EC?!1:n.some(r=>r.startsWith(t.slice(e,e+o)))}function pi(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 hh(t){let e=[];for(let n of t){if(n.thought===!0||typeof n.text!="string"){e.push(n);continue}let o=di(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=pi(o,s,ho);if(a){An.debug(`taggedThinking: detected open tag "${a}" at offset ${s}`),po(r,i,this.mode),i="",this.mode="thought",s+=a.length;continue}let l=pi(o,s,mo);if(l){An.debug(`taggedThinking: dropping orphan close tag "${l}" at offset ${s}`),po(r,i,this.mode),i="",s+=l.length;continue}if(!n&&(fi(o,s,ho)||fi(o,s,mo)))break}else{let a=pi(o,s,mo);if(a){An.debug(`taggedThinking: detected close tag "${a}" at offset ${s}`),po(r,i,this.mode),i="",this.mode="text",s+=a.length;continue}let l=pi(o,s,ho);if(l){s+=l.length;continue}if(!n&&(fi(o,s,mo)||fi(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),An.debug(`taggedThinking: emitted ${r.length} part(s), buffered ${this.buffer.length} char(s)`),hh(r)):(this.buffer="",this.mode==="thought"&&i&&An.warn(`taggedThinking: flushing ${i.length} chars of unclosed thought on stream end`),po(r,i,this.mode),An.debug(`taggedThinking: emitted ${r.length} part(s), flush complete`),hh(r))}};function mh(t){return new Dl().parse(t,!0)}p();function gh(t,e="auto"){return e==="openapi_30"?TC(t):t}function TC(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 vn(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function hi(t){let e=t.candidates||0,n=t.thoughts||0;return n>e?e+n:Math.max(e,n)}function _C(t){return t.total&&t.total>0?Math.max(t.total,(t.prompt||0)+hi(t)):(t.prompt||0)+hi(t)}function CC(t){let e=Math.max(0,t.thoughtsTokens||0),n=hi({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"),vh="(attached media from previous tool call)";function Sh(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 AC=64,yh=1024;function Eh(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>=yh&&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>=AC?(e.cumulativeMode=!0,_t.debug(`normalizeStreamingTextDelta: entered cumulative mode (exact repeat, ${t.length}b)`),""):(e.emittedLength+=t.length,t):(e.emittedText.length<yh&&(e.emittedText+=t),e.emittedLength+=t.length,t)}function wh(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 vC(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=wh(i.parameters)),s&&(s=gh(s,e)),n.push({type:"function",function:{name:i.name,description:i.description,parameters:s}})}}}return n}function SC(t,e,n={cleanOrphanToolCalls:!0}){let o=[];return IC(t,o),RC(t.contents,o,e),o=Ah(o),n.cleanOrphanToolCalls&&(o=LC(o),o=Ah(o)),o}function wC(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=UC(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 IC(t,e){if(!t.config?.systemInstruction)return;let n=Rh(t.config.systemInstruction);n&&e.push({role:"system",content:n})}function RC(t,e,n){if(Array.isArray(t))for(let o of t)Th(o,e,n);else t&&Th(t,e,n)}function Th(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=Ih(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=MC(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:vh},...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 PC(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 MC(t,e){let n=PC(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=Ih(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 Ih(t,e){let{modalities:n}=e;if(t.inlineData?.mimeType&&t.inlineData?.data){let o=t.inlineData.mimeType,r=_h(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=kC(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=_h(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 _h(t){return t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"}function kC(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 Rh(t){return typeof t=="string"?t:Array.isArray(t)?t.map(e=>Rh(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 mi(t,e,n=!0){if(e.taggedThinkingParser)return e.taggedThinkingParser.parse(t,n);if(e.responseParsingOptions?.taggedThinkingTags)return mh(t);if(!t)return[];let o=di(bl(t));return o?[{text:o}]:[]}function NC(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(...mi(n.message.content,e)),n.message.tool_calls){for(let i of n.message.tool_calls)if(i.function){let s=fh(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:Ph(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=Sh(t.usage,{estimatedReasoningTokens:vn(i.length),estimatedContentTokens:vn(s.length)})}return o}function DC(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=Eh(u,e.reasoningDeltaState??={emittedText:"",emittedLength:0,cumulativeMode:!1});c&&i.push({text:c,thought:!0})}}if(typeof n.delta?.content=="string"){let u=Eh(n.delta.content,e.textDeltaState??={emittedText:"",emittedLength:0,cumulativeMode:!1});(u||n.finish_reason)&&i.push(...mi(u,e,!!n.finish_reason))}else n.finish_reason&&i.push(...mi("",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=Ph(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=Sh(t.usage,OC(e))),o}function bC(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(...mi("",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 OC(t){return{estimatedReasoningTokens:vn(t.reasoningDeltaState?.emittedLength??0),estimatedContentTokens:vn(t.textDeltaState?.emittedLength??0)}}function Ph(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 UC(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 Ch(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===vh}function LC(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(Ch(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>"}`):Ch(l)?_t.debug("cleanOrphanedToolCalls: dropping orphaned split tool media message"):e.push(l)}return e}function Ah(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 gi={convertGeminiToolParametersToOpenAI:wh,convertGeminiToolsToOpenAI:vC,convertGeminiRequestToOpenAI:SC,convertGeminiResponseToOpenAI:wC,convertOpenAIResponseToGemini:NC,convertOpenAIChunkToGemini:DC,flushOpenAIStreamToGemini:bC};p();p();p();var yo="MATILDA_API_KEY";var Sn="matilda-code-1.0",Ul="Matilda",xt="https://matilda.com",wn=`${xt}/api/v1/code`,go="https://matilda.maincode.com",Mh=[xt,go].map(t=>new URL(t).hostname);function uP(t){return Mh.includes(t.toLowerCase())}function In(t){let e=t.toLowerCase();return Mh.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,xt)}function GC(t){return Ll(Re(t),xt,go)}function cP(t){let e=GC(t),n=Ll(e,go,`${go}:443`);return n===e?[e]:[e,n]}var dP={id:"matilda",label:"Matilda",description:"Connect to the Matilda Core code API endpoint",protocol:"openai",baseUrl:wn,envKey:yo,models:[{id:Sn,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=xt,FC="https://matilda.maincode.com",dt="Matilda has moved to https://matilda.com. Update your server address and sign in again.";function yi(t){try{return new URL(t).hostname==="matilda.maincode.com"}catch{return!1}}function Ct(t){if(yi(t))throw new Error(dt);if(Jt(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 Jt(t){try{return new URL(t).hostname==="matilda.com"}catch{return!1}}function ft(t){if(t.baseUrl&&yi(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===FC}catch{return!1}}p();var Ti="NOT_A_PROXY",qC=/^(?:UND_ERR_SOCKET|HPE_.*|ERR_SSL_(?:WRONG_VERSION_NUMBER|PACKET_LENGTH_TOO_LONG|HTTP_REQUEST|UNKNOWN_PROTOCOL))$/,BC={"http:":80,"https:":443},VC=/^(?:(?:.+\.)?localhost|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|::1)$/;function HC(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 $C(t){return(t??"").split(/[,\s]+/).filter(Boolean)}function yP(t){return $C(t).map(HC)}function KC(t,e){let n=typeof t=="string"?new URL(t):t,o=n.hostname.toLowerCase().replace(/^\[|\]$/g,"");if(VC.test(o))return!0;let r=n.port?Number(n.port):BC[n.protocol];return e.some(i=>i.wildcard||(i.port===void 0||i.port===r)&&(o===i.host||o.endsWith(`.${i.host}`)))}function EP(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"&&qC.test(r)?Object.assign(new Error("The address did not answer as a proxy."),{code:Ti}):o}},t}var Ei;function TP(t,e=[]){Ei=t?{host:new URL(t).host,noProxy:e}:void 0}function Gl(t){return Ei&&URL.canParse(t)&&!KC(t,Ei.noProxy)?Ei.host:void 0}var To="MATILDA_BASE_URL",JC=new Set(["localhost","127.0.0.1","[::1]"]);function At(t){return Re(t.trim()).replace(/\/+$/,"").replace(/\/api\/v1(?:\/code)?$/i,"")}var Nh=new Set;function Dh(t){let e=At(t||We());try{let{origin:n,pathname:o}=new URL(e);return`${n}${o.replace(/\/+$/,"")}`}catch{return e}}function WC(t){Nh.add(Dh(t))}function RP(t,e=(n,o)=>globalThis.fetch(n,o)){return async(n,o)=>{let r=await e(n,o);return WC(t),r}}function PP(t){return Nh.has(Dh(t))}function MP(t){try{let{host:e}=new URL(At(t));return e===new URL(wn).host?"Matilda":e}catch{return t}}function bh(t){let e;try{e=new URL(At(t))}catch{return}if(!(!(e.protocol==="https:"||e.protocol==="http:"&&JC.has(e.hostname))||e.username||e.password||e.search||e.hash))return`${e.origin}${e.pathname.replace(/\/+$/,"")}/api/v1/code`}function Oh(t=process.env){let e=t[To]?.trim();return e?bh(e):void 0}function _o(t,e=process.env){let n=Oh(e);if(!n||!t)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function Fl(t){return t.apiKeyEnvKey===yo||YC(t.baseUrl)}function YC(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&&(In(n)||n==="localhost"||n==="127.0.0.1"||n.endsWith(".matilda")||n==="core-api.matilda")||_o(e)}var _i="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.",zC=new Map([["UNABLE_TO_GET_ISSUER_CERT_LOCALLY",_i],["UNABLE_TO_VERIFY_LEAF_SIGNATURE",_i],["SELF_SIGNED_CERT_IN_CHAIN",_i],["DEPTH_ZERO_SELF_SIGNED_CERT",_i],["CERT_HAS_EXPIRED","its certificate has expired."],["ERR_TLS_CERT_ALTNAME_INVALID","its certificate is for another name. Check the address."]]),kh="its name does not resolve. Check the address and your network.",xh="it refused the connection. Check the address, and that it is running.",XC=new Map([["ENOTFOUND",kh],["EAI_AGAIN",kh],["ECONNREFUSED",xh],["ConnectionRefused",xh],["UND_ERR_CONNECT_TIMEOUT","it did not answer. Check your network, VPN and proxy."]]),Uh=5,QC=/^Proxy response \((\d+)\)/,Lh=t=>t?`the proxy at ${t}`:"your proxy";function ZC(t,e){let n=Lh(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=Gl(e),o=t;for(let r=0;r<=Uh;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"?QC.exec(l):null;if(u)return new vt(`Could not reach ${At(e)}: ${ZC(Number(u[1]),n)}`,"UND_ERR_ABORTED");if(s===Ti)return new vt(`Could not reach ${At(e)}: ${Lh(n)} did not answer as a proxy. Check its address, and whether it starts with http:// or https://.`,Ti);if(typeof s=="string"){let c=At(e),f=zC.get(s);if(f)return new vt(`Could not connect securely to ${c}: ${f}`,s);if(Du.has(s))return new vt(`Could not reach ${n?`the proxy at ${n}, for ${c}`:c}: ${XC.get(s)??"the network cannot reach it. Check your network, VPN and proxy."}`,s)}o=a}}function jC(t){let e=Gl(t);return`${At(t)} did not answer in time${e?` through the proxy at ${e}`:""}. Check your network, VPN and proxy.`}function ql(t,e){let n=t;for(let o=0;o<=Uh;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 vt(jC(e),"ETIMEDOUT");n=s}}function eA(t=process.env){let e=t[To]?.trim();if(e&&Ct(e),e&&!bh(e))throw new No(`${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),Oh(t)??wn}p();p();p();es();var tA=new Set(["service.version","service.instance.id","session.id"]);function Wt(t,e){bo.warn(t),e?.push(t)}function Gh(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){Wt(`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{Wt(`Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES key "${s}", using raw key`,e),l=s}let u;try{u=decodeURIComponent(a)}catch{Wt(`Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES for key "${l}", using raw value`,e),u=a}n[l]=u}return n}function Bl(t,e,n){for(let o of tA)o in t&&(Wt(`${e} cannot override reserved key "${o}"; ignoring`,n),delete t[o]);return t}function Fh(t,e){if(t==null)return{};if(typeof t!="object"||Array.isArray(t))return Wt("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){Wt("settings.telemetry.resourceAttributes has an empty or whitespace-only key; ignoring",e);continue}typeof r=="string"?n[i]=r:Wt(`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 No(`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=Bl(Gh(n.OTEL_RESOURCE_ATTRIBUTES,S),"OTEL_RESOURCE_ATTRIBUTES",S),T=Bl(Fh(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 qh=new oA;p();import*as tt from"node:path";import{promises as vi}from"node:fs";p();p();import rA from"crypto";var Ai=new Uint8Array(256),Ci=Ai.length;function Vl(){return Ci>Ai.length-16&&(rA.randomFillSync(Ai),Ci=0),Ai.slice(Ci,Ci+=16)}p();var Ee=[];for(let t=0;t<256;++t)Ee.push((t+256).toString(16).slice(1));function Bh(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 Hl={randomUUID:iA.randomUUID};function sA(t,e,n){if(Hl.randomUUID&&!e&&!t)return Hl.randomUUID();t=t||{};let o=t.random||(t.rng||Vl)();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 Bh(o)}var $l=sA;import*as Nt from"os";var Si=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(Nt.homedir(),t.slice(1)):tt.isAbsolute(t)||(o=tt.resolve(n,t)),tt.normalize(o)}function Vh(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)?Vh(t):Vh(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 vi.mkdir(this.logDir,{recursive:!0}),this.initialized=!0}catch(e){throw Si.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=$l().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:Nt.hostname(),platform:Nt.platform(),release:Nt.release(),nodeVersion:process.version}};try{return await vi.writeFile(u,JSON.stringify(c,(f,h)=>typeof h=="string"?Nu(h):h,2),"utf-8"),u}catch(f){throw Si.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 vi.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"?[]:(Si.error("Failed to read OpenAI log directory:",n),[])}}async readLogFile(e){try{let n=await vi.readFile(e,"utf-8");return JSON.parse(n)}catch(n){throw Si.error(`Failed to read log file ${e}:`,n),new Error(`Failed to read log file: ${n}`)}}},u0=new vo;p();var hA="MATILDA_CODE_PROFILE_RUNTIME";function Hh(t=process.env){return t[hA]==="1"}var Jl=class{enabled;now;startedAt;requestIndex=0;openAIWireRequestIndex=0;requests=[];openaiWireRequests=[];tools=$h();constructor(e={}){this.enabled=e.enabled??Hh(),this.now=e.now??(()=>new Date().toISOString()),this.startedAt=this.now()}reset(e={}){this.enabled=e.enabled??Hh(),this.startedAt=this.now(),this.requestIndex=0,this.openAIWireRequestIndex=0,this.requests=[],this.openaiWireRequests=[],this.tools=$h()}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:Kh(e.contents),systemInstructionBytes:yA(e.config?.systemInstruction),generationConfigBytes:Pe(Jh(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}},Wl=new Jl;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 $h(){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 Kh(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 Kh(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=Kl(o.functionCall);r&&(e.functionCallCount+=1,e.functionCallArgBytes+=Pe(r.args));let i=Kl(o.functionResponse);i&&(e.functionResponseCount+=1,e.functionResponseBytes+=Pe(i.response)+Pe(i.parts));let s=Kl(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:Jh(t.config)}}function Jh(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 Kl(t){return typeof t=="object"&&t!==null?t:null}p();function Wh(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 wi=new vA;function Yh(){let t=wi.getStore();return{attempt:t?.attempt??1,requestSetupMs:t?.requestSetupMs,retryTotalDelayMs:t?.retryTotalDelayMs}}var Yt=Ge("LOGGING_CONTENT_GENERATOR"),SA=4096,zh="...[truncated]",wA=SA-zh.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,St.getStore()))}_logApiResponse(e,n,o,r,i,s){os(this.config,new ss(e,o,n,r,this.generatorAuthType,i,s,St.getStore()))}_logApiError(e,n,o,r,i){let s=ku(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:St.getStore()}))}safelyLogApiError(e,n,o,r,i){try{this._logApiError(e,n,o,r,i)}catch(s){Yt.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){Yt.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=Yh(),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{Wl.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){Yt.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:St.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:St.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){Yt.warn("Failed to log OpenAI interaction:",h)}}),u}}async generateContentStream(e,n){let o=Yh(),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{Wl.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:St.getStore()||void 0,...o});try{await this.safelyLogOpenAIInteraction(await l.resolve(e),void 0,f,n)}catch(S){Yt.warn("Failed to log OpenAI interaction:",S)}throw f}let c;if(this.openaiLogger)try{c=await l.resolve(e)}catch(f){Yt.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():qh.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=St.getStore(),U,L=!1,$=W=>a?ht.with(a,W):W(),Y=5*6e4,x,ne=s?()=>{L||(x!==void 0&&clearTimeout(x),x=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),x.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&&Wh(ue)&&(U=Date.now()-n),ne?.(),yield ue,x!==void 0&&(clearTimeout(x),x=void 0)}x!==void 0&&(clearTimeout(x),x=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(x!==void 0&&clearTimeout(x),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=gi.convertGeminiRequestToOpenAI(e,n,{cleanOrphanToolCalls:!1}),r={model:e.model,messages:o};return e.config?.tools&&(r.tools=await gi.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){Yt.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),gi.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}${zh}`: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 Yl="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 H0(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 Xh=new IA;function Xl(t){let e=Xh.getStore();return e?e.organizationId:t?.getOrganizationId?.()}function PA(t,e){return Xh.run({organizationId:t},e)}function $0(t,e){return PA(Xl(t),e)}function zl(t){if(t)try{let e=new URL(t);if((e.origin===xt&&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=zl(t.baseUrl);return!!e&&e.pathname.replace(/\/$/,"")==="/api/v1/code"&&t.authType==="openai"}function Ql(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 Qh(t){for(let e of Object.keys(t??{})){let n=e.toLowerCase();if(n===Yl)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 K0(t,e,n,o,r){Ql(n,o,r);let i=zl(n.baseUrl),s=zl(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(Yl);if(a!==null&&a!==o)throw new Error("The request organization conflicts with --organization-id.");o!==void 0&&e.set(Yl,o)}p();function Zh(t){switch(t){case"openai":return"OPENAI_API_KEY";default:return"API_KEY"}}function jh(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)}},Ii=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.`))}},Ri=class extends Mn{name="StrictMissingModelIdError";code="STRICT_MISSING_MODEL_ID";constructor(e){super(`Missing model id for strict modelProviders resolution (authType: ${e}).`)}},Pi=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}'.`)}},Mi=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 nu from"node:process";p();var ki=Sn,Q0="text-embedding-v4";p();function eM(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"]]],em=[[/^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 xA(t,e="input"){let n=xi(t),o=e==="output"?em:kA;for(let[r,i]of o)if(r.test(n))return i}function tM(t){let e=xi(t);return em.some(([n])=>n.test(e))}function NA(t,e="input"){return xA(t,e)}function Ni(t,e="input"){return NA(t,e)??(e==="output"?32e3:131072)}p();p();var tm={image:!0,pdf:!0,audio:!0,video:!0},DA=[[/^gemini-3/,tm],[/^gemini-/,tm],[/^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 Di(t){let e=xi(t);for(let[n,o]of DA)if(n.test(e))return{...o};return{}}p();function nm(t,e,n={kind:"default"}){for(let o of t)if(om(o.value))return{value:o.value,source:o.source};return{value:e,source:n}}function Zl(t){for(let e of t)if(om(e.value))return{value:e.value,source:e.source}}function om(t){return!(t==null||typeof t=="string"&&t.trim()==="")}function bi(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 jl(t){return{kind:"default",detail:t}}function Oi(t){return{kind:"computed",detail:t}}function Ui(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"],rm=["model","apiKey","apiKeyEnvKey","baseUrl"],eu=[...rm,...Io],im={openai:{apiKey:["OPENAI_API_KEY"],baseUrl:["OPENAI_BASE_URL"],model:["OPENAI_MODEL","MATILDA_MODEL"]}},sm={openai:ki};var xn="MATILDA_API_KEY",OA="matilda-code-1.0";function UA(t,e){if(!t)return!0;try{let{hostname:n}=new URL(t);return In(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 TM(t){let{authType:e,cli:n,settings:o,env:r,modelProvider:i,proxy:s}=t,a=[],l={},u=e?im[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,bi("--model"))),e==="openai"&&r[xn]&&!r.OPENAI_MODEL&&!r.MATILDA_MODEL&&c.push(De(OA,{kind:"env",envKey:xn}));for(let U of u.model)c.push(Ui(r,U));o?.model&&c.push(De(o.model,wo("model.name")));let f=e?sm[e]:"",h=nm(c,f,jl(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,bi("--openaiBaseUrl"))),e==="openai"&&r[xn]&&!r.OPENAI_BASE_URL&&(r[To]?.trim()||!o?.baseUrl)&&y.push(De(We(r),{kind:"env",envKey:xn}));for(let U of u.baseUrl)y.push(Ui(r,U));o?.baseUrl&&y.push(De(o.baseUrl,wo("security.auth.baseUrl")));let S=Zl(y)??(e==="openai"?{value:We(r),source:jl("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,bi("--openaiApiKey"))),!i?.envKey){let U=r[xn];if(e==="openai"&&U&&UA(S?.value,r)&&A.push(De(U,{kind:"env",envKey:xn})),S?.source.kind!=="default")for(let L of u.apiKey)A.push(Ui(r,L))}o?.apiKey&&A.push(De(o.apiKey,wo("security.auth.apiKey")));let T=Zl(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=Li(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=Oi("Config.getProxy()")),l.authType=Oi("provided by caller"),{config:q,sources:l,warnings:a}}function Li(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=Di(o),r.modalities=Oi("auto-detected from model")),i}p();var Gi="$runtime|";function vM(t){let e=t;for(;e.startsWith(Gi);){let n=e.split("|").slice(2).join("|");if(!n)break;e=n}return e}p();p();var am=Ge("MODEL_REGISTRY");function lm(t,e){return e?`${t}\0${Re(e)}`:t}var Fi=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=lm(o.id,o.baseUrl);if(n.has(r)){am.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??Ni(e.id),modalities:e.generationConfig.modalities??Di(e.id),baseUrl:e.baseUrl,envKey:e.envKey}))}findModel(e,n){if(n)return this.models.get(lm(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"){am.warn(`Invalid authType key "${n}" in modelProviders config. Expected one of: ${Object.values(Pn).join(", ")}. Skipping.`);continue}this.models=this.registerModels(o)}}};var um=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 Fi(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||ki}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 Li(this.settingsGenerationConfig,e.generationConfig,e.authType,e.id,nu.env)}isManagedMatildaResolvedModel(e){return e?.id===Sn&&e?.envKey===yo&&e?.baseUrl===wn&&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)?Sn: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=Li(this.settingsGenerationConfig,void 0,this.currentAuthType,e,nu.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=Ni(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`${Gi}${e}|${n}`}extractRuntimeModelSnapshotId(e){if(e.startsWith(Gi))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=nu.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{accessSync as Am,constants as du,mkdirSync as mv,readFileSync as gv}from"node:fs";import{dirname as Hi,join as yv}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 cm(t){return t==="localhost"||t==="127.0.0.1"||t==="::1"||t==="[::1]"}function ru(){let t=FA(32).toString("base64url"),e=qA("sha256").update(t).digest("base64url");return{codeVerifier:t,codeChallenge:e}}function Nn(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 iu(t){let e=t.replace(/\/+$/,""),n=new URL("/.well-known/oauth-authorization-server",e);if(n.protocol!=="https:"&&!cm(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,ou="Device code expired: restart the sign-in";async function su(t,e,n={}){let o=new URLSearchParams({client_id:e.clientId});e.scope!==null&&o.set("scope",e.scope??"openid offline_access"),e.resource&&o.set("resource",e.resource);let r;try{r=await fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:o,signal:fm(AbortSignal.timeout($A),n.signal)})}catch(s){throw pm(s,n.signal)?new Error("The device code request timed out"):s}if(!r.ok)throw new Error(`Device code request failed (${r.status})`);let i=await r.json();return{deviceCode:i.device_code,userCode:i.user_code,verificationUri:i.verification_uri,verificationUriComplete:i.verification_uri_complete,expiresAt:Date.now()+i.expires_in*1e3,interval:i.interval??5}}async function dm(t,e,n={}){let o=new URLSearchParams({grant_type:VA,client_id:e.clientId,device_code:e.deviceCode});e.resource&&o.set("resource",e.resource);let r=await fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:o,signal:n.signal});if(r.ok)return{kind:"authorized",tokens:Nn(await r.json())};let i=await r.json().catch(()=>({})),s=typeof i.error=="string"?i.error:"unknown";switch(s){case"authorization_pending":return{kind:"pending"};case"slow_down":return{kind:"slow_down"};default:return{kind:"error",error:s}}}async function au(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 dm(t,e,{signal:fm(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(ou);case"access_denied":throw new Error("User denied the authorization request");default:throw new Error(`Device flow error: ${i.error}`)}}}}catch(r){throw pm(r,n.signal)?new Error(ou):r}throw new Error(ou)}function fm(t,e){return e?AbortSignal.any([t,e]):t}function pm(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 mm,statSync as YA}from"node:fs";import{dirname as zA}from"node:path";var hm=new Map,XA=2e4,QA=3e4,ZA=50;function lu(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=(hm.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 hm.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){mm(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{mm(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 uu(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=Nn(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 qi(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}=ru(),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 gm(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=Nn(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 gm(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 su(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 au(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 gm(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 ym(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 Bi(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 Ak(t,e){let n=Bi(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 Em(t,e){let n=Bi(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 Tm(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 _m=5*6e4;async function cu(t,e){let n=performance.now()+_m,o=Bi(),r=()=>o.abort(new DOMException("Sign-in timed out","TimeoutError")),i=setTimeout(r,_m),{signal:s,cleanup:a}=Em([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=iu;async function Cm(t,e){Ct(t);let n=await Tm(()=>pv(t,void 0,{signal:e}),e);if(Jt(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",vm="matilda-desktop",Sm="openid profile email offline_access",$i="MATILDA_API_KEY",Ev="matilda",fu=3e5;function Ln(t){return At(t)}function mu(){return yv(Do.getGlobalMatildaDir(),"matilda-auth.json")}function Fn(){let t=mu();return mv(Hi(t),{recursive:!0}),lu(t,{lockTimeoutMs:2e4})}function Tv(t){return t==="desktop"}function qn(t){return t?.clientId?t.clientId:Tv(t?.channel)?vm:Un}function Po(t){return`matilda:${t}`}function Ki(t){return`${Po(t)}:refresh-rejected`}function zt(t){return t===Un?[Po(t),Ev]:[Po(t)]}function gu(){try{let t=gv(mu(),"utf8"),e=JSON.parse(t);return typeof e=="object"&&e!==null?e:{}}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 yu(t,e){return Ln(t)===Ln(e)}function wm(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 Im(t,e){if(ft({baseUrl:e,accessToken:t.accessToken}))throw new Le({reason:dt});let n=wm(t.idToken);return{accessToken:t.accessToken,accessTokenExpiresAt:t.expiresAt,refreshToken:t.refreshToken??"",userId:n.sub,email:n.email,displayName:n.name,baseUrl:e}}var pu=new Map;async function Eu(t,e={}){let n=()=>{e.signal?.throwIfAborted(),e.check?.()};n(),Ct(t);let o=!e.signingIn&&pu.get(t);if(o)return o;try{let r=await Cm(t,e.signal);return n(),pu.set(t,r),r}catch(r){n();let i=Co(r,t)??ql(r,t);if(i&&(e.signingIn||Jt(t)))throw i;if(Jt(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 Tu(t){let e=Rm(t);return e&&!ft(e)?e:null}function Rm(t){try{let e=gu(),n=qn(t);for(let o of zt(n)){let r=Gn(e[o]);if(r)return r}return null}catch{return null}}async function Vi(t,e){let n=qn(t),o=gu();if(!zt(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 zt(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 _u(t){let e=Tu(t);return!e||t?.baseUrl&&!yu(e.baseUrl,t.baseUrl)?null:e}function _v(t){let{sub:e}=wm(t);return typeof e=="string"&&e?e:void 0}function Vk(t){return _v(_u(t)?.accessToken)}function Cu(t){return _u(t)!==null}async function Pm(t,e){for(let n of e){let o=await t.get(n);if(Gn(o))return o}return null}async function Cv(t,e){let n=qn(t),o=zt(n),{store:r,lock:i,update:s}=Fn();await i(async()=>{let a=await Pm(r,o);a!==null&&a!==e||await s({...Object.fromEntries(o.map(l=>[l,null])),[Ki(n)]:"1"})})}function Av(t){return t instanceof Error?t.code==="invalid_grant"||t.name==="InvalidGrantError"?!0:t.message==="Token refresh failed (401)":!1}function On(t){hu({authStage:t.authStage,authOutcome:t.authOutcome,occurrenceCount:t.occurrenceCount},{baseUrl:t.baseUrl,token:t.token}).catch(()=>{})}async function Mm(t,e,n={}){let o=qn(e),r=Po(o),i={[r]:JSON.stringify(t),[Ki(o)]:null};for(let l of zt(o))l!==r&&(i[l]=null);let{lock:s,update:a}=Fn();await s(()=>(n.check?.(),a(i,{signal:n.signal})))}async function vv(t,e){for(let n of zt(e))await t.remove(n);await t.remove(Ki(e))}var Ro="matilda:api-key";function km(){let t=gu()[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=km();return e&&yu(e.baseUrl,t)?e.apiKey:void 0}async function Sv(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 wv(t){let e=Tu(t);return e?{authenticated:!0,userId:e.userId,email:e.email,displayName:e.displayName,baseUrl:e.baseUrl,accessTokenExpiresAt:e.accessTokenExpiresAt}:{authenticated:!1}}async function Hk(t){let e={channel:t?.channel,clientId:t?.clientId},{store:n,lock:o}=Fn(),r=await o(async()=>{let s=Tu(e);return await vv(n,qn(e)),s}),i=km()!==null;if(await Sv(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 xm(t){return!t||t===$i}function Nm(t){let{baseUrl:e,channel:n,apiKey:o,apiKeyEnvKey:r}=t;if(Cu({baseUrl:e,channel:n})){let i=wv({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}:xm(r)&&process.env[$i]?{kind:"api-key",from:$i}:Ji(e)!==void 0?{kind:"api-key",from:"saved"}:{kind:"none"}}async function Dm(t){t?.signal?.throwIfAborted();let e=qn(t),n=Rm(t);if(n&&ft(n)&&(await Vi(t,t?.signal),!t?.baseUrl||yi(t.baseUrl)||Jt(t.baseUrl)))throw new Le({channel:t?.channel,reason:dt});t?.baseUrl&&Ct(t.baseUrl);let o=Po(e),r=_u({baseUrl:t?.baseUrl,channel:t?.channel,clientId:e});if(!r){let f=t?.fallbackAccessToken||(xm(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 Eu(i,{signal:t?.signal}),{manager:a,startedFrom:l}=Iv(Fn(),s.token_endpoint,r.baseUrl,e,o,t?.signal),u=e===Un&&(!!t?.forceRefresh||r.accessTokenExpiresAt-Date.now()<=fu),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 Vi(t,t?.signal);throw new Le({cause:f,channel:t?.channel,...y?{reason:dt}:{}})}if(!Av(f)&&h!=="no_refresh_token")throw pu.delete(i),Co(f,i)??ql(f,i)??f;if(f instanceof Le){let y=await Vi(t,t?.signal);throw new Le({cause:f,channel:t?.channel,...y?{reason:dt}:{}})}throw e===vm&&await Cv({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 Vi(t,t?.signal),new Le({channel:t?.channel,reason:dt});return u&&On({baseUrl:r.baseUrl,token:c,authStage:"refresh",authOutcome:"succeeded"}),c}function Iv({store:t,lock:e,update:n},o,r,i,s,a){let l=zt(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=>Pm(t,R===s?l:[R]),f=null,h,y=()=>h===void 0?f:h;return{manager:uu({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&&yu(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:fu,skewMs:fu}),startedFrom:y}}function Rv(){return process.env.MATILDA_AUTH_SKIP_BROWSER!=="1"&&ym()}function bm(){let t=mu(),e=n=>n.code??"unknown error";try{Am(t,du.R_OK)}catch(n){if(e(n)!=="ENOENT")throw new Error(`Cannot sign in: Matilda cannot read the saved sign-in at ${t} (${e(n)}). Fix the permissions on that file, or delete it, and try again.`)}for(let n=Hi(t);;n=Hi(n))try{Am(n,du.W_OK|du.X_OK);return}catch(o){if(e(o)!=="ENOENT"||Hi(n)===n)throw new Error(`Cannot sign in: Matilda cannot save your sign-in in ${n} (${e(o)}). Fix the permissions on that folder and try again.`)}}async function $k(t){let{openBrowser:e,onAuthorizeUrl:n,signal:o}=t,r=Re(t.baseUrl);return bm(),cu(o,async i=>{let s=Ln(r),a=await Eu(s,{signingIn:!0,...i}),l="",u=0,c=0,f={},h=T=>{f[T]=(f[T]??0)+1},S=await(T=>(u+=1,qi({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||!Rv()){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()}})))(Sm).catch(T=>{throw i.check(),Co(T,s)??T});i.check();let A=Im(S,r);await Mm(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 Kk(t){let{onDeviceCode:e,signal:n}=t,o=Re(t.baseUrl);return bm(),cu(n,async r=>{let i=Ln(o),s=await Eu(i,{signingIn:!0,...r}),a=await qi({metadata:s,clientId:Un,scope:Sm,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=Im(a,o);return await Mm(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 Om(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}p();function Um(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:Pv(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 Pv(t){let e=Mv(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 Mv(t,e){return Lm(t,e)??kv(t,e)}function Lm(t,e){if(!xv(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 Nv(t)?Lm(t.response,e):null}function xv(t){return typeof t=="object"&&t!==null&&"headers"in t&&t.headers!=null}function Nv(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 Au(t,e){if(vu(t))return!1;let n=Ov(t);return n===null?!1:!!(Dv.has(n)||e&&e.includes(n))}function vu(t){return bv(t)==="insufficient_quota"}function bv(t){let e=Fm(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 Gm(t){let e=ot(t),n=Fm(t),o=qm(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 tx(t,e){return Um({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(Om(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 Fm(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=qm(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 qm(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=Gm(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(vu(t))return{kind:"provider-business",diagnosis:"fail-fast",reason:"insufficient-quota",...l};if(Au(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 sx(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 Bm(t,e){return Au(t,e)||Lv(t,{extraRetryErrorCodes:e}).diagnosis==="retryable"}function Gv(t){return Mu(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 Vm(t,e){if(delete t.usesMatildaSignIn,delete t.usesMatildaSavedApiKey,!Fl(t))return;let n=t.baseUrl||We();Cu({baseUrl:n,channel:e})&&(t.usesMatildaSignIn=!0),!t.apiKey&&Ji(n)!==void 0&&(t.usesMatildaSavedApiKey=!0)}function Ex(t,e={}){let n=t.apiKey?{value:t.apiKey,from:e.apiKeyFrom??"config"}:void 0;return Fl(t)?Nm({baseUrl:t.baseUrl||We(),channel:e.channel,apiKey:n,apiKeyEnvKey:t.apiKeyEnvKey}):n&&{kind:"api-key",from:n.from}}async function Kv(t,e,n){try{await Dm({baseUrl:t.baseUrl||We(),channel:e}),n.setSignInNetworkProblem?.(void 0)}catch(o){if(o instanceof vt){n.setSignInNetworkProblem?.(o.message);return}if(!Bm(o))throw o}}function Su(t,e,n){t[e]=n}function Jv(t,e){return t?.[e]}function Tx(t,e,n,o,r){let i={...o||{}},s=r?.strictModelProvider===!0,a={...n||{},authType:e,proxy:t?.getProxy()};Su(i,"authType",{kind:"computed",detail:"provided by caller"}),t?.getProxy()&&Su(i,"proxy",{kind:"computed",detail:"Config.getProxy()"});let l=c=>Jv(o,c)??{kind:"unknown"};for(let c of eu)n&&c in n&&!i[c]&&Su(i,c,l(c));Vm(a,t.getChannel());let u=tu(a,s);if(!u.valid)throw new Error(u.errors.map(c=>c.message).join(`
|
|
54
|
+
`));return{config:a,sources:i}}function tu(t,e=!1){let n=[];if(!t.apiKey&&!t.usesMatildaSignIn&&!t.usesMatildaSavedApiKey)if(e)n.push(new Ii(t.authType,t.model,t.apiKeyEnvKey));else{let o=t.apiKeyEnvKey||Zh(t.authType);n.push(new Pi({authType:t.authType,model:t.model,baseUrl:t.baseUrl,envKey:o}))}if(!t.model)if(e)n.push(new Ri(t.authType));else{let o=jh(t.authType);n.push(new Mi({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 _x(t,e,n){e.assertServer?.(t.baseUrl,n,e.getContentGeneratorConfig?.()?.baseUrl),Ql(t,Xl(e),e.getCodeCreditLimitMinor?.()),Qh(t.customHeaders),Vm(t,e.getChannel()),t.usesMatildaSignIn&&await Kv(t,e.getChannel(),e);let o=tu(t,!1);if(!o.valid)throw new Error(o.errors.map(s=>s.message).join(`
|
|
55
|
+
`));xu(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-PRVYEJIU.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 Km="x-matilda-reported-operation-id",Jm="x-matilda-reported-attempt-purpose",wu=[Km,Jm],Xv=new Set(wu),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),Iu=new Yv,Wm=new WeakSet;function Hm(){return zv()}function Yi(t,e){let n=Object.freeze({operationId:t,attemptPurpose:e});return Wm.add(n),n}function Ix(t){return Xv.has(t.toLowerCase())}function zi(){let t=Iu.getStore();return t&&Wm.has(t)?t:void 0}var $m=class{activeOperationId;begin(e){return this.activeOperationId=Hm(),Yi(this.activeOperationId,e)}continue(e){let n=zi()?.operationId??this.activeOperationId??Hm();return this.activeOperationId=n,Yi(n,e)}};function Mo(t,e){return Iu.run(t,e)}function Rx(t){Iu.enterWith(t)}function Px(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 Mx(t,e){let n=zi();return n?eS(Yi(n.operationId,t),e):e}function kx(){let t=zi();if(!t||!Zv.test(t.operationId))return{};let e=wi.getStore()?.attempt,n=e!==void 0&&e>1?"retry":t.attemptPurpose;return jv.has(n)?{[Km]:t.operationId,[Jm]: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,...wu]),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}",Ym="(?:0|[1-9]\\d{0,11}|[0-9A-Fa-f]{7,12})",iS=new RegExp(`^${Bn}(?:-${rS}(?:\\.${Ym})+)?$`),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)(?:\\.${Ym})+$`);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 zm(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 Lx(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 In(o)||o==="core-api.matilda"||_o(e)}catch{return!1}}function Gx(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,Xm=20,Qm=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 Ru(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 hu(t,e){let n=typeof t.occurrenceCount=="number"&&Number.isFinite(t.occurrenceCount)?Math.max(1,Math.min(Math.floor(t.occurrenceCount),Qm)):1;return Ru({eventType:"auth_funnel",authStage:t.authStage,authOutcome:t.authOutcome,occurrenceCount:n},e)}function Zm(){try{let t=Dt.readFileSync(tg(),"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 jm(t){let e=tg();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 eg(t,e){return t.filter(n=>e-n.lastObservedAtMs<=CS).sort((n,o)=>n.firstObservedAtMs-o.firstObservedAtMs).slice(-Xm)}function kS(t){let e=zm(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 xS(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 NS(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=xS(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=NS(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 Kx(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=Zm()??{schemaVersion:ko,failures:[]},a=eg(s.failures,r),l=bS(a,i);if(l>=0){let u=a[l];a[l]={...u,occurrenceCount:Math.min(u.occurrenceCount+1,Qm),lastObservedAtMs:r}}else a.push(i);return jm({schemaVersion:ko,failures:a.slice(-Xm)}),!0}async function Jx(t){let e=Zm();if(!e)return;let n=eg(e.failures,Date.now()),o=[];for(let r=0;r<n.length;r+=1){let i=n[r];if(!await Ru({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}}jm({schemaVersion:ko,failures:o})}function tg(){return Xi.join(Do.getGlobalMatildaDir(),"telemetry","cli-transport-failures.json")}var $D="http://localhost:4317";export{wi as a,Km as b,Jm as c,Ix as d,zi as e,$m as f,Mo as g,Rx as h,Px as i,eS as j,Mx as k,kx as l,yo as m,xt as n,wn as o,uP as p,In as q,Re as r,cP as s,dP as t,Ct as u,ft as v,ie as w,vR as x,SR as y,Et as z,pC as A,Dl as B,hi as C,_C as D,CC as E,gi as F,qh as G,uA as H,Wl as I,nA as J,yP as K,KC as L,EP as M,TP as N,To as O,At as P,RP as Q,PP as R,MP as S,bh as T,Oh as U,_o as V,Fl as W,Co as X,jC as Y,eA as Z,We as _,zm as $,Lx as aa,Gx as ba,hu as ca,Kx as da,Jx as ea,$D as fa,H0 as ga,Xl as ha,PA as ia,$0 as ja,zl as ka,MA as la,Ql as ma,Qh as na,K0 as oa,ki as pa,Q0 as qa,eM as ra,tM as sa,Ni as ta,Io as ua,im as va,TM as wa,vM as xa,um as ya,cm as za,su as Aa,au as Ba,uv as Ca,ym as Da,Bi as Ea,Ak as Fa,Em as Ga,Tm as Ha,Ln as Ia,Tu as Ja,_v as Ka,Vk as La,Cu as Ma,km as Na,Ji as Oa,Sv as Pa,wv as Qa,Hk as Ra,Dm as Sa,Rv as Ta,$k as Ua,Kk as Va,Wi as Wa,Om as Xa,Um as Ya,Pv as Za,Mv as _a,Au as $a,vu as ab,bv as bb,Gm as cb,tx as db,Lv as eb,sx as fb,Bm as gb,Pn as hb,Ex as ib,Tx as jb,_x as kb};
|
|
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 Matilda
|
|
77
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
78
|
+
*/
|
|
79
|
+
/**
|
|
80
|
+
* @license
|
|
81
|
+
* Copyright 2025 Matilda Team
|
|
82
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* @license
|
|
86
|
+
* Copyright 2026 Maincode
|
|
87
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
88
|
+
*
|
|
89
|
+
* Low-level OAuth primitives for core-auth's unified `/api/auth/oauth/*` flow
|
|
90
|
+
* (ADR-029): PKCE pair generation, RFC 8414 discovery, the RFC 8628 device
|
|
91
|
+
* grant, and refresh. Vendored (as source) from matilda-core's
|
|
92
|
+
* `packages/client-sdk/src/auth.ts` and extended to carry the `id_token`
|
|
93
|
+
* (display identity) that the higher-level flows need. Node built-ins only —
|
|
94
|
+
* no third-party runtime dependencies.
|
|
95
|
+
*/
|
|
96
|
+
/**
|
|
97
|
+
* @license
|
|
98
|
+
* Copyright 2026 Maincode
|
|
99
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
100
|
+
*
|
|
101
|
+
* File-backed token store + cross-process lock. The store persists a JSON map
|
|
102
|
+
* (`{ [key]: value }`) at 0600 so callers can key several credentials in one
|
|
103
|
+
* file; the lock is an O_EXCL lockfile that serialises refreshes across
|
|
104
|
+
* processes (the guarantee a plaintext read/modify/write can't give).
|
|
105
|
+
*/
|
|
106
|
+
/**
|
|
107
|
+
* @license
|
|
108
|
+
* Copyright 2026 Maincode
|
|
109
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
110
|
+
*
|
|
111
|
+
* Hardened access-token manager: returns a valid access token, refreshing via
|
|
112
|
+
* core-auth's token endpoint when expired or forced. Single-flight within the
|
|
113
|
+
* process, serialised across processes by the store's lock, carries a prior
|
|
114
|
+
* refresh token forward when the response omits one, and evicts on a terminal
|
|
115
|
+
* `invalid_grant` so a dead session doesn't wedge the caller in a refresh loop.
|
|
116
|
+
*/
|
|
117
|
+
/**
|
|
118
|
+
* @license
|
|
119
|
+
* Copyright 2026 Maincode
|
|
120
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
121
|
+
*
|
|
122
|
+
* Browser login orchestration: PKCE + a loopback capture server, driven off
|
|
123
|
+
* discovery metadata. Unlike a bare loopback helper, this emits lifecycle
|
|
124
|
+
* events for a UI, honours an AbortSignal, and — instead of serving its own
|
|
125
|
+
* HTML — 302-redirects the browser to an app-owned branded landing
|
|
126
|
+
* (`successRedirect`). Returns a TokenSet including the `id_token`.
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* @license
|
|
130
|
+
* Copyright 2026 Maincode
|
|
131
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
132
|
+
*
|
|
133
|
+
* Node auth surface for `@maincode-ai/matilda-client-sdk/auth/node`.
|
|
134
|
+
* Re-exports the OAuth primitives plus the higher-level login flow, file token
|
|
135
|
+
* store, and hardened token manager that the CLI (`packages/core`) and the
|
|
136
|
+
* Electron desktop app consume.
|
|
137
|
+
*/
|
|
138
|
+
/**
|
|
139
|
+
* @license
|
|
140
|
+
* Copyright 2026 Maincode
|
|
141
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
142
|
+
*
|
|
143
|
+
* Matilda account auth for the CLI, backed by the shared client SDK.
|
|
144
|
+
*
|
|
145
|
+
* The OAuth dance (PKCE, loopback capture, code exchange, refresh, cross-process
|
|
146
|
+
* token locking) is owned by `@maincode-ai/matilda-client-sdk/auth/node` — the
|
|
147
|
+
* auth team's tested implementation of ADR-029's unified `/api/auth/oauth/*`
|
|
148
|
+
* flow. This module keeps ONLY the CLI-specific concerns: which endpoint, the
|
|
149
|
+
* on-disk credential shape the rest of the CLI already reads, and surfacing the
|
|
150
|
+
* authorize URL to the Ink UI. No PKCE crypto, no loopback server, no token
|
|
151
|
+
* exchange lives here anymore (replaced the 391-line hand-rolled beta that hit
|
|
152
|
+
* the divergent `/api/auth/cli/*` endpoints and stored tokens in plaintext).
|
|
153
|
+
*/
|
|
154
|
+
/**
|
|
155
|
+
* @license
|
|
156
|
+
* Copyright 2026 Google LLC
|
|
157
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
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
|
+
*/
|