flujo-ai 3.9.0 → 3.9.1

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.
Files changed (108) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +46 -46
  3. package/.next/app-path-routes-manifest.json +4 -4
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/required-server-files.json +2 -2
  6. package/.next/server/app/_not-found/page.js +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_not-found.html +1 -1
  9. package/.next/server/app/_not-found.rsc +1 -1
  10. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/chat.html +1 -1
  51. package/.next/server/app/chat.rsc +1 -1
  52. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/docs.html +1 -1
  54. package/.next/server/app/docs.rsc +1 -1
  55. package/.next/server/app/executions/page.js +1 -1
  56. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  57. package/.next/server/app/executions.html +1 -1
  58. package/.next/server/app/executions.rsc +1 -1
  59. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/flows.html +1 -1
  61. package/.next/server/app/flows.rsc +1 -1
  62. package/.next/server/app/index.html +1 -1
  63. package/.next/server/app/index.rsc +1 -1
  64. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/mcp-flows/route.js +1 -1
  66. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  68. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/mcp.html +1 -1
  70. package/.next/server/app/mcp.rsc +1 -1
  71. package/.next/server/app/models/page.js +2 -2
  72. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/page.js +1 -1
  74. package/.next/server/app/page_client-reference-manifest.js +1 -1
  75. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/settings.html +1 -1
  77. package/.next/server/app/settings.rsc +1 -1
  78. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app-paths-manifest.json +4 -4
  90. package/.next/server/chunks/2181.js +1 -1
  91. package/.next/server/chunks/2776.js +1 -1
  92. package/.next/server/chunks/3984.js +4 -4
  93. package/.next/server/chunks/4239.js +1 -1
  94. package/.next/server/chunks/5389.js +1 -1
  95. package/.next/server/chunks/5734.js +4 -4
  96. package/.next/server/chunks/6542.js +1 -1
  97. package/.next/server/chunks/6996.js +3 -3
  98. package/.next/server/pages/404.html +1 -1
  99. package/.next/server/pages/500.html +1 -1
  100. package/.next/server/pages-manifest.json +1 -1
  101. package/.next/server/server-reference-manifest.js +1 -1
  102. package/.next/server/server-reference-manifest.json +1 -1
  103. package/.next/trace +7 -7
  104. package/README.md +1 -1
  105. package/{next.config.ts → next.config.mjs} +105 -99
  106. package/package.json +1 -2
  107. /package/.next/static/{GbXXL_8DLT2oVwT-JdpbM → 6EKGB09pbUp8R7aHuLiP1}/_buildManifest.js +0 -0
  108. /package/.next/static/{GbXXL_8DLT2oVwT-JdpbM → 6EKGB09pbUp8R7aHuLiP1}/_ssgManifest.js +0 -0
@@ -151,4 +151,4 @@ ${d}`:f}let ck=["OAuth authentication required","UnauthorizedError","invalid_tok
151
151
  `)?i.slice(0,-1):i}),h=void 0,i="",j="");if(a.startsWith(":")){e&&e(a.slice(a.startsWith(": ")?2:1));return}let c=a.indexOf(":");if(-1!==c){let b=a.slice(0,c),d=" "===a[c+1]?2:1;l(b,a.slice(c+d),a);return}l(a,"",a)}function l(a,b,e){switch(a){case"event":j=b;break;case"data":i=`${i}${b}
152
152
  `;break;case"id":h=b.includes("\0")?void 0:b;break;case"retry":/^\d+$/.test(b)?d(parseInt(b,10)):c(new dF(`Invalid \`retry\` value: "${b}"`,{type:"invalid-retry",value:b,line:e}));break;default:c(new dF(`Unknown field "${a.length>20?`${a.slice(0,20)}\u2026`:a}"`,{type:"unknown-field",field:a,value:b,line:e}))}}return{feed:function(a){let b=g?a.replace(/^\xEF\xBB\xBF/,""):a,[c,d]=function(a){let b=[],c="",d=0;for(;d<a.length;){let e=a.indexOf("\r",d),f=a.indexOf(`
153
153
  `,d),g=-1;if(-1!==e&&-1!==f?g=Math.min(e,f):-1!==e?g=e===a.length-1?-1:e:-1!==f&&(g=f),-1===g){c=a.slice(d);break}{let c=a.slice(d,g);b.push(c),"\r"===a[(d=g+1)-1]&&a[d]===`
154
- `&&d++}}return[b,c]}(`${f}${b}`);for(let a of c)k(a);f=d,g=!1},reset:function(a={}){f&&a.consume&&k(f),g=!0,h=void 0,i="",j="",f=""}}}class dI extends TransformStream{constructor({onError:a,onRetry:b,onComment:c}={}){let d;super({start(e){d=dH({onEvent:a=>{e.enqueue(a)},onError(b){"terminate"===a?e.error(b):"function"==typeof a&&a(b)},onRetry:b,onComment:c})},transform(a){d.feed(a)}})}}let dJ={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class dK extends Error{constructor(a,b){super(`Streamable HTTP error: ${b}`),this.code=a}}class dL{constructor(a,b){this._hasCompletedAuthFlow=!1,this._url=a,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=b?.requestInit,this._authProvider=b?.authProvider,this._fetch=b?.fetch,this._fetchWithInit=cJ(b?.fetch,b?.requestInit),this._sessionId=b?.sessionId,this._reconnectionOptions=b?.reconnectionOptions??dJ}async _authThenStart(){let a;if(!this._authProvider)throw new dk("No auth provider");try{a=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(a){throw this.onerror?.(a),a}if("AUTHORIZED"!==a)throw new dk;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let a={};if(this._authProvider){let b=await this._authProvider.tokens();b&&(a.Authorization=`Bearer ${b.access_token}`)}this._sessionId&&(a["mcp-session-id"]=this._sessionId),this._protocolVersion&&(a["mcp-protocol-version"]=this._protocolVersion);let b=cI(this._requestInit?.headers);return new Headers({...a,...b})}async _startOrAuthSse(a){let{resumptionToken:b}=a;try{let c=await this._commonHeaders();c.set("Accept","text/event-stream"),b&&c.set("last-event-id",b);let d=await (this._fetch??fetch)(this._url,{method:"GET",headers:c,signal:this._abortController?.signal});if(!d.ok){if(await d.body?.cancel(),401===d.status&&this._authProvider)return await this._authThenStart();if(405===d.status)return;throw new dK(d.status,`Failed to open SSE stream: ${d.statusText}`)}this._handleSseStream(d.body,a,!0)}catch(a){throw this.onerror?.(a),a}}_getNextReconnectionDelay(a){if(void 0!==this._serverRetryMs)return this._serverRetryMs;let b=this._reconnectionOptions.initialReconnectionDelay;return Math.min(b*Math.pow(this._reconnectionOptions.reconnectionDelayGrowFactor,a),this._reconnectionOptions.maxReconnectionDelay)}_scheduleReconnection(a,b=0){let c=this._reconnectionOptions.maxRetries;if(b>=c)return void this.onerror?.(Error(`Maximum reconnection attempts (${c}) exceeded.`));let d=this._getNextReconnectionDelay(b);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(a).catch(c=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${c instanceof Error?c.message:String(c)}`)),this._scheduleReconnection(a,b+1)})},d)}_handleSseStream(a,b,c){let d;if(!a)return;let{onresumptiontoken:e,replayMessageId:f}=b,g=!1,h=!1;(async()=>{try{let b=a.pipeThrough(new TextDecoderStream).pipeThrough(new dI({onRetry:a=>{this._serverRetryMs=a}})).getReader();for(;;){let{value:a,done:c}=await b.read();if(c)break;if((a.id&&(d=a.id,g=!0,e?.(a.id)),a.data)&&(!a.event||"message"===a.event))try{let b=F.parse(JSON.parse(a.data));D(b)&&(h=!0,void 0!==f&&(b.id=f)),this.onmessage?.(b)}catch(a){this.onerror?.(a)}}(c||g)&&!h&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){if(this.onerror?.(Error(`SSE stream disconnected: ${a}`)),(c||g)&&!h&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){this.onerror?.(Error(`Failed to reconnect: ${a instanceof Error?a.message:String(a)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(a){if(!this._authProvider)throw new dk("No auth provider");if("AUTHORIZED"!==await dp(this._authProvider,{serverUrl:this._url,authorizationCode:a,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new dk("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(a,b){try{let{resumptionToken:c,onresumptiontoken:d}=b||{};if(c)return void this._startOrAuthSse({resumptionToken:c,replayMessageId:A(a)?a.id:void 0}).catch(a=>this.onerror?.(a));let e=await this._commonHeaders();e.set("content-type","application/json"),e.set("accept","application/json, text/event-stream");let f={...this._requestInit,method:"POST",headers:e,body:JSON.stringify(a),signal:this._abortController?.signal},g=await (this._fetch??fetch)(this._url,f),h=g.headers.get("mcp-session-id");if(h&&(this._sessionId=h),!g.ok){let b=await g.text().catch(()=>null);if(401===g.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new dK(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:b,scope:c}=ds(g);this._resourceMetadataUrl=b,this._scope=c;let d=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==d)throw new dk;return this._hasCompletedAuthFlow=!0,this.send(a)}if(403===g.status&&this._authProvider){let{resourceMetadataUrl:b,scope:c,error:d}=ds(g);if("insufficient_scope"===d){let d=g.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===d)throw new dK(403,"Server returned 403 after trying upscoping");c&&(this._scope=c),b&&(this._resourceMetadataUrl=b),this._lastUpscopingHeader=d??void 0;let e=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch});if("AUTHORIZED"!==e)throw new dk;return this.send(a)}}throw new dK(g.status,`Error POSTing to endpoint: ${b}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===g.status){await g.body?.cancel(),W.safeParse(a).success&&this._startOrAuthSse({resumptionToken:void 0}).catch(a=>this.onerror?.(a));return}let i=(Array.isArray(a)?a:[a]).filter(a=>"method"in a&&"id"in a&&void 0!==a.id).length>0,j=g.headers.get("content-type");if(i)if(j?.includes("text/event-stream"))this._handleSseStream(g.body,{onresumptiontoken:d},!1);else if(j?.includes("application/json")){let a=await g.json();for(let b of Array.isArray(a)?a.map(a=>F.parse(a)):[F.parse(a)])this.onmessage?.(b)}else throw await g.body?.cancel(),new dK(-1,`Unexpected content type: ${j}`);else await g.body?.cancel()}catch(a){throw this.onerror?.(a),a}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let a=await this._commonHeaders(),b={...this._requestInit,method:"DELETE",headers:a,signal:this._abortController?.signal},c=await (this._fetch??fetch)(this._url,b);if(await c.body?.cancel(),!c.ok&&405!==c.status)throw new dK(c.status,`Failed to terminate session: ${c.statusText}`);this._sessionId=void 0}catch(a){throw this.onerror?.(a),a}}setProtocolVersion(a){this._protocolVersion=a}get protocolVersion(){return this._protocolVersion}async resumeStream(a,b){await this._startOrAuthSse({resumptionToken:a,onresumptiontoken:b?.onresumptiontoken})}}class dM extends Event{constructor(a,b){var c,d;super(a),this.code=null!=(c=null==b?void 0:b.code)?c:void 0,this.message=null!=(d=null==b?void 0:b.message)?d:void 0}[Symbol.for("nodejs.util.inspect.custom")](a,b,c){return c(dN(this),b)}[Symbol.for("Deno.customInspect")](a,b){return a(dN(this),b)}}function dN(a){return{type:a.type,message:a.message,code:a.code,defaultPrevented:a.defaultPrevented,cancelable:a.cancelable,timeStamp:a.timeStamp}}var dO,dP,dQ,dR,dS,dT,dU,dV,dW,dX,dY,dZ,d$,d_,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,ea,eb=a=>{throw TypeError(a)},ec=(a,b,c)=>b.has(a)||eb("Cannot "+c),ed=(a,b,c)=>(ec(a,b,"read from private field"),c?c.call(a):b.get(a)),ee=(a,b,c)=>b.has(a)?eb("Cannot add the same private member more than once"):b instanceof WeakSet?b.add(a):b.set(a,c),ef=(a,b,c,d)=>(ec(a,b,"write to private field"),b.set(a,c),c),eg=(a,b,c)=>(ec(a,b,"access private method"),c);class eh extends EventTarget{constructor(a,b){var c,d;super(),ee(this,d1),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,ee(this,dQ),ee(this,dR),ee(this,dS),ee(this,dT),ee(this,dU),ee(this,dV),ee(this,dW),ee(this,dX,null),ee(this,dY),ee(this,dZ),ee(this,d$,null),ee(this,d_,null),ee(this,d0,null),ee(this,d3,async a=>{var b;ed(this,dZ).reset();let{body:c,redirected:d,status:e,headers:f}=a;if(204===e){eg(this,d1,d8).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(d?ef(this,dS,new URL(a.url)):ef(this,dS,void 0),200!==e)return void eg(this,d1,d8).call(this,`Non-200 status code (${e})`,e);if(!(f.get("content-type")||"").startsWith("text/event-stream"))return void eg(this,d1,d8).call(this,'Invalid content type, expected "text/event-stream"',e);if(ed(this,dQ)===this.CLOSED)return;ef(this,dQ,this.OPEN);let g=new Event("open");if(null==(b=ed(this,d0))||b.call(this,g),this.dispatchEvent(g),"object"!=typeof c||!c||!("getReader"in c)){eg(this,d1,d8).call(this,"Invalid response body, expected a web ReadableStream",e),this.close();return}let h=new TextDecoder,i=c.getReader(),j=!0;do{let{done:a,value:b}=await i.read();b&&ed(this,dZ).feed(h.decode(b,{stream:!a})),a&&(j=!1,ed(this,dZ).reset(),eg(this,d1,d9).call(this))}while(j)}),ee(this,d4,a=>{ef(this,dY,void 0),"AbortError"!==a.name&&"aborted"!==a.type&&eg(this,d1,d9).call(this,function a(b){return b instanceof Error?"errors"in b&&Array.isArray(b.errors)?b.errors.map(a).join(", "):"cause"in b&&b.cause instanceof Error?`${b}: ${a(b.cause)}`:b.message:`${b}`}(a))}),ee(this,d6,a=>{"string"==typeof a.id&&ef(this,dX,a.id);let b=new MessageEvent(a.event||"message",{data:a.data,origin:ed(this,dS)?ed(this,dS).origin:ed(this,dR).origin,lastEventId:a.id||""});ed(this,d_)&&(!a.event||"message"===a.event)&&ed(this,d_).call(this,b),this.dispatchEvent(b)}),ee(this,d7,a=>{ef(this,dV,a)}),ee(this,ea,()=>{ef(this,dW,void 0),ed(this,dQ)===this.CONNECTING&&eg(this,d1,d2).call(this)});try{if(a instanceof URL)ef(this,dR,a);else if("string"==typeof a)ef(this,dR,new URL(a,function(){let a="document"in globalThis?globalThis.document:void 0;return a&&"object"==typeof a&&"baseURI"in a&&"string"==typeof a.baseURI?a.baseURI:void 0}()));else throw Error("Invalid URL")}catch{throw function(a){let b=globalThis.DOMException;return"function"==typeof b?new b(a,"SyntaxError"):SyntaxError(a)}("An invalid or illegal string was specified")}ef(this,dZ,dH({onEvent:ed(this,d6),onRetry:ed(this,d7)})),ef(this,dQ,this.CONNECTING),ef(this,dV,3e3),ef(this,dU,null!=(c=null==b?void 0:b.fetch)?c:globalThis.fetch),ef(this,dT,null!=(d=null==b?void 0:b.withCredentials)&&d),eg(this,d1,d2).call(this)}get readyState(){return ed(this,dQ)}get url(){return ed(this,dR).href}get withCredentials(){return ed(this,dT)}get onerror(){return ed(this,d$)}set onerror(a){ef(this,d$,a)}get onmessage(){return ed(this,d_)}set onmessage(a){ef(this,d_,a)}get onopen(){return ed(this,d0)}set onopen(a){ef(this,d0,a)}addEventListener(a,b,c){super.addEventListener(a,b,c)}removeEventListener(a,b,c){super.removeEventListener(a,b,c)}close(){ed(this,dW)&&clearTimeout(ed(this,dW)),ed(this,dQ)!==this.CLOSED&&(ed(this,dY)&&ed(this,dY).abort(),ef(this,dQ,this.CLOSED),ef(this,dY,void 0))}}dQ=new WeakMap,dR=new WeakMap,dS=new WeakMap,dT=new WeakMap,dU=new WeakMap,dV=new WeakMap,dW=new WeakMap,dX=new WeakMap,dY=new WeakMap,dZ=new WeakMap,d$=new WeakMap,d_=new WeakMap,d0=new WeakMap,d1=new WeakSet,d2=function(){ef(this,dQ,this.CONNECTING),ef(this,dY,new AbortController),ed(this,dU)(ed(this,dR),eg(this,d1,d5).call(this)).then(ed(this,d3)).catch(ed(this,d4))},d3=new WeakMap,d4=new WeakMap,d5=function(){var a;let b={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...ed(this,dX)?{"Last-Event-ID":ed(this,dX)}:void 0},cache:"no-store",signal:null==(a=ed(this,dY))?void 0:a.signal};return"window"in globalThis&&(b.credentials=this.withCredentials?"include":"same-origin"),b},d6=new WeakMap,d7=new WeakMap,d8=function(a,b){var c;ed(this,dQ)!==this.CLOSED&&ef(this,dQ,this.CLOSED);let d=new dM("error",{code:b,message:a});null==(c=ed(this,d$))||c.call(this,d),this.dispatchEvent(d)},d9=function(a,b){var c;if(ed(this,dQ)===this.CLOSED)return;ef(this,dQ,this.CONNECTING);let d=new dM("error",{code:b,message:a});null==(c=ed(this,d$))||c.call(this,d),this.dispatchEvent(d),ef(this,dW,setTimeout(ed(this,ea),ed(this,dV)))},ea=new WeakMap,eh.CONNECTING=0,eh.OPEN=1,eh.CLOSED=2;class ei extends Error{constructor(a,b,c){super(`SSE error: ${b}`),this.code=a,this.event=c}}class ej{constructor(a,b){this._url=a,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=b?.eventSourceInit,this._requestInit=b?.requestInit,this._authProvider=b?.authProvider,this._fetch=b?.fetch,this._fetchWithInit=cJ(b?.fetch,b?.requestInit)}async _authThenStart(){let a;if(!this._authProvider)throw new dk("No auth provider");try{a=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(a){throw this.onerror?.(a),a}if("AUTHORIZED"!==a)throw new dk;return await this._startOrAuth()}async _commonHeaders(){let a={};if(this._authProvider){let b=await this._authProvider.tokens();b&&(a.Authorization=`Bearer ${b.access_token}`)}this._protocolVersion&&(a["mcp-protocol-version"]=this._protocolVersion);let b=cI(this._requestInit?.headers);return new Headers({...a,...b})}_startOrAuth(){let a=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((b,c)=>{this._eventSource=new eh(this._url.href,{...this._eventSourceInit,fetch:async(b,c)=>{let d=await this._commonHeaders();d.set("Accept","text/event-stream");let e=await a(b,{...c,headers:d});if(401===e.status&&e.headers.has("www-authenticate")){let{resourceMetadataUrl:a,scope:b}=ds(e);this._resourceMetadataUrl=a,this._scope=b}return e}}),this._abortController=new AbortController,this._eventSource.onerror=a=>{if(401===a.code&&this._authProvider)return void this._authThenStart().then(b,c);let d=new ei(a.code,a.message,a);c(d),this.onerror?.(d)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",a=>{try{if(this._endpoint=new URL(a.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(a){c(a),this.onerror?.(a),this.close();return}b()}),this._eventSource.onmessage=a=>{let b;try{b=F.parse(JSON.parse(a.data))}catch(a){this.onerror?.(a);return}this.onmessage?.(b)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(a){if(!this._authProvider)throw new dk("No auth provider");if("AUTHORIZED"!==await dp(this._authProvider,{serverUrl:this._url,authorizationCode:a,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new dk("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(a){if(!this._endpoint)throw Error("Not connected");try{let b=await this._commonHeaders();b.set("content-type","application/json");let c={...this._requestInit,method:"POST",headers:b,body:JSON.stringify(a),signal:this._abortController?.signal},d=await (this._fetch??fetch)(this._endpoint,c);if(!d.ok){let b=await d.text().catch(()=>null);if(401===d.status&&this._authProvider){let{resourceMetadataUrl:b,scope:c}=ds(d);this._resourceMetadataUrl=b,this._scope=c;let e=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==e)throw new dk;return this.send(a)}throw Error(`Error POSTing to endpoint (HTTP ${d.status}): ${b}`)}await d.body?.cancel()}catch(a){throw this.onerror?.(a),a}}setProtocolVersion(a){this._protocolVersion=a}}let ek=(0,bY.h)("backend/services/mcp/oauth");class el{constructor(a,b){this.config=a,this._redirectUrl=b,this._clientMetadata={redirect_uris:[b],client_name:`FLUJO MCP Client - ${a.name}`,client_uri:"https://github.com/mario-andreschak/FLUJO",grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post",scope:a.oauthScopes?.join(" ")||"read"},ek.info(`Created OAuth client provider for ${a.name}`),ek.verbose("OAuth client metadata",JSON.stringify(this._clientMetadata))}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return encodeURIComponent(JSON.stringify({serverName:this.config.name}))}async clientInformation(){if(this.config.oauthClientInformation)return ek.debug(`Returning stored client information for ${this.config.name}`),this.config.oauthClientInformation;if(this.config.oauthClientId){let a=this.config.oauthClientSecret?await (0,b_.G)(this.config.oauthClientSecret)??void 0:void 0;return ek.debug(`Created client information from config for ${this.config.name}`),{client_id:this.config.oauthClientId,client_secret:a}}ek.debug(`No client information available for ${this.config.name}`)}async persist(){let a=await (0,b$.loadServerConfigs)();if(!Array.isArray(a))return void ek.warn(`persist: failed to load server configs for ${this.config.name}, cannot persist OAuth state`);let b=new Map(a.map(a=>[a.name,a]));b.set(this.config.name,this.config);let c=await (0,b$.q)(b);c.success||ek.warn(`persist: failed to save OAuth state for ${this.config.name}: ${c.error}`)}async invalidateCredentials(a){ek.info(`Invalidating OAuth credentials for ${this.config.name} (scope: ${a})`),("all"===a||"tokens"===a)&&(this.config.oauthTokens=void 0),("all"===a||"client"===a)&&(this.config.oauthClientInformation=void 0,this.config.oauthClientMetadata=void 0),("all"===a||"verifier"===a)&&(this.config.oauthCodeVerifier=void 0),await this.persist()}async saveClientInformation(a){ek.info(`Saving client information for ${this.config.name}`),ek.verbose("Client information to save",JSON.stringify(a)),this.config.oauthClientInformation={client_id:a.client_id,client_secret:a.client_secret,client_id_issued_at:a.client_id_issued_at,client_secret_expires_at:a.client_secret_expires_at},this.config.oauthClientMetadata={redirect_uris:a.redirect_uris,client_name:a.client_name,client_uri:a.client_uri,grant_types:a.grant_types,response_types:a.response_types,token_endpoint_auth_method:a.token_endpoint_auth_method,scope:a.scope,contacts:a.contacts,tos_uri:a.tos_uri,policy_uri:a.policy_uri,jwks_uri:a.jwks_uri,jwks:a.jwks,software_id:a.software_id,software_version:a.software_version},await this.persist(),ek.info(`Client information saved for ${this.config.name}`)}async tokens(){if(this.config.oauthTokens){if(ek.debug(`Returning stored tokens for ${this.config.name}`),this.config.oauthTokens.expires_in&&this.config.oauthTokens.issued_at){let a=this.config.oauthTokens.issued_at,b=this.config.oauthTokens.expires_in,c=Math.floor(Date.now()/1e3),d=a+b;c>=d?ek.info(`Access token for ${this.config.name} has expired (issued: ${a}, expires: ${d}, current: ${c}); SDK will refresh via refresh_token`):ek.debug(`Tokens for ${this.config.name} are valid (expires in ${d-c} seconds)`)}return this.config.oauthTokens}ek.debug(`No tokens available for ${this.config.name}`)}async saveTokens(a){ek.info(`Saving OAuth tokens for ${this.config.name}`),ek.verbose("Tokens to save",JSON.stringify({...a,access_token:a.access_token?"[REDACTED]":void 0,refresh_token:a.refresh_token?"[REDACTED]":void 0}));let b={...a,issued_at:Math.floor(Date.now()/1e3)};this.config.oauthTokens=b,await this.persist(),ek.info(`OAuth tokens saved for ${this.config.name}`)}async redirectToAuthorization(a){ek.info(`Authorization required for ${this.config.name}`),ek.info(`Authorization URL: ${a.toString()}`),this.config.authorizationUrl=a.toString();let b=Error(`OAuth authentication required for ${this.config.name}. Please complete the OAuth flow.`);throw b.name="OAuthAuthenticationRequired",b}async saveCodeVerifier(a){ek.debug(`Saving code verifier for ${this.config.name}`),this.config.oauthCodeVerifier=a,await this.persist(),ek.debug(`Code verifier saved for ${this.config.name}`)}async codeVerifier(){if(!this.config.oauthCodeVerifier){let a=`No code verifier found for ${this.config.name}`;throw ek.error(a),Error(a)}return ek.debug(`Returning code verifier for ${this.config.name}`),this.config.oauthCodeVerifier}}let em=new Set(["node","npm","npx"]);var en=c(79551);let eo=(0,bY.h)("backend/services/mcp/roots");function ep(){return global.__mcp_node_roots}function eq(a){let b=[];for(let c of ep().values())if(c.serverName===a)for(let a of c.roots)b.includes(a)||b.push(a);return b}async function er(a){let b=function(a){let b=a.trim();if(!b)return null;if(b.startsWith("file://"))return b;if(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(b))return eo.warn(`Ignoring non-file root URI: ${b}`),null;try{return(0,en.pathToFileURL)(b).href}catch(a){return eo.warn(`Could not convert root "${b}" to a file URI:`,a),null}}(await (0,b_.c)(a));return b?{uri:b,name:function(a){try{let b=new URL(a).pathname.replace(/\/+$/,"").split("/").pop();return b?decodeURIComponent(b):void 0}catch{return}}(b)}:null}async function es(a){let b=a.roots,c=[...Array.isArray(b)?b:[],...eq(a.name)],d=[],e=new Set;for(let a of c){if("string"!=typeof a||!a.trim())continue;let b=await er(a);b&&!e.has(b.uri)&&(e.add(b.uri),d.push(b))}if(0===d.length&&"string"==typeof a.rootPath&&a.rootPath.trim()){let b=await er(a.rootPath);if(b)return[b]}return d}async function et(a){try{let{loadServerConfigs:b}=await Promise.resolve().then(c.bind(c,6544)),d=await b();if(Array.isArray(d)){let b=d.find(b=>b.name===a.name);if(b)return b}}catch(b){eo.warn(`Could not re-load config for ${a.name}, using connect-time config:`,b)}return a}void 0===global.__mcp_node_roots&&(global.__mcp_node_roots=new Map);var eu=c(12763),ev=c(31351);let ew=(0,bY.h)("backend/services/mcp/sampling");function ex(a){return a.sampling}function ey(a){let b=ex(a);return b?.enabled?JSON.stringify({m:b.modelId,t:b.maxTokens,r:b.maxCallsPerMinute}):""}let ez=(0,bY.h)("backend/services/mcp/connection");function eA(a){let b={};if(a)for(let[c,d]of Object.entries(a))d&&"object"==typeof d&&"value"in d?b[c]=d.value:b[c]=d;return b}function eB(a){return JSON.stringify({command:a.command,args:a.args??[],env:eA(a.env),cwd:String(a.cwd??""),rootPath:a.rootPath??""})}function eC(a){return JSON.stringify({transport:a.transport,url:a.serverUrl??"",headers:a.headers??{},requestInit:a.requestInit??{},eventSourceInit:a.eventSourceInit??{},reconnectionOptions:a.reconnectionOptions??{},sessionId:a.sessionId??"",oauthClientId:a.oauthClientId??"",oauthClientInformation:a.oauthClientInformation??{},oauthClientSecret:a.oauthClientSecret??"",oauthTokens:a.oauthTokens??{}})}function eD(a){ez.debug("Entering createNewClient method");let b=function(a){let b=ex(a);return!!(b?.enabled&&b.modelId)}(a),c=new cG({name:`flujo-${a.name}-client`,version:"3.9.0"},{capabilities:{experimental:{},roots:{listChanged:!0},...b?{sampling:{}}:{}}});return c.setRequestHandler(bL,async()=>{let b=await es(await et(a));return eo.debug(`roots/list for ${a.name}: ${b.length} root(s)`),{roots:b}}),b&&function(a,b){let c=[];a.setRequestHandler(bj,async a=>{let d=ex(b);if(!d?.enabled||!d.modelId)throw new bO(dO.InvalidRequest,"Sampling is not enabled for this server");let e=d.maxCallsPerMinute??10,f=Date.now(),g=f-6e4;for(;c.length>0&&c[0]<g;)c.shift();if(c.length>=e)throw ew.warn(`Sampling rate limit (${e}/min) hit for ${b.name}`),new bO(dO.InvalidRequest,`Sampling rate limit of ${e}/min exceeded`);c.push(f);let h=await eu.modelService.getModel(d.modelId);if(!h)throw new bO(dO.InternalError,`Sampling model not found: ${d.modelId}`);let i=await eu.modelService.resolveAndDecryptApiKey(h.ApiKey);if(!i)throw new bO(dO.InternalError,"Could not resolve the sampling model API key");let j=a.params,k=function(a){let b=[];for(let c of(a.systemPrompt&&b.push({role:"system",content:a.systemPrompt}),a.messages||[])){let a=c.content,d=a?.type==="text"&&"string"==typeof a.text?a.text:`[unsupported ${a?.type||"non-text"} content omitted]`;b.push({role:c.role,content:d})}return b}(j),l="number"==typeof j.temperature?j.temperature:.7;ew.info(`Sampling for ${b.name} via model ${h.name} (${k.length} messages)`);let m=(0,ev.getCompletionAdapter)(h),{completion:n}=await m.createCompletion({model:h,apiKey:i,messages:k,temperature:l}),o=n.choices?.[0]?.message?.content;return{role:"assistant",content:{type:"text",text:"string"==typeof o?o:""},model:h.name,stopReason:"endTurn"}})}(c,a),c.__flujoCapKey=ey(a),c}function eE(a){if(ez.debug("Entering createTransport method"),"streamable"===a.transport){ez.info(`Creating streamable http transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),a.headers&&"object"==typeof a.headers){let c=Object.fromEntries(Object.entries(a.headers).filter(([a,b])=>a&&"string"==typeof b));Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},ez.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}a.oauthClientId||a.oauthClientInformation?(ez.info(`Setting up OAuth authentication for ${a.name}`),b.authProvider=function(a,b="http://localhost:4200/api/oauth/callback"){return new el(a,b)}(a),a.oauthTokens?.access_token?(ez.debug(`OAuth provider configured for ${a.name} with existing tokens`),ez.debug(`Token expires in: ${a.oauthTokens.expires_in} seconds`)):ez.debug(`OAuth provider configured for ${a.name} - will initiate OAuth flow if needed`)):ez.debug(`No OAuth configuration found for ${a.name}`);let c=new dL(new URL(a.serverUrl),b);return c.__flujoHttpKey=eC(a),c}if("sse"===a.transport){ez.info(`Creating legacy sse transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit),a.headers&&"object"==typeof a.headers){let c=Object.fromEntries(Object.entries(a.headers).filter(([a,b])=>a&&"string"==typeof b));Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},ez.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}let c=new ej(new URL(a.serverUrl),b);return c.__flujoHttpKey=eC(a),c}return"websocket"===a.transport?(ez.info(`Creating WebSocket transport for server ${a.name} with URL ${a.websocketUrl}`),new cH(new URL(a.websocketUrl))):function(a){if(ez.debug("Entering createStdioTransport method"),"stdio"!==a.transport)throw Error("Cannot create stdio transport for non-stdio config");let b=a.command,c=a.args?[...a.args]:[],d=`${cd.VL}/${a.name}`;ez.info(`Creating stdio transport for server ${a.name}`),ez.debug(`Original command: ${b}`),ez.debug(`Original args: ${JSON.stringify(c)}`),ez.debug(`Server directory: ${d}`);let e=!bW.isAbsolute(b)&&(b.includes("/")||b.includes("\\")),f=!b.includes("/")&&!b.includes("\\");if(ez.debug(`Is relative path: ${e}`),ez.debug(`Is just filename: ${f}`),"win32"===cc.platform()&&b.toLowerCase().endsWith(".bat"))if(ez.debug(`Detected .bat file on Windows: ${b}`),f){let a=bW.join((0,bZ.ok)(),d,b);ez.debug(`Checking if file exists at: ${a}`);let e=cb.existsSync(a);ez.debug(`File exists: ${e}`),e?(ez.debug(`Using full path to .bat file: ${a}`),c=["/c",a,...c]):(ez.warn(`WARNING: .bat file not found at ${a}`),c=["/c",b,...c]),b="cmd.exe"}else ez.debug(`Using cmd.exe with path as provided: ${b}`),c=["/c",b,...c],b="cmd.exe";let g=function(a,b){if(!a||!(!a.includes("/")&&!a.includes("\\")))return a;let c=a.toLowerCase();if(!em.has(c))return a;if("node"===c)return b.execPath||a;if(!b.execPath)return a;let d=b.dirname(b.execPath);for(let a of"win32"===b.platform?[`${c}.cmd`,`${c}.exe`,c]:[c]){let c=b.joinPath(d,a);if(b.fileExists(c))return c}return a}(b,{execPath:process.execPath,platform:cc.platform(),dirname:bW.dirname,joinPath:bW.join,fileExists:cb.existsSync});g!==b&&(ez.debug(`Resolved Node toolchain command "${b}" to absolute path: ${g}`),b=g),ez.debug(`Final command: ${b}`),ez.debug(`Final args: ${JSON.stringify(c)}`);let h=function({command:a,args:b=[],rootPath:c,cwd:d,serverName:e,defaultCwd:f}){let g=c||d||f;return e&&cr(a,b)&&(g.split(/[\\/]/).filter(Boolean).pop()||"")===e&&function(a){let b=a.match(/^(.*[\\/])[^\\/]+[\\/]*$/);return b?b[1].replace(/[\\/]+$/,""):""}(g)||g}({command:a.command,args:a.args,rootPath:a.rootPath,cwd:a.cwd,serverName:a.name,defaultCwd:`${cd.VL}/${a.name}`}),i=bW.isAbsolute(h)?h:bW.join((0,bZ.ok)(),h);ez.debug(`cwd: ${i}`),ez.debug(`env: ${JSON.stringify(a.env)}`),ez.info(`Creating StdioClientTransport for ${a.name} with stderr: 'pipe'`);let j=eA(a.env);ez.verbose("Transformed environment variables",JSON.stringify(j));let k=new bS({command:b,args:c,env:j,cwd:i,stderr:"pipe"});return k.__flujoStdioKey=eB(a),k.stderr?ez.info(`Stderr stream is available for ${a.name}`):ez.warn(`Stderr stream is NOT available for ${a.name}`),k}(a)}function eF(a,b){return null!==a.exitCode||null!==a.signalCode?Promise.resolve(!0):new Promise(c=>{let d=()=>{clearTimeout(e),c(!0)},e=setTimeout(()=>{a.removeListener("exit",d),c(!1)},b);e.unref?.(),a.once("exit",d)})}async function eG(a,b,c,d){ez.debug("Entering safelyCloseClient method");let e=d?.gracePeriodMs??15e3,f=d?.killEscalationMs??5e3;try{if(a.transport instanceof bS){let c=a.transport._process;if(c&&null===c.exitCode&&null===c.signalCode){try{c.stdin&&!c.stdin.destroyed&&(c.stdin.end(),ez.debug(`Closed stdin for graceful shutdown for ${b}`))}catch(a){ez.warn(`Error closing stdin for ${b}:`,a)}let a=await eF(c,e);if(!a){ez.warn(`Process did not exit within ${e}ms after stdin close, sending SIGTERM for ${b}`);try{c.kill("SIGTERM")}catch(a){ez.error(`Error sending SIGTERM for ${b}:`,a)}a=await eF(c,f)}if(a)ez.info(`Process exited gracefully for ${b}`);else{ez.warn(`Process did not respond to SIGTERM, sending SIGKILL for ${b}`);try{c.kill("SIGKILL")}catch(a){ez.error(`Error sending SIGKILL for ${b}:`,a)}}}}await a.close(),ez.info(`Client closed successfully for ${b}`)}catch(a){ez.warn(`Error closing client for ${b}:`,a)}}void 0===global.__mcp_recovery&&(global.__mcp_recovery=new Map),void 0===global.__mcp_connecting&&(global.__mcp_connecting=new Set),void 0===global.__mcp_starting_up&&(global.__mcp_starting_up=!0),void 0===global.__mcp_active_transports&&(global.__mcp_active_transports=new Map);let eH=(0,bY.h)("backend/services/mcp/index");class eI{get connectingServers(){return global.__mcp_connecting}get activeTransports(){return global.__mcp_active_transports}static{this.MAX_STDERR_LOG_ENTRIES=200}appendStderrLog(a,b){let c=this.stderrLogs.get(a)||[];c.push(b),c.length>eI.MAX_STDERR_LOG_ENTRIES&&c.splice(0,c.length-eI.MAX_STDERR_LOG_ENTRIES),this.stderrLogs.set(a,c)}deregisterClient(a){this.clients.delete(a),this.removeFromGlobalRecovery(a),this.activeTransports.delete(a)}constructor(){this.clients=new Map,this.stderrLogs=new Map,this.lastConnectionError=new Map,this.inFlightConnects=new Map,this.recover_attempted=!1,this.connectionRetryTimers=new Map,this.connectionRetryAttempts=new Map,this.attemptRecovery()}attemptRecovery(){!this.recover_attempted&&global.__mcp_recovery&&global.__mcp_recovery.size>0&&(eH.info(`Attempting to recover ${global.__mcp_recovery.size} clients from global recovery map`),global.__mcp_recovery.forEach((a,b)=>{this.clients.set(b,a),eH.info(`Recovered client for server: ${b}`)})),this.recover_attempted=!0}addToGlobalRecovery(a,b){global.__mcp_recovery||(global.__mcp_recovery=new Map),global.__mcp_recovery.set(a,b),eH.debug(`Added client for server ${a} to global recovery map`)}removeFromGlobalRecovery(a){global.__mcp_recovery&&global.__mcp_recovery.has(a)&&(global.__mcp_recovery.delete(a),eH.debug(`Removed client for server ${a} from global recovery map`))}clearRetryTimer(a){let b=this.connectionRetryTimers.get(a);b&&(clearTimeout(b),this.connectionRetryTimers.delete(a),eH.debug(`Cleared retry timer for server ${a}`))}scheduleConnectionRetry(a,b){this.clearRetryTimer(a);let c=this.connectionRetryAttempts.get(a)||0;if(c>=5){eH.warn(`Maximum retry attempts (5) reached for server ${a}, stopping retries`),this.connectionRetryAttempts.delete(a);return}let d=Math.min(5e3*Math.pow(2,c),3e5);eH.info(`Scheduling connection retry for server ${a} in ${d}ms (attempt ${c+1}/5)`);let e=setTimeout(async()=>{eH.info(`Attempting to reconnect server ${a} (attempt ${c+1}/5)`);let b=await this.getServerConfig(a);if(!b){eH.info(`Server ${a} configuration not found, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}if(b.disabled){eH.info(`Server ${a} is now disabled, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}let d=this.getClient(a);if(d)try{await d.ping({timeout:5e3}),eH.info(`Server ${a} is already connected and responsive, cancelling retry`),this.connectionRetryAttempts.delete(a);return}catch(b){eH.warn(`Server ${a} has a registered client but ping failed (${b instanceof Error?b.message:String(b)}); reconnecting from scratch`)}this.connectionRetryAttempts.set(a,c+1);try{let e=d?await this.forceReconnect(a):await this.connectServer(b);if(e.success)eH.info(`Successfully reconnected server ${a} after ${c+1} attempts`),this.connectionRetryAttempts.delete(a);else{if(eH.warn(`Failed to reconnect server ${a}: ${e.error}`),e.requiresAuthentication){eH.info(`Server ${a} requires authentication, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}this.scheduleConnectionRetry(a,b)}}catch(c){eH.error(`Error during retry connection for server ${a}:`,c),this.scheduleConnectionRetry(a,b)}},d);this.connectionRetryTimers.set(a,e)}isStartingUp(){return!0===global.__mcp_starting_up}setStartingUp(a){global.__mcp_starting_up=a,eH.info(`Backend startup state set to: ${a?"starting":"complete"}`)}getClient(a){let b=this.clients.get(a);if(!b){let c=global.__mcp_recovery?.get(a);c&&(this.clients.set(a,c),b=c,eH.debug(`getClient: adopted ${a} from the global recovery map`))}return eH.debug(`getClient: Looking for client: ${a}`,b?"Found":"Not found"),b}async loadServerConfigs(){eH.debug("loadServerConfigs: Entering method");try{let a=await (0,b$.loadServerConfigs)();if(!Array.isArray(a))return eH.warn("loadServerConfigs: Received non-array response",a),a;return eH.debug(`loadServerConfigs: Loaded ${a.length} server configs`),a}catch(a){return eH.warn("loadServerConfigs: Failed to load server configs:",a),{success:!1,error:`Failed to load server configs: ${a instanceof Error?a.message:"Unknown error"}`}}}async getServerConfig(a){eH.debug(`getServerConfig: Looking up config for server ${a}`);let b=await this.loadServerConfigs();if(!Array.isArray(b))return eH.warn(`getServerConfig: Failed to load configs for ${a}:`,b.error),null;let c=b.find(b=>b.name===a);return c||(eH.warn(`getServerConfig: Server ${a} not found in configs`),null)}async isServerDisabled(a){let b=await this.getServerConfig(a);return b?.disabled===!0}async connectServer(a){let b="string"==typeof a?a:a.name,c=this.inFlightConnects.get(b);if(c)return eH.debug(`connectServer: reusing in-flight connection attempt for ${b}`),c;let d=this.connectServerInternal(a).finally(()=>{this.inFlightConnects.delete(b)});return this.inFlightConnects.set(b,d),d}async connectServerInternal(a){let b;if("string"==typeof a){eH.info(`connectServer: Looking up config for server ${a}`);let c=await this.getServerConfig(a);if(!c)return eH.warn(`connectServer: Server ${a} not found in configs`),{success:!1,error:`Server configuration for "${a}" not found. The server may have been deleted or not properly configured.`};b=c}else b=a;if((("string"==typeof a?b:await this.getServerConfig(b.name))??b).disabled)return eH.info(`connectServer: Server ${b.name} is disabled — refusing to create a client/transport`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!1,error:`Server '${b.name}' is disabled. Enable it on the MCP page to use it.`};let c=(0,bT.A)();eH.info(`connectServer: Starting connection for server ${b.name} [RequestID: ${c}]`),this.connectingServers.add(b.name);try{this.stderrLogs.set(b.name,[]);let a=this.clients.get(b.name);if(a){let{needsNewClient:c,reason:d}=function(a,b){if(ez.debug("Entering shouldRecreateClient method"),(a.__flujoCapKey??"")!==ey(b))return{needsNewClient:!0,reason:"Client capabilities (sampling) changed"};if("websocket"===b.transport){if(!(a.transport instanceof cH))return{needsNewClient:!0,reason:"Transport type changed to websocket"}}else if("streamable"===b.transport){if(!(a.transport instanceof dL))return{needsNewClient:!0,reason:"Transport type changed to streamable"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"Streamable server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing streamable transport has no config key"};if(e!==eC(b))return{needsNewClient:!0,reason:"Streamable auth/connection parameters changed"}}else if("sse"===b.transport){if(!(a.transport instanceof ej))return{needsNewClient:!0,reason:"Transport type changed to sse"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"SSE server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing sse transport has no config key"};if(e!==eC(b))return{needsNewClient:!0,reason:"SSE auth/connection parameters changed"}}else{if(!(a.transport instanceof bS))return{needsNewClient:!0,reason:"Transport type changed to stdio"};if("stdio"!==b.transport)return{needsNewClient:!0,reason:"Transport type changed from stdio"};let c=a.transport.__flujoStdioKey;if(!c)return{needsNewClient:!0,reason:"Existing stdio transport has no config key"};if(c!==eB(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}return{needsNewClient:!1}}(a,b);if(!c)return eH.info(`connectServer: Server ${b.name} is already connected`),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!0};eH.info(`connectServer: Existing client for ${b.name} is stale (${d}), recreating`),this.deregisterClient(b.name);try{await eG(a,b.name,b)}catch(a){eH.debug(`connectServer: error closing stale client for ${b.name}: ${a instanceof Error?a.message:String(a)}`)}a=void 0}a=eD(b);let c=eE(b);if(c instanceof bS&&c.stderr){let a=b.name;c.stderr.on("data",b=>{let c=b.toString();eH.warn(`stderr: [${a}]: ${c}`),this.appendStderrLog(a,c)})}return await a.connect(c),c.onclose=()=>{if(this.activeTransports.get(b.name)!==c)return void eH.debug(`connectServer: ignoring close event from a stale/deregistered transport for ${b.name}`);eH.warn(`connectServer: Connection closed for server ${b.name}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void eH.info(`Server ${b.name} is now disabled, skipping reconnection logic`);eH.info(`Connection closed for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{eH.warn(`Error checking server config for ${b.name} during onclose:`,a)})},c.onerror=a=>{if(function(a){let b=a instanceof Error?a.message:String(a);return b.includes("SSE stream disconnected")||b.includes("Failed to reconnect SSE stream")||b.includes("Maximum reconnection attempts")||/\bterminated\b/i.test(b)}(a))return void eH.debug(`connectServer: transient SSE stream disconnect for ${b.name} (self-healing, ignored): ${a instanceof Error?a.message:String(a)}`);if(this.activeTransports.get(b.name)!==c)return void eH.debug(`connectServer: ignoring error event from a stale/deregistered transport for ${b.name}`);if(eH.error(`connectServer: Transport error for server ${b.name}:`),a instanceof Error){eH.error(`Error name: ${a.name}`),eH.error(`Error message: ${a.message}`),eH.error(`Error stack: ${a.stack}`);let b=a.code;void 0!==b&&eH.error(`Error code: ${b}`),eH.error(`Error chain: ${ci(a)}`)}else if(a&&"object"==typeof a){eH.error(`Error type: ${typeof a}`),eH.error(`Error constructor: ${a.constructor?.name||"Unknown"}`);let b=Object.getOwnPropertyNames(a);b.length>0?(eH.error(`Error properties: ${b.join(", ")}`),b.forEach(b=>{try{let c=a[b];eH.error(` ${b}: ${"function"==typeof c?"[Function]":JSON.stringify(c)}`)}catch(a){eH.error(` ${b}: [Unable to serialize: ${a}]`)}})):eH.error("Error object has no enumerable properties");try{let b=JSON.stringify(a);eH.error(`JSON stringified error: ${b}`)}catch(a){eH.error(`Cannot JSON stringify error: ${a}`)}}else eH.error(`Error value: ${String(a)} (type: ${typeof a})`);this.appendStderrLog(b.name,`Transport error: ${ci(a)}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void eH.info(`Server ${b.name} is now disabled, skipping reconnection after transport error`);eH.info(`Transport error for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{eH.warn(`Error checking server config for ${b.name} during onerror:`,a)})},this.clients.set(b.name,a),this.activeTransports.set(b.name,c),this.addToGlobalRecovery(b.name,a),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),eH.info(`connectServer: Successfully connected to ${b.name}`),{success:!0}}catch(f){eH.error(`connectServer: Failed to connect to server ${b.name}:`,f);let a=f instanceof Error?f.message:String(f),c=f instanceof Error?f.name:"";if(a.includes("OAuth authentication required")||"OAuthAuthenticationRequired"===c){if(eH.info(`OAuth authentication required for server ${b.name}`),"streamable"===b.transport){let a=b;a.authorizationUrl&&eH.info(`Authorization URL available for ${b.name}: ${a.authorizationUrl}`)}return{success:!1,error:a,requiresAuthentication:!0}}if(cl(f)){if(eH.info(`OAuth authentication error detected for server ${b.name}: ${a}`),"streamable"===b.transport){let a=b;if(!a.oauthScopes||0===a.oauthScopes.length){eH.info(`Dynamically enabling OAuth for server ${b.name} due to authentication error`);try{let c={...a,oauthScopes:["read"]},d=await this.loadServerConfigs();if(Array.isArray(d)){let a=d.findIndex(a=>a.name===b.name);-1!==a&&(d[a]=c,await (0,b$.q)(new Map(d.map(a=>[a.name,a]))),eH.info(`Updated config for ${b.name} to enable OAuth`))}}catch(a){eH.warn(`Failed to update config for ${b.name} to enable OAuth:`,a)}}}return{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate.",requiresAuthentication:!0}}let d=this.stderrLogs.get(b.name)||[],e=cj(f,b,d);return this.lastConnectionError.set(b.name,e),{success:!1,error:e}}finally{this.connectingServers.delete(b.name)}}async testConnection(a){eH.info(`testConnection: Testing connection to ${a.name||"(unnamed)"} via ${a.transport} transport`);let b=[],c=null,d=null;try{let e;c=eD(a),(d=eE(a))instanceof bS&&d.stderr&&d.stderr.on("data",a=>{b.push(a.toString())}),d.onerror=a=>{b.push(`Transport error: ${ci(a)}`)};let f=cs(a)?9e4:15e3,g=cs(a),h=new Promise((a,b)=>{e=setTimeout(()=>b(Error(`Connection timeout after ${f/1e3}s`+(g?" — the package may still be downloading via npx/uvx. Try running the Test again (the package is cached after the first download), or verify the command and network access.":""))),f)});try{await Promise.race([c.connect(d),h])}finally{e&&clearTimeout(e)}let i=0;try{let a=await c.listTools();i=Array.isArray(a?.tools)?a.tools.length:0}catch(b){eH.debug(`testConnection: connected to ${a.name} but listTools failed: ${b instanceof Error?b.message:String(b)}`)}return eH.info(`testConnection: Successfully connected to ${a.name} (${i} tools)`),{success:!0,data:{toolCount:i}}}catch(d){eH.warn(`testConnection: Failed to connect to ${a.name}:`,d);let c=cl(d);return{success:!1,error:cj(d,a,b),requiresAuthentication:c}}finally{if(c)try{await eG(c,a.name,a,{gracePeriodMs:3e3,killEscalationMs:2e3})}catch(b){eH.debug(`testConnection: error closing test client for ${a.name}: ${b instanceof Error?b.message:String(b)}`)}}}setNodeRoots(a,b,c){for(let d of function(a,b,c){let d=(c??[]).filter(a=>"string"==typeof a&&a.trim().length>0),e=ep().get(b),f=new Set([a]);e&&f.add(e.serverName);let g=new Map;for(let a of f)g.set(a,eq(a));0===d.length?ep().delete(b)&&eo.debug(`Cleared node roots for node ${b}`):(ep().set(b,{serverName:a,roots:d}),eo.debug(`Registered ${d.length} node root(s) for node ${b} on server ${a}`));let h=[];for(let a of f){let b=eq(a),c=g.get(a)??[];(b.length!==c.length||b.some((a,b)=>a!==c[b]))&&h.push(a)}return h}(a,b,c))this.notifyRootsChanged(d)}notifyRootsChanged(a){let b=this.getClient(a);if(!b)return void eH.debug(`notifyRootsChanged: ${a} not connected, skipping notification`);try{b.sendRootsListChanged().catch(b=>{eH.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}),eH.debug(`notifyRootsChanged: sent roots/list_changed to ${a}`)}catch(b){eH.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}}async disconnectServer(a){eH.debug(`disconnectServer: Entering method for server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a);let b=this.getClient(a);if(!b)return eH.warn(`disconnectServer: Server ${a} not found in clients map`),this.removeFromGlobalRecovery(a),this.activeTransports.delete(a),{success:!1,error:`Server ${a} not found`};this.deregisterClient(a);try{let c=await this.getServerConfig(a);return await eG(b,a,c||void 0),eH.info(`disconnectServer: Disconnected server ${a}`),{success:!0}}catch(b){return eH.warn(`disconnectServer: Failed to disconnect server ${a}:`,b),{success:!1,error:`Failed to disconnect server: ${b instanceof Error?b.message:"Unknown error"}`}}}async forceReconnect(a){eH.info(`forceReconnect: Forcing fresh connection for server ${a}`);let b=this.clients.get(a);if(b){this.deregisterClient(a);let c=await this.getServerConfig(a);try{await eG(b,a,c||void 0)}catch(b){eH.debug(`forceReconnect: error closing stale client for ${a}: ${b instanceof Error?b.message:String(b)}`)}}return this.connectServer(a)}async listServerTools(a){if(eH.debug(`listServerTools: Entering method for server ${a}`),await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`listServerTools: ${b}`),{tools:[],error:b}}let b=this.getClient(a);b||eH.warn(`listServerTools: Client not found for ${a}`);let c=await b2(b,a);if(c.error){eH.warn(`listServerTools: Listing tools for ${a} failed (${c.error}); forcing reconnect and retrying once`);let d=await this.forceReconnect(a);if(!d.success)return eH.warn(`listServerTools: Reconnect for ${a} failed: ${d.error}`),{tools:[],error:d.error||c.error};b=this.clients.get(a),(c=await b2(b,a)).error?eH.warn(`listServerTools: Retry after reconnect still failed for ${a}:`,c.error):eH.info(`listServerTools: Recovered after reconnect for ${a}; listed ${c.tools.length} tools`)}else eH.info(`listServerTools: Listed ${c.tools.length} tools for ${a}`);return c}async callTool(a,b,c,d,e){if(eH.debug(`callTool: Entering method for server ${a}, tool ${b}`),await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`callTool: ${b}`),{success:!1,error:b}}let f=this.getClient(a);if(!f){eH.warn(`callTool: No client for ${a}; forcing reconnect before calling ${b}`);let c=await this.forceReconnect(a);c.success?f=this.clients.get(a):eH.warn(`callTool: Reconnect for ${a} failed: ${c.error}`)}let g=await b3(f,a,b,c,d,e);return eH.info(`callTool: Called tool ${b} on ${a}`),g}async listWithReconnect(a,b,c){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`listWithReconnect: ${b}`),{...c,error:b}}let d=this.clients.get(a);d||eH.warn(`listWithReconnect: Client not found for ${a}`);let e=await b(d,a);if(!e.error)return e;eH.warn(`listWithReconnect: Listing for ${a} failed (${e.error}); forcing reconnect and retrying once`);let f=await this.forceReconnect(a);return f.success?(d=this.clients.get(a),(e=await b(d,a)).error?eH.warn(`listWithReconnect: Retry after reconnect still failed for ${a}:`,e.error):eH.info(`listWithReconnect: Recovered after reconnect for ${a}`),e):(eH.warn(`listWithReconnect: Reconnect for ${a} failed: ${f.error}`),{...c,error:f.error||e.error})}async listServerResources(a){return eH.debug(`listServerResources: Entering method for server ${a}`),this.listWithReconnect(a,b5,{resources:[]})}async listServerResourceTemplates(a){return eH.debug(`listServerResourceTemplates: Entering method for server ${a}`),this.listWithReconnect(a,b6,{resourceTemplates:[]})}async readResource(a,b){eH.debug(`readResource: Entering method for server ${a}, uri ${b}`);let c=this.clients.get(a);c||eH.warn(`readResource: Client not found for ${a}`);let d=await b7(c,a,b);return eH.info(`readResource: Read resource ${b} on ${a}`),d}async listServerPrompts(a){return eH.debug(`listServerPrompts: Entering method for server ${a}`),this.listWithReconnect(a,b9,{prompts:[]})}async getPrompt(a,b,c){eH.debug(`getPrompt: Entering method for server ${a}, prompt ${b}`);let d=this.clients.get(a);d||eH.warn(`getPrompt: Client not found for ${a}`);let e=await ca(d,a,b,c);return eH.info(`getPrompt: Got prompt ${b} on ${a}`),e}async resolveOAuthSecretForSave(a,b){return a===cn.RJ?b??"":a?a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")?a:await (0,cm.Rs)(a):""}async ensureRemoteServerRootDir(a){try{if(!["streamable","sse","websocket"].includes(a.transport))return;let b=(a.rootPath||"").trim();if(!b)return;let c=bX().resolve((0,bZ.ok)(),b);if(bX().dirname(c)===c)return;await bV().mkdir(c,{recursive:!0}),eH.debug(`ensureRemoteServerRootDir: ensured ${c} for ${a.name}`)}catch(b){eH.warn(`ensureRemoteServerRootDir: could not create root dir for ${a.name}:`,b)}}async updateServerConfig(a,b){eH.debug(`updateServerConfig: Entering method for server ${a}`);let c=await this.loadServerConfigs();if(!Array.isArray(c))return eH.warn("updateServerConfig: Failed to load configs:",c.error),c;let d=c.find(b=>b.name===a),e=!!d&&"string"==typeof b.name&&b.name!==a;if(e&&c.some(a=>a.name===b.name))return eH.warn(`updateServerConfig: Refusing to rename ${a} -> ${b.name}: name already in use`),{success:!1,error:`A server named "${b.name}" already exists`};if(!d&&b.name)eH.info(`updateServerConfig: Creating new server config for ${b.name}`),d={name:b.name,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],_buildCommand:"",_installCommand:"",rootPath:""},c.push(d);else if(!d)return eH.warn(`updateServerConfig: Server ${a} not found`),{success:!1,error:`Server ${a} not found`};if(b.env){eH.debug(`updateServerConfig: Resolving global variables in env for ${a}`);try{eH.debug(`Original env variables for ${a}:`,JSON.stringify(b.env,null,2)),b.env=await (0,b_.c)(b.env),eH.debug(`Resolved env variables for ${a}:`,JSON.stringify(b.env,null,2)),eH.debug(`updateServerConfig: Successfully resolved global variables for ${a}`)}catch(b){eH.warn(`updateServerConfig: Error resolving global variables for ${a}:`,b)}}let f=b.oauthClientSecret;if(void 0!==f){let a=d.oauthClientSecret;b.oauthClientSecret=await this.resolveOAuthSecretForSave(f,a)}let g={...d};g={...d,...b};let h=JSON.stringify(d.roots??[])!==JSON.stringify(g.roots??[])||(d.rootPath??"")!==(g.rootPath??""),i=c.findIndex(b=>b.name===a);-1!==i?c[i]=g:g.name&&c.push(g);let j=await (0,b$.q)(new Map(c.map(a=>[a.name,a])));return j.success?(await this.ensureRemoteServerRootDir(g),e?(this.clients.has(a)?await this.disconnectServer(a):(this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a)),this.removeFromGlobalRecovery(a),this.stderrLogs.delete(a),this.lastConnectionError.delete(a),await this.handleConnectionStateChange(g.name,g)):await this.handleConnectionStateChange(a,g),h&&this.notifyRootsChanged(g.name),eH.info(`updateServerConfig: Successfully updated config for ${a}${e?` (renamed to ${g.name})`:""}`),g):(eH.warn(`updateServerConfig: Failed to save config for ${a}:`,j.error),j)}async handleConnectionStateChange(a,b){eH.debug(`handleConnectionStateChange: Entering method for server ${a}`);let c=!!this.getClient(a),d=!b.disabled;if(c&&!d){eH.info(`handleConnectionStateChange: Disconnecting disabled server ${a}`);try{await this.disconnectServer(a)}catch(b){eH.warn(`handleConnectionStateChange: Failed to disconnect server ${a} during update:`,b)}}else!c&&d?(eH.info(`handleConnectionStateChange: Connecting previously disabled server ${a}`),await this.connectServer(b)):c&&d?(eH.info(`handleConnectionStateChange: Re-applying config to connected server ${a}`),await this.connectServer(b)):d||(eH.info(`handleConnectionStateChange: Clearing retry timers for disabled server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a))}async clearRetryTimersForDisabledServers(){eH.debug("clearRetryTimersForDisabledServers: Checking for disabled servers with active retry timers");try{let a=await this.loadServerConfigs();if(!Array.isArray(a))return void eH.warn("clearRetryTimersForDisabledServers: Failed to load server configs");for(let b of a.filter(a=>a.disabled))this.connectionRetryTimers.has(b.name)&&(eH.info(`clearRetryTimersForDisabledServers: Clearing retry timer for disabled server ${b.name}`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name))}catch(a){eH.error("clearRetryTimersForDisabledServers: Error clearing retry timers:",a)}}async deleteServerConfig(a){eH.debug(`deleteServerConfig: Entering method for server ${a}`),this.clients.has(a)&&(eH.info(`deleteServerConfig: Disconnecting server ${a} before deletion`),await this.disconnectServer(a));let b=await this.loadServerConfigs();if(!Array.isArray(b))return eH.warn("deleteServerConfig: Failed to load configs:",b.error),b;let c=b.findIndex(b=>b.name===a);if(-1===c)return eH.warn(`deleteServerConfig: Server ${a} not found in configs`),{success:!1,error:`Server ${a} not found`};b.splice(c,1),eH.debug(`deleteServerConfig: Saving updated configs after deleting ${a}`);let d=await (0,b$.q)(new Map(b.map(a=>[a.name,a])));return d.success?eH.info(`deleteServerConfig: Successfully deleted server ${a}`):eH.warn(`deleteServerConfig: Error saving configs after deleting ${a}:`,d.error),d}async getServerStatus(a){this.getClient(a);let b=await this.getServerConfig(a);if(!b)return eH.warn(`getServerStatus: Server ${a} not found`),{status:"error",message:`Server ${a} configuration not found. The server may have been deleted or not properly configured.`};if(b.disabled)return eH.debug(`getServerStatus: Server ${a} is disabled`),{status:"disconnected"};if("streamable"===b.transport&&b.oauthScopes&&b.oauthScopes.length>0){if(!b.oauthTokens||!b.oauthTokens.access_token)return eH.info(`getServerStatus: Server ${a} requires OAuth authentication but has no valid tokens`),{status:"requires_authentication",message:"OAuth authentication required. Click the authenticate button to complete the OAuth flow."};if(!b.oauthTokens.refresh_token&&b.oauthTokens.expires_in&&b.oauthTokens.issued_at){let c=b.oauthTokens.issued_at,d=b.oauthTokens.expires_in;if(Math.floor(Date.now()/1e3)>=c+d)return eH.info(`getServerStatus: OAuth tokens for ${a} have expired and no refresh token is available`),{status:"requires_authentication",message:"OAuth tokens have expired. Please re-authenticate."}}}let c=(this.stderrLogs.get(a)||[]).join("\n").trim(),d=this.lastConnectionError.get(a);if(this.getClient(a))return eH.info(`getServerStatus: Server ${a} is connected`),{status:"connected",stderrOutput:c||void 0};{let b=this.isStartingUp()&&!this.lastConnectionError.has(a);if(this.connectingServers.has(a)||b)return eH.info(`getServerStatus: Server ${a} is still connecting`),{status:"connecting",message:"Server is starting up. This may take a few moments."};if(c&&(c.includes("OAuth authentication required")||c.includes("invalid_token")))return eH.info(`getServerStatus: OAuth authentication error detected for ${a}`),{status:"requires_authentication",message:"OAuth authentication required. Please complete the OAuth flow.",stderrOutput:c};let e=c||d;return e?(eH.info(`getServerStatus: Using ${c?"stderr output":"persisted connection error"} as error message for ${a}`),{status:"error",message:e,stderrOutput:c||void 0}):(eH.info(`getServerStatus: No specific error details available for ${a}`),{status:"error",message:`Server ${a} is configured but not connected. The server process may have crashed or been terminated.`,stderrOutput:void 0})}}async startEnabledServers(){eH.info("Starting all enabled servers"),this.setStartingUp(!0);try{await this.clearRetryTimersForDisabledServers();let a=await this.loadServerConfigs();if(!Array.isArray(a))return void eH.warn("Failed to load server configs, cannot start servers");let b=a.filter(a=>!a.disabled);eH.info(`Found ${b.length} enabled servers to start`),eH.debug(`${b}`),b.forEach(a=>this.connectingServers.add(a.name)),await Promise.all(b.map(a=>(eH.info(`Starting server: ${a.name}`),this.connectServer(a).catch(b=>{eH.error(`Failed to start server ${a.name}:`,b)}))))}finally{this.setStartingUp(!1)}}async getAvailableClients(){try{let a=await this.loadServerConfigs();if(!a||"error"in a)return eH.warn("getAvailableClients: Failed to load server configs:",a?.error),[];return(await Promise.all(a.map(async a=>{try{let b=await this.getServerStatus(a.name);return{name:a.name,status:"string"==typeof b?b:b.status,connected:"string"==typeof b?"connected"===b:"connected"===b.status}}catch(b){return eH.warn(`getAvailableClients: Error getting status for ${a.name}:`,b),{name:a.name,status:"error",connected:!1}}}))).map(a=>`${a.name} (${a.status})`)}catch(a){return eH.error("getAvailableClients: Error getting available clients:",a),[]}}}let eJ=new eI},86709:(a,b,c)=>{"use strict";var d;c.d(b,{$W:()=>j,GT:()=>g,cV:()=>h,cr:()=>i,tm:()=>e,xI:()=>f});let e=Object.freeze({status:"aborted"});function f(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}Symbol("zod_brand");class g extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let i=globalThis.__zod_globalConfig;function j(a){return a&&Object.assign(i,a),i}},86724:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.MissingRefError=b.ValidationError=b.CodeGen=b.Name=b.nil=b.stringify=b.str=b._=b.KeywordCxt=b.Ajv=void 0;let d=c(81502),e=c(40766),f=c(40571),g=c(32749),h=["/properties"],i="http://json-schema.org/draft-07/schema";class j extends d.default{_addVocabularies(){super._addVocabularies(),e.default.forEach(a=>this.addVocabulary(a)),this.opts.discriminator&&this.addKeyword(f.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let a=this.opts.$data?this.$dataMetaSchema(g,h):g;this.addMetaSchema(a,i,!1),this.refs["http://json-schema.org/schema"]=i}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(i)?i:void 0)}}b.Ajv=j,a.exports=b=j,a.exports.Ajv=j,Object.defineProperty(b,"__esModule",{value:!0}),b.default=j;var k=c(31638);Object.defineProperty(b,"KeywordCxt",{enumerable:!0,get:function(){return k.KeywordCxt}});var l=c(31849);Object.defineProperty(b,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(b,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(b,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(b,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(b,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(b,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var m=c(39590);Object.defineProperty(b,"ValidationError",{enumerable:!0,get:function(){return m.default}});var n=c(84687);Object.defineProperty(b,"MissingRefError",{enumerable:!0,get:function(){return n.default}})},86914:function(a,b,c){var d,e,f,g,h,i,j;d=c(67278),c(47973),c(4177),f=(e=d.x64).Word,g=e.WordArray,i=(h=d.algo).SHA512,j=h.SHA384=i.extend({_doReset:function(){this._hash=new g.init([new f.init(0xcbbb9d5d,0xc1059ed8),new f.init(0x629a292a,0x367cd507),new f.init(0x9159015a,0x3070dd17),new f.init(0x152fecd8,0xf70e5939),new f.init(0x67332667,0xffc00b31),new f.init(0x8eb44a87,0x68581511),new f.init(0xdb0c2e0d,0x64f98fa7),new f.init(0x47b5481d,0xbefa4fa4)])},_doFinalize:function(){var a=i._doFinalize.call(this);return a.sigBytes-=16,a}}),d.SHA384=i._createHelper(j),d.HmacSHA384=i._createHmacHelper(j),a.exports=d.SHA384},87138:a=>{"use strict";a.exports=/^#!(.*)/},87507:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,c:()=>k});var d=c(98402);c(3308);var e=c(18230),f=c(79111),g=c(89392),h=c(97832),i=c(48584);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);j.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.Do)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.Do)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40520b537d1d43f510acbccd60e3e7d42ce215c157",null),(0,d.A)(l,"60de87c4c5950c080550cb766970e88ae9c9a0ca25",null)},87699:function(a,b,c){var d;d=c(67278),c(70522),d.pad.Iso97971={pad:function(a,b){a.concat(d.lib.WordArray.create([0x80000000],1)),d.pad.ZeroPadding.pad(a,b)},unpad:function(a){d.pad.ZeroPadding.unpad(a),a.sigBytes--}},a.exports=d.pad.Iso97971},87836:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.TokenHandler=void 0;let d=c(73214),e=c(28627);class f{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(a){this.tokenOptions=a}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let a=await (0,e.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=a.privateKey,this.tokenOptions.email=a.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let a=new Date().getTime(),b=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=a+b}hasExpired(){return new Date().getTime(),!this.token||!this.tokenExpiresAt||new Date().getTime()>=this.tokenExpiresAt}async getToken(a){if(await this.processCredentials(),this.inFlightRequest&&!a)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!a)return this.token;try{this.inFlightRequest=(0,d.getToken)(this.tokenOptions);let a=await this.inFlightRequest;return this.token=a,this.tokenExpiresAt=new Date().getTime()+(a.expires_in??0)*1e3,a}finally{this.inFlightRequest=void 0}}}b.TokenHandler=f},88593:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.createCrypto=function(){return h()?new f.BrowserCrypto:new g.NodeCrypto},b.hasBrowserCrypto=h;let f=c(11486),g=c(64098);function h(){return"undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle}e(c(89629),b)},88634:(a,b,c)=>{"use strict";var d=c(91378),e=c(28354),f=c(33873),g=c(81630),h=c(55591),i=c(79551).parse,j=c(29021),k=c(27910).Stream,l=c(55511),m=c(88659),n=c(19814),o=c(79522),p=c(75786),q=c(2007);function r(a){return String(a).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function s(a){if(!(this instanceof s))return new s(a);for(var b in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],d.call(this),a=a||{})this[b]=a[b]}e.inherits(s,d),s.LINE_BREAK="\r\n",s.DEFAULT_CONTENT_TYPE="application/octet-stream",s.prototype.append=function(a,b,c){"string"==typeof(c=c||{})&&(c={filename:c});var e=d.prototype.append.bind(this);if(("number"==typeof b||null==b)&&(b=String(b)),Array.isArray(b))return void this._error(Error("Arrays are not supported."));var f=this._multiPartHeader(a,b,c),g=this._multiPartFooter();e(f),e(b),e(g),this._trackLength(f,b,c)},s.prototype._trackLength=function(a,b,c){var d=0;null!=c.knownLength?d+=Number(c.knownLength):Buffer.isBuffer(b)?d=b.length:"string"==typeof b&&(d=Buffer.byteLength(b)),this._valueLength+=d,this._overheadLength+=Buffer.byteLength(a)+s.LINE_BREAK.length,b&&(b.path||b.readable&&p(b,"httpVersion")||b instanceof k)&&(c.knownLength||this._valuesToMeasure.push(b))},s.prototype._lengthRetriever=function(a,b){p(a,"fd")?void 0!=a.end&&a.end!=1/0&&void 0!=a.start?b(null,a.end+1-(a.start?a.start:0)):j.stat(a.path,function(c,d){if(c)return void b(c);b(null,d.size-(a.start?a.start:0))}):p(a,"httpVersion")?b(null,Number(a.headers["content-length"])):p(a,"httpModule")?(a.on("response",function(c){a.pause(),b(null,Number(c.headers["content-length"]))}),a.resume()):b("Unknown stream")},s.prototype._multiPartHeader=function(a,b,c){if("string"==typeof c.header)return c.header;var d,e=this._getContentDisposition(b,c),f=this._getContentType(b,c),g="",h={"Content-Disposition":["form-data",'name="'+r(a)+'"'].concat(e||[]),"Content-Type":[].concat(f||[])};for(var i in"object"==typeof c.header&&q(h,c.header),h)if(p(h,i)){if(null==(d=h[i]))continue;Array.isArray(d)||(d=[d]),d.length&&(g+=i+": "+d.join("; ")+s.LINE_BREAK)}return"--"+this.getBoundary()+s.LINE_BREAK+g+s.LINE_BREAK},s.prototype._getContentDisposition=function(a,b){var c;if("string"==typeof b.filepath?c=f.normalize(b.filepath).replace(/\\/g,"/"):b.filename||a&&(a.name||a.path)?c=f.basename(b.filename||a&&(a.name||a.path)):a&&a.readable&&p(a,"httpVersion")&&(c=f.basename(a.client._httpMessage.path||"")),c)return'filename="'+r(c)+'"'},s.prototype._getContentType=function(a,b){var c=b.contentType;return!c&&a&&a.name&&(c=m.lookup(a.name)),!c&&a&&a.path&&(c=m.lookup(a.path)),!c&&a&&a.readable&&p(a,"httpVersion")&&(c=a.headers["content-type"]),!c&&(b.filepath||b.filename)&&(c=m.lookup(b.filepath||b.filename)),!c&&a&&"object"==typeof a&&(c=s.DEFAULT_CONTENT_TYPE),c},s.prototype._multiPartFooter=function(){return(function(a){var b=s.LINE_BREAK;0===this._streams.length&&(b+=this._lastBoundary()),a(b)}).bind(this)},s.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+s.LINE_BREAK},s.prototype.getHeaders=function(a){var b,c={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(b in a)p(a,b)&&(c[b.toLowerCase()]=a[b]);return c},s.prototype.setBoundary=function(a){if("string"!=typeof a)throw TypeError("FormData boundary must be a string");this._boundary=a},s.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},s.prototype.getBuffer=function(){for(var a=new Buffer.alloc(0),b=this.getBoundary(),c=0,d=this._streams.length;c<d;c++)"function"!=typeof this._streams[c]&&(a=Buffer.isBuffer(this._streams[c])?Buffer.concat([a,this._streams[c]]):Buffer.concat([a,Buffer.from(this._streams[c])]),("string"!=typeof this._streams[c]||this._streams[c].substring(2,b.length+2)!==b)&&(a=Buffer.concat([a,Buffer.from(s.LINE_BREAK)])));return Buffer.concat([a,Buffer.from(this._lastBoundary())])},s.prototype._generateBoundary=function(){this._boundary="--------------------------"+l.randomBytes(12).toString("hex")},s.prototype.getLengthSync=function(){var a=this._overheadLength+this._valueLength;return this._streams.length&&(a+=this._lastBoundary().length),this.hasKnownLength()||this._error(Error("Cannot calculate proper length in synchronous way.")),a},s.prototype.hasKnownLength=function(){var a=!0;return this._valuesToMeasure.length&&(a=!1),a},s.prototype.getLength=function(a){var b=this._overheadLength+this._valueLength;if(this._streams.length&&(b+=this._lastBoundary().length),!this._valuesToMeasure.length)return void process.nextTick(a.bind(this,null,b));n.parallel(this._valuesToMeasure,this._lengthRetriever,function(c,d){if(c)return void a(c);d.forEach(function(a){b+=a}),a(null,b)})},s.prototype.submit=function(a,b){var c,d,e={method:"post"};return"string"==typeof a?d=q({port:(a=i(a)).port,path:a.pathname,host:a.hostname,protocol:a.protocol},e):(d=q(a,e)).port||(d.port="https:"===d.protocol?443:80),d.headers=this.getHeaders(a.headers),c="https:"===d.protocol?h.request(d):g.request(d),this.getLength((function(a,d){if(a&&"Unknown stream"!==a)return void this._error(a);if(d&&c.setHeader("Content-Length",d),this.pipe(c),b){var e,f=function(a,d){return c.removeListener("error",f),c.removeListener("response",e),b.call(this,a,d)};e=f.bind(this,null),c.on("error",f),c.on("response",e)}}).bind(this)),c},s.prototype._error=function(a){this.error||(this.error=a,this.pause(),this.emit("error",a))},s.prototype.toString=function(){return"[object FormData]"},o(s.prototype,"FormData"),a.exports=s},88659:(a,b,c)=>{"use strict";var d=c(42696),e=c(33873).extname,f=/^\s*([^;\s]*)(?:;|\s|$)/,g=/^text\//i;function h(a){if(!a||"string"!=typeof a)return!1;var b=f.exec(a),c=b&&d[b[1].toLowerCase()];return c&&c.charset?c.charset:!!(b&&g.test(b[1]))&&"UTF-8"}b.charset=h,b.charsets={lookup:h},b.contentType=function(a){if(!a||"string"!=typeof a)return!1;var c=-1===a.indexOf("/")?b.lookup(a):a;if(!c)return!1;if(-1===c.indexOf("charset")){var d=b.charset(c);d&&(c+="; charset="+d.toLowerCase())}return c},b.extension=function(a){if(!a||"string"!=typeof a)return!1;var c=f.exec(a),d=c&&b.extensions[c[1].toLowerCase()];return!!d&&!!d.length&&d[0]},b.extensions=Object.create(null),b.lookup=function(a){if(!a||"string"!=typeof a)return!1;var c=e("x."+a).toLowerCase().substr(1);return!!c&&(b.types[c]||!1)},b.types=Object.create(null),function(a,b){var c=["nginx","apache",void 0,"iana"];Object.keys(d).forEach(function(e){var f=d[e],g=f.extensions;if(g&&g.length){a[e]=g;for(var h=0;h<g.length;h++){var i=g[h];if(b[i]){var j=c.indexOf(d[b[i]].source),k=c.indexOf(f.source);if("application/octet-stream"!==b[i]&&(j>k||j===k&&"application/"===b[i].substr(0,12)))continue}b[i]=e}}})}(b.extensions,b.types)},89392:(a,b,c)=>{"use strict";c.d(b,{Z:()=>d});var d=function(a){return a.MODELS="models",a.FLOWS="flows",a.CHAT_HISTORY="history",a.THEME="theme",a.ENCRYPTION_KEY="encryption_key",a.MCP_SERVERS="mcp_servers",a.GLOBAL_ENV_VARS="global_env_vars",a.CURRENT_CONVERSATION_ID="current_conversation_id",a.SELECTED_FLOW_ID="selected_flow_id",a.SPEECH_SETTINGS="speech_settings",a.SPOTLIGHT_SERVERS="spotlight_servers",a.PLANNED_EXECUTIONS="planned_executions",a}({})},89629:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.fromArrayBufferToHex=function(a){return Array.from(new Uint8Array(a)).map(a=>a.toString(16).padStart(2,"0")).join("")}},89850:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},90126:(a,b,c)=>{var d=c(23150);a.exports=function(a){var b=!1;return d(function(){b=!0}),function(c,e){b?a(c,e):d(function(){a(c,e)})}}},91233:(a,b,c)=>{"use strict";var d,e=c(39247),f=c(33324);try{d=[].__proto__===Array.prototype}catch(a){if(!a||"object"!=typeof a||!("code"in a)||"ERR_PROTO_ACCESS"!==a.code)throw a}var g=!!d&&f&&f(Object.prototype,"__proto__"),h=Object,i=h.getPrototypeOf;a.exports=g&&"function"==typeof g.get?e([g.get]):"function"==typeof i&&function(a){return i(null==a?a:h(a))}},91378:(a,b,c)=>{var d=c(28354),e=c(27910).Stream,f=c(14702);function g(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}a.exports=g,d.inherits(g,e),g.create=function(a){var b=new this;for(var c in a=a||{})b[c]=a[c];return b},g.isStreamLike=function(a){return"function"!=typeof a&&"string"!=typeof a&&"boolean"!=typeof a&&"number"!=typeof a&&!Buffer.isBuffer(a)},g.prototype.append=function(a){if(g.isStreamLike(a)){if(!(a instanceof f)){var b=f.create(a,{maxDataSize:1/0,pauseStream:this.pauseStreams});a.on("data",this._checkDataSize.bind(this)),a=b}this._handleErrors(a),this.pauseStreams&&a.pause()}return this._streams.push(a),this},g.prototype.pipe=function(a,b){return e.prototype.pipe.call(this,a,b),this.resume(),a},g.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}},g.prototype._realGetNext=function(){var a=this._streams.shift();return void 0===a?void this.end():"function"!=typeof a?void this._pipeNext(a):void a((function(a){g.isStreamLike(a)&&(a.on("data",this._checkDataSize.bind(this)),this._handleErrors(a)),this._pipeNext(a)}).bind(this))},g.prototype._pipeNext=function(a){if(this._currentStream=a,g.isStreamLike(a)){a.on("end",this._getNext.bind(this)),a.pipe(this,{end:!1});return}this.write(a),this._getNext()},g.prototype._handleErrors=function(a){var b=this;a.on("error",function(a){b._emitError(a)})},g.prototype.write=function(a){this.emit("data",a)},g.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},g.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},g.prototype.end=function(){this._reset(),this.emit("end")},g.prototype.destroy=function(){this._reset(),this.emit("close")},g.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},g.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var a="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(Error(a))}},g.prototype._updateDataSize=function(){this.dataSize=0;var a=this;this._streams.forEach(function(b){b.dataSize&&(a.dataSize+=b.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},g.prototype._emitError=function(a){this._reset(),this.emit("error",a)}},91480:a=>{"use strict";let b=/([()\][%!^"`<>&|;, *?])/g;a.exports.command=function(a){return a.replace(b,"^$1")},a.exports.argument=function(a,c){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(b,"^$1"),c&&(a=a.replace(b,"^$1")),a}},91527:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>"function"==typeof a},91781:(a,b,c)=>{var d=c(92878).Buffer,e=c(27910);function f(a){if(this.buffer=null,this.writable=!0,this.readable=!0,!a)return this.buffer=d.alloc(0),this;if("function"==typeof a.pipe)return this.buffer=d.alloc(0),a.pipe(this),this;if(a.length||"object"==typeof a)return this.buffer=a,this.writable=!1,process.nextTick((function(){this.emit("end",a),this.readable=!1,this.emit("close")}).bind(this)),this;throw TypeError("Unexpected data type ("+typeof a+")")}c(28354).inherits(f,e),f.prototype.write=function(a){this.buffer=d.concat([this.buffer,d.from(a)]),this.emit("data",a)},f.prototype.end=function(a){a&&this.write(a),this.emit("end",a),this.emit("close"),this.writable=!1,this.readable=!1},a.exports=f},92111:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31638),e=c(97025),f=c(83593),g=c(68300);b.default={keyword:"properties",type:"object",schemaType:"object",code(a){let{gen:b,schema:c,parentSchema:h,data:i,it:j}=a;"all"===j.opts.removeAdditional&&void 0===h.additionalProperties&&g.default.code(new d.KeywordCxt(j,g.default,"additionalProperties"));let k=(0,e.allSchemaProperties)(c);for(let a of k)j.definedProperties.add(a);j.opts.unevaluated&&k.length&&!0!==j.props&&(j.props=f.mergeEvaluated.props(b,(0,f.toHash)(k),j.props));let l=k.filter(a=>!(0,f.alwaysValidSchema)(j,c[a]));if(0===l.length)return;let m=b.name("valid");for(let d of l){var n;(n=d,j.opts.useDefaults&&!j.compositeRule&&void 0!==c[n].default)?o(d):(b.if((0,e.propertyInData)(b,i,d,j.opts.ownProperties)),o(d),j.allErrors||b.else().var(m,!0),b.endIf()),a.it.definedProperties.add(d),a.ok(m)}function o(b){a.subschema({keyword:"properties",schemaProp:b,dataProp:b},m)}}}},92878:(a,b,c)=>{var d=c(79428),e=d.Buffer;function f(a,b){for(var c in a)b[c]=a[c]}function g(a,b,c){return e(a,b,c)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?a.exports=d:(f(d,b),b.Buffer=g),g.prototype=Object.create(e.prototype),f(e,g),g.from=function(a,b,c){if("number"==typeof a)throw TypeError("Argument must not be a number");return e(a,b,c)},g.alloc=function(a,b,c){if("number"!=typeof a)throw TypeError("Argument must be a number");var d=e(a);return void 0!==b?"string"==typeof c?d.fill(b,c):d.fill(b):d.fill(0),d},g.allocUnsafe=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return e(a)},g.allocUnsafeSlow=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return d.SlowBuffer(a)}},93111:(a,b,c)=>{"use strict";let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),{types:{isUint8Array:g}}=c(28354),h=c(74240),{EMPTY_BUFFER:i,kWebSocket:j,NOOP:k}=c(32995),{isBlob:l,isValidStatusCode:m}=c(26649),{mask:n,toBuffer:o}=c(27047),p=Symbol("kByteLength"),q=Buffer.alloc(4),r=8192;class s{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=k,this[j]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||q,b.generateMask?b.generateMask(c):(8192===r&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),r=0),c[0]=d[r++],c[1]=d[r++],c[2]=d[r++],c[3]=d[r++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[p]?b[p]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(n(a,c,k,h,e),[k]):(n(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=i;else if("number"==typeof a&&m(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");if((e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b)e.write(b,2);else if(g(b))e.set(b,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[p]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(s.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[h.extensionName],g=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,g=0),b.fin&&(this._firstFragment=!0);let j={[p]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:g,readOnly:e,rsv1:i};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[p],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(t,this,a,d);return}this._bufferedBytes-=c[p];let e=o(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(s.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(u,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(s.frame(a,c),d);let e=this._extensions[h.extensionName];this._bufferedBytes+=c[p],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void t(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[p],this._state=0,c.readOnly=!1,this.sendFrame(s.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][p],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][p],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function t(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function u(a,b,c){t(a,b,c),a.onerror(b)}a.exports=s},93209:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.ExternalAccountClient=void 0;let d=c(35294),e=c(62888),f=c(73925),g=c(27305);class h{constructor(){throw 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(a){return a&&a.type===d.EXTERNAL_ACCOUNT_TYPE?a.credential_source?.environment_id?new f.AwsClient(a):a.credential_source?.executable?new g.PluggableAuthClient(a):new e.IdentityPoolClient(a):null}}b.ExternalAccountClient=h},93704:(a,b,c)=>{"use strict";c.d(b,{Y:()=>ce});let d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:a=>`Symbol(${a})`;function e(){}function f(a){return"object"==typeof a&&null!==a||"function"==typeof a}function g(a,b){try{Object.defineProperty(a,"name",{value:b,configurable:!0})}catch(a){}}let h=Promise,i=Promise.prototype.then,j=Promise.resolve.bind(h),k=Promise.reject.bind(h);function l(a){return new h(a)}function m(a,b,c){return i.call(a,b,c)}function n(a,b,c){m(m(a,b,c),void 0,e)}function o(a){m(a,void 0,e)}let p=a=>{if("function"==typeof queueMicrotask)p=queueMicrotask;else{let a=j(void 0);p=b=>m(a,b)}return p(a)};function q(a,b,c){if("function"!=typeof a)throw TypeError("Argument is not a function");return Function.prototype.apply.call(a,b,c)}function r(a,b,c){try{var d;return d=q(a,b,c),j(d)}catch(a){return k(a)}}class s{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(a){let b=this._back,c=b;16383===b._elements.length&&(c={_elements:[],_next:void 0}),b._elements.push(a),c!==b&&(this._back=c,b._next=c),++this._size}shift(){let a=this._front,b=a,c=this._cursor,d=c+1,e=a._elements,f=e[c];return 16384===d&&(b=a._next,d=0),--this._size,this._cursor=d,a!==b&&(this._front=b),e[c]=void 0,f}forEach(a){let b=this._cursor,c=this._front,d=c._elements;for(;!(b===d.length&&void 0===c._next||b===d.length&&(d=(c=c._next)._elements,b=0,0===d.length));)a(d[b]),++b}peek(){let a=this._front,b=this._cursor;return a._elements[b]}}let t=d("[[AbortSteps]]"),u=d("[[ErrorSteps]]"),v=d("[[CancelSteps]]"),w=d("[[PullSteps]]"),x=d("[[ReleaseSteps]]");function y(a,b){var c,d;a._ownerReadableStream=b,b._reader=a,"readable"===b._state?C(a):"closed"===b._state?(C(a),E(a)):(c=a,d=b._storedError,C(c),D(c,d))}function z(a,b){return bA(a._ownerReadableStream,b)}function A(a){var b,c;let d=a._ownerReadableStream;"readable"===d._state?D(a,TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):(b=a,c=TypeError("Reader was released and can no longer be used to monitor the stream's closedness"),C(b),D(b,c)),d._readableStreamController[x](),d._reader=void 0,a._ownerReadableStream=void 0}function B(a){return TypeError("Cannot "+a+" a stream using a released reader")}function C(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c})}function D(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}function E(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}let F=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},G=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function H(a,b){if(void 0!==a&&"object"!=typeof a&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function I(a,b){if("function"!=typeof a)throw TypeError(`${b} is not a function.`)}function J(a,b){if(("object"!=typeof a||null===a)&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function K(a,b,c){if(void 0===a)throw TypeError(`Parameter ${b} is required in '${c}'.`)}function L(a,b,c){if(void 0===a)throw TypeError(`${b} is required in '${c}'.`)}function M(a){return Number(a)}function N(a,b){var c,d;let e=Number.MAX_SAFE_INTEGER,f=Number(a);if(!F(f=0===(c=f)?0:c))throw TypeError(`${b} is not a finite number`);if((f=0===(d=G(f))?0:d)<0||f>e)throw TypeError(`${b} is outside the accepted range of 0 to ${e}, inclusive`);return F(f)&&0!==f?f:0}function O(a){if(!f(a)||"function"!=typeof a.getReader)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function P(a){if(!f(a)||"function"!=typeof a.getWriter)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function Q(a,b){if(!by(a))throw TypeError(`${b} is not a ReadableStream.`)}function R(a,b){a._reader._readRequests.push(b)}function S(a,b,c){let d=a._reader._readRequests.shift();c?d._closeSteps():d._chunkSteps(b)}function T(a){return a._reader._readRequests.length}function U(a){let b=a._reader;return void 0!==b&&!!W(b)}class V{constructor(a){if(K(a,1,"ReadableStreamDefaultReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");y(this,a),this._readRequests=new s}get closed(){return W(this)?this._closedPromise:k(Y("closed"))}cancel(a){return W(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(Y("cancel"))}read(){let a,b;if(!W(this))return k(Y("read"));if(void 0===this._ownerReadableStream)return k(B("read from"));let c=l((c,d)=>{a=c,b=d});return function(a,b){let c=a._ownerReadableStream;c._disturbed=!0,"closed"===c._state?b._closeSteps():"errored"===c._state?b._errorSteps(c._storedError):c._readableStreamController[w](b)}(this,{_chunkSteps:b=>a({value:b,done:!1}),_closeSteps:()=>a({value:void 0,done:!0}),_errorSteps:a=>b(a)}),c}releaseLock(){if(!W(this))throw Y("releaseLock");void 0!==this._ownerReadableStream&&(A(this),X(this,TypeError("Reader was released")))}}function W(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readRequests")&&a instanceof V}function X(a,b){let c=a._readRequests;a._readRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function Y(a){return TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(V.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(V.prototype.cancel,"cancel"),g(V.prototype.read,"read"),g(V.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(V.prototype,d.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});class Z{constructor(a,b){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=a,this._preventCancel=b}next(){let a=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?m(this._ongoingPromise,a,a):a(),this._ongoingPromise}return(a){let b=()=>this._returnSteps(a);return this._ongoingPromise?m(this._ongoingPromise,b,b):b()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let a=this._reader;return void 0===a?k(B("iterate")):m(a.read(),a=>{var b;return this._ongoingPromise=void 0,a.done&&(this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0),a},a=>{var b;throw this._ongoingPromise=void 0,this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0,a})}_returnSteps(a){if(this._isFinished)return Promise.resolve({value:a,done:!0});this._isFinished=!0;let b=this._reader;if(void 0===b)return k(B("finish iterating"));if(this._reader=void 0,!this._preventCancel){let c=b.cancel(a);return b.releaseLock(),m(c,()=>({value:a,done:!0}),void 0)}return b.releaseLock(),j({value:a,done:!0})}}let $={next(){return _(this)?this._asyncIteratorImpl.next():k(aa("next"))},return(a){return _(this)?this._asyncIteratorImpl.return(a):k(aa("return"))}};function _(a){if(!f(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof Z}catch(a){return!1}}function aa(a){return TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}"symbol"==typeof d.asyncIterator&&Object.defineProperty($,d.asyncIterator,{value(){return this},writable:!0,configurable:!0});let ab=Number.isNaN||function(a){return a!=a};function ac(a,b,c,d,e){new Uint8Array(a).set(new Uint8Array(c,d,e),b)}function ad(a){return new Uint8Array(function(a,b,c){if(a.slice)return a.slice(b,c);let d=c-b,e=new ArrayBuffer(d);return ac(e,0,a,b,d),e}(a.buffer,a.byteOffset,a.byteOffset+a.byteLength))}function ae(a){let b=a._queue.shift();return a._queueTotalSize-=b.size,a._queueTotalSize<0&&(a._queueTotalSize=0),b.value}function af(a,b,c){if("number"!=typeof c||ab(c)||c<0||c===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:b,size:c}),a._queueTotalSize+=c}function ag(a){a._queue=new s,a._queueTotalSize=0}class ah{constructor(){throw TypeError("Illegal constructor")}get view(){if(!ak(this))throw aD("view");return this._view}respond(a){if(!ak(this))throw aD("respond");if(K(a,1,"respond"),a=N(a,"First parameter"),void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");this._view.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===b)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(c.bytesFilled+b>c.byteLength)throw RangeError("bytesWritten out of range")}c.buffer=c.buffer,ax(a,b)}(this._associatedReadableByteStreamController,a)}respondWithNewView(a){if(!ak(this))throw aD("respondWithNewView");if(K(a,1,"respondWithNewView"),!ArrayBuffer.isView(a))throw TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");a.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b.byteLength)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===b.byteLength)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(c.byteOffset+c.bytesFilled!==b.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(c.bufferByteLength!==b.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(c.bytesFilled+b.byteLength>c.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let d=b.byteLength;c.buffer=b.buffer,ax(a,d)}(this._associatedReadableByteStreamController,a)}}Object.defineProperties(ah.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),g(ah.prototype.respond,"respond"),g(ah.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ah.prototype,d.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ai{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!aj(this))throw aE("byobRequest");return function(a){if(null===a._byobRequest&&a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek(),c=new Uint8Array(b.buffer,b.byteOffset+b.bytesFilled,b.byteLength-b.bytesFilled),d=Object.create(ah.prototype);d._associatedReadableByteStreamController=a,d._view=c,a._byobRequest=d}return a._byobRequest}(this)}get desiredSize(){if(!aj(this))throw aE("desiredSize");return aC(this)}close(){if(!aj(this))throw aE("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let a=this._controlledReadableByteStream._state;if("readable"!==a)throw TypeError(`The stream (in ${a} state) is not in the readable state and cannot be closed`);!function(a){let b=a._controlledReadableByteStream;if(!a._closeRequested&&"readable"===b._state){if(a._queueTotalSize>0)return a._closeRequested=!0;if(a._pendingPullIntos.length>0&&a._pendingPullIntos.peek().bytesFilled>0){let b=TypeError("Insufficient bytes to fill elements in the given buffer");throw aA(a,b),b}az(a),bB(b)}}(this)}enqueue(a){if(!aj(this))throw aE("enqueue");if(K(a,1,"enqueue"),!ArrayBuffer.isView(a))throw TypeError("chunk must be an array buffer view");if(0===a.byteLength)throw TypeError("chunk must have non-zero byteLength");if(0===a.buffer.byteLength)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let b=this._controlledReadableByteStream._state;if("readable"!==b)throw TypeError(`The stream (in ${b} state) is not in the readable state and cannot be enqueued to`);!function(a,b){let c=a._controlledReadableByteStream;if(a._closeRequested||"readable"!==c._state)return;let d=b.buffer,e=b.byteOffset,f=b.byteLength;if(a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek();b.buffer,av(a),b.buffer=b.buffer,"none"===b.readerType&&ar(a,b)}U(c)?(function(a){let b=a._controlledReadableByteStream._reader;for(;b._readRequests.length>0;){if(0===a._queueTotalSize)return;aB(a,b._readRequests.shift())}}(a),0===T(c))?ap(a,d,e,f):(a._pendingPullIntos.length>0&&ay(a),S(c,new Uint8Array(d,e,f),!1)):aH(c)?(ap(a,d,e,f),aw(a)):ap(a,d,e,f),al(a)}(this,a)}error(a){if(!aj(this))throw aE("error");aA(this,a)}[v](a){am(this),ag(this);let b=this._cancelAlgorithm(a);return az(this),b}[w](a){let b=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void aB(this,a);let c=this._autoAllocateChunkSize;if(void 0!==c){let b;try{b=new ArrayBuffer(c)}catch(b){return void a._errorSteps(b)}let d={buffer:b,bufferByteLength:c,byteOffset:0,byteLength:c,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(d)}R(b,a),al(this)}[x](){if(this._pendingPullIntos.length>0){let a=this._pendingPullIntos.peek();a.readerType="none",this._pendingPullIntos=new s,this._pendingPullIntos.push(a)}}}function aj(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")&&a instanceof ai}function ak(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")&&a instanceof ah}function al(a){if(function(a){let b=a._controlledReadableByteStream;return"readable"===b._state&&!a._closeRequested&&!!a._started&&!!(U(b)&&T(b)>0||aH(b)&&aG(b)>0||aC(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,al(a)),null),b=>(aA(a,b),null))}}function am(a){av(a),a._pendingPullIntos=new s}function an(a,b){let c=!1;"closed"===a._state&&(c=!0);let d=ao(b);"default"===b.readerType?S(a,d,c):function(a,b,c){let d=a._reader._readIntoRequests.shift();c?d._closeSteps(b):d._chunkSteps(b)}(a,d,c)}function ao(a){let b=a.bytesFilled,c=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,b/c)}function ap(a,b,c,d){a._queue.push({buffer:b,byteOffset:c,byteLength:d}),a._queueTotalSize+=d}function aq(a,b,c,d){let e;try{e=b.slice(c,c+d)}catch(b){throw aA(a,b),b}ap(a,e,0,d)}function ar(a,b){b.bytesFilled>0&&aq(a,b.buffer,b.byteOffset,b.bytesFilled),ay(a)}function as(a,b){let c=b.elementSize,d=b.bytesFilled-b.bytesFilled%c,e=Math.min(a._queueTotalSize,b.byteLength-b.bytesFilled),f=b.bytesFilled+e,g=f-f%c,h=e,i=!1;g>d&&(h=g-b.bytesFilled,i=!0);let j=a._queue;for(;h>0;){let c=j.peek(),d=Math.min(h,c.byteLength),e=b.byteOffset+b.bytesFilled;ac(b.buffer,e,c.buffer,c.byteOffset,d),c.byteLength===d?j.shift():(c.byteOffset+=d,c.byteLength-=d),a._queueTotalSize-=d,at(a,d,b),h-=d}return i}function at(a,b,c){c.bytesFilled+=b}function au(a){0===a._queueTotalSize&&a._closeRequested?(az(a),bB(a._controlledReadableByteStream)):al(a)}function av(a){null!==a._byobRequest&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}function aw(a){for(;a._pendingPullIntos.length>0;){if(0===a._queueTotalSize)return;let b=a._pendingPullIntos.peek();as(a,b)&&(ay(a),an(a._controlledReadableByteStream,b))}}function ax(a,b){let c=a._pendingPullIntos.peek();av(a),"closed"===a._controlledReadableByteStream._state?function(a,b){"none"===b.readerType&&ay(a);let c=a._controlledReadableByteStream;if(aH(c))for(;aG(c)>0;)an(c,ay(a))}(a,c):function(a,b,c){if(at(0,b,c),"none"===c.readerType)return ar(a,c),aw(a);if(c.bytesFilled<c.elementSize)return;ay(a);let d=c.bytesFilled%c.elementSize;if(d>0){let b=c.byteOffset+c.bytesFilled;aq(a,c.buffer,b-d,d)}c.bytesFilled-=d,an(a._controlledReadableByteStream,c),aw(a)}(a,b,c),al(a)}function ay(a){return a._pendingPullIntos.shift()}function az(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}function aA(a,b){let c=a._controlledReadableByteStream;"readable"===c._state&&(am(a),ag(a),az(a),bC(c,b))}function aB(a,b){let c=a._queue.shift();a._queueTotalSize-=c.byteLength,au(a);let d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength);b._chunkSteps(d)}function aC(a){let b=a._controlledReadableByteStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function aD(a){return TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}function aE(a){return TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}function aF(a,b){a._reader._readIntoRequests.push(b)}function aG(a){return a._reader._readIntoRequests.length}function aH(a){let b=a._reader;return void 0!==b&&!!aJ(b)}Object.defineProperties(ai.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),g(ai.prototype.close,"close"),g(ai.prototype.enqueue,"enqueue"),g(ai.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ai.prototype,d.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class aI{constructor(a){if(K(a,1,"ReadableStreamBYOBReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!aj(a._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");y(this,a),this._readIntoRequests=new s}get closed(){return aJ(this)?this._closedPromise:k(aL("closed"))}cancel(a){return aJ(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(aL("cancel"))}read(a){let b,c;if(!aJ(this))return k(aL("read"));if(!ArrayBuffer.isView(a))return k(TypeError("view must be an array buffer view"));if(0===a.byteLength)return k(TypeError("view must have non-zero byteLength"));if(0===a.buffer.byteLength)return k(TypeError("view's buffer must have non-zero byteLength"));if(a.buffer,void 0===this._ownerReadableStream)return k(B("read from"));let d=l((a,d)=>{b=a,c=d});return function(a,b,c){let d=a._ownerReadableStream;d._disturbed=!0,"errored"===d._state?c._errorSteps(d._storedError):function(a,b,c){let d=a._controlledReadableByteStream,e=1;b.constructor!==DataView&&(e=b.constructor.BYTES_PER_ELEMENT);let f=b.constructor,g=b.buffer,h={buffer:g,bufferByteLength:g.byteLength,byteOffset:b.byteOffset,byteLength:b.byteLength,bytesFilled:0,elementSize:e,viewConstructor:f,readerType:"byob"};if(a._pendingPullIntos.length>0)return a._pendingPullIntos.push(h),aF(d,c);if("closed"!==d._state){if(a._queueTotalSize>0){if(as(a,h)){let b=ao(h);return au(a),c._chunkSteps(b)}if(a._closeRequested){let b=TypeError("Insufficient bytes to fill elements in the given buffer");return aA(a,b),c._errorSteps(b)}}a._pendingPullIntos.push(h),aF(d,c),al(a)}else{let a=new f(h.buffer,h.byteOffset,0);c._closeSteps(a)}}(d._readableStreamController,b,c)}(this,a,{_chunkSteps:a=>b({value:a,done:!1}),_closeSteps:a=>b({value:a,done:!0}),_errorSteps:a=>c(a)}),d}releaseLock(){if(!aJ(this))throw aL("releaseLock");void 0!==this._ownerReadableStream&&(A(this),aK(this,TypeError("Reader was released")))}}function aJ(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")&&a instanceof aI}function aK(a,b){let c=a._readIntoRequests;a._readIntoRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function aL(a){return TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}function aM(a,b){let{highWaterMark:c}=a;if(void 0===c)return b;if(ab(c)||c<0)throw RangeError("Invalid highWaterMark");return c}function aN(a){let{size:b}=a;return b||(()=>1)}function aO(a,b){var c;H(a,b);let d=null==a?void 0:a.highWaterMark,e=null==a?void 0:a.size;return{highWaterMark:void 0===d?void 0:M(d),size:void 0===e?void 0:(I(c=e,`${b} has member 'size' that`),a=>M(c(a)))}}Object.defineProperties(aI.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(aI.prototype.cancel,"cancel"),g(aI.prototype.read,"read"),g(aI.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aI.prototype,d.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});let aP="function"==typeof AbortController;class aQ{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.abort,d=null==a?void 0:a.close,e=null==a?void 0:a.start,f=null==a?void 0:a.type,g=null==a?void 0:a.write;return{abort:void 0===c?void 0:(I(c,`${b} has member 'abort' that`),b=>r(c,a,[b])),close:void 0===d?void 0:(I(d,`${b} has member 'close' that`),()=>r(d,a,[])),start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),write:void 0===g?void 0:(I(g,`${b} has member 'write' that`),(b,c)=>r(g,a,[b,c])),type:f}}(a,"First parameter");if(this._state="writable",this._storedError=void 0,this._writer=void 0,this._writableStreamController=void 0,this._writeRequests=new s,this._inFlightWriteRequest=void 0,this._closeRequest=void 0,this._inFlightCloseRequest=void 0,this._pendingAbortRequest=void 0,this._backpressure=!1,void 0!==d.type)throw RangeError("Invalid type is specified");let e=aN(c);!function(a,b,c,d){let e,f,g,h,i=Object.create(a3.prototype);e=void 0!==b.start?()=>b.start(i):()=>{},f=void 0!==b.write?a=>b.write(a,i):()=>j(void 0),g=void 0!==b.close?()=>b.close():()=>j(void 0),h=void 0!==b.abort?a=>b.abort(a):()=>j(void 0),i._controlledWritableStream=a,a._writableStreamController=i,i._queue=void 0,i._queueTotalSize=void 0,ag(i),i._abortReason=void 0,i._abortController=function(){if(aP)return new AbortController}(),i._started=!1,i._strategySizeAlgorithm=d,i._strategyHWM=c,i._writeAlgorithm=f,i._closeAlgorithm=g,i._abortAlgorithm=h,a$(a,0>=a6(i)),n(j(e()),()=>(i._started=!0,a7(i),null),b=>(i._started=!0,aV(a,b),null))}(this,d,aM(c,1),e)}get locked(){if(!aR(this))throw ba("locked");return aS(this)}abort(a){return aR(this)?aS(this)?k(TypeError("Cannot abort a stream that already has a writer")):aT(this,a):k(ba("abort"))}close(){return aR(this)?aS(this)?k(TypeError("Cannot close a stream that already has a writer")):aY(this)?k(TypeError("Cannot close an already-closing stream")):aU(this):k(ba("close"))}getWriter(){if(!aR(this))throw ba("getWriter");return new a_(this)}}function aR(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")&&a instanceof aQ}function aS(a){return void 0!==a._writer}function aT(a,b){var c;if("closed"===a._state||"errored"===a._state)return j(void 0);a._writableStreamController._abortReason=b,null==(c=a._writableStreamController._abortController)||c.abort(b);let d=a._state;if("closed"===d||"errored"===d)return j(void 0);if(void 0!==a._pendingAbortRequest)return a._pendingAbortRequest._promise;let e=!1;"erroring"===d&&(e=!0,b=void 0);let f=l((c,d)=>{a._pendingAbortRequest={_promise:void 0,_resolve:c,_reject:d,_reason:b,_wasAlreadyErroring:e}});return a._pendingAbortRequest._promise=f,e||aW(a,b),f}function aU(a){var b;let c=a._state;if("closed"===c||"errored"===c)return k(TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let d=l((b,c)=>{a._closeRequest={_resolve:b,_reject:c}}),e=a._writer;return void 0!==e&&a._backpressure&&"writable"===c&&bk(e),af(b=a._writableStreamController,a2,0),a7(b),d}function aV(a,b){"writable"!==a._state?aX(a):aW(a,b)}function aW(a,b){let c=a._writableStreamController;a._state="erroring",a._storedError=b;let d=a._writer;void 0!==d&&a1(d,b),void 0===a._inFlightWriteRequest&&void 0===a._inFlightCloseRequest&&c._started&&aX(a)}function aX(a){a._state="errored",a._writableStreamController[u]();let b=a._storedError;if(a._writeRequests.forEach(a=>{a._reject(b)}),a._writeRequests=new s,void 0===a._pendingAbortRequest)return void aZ(a);let c=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,c._wasAlreadyErroring)return c._reject(b),void aZ(a);n(a._writableStreamController[t](c._reason),()=>(c._resolve(),aZ(a),null),b=>(c._reject(b),aZ(a),null))}function aY(a){return void 0!==a._closeRequest||void 0!==a._inFlightCloseRequest}function aZ(a){void 0!==a._closeRequest&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let b=a._writer;void 0!==b&&bf(b,a._storedError)}function a$(a,b){let c=a._writer;void 0!==c&&b!==a._backpressure&&(b?bh(c):bk(c)),a._backpressure=b}Object.defineProperties(aQ.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),g(aQ.prototype.abort,"abort"),g(aQ.prototype.close,"close"),g(aQ.prototype.getWriter,"getWriter"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aQ.prototype,d.toStringTag,{value:"WritableStream",configurable:!0});class a_{constructor(a){if(K(a,1,"WritableStreamDefaultWriter"),function(a,b){if(!aR(a))throw TypeError(`${b} is not a WritableStream.`)}(a,"First parameter"),aS(a))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=a,a._writer=this;let b=a._state;if("writable"===b)!aY(a)&&a._backpressure?bh(this):function(a){bh(a),bk(a)}(this),be(this);else if("erroring"===b)bi(this,a._storedError),be(this);else if("closed"===b)(function(a){bh(a),bk(a)})(this),be(this),bg(this);else{let b=a._storedError;bi(this,b),function(a,b){be(a),bf(a,b)}(this,b)}}get closed(){return a0(this)?this._closedPromise:k(bc("closed"))}get desiredSize(){if(!a0(this))throw bc("desiredSize");if(void 0===this._ownerWritableStream)throw bd("desiredSize");let a=this._ownerWritableStream,b=a._state;return"errored"===b||"erroring"===b?null:"closed"===b?0:a6(a._writableStreamController)}get ready(){return a0(this)?this._readyPromise:k(bc("ready"))}abort(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("abort")):aT(this._ownerWritableStream,a):k(bc("abort"))}close(){if(!a0(this))return k(bc("close"));let a=this._ownerWritableStream;return void 0===a?k(bd("close")):aY(a)?k(TypeError("Cannot close an already-closing stream")):aU(this._ownerWritableStream)}releaseLock(){if(!a0(this))throw bc("releaseLock");void 0!==this._ownerWritableStream&&function(a){var b,c;let d=a._ownerWritableStream,e=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");a1(a,e),"pending"===a._closedPromiseState?bf(a,e):(b=a,c=e,be(b),bf(b,c)),d._writer=void 0,a._ownerWritableStream=void 0}(this)}write(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("write to")):function(a,b){let c=a._ownerWritableStream,d=c._writableStreamController,e=function(a,b){try{return a._strategySizeAlgorithm(b)}catch(b){return a8(a,b),1}}(d,b);if(c!==a._ownerWritableStream)return k(bd("write to"));let f=c._state;if("errored"===f)return k(c._storedError);if(aY(c)||"closed"===f)return k(TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===f)return k(c._storedError);let g=l((a,b)=>{c._writeRequests.push({_resolve:a,_reject:b})});return function(a,b,c){try{af(a,b,c)}catch(b){return void a8(a,b)}let d=a._controlledWritableStream;aY(d)||"writable"!==d._state||a$(d,0>=a6(a)),a7(a)}(d,b,e),g}(this,a):k(bc("write"))}}function a0(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")&&a instanceof a_}function a1(a,b){"pending"===a._readyPromiseState?bj(a,b):bi(a,b)}Object.defineProperties(a_.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),g(a_.prototype.abort,"abort"),g(a_.prototype.close,"close"),g(a_.prototype.releaseLock,"releaseLock"),g(a_.prototype.write,"write"),"symbol"==typeof d.toStringTag&&Object.defineProperty(a_.prototype,d.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});let a2={};class a3{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!a4(this))throw bb("abortReason");return this._abortReason}get signal(){if(!a4(this))throw bb("signal");if(void 0===this._abortController)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(a){if(!a4(this))throw bb("error");"writable"===this._controlledWritableStream._state&&a9(this,a)}[t](a){let b=this._abortAlgorithm(a);return a5(this),b}[u](){ag(this)}}function a4(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")&&a instanceof a3}function a5(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function a6(a){return a._strategyHWM-a._queueTotalSize}function a7(a){let b=a._controlledWritableStream;if(!a._started||void 0!==b._inFlightWriteRequest)return;if("erroring"===b._state)return void aX(b);if(0===a._queue.length)return;let c=a._queue.peek().value;c===a2?function(a){let b=a._controlledWritableStream;b._inFlightCloseRequest=b._closeRequest,b._closeRequest=void 0,ae(a);let c=a._closeAlgorithm();a5(a),n(c,()=>((function(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,"erroring"===a._state&&(a._storedError=void 0,void 0!==a._pendingAbortRequest&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let b=a._writer;void 0!==b&&bg(b)})(b),null),a=>(b._inFlightCloseRequest._reject(a),b._inFlightCloseRequest=void 0,void 0!==b._pendingAbortRequest&&(b._pendingAbortRequest._reject(a),b._pendingAbortRequest=void 0),aV(b,a),null))}(a):function(a,b){let c=a._controlledWritableStream;c._inFlightWriteRequest=c._writeRequests.shift(),n(a._writeAlgorithm(b),()=>{c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0;let b=c._state;return ae(a),aY(c)||"writable"!==b||a$(c,0>=a6(a)),a7(a),null},b=>("writable"===c._state&&a5(a),c._inFlightWriteRequest._reject(b),c._inFlightWriteRequest=void 0,aV(c,b),null))}(a,c)}function a8(a,b){"writable"===a._controlledWritableStream._state&&a9(a,b)}function a9(a,b){let c=a._controlledWritableStream;a5(a),aW(c,b)}function ba(a){return TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}function bb(a){return TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}function bc(a){return TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}function bd(a){return TypeError("Cannot "+a+" a stream using a released writer")}function be(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c,a._closedPromiseState="pending"})}function bf(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}function bg(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}function bh(a){a._readyPromise=l((b,c)=>{a._readyPromise_resolve=b,a._readyPromise_reject=c}),a._readyPromiseState="pending"}function bi(a,b){bh(a),bj(a,b)}function bj(a,b){void 0!==a._readyPromise_reject&&(o(a._readyPromise),a._readyPromise_reject(b),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}function bk(a){void 0!==a._readyPromise_resolve&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}Object.defineProperties(a3.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(a3.prototype,d.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});let bl="undefined"!=typeof DOMException?DOMException:void 0,bm=!function(a){if("function"!=typeof a&&"object"!=typeof a)return!1;try{return new a,!0}catch(a){return!1}}(bl)?function(){let a=function(a,b){this.message=a||"",this.name=b||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}():bl;function bn(a,b,c,d,e,f){let g=a.getReader(),h=b.getWriter();by(a)&&(a._disturbed=!0);let i,q,r,s=!1,t=!1,u="readable",v="writable",w=!1,x=!1,y=l(a=>{r=a}),z=Promise.resolve(void 0);return l((A,B)=>{let C;function D(){if(s)return;let a=l((a,b)=>{!function c(d){d?a():m(s?j(!0):m(h.ready,()=>m(g.read(),a=>!!a.done||(o(z=h.write(a.value)),!1))),c,b)}(!1)});o(a)}function E(){return u="closed",c?I():H(()=>(aR(b)&&(w=aY(b),v=b._state),w||"closed"===v?j(void 0):"erroring"===v||"errored"===v?k(q):(w=!0,h.close())),!1,void 0),null}function F(a){return s||(u="errored",i=a,d?I(!0,a):H(()=>h.abort(a),!0,a)),null}function G(a){return t||(v="errored",q=a,e?I(!0,a):H(()=>g.cancel(a),!0,a)),null}if(void 0!==f&&(C=()=>{let a=void 0!==f.reason?f.reason:new bm("Aborted","AbortError"),b=[];d||b.push(()=>"writable"===v?h.abort(a):j(void 0)),e||b.push(()=>"readable"===u?g.cancel(a):j(void 0)),H(()=>Promise.all(b.map(a=>a())),!0,a)},f.aborted?C():f.addEventListener("abort",C)),by(a)&&(u=a._state,i=a._storedError),aR(b)&&(v=b._state,q=b._storedError,w=aY(b)),by(a)&&aR(b)&&(x=!0,r()),"errored"===u)F(i);else if("erroring"===v||"errored"===v)G(q);else if("closed"===u)E();else if(w||"closed"===v){let a=TypeError("the destination writable stream closed before all data could be piped to it");e?I(!0,a):H(()=>g.cancel(a),!0,a)}function H(a,b,c){function d(){let a;return"writable"!==v||w?e():n(j(function b(){if(a!==z)return a=z,m(z,b,b)}()),e),null}function e(){return a?n(a(),()=>J(b,c),a=>J(!0,a)):J(b,c),null}s||(s=!0,x?d():n(y,d))}function I(a,b){H(void 0,a,b)}function J(a,b){return t=!0,h.releaseLock(),g.releaseLock(),void 0!==f&&f.removeEventListener("abort",C),a?B(b):A(void 0),null}s||(n(g.closed,E,F),n(h.closed,function(){return t||(v="closed"),null},G)),x?D():p(()=>{x=!0,r(),D()})})}class bo{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bp(this))throw bv("desiredSize");return bt(this)}close(){if(!bp(this))throw bv("close");if(!bu(this))throw TypeError("The stream is not in a state that permits close");!function(a){if(!bu(a))return;let b=a._controlledReadableStream;a._closeRequested=!0,0===a._queue.length&&(br(a),bB(b))}(this)}enqueue(a){if(!bp(this))throw bv("enqueue");if(!bu(this))throw TypeError("The stream is not in a state that permits enqueue");if(!bu(this))return;let b=this._controlledReadableStream;if(bz(b)&&T(b)>0)S(b,a,!1);else{let b;try{b=this._strategySizeAlgorithm(a)}catch(a){throw bs(this,a),a}try{af(this,a,b)}catch(a){throw bs(this,a),a}}bq(this)}error(a){if(!bp(this))throw bv("error");bs(this,a)}[v](a){ag(this);let b=this._cancelAlgorithm(a);return br(this),b}[w](a){let b=this._controlledReadableStream;if(this._queue.length>0){let c=ae(this);this._closeRequested&&0===this._queue.length?(br(this),bB(b)):bq(this),a._chunkSteps(c)}else R(b,a),bq(this)}[x](){}}function bp(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")&&a instanceof bo}function bq(a){if(function(a){let b=a._controlledReadableStream;return!!bu(a)&&!!a._started&&!!(bz(b)&&T(b)>0||bt(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,bq(a)),null),b=>(bs(a,b),null))}}function br(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function bs(a,b){let c=a._controlledReadableStream;"readable"===c._state&&(ag(a),br(a),bC(c,b))}function bt(a){let b=a._controlledReadableStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function bu(a){return!a._closeRequested&&"readable"===a._controlledReadableStream._state}function bv(a){return TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}function bw(a,b){H(a,b);let c=null==a?void 0:a.preventAbort,d=null==a?void 0:a.preventCancel,e=null==a?void 0:a.preventClose,f=null==a?void 0:a.signal;return void 0!==f&&function(a,b){if(!function(a){if("object"!=typeof a||null===a)return!1;try{return"boolean"==typeof a.aborted}catch(a){return!1}}(a))throw TypeError(`${b} is not an AbortSignal.`)}(f,`${b} has member 'signal' that`),{preventAbort:!!c,preventCancel:!!d,preventClose:!!e,signal:f}}Object.defineProperties(bo.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bo.prototype.close,"close"),g(bo.prototype.enqueue,"enqueue"),g(bo.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bo.prototype,d.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class bx{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.autoAllocateChunkSize,d=null==a?void 0:a.cancel,e=null==a?void 0:a.pull,f=null==a?void 0:a.start,g=null==a?void 0:a.type;return{autoAllocateChunkSize:void 0===c?void 0:N(c,`${b} has member 'autoAllocateChunkSize' that`),cancel:void 0===d?void 0:(I(d,`${b} has member 'cancel' that`),b=>r(d,a,[b])),pull:void 0===e?void 0:(I(e,`${b} has member 'pull' that`),b=>r(e,a,[b])),start:void 0===f?void 0:(I(f,`${b} has member 'start' that`),b=>q(f,a,[b])),type:void 0===g?void 0:function(a,b){if("bytes"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}(g,`${b} has member 'type' that`)}}(a,"First parameter");if(this._state="readable",this._reader=void 0,this._storedError=void 0,this._disturbed=!1,"bytes"===d.type){if(void 0!==c.size)throw RangeError("The strategy for a byte stream cannot have a size function");!function(a,b,c){let d,e,f,g=Object.create(ai.prototype);d=void 0!==b.start?()=>b.start(g):()=>{},e=void 0!==b.pull?()=>b.pull(g):()=>j(void 0),f=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0);let h=b.autoAllocateChunkSize;if(0===h)throw TypeError("autoAllocateChunkSize must be greater than 0");g._controlledReadableByteStream=a,g._pullAgain=!1,g._pulling=!1,g._byobRequest=null,g._queue=g._queueTotalSize=void 0,ag(g),g._closeRequested=!1,g._started=!1,g._strategyHWM=c,g._pullAlgorithm=e,g._cancelAlgorithm=f,g._autoAllocateChunkSize=h,g._pendingPullIntos=new s,a._readableStreamController=g,n(j(d()),()=>(g._started=!0,al(g),null),a=>(aA(g,a),null))}(this,d,aM(c,0))}else{let a=aN(c);!function(a,b,c,d){let e,f,g,h=Object.create(bo.prototype);e=void 0!==b.start?()=>b.start(h):()=>{},f=void 0!==b.pull?()=>b.pull(h):()=>j(void 0),g=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0),h._controlledReadableStream=a,h._queue=void 0,h._queueTotalSize=void 0,ag(h),h._started=!1,h._closeRequested=!1,h._pullAgain=!1,h._pulling=!1,h._strategySizeAlgorithm=d,h._strategyHWM=c,h._pullAlgorithm=f,h._cancelAlgorithm=g,a._readableStreamController=h,n(j(e()),()=>(h._started=!0,bq(h),null),a=>(bs(h,a),null))}(this,d,aM(c,1),a)}}get locked(){if(!by(this))throw bD("locked");return bz(this)}cancel(a){return by(this)?bz(this)?k(TypeError("Cannot cancel a stream that already has a reader")):bA(this,a):k(bD("cancel"))}getReader(a){if(!by(this))throw bD("getReader");return void 0===function(a,b){H(a,b);let c=null==a?void 0:a.mode;return{mode:void 0===c?void 0:function(a,b){if("byob"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}(c,`${b} has member 'mode' that`)}}(a,"First parameter").mode?new V(this):new aI(this)}pipeThrough(a,b={}){if(!O(this))throw bD("pipeThrough");K(a,1,"pipeThrough");let c=function(a,b){H(a,b);let c=null==a?void 0:a.readable;L(c,"readable","ReadableWritablePair"),function(a,b){if(!O(a))throw TypeError(`${b} is not a ReadableStream.`)}(c,`${b} has member 'readable' that`);let d=null==a?void 0:a.writable;return L(d,"writable","ReadableWritablePair"),function(a,b){if(!P(a))throw TypeError(`${b} is not a WritableStream.`)}(d,`${b} has member 'writable' that`),{readable:c,writable:d}}(a,"First parameter"),d=bw(b,"Second parameter");if(this.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(c.writable.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return o(bn(this,c.writable,d.preventClose,d.preventAbort,d.preventCancel,d.signal)),c.readable}pipeTo(a,b={}){let c;if(!O(this))return k(bD("pipeTo"));if(void 0===a)return k("Parameter 1 is required in 'pipeTo'.");if(!P(a))return k(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));try{c=bw(b,"Second parameter")}catch(a){return k(a)}return this.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):a.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):bn(this,a,c.preventClose,c.preventAbort,c.preventCancel,c.signal)}tee(){if(!O(this))throw bD("tee");if(this.locked)throw TypeError("Cannot tee a stream that already has a reader");return!function(a){try{return a.getReader({mode:"byob"}).releaseLock(),!0}catch(a){return!1}}(this)?function(a,b){let c=a.getReader(),d,e,f,g,h,i=!1,k=!1,m=!1,o=!1,p=l(a=>{h=a});function q(){return i?k=!0:(i=!0,n(c.read(),a=>{if(k=!1,a.done)return m||f.close(),o||g.close(),m&&o||h(void 0),null;let b=a.value;return m||f.enqueue(b),o||g.enqueue(b),i=!1,k&&q(),null},()=>(i=!1,null))),j(void 0)}let r=new bx({start(a){f=a},pull:q,cancel:function(a){if(m=!0,d=a,o){let a=[d,e],b=c.cancel(a);h(b)}return p}}),s=new bx({start(a){g=a},pull:q,cancel:function(a){if(o=!0,e=a,m){let a=[d,e],b=c.cancel(a);h(b)}return p}});return n(c.closed,void 0,a=>(f.error(a),g.error(a),m&&o||h(void 0),null)),[r,s]}(this):function(a){let b,c,d,e,f,g=a.getReader(),h=!1,i=!1,k=!1,m=!1,o=!1,p=!1,q=l(a=>{f=a});function r(a){n(a.closed,void 0,b=>(a!==g||(d.error(b),e.error(b),o&&p||f(void 0)),null))}function s(){h&&(g.releaseLock(),r(g=a.getReader()),h=!1),n(g.read(),a=>{var b,c;if(k=!1,m=!1,a.done)return o||d.close(),p||e.close(),null==(b=d.byobRequest)||b.respond(0),null==(c=e.byobRequest)||c.respond(0),o&&p||f(void 0),null;let h=a.value,j=h;if(!o&&!p)try{j=ad(h)}catch(a){return d.error(a),e.error(a),f(g.cancel(a)),null}return o||d.enqueue(h),p||e.enqueue(j),i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function t(b,c){h||(g.releaseLock(),r(g=a.getReader({mode:"byob"})),h=!0);let j=c?e:d,l=c?d:e;n(g.read(b),a=>{var b;k=!1,m=!1;let d=c?p:o,e=c?o:p;if(a.done){d||j.close(),e||l.close();let c=a.value;return void 0!==c&&(d||j.byobRequest.respondWithNewView(c),e||null==(b=l.byobRequest)||b.respond(0)),d&&e||f(void 0),null}let h=a.value;if(e)d||j.byobRequest.respondWithNewView(h);else{let a;try{a=ad(h)}catch(a){return j.error(a),l.error(a),f(g.cancel(a)),null}d||j.byobRequest.respondWithNewView(h),l.enqueue(a)}return i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function u(){if(i)return k=!0,j(void 0);i=!0;let a=d.byobRequest;return null===a?s():t(a.view,!1),j(void 0)}function v(){if(i)return m=!0,j(void 0);i=!0;let a=e.byobRequest;return null===a?s():t(a.view,!0),j(void 0)}let w=new bx({type:"bytes",start(a){d=a},pull:u,cancel:function(a){if(o=!0,b=a,p){let a=[b,c],d=g.cancel(a);f(d)}return q}}),x=new bx({type:"bytes",start(a){e=a},pull:v,cancel:function(a){if(p=!0,c=a,o){let a=[b,c],d=g.cancel(a);f(d)}return q}});return r(g),[w,x]}(this)}values(a){if(!O(this))throw bD("values");return function(a,b){let c=new Z(a.getReader(),b),d=Object.create($);return d._asyncIteratorImpl=c,d}(this,(H(a,"First parameter"),{preventCancel:!!(null==a?void 0:a.preventCancel)}).preventCancel)}}function by(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")&&a instanceof bx}function bz(a){return void 0!==a._reader}function bA(a,b){if(a._disturbed=!0,"closed"===a._state)return j(void 0);if("errored"===a._state)return k(a._storedError);bB(a);let c=a._reader;if(void 0!==c&&aJ(c)){let a=c._readIntoRequests;c._readIntoRequests=new s,a.forEach(a=>{a._closeSteps(void 0)})}return m(a._readableStreamController[v](b),e,void 0)}function bB(a){a._state="closed";let b=a._reader;if(void 0!==b&&(E(b),W(b))){let a=b._readRequests;b._readRequests=new s,a.forEach(a=>{a._closeSteps()})}}function bC(a,b){a._state="errored",a._storedError=b;let c=a._reader;void 0!==c&&(D(c,b),W(c)?X(c,b):aK(c,b))}function bD(a){return TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}function bE(a,b){H(a,b);let c=null==a?void 0:a.highWaterMark;return L(c,"highWaterMark","QueuingStrategyInit"),{highWaterMark:M(c)}}Object.defineProperties(bx.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),g(bx.prototype.cancel,"cancel"),g(bx.prototype.getReader,"getReader"),g(bx.prototype.pipeThrough,"pipeThrough"),g(bx.prototype.pipeTo,"pipeTo"),g(bx.prototype.tee,"tee"),g(bx.prototype.values,"values"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bx.prototype,d.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof d.asyncIterator&&Object.defineProperty(bx.prototype,d.asyncIterator,{value:bx.prototype.values,writable:!0,configurable:!0});let bF=a=>a.byteLength;g(bF,"size");class bG{constructor(a){K(a,1,"ByteLengthQueuingStrategy"),a=bE(a,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bI(this))throw bH("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!bI(this))throw bH("size");return bF}}function bH(a){return TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}function bI(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")&&a instanceof bG}Object.defineProperties(bG.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bG.prototype,d.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});let bJ=()=>1;g(bJ,"size");class bK{constructor(a){K(a,1,"CountQueuingStrategy"),a=bE(a,"First parameter"),this._countQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bM(this))throw bL("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!bM(this))throw bL("size");return bJ}}function bL(a){return TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}function bM(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")&&a instanceof bK}Object.defineProperties(bK.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bK.prototype,d.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class bN{constructor(a={},b={},c={}){let d;void 0===a&&(a=null);let e=aO(b,"Second parameter"),f=aO(c,"Third parameter"),g=function(a,b){H(a,b);let c=null==a?void 0:a.flush,d=null==a?void 0:a.readableType,e=null==a?void 0:a.start,f=null==a?void 0:a.transform,g=null==a?void 0:a.writableType;return{flush:void 0===c?void 0:(I(c,`${b} has member 'flush' that`),b=>r(c,a,[b])),readableType:d,start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),transform:void 0===f?void 0:(I(f,`${b} has member 'transform' that`),(b,c)=>r(f,a,[b,c])),writableType:g}}(a,"First parameter");if(void 0!==g.readableType)throw RangeError("Invalid readableType specified");if(void 0!==g.writableType)throw RangeError("Invalid writableType specified");let h=aM(f,0),i=aN(f),n=aM(e,1),o=aN(e);!function(a,b,c,d,e,f){var g,h,i;function k(){return b}a._writableState="writable",a._writableStoredError=void 0,a._writableHasInFlightOperation=!1,a._writableStarted=!1,g=function(b){let c=a._transformStreamController;return a._backpressure?m(a._backpressureChangePromise,()=>{if("erroring"===(aR(a._writable)?a._writable._state:a._writableState))throw aR(a._writable)?a._writable._storedError:a._writableStoredError;return bW(c,b)},void 0):bW(c,b)},h=function(){var b=a;let c=b._transformStreamController,d=c._flushAlgorithm();return bU(c),m(d,()=>{if("errored"===b._readableState)throw b._readableStoredError;bZ(b)&&b$(b)},a=>{throw bP(b,a),b._readableStoredError})},a._writable=new aQ({start(b){a._writableController=b;try{let c=b.signal;void 0!==c&&c.addEventListener("abort",()=>{"writable"===a._writableState&&(a._writableState="erroring",c.reason&&(a._writableStoredError=c.reason))})}catch(a){}return m(k(),()=>(a._writableStarted=!0,b4(a),null),b=>{throw a._writableStarted=!0,b1(a,b),b})},write:b=>(a._writableHasInFlightOperation=!0,m(g(b),()=>(a._writableHasInFlightOperation=!1,b4(a),null),b=>{throw a._writableHasInFlightOperation=!1,b1(a,b),b})),close:()=>(a._writableHasInFlightOperation=!0,m(h(),()=>(a._writableHasInFlightOperation=!1,"erroring"===a._writableState&&(a._writableStoredError=void 0),a._writableState="closed",null),b=>{throw a._writableHasInFlightOperation=!1,a._writableState,b1(a,b),b})),abort:b=>(a._writableState="errored",a._writableStoredError=b,function(b){return bP(a,b),j(void 0)}(b))},{highWaterMark:c,size:d}),a._readableState="readable",a._readableStoredError=void 0,a._readableCloseRequested=!1,a._readablePulling=!1,i=function(){return bR(a,!1),a._backpressureChangePromise},a._readable=new bx({start:b=>(a._readableController=b,k().catch(b=>{b_(a,b)})),pull:()=>(a._readablePulling=!0,i().catch(b=>{b_(a,b)})),cancel:b=>(a._readableState="closed",function(b){return bQ(a,b),j(void 0)}(b))},{highWaterMark:e,size:f}),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,bR(a,!0),a._transformStreamController=void 0}(this,l(a=>{d=a}),n,o,h,i),function(a,b){let c,d,e=Object.create(bS.prototype);c=void 0!==b.transform?a=>b.transform(a,e):a=>{try{var b;return bV(e,a),b=void 0,j(b)}catch(a){return k(a)}},d=void 0!==b.flush?()=>b.flush(e):()=>j(void 0),e._controlledTransformStream=a,a._transformStreamController=e,e._transformAlgorithm=c,e._flushAlgorithm=d}(this,g),void 0!==g.start?d(g.start(this._transformStreamController)):d(void 0)}get readable(){if(!bO(this))throw bY("readable");return this._readable}get writable(){if(!bO(this))throw bY("writable");return this._writable}}function bO(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")&&a instanceof bN}function bP(a,b){b_(a,b),bQ(a,b)}function bQ(a,b){bU(a._transformStreamController),a._writableController.error(b),"writable"===a._writableState&&b2(a,b),a._backpressure&&bR(a,!1)}function bR(a,b){void 0!==a._backpressureChangePromise&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=l(b=>{a._backpressureChangePromise_resolve=b}),a._backpressure=b}Object.defineProperties(bN.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bN.prototype,d.toStringTag,{value:"TransformStream",configurable:!0});class bS{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bT(this))throw bX("desiredSize");return b0(this._controlledTransformStream)}enqueue(a){if(!bT(this))throw bX("enqueue");bV(this,a)}error(a){if(!bT(this))throw bX("error");bP(this._controlledTransformStream,a)}terminate(){if(!bT(this))throw bX("terminate");let a=this._controlledTransformStream;bZ(a)&&b$(a),bQ(a,TypeError("TransformStream terminated"))}}function bT(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")&&a instanceof bS}function bU(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0}function bV(a,b){let c=a._controlledTransformStream;if(!bZ(c))throw TypeError("Readable side is not in a state that permits enqueue");try{c._readablePulling=!1;try{c._readableController.enqueue(b)}catch(a){throw b_(c,a),a}}catch(a){throw bQ(c,a),c._readableStoredError}!(bZ(c)&&(c._readablePulling||b0(c)>0))!==c._backpressure&&bR(c,!0)}function bW(a,b){return m(a._transformAlgorithm(b),void 0,b=>{throw bP(a._controlledTransformStream,b),b})}function bX(a){return TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}function bY(a){return TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}function bZ(a){return!a._readableCloseRequested&&"readable"===a._readableState}function b$(a){a._readableState="closed",a._readableCloseRequested=!0,a._readableController.close()}function b_(a,b){"readable"===a._readableState&&(a._readableState="errored",a._readableStoredError=b),a._readableController.error(b)}function b0(a){return a._readableController.desiredSize}function b1(a,b){"writable"!==a._writableState?b3(a):b2(a,b)}function b2(a,b){a._writableState="erroring",a._writableStoredError=b,!a._writableHasInFlightOperation&&a._writableStarted&&b3(a)}function b3(a){a._writableState="errored"}function b4(a){"erroring"===a._writableState&&b3(a)}Object.defineProperties(bS.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bS.prototype.enqueue,"enqueue"),g(bS.prototype.error,"error"),g(bS.prototype.terminate,"terminate"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bS.prototype,d.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var b5,b6,b7,b8=c(91527);async function*b9(a){let b=a.byteOffset+a.byteLength,c=a.byteOffset;for(;c!==b;){let d=Math.min(b-c,65536),e=a.buffer.slice(c,c+d);c+=e.byteLength,yield new Uint8Array(e)}}async function*ca(a){let b=0;for(;b!==a.size;){let c=a.slice(b,Math.min(a.size,b+65536)),d=await c.arrayBuffer();b+=d.byteLength,yield new Uint8Array(d)}}async function*cb(a,b=!1){for(let c of a)ArrayBuffer.isView(c)?b?yield*b9(c):yield c:(0,b8.T)(c.stream)?yield*c.stream():yield*ca(c)}var cc=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},cd=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class ce{constructor(a=[],b={}){if(b5.set(this,[]),b6.set(this,""),b7.set(this,0),null!=b||(b={}),"object"!=typeof a||null===a)throw TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(!(0,b8.T)(a[Symbol.iterator]))throw TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if("object"!=typeof b&&!(0,b8.T)(b))throw TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");let c=new TextEncoder;for(let b of a){let a;a=ArrayBuffer.isView(b)?new Uint8Array(b.buffer.slice(b.byteOffset,b.byteOffset+b.byteLength)):b instanceof ArrayBuffer?new Uint8Array(b.slice(0)):b instanceof ce?b:c.encode(String(b)),cd(this,b7,cc(this,b7,"f")+(ArrayBuffer.isView(a)?a.byteLength:a.size),"f"),cc(this,b5,"f").push(a)}let d=void 0===b.type?"":String(b.type);cd(this,b6,/^[\x20-\x7E]*$/.test(d)?d:"","f")}static[(b5=new WeakMap,b6=new WeakMap,b7=new WeakMap,Symbol.hasInstance)](a){return!!(a&&"object"==typeof a&&(0,b8.T)(a.constructor)&&((0,b8.T)(a.stream)||(0,b8.T)(a.arrayBuffer))&&/^(Blob|File)$/.test(a[Symbol.toStringTag]))}get type(){return cc(this,b6,"f")}get size(){return cc(this,b7,"f")}slice(a,b,c){return new ce(function*(a,b,c=0,d){null!=d||(d=b);let e=c<0?Math.max(b+c,0):Math.min(c,b),f=d<0?Math.max(b+d,0):Math.min(d,b),g=Math.max(f-e,0),h=0;for(let b of a){if(h>=g)break;let a=ArrayBuffer.isView(b)?b.byteLength:b.size;if(e&&a<=e)e-=a,f-=a;else{let c;ArrayBuffer.isView(b)?h+=(c=b.subarray(e,Math.min(a,f))).byteLength:h+=(c=b.slice(e,Math.min(a,f))).size,f-=a,e=0,yield c}}}(cc(this,b5,"f"),this.size,a,b),{type:c})}async text(){let a=new TextDecoder,b="";for await(let c of cb(cc(this,b5,"f")))b+=a.decode(c,{stream:!0});return b+a.decode()}async arrayBuffer(){let a=new Uint8Array(this.size),b=0;for await(let c of cb(cc(this,b5,"f")))a.set(c,b),b+=c.length;return a.buffer}stream(){let a=cb(cc(this,b5,"f"),!0);return new bx({async pull(b){let{value:c,done:d}=await a.next();if(d)return queueMicrotask(()=>b.close());b.enqueue(c)},async cancel(){await a.return()}})}get[Symbol.toStringTag](){return"Blob"}}Object.defineProperties(ce.prototype,{type:{enumerable:!0},size:{enumerable:!0},slice:{enumerable:!0},stream:{enumerable:!0},text:{enumerable:!0},arrayBuffer:{enumerable:!0}})},94672:(a,b,c)=>{"use strict";var d="undefined"!=typeof Symbol&&Symbol,e=c(11870);a.exports=function(){return"function"==typeof d&&"function"==typeof Symbol&&"symbol"==typeof d("foo")&&"symbol"==typeof Symbol("bar")&&e()}},96239:(a,b,c)=>{"use strict";let{Writable:d}=c(27910),e=c(74240),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(32995),{concat:j,toArrayBuffer:k,unmask:l}=c(27047),{isValidStatusCode:m,isValidUTF8:n}=c(26649),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxBufferedChunks=0|a.maxBufferedChunks,this._maxFragments=0|a.maxFragments,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){return 8===this._opcode&&0==this._state?c():this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks?void c(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS")):void(this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c))}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}if(b.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void a(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._messageLength=this._totalPayloadLength,this._fragments.push(b)}this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void b(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p},96655:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},96698:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAuth=b.GoogleAuthExceptionMessages=void 0;let d=c(79646),e=c(29021),f=c(79792),g=c(70916),h=c(21820),i=c(33873),j=c(88593),k=c(745),l=c(58500),m=c(25203),n=c(74829),o=c(31995),p=c(83e3),q=c(93209),r=c(35294),s=c(49502),t=c(29694),u=c(24420),v=c(45388);b.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. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_CREDENTIALS_FOUND:"Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://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.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"};class w{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#C=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(a={}){if(this._cachedProjectId=a.projectId||null,this.cachedCredential=a.authClient||null,this.keyFilename=a.keyFilename||a.keyFile,this.scopes=a.scopes,this.clientOptions=a.clientOptions||{},this.jsonContent=a.credentials||null,this.apiKey=a.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(b.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);a.universeDomain&&(this.clientOptions.universeDomain=a.universeDomain)}setGapicJWTValues(a){a.defaultServicePath=this.defaultServicePath,a.useJWTAccessWithScope=this.useJWTAccessWithScope,a.defaultScopes=this.defaultScopes}getProjectId(a){if(!a)return this.getProjectIdAsync();this.getProjectIdAsync().then(b=>a(null,b),a)}async getProjectIdOptional(){try{return await this.getProjectId()}catch(a){if(a instanceof Error&&a.message===b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw a}}async findAndCacheProjectId(){let a=null;if(a||=await this.getProductionProjectId(),a||=await this.getFileProjectId(),a||=await this.getDefaultServiceProjectId(),a||=await this.getGCEProjectId(),a||=await this.getExternalAccountClientProjectId())return this._cachedProjectId=a,a;throw Error(b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let a;try{a=await g.universe("universe-domain"),a||=s.DEFAULT_UNIVERSE}catch(b){if(b&&b?.response?.status===404)a=s.DEFAULT_UNIVERSE;else throw b}return a}async getUniverseDomain(){let a=(0,v.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{a??=(await this.getClient()).universeDomain}catch{a??=s.DEFAULT_UNIVERSE}return a}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(a={},b){let c;if("function"==typeof a?b=a:c=a,!b)return this.getApplicationDefaultAsync(c);this.getApplicationDefaultAsync(c).then(a=>b(null,a.credential,a.projectId),b)}async getApplicationDefaultAsync(a={}){let c;if(this.cachedCredential)return await this.#D(this.cachedCredential,null);if((c=await this._tryGetApplicationCredentialsFromEnvironmentVariable(a))||(c=await this._tryGetApplicationCredentialsFromWellKnownFile(a)))return c instanceof n.JWT?c.scopes=this.scopes:c instanceof r.BaseExternalAccountClient&&(c.scopes=this.getAnyScopes()),await this.#D(c);if(await this._checkIsGCE())return a.scopes=this.getAnyScopes(),await this.#D(new k.Compute(a));throw Error(b.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async #D(a,b=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let c=await this.getProjectIdOptional();return b&&(a.quotaProjectId=b),this.cachedCredential=a,{credential:a,projectId:c}}async _checkIsGCE(){return void 0===this.checkIsGCE&&(this.checkIsGCE=g.getGCPResidency()||await g.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(a){let b=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!b||0===b.length)return null;try{return this._getApplicationCredentialsFromFilePath(b,a)}catch(a){throw a instanceof Error&&(a.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${a.message}`),a}}async _tryGetApplicationCredentialsFromWellKnownFile(a){let b=null;if(this._isWindows())b=process.env.APPDATA;else{let a=process.env.HOME;a&&(b=i.join(a,".config"))}return(b&&(b=i.join(b,"gcloud","application_default_credentials.json"),e.existsSync(b)||(b=null)),b)?await this._getApplicationCredentialsFromFilePath(b,a):null}async _getApplicationCredentialsFromFilePath(a,b={}){if(!a||0===a.length)throw Error("The file path is invalid.");try{if(a=e.realpathSync(a),!e.lstatSync(a).isFile())throw Error()}catch(b){throw b instanceof Error&&(b.message=`The file at ${a} does not exist, or it is not a file. ${b.message}`),b}let c=e.createReadStream(a);return this.fromStream(c,b)}fromImpersonatedJSON(a){if(!a)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(a.type!==p.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${p.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!a.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!a.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let b=this.fromJSON(a.source_credentials);if(a.service_account_impersonation_url?.length>256)throw RangeError(`Target principal is too long: ${a.service_account_impersonation_url}`);let c=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(a.service_account_impersonation_url)?.groups?.target;if(!c)throw RangeError(`Cannot extract target principal from ${a.service_account_impersonation_url}`);let d=(this.scopes||a.scopes||this.defaultScopes)??[];return new p.Impersonated({...a,sourceClient:b,targetPrincipal:c,targetScopes:Array.isArray(d)?d:[d]})}fromJSON(a,b={}){let c,d=(0,v.originalOrCamelOptions)(b).get("universe_domain");return a.type===o.USER_REFRESH_ACCOUNT_TYPE?(c=new o.UserRefreshClient(b)).fromJSON(a):a.type===p.IMPERSONATED_ACCOUNT_TYPE?c=this.fromImpersonatedJSON(a):a.type===r.EXTERNAL_ACCOUNT_TYPE?(c=q.ExternalAccountClient.fromJSON({...a,...b})).scopes=this.getAnyScopes():a.type===t.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?c=new t.ExternalAccountAuthorizedUserClient({...a,...b}):a.type===u.GDCH_SERVICE_ACCOUNT_TYPE?(c=new u.GdchClient(b)).fromJSON(a):(b.scopes=this.scopes,c=new n.JWT(b),this.setGapicJWTValues(c),c.fromJSON(a)),d&&(c.universeDomain=d),c}_cacheClientFromJSON(a,b){let c=this.fromJSON(a,b);return this.jsonContent=a,this.cachedCredential=c,c}fromStream(a,b={},c){let d={};if("function"==typeof b?c=b:d=b,!c)return this.fromStreamAsync(a,d);this.fromStreamAsync(a,d).then(a=>c(null,a),c)}fromStreamAsync(a,b){return new Promise((c,d)=>{if(!a)throw Error("Must pass in a stream containing the Google auth settings.");let e=[];a.setEncoding("utf8").on("error",d).on("data",a=>e.push(a)).on("end",()=>{try{try{let a=JSON.parse(e.join("")),d=this._cacheClientFromJSON(a,b);return c(d)}catch(b){if(!this.keyFilename)throw b;let a=new n.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),c(a)}}catch(a){return d(a)}})})}fromAPIKey(a,b={}){return new n.JWT({...b,apiKey:a})}_isWindows(){let a=h.platform();return!!a&&!!(a.length>=3)&&"win"===a.substring(0,3).toLowerCase()}async getDefaultServiceProjectId(){return new Promise(a=>{(0,d.exec)("gcloud config config-helper --format json",(b,c)=>{if(!b&&c)try{let b=JSON.parse(c).configuration.properties.core.project;a(b);return}catch(a){}a(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 a=await this.getClient();if(a&&a.projectId)return a.projectId}let a=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return a?a.projectId:null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==r.EXTERNAL_ACCOUNT_TYPE)return null;let a=await this.getClient();return await a.getProjectId()}async getGCEProjectId(){try{return await g.project("project-id")}catch(a){return null}}getCredentials(a){if(!a)return this.getCredentialsAsync();this.getCredentialsAsync().then(b=>a(null,b),a)}async getCredentialsAsync(){let a=await this.getClient();if(a instanceof p.Impersonated)return{client_email:a.getTargetPrincipal()};if(a instanceof r.BaseExternalAccountClient){let b=a.getServiceAccountEmail();if(b)return{client_email:b,universe_domain:a.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[a,b]=await Promise.all([g.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:a,universe_domain:b}}throw Error(b.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#C=this.#C||this.#E();try{let a=await this.#C;if(a instanceof u.GdchClient&&!a.apiAudience){let b=this.clientOptions,c=b.apiEndpoint||b.servicePath;if(c){let b=c.startsWith("http")?"":"https://",d=`${b}${c}/`.replace(/\/+$/,"/"),e=a.createWithGdchAudience(d);return this.cachedCredential=e,e}}return a}finally{this.#C=null}}async #E(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let a=i.resolve(this.keyFilename),b=e.createReadStream(a);return await this.fromStreamAsync(b,this.clientOptions)}if(this.apiKey){let a=await this.fromAPIKey(this.apiKey,this.clientOptions);a.scopes=this.scopes;let{credential:b}=await this.#D(a);return b}{let{credential:a}=await this.getApplicationDefaultAsync(this.clientOptions);return a}}async getIdTokenClient(a){let b=await this.getClient();if(!("fetchIdToken"in b))throw 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 l.IdTokenClient({targetAudience:a,idTokenProvider:b})}async getAccessToken(){let a=await this.getClient();return(await a.getAccessToken()).token}async getRequestHeaders(a){return(await this.getClient()).getRequestHeaders(a)}async authorizeRequest(a={}){let b=a.url,c=await this.getClient(),d=await c.getRequestHeaders(b);return a.headers=f.Gaxios.mergeHeaders(a.headers,d),a}async fetch(...a){return(await this.getClient()).fetch(...a)}async request(a){return(await this.getClient()).request(a)}getEnv(){return(0,m.getEnv)()}async sign(a,b){let c=await this.getClient(),d=await this.getUniverseDomain();if(b=b||`https://iamcredentials.${d}/v1/projects/-/serviceAccounts/`,c instanceof p.Impersonated)return(await c.sign(a)).signedBlob;let e=(0,j.createCrypto)();if(c instanceof n.JWT&&c.key)return await e.sign(c.key,a);let f=await this.getCredentials();if(!f.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(e,f.client_email,a,b)}async signBlob(a,b,c,d){let e=new URL(d+`${b}:signBlob`);return(await this.request({method:"POST",url:e.href,data:{payload:a.encodeBase64StringUtf8(c)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}b.GoogleAuth=w},97025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateUnion=b.validateArray=b.usePattern=b.callValidateCode=b.schemaProperties=b.allSchemaProperties=b.noPropertyInData=b.propertyInData=b.isOwnProperty=b.hasPropFunc=b.reportMissingProp=b.checkMissingProp=b.checkReportMissingProp=void 0;let d=c(31849),e=c(83593),f=c(60359),g=c(83593);function h(a){return a.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,d._)`Object.prototype.hasOwnProperty`})}function i(a,b,c){return(0,d._)`${h(a)}.call(${b}, ${c})`}function j(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} === undefined`;return e?(0,d.or)(f,(0,d.not)(i(a,b,c))):f}function k(a){return a?Object.keys(a).filter(a=>"__proto__"!==a):[]}b.checkReportMissingProp=function(a,b){let{gen:c,data:e,it:f}=a;c.if(j(c,e,b,f.opts.ownProperties),()=>{a.setParams({missingProperty:(0,d._)`${b}`},!0),a.error()})},b.checkMissingProp=function({gen:a,data:b,it:{opts:c}},e,f){return(0,d.or)(...e.map(e=>(0,d.and)(j(a,b,e,c.ownProperties),(0,d._)`${f} = ${e}`)))},b.reportMissingProp=function(a,b){a.setParams({missingProperty:b},!0),a.error()},b.hasPropFunc=h,b.isOwnProperty=i,b.propertyInData=function(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} !== undefined`;return e?(0,d._)`${f} && ${i(a,b,c)}`:f},b.noPropertyInData=j,b.allSchemaProperties=k,b.schemaProperties=function(a,b){return k(b).filter(c=>!(0,e.alwaysValidSchema)(a,b[c]))},b.callValidateCode=function({schemaCode:a,data:b,it:{gen:c,topSchemaRef:e,schemaPath:g,errorPath:h},it:i},j,k,l){let m=l?(0,d._)`${a}, ${b}, ${e}${g}`:b,n=[[f.default.instancePath,(0,d.strConcat)(f.default.instancePath,h)],[f.default.parentData,i.parentData],[f.default.parentDataProperty,i.parentDataProperty],[f.default.rootData,f.default.rootData]];i.opts.dynamicRef&&n.push([f.default.dynamicAnchors,f.default.dynamicAnchors]);let o=(0,d._)`${m}, ${c.object(...n)}`;return k!==d.nil?(0,d._)`${j}.call(${k}, ${o})`:(0,d._)`${j}(${o})`};let l=(0,d._)`new RegExp`;b.usePattern=function({gen:a,it:{opts:b}},c){let e=b.unicodeRegExp?"u":"",{regExp:f}=b.code,h=f(c,e);return a.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,d._)`${"new RegExp"===f.code?l:(0,g.useFunc)(a,f)}(${c}, ${e})`})},b.validateArray=function(a){let{gen:b,data:c,keyword:f,it:g}=a,h=b.name("valid");if(g.allErrors){let a=b.let("valid",!0);return i(()=>b.assign(a,!1)),a}return b.var(h,!0),i(()=>b.break()),h;function i(g){let i=b.const("len",(0,d._)`${c}.length`);b.forRange("i",0,i,c=>{a.subschema({keyword:f,dataProp:c,dataPropType:e.Type.Num},h),b.if((0,d.not)(h),g)})}},b.validateUnion=function(a){let{gen:b,schema:c,keyword:f,it:g}=a;if(!Array.isArray(c))throw Error("ajv implementation error");if(c.some(a=>(0,e.alwaysValidSchema)(g,a))&&!g.opts.unevaluated)return;let h=b.let("valid",!1),i=b.name("_valid");b.block(()=>c.forEach((c,e)=>{let g=a.subschema({keyword:f,schemaProp:e,compositeRule:!0},i);b.assign(h,(0,d._)`${h} || ${i}`),a.mergeValidEvaluated(g,i)||b.if((0,d.not)(h))})),a.result(h,()=>a.reset(),()=>a.error(!0))}},97161:a=>{"use strict";a.exports.mixin=function(a,b){let c=Object.getOwnPropertyNames(b);for(let d=0;d<c.length;++d)Object.defineProperty(a,c[d],Object.getOwnPropertyDescriptor(b,c[d]))},a.exports.wrapperSymbol=Symbol("wrapper"),a.exports.implSymbol=Symbol("impl"),a.exports.wrapperForImpl=function(b){return b[a.exports.wrapperSymbol]},a.exports.implForWrapper=function(b){return b[a.exports.implSymbol]}},97236:a=>{"use strict";a.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},97250:(a,b,c)=>{"undefined"==typeof process||"renderer"===process.type||process.__nwjs?a.exports=c(81278):a.exports=c(35730)},97832:(a,b,c)=>{"use strict";c.d(b,{Do:()=>w,pF:()=>v,hO:()=>r,Gz:()=>x,eS:()=>y});var d=c(16977),e=c.n(d),f=c(79111),g=c(89392),h=c(18230);let i=(0,h.h)("utils/encryption/session"),j=new Map,k=(0,h.h)("utils/encryption/secure"),l="data_encryption_key",m="data_encryption_iv",n="data_encryption_salt",o="encryption_type";var p=function(a){return a.DEFAULT="default",a.USER="user",a}(p||{});function q(){let a=e().enc.Utf8.parse("flujo_fixed_salt_v1");return e().PBKDF2("FLUJO~",a,{keySize:8,iterations:1e5})}async function r(){k.debug("initializeDefaultEncryption: Entering method");try{if(await x())return!0;let a=q(),b=e().lib.WordArray.random(8),c=e().lib.WordArray.random(16),d=e().AES.encrypt(b.toString(),a,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7}),h=e().enc.Utf8.parse("flujo_fixed_salt_v1"),i={[l]:d.toString(),[m]:c.toString(),[n]:h.toString(),encryption_version:1,[o]:"default"};return await (0,f.VH)(g.Z.ENCRYPTION_KEY,i),!0}catch(a){return k.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function s(){k.debug("getDefaultDEK: Entering method");try{let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!a){if(!await r())return k.error("getDefaultDEK: Failed to initialize default encryption"),null;return await s()}if("default"!==a[o])return k.error("getDefaultDEK: Not using default encryption"),null;let b=a[l],c=e().enc.Hex.parse(a[m]),d=q(),h=e().AES.decrypt(b,d,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!h.toString())return k.error("getDefaultDEK: Failed to decrypt DEK with default key"),null;return e().enc.Hex.parse(h.toString())}catch(a){return k.error("getDefaultDEK: Failed to get default DEK:",a),null}}async function t(a){k.debug("getUserDEK: Entering method");try{let b=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!b)return k.error("getUserDEK: No encryption metadata found"),null;if("user"!==b[o])return k.error("getUserDEK: Not using user encryption"),null;let c=b[l],d=e().enc.Hex.parse(b[m]),h=e().enc.Hex.parse(b[n]),i=e().PBKDF2(a,h,{keySize:8,iterations:1e5}),j=e().AES.decrypt(c,i,{iv:d,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!j.toString())return k.error("getUserDEK: Failed to decrypt DEK with provided password"),null;return e().enc.Hex.parse(j.toString())}catch(a){return k.error("getUserDEK: Failed to get user DEK:",a),null}}async function u(a,b=!1){k.debug("getDEK: Entering method");try{if(b&&a){k.debug("getDEK: Using session token");let b=function(a){let b=j.get(a);if(!b)return i.warn(`Session not found: ${a}`),null;let c=Date.now();return c-b.createdAt>72e5?(i.warn(`Session expired: ${a}`),j.delete(a),null):(b.lastUsed=c,b.dek)}(a);if(b)return e().enc.Hex.parse(b);k.warn("getDEK: Invalid or expired session token, falling back to default encryption")}let c=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!c){if(k.info("getDEK: No encryption metadata found, initializing default encryption"),!await r())return k.error("getDEK: Failed to initialize default encryption"),null;return await u(a,b)}if("user"!==c[o])return await s();{if(!a||b){k.warn("getDEK: Password required for user encryption but not provided, falling back to default encryption");let a=await s();if(a)return a;if(!await r())return k.error("getDEK: Failed to initialize default encryption as fallback"),null;return await s()}let c=await t(a);if(c)return c;return k.warn("getDEK: Failed to get user DEK, falling back to default encryption"),await s()}}catch(a){k.error("getDEK: Failed to get DEK:",a);try{if(k.warn("getDEK: Attempting to initialize default encryption as error recovery"),await r())return await s()}catch(a){k.error("getDEK: Failed to initialize default encryption as error recovery:",a)}return null}}async function v(a,b,c=!1){k.debug("encryptWithPassword: Entering method");try{let d=await u(b,c);if(!d)return null;let f=e().lib.WordArray.random(16),g=e().AES.encrypt(a,d,{iv:f,mode:e().mode.CBC,padding:e().pad.Pkcs7});return f.toString()+":"+g.toString()}catch(a){return k.error("encryptWithPassword: Failed to encrypt data:",a),null}}async function w(a,b,c=!1){k.debug("decryptWithPassword: Entering method");try{let d=await u(b,c);if(!d)return null;let f=a.split(":");if(2!==f.length)return k.error("decryptWithPassword: Invalid ciphertext format"),null;let g=e().enc.Hex.parse(f[0]),h=f[1];return e().AES.decrypt(h,d,{iv:g,mode:e().mode.CBC,padding:e().pad.Pkcs7}).toString(e().enc.Utf8)}catch(a){return k.error("decryptWithPassword: Failed to decrypt data:",a),null}}async function x(){return k.debug("isEncryptionInitialized: Entering method"),null!==await (0,f.YM)(g.Z.ENCRYPTION_KEY,null)}async function y(){k.debug("isUserEncryptionEnabled: Entering method");let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);return null!==a&&"user"===a[o]}},97887:(a,b,c)=>{"use strict";let d=c(33873),e=c(3258),f=c(91480),g=c(53859),h="win32"===process.platform,i=/\.(?:com|exe)$/i,j=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;a.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let k={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell?k:function(a){if(!h)return a;let b=function(a){a.file=e(a);let b=a.file&&g(a.file);return b?(a.args.unshift(a.file),a.command=b,e(a)):a.file}(a),c=!i.test(b);if(a.options.forceShell||c){let c=j.test(b);a.command=d.normalize(a.command),a.command=f.command(a.command),a.args=a.args.map(a=>f.argument(a,c));let e=[a.command].concat(a.args).join(" ");a.args=["/d","/s","/c",`"${e}"`],a.command=process.env.comspec||"cmd.exe",a.options.windowsVerbatimArguments=!0}return a}(k)}},98229:a=>{"use strict";a.exports=Math.pow},98402:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(29005)},99139:(a,b,c)=>{var d=c(44724),e=c(84833),f=c(68041);a.exports=function(a,b,c){for(var g=e(a);g.index<(g.keyedList||a).length;)d(a,b,g,function(a,b){return a?void c(a,b):0===Object.keys(g.jobs).length?void c(null,g.results):void 0}),g.index++;return f.bind(g,c)}},99276:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31849),e=c(83593),f=c(97025),g=c(84817);b.default={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:a}})=>(0,d.str)`must NOT have more than ${a} items`,params:({params:{len:a}})=>(0,d._)`{limit: ${a}}`},code(a){let{schema:b,parentSchema:c,it:d}=a,{prefixItems:h}=c;d.items=!0,(0,e.alwaysValidSchema)(d,b)||(h?(0,g.validateAdditionalItems)(a,h):a.ok((0,f.validateArray)(a)))}}},99925:(a,b,c)=>{"use strict";let d=c(67729),e=c(97161),f=c(24860),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}}};
154
+ `&&d++}}return[b,c]}(`${f}${b}`);for(let a of c)k(a);f=d,g=!1},reset:function(a={}){f&&a.consume&&k(f),g=!0,h=void 0,i="",j="",f=""}}}class dI extends TransformStream{constructor({onError:a,onRetry:b,onComment:c}={}){let d;super({start(e){d=dH({onEvent:a=>{e.enqueue(a)},onError(b){"terminate"===a?e.error(b):"function"==typeof a&&a(b)},onRetry:b,onComment:c})},transform(a){d.feed(a)}})}}let dJ={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class dK extends Error{constructor(a,b){super(`Streamable HTTP error: ${b}`),this.code=a}}class dL{constructor(a,b){this._hasCompletedAuthFlow=!1,this._url=a,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=b?.requestInit,this._authProvider=b?.authProvider,this._fetch=b?.fetch,this._fetchWithInit=cJ(b?.fetch,b?.requestInit),this._sessionId=b?.sessionId,this._reconnectionOptions=b?.reconnectionOptions??dJ}async _authThenStart(){let a;if(!this._authProvider)throw new dk("No auth provider");try{a=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(a){throw this.onerror?.(a),a}if("AUTHORIZED"!==a)throw new dk;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let a={};if(this._authProvider){let b=await this._authProvider.tokens();b&&(a.Authorization=`Bearer ${b.access_token}`)}this._sessionId&&(a["mcp-session-id"]=this._sessionId),this._protocolVersion&&(a["mcp-protocol-version"]=this._protocolVersion);let b=cI(this._requestInit?.headers);return new Headers({...a,...b})}async _startOrAuthSse(a){let{resumptionToken:b}=a;try{let c=await this._commonHeaders();c.set("Accept","text/event-stream"),b&&c.set("last-event-id",b);let d=await (this._fetch??fetch)(this._url,{method:"GET",headers:c,signal:this._abortController?.signal});if(!d.ok){if(await d.body?.cancel(),401===d.status&&this._authProvider)return await this._authThenStart();if(405===d.status)return;throw new dK(d.status,`Failed to open SSE stream: ${d.statusText}`)}this._handleSseStream(d.body,a,!0)}catch(a){throw this.onerror?.(a),a}}_getNextReconnectionDelay(a){if(void 0!==this._serverRetryMs)return this._serverRetryMs;let b=this._reconnectionOptions.initialReconnectionDelay;return Math.min(b*Math.pow(this._reconnectionOptions.reconnectionDelayGrowFactor,a),this._reconnectionOptions.maxReconnectionDelay)}_scheduleReconnection(a,b=0){let c=this._reconnectionOptions.maxRetries;if(b>=c)return void this.onerror?.(Error(`Maximum reconnection attempts (${c}) exceeded.`));let d=this._getNextReconnectionDelay(b);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(a).catch(c=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${c instanceof Error?c.message:String(c)}`)),this._scheduleReconnection(a,b+1)})},d)}_handleSseStream(a,b,c){let d;if(!a)return;let{onresumptiontoken:e,replayMessageId:f}=b,g=!1,h=!1;(async()=>{try{let b=a.pipeThrough(new TextDecoderStream).pipeThrough(new dI({onRetry:a=>{this._serverRetryMs=a}})).getReader();for(;;){let{value:a,done:c}=await b.read();if(c)break;if((a.id&&(d=a.id,g=!0,e?.(a.id)),a.data)&&(!a.event||"message"===a.event))try{let b=F.parse(JSON.parse(a.data));D(b)&&(h=!0,void 0!==f&&(b.id=f)),this.onmessage?.(b)}catch(a){this.onerror?.(a)}}(c||g)&&!h&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){if(this.onerror?.(Error(`SSE stream disconnected: ${a}`)),(c||g)&&!h&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){this.onerror?.(Error(`Failed to reconnect: ${a instanceof Error?a.message:String(a)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(a){if(!this._authProvider)throw new dk("No auth provider");if("AUTHORIZED"!==await dp(this._authProvider,{serverUrl:this._url,authorizationCode:a,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new dk("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(a,b){try{let{resumptionToken:c,onresumptiontoken:d}=b||{};if(c)return void this._startOrAuthSse({resumptionToken:c,replayMessageId:A(a)?a.id:void 0}).catch(a=>this.onerror?.(a));let e=await this._commonHeaders();e.set("content-type","application/json"),e.set("accept","application/json, text/event-stream");let f={...this._requestInit,method:"POST",headers:e,body:JSON.stringify(a),signal:this._abortController?.signal},g=await (this._fetch??fetch)(this._url,f),h=g.headers.get("mcp-session-id");if(h&&(this._sessionId=h),!g.ok){let b=await g.text().catch(()=>null);if(401===g.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new dK(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:b,scope:c}=ds(g);this._resourceMetadataUrl=b,this._scope=c;let d=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==d)throw new dk;return this._hasCompletedAuthFlow=!0,this.send(a)}if(403===g.status&&this._authProvider){let{resourceMetadataUrl:b,scope:c,error:d}=ds(g);if("insufficient_scope"===d){let d=g.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===d)throw new dK(403,"Server returned 403 after trying upscoping");c&&(this._scope=c),b&&(this._resourceMetadataUrl=b),this._lastUpscopingHeader=d??void 0;let e=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch});if("AUTHORIZED"!==e)throw new dk;return this.send(a)}}throw new dK(g.status,`Error POSTing to endpoint: ${b}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===g.status){await g.body?.cancel(),W.safeParse(a).success&&this._startOrAuthSse({resumptionToken:void 0}).catch(a=>this.onerror?.(a));return}let i=(Array.isArray(a)?a:[a]).filter(a=>"method"in a&&"id"in a&&void 0!==a.id).length>0,j=g.headers.get("content-type");if(i)if(j?.includes("text/event-stream"))this._handleSseStream(g.body,{onresumptiontoken:d},!1);else if(j?.includes("application/json")){let a=await g.json();for(let b of Array.isArray(a)?a.map(a=>F.parse(a)):[F.parse(a)])this.onmessage?.(b)}else throw await g.body?.cancel(),new dK(-1,`Unexpected content type: ${j}`);else await g.body?.cancel()}catch(a){throw this.onerror?.(a),a}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let a=await this._commonHeaders(),b={...this._requestInit,method:"DELETE",headers:a,signal:this._abortController?.signal},c=await (this._fetch??fetch)(this._url,b);if(await c.body?.cancel(),!c.ok&&405!==c.status)throw new dK(c.status,`Failed to terminate session: ${c.statusText}`);this._sessionId=void 0}catch(a){throw this.onerror?.(a),a}}setProtocolVersion(a){this._protocolVersion=a}get protocolVersion(){return this._protocolVersion}async resumeStream(a,b){await this._startOrAuthSse({resumptionToken:a,onresumptiontoken:b?.onresumptiontoken})}}class dM extends Event{constructor(a,b){var c,d;super(a),this.code=null!=(c=null==b?void 0:b.code)?c:void 0,this.message=null!=(d=null==b?void 0:b.message)?d:void 0}[Symbol.for("nodejs.util.inspect.custom")](a,b,c){return c(dN(this),b)}[Symbol.for("Deno.customInspect")](a,b){return a(dN(this),b)}}function dN(a){return{type:a.type,message:a.message,code:a.code,defaultPrevented:a.defaultPrevented,cancelable:a.cancelable,timeStamp:a.timeStamp}}var dO,dP,dQ,dR,dS,dT,dU,dV,dW,dX,dY,dZ,d$,d_,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,ea,eb=a=>{throw TypeError(a)},ec=(a,b,c)=>b.has(a)||eb("Cannot "+c),ed=(a,b,c)=>(ec(a,b,"read from private field"),c?c.call(a):b.get(a)),ee=(a,b,c)=>b.has(a)?eb("Cannot add the same private member more than once"):b instanceof WeakSet?b.add(a):b.set(a,c),ef=(a,b,c,d)=>(ec(a,b,"write to private field"),b.set(a,c),c),eg=(a,b,c)=>(ec(a,b,"access private method"),c);class eh extends EventTarget{constructor(a,b){var c,d;super(),ee(this,d1),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,ee(this,dQ),ee(this,dR),ee(this,dS),ee(this,dT),ee(this,dU),ee(this,dV),ee(this,dW),ee(this,dX,null),ee(this,dY),ee(this,dZ),ee(this,d$,null),ee(this,d_,null),ee(this,d0,null),ee(this,d3,async a=>{var b;ed(this,dZ).reset();let{body:c,redirected:d,status:e,headers:f}=a;if(204===e){eg(this,d1,d8).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(d?ef(this,dS,new URL(a.url)):ef(this,dS,void 0),200!==e)return void eg(this,d1,d8).call(this,`Non-200 status code (${e})`,e);if(!(f.get("content-type")||"").startsWith("text/event-stream"))return void eg(this,d1,d8).call(this,'Invalid content type, expected "text/event-stream"',e);if(ed(this,dQ)===this.CLOSED)return;ef(this,dQ,this.OPEN);let g=new Event("open");if(null==(b=ed(this,d0))||b.call(this,g),this.dispatchEvent(g),"object"!=typeof c||!c||!("getReader"in c)){eg(this,d1,d8).call(this,"Invalid response body, expected a web ReadableStream",e),this.close();return}let h=new TextDecoder,i=c.getReader(),j=!0;do{let{done:a,value:b}=await i.read();b&&ed(this,dZ).feed(h.decode(b,{stream:!a})),a&&(j=!1,ed(this,dZ).reset(),eg(this,d1,d9).call(this))}while(j)}),ee(this,d4,a=>{ef(this,dY,void 0),"AbortError"!==a.name&&"aborted"!==a.type&&eg(this,d1,d9).call(this,function a(b){return b instanceof Error?"errors"in b&&Array.isArray(b.errors)?b.errors.map(a).join(", "):"cause"in b&&b.cause instanceof Error?`${b}: ${a(b.cause)}`:b.message:`${b}`}(a))}),ee(this,d6,a=>{"string"==typeof a.id&&ef(this,dX,a.id);let b=new MessageEvent(a.event||"message",{data:a.data,origin:ed(this,dS)?ed(this,dS).origin:ed(this,dR).origin,lastEventId:a.id||""});ed(this,d_)&&(!a.event||"message"===a.event)&&ed(this,d_).call(this,b),this.dispatchEvent(b)}),ee(this,d7,a=>{ef(this,dV,a)}),ee(this,ea,()=>{ef(this,dW,void 0),ed(this,dQ)===this.CONNECTING&&eg(this,d1,d2).call(this)});try{if(a instanceof URL)ef(this,dR,a);else if("string"==typeof a)ef(this,dR,new URL(a,function(){let a="document"in globalThis?globalThis.document:void 0;return a&&"object"==typeof a&&"baseURI"in a&&"string"==typeof a.baseURI?a.baseURI:void 0}()));else throw Error("Invalid URL")}catch{throw function(a){let b=globalThis.DOMException;return"function"==typeof b?new b(a,"SyntaxError"):SyntaxError(a)}("An invalid or illegal string was specified")}ef(this,dZ,dH({onEvent:ed(this,d6),onRetry:ed(this,d7)})),ef(this,dQ,this.CONNECTING),ef(this,dV,3e3),ef(this,dU,null!=(c=null==b?void 0:b.fetch)?c:globalThis.fetch),ef(this,dT,null!=(d=null==b?void 0:b.withCredentials)&&d),eg(this,d1,d2).call(this)}get readyState(){return ed(this,dQ)}get url(){return ed(this,dR).href}get withCredentials(){return ed(this,dT)}get onerror(){return ed(this,d$)}set onerror(a){ef(this,d$,a)}get onmessage(){return ed(this,d_)}set onmessage(a){ef(this,d_,a)}get onopen(){return ed(this,d0)}set onopen(a){ef(this,d0,a)}addEventListener(a,b,c){super.addEventListener(a,b,c)}removeEventListener(a,b,c){super.removeEventListener(a,b,c)}close(){ed(this,dW)&&clearTimeout(ed(this,dW)),ed(this,dQ)!==this.CLOSED&&(ed(this,dY)&&ed(this,dY).abort(),ef(this,dQ,this.CLOSED),ef(this,dY,void 0))}}dQ=new WeakMap,dR=new WeakMap,dS=new WeakMap,dT=new WeakMap,dU=new WeakMap,dV=new WeakMap,dW=new WeakMap,dX=new WeakMap,dY=new WeakMap,dZ=new WeakMap,d$=new WeakMap,d_=new WeakMap,d0=new WeakMap,d1=new WeakSet,d2=function(){ef(this,dQ,this.CONNECTING),ef(this,dY,new AbortController),ed(this,dU)(ed(this,dR),eg(this,d1,d5).call(this)).then(ed(this,d3)).catch(ed(this,d4))},d3=new WeakMap,d4=new WeakMap,d5=function(){var a;let b={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...ed(this,dX)?{"Last-Event-ID":ed(this,dX)}:void 0},cache:"no-store",signal:null==(a=ed(this,dY))?void 0:a.signal};return"window"in globalThis&&(b.credentials=this.withCredentials?"include":"same-origin"),b},d6=new WeakMap,d7=new WeakMap,d8=function(a,b){var c;ed(this,dQ)!==this.CLOSED&&ef(this,dQ,this.CLOSED);let d=new dM("error",{code:b,message:a});null==(c=ed(this,d$))||c.call(this,d),this.dispatchEvent(d)},d9=function(a,b){var c;if(ed(this,dQ)===this.CLOSED)return;ef(this,dQ,this.CONNECTING);let d=new dM("error",{code:b,message:a});null==(c=ed(this,d$))||c.call(this,d),this.dispatchEvent(d),ef(this,dW,setTimeout(ed(this,ea),ed(this,dV)))},ea=new WeakMap,eh.CONNECTING=0,eh.OPEN=1,eh.CLOSED=2;class ei extends Error{constructor(a,b,c){super(`SSE error: ${b}`),this.code=a,this.event=c}}class ej{constructor(a,b){this._url=a,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=b?.eventSourceInit,this._requestInit=b?.requestInit,this._authProvider=b?.authProvider,this._fetch=b?.fetch,this._fetchWithInit=cJ(b?.fetch,b?.requestInit)}async _authThenStart(){let a;if(!this._authProvider)throw new dk("No auth provider");try{a=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(a){throw this.onerror?.(a),a}if("AUTHORIZED"!==a)throw new dk;return await this._startOrAuth()}async _commonHeaders(){let a={};if(this._authProvider){let b=await this._authProvider.tokens();b&&(a.Authorization=`Bearer ${b.access_token}`)}this._protocolVersion&&(a["mcp-protocol-version"]=this._protocolVersion);let b=cI(this._requestInit?.headers);return new Headers({...a,...b})}_startOrAuth(){let a=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((b,c)=>{this._eventSource=new eh(this._url.href,{...this._eventSourceInit,fetch:async(b,c)=>{let d=await this._commonHeaders();d.set("Accept","text/event-stream");let e=await a(b,{...c,headers:d});if(401===e.status&&e.headers.has("www-authenticate")){let{resourceMetadataUrl:a,scope:b}=ds(e);this._resourceMetadataUrl=a,this._scope=b}return e}}),this._abortController=new AbortController,this._eventSource.onerror=a=>{if(401===a.code&&this._authProvider)return void this._authThenStart().then(b,c);let d=new ei(a.code,a.message,a);c(d),this.onerror?.(d)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",a=>{try{if(this._endpoint=new URL(a.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(a){c(a),this.onerror?.(a),this.close();return}b()}),this._eventSource.onmessage=a=>{let b;try{b=F.parse(JSON.parse(a.data))}catch(a){this.onerror?.(a);return}this.onmessage?.(b)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(a){if(!this._authProvider)throw new dk("No auth provider");if("AUTHORIZED"!==await dp(this._authProvider,{serverUrl:this._url,authorizationCode:a,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new dk("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(a){if(!this._endpoint)throw Error("Not connected");try{let b=await this._commonHeaders();b.set("content-type","application/json");let c={...this._requestInit,method:"POST",headers:b,body:JSON.stringify(a),signal:this._abortController?.signal},d=await (this._fetch??fetch)(this._endpoint,c);if(!d.ok){let b=await d.text().catch(()=>null);if(401===d.status&&this._authProvider){let{resourceMetadataUrl:b,scope:c}=ds(d);this._resourceMetadataUrl=b,this._scope=c;let e=await dp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==e)throw new dk;return this.send(a)}throw Error(`Error POSTing to endpoint (HTTP ${d.status}): ${b}`)}await d.body?.cancel()}catch(a){throw this.onerror?.(a),a}}setProtocolVersion(a){this._protocolVersion=a}}let ek=(0,bY.h)("backend/services/mcp/oauth");class el{constructor(a,b){this.config=a,this._redirectUrl=b,this._clientMetadata={redirect_uris:[b],client_name:`FLUJO MCP Client - ${a.name}`,client_uri:"https://github.com/mario-andreschak/FLUJO",grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post",scope:a.oauthScopes?.join(" ")||"read"},ek.info(`Created OAuth client provider for ${a.name}`),ek.verbose("OAuth client metadata",JSON.stringify(this._clientMetadata))}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return encodeURIComponent(JSON.stringify({serverName:this.config.name}))}async clientInformation(){if(this.config.oauthClientInformation)return ek.debug(`Returning stored client information for ${this.config.name}`),this.config.oauthClientInformation;if(this.config.oauthClientId){let a=this.config.oauthClientSecret?await (0,b_.G)(this.config.oauthClientSecret)??void 0:void 0;return ek.debug(`Created client information from config for ${this.config.name}`),{client_id:this.config.oauthClientId,client_secret:a}}ek.debug(`No client information available for ${this.config.name}`)}async persist(){let a=await (0,b$.loadServerConfigs)();if(!Array.isArray(a))return void ek.warn(`persist: failed to load server configs for ${this.config.name}, cannot persist OAuth state`);let b=new Map(a.map(a=>[a.name,a]));b.set(this.config.name,this.config);let c=await (0,b$.q)(b);c.success||ek.warn(`persist: failed to save OAuth state for ${this.config.name}: ${c.error}`)}async invalidateCredentials(a){ek.info(`Invalidating OAuth credentials for ${this.config.name} (scope: ${a})`),("all"===a||"tokens"===a)&&(this.config.oauthTokens=void 0),("all"===a||"client"===a)&&(this.config.oauthClientInformation=void 0,this.config.oauthClientMetadata=void 0),("all"===a||"verifier"===a)&&(this.config.oauthCodeVerifier=void 0),await this.persist()}async saveClientInformation(a){ek.info(`Saving client information for ${this.config.name}`),ek.verbose("Client information to save",JSON.stringify(a)),this.config.oauthClientInformation={client_id:a.client_id,client_secret:a.client_secret,client_id_issued_at:a.client_id_issued_at,client_secret_expires_at:a.client_secret_expires_at},this.config.oauthClientMetadata={redirect_uris:a.redirect_uris,client_name:a.client_name,client_uri:a.client_uri,grant_types:a.grant_types,response_types:a.response_types,token_endpoint_auth_method:a.token_endpoint_auth_method,scope:a.scope,contacts:a.contacts,tos_uri:a.tos_uri,policy_uri:a.policy_uri,jwks_uri:a.jwks_uri,jwks:a.jwks,software_id:a.software_id,software_version:a.software_version},await this.persist(),ek.info(`Client information saved for ${this.config.name}`)}async tokens(){if(this.config.oauthTokens){if(ek.debug(`Returning stored tokens for ${this.config.name}`),this.config.oauthTokens.expires_in&&this.config.oauthTokens.issued_at){let a=this.config.oauthTokens.issued_at,b=this.config.oauthTokens.expires_in,c=Math.floor(Date.now()/1e3),d=a+b;c>=d?ek.info(`Access token for ${this.config.name} has expired (issued: ${a}, expires: ${d}, current: ${c}); SDK will refresh via refresh_token`):ek.debug(`Tokens for ${this.config.name} are valid (expires in ${d-c} seconds)`)}return this.config.oauthTokens}ek.debug(`No tokens available for ${this.config.name}`)}async saveTokens(a){ek.info(`Saving OAuth tokens for ${this.config.name}`),ek.verbose("Tokens to save",JSON.stringify({...a,access_token:a.access_token?"[REDACTED]":void 0,refresh_token:a.refresh_token?"[REDACTED]":void 0}));let b={...a,issued_at:Math.floor(Date.now()/1e3)};this.config.oauthTokens=b,await this.persist(),ek.info(`OAuth tokens saved for ${this.config.name}`)}async redirectToAuthorization(a){ek.info(`Authorization required for ${this.config.name}`),ek.info(`Authorization URL: ${a.toString()}`),this.config.authorizationUrl=a.toString();let b=Error(`OAuth authentication required for ${this.config.name}. Please complete the OAuth flow.`);throw b.name="OAuthAuthenticationRequired",b}async saveCodeVerifier(a){ek.debug(`Saving code verifier for ${this.config.name}`),this.config.oauthCodeVerifier=a,await this.persist(),ek.debug(`Code verifier saved for ${this.config.name}`)}async codeVerifier(){if(!this.config.oauthCodeVerifier){let a=`No code verifier found for ${this.config.name}`;throw ek.error(a),Error(a)}return ek.debug(`Returning code verifier for ${this.config.name}`),this.config.oauthCodeVerifier}}let em=new Set(["node","npm","npx"]);var en=c(79551);let eo=(0,bY.h)("backend/services/mcp/roots");function ep(){return global.__mcp_node_roots}function eq(a){let b=[];for(let c of ep().values())if(c.serverName===a)for(let a of c.roots)b.includes(a)||b.push(a);return b}async function er(a){let b=function(a){let b=a.trim();if(!b)return null;if(b.startsWith("file://"))return b;if(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(b))return eo.warn(`Ignoring non-file root URI: ${b}`),null;try{return(0,en.pathToFileURL)(b).href}catch(a){return eo.warn(`Could not convert root "${b}" to a file URI:`,a),null}}(await (0,b_.c)(a));return b?{uri:b,name:function(a){try{let b=new URL(a).pathname.replace(/\/+$/,"").split("/").pop();return b?decodeURIComponent(b):void 0}catch{return}}(b)}:null}async function es(a){let b=a.roots,c=[...Array.isArray(b)?b:[],...eq(a.name)],d=[],e=new Set;for(let a of c){if("string"!=typeof a||!a.trim())continue;let b=await er(a);b&&!e.has(b.uri)&&(e.add(b.uri),d.push(b))}if(0===d.length&&"string"==typeof a.rootPath&&a.rootPath.trim()){let b=await er(a.rootPath);if(b)return[b]}return d}async function et(a){try{let{loadServerConfigs:b}=await Promise.resolve().then(c.bind(c,6544)),d=await b();if(Array.isArray(d)){let b=d.find(b=>b.name===a.name);if(b)return b}}catch(b){eo.warn(`Could not re-load config for ${a.name}, using connect-time config:`,b)}return a}void 0===global.__mcp_node_roots&&(global.__mcp_node_roots=new Map);var eu=c(12763),ev=c(31351);let ew=(0,bY.h)("backend/services/mcp/sampling");function ex(a){return a.sampling}function ey(a){let b=ex(a);return b?.enabled?JSON.stringify({m:b.modelId,t:b.maxTokens,r:b.maxCallsPerMinute}):""}let ez=(0,bY.h)("backend/services/mcp/connection");function eA(a){let b={};if(a)for(let[c,d]of Object.entries(a))d&&"object"==typeof d&&"value"in d?b[c]=d.value:b[c]=d;return b}function eB(a){return JSON.stringify({command:a.command,args:a.args??[],env:eA(a.env),cwd:String(a.cwd??""),rootPath:a.rootPath??""})}function eC(a){return JSON.stringify({transport:a.transport,url:a.serverUrl??"",headers:a.headers??{},requestInit:a.requestInit??{},eventSourceInit:a.eventSourceInit??{},reconnectionOptions:a.reconnectionOptions??{},sessionId:a.sessionId??"",oauthClientId:a.oauthClientId??"",oauthClientInformation:a.oauthClientInformation??{},oauthClientSecret:a.oauthClientSecret??"",oauthTokens:a.oauthTokens??{}})}function eD(a){ez.debug("Entering createNewClient method");let b=function(a){let b=ex(a);return!!(b?.enabled&&b.modelId)}(a),c=new cG({name:`flujo-${a.name}-client`,version:"3.9.1"},{capabilities:{experimental:{},roots:{listChanged:!0},...b?{sampling:{}}:{}}});return c.setRequestHandler(bL,async()=>{let b=await es(await et(a));return eo.debug(`roots/list for ${a.name}: ${b.length} root(s)`),{roots:b}}),b&&function(a,b){let c=[];a.setRequestHandler(bj,async a=>{let d=ex(b);if(!d?.enabled||!d.modelId)throw new bO(dO.InvalidRequest,"Sampling is not enabled for this server");let e=d.maxCallsPerMinute??10,f=Date.now(),g=f-6e4;for(;c.length>0&&c[0]<g;)c.shift();if(c.length>=e)throw ew.warn(`Sampling rate limit (${e}/min) hit for ${b.name}`),new bO(dO.InvalidRequest,`Sampling rate limit of ${e}/min exceeded`);c.push(f);let h=await eu.modelService.getModel(d.modelId);if(!h)throw new bO(dO.InternalError,`Sampling model not found: ${d.modelId}`);let i=await eu.modelService.resolveAndDecryptApiKey(h.ApiKey);if(!i)throw new bO(dO.InternalError,"Could not resolve the sampling model API key");let j=a.params,k=function(a){let b=[];for(let c of(a.systemPrompt&&b.push({role:"system",content:a.systemPrompt}),a.messages||[])){let a=c.content,d=a?.type==="text"&&"string"==typeof a.text?a.text:`[unsupported ${a?.type||"non-text"} content omitted]`;b.push({role:c.role,content:d})}return b}(j),l="number"==typeof j.temperature?j.temperature:.7;ew.info(`Sampling for ${b.name} via model ${h.name} (${k.length} messages)`);let m=(0,ev.getCompletionAdapter)(h),{completion:n}=await m.createCompletion({model:h,apiKey:i,messages:k,temperature:l}),o=n.choices?.[0]?.message?.content;return{role:"assistant",content:{type:"text",text:"string"==typeof o?o:""},model:h.name,stopReason:"endTurn"}})}(c,a),c.__flujoCapKey=ey(a),c}function eE(a){if(ez.debug("Entering createTransport method"),"streamable"===a.transport){ez.info(`Creating streamable http transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),a.headers&&"object"==typeof a.headers){let c=Object.fromEntries(Object.entries(a.headers).filter(([a,b])=>a&&"string"==typeof b));Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},ez.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}a.oauthClientId||a.oauthClientInformation?(ez.info(`Setting up OAuth authentication for ${a.name}`),b.authProvider=function(a,b="http://localhost:4200/api/oauth/callback"){return new el(a,b)}(a),a.oauthTokens?.access_token?(ez.debug(`OAuth provider configured for ${a.name} with existing tokens`),ez.debug(`Token expires in: ${a.oauthTokens.expires_in} seconds`)):ez.debug(`OAuth provider configured for ${a.name} - will initiate OAuth flow if needed`)):ez.debug(`No OAuth configuration found for ${a.name}`);let c=new dL(new URL(a.serverUrl),b);return c.__flujoHttpKey=eC(a),c}if("sse"===a.transport){ez.info(`Creating legacy sse transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit),a.headers&&"object"==typeof a.headers){let c=Object.fromEntries(Object.entries(a.headers).filter(([a,b])=>a&&"string"==typeof b));Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},ez.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}let c=new ej(new URL(a.serverUrl),b);return c.__flujoHttpKey=eC(a),c}return"websocket"===a.transport?(ez.info(`Creating WebSocket transport for server ${a.name} with URL ${a.websocketUrl}`),new cH(new URL(a.websocketUrl))):function(a){if(ez.debug("Entering createStdioTransport method"),"stdio"!==a.transport)throw Error("Cannot create stdio transport for non-stdio config");let b=a.command,c=a.args?[...a.args]:[],d=`${cd.VL}/${a.name}`;ez.info(`Creating stdio transport for server ${a.name}`),ez.debug(`Original command: ${b}`),ez.debug(`Original args: ${JSON.stringify(c)}`),ez.debug(`Server directory: ${d}`);let e=!bW.isAbsolute(b)&&(b.includes("/")||b.includes("\\")),f=!b.includes("/")&&!b.includes("\\");if(ez.debug(`Is relative path: ${e}`),ez.debug(`Is just filename: ${f}`),"win32"===cc.platform()&&b.toLowerCase().endsWith(".bat"))if(ez.debug(`Detected .bat file on Windows: ${b}`),f){let a=bW.join((0,bZ.ok)(),d,b);ez.debug(`Checking if file exists at: ${a}`);let e=cb.existsSync(a);ez.debug(`File exists: ${e}`),e?(ez.debug(`Using full path to .bat file: ${a}`),c=["/c",a,...c]):(ez.warn(`WARNING: .bat file not found at ${a}`),c=["/c",b,...c]),b="cmd.exe"}else ez.debug(`Using cmd.exe with path as provided: ${b}`),c=["/c",b,...c],b="cmd.exe";let g=function(a,b){if(!a||!(!a.includes("/")&&!a.includes("\\")))return a;let c=a.toLowerCase();if(!em.has(c))return a;if("node"===c)return b.execPath||a;if(!b.execPath)return a;let d=b.dirname(b.execPath);for(let a of"win32"===b.platform?[`${c}.cmd`,`${c}.exe`,c]:[c]){let c=b.joinPath(d,a);if(b.fileExists(c))return c}return a}(b,{execPath:process.execPath,platform:cc.platform(),dirname:bW.dirname,joinPath:bW.join,fileExists:cb.existsSync});g!==b&&(ez.debug(`Resolved Node toolchain command "${b}" to absolute path: ${g}`),b=g),ez.debug(`Final command: ${b}`),ez.debug(`Final args: ${JSON.stringify(c)}`);let h=function({command:a,args:b=[],rootPath:c,cwd:d,serverName:e,defaultCwd:f}){let g=c||d||f;return e&&cr(a,b)&&(g.split(/[\\/]/).filter(Boolean).pop()||"")===e&&function(a){let b=a.match(/^(.*[\\/])[^\\/]+[\\/]*$/);return b?b[1].replace(/[\\/]+$/,""):""}(g)||g}({command:a.command,args:a.args,rootPath:a.rootPath,cwd:a.cwd,serverName:a.name,defaultCwd:`${cd.VL}/${a.name}`}),i=bW.isAbsolute(h)?h:bW.join((0,bZ.ok)(),h);ez.debug(`cwd: ${i}`),ez.debug(`env: ${JSON.stringify(a.env)}`),ez.info(`Creating StdioClientTransport for ${a.name} with stderr: 'pipe'`);let j=eA(a.env);ez.verbose("Transformed environment variables",JSON.stringify(j));let k=new bS({command:b,args:c,env:j,cwd:i,stderr:"pipe"});return k.__flujoStdioKey=eB(a),k.stderr?ez.info(`Stderr stream is available for ${a.name}`):ez.warn(`Stderr stream is NOT available for ${a.name}`),k}(a)}function eF(a,b){return null!==a.exitCode||null!==a.signalCode?Promise.resolve(!0):new Promise(c=>{let d=()=>{clearTimeout(e),c(!0)},e=setTimeout(()=>{a.removeListener("exit",d),c(!1)},b);e.unref?.(),a.once("exit",d)})}async function eG(a,b,c,d){ez.debug("Entering safelyCloseClient method");let e=d?.gracePeriodMs??15e3,f=d?.killEscalationMs??5e3;try{if(a.transport instanceof bS){let c=a.transport._process;if(c&&null===c.exitCode&&null===c.signalCode){try{c.stdin&&!c.stdin.destroyed&&(c.stdin.end(),ez.debug(`Closed stdin for graceful shutdown for ${b}`))}catch(a){ez.warn(`Error closing stdin for ${b}:`,a)}let a=await eF(c,e);if(!a){ez.warn(`Process did not exit within ${e}ms after stdin close, sending SIGTERM for ${b}`);try{c.kill("SIGTERM")}catch(a){ez.error(`Error sending SIGTERM for ${b}:`,a)}a=await eF(c,f)}if(a)ez.info(`Process exited gracefully for ${b}`);else{ez.warn(`Process did not respond to SIGTERM, sending SIGKILL for ${b}`);try{c.kill("SIGKILL")}catch(a){ez.error(`Error sending SIGKILL for ${b}:`,a)}}}}await a.close(),ez.info(`Client closed successfully for ${b}`)}catch(a){ez.warn(`Error closing client for ${b}:`,a)}}void 0===global.__mcp_recovery&&(global.__mcp_recovery=new Map),void 0===global.__mcp_connecting&&(global.__mcp_connecting=new Set),void 0===global.__mcp_starting_up&&(global.__mcp_starting_up=!0),void 0===global.__mcp_active_transports&&(global.__mcp_active_transports=new Map);let eH=(0,bY.h)("backend/services/mcp/index");class eI{get connectingServers(){return global.__mcp_connecting}get activeTransports(){return global.__mcp_active_transports}static{this.MAX_STDERR_LOG_ENTRIES=200}appendStderrLog(a,b){let c=this.stderrLogs.get(a)||[];c.push(b),c.length>eI.MAX_STDERR_LOG_ENTRIES&&c.splice(0,c.length-eI.MAX_STDERR_LOG_ENTRIES),this.stderrLogs.set(a,c)}deregisterClient(a){this.clients.delete(a),this.removeFromGlobalRecovery(a),this.activeTransports.delete(a)}constructor(){this.clients=new Map,this.stderrLogs=new Map,this.lastConnectionError=new Map,this.inFlightConnects=new Map,this.recover_attempted=!1,this.connectionRetryTimers=new Map,this.connectionRetryAttempts=new Map,this.attemptRecovery()}attemptRecovery(){!this.recover_attempted&&global.__mcp_recovery&&global.__mcp_recovery.size>0&&(eH.info(`Attempting to recover ${global.__mcp_recovery.size} clients from global recovery map`),global.__mcp_recovery.forEach((a,b)=>{this.clients.set(b,a),eH.info(`Recovered client for server: ${b}`)})),this.recover_attempted=!0}addToGlobalRecovery(a,b){global.__mcp_recovery||(global.__mcp_recovery=new Map),global.__mcp_recovery.set(a,b),eH.debug(`Added client for server ${a} to global recovery map`)}removeFromGlobalRecovery(a){global.__mcp_recovery&&global.__mcp_recovery.has(a)&&(global.__mcp_recovery.delete(a),eH.debug(`Removed client for server ${a} from global recovery map`))}clearRetryTimer(a){let b=this.connectionRetryTimers.get(a);b&&(clearTimeout(b),this.connectionRetryTimers.delete(a),eH.debug(`Cleared retry timer for server ${a}`))}scheduleConnectionRetry(a,b){this.clearRetryTimer(a);let c=this.connectionRetryAttempts.get(a)||0;if(c>=5){eH.warn(`Maximum retry attempts (5) reached for server ${a}, stopping retries`),this.connectionRetryAttempts.delete(a);return}let d=Math.min(5e3*Math.pow(2,c),3e5);eH.info(`Scheduling connection retry for server ${a} in ${d}ms (attempt ${c+1}/5)`);let e=setTimeout(async()=>{eH.info(`Attempting to reconnect server ${a} (attempt ${c+1}/5)`);let b=await this.getServerConfig(a);if(!b){eH.info(`Server ${a} configuration not found, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}if(b.disabled){eH.info(`Server ${a} is now disabled, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}let d=this.getClient(a);if(d)try{await d.ping({timeout:5e3}),eH.info(`Server ${a} is already connected and responsive, cancelling retry`),this.connectionRetryAttempts.delete(a);return}catch(b){eH.warn(`Server ${a} has a registered client but ping failed (${b instanceof Error?b.message:String(b)}); reconnecting from scratch`)}this.connectionRetryAttempts.set(a,c+1);try{let e=d?await this.forceReconnect(a):await this.connectServer(b);if(e.success)eH.info(`Successfully reconnected server ${a} after ${c+1} attempts`),this.connectionRetryAttempts.delete(a);else{if(eH.warn(`Failed to reconnect server ${a}: ${e.error}`),e.requiresAuthentication){eH.info(`Server ${a} requires authentication, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}this.scheduleConnectionRetry(a,b)}}catch(c){eH.error(`Error during retry connection for server ${a}:`,c),this.scheduleConnectionRetry(a,b)}},d);this.connectionRetryTimers.set(a,e)}isStartingUp(){return!0===global.__mcp_starting_up}setStartingUp(a){global.__mcp_starting_up=a,eH.info(`Backend startup state set to: ${a?"starting":"complete"}`)}getClient(a){let b=this.clients.get(a);if(!b){let c=global.__mcp_recovery?.get(a);c&&(this.clients.set(a,c),b=c,eH.debug(`getClient: adopted ${a} from the global recovery map`))}return eH.debug(`getClient: Looking for client: ${a}`,b?"Found":"Not found"),b}async loadServerConfigs(){eH.debug("loadServerConfigs: Entering method");try{let a=await (0,b$.loadServerConfigs)();if(!Array.isArray(a))return eH.warn("loadServerConfigs: Received non-array response",a),a;return eH.debug(`loadServerConfigs: Loaded ${a.length} server configs`),a}catch(a){return eH.warn("loadServerConfigs: Failed to load server configs:",a),{success:!1,error:`Failed to load server configs: ${a instanceof Error?a.message:"Unknown error"}`}}}async getServerConfig(a){eH.debug(`getServerConfig: Looking up config for server ${a}`);let b=await this.loadServerConfigs();if(!Array.isArray(b))return eH.warn(`getServerConfig: Failed to load configs for ${a}:`,b.error),null;let c=b.find(b=>b.name===a);return c||(eH.warn(`getServerConfig: Server ${a} not found in configs`),null)}async isServerDisabled(a){let b=await this.getServerConfig(a);return b?.disabled===!0}async connectServer(a){let b="string"==typeof a?a:a.name,c=this.inFlightConnects.get(b);if(c)return eH.debug(`connectServer: reusing in-flight connection attempt for ${b}`),c;let d=this.connectServerInternal(a).finally(()=>{this.inFlightConnects.delete(b)});return this.inFlightConnects.set(b,d),d}async connectServerInternal(a){let b;if("string"==typeof a){eH.info(`connectServer: Looking up config for server ${a}`);let c=await this.getServerConfig(a);if(!c)return eH.warn(`connectServer: Server ${a} not found in configs`),{success:!1,error:`Server configuration for "${a}" not found. The server may have been deleted or not properly configured.`};b=c}else b=a;if((("string"==typeof a?b:await this.getServerConfig(b.name))??b).disabled)return eH.info(`connectServer: Server ${b.name} is disabled — refusing to create a client/transport`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!1,error:`Server '${b.name}' is disabled. Enable it on the MCP page to use it.`};let c=(0,bT.A)();eH.info(`connectServer: Starting connection for server ${b.name} [RequestID: ${c}]`),this.connectingServers.add(b.name);try{this.stderrLogs.set(b.name,[]);let a=this.clients.get(b.name);if(a){let{needsNewClient:c,reason:d}=function(a,b){if(ez.debug("Entering shouldRecreateClient method"),(a.__flujoCapKey??"")!==ey(b))return{needsNewClient:!0,reason:"Client capabilities (sampling) changed"};if("websocket"===b.transport){if(!(a.transport instanceof cH))return{needsNewClient:!0,reason:"Transport type changed to websocket"}}else if("streamable"===b.transport){if(!(a.transport instanceof dL))return{needsNewClient:!0,reason:"Transport type changed to streamable"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"Streamable server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing streamable transport has no config key"};if(e!==eC(b))return{needsNewClient:!0,reason:"Streamable auth/connection parameters changed"}}else if("sse"===b.transport){if(!(a.transport instanceof ej))return{needsNewClient:!0,reason:"Transport type changed to sse"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"SSE server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing sse transport has no config key"};if(e!==eC(b))return{needsNewClient:!0,reason:"SSE auth/connection parameters changed"}}else{if(!(a.transport instanceof bS))return{needsNewClient:!0,reason:"Transport type changed to stdio"};if("stdio"!==b.transport)return{needsNewClient:!0,reason:"Transport type changed from stdio"};let c=a.transport.__flujoStdioKey;if(!c)return{needsNewClient:!0,reason:"Existing stdio transport has no config key"};if(c!==eB(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}return{needsNewClient:!1}}(a,b);if(!c)return eH.info(`connectServer: Server ${b.name} is already connected`),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!0};eH.info(`connectServer: Existing client for ${b.name} is stale (${d}), recreating`),this.deregisterClient(b.name);try{await eG(a,b.name,b)}catch(a){eH.debug(`connectServer: error closing stale client for ${b.name}: ${a instanceof Error?a.message:String(a)}`)}a=void 0}a=eD(b);let c=eE(b);if(c instanceof bS&&c.stderr){let a=b.name;c.stderr.on("data",b=>{let c=b.toString();eH.warn(`stderr: [${a}]: ${c}`),this.appendStderrLog(a,c)})}return await a.connect(c),c.onclose=()=>{if(this.activeTransports.get(b.name)!==c)return void eH.debug(`connectServer: ignoring close event from a stale/deregistered transport for ${b.name}`);eH.warn(`connectServer: Connection closed for server ${b.name}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void eH.info(`Server ${b.name} is now disabled, skipping reconnection logic`);eH.info(`Connection closed for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{eH.warn(`Error checking server config for ${b.name} during onclose:`,a)})},c.onerror=a=>{if(function(a){let b=a instanceof Error?a.message:String(a);return b.includes("SSE stream disconnected")||b.includes("Failed to reconnect SSE stream")||b.includes("Maximum reconnection attempts")||/\bterminated\b/i.test(b)}(a))return void eH.debug(`connectServer: transient SSE stream disconnect for ${b.name} (self-healing, ignored): ${a instanceof Error?a.message:String(a)}`);if(this.activeTransports.get(b.name)!==c)return void eH.debug(`connectServer: ignoring error event from a stale/deregistered transport for ${b.name}`);if(eH.error(`connectServer: Transport error for server ${b.name}:`),a instanceof Error){eH.error(`Error name: ${a.name}`),eH.error(`Error message: ${a.message}`),eH.error(`Error stack: ${a.stack}`);let b=a.code;void 0!==b&&eH.error(`Error code: ${b}`),eH.error(`Error chain: ${ci(a)}`)}else if(a&&"object"==typeof a){eH.error(`Error type: ${typeof a}`),eH.error(`Error constructor: ${a.constructor?.name||"Unknown"}`);let b=Object.getOwnPropertyNames(a);b.length>0?(eH.error(`Error properties: ${b.join(", ")}`),b.forEach(b=>{try{let c=a[b];eH.error(` ${b}: ${"function"==typeof c?"[Function]":JSON.stringify(c)}`)}catch(a){eH.error(` ${b}: [Unable to serialize: ${a}]`)}})):eH.error("Error object has no enumerable properties");try{let b=JSON.stringify(a);eH.error(`JSON stringified error: ${b}`)}catch(a){eH.error(`Cannot JSON stringify error: ${a}`)}}else eH.error(`Error value: ${String(a)} (type: ${typeof a})`);this.appendStderrLog(b.name,`Transport error: ${ci(a)}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void eH.info(`Server ${b.name} is now disabled, skipping reconnection after transport error`);eH.info(`Transport error for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{eH.warn(`Error checking server config for ${b.name} during onerror:`,a)})},this.clients.set(b.name,a),this.activeTransports.set(b.name,c),this.addToGlobalRecovery(b.name,a),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),eH.info(`connectServer: Successfully connected to ${b.name}`),{success:!0}}catch(f){eH.error(`connectServer: Failed to connect to server ${b.name}:`,f);let a=f instanceof Error?f.message:String(f),c=f instanceof Error?f.name:"";if(a.includes("OAuth authentication required")||"OAuthAuthenticationRequired"===c){if(eH.info(`OAuth authentication required for server ${b.name}`),"streamable"===b.transport){let a=b;a.authorizationUrl&&eH.info(`Authorization URL available for ${b.name}: ${a.authorizationUrl}`)}return{success:!1,error:a,requiresAuthentication:!0}}if(cl(f)){if(eH.info(`OAuth authentication error detected for server ${b.name}: ${a}`),"streamable"===b.transport){let a=b;if(!a.oauthScopes||0===a.oauthScopes.length){eH.info(`Dynamically enabling OAuth for server ${b.name} due to authentication error`);try{let c={...a,oauthScopes:["read"]},d=await this.loadServerConfigs();if(Array.isArray(d)){let a=d.findIndex(a=>a.name===b.name);-1!==a&&(d[a]=c,await (0,b$.q)(new Map(d.map(a=>[a.name,a]))),eH.info(`Updated config for ${b.name} to enable OAuth`))}}catch(a){eH.warn(`Failed to update config for ${b.name} to enable OAuth:`,a)}}}return{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate.",requiresAuthentication:!0}}let d=this.stderrLogs.get(b.name)||[],e=cj(f,b,d);return this.lastConnectionError.set(b.name,e),{success:!1,error:e}}finally{this.connectingServers.delete(b.name)}}async testConnection(a){eH.info(`testConnection: Testing connection to ${a.name||"(unnamed)"} via ${a.transport} transport`);let b=[],c=null,d=null;try{let e;c=eD(a),(d=eE(a))instanceof bS&&d.stderr&&d.stderr.on("data",a=>{b.push(a.toString())}),d.onerror=a=>{b.push(`Transport error: ${ci(a)}`)};let f=cs(a)?9e4:15e3,g=cs(a),h=new Promise((a,b)=>{e=setTimeout(()=>b(Error(`Connection timeout after ${f/1e3}s`+(g?" — the package may still be downloading via npx/uvx. Try running the Test again (the package is cached after the first download), or verify the command and network access.":""))),f)});try{await Promise.race([c.connect(d),h])}finally{e&&clearTimeout(e)}let i=0;try{let a=await c.listTools();i=Array.isArray(a?.tools)?a.tools.length:0}catch(b){eH.debug(`testConnection: connected to ${a.name} but listTools failed: ${b instanceof Error?b.message:String(b)}`)}return eH.info(`testConnection: Successfully connected to ${a.name} (${i} tools)`),{success:!0,data:{toolCount:i}}}catch(d){eH.warn(`testConnection: Failed to connect to ${a.name}:`,d);let c=cl(d);return{success:!1,error:cj(d,a,b),requiresAuthentication:c}}finally{if(c)try{await eG(c,a.name,a,{gracePeriodMs:3e3,killEscalationMs:2e3})}catch(b){eH.debug(`testConnection: error closing test client for ${a.name}: ${b instanceof Error?b.message:String(b)}`)}}}setNodeRoots(a,b,c){for(let d of function(a,b,c){let d=(c??[]).filter(a=>"string"==typeof a&&a.trim().length>0),e=ep().get(b),f=new Set([a]);e&&f.add(e.serverName);let g=new Map;for(let a of f)g.set(a,eq(a));0===d.length?ep().delete(b)&&eo.debug(`Cleared node roots for node ${b}`):(ep().set(b,{serverName:a,roots:d}),eo.debug(`Registered ${d.length} node root(s) for node ${b} on server ${a}`));let h=[];for(let a of f){let b=eq(a),c=g.get(a)??[];(b.length!==c.length||b.some((a,b)=>a!==c[b]))&&h.push(a)}return h}(a,b,c))this.notifyRootsChanged(d)}notifyRootsChanged(a){let b=this.getClient(a);if(!b)return void eH.debug(`notifyRootsChanged: ${a} not connected, skipping notification`);try{b.sendRootsListChanged().catch(b=>{eH.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}),eH.debug(`notifyRootsChanged: sent roots/list_changed to ${a}`)}catch(b){eH.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}}async disconnectServer(a){eH.debug(`disconnectServer: Entering method for server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a);let b=this.getClient(a);if(!b)return eH.warn(`disconnectServer: Server ${a} not found in clients map`),this.removeFromGlobalRecovery(a),this.activeTransports.delete(a),{success:!1,error:`Server ${a} not found`};this.deregisterClient(a);try{let c=await this.getServerConfig(a);return await eG(b,a,c||void 0),eH.info(`disconnectServer: Disconnected server ${a}`),{success:!0}}catch(b){return eH.warn(`disconnectServer: Failed to disconnect server ${a}:`,b),{success:!1,error:`Failed to disconnect server: ${b instanceof Error?b.message:"Unknown error"}`}}}async forceReconnect(a){eH.info(`forceReconnect: Forcing fresh connection for server ${a}`);let b=this.clients.get(a);if(b){this.deregisterClient(a);let c=await this.getServerConfig(a);try{await eG(b,a,c||void 0)}catch(b){eH.debug(`forceReconnect: error closing stale client for ${a}: ${b instanceof Error?b.message:String(b)}`)}}return this.connectServer(a)}async listServerTools(a){if(eH.debug(`listServerTools: Entering method for server ${a}`),await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`listServerTools: ${b}`),{tools:[],error:b}}let b=this.getClient(a);b||eH.warn(`listServerTools: Client not found for ${a}`);let c=await b2(b,a);if(c.error){eH.warn(`listServerTools: Listing tools for ${a} failed (${c.error}); forcing reconnect and retrying once`);let d=await this.forceReconnect(a);if(!d.success)return eH.warn(`listServerTools: Reconnect for ${a} failed: ${d.error}`),{tools:[],error:d.error||c.error};b=this.clients.get(a),(c=await b2(b,a)).error?eH.warn(`listServerTools: Retry after reconnect still failed for ${a}:`,c.error):eH.info(`listServerTools: Recovered after reconnect for ${a}; listed ${c.tools.length} tools`)}else eH.info(`listServerTools: Listed ${c.tools.length} tools for ${a}`);return c}async callTool(a,b,c,d,e){if(eH.debug(`callTool: Entering method for server ${a}, tool ${b}`),await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`callTool: ${b}`),{success:!1,error:b}}let f=this.getClient(a);if(!f){eH.warn(`callTool: No client for ${a}; forcing reconnect before calling ${b}`);let c=await this.forceReconnect(a);c.success?f=this.clients.get(a):eH.warn(`callTool: Reconnect for ${a} failed: ${c.error}`)}let g=await b3(f,a,b,c,d,e);return eH.info(`callTool: Called tool ${b} on ${a}`),g}async listWithReconnect(a,b,c){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return eH.warn(`listWithReconnect: ${b}`),{...c,error:b}}let d=this.clients.get(a);d||eH.warn(`listWithReconnect: Client not found for ${a}`);let e=await b(d,a);if(!e.error)return e;eH.warn(`listWithReconnect: Listing for ${a} failed (${e.error}); forcing reconnect and retrying once`);let f=await this.forceReconnect(a);return f.success?(d=this.clients.get(a),(e=await b(d,a)).error?eH.warn(`listWithReconnect: Retry after reconnect still failed for ${a}:`,e.error):eH.info(`listWithReconnect: Recovered after reconnect for ${a}`),e):(eH.warn(`listWithReconnect: Reconnect for ${a} failed: ${f.error}`),{...c,error:f.error||e.error})}async listServerResources(a){return eH.debug(`listServerResources: Entering method for server ${a}`),this.listWithReconnect(a,b5,{resources:[]})}async listServerResourceTemplates(a){return eH.debug(`listServerResourceTemplates: Entering method for server ${a}`),this.listWithReconnect(a,b6,{resourceTemplates:[]})}async readResource(a,b){eH.debug(`readResource: Entering method for server ${a}, uri ${b}`);let c=this.clients.get(a);c||eH.warn(`readResource: Client not found for ${a}`);let d=await b7(c,a,b);return eH.info(`readResource: Read resource ${b} on ${a}`),d}async listServerPrompts(a){return eH.debug(`listServerPrompts: Entering method for server ${a}`),this.listWithReconnect(a,b9,{prompts:[]})}async getPrompt(a,b,c){eH.debug(`getPrompt: Entering method for server ${a}, prompt ${b}`);let d=this.clients.get(a);d||eH.warn(`getPrompt: Client not found for ${a}`);let e=await ca(d,a,b,c);return eH.info(`getPrompt: Got prompt ${b} on ${a}`),e}async resolveOAuthSecretForSave(a,b){return a===cn.RJ?b??"":a?a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")?a:await (0,cm.Rs)(a):""}async ensureRemoteServerRootDir(a){try{if(!["streamable","sse","websocket"].includes(a.transport))return;let b=(a.rootPath||"").trim();if(!b)return;let c=bX().resolve((0,bZ.ok)(),b);if(bX().dirname(c)===c)return;await bV().mkdir(c,{recursive:!0}),eH.debug(`ensureRemoteServerRootDir: ensured ${c} for ${a.name}`)}catch(b){eH.warn(`ensureRemoteServerRootDir: could not create root dir for ${a.name}:`,b)}}async updateServerConfig(a,b){eH.debug(`updateServerConfig: Entering method for server ${a}`);let c=await this.loadServerConfigs();if(!Array.isArray(c))return eH.warn("updateServerConfig: Failed to load configs:",c.error),c;let d=c.find(b=>b.name===a),e=!!d&&"string"==typeof b.name&&b.name!==a;if(e&&c.some(a=>a.name===b.name))return eH.warn(`updateServerConfig: Refusing to rename ${a} -> ${b.name}: name already in use`),{success:!1,error:`A server named "${b.name}" already exists`};if(!d&&b.name)eH.info(`updateServerConfig: Creating new server config for ${b.name}`),d={name:b.name,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],_buildCommand:"",_installCommand:"",rootPath:""},c.push(d);else if(!d)return eH.warn(`updateServerConfig: Server ${a} not found`),{success:!1,error:`Server ${a} not found`};if(b.env){eH.debug(`updateServerConfig: Resolving global variables in env for ${a}`);try{eH.debug(`Original env variables for ${a}:`,JSON.stringify(b.env,null,2)),b.env=await (0,b_.c)(b.env),eH.debug(`Resolved env variables for ${a}:`,JSON.stringify(b.env,null,2)),eH.debug(`updateServerConfig: Successfully resolved global variables for ${a}`)}catch(b){eH.warn(`updateServerConfig: Error resolving global variables for ${a}:`,b)}}let f=b.oauthClientSecret;if(void 0!==f){let a=d.oauthClientSecret;b.oauthClientSecret=await this.resolveOAuthSecretForSave(f,a)}let g={...d};g={...d,...b};let h=JSON.stringify(d.roots??[])!==JSON.stringify(g.roots??[])||(d.rootPath??"")!==(g.rootPath??""),i=c.findIndex(b=>b.name===a);-1!==i?c[i]=g:g.name&&c.push(g);let j=await (0,b$.q)(new Map(c.map(a=>[a.name,a])));return j.success?(await this.ensureRemoteServerRootDir(g),e?(this.clients.has(a)?await this.disconnectServer(a):(this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a)),this.removeFromGlobalRecovery(a),this.stderrLogs.delete(a),this.lastConnectionError.delete(a),await this.handleConnectionStateChange(g.name,g)):await this.handleConnectionStateChange(a,g),h&&this.notifyRootsChanged(g.name),eH.info(`updateServerConfig: Successfully updated config for ${a}${e?` (renamed to ${g.name})`:""}`),g):(eH.warn(`updateServerConfig: Failed to save config for ${a}:`,j.error),j)}async handleConnectionStateChange(a,b){eH.debug(`handleConnectionStateChange: Entering method for server ${a}`);let c=!!this.getClient(a),d=!b.disabled;if(c&&!d){eH.info(`handleConnectionStateChange: Disconnecting disabled server ${a}`);try{await this.disconnectServer(a)}catch(b){eH.warn(`handleConnectionStateChange: Failed to disconnect server ${a} during update:`,b)}}else!c&&d?(eH.info(`handleConnectionStateChange: Connecting previously disabled server ${a}`),await this.connectServer(b)):c&&d?(eH.info(`handleConnectionStateChange: Re-applying config to connected server ${a}`),await this.connectServer(b)):d||(eH.info(`handleConnectionStateChange: Clearing retry timers for disabled server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a))}async clearRetryTimersForDisabledServers(){eH.debug("clearRetryTimersForDisabledServers: Checking for disabled servers with active retry timers");try{let a=await this.loadServerConfigs();if(!Array.isArray(a))return void eH.warn("clearRetryTimersForDisabledServers: Failed to load server configs");for(let b of a.filter(a=>a.disabled))this.connectionRetryTimers.has(b.name)&&(eH.info(`clearRetryTimersForDisabledServers: Clearing retry timer for disabled server ${b.name}`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name))}catch(a){eH.error("clearRetryTimersForDisabledServers: Error clearing retry timers:",a)}}async deleteServerConfig(a){eH.debug(`deleteServerConfig: Entering method for server ${a}`),this.clients.has(a)&&(eH.info(`deleteServerConfig: Disconnecting server ${a} before deletion`),await this.disconnectServer(a));let b=await this.loadServerConfigs();if(!Array.isArray(b))return eH.warn("deleteServerConfig: Failed to load configs:",b.error),b;let c=b.findIndex(b=>b.name===a);if(-1===c)return eH.warn(`deleteServerConfig: Server ${a} not found in configs`),{success:!1,error:`Server ${a} not found`};b.splice(c,1),eH.debug(`deleteServerConfig: Saving updated configs after deleting ${a}`);let d=await (0,b$.q)(new Map(b.map(a=>[a.name,a])));return d.success?eH.info(`deleteServerConfig: Successfully deleted server ${a}`):eH.warn(`deleteServerConfig: Error saving configs after deleting ${a}:`,d.error),d}async getServerStatus(a){this.getClient(a);let b=await this.getServerConfig(a);if(!b)return eH.warn(`getServerStatus: Server ${a} not found`),{status:"error",message:`Server ${a} configuration not found. The server may have been deleted or not properly configured.`};if(b.disabled)return eH.debug(`getServerStatus: Server ${a} is disabled`),{status:"disconnected"};if("streamable"===b.transport&&b.oauthScopes&&b.oauthScopes.length>0){if(!b.oauthTokens||!b.oauthTokens.access_token)return eH.info(`getServerStatus: Server ${a} requires OAuth authentication but has no valid tokens`),{status:"requires_authentication",message:"OAuth authentication required. Click the authenticate button to complete the OAuth flow."};if(!b.oauthTokens.refresh_token&&b.oauthTokens.expires_in&&b.oauthTokens.issued_at){let c=b.oauthTokens.issued_at,d=b.oauthTokens.expires_in;if(Math.floor(Date.now()/1e3)>=c+d)return eH.info(`getServerStatus: OAuth tokens for ${a} have expired and no refresh token is available`),{status:"requires_authentication",message:"OAuth tokens have expired. Please re-authenticate."}}}let c=(this.stderrLogs.get(a)||[]).join("\n").trim(),d=this.lastConnectionError.get(a);if(this.getClient(a))return eH.info(`getServerStatus: Server ${a} is connected`),{status:"connected",stderrOutput:c||void 0};{let b=this.isStartingUp()&&!this.lastConnectionError.has(a);if(this.connectingServers.has(a)||b)return eH.info(`getServerStatus: Server ${a} is still connecting`),{status:"connecting",message:"Server is starting up. This may take a few moments."};if(c&&(c.includes("OAuth authentication required")||c.includes("invalid_token")))return eH.info(`getServerStatus: OAuth authentication error detected for ${a}`),{status:"requires_authentication",message:"OAuth authentication required. Please complete the OAuth flow.",stderrOutput:c};let e=c||d;return e?(eH.info(`getServerStatus: Using ${c?"stderr output":"persisted connection error"} as error message for ${a}`),{status:"error",message:e,stderrOutput:c||void 0}):(eH.info(`getServerStatus: No specific error details available for ${a}`),{status:"error",message:`Server ${a} is configured but not connected. The server process may have crashed or been terminated.`,stderrOutput:void 0})}}async startEnabledServers(){eH.info("Starting all enabled servers"),this.setStartingUp(!0);try{await this.clearRetryTimersForDisabledServers();let a=await this.loadServerConfigs();if(!Array.isArray(a))return void eH.warn("Failed to load server configs, cannot start servers");let b=a.filter(a=>!a.disabled);eH.info(`Found ${b.length} enabled servers to start`),eH.debug(`${b}`),b.forEach(a=>this.connectingServers.add(a.name)),await Promise.all(b.map(a=>(eH.info(`Starting server: ${a.name}`),this.connectServer(a).catch(b=>{eH.error(`Failed to start server ${a.name}:`,b)}))))}finally{this.setStartingUp(!1)}}async getAvailableClients(){try{let a=await this.loadServerConfigs();if(!a||"error"in a)return eH.warn("getAvailableClients: Failed to load server configs:",a?.error),[];return(await Promise.all(a.map(async a=>{try{let b=await this.getServerStatus(a.name);return{name:a.name,status:"string"==typeof b?b:b.status,connected:"string"==typeof b?"connected"===b:"connected"===b.status}}catch(b){return eH.warn(`getAvailableClients: Error getting status for ${a.name}:`,b),{name:a.name,status:"error",connected:!1}}}))).map(a=>`${a.name} (${a.status})`)}catch(a){return eH.error("getAvailableClients: Error getting available clients:",a),[]}}}let eJ=new eI},86709:(a,b,c)=>{"use strict";var d;c.d(b,{$W:()=>j,GT:()=>g,cV:()=>h,cr:()=>i,tm:()=>e,xI:()=>f});let e=Object.freeze({status:"aborted"});function f(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}Symbol("zod_brand");class g extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let i=globalThis.__zod_globalConfig;function j(a){return a&&Object.assign(i,a),i}},86724:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.MissingRefError=b.ValidationError=b.CodeGen=b.Name=b.nil=b.stringify=b.str=b._=b.KeywordCxt=b.Ajv=void 0;let d=c(81502),e=c(40766),f=c(40571),g=c(32749),h=["/properties"],i="http://json-schema.org/draft-07/schema";class j extends d.default{_addVocabularies(){super._addVocabularies(),e.default.forEach(a=>this.addVocabulary(a)),this.opts.discriminator&&this.addKeyword(f.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let a=this.opts.$data?this.$dataMetaSchema(g,h):g;this.addMetaSchema(a,i,!1),this.refs["http://json-schema.org/schema"]=i}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(i)?i:void 0)}}b.Ajv=j,a.exports=b=j,a.exports.Ajv=j,Object.defineProperty(b,"__esModule",{value:!0}),b.default=j;var k=c(31638);Object.defineProperty(b,"KeywordCxt",{enumerable:!0,get:function(){return k.KeywordCxt}});var l=c(31849);Object.defineProperty(b,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(b,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(b,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(b,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(b,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(b,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var m=c(39590);Object.defineProperty(b,"ValidationError",{enumerable:!0,get:function(){return m.default}});var n=c(84687);Object.defineProperty(b,"MissingRefError",{enumerable:!0,get:function(){return n.default}})},86914:function(a,b,c){var d,e,f,g,h,i,j;d=c(67278),c(47973),c(4177),f=(e=d.x64).Word,g=e.WordArray,i=(h=d.algo).SHA512,j=h.SHA384=i.extend({_doReset:function(){this._hash=new g.init([new f.init(0xcbbb9d5d,0xc1059ed8),new f.init(0x629a292a,0x367cd507),new f.init(0x9159015a,0x3070dd17),new f.init(0x152fecd8,0xf70e5939),new f.init(0x67332667,0xffc00b31),new f.init(0x8eb44a87,0x68581511),new f.init(0xdb0c2e0d,0x64f98fa7),new f.init(0x47b5481d,0xbefa4fa4)])},_doFinalize:function(){var a=i._doFinalize.call(this);return a.sigBytes-=16,a}}),d.SHA384=i._createHelper(j),d.HmacSHA384=i._createHmacHelper(j),a.exports=d.SHA384},87138:a=>{"use strict";a.exports=/^#!(.*)/},87507:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,c:()=>k});var d=c(98402);c(3308);var e=c(18230),f=c(79111),g=c(89392),h=c(97832),i=c(48584);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);j.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.Do)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.Do)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40520b537d1d43f510acbccd60e3e7d42ce215c157",null),(0,d.A)(l,"60de87c4c5950c080550cb766970e88ae9c9a0ca25",null)},87699:function(a,b,c){var d;d=c(67278),c(70522),d.pad.Iso97971={pad:function(a,b){a.concat(d.lib.WordArray.create([0x80000000],1)),d.pad.ZeroPadding.pad(a,b)},unpad:function(a){d.pad.ZeroPadding.unpad(a),a.sigBytes--}},a.exports=d.pad.Iso97971},87836:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.TokenHandler=void 0;let d=c(73214),e=c(28627);class f{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(a){this.tokenOptions=a}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let a=await (0,e.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=a.privateKey,this.tokenOptions.email=a.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let a=new Date().getTime(),b=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=a+b}hasExpired(){return new Date().getTime(),!this.token||!this.tokenExpiresAt||new Date().getTime()>=this.tokenExpiresAt}async getToken(a){if(await this.processCredentials(),this.inFlightRequest&&!a)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!a)return this.token;try{this.inFlightRequest=(0,d.getToken)(this.tokenOptions);let a=await this.inFlightRequest;return this.token=a,this.tokenExpiresAt=new Date().getTime()+(a.expires_in??0)*1e3,a}finally{this.inFlightRequest=void 0}}}b.TokenHandler=f},88593:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.createCrypto=function(){return h()?new f.BrowserCrypto:new g.NodeCrypto},b.hasBrowserCrypto=h;let f=c(11486),g=c(64098);function h(){return"undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle}e(c(89629),b)},88634:(a,b,c)=>{"use strict";var d=c(91378),e=c(28354),f=c(33873),g=c(81630),h=c(55591),i=c(79551).parse,j=c(29021),k=c(27910).Stream,l=c(55511),m=c(88659),n=c(19814),o=c(79522),p=c(75786),q=c(2007);function r(a){return String(a).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function s(a){if(!(this instanceof s))return new s(a);for(var b in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],d.call(this),a=a||{})this[b]=a[b]}e.inherits(s,d),s.LINE_BREAK="\r\n",s.DEFAULT_CONTENT_TYPE="application/octet-stream",s.prototype.append=function(a,b,c){"string"==typeof(c=c||{})&&(c={filename:c});var e=d.prototype.append.bind(this);if(("number"==typeof b||null==b)&&(b=String(b)),Array.isArray(b))return void this._error(Error("Arrays are not supported."));var f=this._multiPartHeader(a,b,c),g=this._multiPartFooter();e(f),e(b),e(g),this._trackLength(f,b,c)},s.prototype._trackLength=function(a,b,c){var d=0;null!=c.knownLength?d+=Number(c.knownLength):Buffer.isBuffer(b)?d=b.length:"string"==typeof b&&(d=Buffer.byteLength(b)),this._valueLength+=d,this._overheadLength+=Buffer.byteLength(a)+s.LINE_BREAK.length,b&&(b.path||b.readable&&p(b,"httpVersion")||b instanceof k)&&(c.knownLength||this._valuesToMeasure.push(b))},s.prototype._lengthRetriever=function(a,b){p(a,"fd")?void 0!=a.end&&a.end!=1/0&&void 0!=a.start?b(null,a.end+1-(a.start?a.start:0)):j.stat(a.path,function(c,d){if(c)return void b(c);b(null,d.size-(a.start?a.start:0))}):p(a,"httpVersion")?b(null,Number(a.headers["content-length"])):p(a,"httpModule")?(a.on("response",function(c){a.pause(),b(null,Number(c.headers["content-length"]))}),a.resume()):b("Unknown stream")},s.prototype._multiPartHeader=function(a,b,c){if("string"==typeof c.header)return c.header;var d,e=this._getContentDisposition(b,c),f=this._getContentType(b,c),g="",h={"Content-Disposition":["form-data",'name="'+r(a)+'"'].concat(e||[]),"Content-Type":[].concat(f||[])};for(var i in"object"==typeof c.header&&q(h,c.header),h)if(p(h,i)){if(null==(d=h[i]))continue;Array.isArray(d)||(d=[d]),d.length&&(g+=i+": "+d.join("; ")+s.LINE_BREAK)}return"--"+this.getBoundary()+s.LINE_BREAK+g+s.LINE_BREAK},s.prototype._getContentDisposition=function(a,b){var c;if("string"==typeof b.filepath?c=f.normalize(b.filepath).replace(/\\/g,"/"):b.filename||a&&(a.name||a.path)?c=f.basename(b.filename||a&&(a.name||a.path)):a&&a.readable&&p(a,"httpVersion")&&(c=f.basename(a.client._httpMessage.path||"")),c)return'filename="'+r(c)+'"'},s.prototype._getContentType=function(a,b){var c=b.contentType;return!c&&a&&a.name&&(c=m.lookup(a.name)),!c&&a&&a.path&&(c=m.lookup(a.path)),!c&&a&&a.readable&&p(a,"httpVersion")&&(c=a.headers["content-type"]),!c&&(b.filepath||b.filename)&&(c=m.lookup(b.filepath||b.filename)),!c&&a&&"object"==typeof a&&(c=s.DEFAULT_CONTENT_TYPE),c},s.prototype._multiPartFooter=function(){return(function(a){var b=s.LINE_BREAK;0===this._streams.length&&(b+=this._lastBoundary()),a(b)}).bind(this)},s.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+s.LINE_BREAK},s.prototype.getHeaders=function(a){var b,c={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(b in a)p(a,b)&&(c[b.toLowerCase()]=a[b]);return c},s.prototype.setBoundary=function(a){if("string"!=typeof a)throw TypeError("FormData boundary must be a string");this._boundary=a},s.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},s.prototype.getBuffer=function(){for(var a=new Buffer.alloc(0),b=this.getBoundary(),c=0,d=this._streams.length;c<d;c++)"function"!=typeof this._streams[c]&&(a=Buffer.isBuffer(this._streams[c])?Buffer.concat([a,this._streams[c]]):Buffer.concat([a,Buffer.from(this._streams[c])]),("string"!=typeof this._streams[c]||this._streams[c].substring(2,b.length+2)!==b)&&(a=Buffer.concat([a,Buffer.from(s.LINE_BREAK)])));return Buffer.concat([a,Buffer.from(this._lastBoundary())])},s.prototype._generateBoundary=function(){this._boundary="--------------------------"+l.randomBytes(12).toString("hex")},s.prototype.getLengthSync=function(){var a=this._overheadLength+this._valueLength;return this._streams.length&&(a+=this._lastBoundary().length),this.hasKnownLength()||this._error(Error("Cannot calculate proper length in synchronous way.")),a},s.prototype.hasKnownLength=function(){var a=!0;return this._valuesToMeasure.length&&(a=!1),a},s.prototype.getLength=function(a){var b=this._overheadLength+this._valueLength;if(this._streams.length&&(b+=this._lastBoundary().length),!this._valuesToMeasure.length)return void process.nextTick(a.bind(this,null,b));n.parallel(this._valuesToMeasure,this._lengthRetriever,function(c,d){if(c)return void a(c);d.forEach(function(a){b+=a}),a(null,b)})},s.prototype.submit=function(a,b){var c,d,e={method:"post"};return"string"==typeof a?d=q({port:(a=i(a)).port,path:a.pathname,host:a.hostname,protocol:a.protocol},e):(d=q(a,e)).port||(d.port="https:"===d.protocol?443:80),d.headers=this.getHeaders(a.headers),c="https:"===d.protocol?h.request(d):g.request(d),this.getLength((function(a,d){if(a&&"Unknown stream"!==a)return void this._error(a);if(d&&c.setHeader("Content-Length",d),this.pipe(c),b){var e,f=function(a,d){return c.removeListener("error",f),c.removeListener("response",e),b.call(this,a,d)};e=f.bind(this,null),c.on("error",f),c.on("response",e)}}).bind(this)),c},s.prototype._error=function(a){this.error||(this.error=a,this.pause(),this.emit("error",a))},s.prototype.toString=function(){return"[object FormData]"},o(s.prototype,"FormData"),a.exports=s},88659:(a,b,c)=>{"use strict";var d=c(42696),e=c(33873).extname,f=/^\s*([^;\s]*)(?:;|\s|$)/,g=/^text\//i;function h(a){if(!a||"string"!=typeof a)return!1;var b=f.exec(a),c=b&&d[b[1].toLowerCase()];return c&&c.charset?c.charset:!!(b&&g.test(b[1]))&&"UTF-8"}b.charset=h,b.charsets={lookup:h},b.contentType=function(a){if(!a||"string"!=typeof a)return!1;var c=-1===a.indexOf("/")?b.lookup(a):a;if(!c)return!1;if(-1===c.indexOf("charset")){var d=b.charset(c);d&&(c+="; charset="+d.toLowerCase())}return c},b.extension=function(a){if(!a||"string"!=typeof a)return!1;var c=f.exec(a),d=c&&b.extensions[c[1].toLowerCase()];return!!d&&!!d.length&&d[0]},b.extensions=Object.create(null),b.lookup=function(a){if(!a||"string"!=typeof a)return!1;var c=e("x."+a).toLowerCase().substr(1);return!!c&&(b.types[c]||!1)},b.types=Object.create(null),function(a,b){var c=["nginx","apache",void 0,"iana"];Object.keys(d).forEach(function(e){var f=d[e],g=f.extensions;if(g&&g.length){a[e]=g;for(var h=0;h<g.length;h++){var i=g[h];if(b[i]){var j=c.indexOf(d[b[i]].source),k=c.indexOf(f.source);if("application/octet-stream"!==b[i]&&(j>k||j===k&&"application/"===b[i].substr(0,12)))continue}b[i]=e}}})}(b.extensions,b.types)},89392:(a,b,c)=>{"use strict";c.d(b,{Z:()=>d});var d=function(a){return a.MODELS="models",a.FLOWS="flows",a.CHAT_HISTORY="history",a.THEME="theme",a.ENCRYPTION_KEY="encryption_key",a.MCP_SERVERS="mcp_servers",a.GLOBAL_ENV_VARS="global_env_vars",a.CURRENT_CONVERSATION_ID="current_conversation_id",a.SELECTED_FLOW_ID="selected_flow_id",a.SPEECH_SETTINGS="speech_settings",a.SPOTLIGHT_SERVERS="spotlight_servers",a.PLANNED_EXECUTIONS="planned_executions",a}({})},89629:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.fromArrayBufferToHex=function(a){return Array.from(new Uint8Array(a)).map(a=>a.toString(16).padStart(2,"0")).join("")}},89850:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},90126:(a,b,c)=>{var d=c(23150);a.exports=function(a){var b=!1;return d(function(){b=!0}),function(c,e){b?a(c,e):d(function(){a(c,e)})}}},91233:(a,b,c)=>{"use strict";var d,e=c(39247),f=c(33324);try{d=[].__proto__===Array.prototype}catch(a){if(!a||"object"!=typeof a||!("code"in a)||"ERR_PROTO_ACCESS"!==a.code)throw a}var g=!!d&&f&&f(Object.prototype,"__proto__"),h=Object,i=h.getPrototypeOf;a.exports=g&&"function"==typeof g.get?e([g.get]):"function"==typeof i&&function(a){return i(null==a?a:h(a))}},91378:(a,b,c)=>{var d=c(28354),e=c(27910).Stream,f=c(14702);function g(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}a.exports=g,d.inherits(g,e),g.create=function(a){var b=new this;for(var c in a=a||{})b[c]=a[c];return b},g.isStreamLike=function(a){return"function"!=typeof a&&"string"!=typeof a&&"boolean"!=typeof a&&"number"!=typeof a&&!Buffer.isBuffer(a)},g.prototype.append=function(a){if(g.isStreamLike(a)){if(!(a instanceof f)){var b=f.create(a,{maxDataSize:1/0,pauseStream:this.pauseStreams});a.on("data",this._checkDataSize.bind(this)),a=b}this._handleErrors(a),this.pauseStreams&&a.pause()}return this._streams.push(a),this},g.prototype.pipe=function(a,b){return e.prototype.pipe.call(this,a,b),this.resume(),a},g.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}},g.prototype._realGetNext=function(){var a=this._streams.shift();return void 0===a?void this.end():"function"!=typeof a?void this._pipeNext(a):void a((function(a){g.isStreamLike(a)&&(a.on("data",this._checkDataSize.bind(this)),this._handleErrors(a)),this._pipeNext(a)}).bind(this))},g.prototype._pipeNext=function(a){if(this._currentStream=a,g.isStreamLike(a)){a.on("end",this._getNext.bind(this)),a.pipe(this,{end:!1});return}this.write(a),this._getNext()},g.prototype._handleErrors=function(a){var b=this;a.on("error",function(a){b._emitError(a)})},g.prototype.write=function(a){this.emit("data",a)},g.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},g.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},g.prototype.end=function(){this._reset(),this.emit("end")},g.prototype.destroy=function(){this._reset(),this.emit("close")},g.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},g.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var a="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(Error(a))}},g.prototype._updateDataSize=function(){this.dataSize=0;var a=this;this._streams.forEach(function(b){b.dataSize&&(a.dataSize+=b.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},g.prototype._emitError=function(a){this._reset(),this.emit("error",a)}},91480:a=>{"use strict";let b=/([()\][%!^"`<>&|;, *?])/g;a.exports.command=function(a){return a.replace(b,"^$1")},a.exports.argument=function(a,c){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(b,"^$1"),c&&(a=a.replace(b,"^$1")),a}},91527:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>"function"==typeof a},91781:(a,b,c)=>{var d=c(92878).Buffer,e=c(27910);function f(a){if(this.buffer=null,this.writable=!0,this.readable=!0,!a)return this.buffer=d.alloc(0),this;if("function"==typeof a.pipe)return this.buffer=d.alloc(0),a.pipe(this),this;if(a.length||"object"==typeof a)return this.buffer=a,this.writable=!1,process.nextTick((function(){this.emit("end",a),this.readable=!1,this.emit("close")}).bind(this)),this;throw TypeError("Unexpected data type ("+typeof a+")")}c(28354).inherits(f,e),f.prototype.write=function(a){this.buffer=d.concat([this.buffer,d.from(a)]),this.emit("data",a)},f.prototype.end=function(a){a&&this.write(a),this.emit("end",a),this.emit("close"),this.writable=!1,this.readable=!1},a.exports=f},92111:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31638),e=c(97025),f=c(83593),g=c(68300);b.default={keyword:"properties",type:"object",schemaType:"object",code(a){let{gen:b,schema:c,parentSchema:h,data:i,it:j}=a;"all"===j.opts.removeAdditional&&void 0===h.additionalProperties&&g.default.code(new d.KeywordCxt(j,g.default,"additionalProperties"));let k=(0,e.allSchemaProperties)(c);for(let a of k)j.definedProperties.add(a);j.opts.unevaluated&&k.length&&!0!==j.props&&(j.props=f.mergeEvaluated.props(b,(0,f.toHash)(k),j.props));let l=k.filter(a=>!(0,f.alwaysValidSchema)(j,c[a]));if(0===l.length)return;let m=b.name("valid");for(let d of l){var n;(n=d,j.opts.useDefaults&&!j.compositeRule&&void 0!==c[n].default)?o(d):(b.if((0,e.propertyInData)(b,i,d,j.opts.ownProperties)),o(d),j.allErrors||b.else().var(m,!0),b.endIf()),a.it.definedProperties.add(d),a.ok(m)}function o(b){a.subschema({keyword:"properties",schemaProp:b,dataProp:b},m)}}}},92878:(a,b,c)=>{var d=c(79428),e=d.Buffer;function f(a,b){for(var c in a)b[c]=a[c]}function g(a,b,c){return e(a,b,c)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?a.exports=d:(f(d,b),b.Buffer=g),g.prototype=Object.create(e.prototype),f(e,g),g.from=function(a,b,c){if("number"==typeof a)throw TypeError("Argument must not be a number");return e(a,b,c)},g.alloc=function(a,b,c){if("number"!=typeof a)throw TypeError("Argument must be a number");var d=e(a);return void 0!==b?"string"==typeof c?d.fill(b,c):d.fill(b):d.fill(0),d},g.allocUnsafe=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return e(a)},g.allocUnsafeSlow=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return d.SlowBuffer(a)}},93111:(a,b,c)=>{"use strict";let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),{types:{isUint8Array:g}}=c(28354),h=c(74240),{EMPTY_BUFFER:i,kWebSocket:j,NOOP:k}=c(32995),{isBlob:l,isValidStatusCode:m}=c(26649),{mask:n,toBuffer:o}=c(27047),p=Symbol("kByteLength"),q=Buffer.alloc(4),r=8192;class s{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=k,this[j]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||q,b.generateMask?b.generateMask(c):(8192===r&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),r=0),c[0]=d[r++],c[1]=d[r++],c[2]=d[r++],c[3]=d[r++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[p]?b[p]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(n(a,c,k,h,e),[k]):(n(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=i;else if("number"==typeof a&&m(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");if((e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b)e.write(b,2);else if(g(b))e.set(b,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[p]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(s.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[h.extensionName],g=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,g=0),b.fin&&(this._firstFragment=!0);let j={[p]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:g,readOnly:e,rsv1:i};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[p],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(t,this,a,d);return}this._bufferedBytes-=c[p];let e=o(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(s.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(u,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(s.frame(a,c),d);let e=this._extensions[h.extensionName];this._bufferedBytes+=c[p],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void t(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[p],this._state=0,c.readOnly=!1,this.sendFrame(s.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][p],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][p],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function t(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function u(a,b,c){t(a,b,c),a.onerror(b)}a.exports=s},93209:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.ExternalAccountClient=void 0;let d=c(35294),e=c(62888),f=c(73925),g=c(27305);class h{constructor(){throw 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(a){return a&&a.type===d.EXTERNAL_ACCOUNT_TYPE?a.credential_source?.environment_id?new f.AwsClient(a):a.credential_source?.executable?new g.PluggableAuthClient(a):new e.IdentityPoolClient(a):null}}b.ExternalAccountClient=h},93704:(a,b,c)=>{"use strict";c.d(b,{Y:()=>ce});let d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:a=>`Symbol(${a})`;function e(){}function f(a){return"object"==typeof a&&null!==a||"function"==typeof a}function g(a,b){try{Object.defineProperty(a,"name",{value:b,configurable:!0})}catch(a){}}let h=Promise,i=Promise.prototype.then,j=Promise.resolve.bind(h),k=Promise.reject.bind(h);function l(a){return new h(a)}function m(a,b,c){return i.call(a,b,c)}function n(a,b,c){m(m(a,b,c),void 0,e)}function o(a){m(a,void 0,e)}let p=a=>{if("function"==typeof queueMicrotask)p=queueMicrotask;else{let a=j(void 0);p=b=>m(a,b)}return p(a)};function q(a,b,c){if("function"!=typeof a)throw TypeError("Argument is not a function");return Function.prototype.apply.call(a,b,c)}function r(a,b,c){try{var d;return d=q(a,b,c),j(d)}catch(a){return k(a)}}class s{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(a){let b=this._back,c=b;16383===b._elements.length&&(c={_elements:[],_next:void 0}),b._elements.push(a),c!==b&&(this._back=c,b._next=c),++this._size}shift(){let a=this._front,b=a,c=this._cursor,d=c+1,e=a._elements,f=e[c];return 16384===d&&(b=a._next,d=0),--this._size,this._cursor=d,a!==b&&(this._front=b),e[c]=void 0,f}forEach(a){let b=this._cursor,c=this._front,d=c._elements;for(;!(b===d.length&&void 0===c._next||b===d.length&&(d=(c=c._next)._elements,b=0,0===d.length));)a(d[b]),++b}peek(){let a=this._front,b=this._cursor;return a._elements[b]}}let t=d("[[AbortSteps]]"),u=d("[[ErrorSteps]]"),v=d("[[CancelSteps]]"),w=d("[[PullSteps]]"),x=d("[[ReleaseSteps]]");function y(a,b){var c,d;a._ownerReadableStream=b,b._reader=a,"readable"===b._state?C(a):"closed"===b._state?(C(a),E(a)):(c=a,d=b._storedError,C(c),D(c,d))}function z(a,b){return bA(a._ownerReadableStream,b)}function A(a){var b,c;let d=a._ownerReadableStream;"readable"===d._state?D(a,TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):(b=a,c=TypeError("Reader was released and can no longer be used to monitor the stream's closedness"),C(b),D(b,c)),d._readableStreamController[x](),d._reader=void 0,a._ownerReadableStream=void 0}function B(a){return TypeError("Cannot "+a+" a stream using a released reader")}function C(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c})}function D(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}function E(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}let F=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},G=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function H(a,b){if(void 0!==a&&"object"!=typeof a&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function I(a,b){if("function"!=typeof a)throw TypeError(`${b} is not a function.`)}function J(a,b){if(("object"!=typeof a||null===a)&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function K(a,b,c){if(void 0===a)throw TypeError(`Parameter ${b} is required in '${c}'.`)}function L(a,b,c){if(void 0===a)throw TypeError(`${b} is required in '${c}'.`)}function M(a){return Number(a)}function N(a,b){var c,d;let e=Number.MAX_SAFE_INTEGER,f=Number(a);if(!F(f=0===(c=f)?0:c))throw TypeError(`${b} is not a finite number`);if((f=0===(d=G(f))?0:d)<0||f>e)throw TypeError(`${b} is outside the accepted range of 0 to ${e}, inclusive`);return F(f)&&0!==f?f:0}function O(a){if(!f(a)||"function"!=typeof a.getReader)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function P(a){if(!f(a)||"function"!=typeof a.getWriter)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function Q(a,b){if(!by(a))throw TypeError(`${b} is not a ReadableStream.`)}function R(a,b){a._reader._readRequests.push(b)}function S(a,b,c){let d=a._reader._readRequests.shift();c?d._closeSteps():d._chunkSteps(b)}function T(a){return a._reader._readRequests.length}function U(a){let b=a._reader;return void 0!==b&&!!W(b)}class V{constructor(a){if(K(a,1,"ReadableStreamDefaultReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");y(this,a),this._readRequests=new s}get closed(){return W(this)?this._closedPromise:k(Y("closed"))}cancel(a){return W(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(Y("cancel"))}read(){let a,b;if(!W(this))return k(Y("read"));if(void 0===this._ownerReadableStream)return k(B("read from"));let c=l((c,d)=>{a=c,b=d});return function(a,b){let c=a._ownerReadableStream;c._disturbed=!0,"closed"===c._state?b._closeSteps():"errored"===c._state?b._errorSteps(c._storedError):c._readableStreamController[w](b)}(this,{_chunkSteps:b=>a({value:b,done:!1}),_closeSteps:()=>a({value:void 0,done:!0}),_errorSteps:a=>b(a)}),c}releaseLock(){if(!W(this))throw Y("releaseLock");void 0!==this._ownerReadableStream&&(A(this),X(this,TypeError("Reader was released")))}}function W(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readRequests")&&a instanceof V}function X(a,b){let c=a._readRequests;a._readRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function Y(a){return TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(V.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(V.prototype.cancel,"cancel"),g(V.prototype.read,"read"),g(V.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(V.prototype,d.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});class Z{constructor(a,b){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=a,this._preventCancel=b}next(){let a=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?m(this._ongoingPromise,a,a):a(),this._ongoingPromise}return(a){let b=()=>this._returnSteps(a);return this._ongoingPromise?m(this._ongoingPromise,b,b):b()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let a=this._reader;return void 0===a?k(B("iterate")):m(a.read(),a=>{var b;return this._ongoingPromise=void 0,a.done&&(this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0),a},a=>{var b;throw this._ongoingPromise=void 0,this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0,a})}_returnSteps(a){if(this._isFinished)return Promise.resolve({value:a,done:!0});this._isFinished=!0;let b=this._reader;if(void 0===b)return k(B("finish iterating"));if(this._reader=void 0,!this._preventCancel){let c=b.cancel(a);return b.releaseLock(),m(c,()=>({value:a,done:!0}),void 0)}return b.releaseLock(),j({value:a,done:!0})}}let $={next(){return _(this)?this._asyncIteratorImpl.next():k(aa("next"))},return(a){return _(this)?this._asyncIteratorImpl.return(a):k(aa("return"))}};function _(a){if(!f(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof Z}catch(a){return!1}}function aa(a){return TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}"symbol"==typeof d.asyncIterator&&Object.defineProperty($,d.asyncIterator,{value(){return this},writable:!0,configurable:!0});let ab=Number.isNaN||function(a){return a!=a};function ac(a,b,c,d,e){new Uint8Array(a).set(new Uint8Array(c,d,e),b)}function ad(a){return new Uint8Array(function(a,b,c){if(a.slice)return a.slice(b,c);let d=c-b,e=new ArrayBuffer(d);return ac(e,0,a,b,d),e}(a.buffer,a.byteOffset,a.byteOffset+a.byteLength))}function ae(a){let b=a._queue.shift();return a._queueTotalSize-=b.size,a._queueTotalSize<0&&(a._queueTotalSize=0),b.value}function af(a,b,c){if("number"!=typeof c||ab(c)||c<0||c===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:b,size:c}),a._queueTotalSize+=c}function ag(a){a._queue=new s,a._queueTotalSize=0}class ah{constructor(){throw TypeError("Illegal constructor")}get view(){if(!ak(this))throw aD("view");return this._view}respond(a){if(!ak(this))throw aD("respond");if(K(a,1,"respond"),a=N(a,"First parameter"),void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");this._view.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===b)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(c.bytesFilled+b>c.byteLength)throw RangeError("bytesWritten out of range")}c.buffer=c.buffer,ax(a,b)}(this._associatedReadableByteStreamController,a)}respondWithNewView(a){if(!ak(this))throw aD("respondWithNewView");if(K(a,1,"respondWithNewView"),!ArrayBuffer.isView(a))throw TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");a.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b.byteLength)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===b.byteLength)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(c.byteOffset+c.bytesFilled!==b.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(c.bufferByteLength!==b.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(c.bytesFilled+b.byteLength>c.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let d=b.byteLength;c.buffer=b.buffer,ax(a,d)}(this._associatedReadableByteStreamController,a)}}Object.defineProperties(ah.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),g(ah.prototype.respond,"respond"),g(ah.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ah.prototype,d.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ai{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!aj(this))throw aE("byobRequest");return function(a){if(null===a._byobRequest&&a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek(),c=new Uint8Array(b.buffer,b.byteOffset+b.bytesFilled,b.byteLength-b.bytesFilled),d=Object.create(ah.prototype);d._associatedReadableByteStreamController=a,d._view=c,a._byobRequest=d}return a._byobRequest}(this)}get desiredSize(){if(!aj(this))throw aE("desiredSize");return aC(this)}close(){if(!aj(this))throw aE("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let a=this._controlledReadableByteStream._state;if("readable"!==a)throw TypeError(`The stream (in ${a} state) is not in the readable state and cannot be closed`);!function(a){let b=a._controlledReadableByteStream;if(!a._closeRequested&&"readable"===b._state){if(a._queueTotalSize>0)return a._closeRequested=!0;if(a._pendingPullIntos.length>0&&a._pendingPullIntos.peek().bytesFilled>0){let b=TypeError("Insufficient bytes to fill elements in the given buffer");throw aA(a,b),b}az(a),bB(b)}}(this)}enqueue(a){if(!aj(this))throw aE("enqueue");if(K(a,1,"enqueue"),!ArrayBuffer.isView(a))throw TypeError("chunk must be an array buffer view");if(0===a.byteLength)throw TypeError("chunk must have non-zero byteLength");if(0===a.buffer.byteLength)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let b=this._controlledReadableByteStream._state;if("readable"!==b)throw TypeError(`The stream (in ${b} state) is not in the readable state and cannot be enqueued to`);!function(a,b){let c=a._controlledReadableByteStream;if(a._closeRequested||"readable"!==c._state)return;let d=b.buffer,e=b.byteOffset,f=b.byteLength;if(a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek();b.buffer,av(a),b.buffer=b.buffer,"none"===b.readerType&&ar(a,b)}U(c)?(function(a){let b=a._controlledReadableByteStream._reader;for(;b._readRequests.length>0;){if(0===a._queueTotalSize)return;aB(a,b._readRequests.shift())}}(a),0===T(c))?ap(a,d,e,f):(a._pendingPullIntos.length>0&&ay(a),S(c,new Uint8Array(d,e,f),!1)):aH(c)?(ap(a,d,e,f),aw(a)):ap(a,d,e,f),al(a)}(this,a)}error(a){if(!aj(this))throw aE("error");aA(this,a)}[v](a){am(this),ag(this);let b=this._cancelAlgorithm(a);return az(this),b}[w](a){let b=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void aB(this,a);let c=this._autoAllocateChunkSize;if(void 0!==c){let b;try{b=new ArrayBuffer(c)}catch(b){return void a._errorSteps(b)}let d={buffer:b,bufferByteLength:c,byteOffset:0,byteLength:c,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(d)}R(b,a),al(this)}[x](){if(this._pendingPullIntos.length>0){let a=this._pendingPullIntos.peek();a.readerType="none",this._pendingPullIntos=new s,this._pendingPullIntos.push(a)}}}function aj(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")&&a instanceof ai}function ak(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")&&a instanceof ah}function al(a){if(function(a){let b=a._controlledReadableByteStream;return"readable"===b._state&&!a._closeRequested&&!!a._started&&!!(U(b)&&T(b)>0||aH(b)&&aG(b)>0||aC(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,al(a)),null),b=>(aA(a,b),null))}}function am(a){av(a),a._pendingPullIntos=new s}function an(a,b){let c=!1;"closed"===a._state&&(c=!0);let d=ao(b);"default"===b.readerType?S(a,d,c):function(a,b,c){let d=a._reader._readIntoRequests.shift();c?d._closeSteps(b):d._chunkSteps(b)}(a,d,c)}function ao(a){let b=a.bytesFilled,c=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,b/c)}function ap(a,b,c,d){a._queue.push({buffer:b,byteOffset:c,byteLength:d}),a._queueTotalSize+=d}function aq(a,b,c,d){let e;try{e=b.slice(c,c+d)}catch(b){throw aA(a,b),b}ap(a,e,0,d)}function ar(a,b){b.bytesFilled>0&&aq(a,b.buffer,b.byteOffset,b.bytesFilled),ay(a)}function as(a,b){let c=b.elementSize,d=b.bytesFilled-b.bytesFilled%c,e=Math.min(a._queueTotalSize,b.byteLength-b.bytesFilled),f=b.bytesFilled+e,g=f-f%c,h=e,i=!1;g>d&&(h=g-b.bytesFilled,i=!0);let j=a._queue;for(;h>0;){let c=j.peek(),d=Math.min(h,c.byteLength),e=b.byteOffset+b.bytesFilled;ac(b.buffer,e,c.buffer,c.byteOffset,d),c.byteLength===d?j.shift():(c.byteOffset+=d,c.byteLength-=d),a._queueTotalSize-=d,at(a,d,b),h-=d}return i}function at(a,b,c){c.bytesFilled+=b}function au(a){0===a._queueTotalSize&&a._closeRequested?(az(a),bB(a._controlledReadableByteStream)):al(a)}function av(a){null!==a._byobRequest&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}function aw(a){for(;a._pendingPullIntos.length>0;){if(0===a._queueTotalSize)return;let b=a._pendingPullIntos.peek();as(a,b)&&(ay(a),an(a._controlledReadableByteStream,b))}}function ax(a,b){let c=a._pendingPullIntos.peek();av(a),"closed"===a._controlledReadableByteStream._state?function(a,b){"none"===b.readerType&&ay(a);let c=a._controlledReadableByteStream;if(aH(c))for(;aG(c)>0;)an(c,ay(a))}(a,c):function(a,b,c){if(at(0,b,c),"none"===c.readerType)return ar(a,c),aw(a);if(c.bytesFilled<c.elementSize)return;ay(a);let d=c.bytesFilled%c.elementSize;if(d>0){let b=c.byteOffset+c.bytesFilled;aq(a,c.buffer,b-d,d)}c.bytesFilled-=d,an(a._controlledReadableByteStream,c),aw(a)}(a,b,c),al(a)}function ay(a){return a._pendingPullIntos.shift()}function az(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}function aA(a,b){let c=a._controlledReadableByteStream;"readable"===c._state&&(am(a),ag(a),az(a),bC(c,b))}function aB(a,b){let c=a._queue.shift();a._queueTotalSize-=c.byteLength,au(a);let d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength);b._chunkSteps(d)}function aC(a){let b=a._controlledReadableByteStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function aD(a){return TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}function aE(a){return TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}function aF(a,b){a._reader._readIntoRequests.push(b)}function aG(a){return a._reader._readIntoRequests.length}function aH(a){let b=a._reader;return void 0!==b&&!!aJ(b)}Object.defineProperties(ai.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),g(ai.prototype.close,"close"),g(ai.prototype.enqueue,"enqueue"),g(ai.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ai.prototype,d.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class aI{constructor(a){if(K(a,1,"ReadableStreamBYOBReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!aj(a._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");y(this,a),this._readIntoRequests=new s}get closed(){return aJ(this)?this._closedPromise:k(aL("closed"))}cancel(a){return aJ(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(aL("cancel"))}read(a){let b,c;if(!aJ(this))return k(aL("read"));if(!ArrayBuffer.isView(a))return k(TypeError("view must be an array buffer view"));if(0===a.byteLength)return k(TypeError("view must have non-zero byteLength"));if(0===a.buffer.byteLength)return k(TypeError("view's buffer must have non-zero byteLength"));if(a.buffer,void 0===this._ownerReadableStream)return k(B("read from"));let d=l((a,d)=>{b=a,c=d});return function(a,b,c){let d=a._ownerReadableStream;d._disturbed=!0,"errored"===d._state?c._errorSteps(d._storedError):function(a,b,c){let d=a._controlledReadableByteStream,e=1;b.constructor!==DataView&&(e=b.constructor.BYTES_PER_ELEMENT);let f=b.constructor,g=b.buffer,h={buffer:g,bufferByteLength:g.byteLength,byteOffset:b.byteOffset,byteLength:b.byteLength,bytesFilled:0,elementSize:e,viewConstructor:f,readerType:"byob"};if(a._pendingPullIntos.length>0)return a._pendingPullIntos.push(h),aF(d,c);if("closed"!==d._state){if(a._queueTotalSize>0){if(as(a,h)){let b=ao(h);return au(a),c._chunkSteps(b)}if(a._closeRequested){let b=TypeError("Insufficient bytes to fill elements in the given buffer");return aA(a,b),c._errorSteps(b)}}a._pendingPullIntos.push(h),aF(d,c),al(a)}else{let a=new f(h.buffer,h.byteOffset,0);c._closeSteps(a)}}(d._readableStreamController,b,c)}(this,a,{_chunkSteps:a=>b({value:a,done:!1}),_closeSteps:a=>b({value:a,done:!0}),_errorSteps:a=>c(a)}),d}releaseLock(){if(!aJ(this))throw aL("releaseLock");void 0!==this._ownerReadableStream&&(A(this),aK(this,TypeError("Reader was released")))}}function aJ(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")&&a instanceof aI}function aK(a,b){let c=a._readIntoRequests;a._readIntoRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function aL(a){return TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}function aM(a,b){let{highWaterMark:c}=a;if(void 0===c)return b;if(ab(c)||c<0)throw RangeError("Invalid highWaterMark");return c}function aN(a){let{size:b}=a;return b||(()=>1)}function aO(a,b){var c;H(a,b);let d=null==a?void 0:a.highWaterMark,e=null==a?void 0:a.size;return{highWaterMark:void 0===d?void 0:M(d),size:void 0===e?void 0:(I(c=e,`${b} has member 'size' that`),a=>M(c(a)))}}Object.defineProperties(aI.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(aI.prototype.cancel,"cancel"),g(aI.prototype.read,"read"),g(aI.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aI.prototype,d.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});let aP="function"==typeof AbortController;class aQ{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.abort,d=null==a?void 0:a.close,e=null==a?void 0:a.start,f=null==a?void 0:a.type,g=null==a?void 0:a.write;return{abort:void 0===c?void 0:(I(c,`${b} has member 'abort' that`),b=>r(c,a,[b])),close:void 0===d?void 0:(I(d,`${b} has member 'close' that`),()=>r(d,a,[])),start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),write:void 0===g?void 0:(I(g,`${b} has member 'write' that`),(b,c)=>r(g,a,[b,c])),type:f}}(a,"First parameter");if(this._state="writable",this._storedError=void 0,this._writer=void 0,this._writableStreamController=void 0,this._writeRequests=new s,this._inFlightWriteRequest=void 0,this._closeRequest=void 0,this._inFlightCloseRequest=void 0,this._pendingAbortRequest=void 0,this._backpressure=!1,void 0!==d.type)throw RangeError("Invalid type is specified");let e=aN(c);!function(a,b,c,d){let e,f,g,h,i=Object.create(a3.prototype);e=void 0!==b.start?()=>b.start(i):()=>{},f=void 0!==b.write?a=>b.write(a,i):()=>j(void 0),g=void 0!==b.close?()=>b.close():()=>j(void 0),h=void 0!==b.abort?a=>b.abort(a):()=>j(void 0),i._controlledWritableStream=a,a._writableStreamController=i,i._queue=void 0,i._queueTotalSize=void 0,ag(i),i._abortReason=void 0,i._abortController=function(){if(aP)return new AbortController}(),i._started=!1,i._strategySizeAlgorithm=d,i._strategyHWM=c,i._writeAlgorithm=f,i._closeAlgorithm=g,i._abortAlgorithm=h,a$(a,0>=a6(i)),n(j(e()),()=>(i._started=!0,a7(i),null),b=>(i._started=!0,aV(a,b),null))}(this,d,aM(c,1),e)}get locked(){if(!aR(this))throw ba("locked");return aS(this)}abort(a){return aR(this)?aS(this)?k(TypeError("Cannot abort a stream that already has a writer")):aT(this,a):k(ba("abort"))}close(){return aR(this)?aS(this)?k(TypeError("Cannot close a stream that already has a writer")):aY(this)?k(TypeError("Cannot close an already-closing stream")):aU(this):k(ba("close"))}getWriter(){if(!aR(this))throw ba("getWriter");return new a_(this)}}function aR(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")&&a instanceof aQ}function aS(a){return void 0!==a._writer}function aT(a,b){var c;if("closed"===a._state||"errored"===a._state)return j(void 0);a._writableStreamController._abortReason=b,null==(c=a._writableStreamController._abortController)||c.abort(b);let d=a._state;if("closed"===d||"errored"===d)return j(void 0);if(void 0!==a._pendingAbortRequest)return a._pendingAbortRequest._promise;let e=!1;"erroring"===d&&(e=!0,b=void 0);let f=l((c,d)=>{a._pendingAbortRequest={_promise:void 0,_resolve:c,_reject:d,_reason:b,_wasAlreadyErroring:e}});return a._pendingAbortRequest._promise=f,e||aW(a,b),f}function aU(a){var b;let c=a._state;if("closed"===c||"errored"===c)return k(TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let d=l((b,c)=>{a._closeRequest={_resolve:b,_reject:c}}),e=a._writer;return void 0!==e&&a._backpressure&&"writable"===c&&bk(e),af(b=a._writableStreamController,a2,0),a7(b),d}function aV(a,b){"writable"!==a._state?aX(a):aW(a,b)}function aW(a,b){let c=a._writableStreamController;a._state="erroring",a._storedError=b;let d=a._writer;void 0!==d&&a1(d,b),void 0===a._inFlightWriteRequest&&void 0===a._inFlightCloseRequest&&c._started&&aX(a)}function aX(a){a._state="errored",a._writableStreamController[u]();let b=a._storedError;if(a._writeRequests.forEach(a=>{a._reject(b)}),a._writeRequests=new s,void 0===a._pendingAbortRequest)return void aZ(a);let c=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,c._wasAlreadyErroring)return c._reject(b),void aZ(a);n(a._writableStreamController[t](c._reason),()=>(c._resolve(),aZ(a),null),b=>(c._reject(b),aZ(a),null))}function aY(a){return void 0!==a._closeRequest||void 0!==a._inFlightCloseRequest}function aZ(a){void 0!==a._closeRequest&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let b=a._writer;void 0!==b&&bf(b,a._storedError)}function a$(a,b){let c=a._writer;void 0!==c&&b!==a._backpressure&&(b?bh(c):bk(c)),a._backpressure=b}Object.defineProperties(aQ.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),g(aQ.prototype.abort,"abort"),g(aQ.prototype.close,"close"),g(aQ.prototype.getWriter,"getWriter"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aQ.prototype,d.toStringTag,{value:"WritableStream",configurable:!0});class a_{constructor(a){if(K(a,1,"WritableStreamDefaultWriter"),function(a,b){if(!aR(a))throw TypeError(`${b} is not a WritableStream.`)}(a,"First parameter"),aS(a))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=a,a._writer=this;let b=a._state;if("writable"===b)!aY(a)&&a._backpressure?bh(this):function(a){bh(a),bk(a)}(this),be(this);else if("erroring"===b)bi(this,a._storedError),be(this);else if("closed"===b)(function(a){bh(a),bk(a)})(this),be(this),bg(this);else{let b=a._storedError;bi(this,b),function(a,b){be(a),bf(a,b)}(this,b)}}get closed(){return a0(this)?this._closedPromise:k(bc("closed"))}get desiredSize(){if(!a0(this))throw bc("desiredSize");if(void 0===this._ownerWritableStream)throw bd("desiredSize");let a=this._ownerWritableStream,b=a._state;return"errored"===b||"erroring"===b?null:"closed"===b?0:a6(a._writableStreamController)}get ready(){return a0(this)?this._readyPromise:k(bc("ready"))}abort(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("abort")):aT(this._ownerWritableStream,a):k(bc("abort"))}close(){if(!a0(this))return k(bc("close"));let a=this._ownerWritableStream;return void 0===a?k(bd("close")):aY(a)?k(TypeError("Cannot close an already-closing stream")):aU(this._ownerWritableStream)}releaseLock(){if(!a0(this))throw bc("releaseLock");void 0!==this._ownerWritableStream&&function(a){var b,c;let d=a._ownerWritableStream,e=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");a1(a,e),"pending"===a._closedPromiseState?bf(a,e):(b=a,c=e,be(b),bf(b,c)),d._writer=void 0,a._ownerWritableStream=void 0}(this)}write(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("write to")):function(a,b){let c=a._ownerWritableStream,d=c._writableStreamController,e=function(a,b){try{return a._strategySizeAlgorithm(b)}catch(b){return a8(a,b),1}}(d,b);if(c!==a._ownerWritableStream)return k(bd("write to"));let f=c._state;if("errored"===f)return k(c._storedError);if(aY(c)||"closed"===f)return k(TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===f)return k(c._storedError);let g=l((a,b)=>{c._writeRequests.push({_resolve:a,_reject:b})});return function(a,b,c){try{af(a,b,c)}catch(b){return void a8(a,b)}let d=a._controlledWritableStream;aY(d)||"writable"!==d._state||a$(d,0>=a6(a)),a7(a)}(d,b,e),g}(this,a):k(bc("write"))}}function a0(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")&&a instanceof a_}function a1(a,b){"pending"===a._readyPromiseState?bj(a,b):bi(a,b)}Object.defineProperties(a_.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),g(a_.prototype.abort,"abort"),g(a_.prototype.close,"close"),g(a_.prototype.releaseLock,"releaseLock"),g(a_.prototype.write,"write"),"symbol"==typeof d.toStringTag&&Object.defineProperty(a_.prototype,d.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});let a2={};class a3{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!a4(this))throw bb("abortReason");return this._abortReason}get signal(){if(!a4(this))throw bb("signal");if(void 0===this._abortController)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(a){if(!a4(this))throw bb("error");"writable"===this._controlledWritableStream._state&&a9(this,a)}[t](a){let b=this._abortAlgorithm(a);return a5(this),b}[u](){ag(this)}}function a4(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")&&a instanceof a3}function a5(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function a6(a){return a._strategyHWM-a._queueTotalSize}function a7(a){let b=a._controlledWritableStream;if(!a._started||void 0!==b._inFlightWriteRequest)return;if("erroring"===b._state)return void aX(b);if(0===a._queue.length)return;let c=a._queue.peek().value;c===a2?function(a){let b=a._controlledWritableStream;b._inFlightCloseRequest=b._closeRequest,b._closeRequest=void 0,ae(a);let c=a._closeAlgorithm();a5(a),n(c,()=>((function(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,"erroring"===a._state&&(a._storedError=void 0,void 0!==a._pendingAbortRequest&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let b=a._writer;void 0!==b&&bg(b)})(b),null),a=>(b._inFlightCloseRequest._reject(a),b._inFlightCloseRequest=void 0,void 0!==b._pendingAbortRequest&&(b._pendingAbortRequest._reject(a),b._pendingAbortRequest=void 0),aV(b,a),null))}(a):function(a,b){let c=a._controlledWritableStream;c._inFlightWriteRequest=c._writeRequests.shift(),n(a._writeAlgorithm(b),()=>{c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0;let b=c._state;return ae(a),aY(c)||"writable"!==b||a$(c,0>=a6(a)),a7(a),null},b=>("writable"===c._state&&a5(a),c._inFlightWriteRequest._reject(b),c._inFlightWriteRequest=void 0,aV(c,b),null))}(a,c)}function a8(a,b){"writable"===a._controlledWritableStream._state&&a9(a,b)}function a9(a,b){let c=a._controlledWritableStream;a5(a),aW(c,b)}function ba(a){return TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}function bb(a){return TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}function bc(a){return TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}function bd(a){return TypeError("Cannot "+a+" a stream using a released writer")}function be(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c,a._closedPromiseState="pending"})}function bf(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}function bg(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}function bh(a){a._readyPromise=l((b,c)=>{a._readyPromise_resolve=b,a._readyPromise_reject=c}),a._readyPromiseState="pending"}function bi(a,b){bh(a),bj(a,b)}function bj(a,b){void 0!==a._readyPromise_reject&&(o(a._readyPromise),a._readyPromise_reject(b),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}function bk(a){void 0!==a._readyPromise_resolve&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}Object.defineProperties(a3.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(a3.prototype,d.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});let bl="undefined"!=typeof DOMException?DOMException:void 0,bm=!function(a){if("function"!=typeof a&&"object"!=typeof a)return!1;try{return new a,!0}catch(a){return!1}}(bl)?function(){let a=function(a,b){this.message=a||"",this.name=b||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}():bl;function bn(a,b,c,d,e,f){let g=a.getReader(),h=b.getWriter();by(a)&&(a._disturbed=!0);let i,q,r,s=!1,t=!1,u="readable",v="writable",w=!1,x=!1,y=l(a=>{r=a}),z=Promise.resolve(void 0);return l((A,B)=>{let C;function D(){if(s)return;let a=l((a,b)=>{!function c(d){d?a():m(s?j(!0):m(h.ready,()=>m(g.read(),a=>!!a.done||(o(z=h.write(a.value)),!1))),c,b)}(!1)});o(a)}function E(){return u="closed",c?I():H(()=>(aR(b)&&(w=aY(b),v=b._state),w||"closed"===v?j(void 0):"erroring"===v||"errored"===v?k(q):(w=!0,h.close())),!1,void 0),null}function F(a){return s||(u="errored",i=a,d?I(!0,a):H(()=>h.abort(a),!0,a)),null}function G(a){return t||(v="errored",q=a,e?I(!0,a):H(()=>g.cancel(a),!0,a)),null}if(void 0!==f&&(C=()=>{let a=void 0!==f.reason?f.reason:new bm("Aborted","AbortError"),b=[];d||b.push(()=>"writable"===v?h.abort(a):j(void 0)),e||b.push(()=>"readable"===u?g.cancel(a):j(void 0)),H(()=>Promise.all(b.map(a=>a())),!0,a)},f.aborted?C():f.addEventListener("abort",C)),by(a)&&(u=a._state,i=a._storedError),aR(b)&&(v=b._state,q=b._storedError,w=aY(b)),by(a)&&aR(b)&&(x=!0,r()),"errored"===u)F(i);else if("erroring"===v||"errored"===v)G(q);else if("closed"===u)E();else if(w||"closed"===v){let a=TypeError("the destination writable stream closed before all data could be piped to it");e?I(!0,a):H(()=>g.cancel(a),!0,a)}function H(a,b,c){function d(){let a;return"writable"!==v||w?e():n(j(function b(){if(a!==z)return a=z,m(z,b,b)}()),e),null}function e(){return a?n(a(),()=>J(b,c),a=>J(!0,a)):J(b,c),null}s||(s=!0,x?d():n(y,d))}function I(a,b){H(void 0,a,b)}function J(a,b){return t=!0,h.releaseLock(),g.releaseLock(),void 0!==f&&f.removeEventListener("abort",C),a?B(b):A(void 0),null}s||(n(g.closed,E,F),n(h.closed,function(){return t||(v="closed"),null},G)),x?D():p(()=>{x=!0,r(),D()})})}class bo{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bp(this))throw bv("desiredSize");return bt(this)}close(){if(!bp(this))throw bv("close");if(!bu(this))throw TypeError("The stream is not in a state that permits close");!function(a){if(!bu(a))return;let b=a._controlledReadableStream;a._closeRequested=!0,0===a._queue.length&&(br(a),bB(b))}(this)}enqueue(a){if(!bp(this))throw bv("enqueue");if(!bu(this))throw TypeError("The stream is not in a state that permits enqueue");if(!bu(this))return;let b=this._controlledReadableStream;if(bz(b)&&T(b)>0)S(b,a,!1);else{let b;try{b=this._strategySizeAlgorithm(a)}catch(a){throw bs(this,a),a}try{af(this,a,b)}catch(a){throw bs(this,a),a}}bq(this)}error(a){if(!bp(this))throw bv("error");bs(this,a)}[v](a){ag(this);let b=this._cancelAlgorithm(a);return br(this),b}[w](a){let b=this._controlledReadableStream;if(this._queue.length>0){let c=ae(this);this._closeRequested&&0===this._queue.length?(br(this),bB(b)):bq(this),a._chunkSteps(c)}else R(b,a),bq(this)}[x](){}}function bp(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")&&a instanceof bo}function bq(a){if(function(a){let b=a._controlledReadableStream;return!!bu(a)&&!!a._started&&!!(bz(b)&&T(b)>0||bt(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,bq(a)),null),b=>(bs(a,b),null))}}function br(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function bs(a,b){let c=a._controlledReadableStream;"readable"===c._state&&(ag(a),br(a),bC(c,b))}function bt(a){let b=a._controlledReadableStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function bu(a){return!a._closeRequested&&"readable"===a._controlledReadableStream._state}function bv(a){return TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}function bw(a,b){H(a,b);let c=null==a?void 0:a.preventAbort,d=null==a?void 0:a.preventCancel,e=null==a?void 0:a.preventClose,f=null==a?void 0:a.signal;return void 0!==f&&function(a,b){if(!function(a){if("object"!=typeof a||null===a)return!1;try{return"boolean"==typeof a.aborted}catch(a){return!1}}(a))throw TypeError(`${b} is not an AbortSignal.`)}(f,`${b} has member 'signal' that`),{preventAbort:!!c,preventCancel:!!d,preventClose:!!e,signal:f}}Object.defineProperties(bo.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bo.prototype.close,"close"),g(bo.prototype.enqueue,"enqueue"),g(bo.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bo.prototype,d.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class bx{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.autoAllocateChunkSize,d=null==a?void 0:a.cancel,e=null==a?void 0:a.pull,f=null==a?void 0:a.start,g=null==a?void 0:a.type;return{autoAllocateChunkSize:void 0===c?void 0:N(c,`${b} has member 'autoAllocateChunkSize' that`),cancel:void 0===d?void 0:(I(d,`${b} has member 'cancel' that`),b=>r(d,a,[b])),pull:void 0===e?void 0:(I(e,`${b} has member 'pull' that`),b=>r(e,a,[b])),start:void 0===f?void 0:(I(f,`${b} has member 'start' that`),b=>q(f,a,[b])),type:void 0===g?void 0:function(a,b){if("bytes"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}(g,`${b} has member 'type' that`)}}(a,"First parameter");if(this._state="readable",this._reader=void 0,this._storedError=void 0,this._disturbed=!1,"bytes"===d.type){if(void 0!==c.size)throw RangeError("The strategy for a byte stream cannot have a size function");!function(a,b,c){let d,e,f,g=Object.create(ai.prototype);d=void 0!==b.start?()=>b.start(g):()=>{},e=void 0!==b.pull?()=>b.pull(g):()=>j(void 0),f=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0);let h=b.autoAllocateChunkSize;if(0===h)throw TypeError("autoAllocateChunkSize must be greater than 0");g._controlledReadableByteStream=a,g._pullAgain=!1,g._pulling=!1,g._byobRequest=null,g._queue=g._queueTotalSize=void 0,ag(g),g._closeRequested=!1,g._started=!1,g._strategyHWM=c,g._pullAlgorithm=e,g._cancelAlgorithm=f,g._autoAllocateChunkSize=h,g._pendingPullIntos=new s,a._readableStreamController=g,n(j(d()),()=>(g._started=!0,al(g),null),a=>(aA(g,a),null))}(this,d,aM(c,0))}else{let a=aN(c);!function(a,b,c,d){let e,f,g,h=Object.create(bo.prototype);e=void 0!==b.start?()=>b.start(h):()=>{},f=void 0!==b.pull?()=>b.pull(h):()=>j(void 0),g=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0),h._controlledReadableStream=a,h._queue=void 0,h._queueTotalSize=void 0,ag(h),h._started=!1,h._closeRequested=!1,h._pullAgain=!1,h._pulling=!1,h._strategySizeAlgorithm=d,h._strategyHWM=c,h._pullAlgorithm=f,h._cancelAlgorithm=g,a._readableStreamController=h,n(j(e()),()=>(h._started=!0,bq(h),null),a=>(bs(h,a),null))}(this,d,aM(c,1),a)}}get locked(){if(!by(this))throw bD("locked");return bz(this)}cancel(a){return by(this)?bz(this)?k(TypeError("Cannot cancel a stream that already has a reader")):bA(this,a):k(bD("cancel"))}getReader(a){if(!by(this))throw bD("getReader");return void 0===function(a,b){H(a,b);let c=null==a?void 0:a.mode;return{mode:void 0===c?void 0:function(a,b){if("byob"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}(c,`${b} has member 'mode' that`)}}(a,"First parameter").mode?new V(this):new aI(this)}pipeThrough(a,b={}){if(!O(this))throw bD("pipeThrough");K(a,1,"pipeThrough");let c=function(a,b){H(a,b);let c=null==a?void 0:a.readable;L(c,"readable","ReadableWritablePair"),function(a,b){if(!O(a))throw TypeError(`${b} is not a ReadableStream.`)}(c,`${b} has member 'readable' that`);let d=null==a?void 0:a.writable;return L(d,"writable","ReadableWritablePair"),function(a,b){if(!P(a))throw TypeError(`${b} is not a WritableStream.`)}(d,`${b} has member 'writable' that`),{readable:c,writable:d}}(a,"First parameter"),d=bw(b,"Second parameter");if(this.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(c.writable.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return o(bn(this,c.writable,d.preventClose,d.preventAbort,d.preventCancel,d.signal)),c.readable}pipeTo(a,b={}){let c;if(!O(this))return k(bD("pipeTo"));if(void 0===a)return k("Parameter 1 is required in 'pipeTo'.");if(!P(a))return k(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));try{c=bw(b,"Second parameter")}catch(a){return k(a)}return this.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):a.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):bn(this,a,c.preventClose,c.preventAbort,c.preventCancel,c.signal)}tee(){if(!O(this))throw bD("tee");if(this.locked)throw TypeError("Cannot tee a stream that already has a reader");return!function(a){try{return a.getReader({mode:"byob"}).releaseLock(),!0}catch(a){return!1}}(this)?function(a,b){let c=a.getReader(),d,e,f,g,h,i=!1,k=!1,m=!1,o=!1,p=l(a=>{h=a});function q(){return i?k=!0:(i=!0,n(c.read(),a=>{if(k=!1,a.done)return m||f.close(),o||g.close(),m&&o||h(void 0),null;let b=a.value;return m||f.enqueue(b),o||g.enqueue(b),i=!1,k&&q(),null},()=>(i=!1,null))),j(void 0)}let r=new bx({start(a){f=a},pull:q,cancel:function(a){if(m=!0,d=a,o){let a=[d,e],b=c.cancel(a);h(b)}return p}}),s=new bx({start(a){g=a},pull:q,cancel:function(a){if(o=!0,e=a,m){let a=[d,e],b=c.cancel(a);h(b)}return p}});return n(c.closed,void 0,a=>(f.error(a),g.error(a),m&&o||h(void 0),null)),[r,s]}(this):function(a){let b,c,d,e,f,g=a.getReader(),h=!1,i=!1,k=!1,m=!1,o=!1,p=!1,q=l(a=>{f=a});function r(a){n(a.closed,void 0,b=>(a!==g||(d.error(b),e.error(b),o&&p||f(void 0)),null))}function s(){h&&(g.releaseLock(),r(g=a.getReader()),h=!1),n(g.read(),a=>{var b,c;if(k=!1,m=!1,a.done)return o||d.close(),p||e.close(),null==(b=d.byobRequest)||b.respond(0),null==(c=e.byobRequest)||c.respond(0),o&&p||f(void 0),null;let h=a.value,j=h;if(!o&&!p)try{j=ad(h)}catch(a){return d.error(a),e.error(a),f(g.cancel(a)),null}return o||d.enqueue(h),p||e.enqueue(j),i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function t(b,c){h||(g.releaseLock(),r(g=a.getReader({mode:"byob"})),h=!0);let j=c?e:d,l=c?d:e;n(g.read(b),a=>{var b;k=!1,m=!1;let d=c?p:o,e=c?o:p;if(a.done){d||j.close(),e||l.close();let c=a.value;return void 0!==c&&(d||j.byobRequest.respondWithNewView(c),e||null==(b=l.byobRequest)||b.respond(0)),d&&e||f(void 0),null}let h=a.value;if(e)d||j.byobRequest.respondWithNewView(h);else{let a;try{a=ad(h)}catch(a){return j.error(a),l.error(a),f(g.cancel(a)),null}d||j.byobRequest.respondWithNewView(h),l.enqueue(a)}return i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function u(){if(i)return k=!0,j(void 0);i=!0;let a=d.byobRequest;return null===a?s():t(a.view,!1),j(void 0)}function v(){if(i)return m=!0,j(void 0);i=!0;let a=e.byobRequest;return null===a?s():t(a.view,!0),j(void 0)}let w=new bx({type:"bytes",start(a){d=a},pull:u,cancel:function(a){if(o=!0,b=a,p){let a=[b,c],d=g.cancel(a);f(d)}return q}}),x=new bx({type:"bytes",start(a){e=a},pull:v,cancel:function(a){if(p=!0,c=a,o){let a=[b,c],d=g.cancel(a);f(d)}return q}});return r(g),[w,x]}(this)}values(a){if(!O(this))throw bD("values");return function(a,b){let c=new Z(a.getReader(),b),d=Object.create($);return d._asyncIteratorImpl=c,d}(this,(H(a,"First parameter"),{preventCancel:!!(null==a?void 0:a.preventCancel)}).preventCancel)}}function by(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")&&a instanceof bx}function bz(a){return void 0!==a._reader}function bA(a,b){if(a._disturbed=!0,"closed"===a._state)return j(void 0);if("errored"===a._state)return k(a._storedError);bB(a);let c=a._reader;if(void 0!==c&&aJ(c)){let a=c._readIntoRequests;c._readIntoRequests=new s,a.forEach(a=>{a._closeSteps(void 0)})}return m(a._readableStreamController[v](b),e,void 0)}function bB(a){a._state="closed";let b=a._reader;if(void 0!==b&&(E(b),W(b))){let a=b._readRequests;b._readRequests=new s,a.forEach(a=>{a._closeSteps()})}}function bC(a,b){a._state="errored",a._storedError=b;let c=a._reader;void 0!==c&&(D(c,b),W(c)?X(c,b):aK(c,b))}function bD(a){return TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}function bE(a,b){H(a,b);let c=null==a?void 0:a.highWaterMark;return L(c,"highWaterMark","QueuingStrategyInit"),{highWaterMark:M(c)}}Object.defineProperties(bx.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),g(bx.prototype.cancel,"cancel"),g(bx.prototype.getReader,"getReader"),g(bx.prototype.pipeThrough,"pipeThrough"),g(bx.prototype.pipeTo,"pipeTo"),g(bx.prototype.tee,"tee"),g(bx.prototype.values,"values"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bx.prototype,d.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof d.asyncIterator&&Object.defineProperty(bx.prototype,d.asyncIterator,{value:bx.prototype.values,writable:!0,configurable:!0});let bF=a=>a.byteLength;g(bF,"size");class bG{constructor(a){K(a,1,"ByteLengthQueuingStrategy"),a=bE(a,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bI(this))throw bH("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!bI(this))throw bH("size");return bF}}function bH(a){return TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}function bI(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")&&a instanceof bG}Object.defineProperties(bG.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bG.prototype,d.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});let bJ=()=>1;g(bJ,"size");class bK{constructor(a){K(a,1,"CountQueuingStrategy"),a=bE(a,"First parameter"),this._countQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bM(this))throw bL("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!bM(this))throw bL("size");return bJ}}function bL(a){return TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}function bM(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")&&a instanceof bK}Object.defineProperties(bK.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bK.prototype,d.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class bN{constructor(a={},b={},c={}){let d;void 0===a&&(a=null);let e=aO(b,"Second parameter"),f=aO(c,"Third parameter"),g=function(a,b){H(a,b);let c=null==a?void 0:a.flush,d=null==a?void 0:a.readableType,e=null==a?void 0:a.start,f=null==a?void 0:a.transform,g=null==a?void 0:a.writableType;return{flush:void 0===c?void 0:(I(c,`${b} has member 'flush' that`),b=>r(c,a,[b])),readableType:d,start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),transform:void 0===f?void 0:(I(f,`${b} has member 'transform' that`),(b,c)=>r(f,a,[b,c])),writableType:g}}(a,"First parameter");if(void 0!==g.readableType)throw RangeError("Invalid readableType specified");if(void 0!==g.writableType)throw RangeError("Invalid writableType specified");let h=aM(f,0),i=aN(f),n=aM(e,1),o=aN(e);!function(a,b,c,d,e,f){var g,h,i;function k(){return b}a._writableState="writable",a._writableStoredError=void 0,a._writableHasInFlightOperation=!1,a._writableStarted=!1,g=function(b){let c=a._transformStreamController;return a._backpressure?m(a._backpressureChangePromise,()=>{if("erroring"===(aR(a._writable)?a._writable._state:a._writableState))throw aR(a._writable)?a._writable._storedError:a._writableStoredError;return bW(c,b)},void 0):bW(c,b)},h=function(){var b=a;let c=b._transformStreamController,d=c._flushAlgorithm();return bU(c),m(d,()=>{if("errored"===b._readableState)throw b._readableStoredError;bZ(b)&&b$(b)},a=>{throw bP(b,a),b._readableStoredError})},a._writable=new aQ({start(b){a._writableController=b;try{let c=b.signal;void 0!==c&&c.addEventListener("abort",()=>{"writable"===a._writableState&&(a._writableState="erroring",c.reason&&(a._writableStoredError=c.reason))})}catch(a){}return m(k(),()=>(a._writableStarted=!0,b4(a),null),b=>{throw a._writableStarted=!0,b1(a,b),b})},write:b=>(a._writableHasInFlightOperation=!0,m(g(b),()=>(a._writableHasInFlightOperation=!1,b4(a),null),b=>{throw a._writableHasInFlightOperation=!1,b1(a,b),b})),close:()=>(a._writableHasInFlightOperation=!0,m(h(),()=>(a._writableHasInFlightOperation=!1,"erroring"===a._writableState&&(a._writableStoredError=void 0),a._writableState="closed",null),b=>{throw a._writableHasInFlightOperation=!1,a._writableState,b1(a,b),b})),abort:b=>(a._writableState="errored",a._writableStoredError=b,function(b){return bP(a,b),j(void 0)}(b))},{highWaterMark:c,size:d}),a._readableState="readable",a._readableStoredError=void 0,a._readableCloseRequested=!1,a._readablePulling=!1,i=function(){return bR(a,!1),a._backpressureChangePromise},a._readable=new bx({start:b=>(a._readableController=b,k().catch(b=>{b_(a,b)})),pull:()=>(a._readablePulling=!0,i().catch(b=>{b_(a,b)})),cancel:b=>(a._readableState="closed",function(b){return bQ(a,b),j(void 0)}(b))},{highWaterMark:e,size:f}),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,bR(a,!0),a._transformStreamController=void 0}(this,l(a=>{d=a}),n,o,h,i),function(a,b){let c,d,e=Object.create(bS.prototype);c=void 0!==b.transform?a=>b.transform(a,e):a=>{try{var b;return bV(e,a),b=void 0,j(b)}catch(a){return k(a)}},d=void 0!==b.flush?()=>b.flush(e):()=>j(void 0),e._controlledTransformStream=a,a._transformStreamController=e,e._transformAlgorithm=c,e._flushAlgorithm=d}(this,g),void 0!==g.start?d(g.start(this._transformStreamController)):d(void 0)}get readable(){if(!bO(this))throw bY("readable");return this._readable}get writable(){if(!bO(this))throw bY("writable");return this._writable}}function bO(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")&&a instanceof bN}function bP(a,b){b_(a,b),bQ(a,b)}function bQ(a,b){bU(a._transformStreamController),a._writableController.error(b),"writable"===a._writableState&&b2(a,b),a._backpressure&&bR(a,!1)}function bR(a,b){void 0!==a._backpressureChangePromise&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=l(b=>{a._backpressureChangePromise_resolve=b}),a._backpressure=b}Object.defineProperties(bN.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bN.prototype,d.toStringTag,{value:"TransformStream",configurable:!0});class bS{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bT(this))throw bX("desiredSize");return b0(this._controlledTransformStream)}enqueue(a){if(!bT(this))throw bX("enqueue");bV(this,a)}error(a){if(!bT(this))throw bX("error");bP(this._controlledTransformStream,a)}terminate(){if(!bT(this))throw bX("terminate");let a=this._controlledTransformStream;bZ(a)&&b$(a),bQ(a,TypeError("TransformStream terminated"))}}function bT(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")&&a instanceof bS}function bU(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0}function bV(a,b){let c=a._controlledTransformStream;if(!bZ(c))throw TypeError("Readable side is not in a state that permits enqueue");try{c._readablePulling=!1;try{c._readableController.enqueue(b)}catch(a){throw b_(c,a),a}}catch(a){throw bQ(c,a),c._readableStoredError}!(bZ(c)&&(c._readablePulling||b0(c)>0))!==c._backpressure&&bR(c,!0)}function bW(a,b){return m(a._transformAlgorithm(b),void 0,b=>{throw bP(a._controlledTransformStream,b),b})}function bX(a){return TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}function bY(a){return TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}function bZ(a){return!a._readableCloseRequested&&"readable"===a._readableState}function b$(a){a._readableState="closed",a._readableCloseRequested=!0,a._readableController.close()}function b_(a,b){"readable"===a._readableState&&(a._readableState="errored",a._readableStoredError=b),a._readableController.error(b)}function b0(a){return a._readableController.desiredSize}function b1(a,b){"writable"!==a._writableState?b3(a):b2(a,b)}function b2(a,b){a._writableState="erroring",a._writableStoredError=b,!a._writableHasInFlightOperation&&a._writableStarted&&b3(a)}function b3(a){a._writableState="errored"}function b4(a){"erroring"===a._writableState&&b3(a)}Object.defineProperties(bS.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bS.prototype.enqueue,"enqueue"),g(bS.prototype.error,"error"),g(bS.prototype.terminate,"terminate"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bS.prototype,d.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var b5,b6,b7,b8=c(91527);async function*b9(a){let b=a.byteOffset+a.byteLength,c=a.byteOffset;for(;c!==b;){let d=Math.min(b-c,65536),e=a.buffer.slice(c,c+d);c+=e.byteLength,yield new Uint8Array(e)}}async function*ca(a){let b=0;for(;b!==a.size;){let c=a.slice(b,Math.min(a.size,b+65536)),d=await c.arrayBuffer();b+=d.byteLength,yield new Uint8Array(d)}}async function*cb(a,b=!1){for(let c of a)ArrayBuffer.isView(c)?b?yield*b9(c):yield c:(0,b8.T)(c.stream)?yield*c.stream():yield*ca(c)}var cc=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},cd=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class ce{constructor(a=[],b={}){if(b5.set(this,[]),b6.set(this,""),b7.set(this,0),null!=b||(b={}),"object"!=typeof a||null===a)throw TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(!(0,b8.T)(a[Symbol.iterator]))throw TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if("object"!=typeof b&&!(0,b8.T)(b))throw TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");let c=new TextEncoder;for(let b of a){let a;a=ArrayBuffer.isView(b)?new Uint8Array(b.buffer.slice(b.byteOffset,b.byteOffset+b.byteLength)):b instanceof ArrayBuffer?new Uint8Array(b.slice(0)):b instanceof ce?b:c.encode(String(b)),cd(this,b7,cc(this,b7,"f")+(ArrayBuffer.isView(a)?a.byteLength:a.size),"f"),cc(this,b5,"f").push(a)}let d=void 0===b.type?"":String(b.type);cd(this,b6,/^[\x20-\x7E]*$/.test(d)?d:"","f")}static[(b5=new WeakMap,b6=new WeakMap,b7=new WeakMap,Symbol.hasInstance)](a){return!!(a&&"object"==typeof a&&(0,b8.T)(a.constructor)&&((0,b8.T)(a.stream)||(0,b8.T)(a.arrayBuffer))&&/^(Blob|File)$/.test(a[Symbol.toStringTag]))}get type(){return cc(this,b6,"f")}get size(){return cc(this,b7,"f")}slice(a,b,c){return new ce(function*(a,b,c=0,d){null!=d||(d=b);let e=c<0?Math.max(b+c,0):Math.min(c,b),f=d<0?Math.max(b+d,0):Math.min(d,b),g=Math.max(f-e,0),h=0;for(let b of a){if(h>=g)break;let a=ArrayBuffer.isView(b)?b.byteLength:b.size;if(e&&a<=e)e-=a,f-=a;else{let c;ArrayBuffer.isView(b)?h+=(c=b.subarray(e,Math.min(a,f))).byteLength:h+=(c=b.slice(e,Math.min(a,f))).size,f-=a,e=0,yield c}}}(cc(this,b5,"f"),this.size,a,b),{type:c})}async text(){let a=new TextDecoder,b="";for await(let c of cb(cc(this,b5,"f")))b+=a.decode(c,{stream:!0});return b+a.decode()}async arrayBuffer(){let a=new Uint8Array(this.size),b=0;for await(let c of cb(cc(this,b5,"f")))a.set(c,b),b+=c.length;return a.buffer}stream(){let a=cb(cc(this,b5,"f"),!0);return new bx({async pull(b){let{value:c,done:d}=await a.next();if(d)return queueMicrotask(()=>b.close());b.enqueue(c)},async cancel(){await a.return()}})}get[Symbol.toStringTag](){return"Blob"}}Object.defineProperties(ce.prototype,{type:{enumerable:!0},size:{enumerable:!0},slice:{enumerable:!0},stream:{enumerable:!0},text:{enumerable:!0},arrayBuffer:{enumerable:!0}})},94672:(a,b,c)=>{"use strict";var d="undefined"!=typeof Symbol&&Symbol,e=c(11870);a.exports=function(){return"function"==typeof d&&"function"==typeof Symbol&&"symbol"==typeof d("foo")&&"symbol"==typeof Symbol("bar")&&e()}},96239:(a,b,c)=>{"use strict";let{Writable:d}=c(27910),e=c(74240),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(32995),{concat:j,toArrayBuffer:k,unmask:l}=c(27047),{isValidStatusCode:m,isValidUTF8:n}=c(26649),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxBufferedChunks=0|a.maxBufferedChunks,this._maxFragments=0|a.maxFragments,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){return 8===this._opcode&&0==this._state?c():this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks?void c(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS")):void(this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c))}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}if(b.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void a(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._messageLength=this._totalPayloadLength,this._fragments.push(b)}this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void b(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p},96655:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},96698:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAuth=b.GoogleAuthExceptionMessages=void 0;let d=c(79646),e=c(29021),f=c(79792),g=c(70916),h=c(21820),i=c(33873),j=c(88593),k=c(745),l=c(58500),m=c(25203),n=c(74829),o=c(31995),p=c(83e3),q=c(93209),r=c(35294),s=c(49502),t=c(29694),u=c(24420),v=c(45388);b.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. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_CREDENTIALS_FOUND:"Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://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.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"};class w{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#C=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(a={}){if(this._cachedProjectId=a.projectId||null,this.cachedCredential=a.authClient||null,this.keyFilename=a.keyFilename||a.keyFile,this.scopes=a.scopes,this.clientOptions=a.clientOptions||{},this.jsonContent=a.credentials||null,this.apiKey=a.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(b.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);a.universeDomain&&(this.clientOptions.universeDomain=a.universeDomain)}setGapicJWTValues(a){a.defaultServicePath=this.defaultServicePath,a.useJWTAccessWithScope=this.useJWTAccessWithScope,a.defaultScopes=this.defaultScopes}getProjectId(a){if(!a)return this.getProjectIdAsync();this.getProjectIdAsync().then(b=>a(null,b),a)}async getProjectIdOptional(){try{return await this.getProjectId()}catch(a){if(a instanceof Error&&a.message===b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw a}}async findAndCacheProjectId(){let a=null;if(a||=await this.getProductionProjectId(),a||=await this.getFileProjectId(),a||=await this.getDefaultServiceProjectId(),a||=await this.getGCEProjectId(),a||=await this.getExternalAccountClientProjectId())return this._cachedProjectId=a,a;throw Error(b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let a;try{a=await g.universe("universe-domain"),a||=s.DEFAULT_UNIVERSE}catch(b){if(b&&b?.response?.status===404)a=s.DEFAULT_UNIVERSE;else throw b}return a}async getUniverseDomain(){let a=(0,v.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{a??=(await this.getClient()).universeDomain}catch{a??=s.DEFAULT_UNIVERSE}return a}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(a={},b){let c;if("function"==typeof a?b=a:c=a,!b)return this.getApplicationDefaultAsync(c);this.getApplicationDefaultAsync(c).then(a=>b(null,a.credential,a.projectId),b)}async getApplicationDefaultAsync(a={}){let c;if(this.cachedCredential)return await this.#D(this.cachedCredential,null);if((c=await this._tryGetApplicationCredentialsFromEnvironmentVariable(a))||(c=await this._tryGetApplicationCredentialsFromWellKnownFile(a)))return c instanceof n.JWT?c.scopes=this.scopes:c instanceof r.BaseExternalAccountClient&&(c.scopes=this.getAnyScopes()),await this.#D(c);if(await this._checkIsGCE())return a.scopes=this.getAnyScopes(),await this.#D(new k.Compute(a));throw Error(b.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async #D(a,b=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let c=await this.getProjectIdOptional();return b&&(a.quotaProjectId=b),this.cachedCredential=a,{credential:a,projectId:c}}async _checkIsGCE(){return void 0===this.checkIsGCE&&(this.checkIsGCE=g.getGCPResidency()||await g.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(a){let b=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!b||0===b.length)return null;try{return this._getApplicationCredentialsFromFilePath(b,a)}catch(a){throw a instanceof Error&&(a.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${a.message}`),a}}async _tryGetApplicationCredentialsFromWellKnownFile(a){let b=null;if(this._isWindows())b=process.env.APPDATA;else{let a=process.env.HOME;a&&(b=i.join(a,".config"))}return(b&&(b=i.join(b,"gcloud","application_default_credentials.json"),e.existsSync(b)||(b=null)),b)?await this._getApplicationCredentialsFromFilePath(b,a):null}async _getApplicationCredentialsFromFilePath(a,b={}){if(!a||0===a.length)throw Error("The file path is invalid.");try{if(a=e.realpathSync(a),!e.lstatSync(a).isFile())throw Error()}catch(b){throw b instanceof Error&&(b.message=`The file at ${a} does not exist, or it is not a file. ${b.message}`),b}let c=e.createReadStream(a);return this.fromStream(c,b)}fromImpersonatedJSON(a){if(!a)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(a.type!==p.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${p.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!a.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!a.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let b=this.fromJSON(a.source_credentials);if(a.service_account_impersonation_url?.length>256)throw RangeError(`Target principal is too long: ${a.service_account_impersonation_url}`);let c=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(a.service_account_impersonation_url)?.groups?.target;if(!c)throw RangeError(`Cannot extract target principal from ${a.service_account_impersonation_url}`);let d=(this.scopes||a.scopes||this.defaultScopes)??[];return new p.Impersonated({...a,sourceClient:b,targetPrincipal:c,targetScopes:Array.isArray(d)?d:[d]})}fromJSON(a,b={}){let c,d=(0,v.originalOrCamelOptions)(b).get("universe_domain");return a.type===o.USER_REFRESH_ACCOUNT_TYPE?(c=new o.UserRefreshClient(b)).fromJSON(a):a.type===p.IMPERSONATED_ACCOUNT_TYPE?c=this.fromImpersonatedJSON(a):a.type===r.EXTERNAL_ACCOUNT_TYPE?(c=q.ExternalAccountClient.fromJSON({...a,...b})).scopes=this.getAnyScopes():a.type===t.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?c=new t.ExternalAccountAuthorizedUserClient({...a,...b}):a.type===u.GDCH_SERVICE_ACCOUNT_TYPE?(c=new u.GdchClient(b)).fromJSON(a):(b.scopes=this.scopes,c=new n.JWT(b),this.setGapicJWTValues(c),c.fromJSON(a)),d&&(c.universeDomain=d),c}_cacheClientFromJSON(a,b){let c=this.fromJSON(a,b);return this.jsonContent=a,this.cachedCredential=c,c}fromStream(a,b={},c){let d={};if("function"==typeof b?c=b:d=b,!c)return this.fromStreamAsync(a,d);this.fromStreamAsync(a,d).then(a=>c(null,a),c)}fromStreamAsync(a,b){return new Promise((c,d)=>{if(!a)throw Error("Must pass in a stream containing the Google auth settings.");let e=[];a.setEncoding("utf8").on("error",d).on("data",a=>e.push(a)).on("end",()=>{try{try{let a=JSON.parse(e.join("")),d=this._cacheClientFromJSON(a,b);return c(d)}catch(b){if(!this.keyFilename)throw b;let a=new n.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),c(a)}}catch(a){return d(a)}})})}fromAPIKey(a,b={}){return new n.JWT({...b,apiKey:a})}_isWindows(){let a=h.platform();return!!a&&!!(a.length>=3)&&"win"===a.substring(0,3).toLowerCase()}async getDefaultServiceProjectId(){return new Promise(a=>{(0,d.exec)("gcloud config config-helper --format json",(b,c)=>{if(!b&&c)try{let b=JSON.parse(c).configuration.properties.core.project;a(b);return}catch(a){}a(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 a=await this.getClient();if(a&&a.projectId)return a.projectId}let a=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return a?a.projectId:null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==r.EXTERNAL_ACCOUNT_TYPE)return null;let a=await this.getClient();return await a.getProjectId()}async getGCEProjectId(){try{return await g.project("project-id")}catch(a){return null}}getCredentials(a){if(!a)return this.getCredentialsAsync();this.getCredentialsAsync().then(b=>a(null,b),a)}async getCredentialsAsync(){let a=await this.getClient();if(a instanceof p.Impersonated)return{client_email:a.getTargetPrincipal()};if(a instanceof r.BaseExternalAccountClient){let b=a.getServiceAccountEmail();if(b)return{client_email:b,universe_domain:a.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[a,b]=await Promise.all([g.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:a,universe_domain:b}}throw Error(b.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#C=this.#C||this.#E();try{let a=await this.#C;if(a instanceof u.GdchClient&&!a.apiAudience){let b=this.clientOptions,c=b.apiEndpoint||b.servicePath;if(c){let b=c.startsWith("http")?"":"https://",d=`${b}${c}/`.replace(/\/+$/,"/"),e=a.createWithGdchAudience(d);return this.cachedCredential=e,e}}return a}finally{this.#C=null}}async #E(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let a=i.resolve(this.keyFilename),b=e.createReadStream(a);return await this.fromStreamAsync(b,this.clientOptions)}if(this.apiKey){let a=await this.fromAPIKey(this.apiKey,this.clientOptions);a.scopes=this.scopes;let{credential:b}=await this.#D(a);return b}{let{credential:a}=await this.getApplicationDefaultAsync(this.clientOptions);return a}}async getIdTokenClient(a){let b=await this.getClient();if(!("fetchIdToken"in b))throw 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 l.IdTokenClient({targetAudience:a,idTokenProvider:b})}async getAccessToken(){let a=await this.getClient();return(await a.getAccessToken()).token}async getRequestHeaders(a){return(await this.getClient()).getRequestHeaders(a)}async authorizeRequest(a={}){let b=a.url,c=await this.getClient(),d=await c.getRequestHeaders(b);return a.headers=f.Gaxios.mergeHeaders(a.headers,d),a}async fetch(...a){return(await this.getClient()).fetch(...a)}async request(a){return(await this.getClient()).request(a)}getEnv(){return(0,m.getEnv)()}async sign(a,b){let c=await this.getClient(),d=await this.getUniverseDomain();if(b=b||`https://iamcredentials.${d}/v1/projects/-/serviceAccounts/`,c instanceof p.Impersonated)return(await c.sign(a)).signedBlob;let e=(0,j.createCrypto)();if(c instanceof n.JWT&&c.key)return await e.sign(c.key,a);let f=await this.getCredentials();if(!f.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(e,f.client_email,a,b)}async signBlob(a,b,c,d){let e=new URL(d+`${b}:signBlob`);return(await this.request({method:"POST",url:e.href,data:{payload:a.encodeBase64StringUtf8(c)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}b.GoogleAuth=w},97025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateUnion=b.validateArray=b.usePattern=b.callValidateCode=b.schemaProperties=b.allSchemaProperties=b.noPropertyInData=b.propertyInData=b.isOwnProperty=b.hasPropFunc=b.reportMissingProp=b.checkMissingProp=b.checkReportMissingProp=void 0;let d=c(31849),e=c(83593),f=c(60359),g=c(83593);function h(a){return a.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,d._)`Object.prototype.hasOwnProperty`})}function i(a,b,c){return(0,d._)`${h(a)}.call(${b}, ${c})`}function j(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} === undefined`;return e?(0,d.or)(f,(0,d.not)(i(a,b,c))):f}function k(a){return a?Object.keys(a).filter(a=>"__proto__"!==a):[]}b.checkReportMissingProp=function(a,b){let{gen:c,data:e,it:f}=a;c.if(j(c,e,b,f.opts.ownProperties),()=>{a.setParams({missingProperty:(0,d._)`${b}`},!0),a.error()})},b.checkMissingProp=function({gen:a,data:b,it:{opts:c}},e,f){return(0,d.or)(...e.map(e=>(0,d.and)(j(a,b,e,c.ownProperties),(0,d._)`${f} = ${e}`)))},b.reportMissingProp=function(a,b){a.setParams({missingProperty:b},!0),a.error()},b.hasPropFunc=h,b.isOwnProperty=i,b.propertyInData=function(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} !== undefined`;return e?(0,d._)`${f} && ${i(a,b,c)}`:f},b.noPropertyInData=j,b.allSchemaProperties=k,b.schemaProperties=function(a,b){return k(b).filter(c=>!(0,e.alwaysValidSchema)(a,b[c]))},b.callValidateCode=function({schemaCode:a,data:b,it:{gen:c,topSchemaRef:e,schemaPath:g,errorPath:h},it:i},j,k,l){let m=l?(0,d._)`${a}, ${b}, ${e}${g}`:b,n=[[f.default.instancePath,(0,d.strConcat)(f.default.instancePath,h)],[f.default.parentData,i.parentData],[f.default.parentDataProperty,i.parentDataProperty],[f.default.rootData,f.default.rootData]];i.opts.dynamicRef&&n.push([f.default.dynamicAnchors,f.default.dynamicAnchors]);let o=(0,d._)`${m}, ${c.object(...n)}`;return k!==d.nil?(0,d._)`${j}.call(${k}, ${o})`:(0,d._)`${j}(${o})`};let l=(0,d._)`new RegExp`;b.usePattern=function({gen:a,it:{opts:b}},c){let e=b.unicodeRegExp?"u":"",{regExp:f}=b.code,h=f(c,e);return a.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,d._)`${"new RegExp"===f.code?l:(0,g.useFunc)(a,f)}(${c}, ${e})`})},b.validateArray=function(a){let{gen:b,data:c,keyword:f,it:g}=a,h=b.name("valid");if(g.allErrors){let a=b.let("valid",!0);return i(()=>b.assign(a,!1)),a}return b.var(h,!0),i(()=>b.break()),h;function i(g){let i=b.const("len",(0,d._)`${c}.length`);b.forRange("i",0,i,c=>{a.subschema({keyword:f,dataProp:c,dataPropType:e.Type.Num},h),b.if((0,d.not)(h),g)})}},b.validateUnion=function(a){let{gen:b,schema:c,keyword:f,it:g}=a;if(!Array.isArray(c))throw Error("ajv implementation error");if(c.some(a=>(0,e.alwaysValidSchema)(g,a))&&!g.opts.unevaluated)return;let h=b.let("valid",!1),i=b.name("_valid");b.block(()=>c.forEach((c,e)=>{let g=a.subschema({keyword:f,schemaProp:e,compositeRule:!0},i);b.assign(h,(0,d._)`${h} || ${i}`),a.mergeValidEvaluated(g,i)||b.if((0,d.not)(h))})),a.result(h,()=>a.reset(),()=>a.error(!0))}},97161:a=>{"use strict";a.exports.mixin=function(a,b){let c=Object.getOwnPropertyNames(b);for(let d=0;d<c.length;++d)Object.defineProperty(a,c[d],Object.getOwnPropertyDescriptor(b,c[d]))},a.exports.wrapperSymbol=Symbol("wrapper"),a.exports.implSymbol=Symbol("impl"),a.exports.wrapperForImpl=function(b){return b[a.exports.wrapperSymbol]},a.exports.implForWrapper=function(b){return b[a.exports.implSymbol]}},97236:a=>{"use strict";a.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},97250:(a,b,c)=>{"undefined"==typeof process||"renderer"===process.type||process.__nwjs?a.exports=c(81278):a.exports=c(35730)},97832:(a,b,c)=>{"use strict";c.d(b,{Do:()=>w,pF:()=>v,hO:()=>r,Gz:()=>x,eS:()=>y});var d=c(16977),e=c.n(d),f=c(79111),g=c(89392),h=c(18230);let i=(0,h.h)("utils/encryption/session"),j=new Map,k=(0,h.h)("utils/encryption/secure"),l="data_encryption_key",m="data_encryption_iv",n="data_encryption_salt",o="encryption_type";var p=function(a){return a.DEFAULT="default",a.USER="user",a}(p||{});function q(){let a=e().enc.Utf8.parse("flujo_fixed_salt_v1");return e().PBKDF2("FLUJO~",a,{keySize:8,iterations:1e5})}async function r(){k.debug("initializeDefaultEncryption: Entering method");try{if(await x())return!0;let a=q(),b=e().lib.WordArray.random(8),c=e().lib.WordArray.random(16),d=e().AES.encrypt(b.toString(),a,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7}),h=e().enc.Utf8.parse("flujo_fixed_salt_v1"),i={[l]:d.toString(),[m]:c.toString(),[n]:h.toString(),encryption_version:1,[o]:"default"};return await (0,f.VH)(g.Z.ENCRYPTION_KEY,i),!0}catch(a){return k.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function s(){k.debug("getDefaultDEK: Entering method");try{let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!a){if(!await r())return k.error("getDefaultDEK: Failed to initialize default encryption"),null;return await s()}if("default"!==a[o])return k.error("getDefaultDEK: Not using default encryption"),null;let b=a[l],c=e().enc.Hex.parse(a[m]),d=q(),h=e().AES.decrypt(b,d,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!h.toString())return k.error("getDefaultDEK: Failed to decrypt DEK with default key"),null;return e().enc.Hex.parse(h.toString())}catch(a){return k.error("getDefaultDEK: Failed to get default DEK:",a),null}}async function t(a){k.debug("getUserDEK: Entering method");try{let b=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!b)return k.error("getUserDEK: No encryption metadata found"),null;if("user"!==b[o])return k.error("getUserDEK: Not using user encryption"),null;let c=b[l],d=e().enc.Hex.parse(b[m]),h=e().enc.Hex.parse(b[n]),i=e().PBKDF2(a,h,{keySize:8,iterations:1e5}),j=e().AES.decrypt(c,i,{iv:d,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!j.toString())return k.error("getUserDEK: Failed to decrypt DEK with provided password"),null;return e().enc.Hex.parse(j.toString())}catch(a){return k.error("getUserDEK: Failed to get user DEK:",a),null}}async function u(a,b=!1){k.debug("getDEK: Entering method");try{if(b&&a){k.debug("getDEK: Using session token");let b=function(a){let b=j.get(a);if(!b)return i.warn(`Session not found: ${a}`),null;let c=Date.now();return c-b.createdAt>72e5?(i.warn(`Session expired: ${a}`),j.delete(a),null):(b.lastUsed=c,b.dek)}(a);if(b)return e().enc.Hex.parse(b);k.warn("getDEK: Invalid or expired session token, falling back to default encryption")}let c=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!c){if(k.info("getDEK: No encryption metadata found, initializing default encryption"),!await r())return k.error("getDEK: Failed to initialize default encryption"),null;return await u(a,b)}if("user"!==c[o])return await s();{if(!a||b){k.warn("getDEK: Password required for user encryption but not provided, falling back to default encryption");let a=await s();if(a)return a;if(!await r())return k.error("getDEK: Failed to initialize default encryption as fallback"),null;return await s()}let c=await t(a);if(c)return c;return k.warn("getDEK: Failed to get user DEK, falling back to default encryption"),await s()}}catch(a){k.error("getDEK: Failed to get DEK:",a);try{if(k.warn("getDEK: Attempting to initialize default encryption as error recovery"),await r())return await s()}catch(a){k.error("getDEK: Failed to initialize default encryption as error recovery:",a)}return null}}async function v(a,b,c=!1){k.debug("encryptWithPassword: Entering method");try{let d=await u(b,c);if(!d)return null;let f=e().lib.WordArray.random(16),g=e().AES.encrypt(a,d,{iv:f,mode:e().mode.CBC,padding:e().pad.Pkcs7});return f.toString()+":"+g.toString()}catch(a){return k.error("encryptWithPassword: Failed to encrypt data:",a),null}}async function w(a,b,c=!1){k.debug("decryptWithPassword: Entering method");try{let d=await u(b,c);if(!d)return null;let f=a.split(":");if(2!==f.length)return k.error("decryptWithPassword: Invalid ciphertext format"),null;let g=e().enc.Hex.parse(f[0]),h=f[1];return e().AES.decrypt(h,d,{iv:g,mode:e().mode.CBC,padding:e().pad.Pkcs7}).toString(e().enc.Utf8)}catch(a){return k.error("decryptWithPassword: Failed to decrypt data:",a),null}}async function x(){return k.debug("isEncryptionInitialized: Entering method"),null!==await (0,f.YM)(g.Z.ENCRYPTION_KEY,null)}async function y(){k.debug("isUserEncryptionEnabled: Entering method");let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);return null!==a&&"user"===a[o]}},97887:(a,b,c)=>{"use strict";let d=c(33873),e=c(3258),f=c(91480),g=c(53859),h="win32"===process.platform,i=/\.(?:com|exe)$/i,j=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;a.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let k={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell?k:function(a){if(!h)return a;let b=function(a){a.file=e(a);let b=a.file&&g(a.file);return b?(a.args.unshift(a.file),a.command=b,e(a)):a.file}(a),c=!i.test(b);if(a.options.forceShell||c){let c=j.test(b);a.command=d.normalize(a.command),a.command=f.command(a.command),a.args=a.args.map(a=>f.argument(a,c));let e=[a.command].concat(a.args).join(" ");a.args=["/d","/s","/c",`"${e}"`],a.command=process.env.comspec||"cmd.exe",a.options.windowsVerbatimArguments=!0}return a}(k)}},98229:a=>{"use strict";a.exports=Math.pow},98402:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(29005)},99139:(a,b,c)=>{var d=c(44724),e=c(84833),f=c(68041);a.exports=function(a,b,c){for(var g=e(a);g.index<(g.keyedList||a).length;)d(a,b,g,function(a,b){return a?void c(a,b):0===Object.keys(g.jobs).length?void c(null,g.results):void 0}),g.index++;return f.bind(g,c)}},99276:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31849),e=c(83593),f=c(97025),g=c(84817);b.default={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:a}})=>(0,d.str)`must NOT have more than ${a} items`,params:({params:{len:a}})=>(0,d._)`{limit: ${a}}`},code(a){let{schema:b,parentSchema:c,it:d}=a,{prefixItems:h}=c;d.items=!0,(0,e.alwaysValidSchema)(d,b)||(h?(0,g.validateAdditionalItems)(a,h):a.ok((0,f.validateArray)(a)))}}},99925:(a,b,c)=>{"use strict";let d=c(67729),e=c(97161),f=c(24860),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}}};