@caeliq/llms 1.0.56 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -10
- package/dist/api/middleware.d.ts +9 -0
- package/dist/api/routes.d.ts +15 -0
- package/dist/cjs/server.cjs +225 -215
- package/dist/cjs/server.cjs.map +4 -4
- package/dist/cursor-sdk/events-to-sse.d.ts +113 -0
- package/dist/cursor-sdk/hooks-template.d.ts +2 -0
- package/dist/cursor-sdk/host-env.d.ts +38 -0
- package/dist/cursor-sdk/lifecycle-planner.d.ts +69 -0
- package/dist/cursor-sdk/prompt.d.ts +59 -0
- package/dist/cursor-sdk/runner.d.ts +40 -0
- package/dist/cursor-sdk/send.d.ts +9 -0
- package/dist/cursor-sdk/session.d.ts +199 -0
- package/dist/cursor-sdk/shared.d.ts +28 -0
- package/dist/cursor-sdk/tool-paths.d.ts +26 -0
- package/dist/cursor-sdk/tools.d.ts +15 -0
- package/dist/cursor-sdk/turn-identity.d.ts +46 -0
- package/dist/cursor-sdk/turn-output.d.ts +77 -0
- package/dist/cursor-sdk/usage.d.ts +28 -0
- package/dist/esm/server.mjs +225 -215
- package/dist/esm/server.mjs.map +4 -4
- package/dist/index.d.ts +2 -0
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/output/console-handler.d.ts +23 -0
- package/dist/plugins/output/index.d.ts +29 -0
- package/dist/plugins/output/output-manager.d.ts +110 -0
- package/dist/plugins/output/temp-file-handler.d.ts +53 -0
- package/dist/plugins/output/types.d.ts +157 -0
- package/dist/plugins/output/webhook-handler.d.ts +37 -0
- package/dist/plugins/plugin-manager.d.ts +62 -0
- package/dist/plugins/token-speed.d.ts +22 -0
- package/dist/plugins/types.d.ts +25 -0
- package/dist/server.d.ts +60 -0
- package/dist/services/config.d.ts +32 -0
- package/dist/services/provider.d.ts +34 -0
- package/dist/services/tokenizer.d.ts +44 -0
- package/dist/services/transformer.d.ts +28 -0
- package/dist/tests/anthropic.stream-boundaries.d.ts +1 -0
- package/dist/tests/anthropic.stream-cancel.d.ts +1 -0
- package/dist/tests/anthropic.tool-call-id-sanitize.d.ts +1 -0
- package/dist/tests/anthropic.turn-intent.d.ts +1 -0
- package/dist/tests/antigravity.claude-tool-schema.d.ts +1 -0
- package/dist/tests/antigravity.endpoint-fallback.d.ts +1 -0
- package/dist/tests/cache-control.strip.d.ts +1 -0
- package/dist/tests/cache-paths.integration.d.ts +1 -0
- package/dist/tests/claude-auth.beta-headers.d.ts +1 -0
- package/dist/tests/codex-auth.reliability.d.ts +1 -0
- package/dist/tests/cursor-sdk.cancel.d.ts +1 -0
- package/dist/tests/cursor-sdk.host-env.d.ts +1 -0
- package/dist/tests/cursor-sdk.interrupt-reentry.d.ts +1 -0
- package/dist/tests/cursor-sdk.lifecycle-planner.d.ts +1 -0
- package/dist/tests/cursor-sdk.on-delta-thinking.d.ts +1 -0
- package/dist/tests/cursor-sdk.pending-next-rejection.d.ts +1 -0
- package/dist/tests/cursor-sdk.progress-only.d.ts +1 -0
- package/dist/tests/cursor-sdk.runner-recovery.d.ts +1 -0
- package/dist/tests/cursor-sdk.scratch-paths.d.ts +1 -0
- package/dist/tests/cursor-sdk.scratch-report.d.ts +1 -0
- package/dist/tests/cursor-sdk.send.d.ts +1 -0
- package/dist/tests/cursor-sdk.stream-error.d.ts +1 -0
- package/dist/tests/cursor-sdk.thinking-signature.d.ts +1 -0
- package/dist/tests/cursor-sdk.tool-call-id.d.ts +1 -0
- package/dist/tests/cursor-sdk.trailing-turn-fallback.d.ts +1 -0
- package/dist/tests/cursor-sdk.turn-coordination.d.ts +1 -0
- package/dist/tests/cursor-sdk.turn-identity.d.ts +1 -0
- package/dist/tests/cursor-sdk.usage.d.ts +1 -0
- package/dist/tests/deepseek.reasoning.d.ts +1 -0
- package/dist/tests/gemini.abnormal-finish.d.ts +1 -0
- package/dist/tests/gemini.dual-dialect-request.d.ts +1 -0
- package/dist/tests/gemini.function-call-signatures.d.ts +1 -0
- package/dist/tests/gemini.parity.d.ts +1 -0
- package/dist/tests/gemini.thinking-effort.d.ts +1 -0
- package/dist/tests/gemini.thought-signature-roundtrip.d.ts +1 -0
- package/dist/tests/opencode-headers.no-provider-retry.d.ts +1 -0
- package/dist/tests/stream.upstream-terminated.d.ts +1 -0
- package/dist/tests/thinking-sequencer.dual-dialect.d.ts +1 -0
- package/dist/tests/transformer-service.endpoints.d.ts +1 -0
- package/dist/tests/upstream-ports.smoke.d.ts +1 -0
- package/dist/tokenizer/api-tokenizer.d.ts +45 -0
- package/dist/tokenizer/huggingface-tokenizer.d.ts +52 -0
- package/dist/tokenizer/tiktoken-tokenizer.d.ts +20 -0
- package/dist/transformer/anthropic.transformer.d.ts +22 -0
- package/dist/transformer/antigravity-auth.transformer.d.ts +15 -0
- package/dist/transformer/cerebras.transformer.d.ts +16 -0
- package/dist/transformer/chrome-on-device.transformer.d.ts +7 -0
- package/dist/transformer/claude-auth.transformer.d.ts +25 -0
- package/dist/transformer/cleancache.transformer.d.ts +6 -0
- package/dist/transformer/codex.transformer.d.ts +61 -0
- package/dist/transformer/cursor-sdk.transformer.d.ts +25 -0
- package/dist/transformer/customparams.transformer.d.ts +30 -0
- package/dist/transformer/deepseek.transformer.d.ts +7 -0
- package/dist/transformer/enhancetool.transformer.d.ts +6 -0
- package/dist/transformer/extrathinktag.transformer.d.ts +10 -0
- package/dist/transformer/forcereasoning.transformer.d.ts +8 -0
- package/dist/transformer/gemini.transformer.d.ts +15 -0
- package/dist/transformer/groq.transformer.d.ts +7 -0
- package/dist/transformer/index.d.ts +65 -0
- package/dist/transformer/maxcompletiontokens.transformer.d.ts +6 -0
- package/dist/transformer/maxtoken.transformer.d.ts +9 -0
- package/dist/transformer/mistral.transformer.d.ts +25 -0
- package/dist/transformer/openai.responses.transformer.d.ts +13 -0
- package/dist/transformer/openai.transformer.d.ts +52 -0
- package/dist/transformer/opencode-headers.transformer.d.ts +30 -0
- package/dist/transformer/openrouter.transformer.d.ts +10 -0
- package/dist/transformer/qwen-auth.transformer.d.ts +9 -0
- package/dist/transformer/reasoning.transformer.d.ts +10 -0
- package/dist/transformer/sampling.transformer.d.ts +13 -0
- package/dist/transformer/streamoptions.transformer.d.ts +6 -0
- package/dist/transformer/tooluse.transformer.d.ts +7 -0
- package/dist/transformer/vercel.transformer.d.ts +11 -0
- package/dist/transformer/vertex-claude.transformer.d.ts +9 -0
- package/dist/transformer/vertex-gemini.transformer.d.ts +12 -0
- package/dist/transformer/vertex-openai.transformer.d.ts +19 -0
- package/dist/types/llm.d.ts +255 -0
- package/dist/types/transformer.d.ts +29 -0
- package/dist/types/turn-intent.d.ts +26 -0
- package/dist/utils/antigravity-auth.d.ts +75 -0
- package/dist/utils/auth-recovery.d.ts +2 -0
- package/dist/utils/cache.d.ts +14 -0
- package/dist/utils/cacheControl.d.ts +44 -0
- package/dist/utils/claude-auth.d.ts +22 -0
- package/dist/utils/codex-auth.d.ts +33 -0
- package/dist/utils/converter.d.ts +11 -0
- package/dist/utils/cursor-auth.d.ts +3 -0
- package/dist/utils/deepseek.util.d.ts +28 -0
- package/dist/utils/gemini-cache.d.ts +8 -0
- package/dist/utils/gemini-thinking.d.ts +66 -0
- package/dist/utils/gemini.util.d.ts +43 -0
- package/dist/utils/google.util.d.ts +160 -0
- package/dist/utils/image.d.ts +1 -0
- package/dist/utils/mistral.util.d.ts +14 -0
- package/dist/utils/openai.util.d.ts +17 -0
- package/dist/utils/qwen-auth.d.ts +13 -0
- package/dist/utils/redact.d.ts +30 -0
- package/dist/utils/request.d.ts +4 -0
- package/dist/utils/retry.d.ts +27 -0
- package/dist/utils/router.d.ts +42 -0
- package/dist/utils/schema.d.ts +46 -0
- package/dist/utils/sse/SSEParser.transform.d.ts +6 -0
- package/dist/utils/sse/SSESerializer.transform.d.ts +3 -0
- package/dist/utils/sse/index.d.ts +3 -0
- package/dist/utils/sse/rewriteStream.d.ts +9 -0
- package/dist/utils/stream.d.ts +11 -0
- package/dist/utils/thinking.d.ts +33 -0
- package/dist/utils/thought-signature-cache.d.ts +34 -0
- package/dist/utils/toolArgumentsParser.d.ts +8 -0
- package/dist/utils/toolCallId.d.ts +15 -0
- package/dist/utils/vertex-claude.util.d.ts +47 -0
- package/package.json +3 -3
package/dist/cjs/server.cjs
CHANGED
|
@@ -1,295 +1,312 @@
|
|
|
1
|
-
"use strict";var jw=Object.create;var Ci=Object.defineProperty;var Mw=Object.getOwnPropertyDescriptor;var Uw=Object.getOwnPropertyNames;var Lw=Object.getPrototypeOf,qw=Object.prototype.hasOwnProperty;var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ic=(t,e)=>{for(var r in e)Ci(t,r,{get:e[r],enumerable:!0})},_p=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Uw(e))!qw.call(t,o)&&o!==r&&Ci(t,o,{get:()=>e[o],enumerable:!(n=Mw(e,o))||n.enumerable});return t};var $e=(t,e,r)=>(r=t!=null?jw(Lw(t)):{},_p(e||!t||!t.__esModule?Ci(r,"default",{value:t,enumerable:!0}):r,t)),$w=t=>_p(Ci({},"__esModule",{value:!0}),t);var bp=J((q1,wi)=>{wi.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;wi.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;wi.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Bc=J(($1,Cp)=>{var Nc=bp();Cp.exports={isSpaceSeparator(t){return typeof t=="string"&&Nc.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Nc.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Nc.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Ap=J((z1,Sp)=>{var Ge=Bc(),Mc,st,wr,ki,Wr,$t,Je,qc,Vo;Sp.exports=function(e,r){Mc=String(e),st="start",wr=[],ki=0,Wr=1,$t=0,Je=void 0,qc=void 0,Vo=void 0;do Je=zw(),Gw[st]();while(Je.type!=="eof");return typeof r=="function"?Uc({"":Vo},"",r):Vo};function Uc(t,e,r){let n=t[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let s=String(o),a=Uc(n,s,r);a===void 0?delete n[s]:Object.defineProperty(n,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let s=Uc(n,o,r);s===void 0?delete n[o]:Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,e,n)}var ge,he,Jo,Cr,Ce;function zw(){for(ge="default",he="",Jo=!1,Cr=1;;){Ce=Er();let t=Ep[ge]();if(t)return t}}function Er(){if(Mc[ki])return String.fromCodePoint(Mc.codePointAt(ki))}function H(){let t=Er();return t===`
|
|
2
|
-
`?(
|
|
3
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
4
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
5
|
-
`:case"\r":throw
|
|
6
|
-
`;case"r":return
|
|
7
|
-
`:case"\u2028":case"\u2029":return
|
|
8
|
-
`&&
|
|
9
|
-
`+s;
|
|
10
|
-
`+s+
|
|
11
|
-
`+
|
|
12
|
-
`+s,
|
|
13
|
-
`+s+
|
|
14
|
-
`+b+"]"}return o.pop(),s=b,v}}});var zc=J((W1,vp)=>{var Vw=Ap(),Kw=Dp(),Yw={parse:Vw,stringify:Kw};vp.exports=Yw});var Qp=J((IO,hE)=>{hE.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var Zp=J((NO,pE)=>{pE.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var eg=J((BO,gE)=>{gE.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var tg=J((jO,mE)=>{mE.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var rg=J((MO,yE)=>{yE.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var ng=J((UO,_E)=>{_E.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var og=J((LO,bE)=>{bE.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var sg=J((qO,CE)=>{CE.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var ig=J(($O,wE)=>{wE.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var lg=J((zO,cg)=>{var EE=Qp(),kE=Zp(),ag=eg(),SE=tg(),AE=rg(),TE=ng(),DE=og(),vE=sg(),RE=ig(),ug=function(t,e){return t[e]!==void 0?t[e]:e};function Vr(t,e,r){t=t.replace(e,"^");var n="",o="normal",s,a;for(s=0;s<t.length;s++){if(a=t[s],o==="normal"&&a==="^"){o="modified";continue}else if(o==="modified"&&a==="{"){o="long";continue}else if(o==="modified"){n+=ug(r,a),o="normal";continue}else if(o==="long"&&a==="}"){o="normal";continue}o==="normal"?n+=a:n+=ug(r,a)}return n}cg.exports=function(t){return Object.keys(ag).forEach(function(e){var r=ag[e];t=t.replace(e,r)}),t=Vr(t,"^",kE),t=Vr(t,"_",EE),t=Vr(t,"\\bb",SE),t=Vr(t,"\\bf",AE),t=Vr(t,"\\it",vE),t=Vr(t,"\\cal",TE),t=Vr(t,"\\frak",DE),t=Vr(t,"\\mono",RE),t}});var Zc=J((QO,bg)=>{"use strict";var Mi=Object.prototype.hasOwnProperty,_g=Object.prototype.toString,dg=Object.defineProperty,hg=Object.getOwnPropertyDescriptor,pg=function(e){return typeof Array.isArray=="function"?Array.isArray(e):_g.call(e)==="[object Array]"},gg=function(e){if(!e||_g.call(e)!=="[object Object]")return!1;var r=Mi.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Mi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Mi.call(e,o)},mg=function(e,r){dg&&r.name==="__proto__"?dg(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},yg=function(e,r){if(r==="__proto__")if(Mi.call(e,r)){if(hg)return hg(e,r).value}else return;return e[r]};bg.exports=function t(){var e,r,n,o,s,a,u=arguments[0],c=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},c=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});c<f;++c)if(e=arguments[c],e!=null)for(r in e)n=yg(u,r),o=yg(e,r),u!==o&&(d&&o&&(gg(o)||(s=pg(o)))?(s?(s=!1,a=n&&pg(n)?n:[]):a=n&&gg(n)?n:{},mg(u,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&mg(u,{name:r,newValue:o}));return u}});var Cg=J((ZO,FE)=>{FE.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Eg=J((eF,wg)=>{"use strict";var PE=Cg();wg.exports={pkg:PE}});var rl=J(Rt=>{"use strict";var Sg=Rt&&Rt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rt,"__esModule",{value:!0});Rt.GaxiosError=Rt.GAXIOS_ERROR_SYMBOL=void 0;Rt.defaultErrorRedactor=Ag;var kg=Sg(Zc()),IE=Sg(Eg()),el=IE.default.pkg;Rt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${el.name}-gaxios-error`);var tl=class t extends Error{config;response;code;status;error;[Rt.GAXIOS_ERROR_SYMBOL]=el.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Rt.GAXIOS_ERROR_SYMBOL in e&&e[Rt.GAXIOS_ERROR_SYMBOL]===el.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,kg.default)(!0,{},r),this.response&&(this.response.config=(0,kg.default)(!0,{},this.response.config)),this.response){try{this.response.data=NE(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.message);return Object.assign({message:a.join(`
|
|
15
|
-
`)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};Rt.GaxiosError=tl;function NE(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Ag(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Ag({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Dg=J(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.getRetryConfig=BE;async function BE(t){let e=Tg(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||jE)(t))return{shouldRetry:!1,config:t.config};let o=ME(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function jE(t){let e=Tg(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Tg(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function ME(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var sl=J(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.GaxiosInterceptorManager=void 0;var ol=class extends Set{};Ui.GaxiosInterceptorManager=ol});var Rg=J((oF,vg)=>{var ro=1e3,no=ro*60,oo=no*60,Sn=oo*24,UE=Sn*7,LE=Sn*365.25;vg.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return qE(t);if(r==="number"&&isFinite(t))return e.long?zE(t):$E(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function qE(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*LE;case"weeks":case"week":case"w":return r*UE;case"days":case"day":case"d":return r*Sn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oo;case"minutes":case"minute":case"mins":case"min":case"m":return r*no;case"seconds":case"second":case"secs":case"sec":case"s":return r*ro;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $E(t){var e=Math.abs(t);return e>=Sn?Math.round(t/Sn)+"d":e>=oo?Math.round(t/oo)+"h":e>=no?Math.round(t/no)+"m":e>=ro?Math.round(t/ro)+"s":t+"ms"}function zE(t){var e=Math.abs(t);return e>=Sn?Li(t,e,Sn,"day"):e>=oo?Li(t,e,oo,"hour"):e>=no?Li(t,e,no,"minute"):e>=ro?Li(t,e,ro,"second"):t+" ms"}function Li(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var il=J((sF,xg)=>{function HE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=o,r.enabled=u,r.humanize=Rg(),r.destroy=f,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let p=0;for(let y=0;y<d.length;y++)p=(p<<5)-p+d.charCodeAt(y),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(d){let p,y=null,A,g;function _(...b){if(!_.enabled)return;let m=_,v=Number(new Date),k=v-(p||v);m.diff=k,m.prev=p,m.curr=v,p=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let w=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(O,N)=>{if(O==="%%")return"%";w++;let G=r.formatters[N];if(typeof G=="function"){let $=b[w];O=G.call(m,$),b.splice(w,1),w--}return O}),r.formatArgs.call(m,b),(m.log||r.log).apply(m,b)}return _.namespace=d,_.useColors=r.useColors(),_.color=r.selectColor(d),_.extend=n,_.destroy=r.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(A!==r.namespaces&&(A=r.namespaces,g=r.enabled(d)),g),set:b=>{y=b}}),typeof r.init=="function"&&r.init(_),_}function n(d,p){let y=r(this.namespace+(typeof p>"u"?":":p)+d);return y.log=this.log,y}function o(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of p)y[0]==="-"?r.skips.push(y.slice(1)):r.names.push(y)}function s(d,p){let y=0,A=0,g=-1,_=0;for(;y<d.length;)if(A<p.length&&(p[A]===d[y]||p[A]==="*"))p[A]==="*"?(g=A,_=y,A++):(y++,A++);else if(g!==-1)A=g+1,_++,y=_;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let d=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),d}function u(d){for(let p of r.skips)if(s(d,p))return!1;for(let p of r.names)if(s(d,p))return!0;return!1}function c(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}xg.exports=HE});var Og=J((lt,qi)=>{lt.formatArgs=GE;lt.save=JE;lt.load=VE;lt.useColors=WE;lt.storage=KE();lt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();lt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function WE(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function GE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+qi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}lt.log=console.debug||console.log||(()=>{});function JE(t){try{t?lt.storage.setItem("debug",t):lt.storage.removeItem("debug")}catch{}}function VE(){let t;try{t=lt.storage.getItem("debug")||lt.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function KE(){try{return localStorage}catch{}}qi.exports=il()(lt);var{formatters:YE}=qi.exports;YE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Pg=J((iF,Fg)=>{"use strict";Fg.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var Bg=J((aF,Ng)=>{"use strict";var XE=require("os"),Ig=require("tty"),xt=Pg(),{env:Ke}=process,Kr;xt("no-color")||xt("no-colors")||xt("color=false")||xt("color=never")?Kr=0:(xt("color")||xt("colors")||xt("color=true")||xt("color=always"))&&(Kr=1);"FORCE_COLOR"in Ke&&(Ke.FORCE_COLOR==="true"?Kr=1:Ke.FORCE_COLOR==="false"?Kr=0:Kr=Ke.FORCE_COLOR.length===0?1:Math.min(parseInt(Ke.FORCE_COLOR,10),3));function al(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ul(t,e){if(Kr===0)return 0;if(xt("color=16m")||xt("color=full")||xt("color=truecolor"))return 3;if(xt("color=256"))return 2;if(t&&!e&&Kr===void 0)return 0;let r=Kr||0;if(Ke.TERM==="dumb")return r;if(process.platform==="win32"){let n=XE.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ke)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ke)||Ke.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ke)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ke.TEAMCITY_VERSION)?1:0;if(Ke.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ke){let n=parseInt((Ke.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ke.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ke.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ke.TERM)||"COLORTERM"in Ke?1:r}function QE(t){let e=ul(t,t&&t.isTTY);return al(e)}Ng.exports={supportsColor:QE,stdout:al(ul(!0,Ig.isatty(1))),stderr:al(ul(!0,Ig.isatty(2)))}});var Mg=J((Ye,zi)=>{var ZE=require("tty"),$i=require("util");Ye.init=ik;Ye.log=nk;Ye.formatArgs=tk;Ye.save=ok;Ye.load=sk;Ye.useColors=ek;Ye.destroy=$i.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ye.colors=[6,2,3,4,5,1];try{let t=Bg();t&&(t.stderr||t).level>=2&&(Ye.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ye.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function ek(){return"colors"in Ye.inspectOpts?!!Ye.inspectOpts.colors:ZE.isatty(process.stderr.fd)}function tk(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
1
|
+
"use strict";var NA=Object.create;var Ia=Object.defineProperty;var MA=Object.getOwnPropertyDescriptor;var BA=Object.getOwnPropertyNames;var jA=Object.getPrototypeOf,UA=Object.prototype.hasOwnProperty;var bn=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Yd=(t,e)=>{for(var r in e)Ia(t,r,{get:e[r],enumerable:!0})},h_=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of BA(e))!UA.call(t,o)&&o!==r&&Ia(t,o,{get:()=>e[o],enumerable:!(n=MA(e,o))||n.enumerable});return t};var st=(t,e,r)=>(r=t!=null?NA(jA(t)):{},h_(e||!t||!t.__esModule?Ia(r,"default",{value:t,enumerable:!0}):r,t)),LA=t=>h_(Ia({},"__esModule",{value:!0}),t);var p_=V(($M,Na)=>{Na.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Na.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Na.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Qd=V((zM,g_)=>{var Xd=p_();g_.exports={isSpaceSeparator(t){return typeof t=="string"&&Xd.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Xd.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Xd.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var C_=V((HM,b_)=>{var et=Qd(),ef,pt,qr,Ba,Cn,Qt,tt,nf,ri;b_.exports=function(e,r){ef=String(e),pt="start",qr=[],Ba=0,Cn=1,Qt=0,tt=void 0,nf=void 0,ri=void 0;do tt=qA(),HA[pt]();while(tt.type!=="eof");return typeof r=="function"?tf({"":ri},"",r):ri};function tf(t,e,r){let n=t[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let s=String(o),i=tf(n,s,r);i===void 0?delete n[s]:Object.defineProperty(n,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let s=tf(n,o,r);s===void 0?delete n[o]:Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,e,n)}var Ae,we,ti,Lr,ve;function qA(){for(Ae="default",we="",ti=!1,Lr=1;;){ve=$r();let t=y_[Ae]();if(t)return t}}function $r(){if(ef[Ba])return String.fromCodePoint(ef.codePointAt(Ba))}function J(){let t=$r();return t===`
|
|
2
|
+
`?(Cn++,Qt=0):t?Qt+=t.length:Qt++,t&&(Ba+=t.length),t}var y_={default(){switch(ve){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
3
|
+
`:case"\r":case"\u2028":case"\u2029":J();return;case"/":J(),Ae="comment";return;case void 0:return J(),Le("eof")}if(et.isSpaceSeparator(ve)){J();return}return y_[pt]()},comment(){switch(ve){case"*":J(),Ae="multiLineComment";return;case"/":J(),Ae="singleLineComment";return}throw qe(J())},multiLineComment(){switch(ve){case"*":J(),Ae="multiLineCommentAsterisk";return;case void 0:throw qe(J())}J()},multiLineCommentAsterisk(){switch(ve){case"*":J();return;case"/":J(),Ae="default";return;case void 0:throw qe(J())}J(),Ae="multiLineComment"},singleLineComment(){switch(ve){case`
|
|
4
|
+
`:case"\r":case"\u2028":case"\u2029":J(),Ae="default";return;case void 0:return J(),Le("eof")}J()},value(){switch(ve){case"{":case"[":return Le("punctuator",J());case"n":return J(),Wn("ull"),Le("null",null);case"t":return J(),Wn("rue"),Le("boolean",!0);case"f":return J(),Wn("alse"),Le("boolean",!1);case"-":case"+":J()==="-"&&(Lr=-1),Ae="sign";return;case".":we=J(),Ae="decimalPointLeading";return;case"0":we=J(),Ae="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":we=J(),Ae="decimalInteger";return;case"I":return J(),Wn("nfinity"),Le("numeric",1/0);case"N":return J(),Wn("aN"),Le("numeric",NaN);case'"':case"'":ti=J()==='"',we="",Ae="string";return}throw qe(J())},identifierNameStartEscape(){if(ve!=="u")throw qe(J());J();let t=rf();switch(t){case"$":case"_":break;default:if(!et.isIdStartChar(t))throw m_();break}we+=t,Ae="identifierName"},identifierName(){switch(ve){case"$":case"_":case"\u200C":case"\u200D":we+=J();return;case"\\":J(),Ae="identifierNameEscape";return}if(et.isIdContinueChar(ve)){we+=J();return}return Le("identifier",we)},identifierNameEscape(){if(ve!=="u")throw qe(J());J();let t=rf();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!et.isIdContinueChar(t))throw m_();break}we+=t,Ae="identifierName"},sign(){switch(ve){case".":we=J(),Ae="decimalPointLeading";return;case"0":we=J(),Ae="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":we=J(),Ae="decimalInteger";return;case"I":return J(),Wn("nfinity"),Le("numeric",Lr*(1/0));case"N":return J(),Wn("aN"),Le("numeric",NaN)}throw qe(J())},zero(){switch(ve){case".":we+=J(),Ae="decimalPoint";return;case"e":case"E":we+=J(),Ae="decimalExponent";return;case"x":case"X":we+=J(),Ae="hexadecimal";return}return Le("numeric",Lr*0)},decimalInteger(){switch(ve){case".":we+=J(),Ae="decimalPoint";return;case"e":case"E":we+=J(),Ae="decimalExponent";return}if(et.isDigit(ve)){we+=J();return}return Le("numeric",Lr*Number(we))},decimalPointLeading(){if(et.isDigit(ve)){we+=J(),Ae="decimalFraction";return}throw qe(J())},decimalPoint(){switch(ve){case"e":case"E":we+=J(),Ae="decimalExponent";return}if(et.isDigit(ve)){we+=J(),Ae="decimalFraction";return}return Le("numeric",Lr*Number(we))},decimalFraction(){switch(ve){case"e":case"E":we+=J(),Ae="decimalExponent";return}if(et.isDigit(ve)){we+=J();return}return Le("numeric",Lr*Number(we))},decimalExponent(){switch(ve){case"+":case"-":we+=J(),Ae="decimalExponentSign";return}if(et.isDigit(ve)){we+=J(),Ae="decimalExponentInteger";return}throw qe(J())},decimalExponentSign(){if(et.isDigit(ve)){we+=J(),Ae="decimalExponentInteger";return}throw qe(J())},decimalExponentInteger(){if(et.isDigit(ve)){we+=J();return}return Le("numeric",Lr*Number(we))},hexadecimal(){if(et.isHexDigit(ve)){we+=J(),Ae="hexadecimalInteger";return}throw qe(J())},hexadecimalInteger(){if(et.isHexDigit(ve)){we+=J();return}return Le("numeric",Lr*Number(we))},string(){switch(ve){case"\\":J(),we+=$A();return;case'"':if(ti)return J(),Le("string",we);we+=J();return;case"'":if(!ti)return J(),Le("string",we);we+=J();return;case`
|
|
5
|
+
`:case"\r":throw qe(J());case"\u2028":case"\u2029":WA(ve);break;case void 0:throw qe(J())}we+=J()},start(){switch(ve){case"{":case"[":return Le("punctuator",J())}Ae="value"},beforePropertyName(){switch(ve){case"$":case"_":we=J(),Ae="identifierName";return;case"\\":J(),Ae="identifierNameStartEscape";return;case"}":return Le("punctuator",J());case'"':case"'":ti=J()==='"',Ae="string";return}if(et.isIdStartChar(ve)){we+=J(),Ae="identifierName";return}throw qe(J())},afterPropertyName(){if(ve===":")return Le("punctuator",J());throw qe(J())},beforePropertyValue(){Ae="value"},afterPropertyValue(){switch(ve){case",":case"}":return Le("punctuator",J())}throw qe(J())},beforeArrayValue(){if(ve==="]")return Le("punctuator",J());Ae="value"},afterArrayValue(){switch(ve){case",":case"]":return Le("punctuator",J())}throw qe(J())},end(){throw qe(J())}};function Le(t,e){return{type:t,value:e,line:Cn,column:Qt}}function Wn(t){for(let e of t){if($r()!==e)throw qe(J());J()}}function $A(){switch($r()){case"b":return J(),"\b";case"f":return J(),"\f";case"n":return J(),`
|
|
6
|
+
`;case"r":return J(),"\r";case"t":return J()," ";case"v":return J(),"\v";case"0":if(J(),et.isDigit($r()))throw qe(J());return"\0";case"x":return J(),zA();case"u":return J(),rf();case`
|
|
7
|
+
`:case"\u2028":case"\u2029":return J(),"";case"\r":return J(),$r()===`
|
|
8
|
+
`&&J(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw qe(J());case void 0:throw qe(J())}return J()}function zA(){let t="",e=$r();if(!et.isHexDigit(e)||(t+=J(),e=$r(),!et.isHexDigit(e)))throw qe(J());return t+=J(),String.fromCodePoint(parseInt(t,16))}function rf(){let t="",e=4;for(;e-- >0;){let r=$r();if(!et.isHexDigit(r))throw qe(J());t+=J()}return String.fromCodePoint(parseInt(t,16))}var HA={start(){if(tt.type==="eof")throw Gn();Zd()},beforePropertyName(){switch(tt.type){case"identifier":case"string":nf=tt.value,pt="afterPropertyName";return;case"punctuator":Ma();return;case"eof":throw Gn()}},afterPropertyName(){if(tt.type==="eof")throw Gn();pt="beforePropertyValue"},beforePropertyValue(){if(tt.type==="eof")throw Gn();Zd()},beforeArrayValue(){if(tt.type==="eof")throw Gn();if(tt.type==="punctuator"&&tt.value==="]"){Ma();return}Zd()},afterPropertyValue(){if(tt.type==="eof")throw Gn();switch(tt.value){case",":pt="beforePropertyName";return;case"}":Ma()}},afterArrayValue(){if(tt.type==="eof")throw Gn();switch(tt.value){case",":pt="beforeArrayValue";return;case"]":Ma()}},end(){}};function Zd(){let t;switch(tt.type){case"punctuator":switch(tt.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=tt.value;break}if(ri===void 0)ri=t;else{let e=qr[qr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,nf,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")qr.push(t),Array.isArray(t)?pt="beforeArrayValue":pt="beforePropertyName";else{let e=qr[qr.length-1];e==null?pt="end":Array.isArray(e)?pt="afterArrayValue":pt="afterPropertyValue"}}function Ma(){qr.pop();let t=qr[qr.length-1];t==null?pt="end":Array.isArray(t)?pt="afterArrayValue":pt="afterPropertyValue"}function qe(t){return ja(t===void 0?`JSON5: invalid end of input at ${Cn}:${Qt}`:`JSON5: invalid character '${__(t)}' at ${Cn}:${Qt}`)}function Gn(){return ja(`JSON5: invalid end of input at ${Cn}:${Qt}`)}function m_(){return Qt-=5,ja(`JSON5: invalid identifier character at ${Cn}:${Qt}`)}function WA(t){console.warn(`JSON5: '${__(t)}' in strings is not valid ECMAScript; consider escaping`)}function __(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function ja(t){let e=new SyntaxError(t);return e.lineNumber=Cn,e.columnNumber=Qt,e}});var k_=V((WM,w_)=>{var of=Qd();w_.exports=function(e,r,n){let o=[],s="",i,c,u="",f;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,f=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){i=[];for(let y of r){let C;typeof y=="string"?C=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(C=String(y)),C!==void 0&&i.indexOf(C)<0&&i.push(C)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),u=" ".substr(0,n)):typeof n=="string"&&(u=n.substr(0,10)),d("",{"":e});function d(y,C){let _=C[y];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(y):typeof _.toJSON=="function"&&(_=_.toJSON(y))),c&&(_=c.call(C,y,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return h(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?b(_):m(_)}function h(y){let C={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},R="";for(let T=0;T<y.length;T++){let O=y[T];switch(O){case"'":case'"':C[O]++,R+=O;continue;case"\0":if(of.isDigit(y[T+1])){R+="\\x00";continue}}if(_[O]){R+=_[O];continue}if(O<" "){let D=O.charCodeAt(0).toString(16);R+="\\x"+("00"+D).substring(D.length);continue}R+=O}let k=f||Object.keys(C).reduce((T,O)=>C[T]<C[O]?T:O);return R=R.replace(new RegExp(k,"g"),_[k]),k+R+k}function m(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let C=s;s=s+u;let _=i||Object.keys(y),R=[];for(let T of _){let O=d(T,y);if(O!==void 0){let D=S(T)+":";u!==""&&(D+=" "),D+=O,R.push(D)}}let k;if(R.length===0)k="{}";else{let T;if(u==="")T=R.join(","),k="{"+T+"}";else{let O=`,
|
|
9
|
+
`+s;T=R.join(O),k=`{
|
|
10
|
+
`+s+T+`,
|
|
11
|
+
`+C+"}"}}return o.pop(),s=C,k}function S(y){if(y.length===0)return h(y,!0);let C=String.fromCodePoint(y.codePointAt(0));if(!of.isIdStartChar(C))return h(y,!0);for(let _=C.length;_<y.length;_++)if(!of.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return h(y,!0);return y}function b(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let C=s;s=s+u;let _=[];for(let k=0;k<y.length;k++){let T=d(String(k),y);_.push(T!==void 0?T:"null")}let R;if(_.length===0)R="[]";else if(u==="")R="["+_.join(",")+"]";else{let k=`,
|
|
12
|
+
`+s,T=_.join(k);R=`[
|
|
13
|
+
`+s+T+`,
|
|
14
|
+
`+C+"]"}return o.pop(),s=C,R}}});var sf=V((GM,S_)=>{var GA=C_(),JA=k_(),VA={parse:GA,stringify:JA};S_.exports=VA});var Z_=V((JB,FT)=>{FT.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var e0=V((VB,IT)=>{IT.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var t0=V((KB,NT)=>{NT.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var r0=V((YB,MT)=>{MT.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var n0=V((XB,BT)=>{BT.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var o0=V((QB,jT)=>{jT.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var s0=V((ZB,UT)=>{UT.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var i0=V((ej,LT)=>{LT.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var a0=V((tj,qT)=>{qT.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var d0=V((rj,l0)=>{var $T=Z_(),zT=e0(),c0=t0(),HT=r0(),WT=n0(),GT=o0(),JT=s0(),VT=i0(),KT=a0(),u0=function(t,e){return t[e]!==void 0?t[e]:e};function Sn(t,e,r){t=t.replace(e,"^");var n="",o="normal",s,i;for(s=0;s<t.length;s++){if(i=t[s],o==="normal"&&i==="^"){o="modified";continue}else if(o==="modified"&&i==="{"){o="long";continue}else if(o==="modified"){n+=u0(r,i),o="normal";continue}else if(o==="long"&&i==="}"){o="normal";continue}o==="normal"?n+=i:n+=u0(r,i)}return n}l0.exports=function(t){return Object.keys(c0).forEach(function(e){var r=c0[e];t=t.replace(e,r)}),t=Sn(t,"^",zT),t=Sn(t,"_",$T),t=Sn(t,"\\bb",HT),t=Sn(t,"\\bf",WT),t=Sn(t,"\\it",VT),t=Sn(t,"\\cal",GT),t=Sn(t,"\\frak",JT),t=Sn(t,"\\mono",KT),t}});var wf=V((mj,R0)=>{"use strict";var sc=Object.prototype.hasOwnProperty,v0=Object.prototype.toString,w0=Object.defineProperty,k0=Object.getOwnPropertyDescriptor,S0=function(e){return typeof Array.isArray=="function"?Array.isArray(e):v0.call(e)==="[object Array]"},E0=function(e){if(!e||v0.call(e)!=="[object Object]")return!1;var r=sc.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&sc.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||sc.call(e,o)},A0=function(e,r){w0&&r.name==="__proto__"?w0(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},T0=function(e,r){if(r==="__proto__")if(sc.call(e,r)){if(k0)return k0(e,r).value}else return;return e[r]};R0.exports=function t(){var e,r,n,o,s,i,c=arguments[0],u=1,f=arguments.length,d=!1;for(typeof c=="boolean"&&(d=c,c=arguments[1]||{},u=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});u<f;++u)if(e=arguments[u],e!=null)for(r in e)n=T0(c,r),o=T0(e,r),c!==o&&(d&&o&&(E0(o)||(s=S0(o)))?(s?(s=!1,i=n&&S0(n)?n:[]):i=n&&E0(n)?n:{},A0(c,{name:r,newValue:t(d,i,o)})):typeof o<"u"&&A0(c,{name:r,newValue:o}));return c}});var D0=V((yj,sv)=>{sv.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var O0=V((_j,x0)=>{"use strict";var iv=D0();x0.exports={pkg:iv}});var Ef=V(jt=>{"use strict";var F0=jt&&jt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jt,"__esModule",{value:!0});jt.GaxiosError=jt.GAXIOS_ERROR_SYMBOL=void 0;jt.defaultErrorRedactor=I0;var P0=F0(wf()),av=F0(O0()),kf=av.default.pkg;jt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${kf.name}-gaxios-error`);var Sf=class t extends Error{config;response;code;status;error;[jt.GAXIOS_ERROR_SYMBOL]=kf.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&jt.GAXIOS_ERROR_SYMBOL in e&&e[jt.GAXIOS_ERROR_SYMBOL]===kf.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,P0.default)(!0,{},r),this.response&&(this.response.config=(0,P0.default)(!0,{},this.response.config)),this.response){try{this.response.data=cv(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let i=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&i.push(c.message);return Object.assign({message:i.join(`
|
|
15
|
+
`)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};jt.GaxiosError=Sf;function cv(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function I0(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((i,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,i){if(typeof s=="object"&&s!==null&&typeof s[i]=="string"){let c=s[i];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[i]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((i,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(I0({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var M0=V(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});Af.getRetryConfig=uv;async function uv(t){let e=N0(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||lv)(t))return{shouldRetry:!1,config:t.config};let o=dv(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(i=>{setTimeout(i,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function lv(t){let e=N0(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function N0(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function dv(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var vf=V(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.GaxiosInterceptorManager=void 0;var Tf=class extends Set{};ic.GaxiosInterceptorManager=Tf});var j0=V((kj,B0)=>{var $o=1e3,zo=$o*60,Ho=zo*60,to=Ho*24,fv=to*7,hv=to*365.25;B0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return pv(t);if(r==="number"&&isFinite(t))return e.long?mv(t):gv(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function pv(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*hv;case"weeks":case"week":case"w":return r*fv;case"days":case"day":case"d":return r*to;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ho;case"minutes":case"minute":case"mins":case"min":case"m":return r*zo;case"seconds":case"second":case"secs":case"sec":case"s":return r*$o;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function gv(t){var e=Math.abs(t);return e>=to?Math.round(t/to)+"d":e>=Ho?Math.round(t/Ho)+"h":e>=zo?Math.round(t/zo)+"m":e>=$o?Math.round(t/$o)+"s":t+"ms"}function mv(t){var e=Math.abs(t);return e>=to?ac(t,e,to,"day"):e>=Ho?ac(t,e,Ho,"hour"):e>=zo?ac(t,e,zo,"minute"):e>=$o?ac(t,e,$o,"second"):t+" ms"}function ac(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Rf=V((Sj,U0)=>{function yv(t){r.debug=r,r.default=r,r.coerce=u,r.disable=i,r.enable=o,r.enabled=c,r.humanize=j0(),r.destroy=f,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let h=0;for(let m=0;m<d.length;m++)h=(h<<5)-h+d.charCodeAt(m),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(d){let h,m=null,S,b;function y(...C){if(!y.enabled)return;let _=y,R=Number(new Date),k=R-(h||R);_.diff=k,_.prev=h,_.curr=R,h=R,C[0]=r.coerce(C[0]),typeof C[0]!="string"&&C.unshift("%O");let T=0;C[0]=C[0].replace(/%([a-zA-Z%])/g,(D,M)=>{if(D==="%%")return"%";T++;let W=r.formatters[M];if(typeof W=="function"){let $=C[T];D=W.call(_,$),C.splice(T,1),T--}return D}),r.formatArgs.call(_,C),(_.log||r.log).apply(_,C)}return y.namespace=d,y.useColors=r.useColors(),y.color=r.selectColor(d),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(S!==r.namespaces&&(S=r.namespaces,b=r.enabled(d)),b),set:C=>{m=C}}),typeof r.init=="function"&&r.init(y),y}function n(d,h){let m=r(this.namespace+(typeof h>"u"?":":h)+d);return m.log=this.log,m}function o(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let h=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of h)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function s(d,h){let m=0,S=0,b=-1,y=0;for(;m<d.length;)if(S<h.length&&(h[S]===d[m]||h[S]==="*"))h[S]==="*"?(b=S,y=m,S++):(m++,S++);else if(b!==-1)S=b+1,y++,m=y;else return!1;for(;S<h.length&&h[S]==="*";)S++;return S===h.length}function i(){let d=[...r.names,...r.skips.map(h=>"-"+h)].join(",");return r.enable(""),d}function c(d){for(let h of r.skips)if(s(d,h))return!1;for(let h of r.names)if(s(d,h))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}U0.exports=yv});var L0=V((Ct,cc)=>{Ct.formatArgs=bv;Ct.save=Cv;Ct.load=wv;Ct.useColors=_v;Ct.storage=kv();Ct.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ct.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function _v(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function bv(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+cc.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}Ct.log=console.debug||console.log||(()=>{});function Cv(t){try{t?Ct.storage.setItem("debug",t):Ct.storage.removeItem("debug")}catch{}}function wv(){let t;try{t=Ct.storage.getItem("debug")||Ct.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function kv(){try{return localStorage}catch{}}cc.exports=Rf()(Ct);var{formatters:Sv}=cc.exports;Sv.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var $0=V((Ej,q0)=>{"use strict";q0.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var W0=V((Aj,H0)=>{"use strict";var Ev=require("os"),z0=require("tty"),Ut=$0(),{env:rt}=process,uc;Ut("no-color")||Ut("no-colors")||Ut("color=false")||Ut("color=never")?uc=0:(Ut("color")||Ut("colors")||Ut("color=true")||Ut("color=always"))&&(uc=1);function Av(){if("FORCE_COLOR"in rt)return rt.FORCE_COLOR==="true"?1:rt.FORCE_COLOR==="false"?0:rt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(rt.FORCE_COLOR,10),3)}function Tv(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function vv(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=Av();n!==void 0&&(uc=n);let o=r?uc:n;if(o===0)return 0;if(r){if(Ut("color=16m")||Ut("color=full")||Ut("color=truecolor"))return 3;if(Ut("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(rt.TERM==="dumb")return s;if(process.platform==="win32"){let i=Ev.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in rt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in rt)||rt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in rt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(rt.TEAMCITY_VERSION)?1:0;if(rt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in rt){let i=Number.parseInt((rt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(rt.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(rt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(rt.TERM)||"COLORTERM"in rt?1:s}function Df(t,e={}){let r=vv(t,{streamIsTTY:t&&t.isTTY,...e});return Tv(r)}H0.exports={supportsColor:Df,stdout:Df({isTTY:z0.isatty(1)}),stderr:Df({isTTY:z0.isatty(2)})}});var J0=V((nt,dc)=>{var Rv=require("tty"),lc=require("util");nt.init=Nv;nt.log=Pv;nt.formatArgs=xv;nt.save=Fv;nt.load=Iv;nt.useColors=Dv;nt.destroy=lc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");nt.colors=[6,2,3,4,5,1];try{let t=W0();t&&(t.stderr||t).level>=2&&(nt.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}nt.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function Dv(){return"colors"in nt.inspectOpts?!!nt.inspectOpts.colors:Rv.isatty(process.stderr.fd)}function xv(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
16
16
|
`).join(`
|
|
17
|
-
`+s),t.push(o+"m+"+
|
|
18
|
-
`)}function
|
|
19
|
-
`).map(e=>e.trim()).join(" ")};
|
|
20
|
-
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new
|
|
17
|
+
`+s),t.push(o+"m+"+dc.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Ov()+e+" "+t[0]}function Ov(){return nt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Pv(...t){return process.stderr.write(lc.formatWithOptions(nt.inspectOpts,...t)+`
|
|
18
|
+
`)}function Fv(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Iv(){return process.env.DEBUG}function Nv(t){t.inspectOpts={};let e=Object.keys(nt.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=nt.inspectOpts[e[r]]}dc.exports=Rf()(nt);var{formatters:G0}=dc.exports;G0.o=function(t){return this.inspectOpts.colors=this.useColors,lc.inspect(t,this.inspectOpts).split(`
|
|
19
|
+
`).map(e=>e.trim()).join(" ")};G0.O=function(t){return this.inspectOpts.colors=this.useColors,lc.inspect(t,this.inspectOpts)}});var Of=V((Tj,xf)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?xf.exports=L0():xf.exports=J0()});var Y0=V(wt=>{"use strict";var Mv=wt&&wt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Bv=wt&&wt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),V0=wt&&wt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Mv(e,t,r);return Bv(e,t),e};Object.defineProperty(wt,"__esModule",{value:!0});wt.req=wt.json=wt.toBuffer=void 0;var jv=V0(require("http")),Uv=V0(require("https"));async function K0(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}wt.toBuffer=K0;async function Lv(t){let r=(await K0(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}wt.json=Lv;function qv(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Uv:jv).request(t,e),o=new Promise((s,i)=>{n.once("response",s).once("error",i).end()});return n.then=o.then.bind(o),n}wt.req=qv});var eb=V(At=>{"use strict";var Q0=At&&At.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),$v=At&&At.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Z0=At&&At.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Q0(e,t,r);return $v(e,t),e},zv=At&&At.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Q0(e,t,r)};Object.defineProperty(At,"__esModule",{value:!0});At.Agent=void 0;var Hv=Z0(require("net")),X0=Z0(require("http")),Wv=require("https");zv(Y0(),At);var gr=Symbol("AgentBaseInternalState"),Pf=class extends X0.Agent{constructor(e){super(e),this[gr]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
|
|
20
|
+
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new Hv.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?Wv.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),i=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,i),c instanceof X0.Agent)try{return c.addRequest(e,o)}catch(u){return n(u)}this[gr].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,i),n(c)})}createConnection(){let e=this[gr].currentSocket;if(this[gr].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[gr].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[gr]&&(this[gr].defaultPort=e)}get protocol(){return this[gr].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[gr]&&(this[gr].protocol=e)}};At.Agent=Pf});var tb=V(Wo=>{"use strict";var Gv=Wo&&Wo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wo,"__esModule",{value:!0});Wo.parseProxyResponse=void 0;var Jv=Gv(Of()),fc=(0,Jv.default)("https-proxy-agent:parse-proxy-response");function Vv(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function i(){t.removeListener("end",c),t.removeListener("error",u),t.removeListener("readable",s)}function c(){i(),fc("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function u(d){i(),fc("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let h=Buffer.concat(o,n),m=h.indexOf(`\r
|
|
21
21
|
\r
|
|
22
|
-
`);if(
|
|
23
|
-
`),
|
|
24
|
-
`;if(n.username||n.password){let
|
|
25
|
-
`;let
|
|
26
|
-
`);let{connect:f,buffered:d}=await c;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",Dk),r.secureEndpoint?(Qo("Upgrading socket connection to TLS"),Jg.connect({...Kg(Vg(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Wi.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{Qo("Replaying proxy buffer for failed request"),(0,Ek.default)(y.listenerCount("data")>0),y.push(d),y.push(null)}),p}};Gi.protocols=["http","https"];Ot.HttpsProxyAgent=Gi;function Dk(t){t.resume()}function Kg(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function vk(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let d=1;d<r.length;d++)r[d]==="base64"?o=!0:r[d]&&(a+=`;${r[d]}`,r[d].indexOf("charset=")===0&&(n=r[d].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let u=o?"base64":"ascii",c=unescape(t.substring(e+1)),f=Buffer.from(c,u);return f.type=s,f.typeFull=a,f.charset=n,f}var Zg,em=Le(()=>{Zg=vk});var rm=J((Ji,tm)=>{(function(t,e){typeof Ji=="object"&&typeof tm<"u"?e(Ji):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ji,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,l){try{Object.defineProperty(i,"name",{value:l,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function c(i){return new s(i)}function f(i){return c(l=>l(i))}function d(i){return u(i)}function p(i,l,h){return a.call(i,l,h)}function y(i,l,h){p(p(i,l,h),void 0,n)}function A(i,l){y(i,l)}function g(i,l){y(i,void 0,l)}function _(i,l,h){return p(i,l,h)}function b(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let l=f(void 0);m=h=>p(l,h)}return m(i)};function v(i,l,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,l,h)}function k(i,l,h){try{return f(v(i,l,h))}catch(E){return d(E)}}let w=16384;class T{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(l){let h=this._back,E=h;h._elements.length===w-1&&(E={_elements:[],_next:void 0}),h._elements.push(l),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let l=this._front,h=l,E=this._cursor,R=E+1,U=l._elements,q=U[E];return R===w&&(h=l._next,R=0),--this._size,this._cursor=R,l!==h&&(this._front=h),U[E]=void 0,q}forEach(l){let h=this._cursor,E=this._front,R=E._elements;for(;(h!==R.length||E._next!==void 0)&&!(h===R.length&&(E=E._next,R=E._elements,h=0,R.length===0));)l(R[h]),++h}peek(){let l=this._front,h=this._cursor;return l._elements[h]}}let O=Symbol("[[AbortSteps]]"),N=Symbol("[[ErrorSteps]]"),G=Symbol("[[CancelSteps]]"),$=Symbol("[[PullSteps]]"),X=Symbol("[[ReleaseSteps]]");function K(i,l){i._ownerReadableStream=l,l._reader=i,l._state==="readable"?le(i):l._state==="closed"?ie(i):pe(i,l._storedError)}function se(i,l){let h=i._ownerReadableStream;return Lt(h,l)}function _e(i){let l=i._ownerReadableStream;l._state==="readable"?V(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Y(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[X](),l._reader=void 0,i._ownerReadableStream=void 0}function me(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function le(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h})}function pe(i,l){le(i),V(i,l)}function ie(i){le(i),Z(i)}function V(i,l){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(l),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Y(i,l){pe(i,l)}function Z(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Se=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Ue=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function ue(i,l){if(i!==void 0&&!W(i))throw new TypeError(`${l} is not an object.`)}function re(i,l){if(typeof i!="function")throw new TypeError(`${l} is not a function.`)}function ke(i){return typeof i=="object"&&i!==null||typeof i=="function"}function xe(i,l){if(!ke(i))throw new TypeError(`${l} is not an object.`)}function Be(i,l,h){if(i===void 0)throw new TypeError(`Parameter ${l} is required in '${h}'.`)}function C(i,l,h){if(i===void 0)throw new TypeError(`${l} is required in '${h}'.`)}function S(i){return Number(i)}function D(i){return i===0?0:i}function j(i){return D(Ue(i))}function F(i,l){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=D(R),!Se(R))throw new TypeError(`${l} is not a finite number`);if(R=j(R),R<0||R>E)throw new TypeError(`${l} is outside the accepted range of 0 to ${E}, inclusive`);return!Se(R)||R===0?0:R}function I(i,l){if(!qr(i))throw new TypeError(`${l} is not a ReadableStream.`)}function L(i){return new z(i)}function x(i,l){i._reader._readRequests.push(l)}function P(i,l,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(l)}function M(i){return i._reader._readRequests.length}function B(i){let l=i._reader;return!(l===void 0||!ee(l))}class z{constructor(l){if(Be(l,1,"ReadableStreamDefaultReader"),I(l,"First parameter"),$r(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");K(this,l),this._readRequests=new T}get closed(){return ee(this)?this._closedPromise:d(je("closed"))}cancel(l=void 0){return ee(this)?this._ownerReadableStream===void 0?d(me("cancel")):se(this,l):d(je("cancel"))}read(){if(!ee(this))return d(je("read"));if(this._ownerReadableStream===void 0)return d(me("read from"));let l,h,E=c((U,q)=>{l=U,h=q});return te(this,{_chunkSteps:U=>l({value:U,done:!1}),_closeSteps:()=>l({value:void 0,done:!0}),_errorSteps:U=>h(U)}),E}releaseLock(){if(!ee(this))throw je("releaseLock");this._ownerReadableStream!==void 0&&Ee(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function ee(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function te(i,l){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?l._closeSteps():h._state==="errored"?l._errorSteps(h._storedError):h._readableStreamController[$](l)}function Ee(i){_e(i);let l=new TypeError("Reader was released");Pe(i,l)}function Pe(i,l){let h=i._readRequests;i._readRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function je(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let we=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Ae{constructor(l,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=l,this._preventCancel=h}next(){let l=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,l,l):l(),this._ongoingPromise}return(l){let h=()=>this._returnSteps(l);return this._ongoingPromise?_(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let l=this._reader,h,E,R=c((q,Q)=>{h=q,E=Q});return te(l,{_chunkSteps:q=>{this._ongoingPromise=void 0,m(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(l),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(l),E(q)}}),R}_returnSteps(l){if(this._isFinished)return Promise.resolve({value:l,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=se(h,l);return _e(h),_(E,()=>({value:l,done:!0}))}return _e(h),f({value:l,done:!0})}}let He={next(){return Ln(this)?this._asyncIteratorImpl.next():d(qn("next"))},return(i){return Ln(this)?this._asyncIteratorImpl.return(i):d(qn("return"))}};Object.setPrototypeOf(He,we);function Un(i,l){let h=L(i),E=new Ae(h,l),R=Object.create(He);return R._asyncIteratorImpl=E,R}function Ln(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Ae}catch{return!1}}function qn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let pt=Number.isNaN||function(i){return i!==i};var hr,tt,We;function De(i){return i.slice()}function mh(i,l,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),l)}let pr=i=>(typeof i.transfer=="function"?pr=l=>l.transfer():typeof structuredClone=="function"?pr=l=>structuredClone(l,{transfer:[l]}):pr=l=>l,pr(i)),jr=i=>(typeof i.detached=="boolean"?jr=l=>l.detached:jr=l=>l.byteLength===0,jr(i));function yh(i,l,h){if(i.slice)return i.slice(l,h);let E=h-l,R=new ArrayBuffer(E);return mh(R,0,i,l,E),R}function Js(i,l){let h=i[l];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(l)} is not a function`);return h}}function rC(i){let l={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*l})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let ac=(We=(hr=Symbol.asyncIterator)!==null&&hr!==void 0?hr:(tt=Symbol.for)===null||tt===void 0?void 0:tt.call(Symbol,"Symbol.asyncIterator"))!==null&&We!==void 0?We:"@@asyncIterator";function _h(i,l="sync",h){if(h===void 0)if(l==="async"){if(h=Js(i,ac),h===void 0){let U=Js(i,Symbol.iterator),q=_h(i,"sync",U);return rC(q)}}else h=Js(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let E=v(h,i,[]);if(!r(E))throw new TypeError("The iterator method must return an object");let R=E.next;return{iterator:E,nextMethod:R,done:!1}}function nC(i){let l=v(i.nextMethod,i.iterator,[]);if(!r(l))throw new TypeError("The iterator.next() method must return an object");return l}function oC(i){return!!i.done}function sC(i){return i.value}function iC(i){return!(typeof i!="number"||pt(i)||i<0)}function bh(i){let l=yh(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(l)}function uc(i){let l=i._queue.shift();return i._queueTotalSize-=l.size,i._queueTotalSize<0&&(i._queueTotalSize=0),l.value}function cc(i,l,h){if(!iC(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:l,size:h}),i._queueTotalSize+=h}function aC(i){return i._queue.peek().value}function Mr(i){i._queue=new T,i._queueTotalSize=0}function Ch(i){return i===DataView}function uC(i){return Ch(i.constructor)}function cC(i){return Ch(i)?1:i.BYTES_PER_ELEMENT}class ln{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lc(this))throw gc("view");return this._view}respond(l){if(!lc(this))throw gc("respond");if(Be(l,1,"respond"),l=F(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(jr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Xs(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!lc(this))throw gc("respondWithNewView");if(Be(l,1,"respondWithNewView"),!ArrayBuffer.isView(l))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(jr(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Qs(this._associatedReadableByteStreamController,l)}}Object.defineProperties(ln.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(ln.prototype.respond,"respond"),o(ln.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ln.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class gr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fn(this))throw Lo("byobRequest");return pc(this)}get desiredSize(){if(!fn(this))throw Lo("desiredSize");return xh(this)}close(){if(!fn(this))throw Lo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let l=this._controlledReadableByteStream._state;if(l!=="readable")throw new TypeError(`The stream (in ${l} state) is not in the readable state and cannot be closed`);Uo(this)}enqueue(l){if(!fn(this))throw Lo("enqueue");if(Be(l,1,"enqueue"),!ArrayBuffer.isView(l))throw new TypeError("chunk must be an array buffer view");if(l.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(l.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Ys(this,l)}error(l=void 0){if(!fn(this))throw Lo("error");Dt(this,l)}[G](l){wh(this),Mr(this);let h=this._cancelAlgorithm(l);return Ks(this),h}[$](l){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Rh(this,l);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch(q){l._errorSteps(q);return}let U={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(U)}x(h,l),dn(this)}[X](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(l)}}}Object.defineProperties(gr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gr.prototype.close,"close"),o(gr.prototype.enqueue,"enqueue"),o(gr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function fn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof gr}function lc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof ln}function dn(i){if(!pC(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,dn(i)),null),E=>(Dt(i,E),null))}function wh(i){dc(i),i._pendingPullIntos=new T}function fc(i,l){let h=!1;i._state==="closed"&&(h=!0);let E=Eh(l);l.readerType==="default"?P(i,E,h):CC(i,E,h)}function Eh(i){let l=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,l/h)}function Vs(i,l,h,E){i._queue.push({buffer:l,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function kh(i,l,h,E){let R;try{R=yh(l,h,h+E)}catch(U){throw Dt(i,U),U}Vs(i,R,0,E)}function Sh(i,l){l.bytesFilled>0&&kh(i,l.buffer,l.byteOffset,l.bytesFilled),$n(i)}function Ah(i,l){let h=Math.min(i._queueTotalSize,l.byteLength-l.bytesFilled),E=l.bytesFilled+h,R=h,U=!1,q=E%l.elementSize,Q=E-q;Q>=l.minimumFill&&(R=Q-l.bytesFilled,U=!0);let fe=i._queue;for(;R>0;){let oe=fe.peek(),de=Math.min(R,oe.byteLength),ye=l.byteOffset+l.bytesFilled;mh(l.buffer,ye,oe.buffer,oe.byteOffset,de),oe.byteLength===de?fe.shift():(oe.byteOffset+=de,oe.byteLength-=de),i._queueTotalSize-=de,Th(i,de,l),R-=de}return U}function Th(i,l,h){h.bytesFilled+=l}function Dh(i){i._queueTotalSize===0&&i._closeRequested?(Ks(i),Go(i._controlledReadableByteStream)):dn(i)}function dc(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function hc(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let l=i._pendingPullIntos.peek();Ah(i,l)&&($n(i),fc(i._controlledReadableByteStream,l))}}function lC(i){let l=i._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=l._readRequests.shift();Rh(i,h)}}function fC(i,l,h,E){let R=i._controlledReadableByteStream,U=l.constructor,q=cC(U),{byteOffset:Q,byteLength:fe}=l,oe=h*q,de;try{de=pr(l.buffer)}catch(Re){E._errorSteps(Re);return}let ye={buffer:de,bufferByteLength:de.byteLength,byteOffset:Q,byteLength:fe,bytesFilled:0,minimumFill:oe,elementSize:q,viewConstructor:U,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ye),Ph(R,E);return}if(R._state==="closed"){let Re=new U(ye.buffer,ye.byteOffset,0);E._closeSteps(Re);return}if(i._queueTotalSize>0){if(Ah(i,ye)){let Re=Eh(ye);Dh(i),E._chunkSteps(Re);return}if(i._closeRequested){let Re=new TypeError("Insufficient bytes to fill elements in the given buffer");Dt(i,Re),E._errorSteps(Re);return}}i._pendingPullIntos.push(ye),Ph(R,E),dn(i)}function dC(i,l){l.readerType==="none"&&$n(i);let h=i._controlledReadableByteStream;if(mc(h))for(;Ih(h)>0;){let E=$n(i);fc(h,E)}}function hC(i,l,h){if(Th(i,l,h),h.readerType==="none"){Sh(i,h),hc(i);return}if(h.bytesFilled<h.minimumFill)return;$n(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;kh(i,h.buffer,R-E,E)}h.bytesFilled-=E,fc(i._controlledReadableByteStream,h),hc(i)}function vh(i,l){let h=i._pendingPullIntos.peek();dc(i),i._controlledReadableByteStream._state==="closed"?dC(i,h):hC(i,l,h),dn(i)}function $n(i){return i._pendingPullIntos.shift()}function pC(i){let l=i._controlledReadableByteStream;return l._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(l)&&M(l)>0||mc(l)&&Ih(l)>0||xh(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Uo(i){let l=i._controlledReadableByteStream;if(!(i._closeRequested||l._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Dt(i,E),E}}Ks(i),Go(l)}}function Ys(i,l){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:U}=l;if(jr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=pr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(jr(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");dc(i),Q.buffer=pr(Q.buffer),Q.readerType==="none"&&Sh(i,Q)}if(B(h))if(lC(i),M(h)===0)Vs(i,q,R,U);else{i._pendingPullIntos.length>0&&$n(i);let Q=new Uint8Array(q,R,U);P(h,Q,!1)}else mc(h)?(Vs(i,q,R,U),hc(i)):Vs(i,q,R,U);dn(i)}function Dt(i,l){let h=i._controlledReadableByteStream;h._state==="readable"&&(wh(i),Mr(i),Ks(i),op(h,l))}function Rh(i,l){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Dh(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);l._chunkSteps(E)}function pc(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let l=i._pendingPullIntos.peek(),h=new Uint8Array(l.buffer,l.byteOffset+l.bytesFilled,l.byteLength-l.bytesFilled),E=Object.create(ln.prototype);mC(E,i,h),i._byobRequest=E}return i._byobRequest}function xh(i){let l=i._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function Xs(i,l){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(l!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(l===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+l>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=pr(h.buffer),vh(i,l)}function Qs(i,l){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(l.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(l.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==l.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==l.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+l.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=l.byteLength;h.buffer=pr(l.buffer),vh(i,R)}function Oh(i,l,h,E,R,U,q){l._controlledReadableByteStream=i,l._pullAgain=!1,l._pulling=!1,l._byobRequest=null,l._queue=l._queueTotalSize=void 0,Mr(l),l._closeRequested=!1,l._started=!1,l._strategyHWM=U,l._pullAlgorithm=E,l._cancelAlgorithm=R,l._autoAllocateChunkSize=q,l._pendingPullIntos=new T,i._readableStreamController=l;let Q=h();y(f(Q),()=>(l._started=!0,dn(l),null),fe=>(Dt(l,fe),null))}function gC(i,l,h){let E=Object.create(gr.prototype),R,U,q;l.start!==void 0?R=()=>l.start(E):R=()=>{},l.pull!==void 0?U=()=>l.pull(E):U=()=>f(void 0),l.cancel!==void 0?q=fe=>l.cancel(fe):q=()=>f(void 0);let Q=l.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Oh(i,E,R,U,q,h,Q)}function mC(i,l,h){i._associatedReadableByteStreamController=l,i._view=h}function gc(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Lo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function yC(i,l){ue(i,l);let h=i?.mode;return{mode:h===void 0?void 0:_C(h,`${l} has member 'mode' that`)}}function _C(i,l){if(i=`${i}`,i!=="byob")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function bC(i,l){var h;ue(i,l);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(E,`${l} has member 'min' that`)}}function Fh(i){return new Ur(i)}function Ph(i,l){i._reader._readIntoRequests.push(l)}function CC(i,l,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(l):R._chunkSteps(l)}function Ih(i){return i._reader._readIntoRequests.length}function mc(i){let l=i._reader;return!(l===void 0||!hn(l))}class Ur{constructor(l){if(Be(l,1,"ReadableStreamBYOBReader"),I(l,"First parameter"),$r(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fn(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");K(this,l),this._readIntoRequests=new T}get closed(){return hn(this)?this._closedPromise:d(Zs("closed"))}cancel(l=void 0){return hn(this)?this._ownerReadableStream===void 0?d(me("cancel")):se(this,l):d(Zs("cancel"))}read(l,h={}){if(!hn(this))return d(Zs("read"));if(!ArrayBuffer.isView(l))return d(new TypeError("view must be an array buffer view"));if(l.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(l.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(jr(l.buffer))return d(new TypeError("view's buffer has been detached"));let E;try{E=bC(h,"options")}catch(oe){return d(oe)}let R=E.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(uC(l)){if(R>l.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>l.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(me("read from"));let U,q,Q=c((oe,de)=>{U=oe,q=de});return Nh(this,l,R,{_chunkSteps:oe=>U({value:oe,done:!1}),_closeSteps:oe=>U({value:oe,done:!0}),_errorSteps:oe=>q(oe)}),Q}releaseLock(){if(!hn(this))throw Zs("releaseLock");this._ownerReadableStream!==void 0&&wC(this)}}Object.defineProperties(Ur.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Ur.prototype.cancel,"cancel"),o(Ur.prototype.read,"read"),o(Ur.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ur.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function hn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Ur}function Nh(i,l,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):fC(R._readableStreamController,l,h,E)}function wC(i){_e(i);let l=new TypeError("Reader was released");Bh(i,l)}function Bh(i,l){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function Zs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function qo(i,l){let{highWaterMark:h}=i;if(h===void 0)return l;if(pt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function ei(i){let{size:l}=i;return l||(()=>1)}function ti(i,l){ue(i,l);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:S(h),size:E===void 0?void 0:EC(E,`${l} has member 'size' that`)}}function EC(i,l){return re(i,l),h=>S(i(h))}function kC(i,l){ue(i,l);let h=i?.abort,E=i?.close,R=i?.start,U=i?.type,q=i?.write;return{abort:h===void 0?void 0:SC(h,i,`${l} has member 'abort' that`),close:E===void 0?void 0:AC(E,i,`${l} has member 'close' that`),start:R===void 0?void 0:TC(R,i,`${l} has member 'start' that`),write:q===void 0?void 0:DC(q,i,`${l} has member 'write' that`),type:U}}function SC(i,l,h){return re(i,h),E=>k(i,l,[E])}function AC(i,l,h){return re(i,h),()=>k(i,l,[])}function TC(i,l,h){return re(i,h),E=>v(i,l,[E])}function DC(i,l,h){return re(i,h),(E,R)=>k(i,l,[E,R])}function jh(i,l){if(!zn(i))throw new TypeError(`${l} is not a WritableStream.`)}function vC(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let RC=typeof AbortController=="function";function xC(){if(RC)return new AbortController}class Lr{constructor(l={},h={}){l===void 0?l=null:xe(l,"First parameter");let E=ti(h,"Second parameter"),R=kC(l,"First parameter");if(Uh(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let q=ei(E),Q=qo(E,1);HC(this,R,Q,q)}get locked(){if(!zn(this))throw ii("locked");return Hn(this)}abort(l=void 0){return zn(this)?Hn(this)?d(new TypeError("Cannot abort a stream that already has a writer")):ri(this,l):d(ii("abort"))}close(){return zn(this)?Hn(this)?d(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?d(new TypeError("Cannot close an already-closing stream")):Lh(this):d(ii("close"))}getWriter(){if(!zn(this))throw ii("getWriter");return Mh(this)}}Object.defineProperties(Lr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Lr.prototype.abort,"abort"),o(Lr.prototype.close,"close"),o(Lr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Mh(i){return new mr(i)}function OC(i,l,h,E,R=1,U=()=>1){let q=Object.create(Lr.prototype);Uh(q);let Q=Object.create(Wn.prototype);return Gh(q,Q,i,l,h,E,R,U),q}function Uh(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new T,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function zn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Lr}function Hn(i){return i._writer!==void 0}function ri(i,l){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=l,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(l);let E=i._state;if(E==="closed"||E==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,l=void 0);let U=c((q,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:Q,_reason:l,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=U,R||_c(i,l),U}function Lh(i){let l=i._state;if(l==="closed"||l==="errored")return d(new TypeError(`The stream (in ${l} state) is not in the writable state and cannot be closed`));let h=c((R,U)=>{let q={_resolve:R,_reject:U};i._closeRequest=q}),E=i._writer;return E!==void 0&&i._backpressure&&l==="writable"&&Tc(E),WC(i._writableStreamController),h}function FC(i){return c((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function yc(i,l){if(i._state==="writable"){_c(i,l);return}bc(i)}function _c(i,l){let h=i._writableStreamController;i._state="erroring",i._storedError=l;let E=i._writer;E!==void 0&&$h(E,l),!jC(i)&&h._started&&bc(i)}function bc(i){i._state="errored",i._writableStreamController[N]();let l=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(l)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){ni(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(l),ni(i);return}let E=i._writableStreamController[O](h._reason);y(E,()=>(h._resolve(),ni(i),null),R=>(h._reject(R),ni(i),null))}function PC(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function IC(i,l){i._inFlightWriteRequest._reject(l),i._inFlightWriteRequest=void 0,yc(i,l)}function NC(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&Yh(h)}function BC(i,l){i._inFlightCloseRequest._reject(l),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(l),i._pendingAbortRequest=void 0),yc(i,l)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function jC(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function MC(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function UC(i){i._inFlightWriteRequest=i._writeRequests.shift()}function ni(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let l=i._writer;l!==void 0&&Sc(l,i._storedError)}function Cc(i,l){let h=i._writer;h!==void 0&&l!==i._backpressure&&(l?QC(h):Tc(h)),i._backpressure=l}class mr{constructor(l){if(Be(l,1,"WritableStreamDefaultWriter"),jh(l,"First parameter"),Hn(l))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=l,l._writer=this;let h=l._state;if(h==="writable")!Qt(l)&&l._backpressure?ui(this):Xh(this),ai(this);else if(h==="erroring")Ac(this,l._storedError),ai(this);else if(h==="closed")Xh(this),YC(this);else{let E=l._storedError;Ac(this,E),Kh(this,E)}}get closed(){return pn(this)?this._closedPromise:d(gn("closed"))}get desiredSize(){if(!pn(this))throw gn("desiredSize");if(this._ownerWritableStream===void 0)throw zo("desiredSize");return zC(this)}get ready(){return pn(this)?this._readyPromise:d(gn("ready"))}abort(l=void 0){return pn(this)?this._ownerWritableStream===void 0?d(zo("abort")):LC(this,l):d(gn("abort"))}close(){if(!pn(this))return d(gn("close"));let l=this._ownerWritableStream;return l===void 0?d(zo("close")):Qt(l)?d(new TypeError("Cannot close an already-closing stream")):qh(this)}releaseLock(){if(!pn(this))throw gn("releaseLock");this._ownerWritableStream!==void 0&&zh(this)}write(l=void 0){return pn(this)?this._ownerWritableStream===void 0?d(zo("write to")):Hh(this,l):d(gn("write"))}}Object.defineProperties(mr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mr.prototype.abort,"abort"),o(mr.prototype.close,"close"),o(mr.prototype.releaseLock,"releaseLock"),o(mr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function pn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mr}function LC(i,l){let h=i._ownerWritableStream;return ri(h,l)}function qh(i){let l=i._ownerWritableStream;return Lh(l)}function qC(i){let l=i._ownerWritableStream,h=l._state;return Qt(l)||h==="closed"?f(void 0):h==="errored"?d(l._storedError):qh(i)}function $C(i,l){i._closedPromiseState==="pending"?Sc(i,l):XC(i,l)}function $h(i,l){i._readyPromiseState==="pending"?Qh(i,l):ZC(i,l)}function zC(i){let l=i._ownerWritableStream,h=l._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Jh(l._writableStreamController)}function zh(i){let l=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");$h(i,h),$C(i,h),l._writer=void 0,i._ownerWritableStream=void 0}function Hh(i,l){let h=i._ownerWritableStream,E=h._writableStreamController,R=GC(E,l);if(h!==i._ownerWritableStream)return d(zo("write to"));let U=h._state;if(U==="errored")return d(h._storedError);if(Qt(h)||U==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(U==="erroring")return d(h._storedError);let q=FC(h);return JC(E,l,R),q}let Wh={};class Wn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!wc(this))throw kc("abortReason");return this._abortReason}get signal(){if(!wc(this))throw kc("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!wc(this))throw kc("error");this._controlledWritableStream._state==="writable"&&Vh(this,l)}[O](l){let h=this._abortAlgorithm(l);return oi(this),h}[N](){Mr(this)}}Object.defineProperties(Wn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function wc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Wn}function Gh(i,l,h,E,R,U,q,Q){l._controlledWritableStream=i,i._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Mr(l),l._abortReason=void 0,l._abortController=xC(),l._started=!1,l._strategySizeAlgorithm=Q,l._strategyHWM=q,l._writeAlgorithm=E,l._closeAlgorithm=R,l._abortAlgorithm=U;let fe=Ec(l);Cc(i,fe);let oe=h(),de=f(oe);y(de,()=>(l._started=!0,si(l),null),ye=>(l._started=!0,yc(i,ye),null))}function HC(i,l,h,E){let R=Object.create(Wn.prototype),U,q,Q,fe;l.start!==void 0?U=()=>l.start(R):U=()=>{},l.write!==void 0?q=oe=>l.write(oe,R):q=()=>f(void 0),l.close!==void 0?Q=()=>l.close():Q=()=>f(void 0),l.abort!==void 0?fe=oe=>l.abort(oe):fe=()=>f(void 0),Gh(i,R,U,q,Q,fe,h,E)}function oi(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function WC(i){cc(i,Wh,0),si(i)}function GC(i,l){try{return i._strategySizeAlgorithm(l)}catch(h){return $o(i,h),1}}function Jh(i){return i._strategyHWM-i._queueTotalSize}function JC(i,l,h){try{cc(i,l,h)}catch(R){$o(i,R);return}let E=i._controlledWritableStream;if(!Qt(E)&&E._state==="writable"){let R=Ec(i);Cc(E,R)}si(i)}function si(i){let l=i._controlledWritableStream;if(!i._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){bc(l);return}if(i._queue.length===0)return;let E=aC(i);E===Wh?VC(i):KC(i,E)}function $o(i,l){i._controlledWritableStream._state==="writable"&&Vh(i,l)}function VC(i){let l=i._controlledWritableStream;MC(l),uc(i);let h=i._closeAlgorithm();oi(i),y(h,()=>(NC(l),null),E=>(BC(l,E),null))}function KC(i,l){let h=i._controlledWritableStream;UC(h);let E=i._writeAlgorithm(l);y(E,()=>{PC(h);let R=h._state;if(uc(i),!Qt(h)&&R==="writable"){let U=Ec(i);Cc(h,U)}return si(i),null},R=>(h._state==="writable"&&oi(i),IC(h,R),null))}function Ec(i){return Jh(i)<=0}function Vh(i,l){let h=i._controlledWritableStream;oi(i),_c(h,l)}function ii(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function kc(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function gn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function zo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function ai(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Kh(i,l){ai(i),Sc(i,l)}function YC(i){ai(i),Yh(i)}function Sc(i,l){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(l),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function XC(i,l){Kh(i,l)}function Yh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function ui(i){i._readyPromise=c((l,h)=>{i._readyPromise_resolve=l,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Ac(i,l){ui(i),Qh(i,l)}function Xh(i){ui(i),Tc(i)}function Qh(i,l){i._readyPromise_reject!==void 0&&(b(i._readyPromise),i._readyPromise_reject(l),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function QC(i){ui(i)}function ZC(i,l){Ac(i,l)}function Tc(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function ew(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Dc=ew();function tw(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function rw(){let i=Dc?.DOMException;return tw(i)?i:void 0}function nw(){let i=function(h,E){this.message=h||"",this.name=E||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let ow=rw()||nw();function Zh(i,l,h,E,R,U){let q=L(i),Q=Mh(l);i._disturbed=!0;let fe=!1,oe=f(void 0);return c((de,ye)=>{let Re;if(U!==void 0){if(Re=()=>{let ae=U.reason!==void 0?U.reason:new ow("Aborted","AbortError"),be=[];E||be.push(()=>l._state==="writable"?ri(l,ae):f(void 0)),R||be.push(()=>i._state==="readable"?Lt(i,ae):f(void 0)),ut(()=>Promise.all(be.map(Oe=>Oe())),!0,ae)},U.aborted){Re();return}U.addEventListener("abort",Re)}function qt(){return c((ae,be)=>{function Oe(gt){gt?ae():p(Kn(),Oe,be)}Oe(!1)})}function Kn(){return fe?f(!0):p(Q._readyPromise,()=>c((ae,be)=>{te(q,{_chunkSteps:Oe=>{oe=p(Hh(Q,Oe),void 0,e),ae(!1)},_closeSteps:()=>ae(!0),_errorSteps:be})}))}if(_r(i,q._closedPromise,ae=>(E?vt(!0,ae):ut(()=>ri(l,ae),!0,ae),null)),_r(l,Q._closedPromise,ae=>(R?vt(!0,ae):ut(()=>Lt(i,ae),!0,ae),null)),ot(i,q._closedPromise,()=>(h?vt():ut(()=>qC(Q)),null)),Qt(l)||l._state==="closed"){let ae=new TypeError("the destination writable stream closed before all data could be piped to it");R?vt(!0,ae):ut(()=>Lt(i,ae),!0,ae)}b(qt());function Hr(){let ae=oe;return p(oe,()=>ae!==oe?Hr():void 0)}function _r(ae,be,Oe){ae._state==="errored"?Oe(ae._storedError):g(be,Oe)}function ot(ae,be,Oe){ae._state==="closed"?Oe():A(be,Oe)}function ut(ae,be,Oe){if(fe)return;fe=!0,l._state==="writable"&&!Qt(l)?A(Hr(),gt):gt();function gt(){return y(ae(),()=>br(be,Oe),Yn=>br(!0,Yn)),null}}function vt(ae,be){fe||(fe=!0,l._state==="writable"&&!Qt(l)?A(Hr(),()=>br(ae,be)):br(ae,be))}function br(ae,be){return zh(Q),_e(q),U!==void 0&&U.removeEventListener("abort",Re),ae?ye(be):de(void 0),null}})}class yr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ci(this))throw fi("desiredSize");return vc(this)}close(){if(!ci(this))throw fi("close");if(!Jn(this))throw new TypeError("The stream is not in a state that permits close");mn(this)}enqueue(l=void 0){if(!ci(this))throw fi("enqueue");if(!Jn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Gn(this,l)}error(l=void 0){if(!ci(this))throw fi("error");Ut(this,l)}[G](l){Mr(this);let h=this._cancelAlgorithm(l);return li(this),h}[$](l){let h=this._controlledReadableStream;if(this._queue.length>0){let E=uc(this);this._closeRequested&&this._queue.length===0?(li(this),Go(h)):Ho(this),l._chunkSteps(E)}else x(h,l),Ho(this)}[X](){}}Object.defineProperties(yr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(yr.prototype.close,"close"),o(yr.prototype.enqueue,"enqueue"),o(yr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function ci(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof yr}function Ho(i){if(!ep(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ho(i)),null),E=>(Ut(i,E),null))}function ep(i){let l=i._controlledReadableStream;return!Jn(i)||!i._started?!1:!!($r(l)&&M(l)>0||vc(i)>0)}function li(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function mn(i){if(!Jn(i))return;let l=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(li(i),Go(l))}function Gn(i,l){if(!Jn(i))return;let h=i._controlledReadableStream;if($r(h)&&M(h)>0)P(h,l,!1);else{let E;try{E=i._strategySizeAlgorithm(l)}catch(R){throw Ut(i,R),R}try{cc(i,l,E)}catch(R){throw Ut(i,R),R}}Ho(i)}function Ut(i,l){let h=i._controlledReadableStream;h._state==="readable"&&(Mr(i),li(i),op(h,l))}function vc(i){let l=i._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function sw(i){return!ep(i)}function Jn(i){let l=i._controlledReadableStream._state;return!i._closeRequested&&l==="readable"}function tp(i,l,h,E,R,U,q){l._controlledReadableStream=i,l._queue=void 0,l._queueTotalSize=void 0,Mr(l),l._started=!1,l._closeRequested=!1,l._pullAgain=!1,l._pulling=!1,l._strategySizeAlgorithm=q,l._strategyHWM=U,l._pullAlgorithm=E,l._cancelAlgorithm=R,i._readableStreamController=l;let Q=h();y(f(Q),()=>(l._started=!0,Ho(l),null),fe=>(Ut(l,fe),null))}function iw(i,l,h,E){let R=Object.create(yr.prototype),U,q,Q;l.start!==void 0?U=()=>l.start(R):U=()=>{},l.pull!==void 0?q=()=>l.pull(R):q=()=>f(void 0),l.cancel!==void 0?Q=fe=>l.cancel(fe):Q=()=>f(void 0),tp(i,R,U,q,Q,h,E)}function fi(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function aw(i,l){return fn(i._readableStreamController)?cw(i):uw(i)}function uw(i,l){let h=L(i),E=!1,R=!1,U=!1,q=!1,Q,fe,oe,de,ye,Re=c(ot=>{ye=ot});function qt(){return E?(R=!0,f(void 0)):(E=!0,te(h,{_chunkSteps:ut=>{m(()=>{R=!1;let vt=ut,br=ut;U||Gn(oe._readableStreamController,vt),q||Gn(de._readableStreamController,br),E=!1,R&&qt()})},_closeSteps:()=>{E=!1,U||mn(oe._readableStreamController),q||mn(de._readableStreamController),(!U||!q)&&ye(void 0)},_errorSteps:()=>{E=!1}}),f(void 0))}function Kn(ot){if(U=!0,Q=ot,q){let ut=De([Q,fe]),vt=Lt(i,ut);ye(vt)}return Re}function Hr(ot){if(q=!0,fe=ot,U){let ut=De([Q,fe]),vt=Lt(i,ut);ye(vt)}return Re}function _r(){}return oe=Wo(_r,qt,Kn),de=Wo(_r,qt,Hr),g(h._closedPromise,ot=>(Ut(oe._readableStreamController,ot),Ut(de._readableStreamController,ot),(!U||!q)&&ye(void 0),null)),[oe,de]}function cw(i){let l=L(i),h=!1,E=!1,R=!1,U=!1,q=!1,Q,fe,oe,de,ye,Re=c(ae=>{ye=ae});function qt(ae){g(ae._closedPromise,be=>(ae!==l||(Dt(oe._readableStreamController,be),Dt(de._readableStreamController,be),(!U||!q)&&ye(void 0)),null))}function Kn(){hn(l)&&(_e(l),l=L(i),qt(l)),te(l,{_chunkSteps:be=>{m(()=>{E=!1,R=!1;let Oe=be,gt=be;if(!U&&!q)try{gt=bh(be)}catch(Yn){Dt(oe._readableStreamController,Yn),Dt(de._readableStreamController,Yn),ye(Lt(i,Yn));return}U||Ys(oe._readableStreamController,Oe),q||Ys(de._readableStreamController,gt),h=!1,E?_r():R&&ot()})},_closeSteps:()=>{h=!1,U||Uo(oe._readableStreamController),q||Uo(de._readableStreamController),oe._readableStreamController._pendingPullIntos.length>0&&Xs(oe._readableStreamController,0),de._readableStreamController._pendingPullIntos.length>0&&Xs(de._readableStreamController,0),(!U||!q)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function Hr(ae,be){ee(l)&&(_e(l),l=Fh(i),qt(l));let Oe=be?de:oe,gt=be?oe:de;Nh(l,ae,1,{_chunkSteps:Xn=>{m(()=>{E=!1,R=!1;let Qn=be?q:U;if(be?U:q)Qn||Qs(Oe._readableStreamController,Xn);else{let yp;try{yp=bh(Xn)}catch(Pc){Dt(Oe._readableStreamController,Pc),Dt(gt._readableStreamController,Pc),ye(Lt(i,Pc));return}Qn||Qs(Oe._readableStreamController,Xn),Ys(gt._readableStreamController,yp)}h=!1,E?_r():R&&ot()})},_closeSteps:Xn=>{h=!1;let Qn=be?q:U,bi=be?U:q;Qn||Uo(Oe._readableStreamController),bi||Uo(gt._readableStreamController),Xn!==void 0&&(Qn||Qs(Oe._readableStreamController,Xn),!bi&>._readableStreamController._pendingPullIntos.length>0&&Xs(gt._readableStreamController,0)),(!Qn||!bi)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function _r(){if(h)return E=!0,f(void 0);h=!0;let ae=pc(oe._readableStreamController);return ae===null?Kn():Hr(ae._view,!1),f(void 0)}function ot(){if(h)return R=!0,f(void 0);h=!0;let ae=pc(de._readableStreamController);return ae===null?Kn():Hr(ae._view,!0),f(void 0)}function ut(ae){if(U=!0,Q=ae,q){let be=De([Q,fe]),Oe=Lt(i,be);ye(Oe)}return Re}function vt(ae){if(q=!0,fe=ae,U){let be=De([Q,fe]),Oe=Lt(i,be);ye(Oe)}return Re}function br(){}return oe=np(br,_r,ut),de=np(br,ot,vt),qt(l),[oe,de]}function lw(i){return r(i)&&typeof i.getReader<"u"}function fw(i){return lw(i)?hw(i.getReader()):dw(i)}function dw(i){let l,h=_h(i,"async"),E=e;function R(){let q;try{q=nC(h)}catch(fe){return d(fe)}let Q=f(q);return _(Q,fe=>{if(!r(fe))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(oC(fe))mn(l._readableStreamController);else{let de=sC(fe);Gn(l._readableStreamController,de)}})}function U(q){let Q=h.iterator,fe;try{fe=Js(Q,"return")}catch(ye){return d(ye)}if(fe===void 0)return f(void 0);let oe;try{oe=v(fe,Q,[q])}catch(ye){return d(ye)}let de=f(oe);return _(de,ye=>{if(!r(ye))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return l=Wo(E,R,U,0),l}function hw(i){let l,h=e;function E(){let U;try{U=i.read()}catch(q){return d(q)}return _(U,q=>{if(!r(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)mn(l._readableStreamController);else{let Q=q.value;Gn(l._readableStreamController,Q)}})}function R(U){try{return f(i.cancel(U))}catch(q){return d(q)}}return l=Wo(h,E,R,0),l}function pw(i,l){ue(i,l);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,U=h?.pull,q=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:F(E,`${l} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:gw(R,h,`${l} has member 'cancel' that`),pull:U===void 0?void 0:mw(U,h,`${l} has member 'pull' that`),start:q===void 0?void 0:yw(q,h,`${l} has member 'start' that`),type:Q===void 0?void 0:_w(Q,`${l} has member 'type' that`)}}function gw(i,l,h){return re(i,h),E=>k(i,l,[E])}function mw(i,l,h){return re(i,h),E=>k(i,l,[E])}function yw(i,l,h){return re(i,h),E=>v(i,l,[E])}function _w(i,l){if(i=`${i}`,i!=="bytes")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function bw(i,l){return ue(i,l),{preventCancel:!!i?.preventCancel}}function rp(i,l){ue(i,l);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,U=i?.signal;return U!==void 0&&Cw(U,`${l} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:U}}function Cw(i,l){if(!vC(i))throw new TypeError(`${l} is not an AbortSignal.`)}function ww(i,l){ue(i,l);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${l} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),jh(E,`${l} has member 'writable' that`),{readable:h,writable:E}}class rt{constructor(l={},h={}){l===void 0?l=null:xe(l,"First parameter");let E=ti(h,"Second parameter"),R=pw(l,"First parameter");if(Rc(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let U=qo(E,0);gC(this,R,U)}else{let U=ei(E),q=qo(E,1);iw(this,R,q,U)}}get locked(){if(!qr(this))throw yn("locked");return $r(this)}cancel(l=void 0){return qr(this)?$r(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Lt(this,l):d(yn("cancel"))}getReader(l=void 0){if(!qr(this))throw yn("getReader");return yC(l,"First parameter").mode===void 0?L(this):Fh(this)}pipeThrough(l,h={}){if(!qr(this))throw yn("pipeThrough");Be(l,1,"pipeThrough");let E=ww(l,"First parameter"),R=rp(h,"Second parameter");if($r(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Hn(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let U=Zh(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return b(U),E.readable}pipeTo(l,h={}){if(!qr(this))return d(yn("pipeTo"));if(l===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!zn(l))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=rp(h,"Second parameter")}catch(R){return d(R)}return $r(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Hn(l)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Zh(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!qr(this))throw yn("tee");let l=aw(this);return De(l)}values(l=void 0){if(!qr(this))throw yn("values");let h=bw(l,"First parameter");return Un(this,h.preventCancel)}[ac](l){return this.values(l)}static from(l){return fw(l)}}Object.defineProperties(rt,{from:{enumerable:!0}}),Object.defineProperties(rt.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(rt.from,"from"),o(rt.prototype.cancel,"cancel"),o(rt.prototype.getReader,"getReader"),o(rt.prototype.pipeThrough,"pipeThrough"),o(rt.prototype.pipeTo,"pipeTo"),o(rt.prototype.tee,"tee"),o(rt.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rt.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(rt.prototype,ac,{value:rt.prototype.values,writable:!0,configurable:!0});function Wo(i,l,h,E=1,R=()=>1){let U=Object.create(rt.prototype);Rc(U);let q=Object.create(yr.prototype);return tp(U,q,i,l,h,E,R),U}function np(i,l,h){let E=Object.create(rt.prototype);Rc(E);let R=Object.create(gr.prototype);return Oh(E,R,i,l,h,0,void 0),E}function Rc(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function qr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof rt}function $r(i){return i._reader!==void 0}function Lt(i,l){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Go(i);let h=i._reader;if(h!==void 0&&hn(h)){let R=h._readIntoRequests;h._readIntoRequests=new T,R.forEach(U=>{U._closeSteps(void 0)})}let E=i._readableStreamController[G](l);return _(E,e)}function Go(i){i._state="closed";let l=i._reader;if(l!==void 0&&(Z(l),ee(l))){let h=l._readRequests;l._readRequests=new T,h.forEach(E=>{E._closeSteps()})}}function op(i,l){i._state="errored",i._storedError=l;let h=i._reader;h!==void 0&&(V(h,l),ee(h)?Pe(h,l):Bh(h,l))}function yn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function sp(i,l){ue(i,l);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:S(h)}}let ip=i=>i.byteLength;o(ip,"size");class di{constructor(l){Be(l,1,"ByteLengthQueuingStrategy"),l=sp(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!up(this))throw ap("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!up(this))throw ap("size");return ip}}Object.defineProperties(di.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(di.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function ap(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function up(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof di}let cp=()=>1;o(cp,"size");class hi{constructor(l){Be(l,1,"CountQueuingStrategy"),l=sp(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!fp(this))throw lp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!fp(this))throw lp("size");return cp}}Object.defineProperties(hi.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hi.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function lp(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function fp(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof hi}function Ew(i,l){ue(i,l);let h=i?.cancel,E=i?.flush,R=i?.readableType,U=i?.start,q=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:Tw(h,i,`${l} has member 'cancel' that`),flush:E===void 0?void 0:kw(E,i,`${l} has member 'flush' that`),readableType:R,start:U===void 0?void 0:Sw(U,i,`${l} has member 'start' that`),transform:q===void 0?void 0:Aw(q,i,`${l} has member 'transform' that`),writableType:Q}}function kw(i,l,h){return re(i,h),E=>k(i,l,[E])}function Sw(i,l,h){return re(i,h),E=>v(i,l,[E])}function Aw(i,l,h){return re(i,h),(E,R)=>k(i,l,[E,R])}function Tw(i,l,h){return re(i,h),E=>k(i,l,[E])}class pi{constructor(l={},h={},E={}){l===void 0&&(l=null);let R=ti(h,"Second parameter"),U=ti(E,"Third parameter"),q=Ew(l,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=qo(U,0),fe=ei(U),oe=qo(R,1),de=ei(R),ye,Re=c(qt=>{ye=qt});Dw(this,Re,oe,de,Q,fe),Rw(this,q),q.start!==void 0?ye(q.start(this._transformStreamController)):ye(void 0)}get readable(){if(!dp(this))throw mp("readable");return this._readable}get writable(){if(!dp(this))throw mp("writable");return this._writable}}Object.defineProperties(pi.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pi.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Dw(i,l,h,E,R,U){function q(){return l}function Q(Re){return Fw(i,Re)}function fe(Re){return Pw(i,Re)}function oe(){return Iw(i)}i._writable=OC(q,Q,oe,fe,h,E);function de(){return Nw(i)}function ye(Re){return Bw(i,Re)}i._readable=Wo(q,de,ye,R,U),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,gi(i,!0),i._transformStreamController=void 0}function dp(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof pi}function hp(i,l){Ut(i._readable._readableStreamController,l),xc(i,l)}function xc(i,l){yi(i._transformStreamController),$o(i._writable._writableStreamController,l),Oc(i)}function Oc(i){i._backpressure&&gi(i,!1)}function gi(i,l){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=c(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=l}class zr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!mi(this))throw _i("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return vc(l)}enqueue(l=void 0){if(!mi(this))throw _i("enqueue");pp(this,l)}error(l=void 0){if(!mi(this))throw _i("error");xw(this,l)}terminate(){if(!mi(this))throw _i("terminate");Ow(this)}}Object.defineProperties(zr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(zr.prototype.enqueue,"enqueue"),o(zr.prototype.error,"error"),o(zr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function mi(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof zr}function vw(i,l,h,E,R){l._controlledTransformStream=i,i._transformStreamController=l,l._transformAlgorithm=h,l._flushAlgorithm=E,l._cancelAlgorithm=R,l._finishPromise=void 0,l._finishPromise_resolve=void 0,l._finishPromise_reject=void 0}function Rw(i,l){let h=Object.create(zr.prototype),E,R,U;l.transform!==void 0?E=q=>l.transform(q,h):E=q=>{try{return pp(h,q),f(void 0)}catch(Q){return d(Q)}},l.flush!==void 0?R=()=>l.flush(h):R=()=>f(void 0),l.cancel!==void 0?U=q=>l.cancel(q):U=()=>f(void 0),vw(i,h,E,R,U)}function yi(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function pp(i,l){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Jn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Gn(E,l)}catch(U){throw xc(h,U),h._readable._storedError}sw(E)!==h._backpressure&&gi(h,!0)}function xw(i,l){hp(i._controlledTransformStream,l)}function gp(i,l){let h=i._transformAlgorithm(l);return _(h,void 0,E=>{throw hp(i._controlledTransformStream,E),E})}function Ow(i){let l=i._controlledTransformStream,h=l._readable._readableStreamController;mn(h);let E=new TypeError("TransformStream terminated");xc(l,E)}function Fw(i,l){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return _(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return gp(h,l)})}return gp(h,l)}function Pw(i,l){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=c((U,q)=>{h._finishPromise_resolve=U,h._finishPromise_reject=q});let R=h._cancelAlgorithm(l);return yi(h),y(R,()=>(E._state==="errored"?Vn(h,E._storedError):(Ut(E._readableStreamController,l),Fc(h)),null),U=>(Ut(E._readableStreamController,U),Vn(h,U),null)),h._finishPromise}function Iw(i){let l=i._transformStreamController;if(l._finishPromise!==void 0)return l._finishPromise;let h=i._readable;l._finishPromise=c((R,U)=>{l._finishPromise_resolve=R,l._finishPromise_reject=U});let E=l._flushAlgorithm();return yi(l),y(E,()=>(h._state==="errored"?Vn(l,h._storedError):(mn(h._readableStreamController),Fc(l)),null),R=>(Ut(h._readableStreamController,R),Vn(l,R),null)),l._finishPromise}function Nw(i){return gi(i,!1),i._backpressureChangePromise}function Bw(i,l){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=c((U,q)=>{h._finishPromise_resolve=U,h._finishPromise_reject=q});let R=h._cancelAlgorithm(l);return yi(h),y(R,()=>(E._state==="errored"?Vn(h,E._storedError):($o(E._writableStreamController,l),Oc(i),Fc(h)),null),U=>($o(E._writableStreamController,U),Oc(i),Vn(h,U),null)),h._finishPromise}function _i(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Fc(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Vn(i,l){i._finishPromise_reject!==void 0&&(b(i._finishPromise),i._finishPromise_reject(l),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function mp(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=di,t.CountQueuingStrategy=hi,t.ReadableByteStreamController=gr,t.ReadableStream=rt,t.ReadableStreamBYOBReader=Ur,t.ReadableStreamBYOBRequest=ln,t.ReadableStreamDefaultController=yr,t.ReadableStreamDefaultReader=z,t.TransformStream=pi,t.TransformStreamDefaultController=zr,t.WritableStream=Lr,t.WritableStreamDefaultController=Wn,t.WritableStreamDefaultWriter=mr}))});var nm=J(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,rm())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let u=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=u.byteLength,s.enqueue(new Uint8Array(u)),n===o.size&&s.close()}})})}catch{}});async function*dl(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,om),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+om)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var mF,om,sm,Rk,zt,Zo=Le(()=>{mF=$e(nm(),1);om=65536;sm=class hl{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof hl?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of dl(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of dl(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=dl(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),u=Math.max(a-s,0),c=this.#e,f=[],d=0;for(let y of c){if(d>=u)break;let A=ArrayBuffer.isView(y)?y.byteLength:y.size;if(s&&A<=s)s-=A,a-=A;else{let g;ArrayBuffer.isView(y)?(g=y.subarray(s,Math.min(A,a)),d+=g.byteLength):(g=y.slice(s,Math.min(A,a)),d+=g.size),a-=A,f.push(g),s=0}}let p=new hl([],{type:String(n).toLowerCase()});return p.#r=u,p.#e=f,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(sm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Rk=sm,zt=Rk});var xk,Ok,Yr,pl=Le(()=>{Zo();xk=class extends zt{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof zt&&/^(File)$/.test(e[Symbol.toStringTag])}},Ok=xk,Yr=Ok});function um(t,e=zt){var r=`${im()}${im()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
|
|
27
|
-
Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?n.push(o+gl(a)+`"\r
|
|
22
|
+
`);if(m===-1){fc("have not received end of HTTP headers yet..."),s();return}let S=h.slice(0,m).toString("ascii").split(`\r
|
|
23
|
+
`),b=S.shift();if(!b)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let y=b.split(" "),C=+y[1],_=y.slice(2).join(" "),R={};for(let k of S){if(!k)continue;let T=k.indexOf(":");if(T===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let O=k.slice(0,T).toLowerCase(),D=k.slice(T+1).trimStart(),M=R[O];typeof M=="string"?R[O]=[M,D]:Array.isArray(M)?M.push(D):R[O]=D}fc("got proxy server response: %o %o",b,R),i(),e({connect:{statusCode:C,statusText:_,headers:R},buffered:h})}t.on("error",u),t.on("end",c),s()})}Wo.parseProxyResponse=Vv});var ab=V(Lt=>{"use strict";var Kv=Lt&&Lt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Yv=Lt&&Lt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sb=Lt&&Lt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Kv(e,t,r);return Yv(e,t),e},ib=Lt&&Lt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Lt,"__esModule",{value:!0});Lt.HttpsProxyAgent=void 0;var hc=sb(require("net")),rb=sb(require("tls")),Xv=ib(require("assert")),Qv=ib(Of()),Zv=eb(),eR=require("url"),tR=tb(),ui=(0,Qv.default)("https-proxy-agent"),nb=t=>t.servername===void 0&&t.host&&!hc.isIP(t.host)?{...t,servername:t.host}:t,pc=class extends Zv.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new eR.URL(e):e,this.proxyHeaders=r?.headers??{},ui("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?ob(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?(ui("Creating `tls.Socket`: %o",this.connectOpts),o=rb.connect(nb(this.connectOpts))):(ui("Creating `net.Socket`: %o",this.connectOpts),o=hc.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},i=hc.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${i}:${r.port} HTTP/1.1\r
|
|
24
|
+
`;if(n.username||n.password){let m=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(m).toString("base64")}`}s.Host=`${i}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let m of Object.keys(s))c+=`${m}: ${s[m]}\r
|
|
25
|
+
`;let u=(0,tR.parseProxyResponse)(o);o.write(`${c}\r
|
|
26
|
+
`);let{connect:f,buffered:d}=await u;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",rR),r.secureEndpoint?(ui("Upgrading socket connection to TLS"),rb.connect({...ob(nb(r),"host","path","port"),socket:o})):o;o.destroy();let h=new hc.Socket({writable:!1});return h.readable=!0,e.once("socket",m=>{ui("Replaying proxy buffer for failed request"),(0,Xv.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),h}};pc.protocols=["http","https"];Lt.HttpsProxyAgent=pc;function rR(t){t.resume()}function ob(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function If(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var nR,oR,Ff,gc=bn(()=>{nR=Object.defineProperty,oR=(t,e)=>nR(t,"name",{value:e,configurable:!0}),Ff=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};oR(If,"getDefaultExportFromCjs")});var fb={};Yd(fb,{toFormData:()=>db});function lb(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function db(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new dR(r[1]||r[2]),o,s,i,c,u,f,d=[],h=new no,m=Tt(_=>{i+=C.decode(_,{stream:!0})},"onPartData"),S=Tt(_=>{d.push(_)},"appendToFile"),b=Tt(()=>{let _=new Go(d,f,{type:u});h.append(c,_)},"appendFileToFormData"),y=Tt(()=>{h.append(c,i)},"appendEntryToFormData"),C=new TextDecoder("utf-8");C.decode(),n.onPartBegin=function(){n.onPartData=m,n.onPartEnd=y,o="",s="",i="",c="",u="",f=null,d.length=0},n.onHeaderField=function(_){o+=C.decode(_,{stream:!0})},n.onHeaderValue=function(_){s+=C.decode(_,{stream:!0})},n.onHeaderEnd=function(){if(s+=C.decode(),o=o.toLowerCase(),o==="content-disposition"){let _=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(c=_[2]||_[3]||""),f=lb(s),f&&(n.onPartData=S,n.onPartEnd=b)}else o==="content-type"&&(u=s);s="",o=""};for await(let _ of t)n.write(_);return n.end(),h}var sR,Tt,mr,je,cb,En,mc,yc,iR,li,aR,cR,uR,lR,ro,ub,dR,hb=bn(()=>{_c();gc();sR=Object.defineProperty,Tt=(t,e)=>sR(t,"name",{value:e,configurable:!0}),mr=0,je={START_BOUNDARY:mr++,HEADER_FIELD_START:mr++,HEADER_FIELD:mr++,HEADER_VALUE_START:mr++,HEADER_VALUE:mr++,HEADER_VALUE_ALMOST_DONE:mr++,HEADERS_ALMOST_DONE:mr++,PART_DATA_START:mr++,PART_DATA:mr++,END:mr++},cb=1,En={PART_BOUNDARY:cb,LAST_BOUNDARY:cb*=2},mc=10,yc=13,iR=32,li=45,aR=58,cR=97,uR=122,lR=Tt(t=>t|32,"lower"),ro=Tt(()=>{},"noop"),ub=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=ro,this.onHeaderField=ro,this.onHeadersEnd=ro,this.onHeaderValue=ro,this.onPartBegin=ro,this.onPartData=ro,this.onPartEnd=ro,this.boundaryChars={},e=`\r
|
|
27
|
+
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=je.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:i,boundaryChars:c,index:u,state:f,flags:d}=this,h=this.boundary.length,m=h-1,S=e.length,b,y,C=Tt(T=>{this[T+"Mark"]=r},"mark"),_=Tt(T=>{delete this[T+"Mark"]},"clear"),R=Tt((T,O,D,M)=>{(O===void 0||O!==D)&&this[T](M&&M.subarray(O,D))},"callback"),k=Tt((T,O)=>{let D=T+"Mark";D in this&&(O?(R(T,this[D],r,e),delete this[D]):(R(T,this[D],e.length,e),this[D]=0))},"dataCallback");for(r=0;r<n;r++)switch(b=e[r],f){case je.START_BOUNDARY:if(u===i.length-2){if(b===li)d|=En.LAST_BOUNDARY;else if(b!==yc)return;u++;break}else if(u-1===i.length-2){if(d&En.LAST_BOUNDARY&&b===li)f=je.END,d=0;else if(!(d&En.LAST_BOUNDARY)&&b===mc)u=0,R("onPartBegin"),f=je.HEADER_FIELD_START;else return;break}b!==i[u+2]&&(u=-2),b===i[u+2]&&u++;break;case je.HEADER_FIELD_START:f=je.HEADER_FIELD,C("onHeaderField"),u=0;case je.HEADER_FIELD:if(b===yc){_("onHeaderField"),f=je.HEADERS_ALMOST_DONE;break}if(u++,b===li)break;if(b===aR){if(u===1)return;k("onHeaderField",!0),f=je.HEADER_VALUE_START;break}if(y=lR(b),y<cR||y>uR)return;break;case je.HEADER_VALUE_START:if(b===iR)break;C("onHeaderValue"),f=je.HEADER_VALUE;case je.HEADER_VALUE:b===yc&&(k("onHeaderValue",!0),R("onHeaderEnd"),f=je.HEADER_VALUE_ALMOST_DONE);break;case je.HEADER_VALUE_ALMOST_DONE:if(b!==mc)return;f=je.HEADER_FIELD_START;break;case je.HEADERS_ALMOST_DONE:if(b!==mc)return;R("onHeadersEnd"),f=je.PART_DATA_START;break;case je.PART_DATA_START:f=je.PART_DATA,C("onPartData");case je.PART_DATA:if(o=u,u===0){for(r+=m;r<S&&!(e[r]in c);)r+=h;r-=m,b=e[r]}if(u<i.length)i[u]===b?(u===0&&k("onPartData",!0),u++):u=0;else if(u===i.length)u++,b===yc?d|=En.PART_BOUNDARY:b===li?d|=En.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(d&En.PART_BOUNDARY){if(u=0,b===mc){d&=~En.PART_BOUNDARY,R("onPartEnd"),R("onPartBegin"),f=je.HEADER_FIELD_START;break}}else d&En.LAST_BOUNDARY&&b===li?(R("onPartEnd"),f=je.END,d=0):u=0;if(u>0)s[u-1]=b;else if(o>0){let T=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);R("onPartData",0,o,T),o=0,C("onPartData"),r--}break;case je.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}k("onHeaderField"),k("onHeaderValue"),k("onPartData"),this.index=u,this.state=f,this.flags=d}end(){if(this.state===je.HEADER_FIELD_START&&this.index===0||this.state===je.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==je.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};Tt(ub,"MultipartParser");dR=ub;Tt(lb,"_fileName");Tt(db,"toFormData")});function xb(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",i=s;for(let d=1;d<r.length;d++)r[d]==="base64"?o=!0:r[d]&&(i+=`;${r[d]}`,r[d].indexOf("charset=")===0&&(n=r[d].substring(8)));!r[0]&&!n.length&&(i+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",u=unescape(t.substring(e+1)),f=Buffer.from(u,c);return f.type=s,f.typeFull=i,f.charset=n,f}function Ob(){return gb||(gb=1,(function(t,e){(function(r,n){n(e)})(hR,function(r){function n(){}p(n,"noop");function o(a){return typeof a=="object"&&a!==null||typeof a=="function"}p(o,"typeIsObject");let s=n;function i(a,l){try{Object.defineProperty(a,"name",{value:l,configurable:!0})}catch{}}p(i,"setFunctionName");let c=Promise,u=Promise.prototype.then,f=Promise.reject.bind(c);function d(a){return new c(a)}p(d,"newPromise");function h(a){return d(l=>l(a))}p(h,"promiseResolvedWith");function m(a){return f(a)}p(m,"promiseRejectedWith");function S(a,l,g){return u.call(a,l,g)}p(S,"PerformPromiseThen");function b(a,l,g){S(S(a,l,g),void 0,s)}p(b,"uponPromise");function y(a,l){b(a,l)}p(y,"uponFulfillment");function C(a,l){b(a,void 0,l)}p(C,"uponRejection");function _(a,l,g){return S(a,l,g)}p(_,"transformPromiseWith");function R(a){S(a,void 0,s)}p(R,"setPromiseIsHandledToTrue");let k=p(a=>{if(typeof queueMicrotask=="function")k=queueMicrotask;else{let l=h(void 0);k=p(g=>S(l,g),"_queueMicrotask")}return k(a)},"_queueMicrotask");function T(a,l,g){if(typeof a!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(a,l,g)}p(T,"reflectCall");function O(a,l,g){try{return h(T(a,l,g))}catch(E){return m(E)}}p(O,"promiseCall");let D=16384,M=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(l){let g=this._back,E=g;g._elements.length===D-1&&(E={_elements:[],_next:void 0}),g._elements.push(l),E!==g&&(this._back=E,g._next=E),++this._size}shift(){let l=this._front,g=l,E=this._cursor,F=E+1,q=l._elements,H=q[E];return F===D&&(g=l._next,F=0),--this._size,this._cursor=F,l!==g&&(this._front=g),q[E]=void 0,H}forEach(l){let g=this._cursor,E=this._front,F=E._elements;for(;(g!==F.length||E._next!==void 0)&&!(g===F.length&&(E=E._next,F=E._elements,g=0,F.length===0));)l(F[g]),++g}peek(){let l=this._front,g=this._cursor;return l._elements[g]}};p(M,"SimpleQueue");let W=M,$=Symbol("[[AbortSteps]]"),oe=Symbol("[[ErrorSteps]]"),K=Symbol("[[CancelSteps]]"),re=Symbol("[[PullSteps]]"),Q=Symbol("[[ReleaseSteps]]");function se(a,l){a._ownerReadableStream=l,l._reader=a,l._state==="readable"?X(a):l._state==="closed"?te(a):ie(a,l._storedError)}p(se,"ReadableStreamReaderGenericInitialize");function ke(a,l){let g=a._ownerReadableStream;return Mt(g,l)}p(ke,"ReadableStreamReaderGenericCancel");function be(a){let l=a._ownerReadableStream;l._state==="readable"?Te(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):_e(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[Q](),l._reader=void 0,a._ownerReadableStream=void 0}p(be,"ReadableStreamReaderGenericRelease");function Re(a){return new TypeError("Cannot "+a+" a stream using a released reader")}p(Re,"readerLockException");function X(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g})}p(X,"defaultReaderClosedPromiseInitialize");function ie(a,l){X(a),Te(a,l)}p(ie,"defaultReaderClosedPromiseInitializeAsRejected");function te(a){X(a),z(a)}p(te,"defaultReaderClosedPromiseInitializeAsResolved");function Te(a,l){a._closedPromise_reject!==void 0&&(R(a._closedPromise),a._closedPromise_reject(l),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}p(Te,"defaultReaderClosedPromiseReject");function _e(a,l){ie(a,l)}p(_e,"defaultReaderClosedPromiseResetToRejected");function z(a){a._closedPromise_resolve!==void 0&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}p(z,"defaultReaderClosedPromiseResolve");let me=Number.isFinite||function(a){return typeof a=="number"&&isFinite(a)},Ie=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function Y(a){return typeof a=="object"||typeof a=="function"}p(Y,"isDictionary");function de(a,l){if(a!==void 0&&!Y(a))throw new TypeError(`${l} is not an object.`)}p(de,"assertDictionary");function ne(a,l){if(typeof a!="function")throw new TypeError(`${l} is not a function.`)}p(ne,"assertFunction");function w(a){return typeof a=="object"&&a!==null||typeof a=="function"}p(w,"isObject");function A(a,l){if(!w(a))throw new TypeError(`${l} is not an object.`)}p(A,"assertObject");function v(a,l,g){if(a===void 0)throw new TypeError(`Parameter ${l} is required in '${g}'.`)}p(v,"assertRequiredArgument");function j(a,l,g){if(a===void 0)throw new TypeError(`${l} is required in '${g}'.`)}p(j,"assertRequiredField");function x(a){return Number(a)}p(x,"convertUnrestrictedDouble");function I(a){return a===0?0:a}p(I,"censorNegativeZero");function L(a){return I(Ie(a))}p(L,"integerPart");function P(a,l){let g=Number.MAX_SAFE_INTEGER,E=Number(a);if(E=I(E),!me(E))throw new TypeError(`${l} is not a finite number`);if(E=L(E),E<0||E>g)throw new TypeError(`${l} is outside the accepted range of 0 to ${g}, inclusive`);return!me(E)||E===0?0:E}p(P,"convertUnsignedLongLongWithEnforceRange");function N(a,l){if(!Mr(a))throw new TypeError(`${l} is not a ReadableStream.`)}p(N,"assertReadableStream");function U(a){return new ye(a)}p(U,"AcquireReadableStreamDefaultReader");function B(a,l){a._reader._readRequests.push(l)}p(B,"ReadableStreamAddReadRequest");function G(a,l,g){let E=a._reader._readRequests.shift();g?E._closeSteps():E._chunkSteps(l)}p(G,"ReadableStreamFulfillReadRequest");function ee(a){return a._reader._readRequests.length}p(ee,"ReadableStreamGetNumReadRequests");function ae(a){let l=a._reader;return!(l===void 0||!he(l))}p(ae,"ReadableStreamHasDefaultReader");let Ce=class{constructor(l){if(v(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),Br(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");se(this,l),this._readRequests=new W}get closed(){return he(this)?this._closedPromise:m(hr("closed"))}cancel(l=void 0){return he(this)?this._ownerReadableStream===void 0?m(Re("cancel")):ke(this,l):m(hr("cancel"))}read(){if(!he(this))return m(hr("read"));if(this._ownerReadableStream===void 0)return m(Re("read from"));let l,g,E=d((F,q)=>{l=F,g=q});return pe(this,{_chunkSteps:p(F=>l({value:F,done:!1}),"_chunkSteps"),_closeSteps:p(()=>l({value:void 0,done:!0}),"_closeSteps"),_errorSteps:p(F=>g(F),"_errorSteps")}),E}releaseLock(){if(!he(this))throw hr("releaseLock");this._ownerReadableStream!==void 0&&Oe(this)}};p(Ce,"ReadableStreamDefaultReader");let ye=Ce;Object.defineProperties(ye.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ye.prototype.cancel,"cancel"),i(ye.prototype.read,"read"),i(ye.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ye.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function he(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readRequests")?!1:a instanceof ye}p(he,"IsReadableStreamDefaultReader");function pe(a,l){let g=a._ownerReadableStream;g._disturbed=!0,g._state==="closed"?l._closeSteps():g._state==="errored"?l._errorSteps(g._storedError):g._readableStreamController[re](l)}p(pe,"ReadableStreamDefaultReaderRead");function Oe(a){be(a);let l=new TypeError("Reader was released");Ke(a,l)}p(Oe,"ReadableStreamDefaultReaderRelease");function Ke(a,l){let g=a._readRequests;a._readRequests=new W,g.forEach(E=>{E._errorSteps(l)})}p(Ke,"ReadableStreamDefaultReaderErrorReadRequests");function hr(a){return new TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}p(hr,"defaultReaderBrandCheckException");let Os=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),Eo=class{constructor(l,g){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=l,this._preventCancel=g}next(){let l=p(()=>this._nextSteps(),"nextSteps");return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,l,l):l(),this._ongoingPromise}return(l){let g=p(()=>this._returnSteps(l),"returnSteps");return this._ongoingPromise?_(this._ongoingPromise,g,g):g()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let l=this._reader,g,E,F=d((q,H)=>{g=q,E=H});return pe(l,{_chunkSteps:p(q=>{this._ongoingPromise=void 0,k(()=>g({value:q,done:!1}))},"_chunkSteps"),_closeSteps:p(()=>{this._ongoingPromise=void 0,this._isFinished=!0,be(l),g({value:void 0,done:!0})},"_closeSteps"),_errorSteps:p(q=>{this._ongoingPromise=void 0,this._isFinished=!0,be(l),E(q)},"_errorSteps")}),F}_returnSteps(l){if(this._isFinished)return Promise.resolve({value:l,done:!0});this._isFinished=!0;let g=this._reader;if(!this._preventCancel){let E=ke(g,l);return be(g),_(E,()=>({value:l,done:!0}))}return be(g),h({value:l,done:!0})}};p(Eo,"ReadableStreamAsyncIteratorImpl");let St=Eo,sn={next(){return Qe(this)?this._asyncIteratorImpl.next():m(Be("next"))},return(a){return Qe(this)?this._asyncIteratorImpl.return(a):m(Be("return"))}};Object.setPrototypeOf(sn,Os);function dt(a,l){let g=U(a),E=new St(g,l),F=Object.create(sn);return F._asyncIteratorImpl=E,F}p(dt,"AcquireReadableStreamAsyncIterator");function Qe(a){if(!o(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof St}catch{return!1}}p(Qe,"IsReadableStreamAsyncIterator");function Be(a){return new TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}p(Be,"streamAsyncIteratorBrandCheckException");let _m=Number.isNaN||function(a){return a!==a};var Jl,Vl,Kl;function Ao(a){return a.slice()}p(Ao,"CreateArrayFromList");function Yl(a,l,g,E,F){new Uint8Array(a).set(new Uint8Array(g,E,F),l)}p(Yl,"CopyDataBlockBytes");let Or=p(a=>(typeof a.transfer=="function"?Or=p(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?Or=p(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):Or=p(l=>l,"TransferArrayBuffer"),Or(a)),"TransferArrayBuffer"),an=p(a=>(typeof a.detached=="boolean"?an=p(l=>l.detached,"IsDetachedBuffer"):an=p(l=>l.byteLength===0,"IsDetachedBuffer"),an(a)),"IsDetachedBuffer");function Xl(a,l,g){if(a.slice)return a.slice(l,g);let E=g-l,F=new ArrayBuffer(E);return Yl(F,0,a,l,E),F}p(Xl,"ArrayBufferSlice");function Ps(a,l){let g=a[l];if(g!=null){if(typeof g!="function")throw new TypeError(`${String(l)} is not a function`);return g}}p(Ps,"GetMethod");function bm(a){let l={[Symbol.iterator]:()=>a.iterator},g=(async function*(){return yield*l})(),E=g.next;return{iterator:g,nextMethod:E,done:!1}}p(bm,"CreateAsyncFromSyncIterator");let Ql=(Kl=(Jl=Symbol.asyncIterator)!==null&&Jl!==void 0?Jl:(Vl=Symbol.for)===null||Vl===void 0?void 0:Vl.call(Symbol,"Symbol.asyncIterator"))!==null&&Kl!==void 0?Kl:"@@asyncIterator";function Zl(a,l="sync",g){if(g===void 0)if(l==="async"){if(g=Ps(a,Ql),g===void 0){let q=Ps(a,Symbol.iterator),H=Zl(a,"sync",q);return bm(H)}}else g=Ps(a,Symbol.iterator);if(g===void 0)throw new TypeError("The object is not iterable");let E=T(g,a,[]);if(!o(E))throw new TypeError("The iterator method must return an object");let F=E.next;return{iterator:E,nextMethod:F,done:!1}}p(Zl,"GetIterator");function Cm(a){let l=T(a.nextMethod,a.iterator,[]);if(!o(l))throw new TypeError("The iterator.next() method must return an object");return l}p(Cm,"IteratorNext");function wm(a){return!!a.done}p(wm,"IteratorComplete");function km(a){return a.value}p(km,"IteratorValue");function Sm(a){return!(typeof a!="number"||_m(a)||a<0)}p(Sm,"IsNonNegativeNumber");function ed(a){let l=Xl(a.buffer,a.byteOffset,a.byteOffset+a.byteLength);return new Uint8Array(l)}p(ed,"CloneAsUint8Array");function aa(a){let l=a._queue.shift();return a._queueTotalSize-=l.size,a._queueTotalSize<0&&(a._queueTotalSize=0),l.value}p(aa,"DequeueValue");function ca(a,l,g){if(!Sm(g)||g===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:l,size:g}),a._queueTotalSize+=g}p(ca,"EnqueueValueWithSize");function Em(a){return a._queue.peek().value}p(Em,"PeekQueueValue");function Pr(a){a._queue=new W,a._queueTotalSize=0}p(Pr,"ResetQueue");function td(a){return a===DataView}p(td,"isDataViewConstructor");function Am(a){return td(a.constructor)}p(Am,"isDataView");function Tm(a){return td(a)?1:a.BYTES_PER_ELEMENT}p(Tm,"arrayBufferViewElementSize");let vm=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!ua(this))throw pa("view");return this._view}respond(l){if(!ua(this))throw pa("respond");if(v(l,1,"respond"),l=P(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(an(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ms(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!ua(this))throw pa("respondWithNewView");if(v(l,1,"respondWithNewView"),!ArrayBuffer.isView(l))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(an(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Bs(this._associatedReadableByteStreamController,l)}};p(vm,"ReadableStreamBYOBRequest");let jn=vm;Object.defineProperties(jn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(jn.prototype.respond,"respond"),i(jn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let Rm=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!cn(this))throw vo("byobRequest");return ha(this)}get desiredSize(){if(!cn(this))throw vo("desiredSize");return dd(this)}close(){if(!cn(this))throw vo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let l=this._controlledReadableByteStream._state;if(l!=="readable")throw new TypeError(`The stream (in ${l} state) is not in the readable state and cannot be closed`);To(this)}enqueue(l){if(!cn(this))throw vo("enqueue");if(v(l,1,"enqueue"),!ArrayBuffer.isView(l))throw new TypeError("chunk must be an array buffer view");if(l.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(l.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let g=this._controlledReadableByteStream._state;if(g!=="readable")throw new TypeError(`The stream (in ${g} state) is not in the readable state and cannot be enqueued to`);Ns(this,l)}error(l=void 0){if(!cn(this))throw vo("error");Et(this,l)}[K](l){rd(this),Pr(this);let g=this._cancelAlgorithm(l);return Is(this),g}[re](l){let g=this._controlledReadableByteStream;if(this._queueTotalSize>0){ld(this,l);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let F;try{F=new ArrayBuffer(E)}catch(H){l._errorSteps(H);return}let q={buffer:F,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(q)}B(g,l),un(this)}[Q](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new W,this._pendingPullIntos.push(l)}}};p(Rm,"ReadableByteStreamController");let Fr=Rm;Object.defineProperties(Fr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Fr.prototype.close,"close"),i(Fr.prototype.enqueue,"enqueue"),i(Fr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function cn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")?!1:a instanceof Fr}p(cn,"IsReadableByteStreamController");function ua(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")?!1:a instanceof jn}p(ua,"IsReadableStreamBYOBRequest");function un(a){if(!Fm(a))return;if(a._pulling){a._pullAgain=!0;return}a._pulling=!0;let l=a._pullAlgorithm();b(l,()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,un(a)),null),g=>(Et(a,g),null))}p(un,"ReadableByteStreamControllerCallPullIfNeeded");function rd(a){da(a),a._pendingPullIntos=new W}p(rd,"ReadableByteStreamControllerClearPendingPullIntos");function la(a,l){let g=!1;a._state==="closed"&&(g=!0);let E=nd(l);l.readerType==="default"?G(a,E,g):Um(a,E,g)}p(la,"ReadableByteStreamControllerCommitPullIntoDescriptor");function nd(a){let l=a.bytesFilled,g=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,l/g)}p(nd,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Fs(a,l,g,E){a._queue.push({buffer:l,byteOffset:g,byteLength:E}),a._queueTotalSize+=E}p(Fs,"ReadableByteStreamControllerEnqueueChunkToQueue");function od(a,l,g,E){let F;try{F=Xl(l,g,g+E)}catch(q){throw Et(a,q),q}Fs(a,F,0,E)}p(od,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function sd(a,l){l.bytesFilled>0&&od(a,l.buffer,l.byteOffset,l.bytesFilled),Un(a)}p(sd,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function id(a,l){let g=Math.min(a._queueTotalSize,l.byteLength-l.bytesFilled),E=l.bytesFilled+g,F=g,q=!1,H=E%l.elementSize,Z=E-H;Z>=l.minimumFill&&(F=Z-l.bytesFilled,q=!0);let ce=a._queue;for(;F>0;){let ge=ce.peek(),Se=Math.min(F,ge.byteLength),Ee=l.byteOffset+l.bytesFilled;Yl(l.buffer,Ee,ge.buffer,ge.byteOffset,Se),ge.byteLength===Se?ce.shift():(ge.byteOffset+=Se,ge.byteLength-=Se),a._queueTotalSize-=Se,ad(a,Se,l),F-=Se}return q}p(id,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function ad(a,l,g){g.bytesFilled+=l}p(ad,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function cd(a){a._queueTotalSize===0&&a._closeRequested?(Is(a),Io(a._controlledReadableByteStream)):un(a)}p(cd,"ReadableByteStreamControllerHandleQueueDrain");function da(a){a._byobRequest!==null&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}p(da,"ReadableByteStreamControllerInvalidateBYOBRequest");function fa(a){for(;a._pendingPullIntos.length>0;){if(a._queueTotalSize===0)return;let l=a._pendingPullIntos.peek();id(a,l)&&(Un(a),la(a._controlledReadableByteStream,l))}}p(fa,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function Dm(a){let l=a._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(a._queueTotalSize===0)return;let g=l._readRequests.shift();ld(a,g)}}p(Dm,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function xm(a,l,g,E){let F=a._controlledReadableByteStream,q=l.constructor,H=Tm(q),{byteOffset:Z,byteLength:ce}=l,ge=g*H,Se;try{Se=Or(l.buffer)}catch(Ne){E._errorSteps(Ne);return}let Ee={buffer:Se,bufferByteLength:Se.byteLength,byteOffset:Z,byteLength:ce,bytesFilled:0,minimumFill:ge,elementSize:H,viewConstructor:q,readerType:"byob"};if(a._pendingPullIntos.length>0){a._pendingPullIntos.push(Ee),pd(F,E);return}if(F._state==="closed"){let Ne=new q(Ee.buffer,Ee.byteOffset,0);E._closeSteps(Ne);return}if(a._queueTotalSize>0){if(id(a,Ee)){let Ne=nd(Ee);cd(a),E._chunkSteps(Ne);return}if(a._closeRequested){let Ne=new TypeError("Insufficient bytes to fill elements in the given buffer");Et(a,Ne),E._errorSteps(Ne);return}}a._pendingPullIntos.push(Ee),pd(F,E),un(a)}p(xm,"ReadableByteStreamControllerPullInto");function Om(a,l){l.readerType==="none"&&Un(a);let g=a._controlledReadableByteStream;if(ga(g))for(;gd(g)>0;){let E=Un(a);la(g,E)}}p(Om,"ReadableByteStreamControllerRespondInClosedState");function Pm(a,l,g){if(ad(a,l,g),g.readerType==="none"){sd(a,g),fa(a);return}if(g.bytesFilled<g.minimumFill)return;Un(a);let E=g.bytesFilled%g.elementSize;if(E>0){let F=g.byteOffset+g.bytesFilled;od(a,g.buffer,F-E,E)}g.bytesFilled-=E,la(a._controlledReadableByteStream,g),fa(a)}p(Pm,"ReadableByteStreamControllerRespondInReadableState");function ud(a,l){let g=a._pendingPullIntos.peek();da(a),a._controlledReadableByteStream._state==="closed"?Om(a,g):Pm(a,l,g),un(a)}p(ud,"ReadableByteStreamControllerRespondInternal");function Un(a){return a._pendingPullIntos.shift()}p(Un,"ReadableByteStreamControllerShiftPendingPullInto");function Fm(a){let l=a._controlledReadableByteStream;return l._state!=="readable"||a._closeRequested||!a._started?!1:!!(ae(l)&&ee(l)>0||ga(l)&&gd(l)>0||dd(a)>0)}p(Fm,"ReadableByteStreamControllerShouldCallPull");function Is(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}p(Is,"ReadableByteStreamControllerClearAlgorithms");function To(a){let l=a._controlledReadableByteStream;if(!(a._closeRequested||l._state!=="readable")){if(a._queueTotalSize>0){a._closeRequested=!0;return}if(a._pendingPullIntos.length>0){let g=a._pendingPullIntos.peek();if(g.bytesFilled%g.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Et(a,E),E}}Is(a),Io(l)}}p(To,"ReadableByteStreamControllerClose");function Ns(a,l){let g=a._controlledReadableByteStream;if(a._closeRequested||g._state!=="readable")return;let{buffer:E,byteOffset:F,byteLength:q}=l;if(an(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let H=Or(E);if(a._pendingPullIntos.length>0){let Z=a._pendingPullIntos.peek();if(an(Z.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");da(a),Z.buffer=Or(Z.buffer),Z.readerType==="none"&&sd(a,Z)}if(ae(g))if(Dm(a),ee(g)===0)Fs(a,H,F,q);else{a._pendingPullIntos.length>0&&Un(a);let Z=new Uint8Array(H,F,q);G(g,Z,!1)}else ga(g)?(Fs(a,H,F,q),fa(a)):Fs(a,H,F,q);un(a)}p(Ns,"ReadableByteStreamControllerEnqueue");function Et(a,l){let g=a._controlledReadableByteStream;g._state==="readable"&&(rd(a),Pr(a),Is(a),jd(g,l))}p(Et,"ReadableByteStreamControllerError");function ld(a,l){let g=a._queue.shift();a._queueTotalSize-=g.byteLength,cd(a);let E=new Uint8Array(g.buffer,g.byteOffset,g.byteLength);l._chunkSteps(E)}p(ld,"ReadableByteStreamControllerFillReadRequestFromQueue");function ha(a){if(a._byobRequest===null&&a._pendingPullIntos.length>0){let l=a._pendingPullIntos.peek(),g=new Uint8Array(l.buffer,l.byteOffset+l.bytesFilled,l.byteLength-l.bytesFilled),E=Object.create(jn.prototype);Nm(E,a,g),a._byobRequest=E}return a._byobRequest}p(ha,"ReadableByteStreamControllerGetBYOBRequest");function dd(a){let l=a._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}p(dd,"ReadableByteStreamControllerGetDesiredSize");function Ms(a,l){let g=a._pendingPullIntos.peek();if(a._controlledReadableByteStream._state==="closed"){if(l!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(l===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(g.bytesFilled+l>g.byteLength)throw new RangeError("bytesWritten out of range")}g.buffer=Or(g.buffer),ud(a,l)}p(Ms,"ReadableByteStreamControllerRespond");function Bs(a,l){let g=a._pendingPullIntos.peek();if(a._controlledReadableByteStream._state==="closed"){if(l.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(l.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(g.byteOffset+g.bytesFilled!==l.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(g.bufferByteLength!==l.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(g.bytesFilled+l.byteLength>g.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let E=l.byteLength;g.buffer=Or(l.buffer),ud(a,E)}p(Bs,"ReadableByteStreamControllerRespondWithNewView");function fd(a,l,g,E,F,q,H){l._controlledReadableByteStream=a,l._pullAgain=!1,l._pulling=!1,l._byobRequest=null,l._queue=l._queueTotalSize=void 0,Pr(l),l._closeRequested=!1,l._started=!1,l._strategyHWM=q,l._pullAlgorithm=E,l._cancelAlgorithm=F,l._autoAllocateChunkSize=H,l._pendingPullIntos=new W,a._readableStreamController=l;let Z=g();b(h(Z),()=>(l._started=!0,un(l),null),ce=>(Et(l,ce),null))}p(fd,"SetUpReadableByteStreamController");function Im(a,l,g){let E=Object.create(Fr.prototype),F,q,H;l.start!==void 0?F=p(()=>l.start(E),"startAlgorithm"):F=p(()=>{},"startAlgorithm"),l.pull!==void 0?q=p(()=>l.pull(E),"pullAlgorithm"):q=p(()=>h(void 0),"pullAlgorithm"),l.cancel!==void 0?H=p(ce=>l.cancel(ce),"cancelAlgorithm"):H=p(()=>h(void 0),"cancelAlgorithm");let Z=l.autoAllocateChunkSize;if(Z===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");fd(a,E,F,q,H,g,Z)}p(Im,"SetUpReadableByteStreamControllerFromUnderlyingSource");function Nm(a,l,g){a._associatedReadableByteStreamController=l,a._view=g}p(Nm,"SetUpReadableStreamBYOBRequest");function pa(a){return new TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}p(pa,"byobRequestBrandCheckException");function vo(a){return new TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}p(vo,"byteStreamControllerBrandCheckException");function Mm(a,l){de(a,l);let g=a?.mode;return{mode:g===void 0?void 0:Bm(g,`${l} has member 'mode' that`)}}p(Mm,"convertReaderOptions");function Bm(a,l){if(a=`${a}`,a!=="byob")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}p(Bm,"convertReadableStreamReaderMode");function jm(a,l){var g;de(a,l);let E=(g=a?.min)!==null&&g!==void 0?g:1;return{min:P(E,`${l} has member 'min' that`)}}p(jm,"convertByobReadOptions");function hd(a){return new ln(a)}p(hd,"AcquireReadableStreamBYOBReader");function pd(a,l){a._reader._readIntoRequests.push(l)}p(pd,"ReadableStreamAddReadIntoRequest");function Um(a,l,g){let E=a._reader._readIntoRequests.shift();g?E._closeSteps(l):E._chunkSteps(l)}p(Um,"ReadableStreamFulfillReadIntoRequest");function gd(a){return a._reader._readIntoRequests.length}p(gd,"ReadableStreamGetNumReadIntoRequests");function ga(a){let l=a._reader;return!(l===void 0||!dn(l))}p(ga,"ReadableStreamHasBYOBReader");let Lm=class{constructor(l){if(v(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),Br(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!cn(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");se(this,l),this._readIntoRequests=new W}get closed(){return dn(this)?this._closedPromise:m(js("closed"))}cancel(l=void 0){return dn(this)?this._ownerReadableStream===void 0?m(Re("cancel")):ke(this,l):m(js("cancel"))}read(l,g={}){if(!dn(this))return m(js("read"));if(!ArrayBuffer.isView(l))return m(new TypeError("view must be an array buffer view"));if(l.byteLength===0)return m(new TypeError("view must have non-zero byteLength"));if(l.buffer.byteLength===0)return m(new TypeError("view's buffer must have non-zero byteLength"));if(an(l.buffer))return m(new TypeError("view's buffer has been detached"));let E;try{E=jm(g,"options")}catch(ce){return m(ce)}let F=E.min;if(F===0)return m(new TypeError("options.min must be greater than 0"));if(Am(l)){if(F>l.byteLength)return m(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(F>l.length)return m(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return m(Re("read from"));let q,H,Z=d((ce,ge)=>{q=ce,H=ge});return md(this,l,F,{_chunkSteps:p(ce=>q({value:ce,done:!1}),"_chunkSteps"),_closeSteps:p(ce=>q({value:ce,done:!0}),"_closeSteps"),_errorSteps:p(ce=>H(ce),"_errorSteps")}),Z}releaseLock(){if(!dn(this))throw js("releaseLock");this._ownerReadableStream!==void 0&&qm(this)}};p(Lm,"ReadableStreamBYOBReader");let ln=Lm;Object.defineProperties(ln.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ln.prototype.cancel,"cancel"),i(ln.prototype.read,"read"),i(ln.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ln.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function dn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")?!1:a instanceof ln}p(dn,"IsReadableStreamBYOBReader");function md(a,l,g,E){let F=a._ownerReadableStream;F._disturbed=!0,F._state==="errored"?E._errorSteps(F._storedError):xm(F._readableStreamController,l,g,E)}p(md,"ReadableStreamBYOBReaderRead");function qm(a){be(a);let l=new TypeError("Reader was released");yd(a,l)}p(qm,"ReadableStreamBYOBReaderRelease");function yd(a,l){let g=a._readIntoRequests;a._readIntoRequests=new W,g.forEach(E=>{E._errorSteps(l)})}p(yd,"ReadableStreamBYOBReaderErrorReadIntoRequests");function js(a){return new TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}p(js,"byobReaderBrandCheckException");function Ro(a,l){let{highWaterMark:g}=a;if(g===void 0)return l;if(_m(g)||g<0)throw new RangeError("Invalid highWaterMark");return g}p(Ro,"ExtractHighWaterMark");function Us(a){let{size:l}=a;return l||(()=>1)}p(Us,"ExtractSizeAlgorithm");function Ls(a,l){de(a,l);let g=a?.highWaterMark,E=a?.size;return{highWaterMark:g===void 0?void 0:x(g),size:E===void 0?void 0:$m(E,`${l} has member 'size' that`)}}p(Ls,"convertQueuingStrategy");function $m(a,l){return ne(a,l),g=>x(a(g))}p($m,"convertQueuingStrategySize");function zm(a,l){de(a,l);let g=a?.abort,E=a?.close,F=a?.start,q=a?.type,H=a?.write;return{abort:g===void 0?void 0:Hm(g,a,`${l} has member 'abort' that`),close:E===void 0?void 0:Wm(E,a,`${l} has member 'close' that`),start:F===void 0?void 0:Gm(F,a,`${l} has member 'start' that`),write:H===void 0?void 0:Jm(H,a,`${l} has member 'write' that`),type:q}}p(zm,"convertUnderlyingSink");function Hm(a,l,g){return ne(a,g),E=>O(a,l,[E])}p(Hm,"convertUnderlyingSinkAbortCallback");function Wm(a,l,g){return ne(a,g),()=>O(a,l,[])}p(Wm,"convertUnderlyingSinkCloseCallback");function Gm(a,l,g){return ne(a,g),E=>T(a,l,[E])}p(Gm,"convertUnderlyingSinkStartCallback");function Jm(a,l,g){return ne(a,g),(E,F)=>O(a,l,[E,F])}p(Jm,"convertUnderlyingSinkWriteCallback");function _d(a,l){if(!Ln(a))throw new TypeError(`${l} is not a WritableStream.`)}p(_d,"assertWritableStream");function Vm(a){if(typeof a!="object"||a===null)return!1;try{return typeof a.aborted=="boolean"}catch{return!1}}p(Vm,"isAbortSignal");let PA=typeof AbortController=="function";function Km(){if(PA)return new AbortController}p(Km,"createAbortController");let Ym=class{constructor(l={},g={}){l===void 0?l=null:A(l,"First parameter");let E=Ls(g,"Second parameter"),F=zm(l,"First parameter");if(Cd(this),F.type!==void 0)throw new RangeError("Invalid type is specified");let q=Us(E),H=Ro(E,1);hy(this,F,H,q)}get locked(){if(!Ln(this))throw Ws("locked");return qn(this)}abort(l=void 0){return Ln(this)?qn(this)?m(new TypeError("Cannot abort a stream that already has a writer")):qs(this,l):m(Ws("abort"))}close(){return Ln(this)?qn(this)?m(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?m(new TypeError("Cannot close an already-closing stream")):wd(this):m(Ws("close"))}getWriter(){if(!Ln(this))throw Ws("getWriter");return bd(this)}};p(Ym,"WritableStream");let fn=Ym;Object.defineProperties(fn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(fn.prototype.abort,"abort"),i(fn.prototype.close,"close"),i(fn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function bd(a){return new Ir(a)}p(bd,"AcquireWritableStreamDefaultWriter");function Xm(a,l,g,E,F=1,q=()=>1){let H=Object.create(fn.prototype);Cd(H);let Z=Object.create(Do.prototype);return Td(H,Z,a,l,g,E,F,q),H}p(Xm,"CreateWritableStream");function Cd(a){a._state="writable",a._storedError=void 0,a._writer=void 0,a._writableStreamController=void 0,a._writeRequests=new W,a._inFlightWriteRequest=void 0,a._closeRequest=void 0,a._inFlightCloseRequest=void 0,a._pendingAbortRequest=void 0,a._backpressure=!1}p(Cd,"InitializeWritableStream");function Ln(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")?!1:a instanceof fn}p(Ln,"IsWritableStream");function qn(a){return a._writer!==void 0}p(qn,"IsWritableStreamLocked");function qs(a,l){var g;if(a._state==="closed"||a._state==="errored")return h(void 0);a._writableStreamController._abortReason=l,(g=a._writableStreamController._abortController)===null||g===void 0||g.abort(l);let E=a._state;if(E==="closed"||E==="errored")return h(void 0);if(a._pendingAbortRequest!==void 0)return a._pendingAbortRequest._promise;let F=!1;E==="erroring"&&(F=!0,l=void 0);let q=d((H,Z)=>{a._pendingAbortRequest={_promise:void 0,_resolve:H,_reject:Z,_reason:l,_wasAlreadyErroring:F}});return a._pendingAbortRequest._promise=q,F||ya(a,l),q}p(qs,"WritableStreamAbort");function wd(a){let l=a._state;if(l==="closed"||l==="errored")return m(new TypeError(`The stream (in ${l} state) is not in the writable state and cannot be closed`));let g=d((F,q)=>{let H={_resolve:F,_reject:q};a._closeRequest=H}),E=a._writer;return E!==void 0&&a._backpressure&&l==="writable"&&Aa(E),py(a._writableStreamController),g}p(wd,"WritableStreamClose");function Qm(a){return d((l,g)=>{let E={_resolve:l,_reject:g};a._writeRequests.push(E)})}p(Qm,"WritableStreamAddWriteRequest");function ma(a,l){if(a._state==="writable"){ya(a,l);return}_a(a)}p(ma,"WritableStreamDealWithRejection");function ya(a,l){let g=a._writableStreamController;a._state="erroring",a._storedError=l;let E=a._writer;E!==void 0&&Sd(E,l),!ny(a)&&g._started&&_a(a)}p(ya,"WritableStreamStartErroring");function _a(a){a._state="errored",a._writableStreamController[oe]();let l=a._storedError;if(a._writeRequests.forEach(F=>{F._reject(l)}),a._writeRequests=new W,a._pendingAbortRequest===void 0){$s(a);return}let g=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,g._wasAlreadyErroring){g._reject(l),$s(a);return}let E=a._writableStreamController[$](g._reason);b(E,()=>(g._resolve(),$s(a),null),F=>(g._reject(F),$s(a),null))}p(_a,"WritableStreamFinishErroring");function Zm(a){a._inFlightWriteRequest._resolve(void 0),a._inFlightWriteRequest=void 0}p(Zm,"WritableStreamFinishInFlightWrite");function ey(a,l){a._inFlightWriteRequest._reject(l),a._inFlightWriteRequest=void 0,ma(a,l)}p(ey,"WritableStreamFinishInFlightWriteWithError");function ty(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,a._state==="erroring"&&(a._storedError=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let l=a._writer;l!==void 0&&xd(l)}p(ty,"WritableStreamFinishInFlightClose");function ry(a,l){a._inFlightCloseRequest._reject(l),a._inFlightCloseRequest=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._reject(l),a._pendingAbortRequest=void 0),ma(a,l)}p(ry,"WritableStreamFinishInFlightCloseWithError");function Yt(a){return!(a._closeRequest===void 0&&a._inFlightCloseRequest===void 0)}p(Yt,"WritableStreamCloseQueuedOrInFlight");function ny(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}p(ny,"WritableStreamHasOperationMarkedInFlight");function oy(a){a._inFlightCloseRequest=a._closeRequest,a._closeRequest=void 0}p(oy,"WritableStreamMarkCloseRequestInFlight");function sy(a){a._inFlightWriteRequest=a._writeRequests.shift()}p(sy,"WritableStreamMarkFirstWriteRequestInFlight");function $s(a){a._closeRequest!==void 0&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let l=a._writer;l!==void 0&&Sa(l,a._storedError)}p($s,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function ba(a,l){let g=a._writer;g!==void 0&&l!==a._backpressure&&(l?wy(g):Aa(g)),a._backpressure=l}p(ba,"WritableStreamUpdateBackpressure");let iy=class{constructor(l){if(v(l,1,"WritableStreamDefaultWriter"),_d(l,"First parameter"),qn(l))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=l,l._writer=this;let g=l._state;if(g==="writable")!Yt(l)&&l._backpressure?Js(this):Od(this),Gs(this);else if(g==="erroring")Ea(this,l._storedError),Gs(this);else if(g==="closed")Od(this),by(this);else{let E=l._storedError;Ea(this,E),Dd(this,E)}}get closed(){return hn(this)?this._closedPromise:m(pn("closed"))}get desiredSize(){if(!hn(this))throw pn("desiredSize");if(this._ownerWritableStream===void 0)throw Oo("desiredSize");return ly(this)}get ready(){return hn(this)?this._readyPromise:m(pn("ready"))}abort(l=void 0){return hn(this)?this._ownerWritableStream===void 0?m(Oo("abort")):ay(this,l):m(pn("abort"))}close(){if(!hn(this))return m(pn("close"));let l=this._ownerWritableStream;return l===void 0?m(Oo("close")):Yt(l)?m(new TypeError("Cannot close an already-closing stream")):kd(this)}releaseLock(){if(!hn(this))throw pn("releaseLock");this._ownerWritableStream!==void 0&&Ed(this)}write(l=void 0){return hn(this)?this._ownerWritableStream===void 0?m(Oo("write to")):Ad(this,l):m(pn("write"))}};p(iy,"WritableStreamDefaultWriter");let Ir=iy;Object.defineProperties(Ir.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(Ir.prototype.abort,"abort"),i(Ir.prototype.close,"close"),i(Ir.prototype.releaseLock,"releaseLock"),i(Ir.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ir.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function hn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")?!1:a instanceof Ir}p(hn,"IsWritableStreamDefaultWriter");function ay(a,l){let g=a._ownerWritableStream;return qs(g,l)}p(ay,"WritableStreamDefaultWriterAbort");function kd(a){let l=a._ownerWritableStream;return wd(l)}p(kd,"WritableStreamDefaultWriterClose");function cy(a){let l=a._ownerWritableStream,g=l._state;return Yt(l)||g==="closed"?h(void 0):g==="errored"?m(l._storedError):kd(a)}p(cy,"WritableStreamDefaultWriterCloseWithErrorPropagation");function uy(a,l){a._closedPromiseState==="pending"?Sa(a,l):Cy(a,l)}p(uy,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function Sd(a,l){a._readyPromiseState==="pending"?Pd(a,l):ky(a,l)}p(Sd,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function ly(a){let l=a._ownerWritableStream,g=l._state;return g==="errored"||g==="erroring"?null:g==="closed"?0:vd(l._writableStreamController)}p(ly,"WritableStreamDefaultWriterGetDesiredSize");function Ed(a){let l=a._ownerWritableStream,g=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Sd(a,g),uy(a,g),l._writer=void 0,a._ownerWritableStream=void 0}p(Ed,"WritableStreamDefaultWriterRelease");function Ad(a,l){let g=a._ownerWritableStream,E=g._writableStreamController,F=gy(E,l);if(g!==a._ownerWritableStream)return m(Oo("write to"));let q=g._state;if(q==="errored")return m(g._storedError);if(Yt(g)||q==="closed")return m(new TypeError("The stream is closing or closed and cannot be written to"));if(q==="erroring")return m(g._storedError);let H=Qm(g);return my(E,l,F),H}p(Ad,"WritableStreamDefaultWriterWrite");let dy={},fy=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Ca(this))throw ka("abortReason");return this._abortReason}get signal(){if(!Ca(this))throw ka("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!Ca(this))throw ka("error");this._controlledWritableStream._state==="writable"&&Rd(this,l)}[$](l){let g=this._abortAlgorithm(l);return zs(this),g}[oe](){Pr(this)}};p(fy,"WritableStreamDefaultController");let Do=fy;Object.defineProperties(Do.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Do.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Ca(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")?!1:a instanceof Do}p(Ca,"IsWritableStreamDefaultController");function Td(a,l,g,E,F,q,H,Z){l._controlledWritableStream=a,a._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Pr(l),l._abortReason=void 0,l._abortController=Km(),l._started=!1,l._strategySizeAlgorithm=Z,l._strategyHWM=H,l._writeAlgorithm=E,l._closeAlgorithm=F,l._abortAlgorithm=q;let ce=wa(l);ba(a,ce);let ge=g(),Se=h(ge);b(Se,()=>(l._started=!0,Hs(l),null),Ee=>(l._started=!0,ma(a,Ee),null))}p(Td,"SetUpWritableStreamDefaultController");function hy(a,l,g,E){let F=Object.create(Do.prototype),q,H,Z,ce;l.start!==void 0?q=p(()=>l.start(F),"startAlgorithm"):q=p(()=>{},"startAlgorithm"),l.write!==void 0?H=p(ge=>l.write(ge,F),"writeAlgorithm"):H=p(()=>h(void 0),"writeAlgorithm"),l.close!==void 0?Z=p(()=>l.close(),"closeAlgorithm"):Z=p(()=>h(void 0),"closeAlgorithm"),l.abort!==void 0?ce=p(ge=>l.abort(ge),"abortAlgorithm"):ce=p(()=>h(void 0),"abortAlgorithm"),Td(a,F,q,H,Z,ce,g,E)}p(hy,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function zs(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}p(zs,"WritableStreamDefaultControllerClearAlgorithms");function py(a){ca(a,dy,0),Hs(a)}p(py,"WritableStreamDefaultControllerClose");function gy(a,l){try{return a._strategySizeAlgorithm(l)}catch(g){return xo(a,g),1}}p(gy,"WritableStreamDefaultControllerGetChunkSize");function vd(a){return a._strategyHWM-a._queueTotalSize}p(vd,"WritableStreamDefaultControllerGetDesiredSize");function my(a,l,g){try{ca(a,l,g)}catch(F){xo(a,F);return}let E=a._controlledWritableStream;if(!Yt(E)&&E._state==="writable"){let F=wa(a);ba(E,F)}Hs(a)}p(my,"WritableStreamDefaultControllerWrite");function Hs(a){let l=a._controlledWritableStream;if(!a._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){_a(l);return}if(a._queue.length===0)return;let g=Em(a);g===dy?yy(a):_y(a,g)}p(Hs,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function xo(a,l){a._controlledWritableStream._state==="writable"&&Rd(a,l)}p(xo,"WritableStreamDefaultControllerErrorIfNeeded");function yy(a){let l=a._controlledWritableStream;oy(l),aa(a);let g=a._closeAlgorithm();zs(a),b(g,()=>(ty(l),null),E=>(ry(l,E),null))}p(yy,"WritableStreamDefaultControllerProcessClose");function _y(a,l){let g=a._controlledWritableStream;sy(g);let E=a._writeAlgorithm(l);b(E,()=>{Zm(g);let F=g._state;if(aa(a),!Yt(g)&&F==="writable"){let q=wa(a);ba(g,q)}return Hs(a),null},F=>(g._state==="writable"&&zs(a),ey(g,F),null))}p(_y,"WritableStreamDefaultControllerProcessWrite");function wa(a){return vd(a)<=0}p(wa,"WritableStreamDefaultControllerGetBackpressure");function Rd(a,l){let g=a._controlledWritableStream;zs(a),ya(g,l)}p(Rd,"WritableStreamDefaultControllerError");function Ws(a){return new TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}p(Ws,"streamBrandCheckException$2");function ka(a){return new TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}p(ka,"defaultControllerBrandCheckException$2");function pn(a){return new TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}p(pn,"defaultWriterBrandCheckException");function Oo(a){return new TypeError("Cannot "+a+" a stream using a released writer")}p(Oo,"defaultWriterLockException");function Gs(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g,a._closedPromiseState="pending"})}p(Gs,"defaultWriterClosedPromiseInitialize");function Dd(a,l){Gs(a),Sa(a,l)}p(Dd,"defaultWriterClosedPromiseInitializeAsRejected");function by(a){Gs(a),xd(a)}p(by,"defaultWriterClosedPromiseInitializeAsResolved");function Sa(a,l){a._closedPromise_reject!==void 0&&(R(a._closedPromise),a._closedPromise_reject(l),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}p(Sa,"defaultWriterClosedPromiseReject");function Cy(a,l){Dd(a,l)}p(Cy,"defaultWriterClosedPromiseResetToRejected");function xd(a){a._closedPromise_resolve!==void 0&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}p(xd,"defaultWriterClosedPromiseResolve");function Js(a){a._readyPromise=d((l,g)=>{a._readyPromise_resolve=l,a._readyPromise_reject=g}),a._readyPromiseState="pending"}p(Js,"defaultWriterReadyPromiseInitialize");function Ea(a,l){Js(a),Pd(a,l)}p(Ea,"defaultWriterReadyPromiseInitializeAsRejected");function Od(a){Js(a),Aa(a)}p(Od,"defaultWriterReadyPromiseInitializeAsResolved");function Pd(a,l){a._readyPromise_reject!==void 0&&(R(a._readyPromise),a._readyPromise_reject(l),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}p(Pd,"defaultWriterReadyPromiseReject");function wy(a){Js(a)}p(wy,"defaultWriterReadyPromiseReset");function ky(a,l){Ea(a,l)}p(ky,"defaultWriterReadyPromiseResetToRejected");function Aa(a){a._readyPromise_resolve!==void 0&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}p(Aa,"defaultWriterReadyPromiseResolve");function Sy(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof Ff<"u")return Ff}p(Sy,"getGlobals");let FA=Sy();function Ey(a){if(!(typeof a=="function"||typeof a=="object")||a.name!=="DOMException")return!1;try{return new a,!0}catch{return!1}}p(Ey,"isDOMExceptionConstructor");function Ay(){let a=FA?.DOMException;return Ey(a)?a:void 0}p(Ay,"getFromGlobal");function Ty(){let a=p(function(l,g){this.message=l||"",this.name=g||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)},"DOMException");return i(a,"DOMException"),a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}p(Ty,"createPolyfill");let IA=Ay()||Ty();function Fd(a,l,g,E,F,q){let H=U(a),Z=bd(l);a._disturbed=!0;let ce=!1,ge=h(void 0);return d((Se,Ee)=>{let Ne;if(q!==void 0){if(Ne=p(()=>{let le=q.reason!==void 0?q.reason:new IA("Aborted","AbortError"),De=[];E||De.push(()=>l._state==="writable"?qs(l,le):h(void 0)),F||De.push(()=>a._state==="readable"?Mt(a,le):h(void 0)),ft(()=>Promise.all(De.map(Pe=>Pe())),!0,le)},"abortAlgorithm"),q.aborted){Ne();return}q.addEventListener("abort",Ne)}function mt(){return d((le,De)=>{function Pe(ht){ht?le():S(jr(),Pe,De)}p(Pe,"next"),Pe(!1)})}p(mt,"pipeLoop");function jr(){return ce?h(!0):S(Z._readyPromise,()=>d((le,De)=>{pe(H,{_chunkSteps:p(Pe=>{ge=S(Ad(Z,Pe),void 0,n),le(!1)},"_chunkSteps"),_closeSteps:p(()=>le(!0),"_closeSteps"),_errorSteps:De})}))}if(p(jr,"pipeStep"),Bt(a,H._closedPromise,le=>(E?yt(!0,le):ft(()=>qs(l,le),!0,le),null)),Bt(l,Z._closedPromise,le=>(F?yt(!0,le):ft(()=>Mt(a,le),!0,le),null)),Ze(a,H._closedPromise,()=>(g?yt():ft(()=>cy(Z)),null)),Yt(l)||l._state==="closed"){let le=new TypeError("the destination writable stream closed before all data could be piped to it");F?yt(!0,le):ft(()=>Mt(a,le),!0,le)}R(mt());function Xt(){let le=ge;return S(ge,()=>le!==ge?Xt():void 0)}p(Xt,"waitForWritesToFinish");function Bt(le,De,Pe){le._state==="errored"?Pe(le._storedError):C(De,Pe)}p(Bt,"isOrBecomesErrored");function Ze(le,De,Pe){le._state==="closed"?Pe():y(De,Pe)}p(Ze,"isOrBecomesClosed");function ft(le,De,Pe){if(ce)return;ce=!0,l._state==="writable"&&!Yt(l)?y(Xt(),ht):ht();function ht(){return b(le(),()=>Ur(De,Pe),_n=>Ur(!0,_n)),null}p(ht,"doTheRest")}p(ft,"shutdownWithAction");function yt(le,De){ce||(ce=!0,l._state==="writable"&&!Yt(l)?y(Xt(),()=>Ur(le,De)):Ur(le,De))}p(yt,"shutdown");function Ur(le,De){return Ed(Z),be(H),q!==void 0&&q.removeEventListener("abort",Ne),le?Ee(De):Se(void 0),null}p(Ur,"finalize")})}p(Fd,"ReadableStreamPipeTo");let vy=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vs(this))throw Ys("desiredSize");return Ta(this)}close(){if(!Vs(this))throw Ys("close");if(!zn(this))throw new TypeError("The stream is not in a state that permits close");gn(this)}enqueue(l=void 0){if(!Vs(this))throw Ys("enqueue");if(!zn(this))throw new TypeError("The stream is not in a state that permits enqueue");return $n(this,l)}error(l=void 0){if(!Vs(this))throw Ys("error");Nt(this,l)}[K](l){Pr(this);let g=this._cancelAlgorithm(l);return Ks(this),g}[re](l){let g=this._controlledReadableStream;if(this._queue.length>0){let E=aa(this);this._closeRequested&&this._queue.length===0?(Ks(this),Io(g)):Po(this),l._chunkSteps(E)}else B(g,l),Po(this)}[Q](){}};p(vy,"ReadableStreamDefaultController");let Nr=vy;Object.defineProperties(Nr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Nr.prototype.close,"close"),i(Nr.prototype.enqueue,"enqueue"),i(Nr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Vs(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")?!1:a instanceof Nr}p(Vs,"IsReadableStreamDefaultController");function Po(a){if(!Id(a))return;if(a._pulling){a._pullAgain=!0;return}a._pulling=!0;let l=a._pullAlgorithm();b(l,()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,Po(a)),null),g=>(Nt(a,g),null))}p(Po,"ReadableStreamDefaultControllerCallPullIfNeeded");function Id(a){let l=a._controlledReadableStream;return!zn(a)||!a._started?!1:!!(Br(l)&&ee(l)>0||Ta(a)>0)}p(Id,"ReadableStreamDefaultControllerShouldCallPull");function Ks(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}p(Ks,"ReadableStreamDefaultControllerClearAlgorithms");function gn(a){if(!zn(a))return;let l=a._controlledReadableStream;a._closeRequested=!0,a._queue.length===0&&(Ks(a),Io(l))}p(gn,"ReadableStreamDefaultControllerClose");function $n(a,l){if(!zn(a))return;let g=a._controlledReadableStream;if(Br(g)&&ee(g)>0)G(g,l,!1);else{let E;try{E=a._strategySizeAlgorithm(l)}catch(F){throw Nt(a,F),F}try{ca(a,l,E)}catch(F){throw Nt(a,F),F}}Po(a)}p($n,"ReadableStreamDefaultControllerEnqueue");function Nt(a,l){let g=a._controlledReadableStream;g._state==="readable"&&(Pr(a),Ks(a),jd(g,l))}p(Nt,"ReadableStreamDefaultControllerError");function Ta(a){let l=a._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}p(Ta,"ReadableStreamDefaultControllerGetDesiredSize");function Ry(a){return!Id(a)}p(Ry,"ReadableStreamDefaultControllerHasBackpressure");function zn(a){let l=a._controlledReadableStream._state;return!a._closeRequested&&l==="readable"}p(zn,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function Nd(a,l,g,E,F,q,H){l._controlledReadableStream=a,l._queue=void 0,l._queueTotalSize=void 0,Pr(l),l._started=!1,l._closeRequested=!1,l._pullAgain=!1,l._pulling=!1,l._strategySizeAlgorithm=H,l._strategyHWM=q,l._pullAlgorithm=E,l._cancelAlgorithm=F,a._readableStreamController=l;let Z=g();b(h(Z),()=>(l._started=!0,Po(l),null),ce=>(Nt(l,ce),null))}p(Nd,"SetUpReadableStreamDefaultController");function Dy(a,l,g,E){let F=Object.create(Nr.prototype),q,H,Z;l.start!==void 0?q=p(()=>l.start(F),"startAlgorithm"):q=p(()=>{},"startAlgorithm"),l.pull!==void 0?H=p(()=>l.pull(F),"pullAlgorithm"):H=p(()=>h(void 0),"pullAlgorithm"),l.cancel!==void 0?Z=p(ce=>l.cancel(ce),"cancelAlgorithm"):Z=p(()=>h(void 0),"cancelAlgorithm"),Nd(a,F,q,H,Z,g,E)}p(Dy,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function Ys(a){return new TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}p(Ys,"defaultControllerBrandCheckException$1");function xy(a,l){return cn(a._readableStreamController)?Py(a):Oy(a)}p(xy,"ReadableStreamTee");function Oy(a,l){let g=U(a),E=!1,F=!1,q=!1,H=!1,Z,ce,ge,Se,Ee,Ne=d(Ze=>{Ee=Ze});function mt(){return E?(F=!0,h(void 0)):(E=!0,pe(g,{_chunkSteps:p(Ze=>{k(()=>{F=!1;let ft=Ze,yt=Ze;q||$n(ge._readableStreamController,ft),H||$n(Se._readableStreamController,yt),E=!1,F&&mt()})},"_chunkSteps"),_closeSteps:p(()=>{E=!1,q||gn(ge._readableStreamController),H||gn(Se._readableStreamController),(!q||!H)&&Ee(void 0)},"_closeSteps"),_errorSteps:p(()=>{E=!1},"_errorSteps")}),h(void 0))}p(mt,"pullAlgorithm");function jr(Ze){if(q=!0,Z=Ze,H){let ft=Ao([Z,ce]),yt=Mt(a,ft);Ee(yt)}return Ne}p(jr,"cancel1Algorithm");function Xt(Ze){if(H=!0,ce=Ze,q){let ft=Ao([Z,ce]),yt=Mt(a,ft);Ee(yt)}return Ne}p(Xt,"cancel2Algorithm");function Bt(){}return p(Bt,"startAlgorithm"),ge=Fo(Bt,mt,jr),Se=Fo(Bt,mt,Xt),C(g._closedPromise,Ze=>(Nt(ge._readableStreamController,Ze),Nt(Se._readableStreamController,Ze),(!q||!H)&&Ee(void 0),null)),[ge,Se]}p(Oy,"ReadableStreamDefaultTee");function Py(a){let l=U(a),g=!1,E=!1,F=!1,q=!1,H=!1,Z,ce,ge,Se,Ee,Ne=d(le=>{Ee=le});function mt(le){C(le._closedPromise,De=>(le!==l||(Et(ge._readableStreamController,De),Et(Se._readableStreamController,De),(!q||!H)&&Ee(void 0)),null))}p(mt,"forwardReaderError");function jr(){dn(l)&&(be(l),l=U(a),mt(l)),pe(l,{_chunkSteps:p(le=>{k(()=>{E=!1,F=!1;let De=le,Pe=le;if(!q&&!H)try{Pe=ed(le)}catch(ht){Et(ge._readableStreamController,ht),Et(Se._readableStreamController,ht),Ee(Mt(a,ht));return}q||Ns(ge._readableStreamController,De),H||Ns(Se._readableStreamController,Pe),g=!1,E?Bt():F&&Ze()})},"_chunkSteps"),_closeSteps:p(()=>{g=!1,q||To(ge._readableStreamController),H||To(Se._readableStreamController),ge._readableStreamController._pendingPullIntos.length>0&&Ms(ge._readableStreamController,0),Se._readableStreamController._pendingPullIntos.length>0&&Ms(Se._readableStreamController,0),(!q||!H)&&Ee(void 0)},"_closeSteps"),_errorSteps:p(()=>{g=!1},"_errorSteps")})}p(jr,"pullWithDefaultReader");function Xt(le,De){he(l)&&(be(l),l=hd(a),mt(l));let Pe=De?Se:ge,ht=De?ge:Se;md(l,le,1,{_chunkSteps:p(_n=>{k(()=>{E=!1,F=!1;let No=De?H:q;if(De?q:H)No||Bs(Pe._readableStreamController,_n);else{let Mo;try{Mo=ed(_n)}catch(Kd){Et(Pe._readableStreamController,Kd),Et(ht._readableStreamController,Kd),Ee(Mt(a,Kd));return}No||Bs(Pe._readableStreamController,_n),Ns(ht._readableStreamController,Mo)}g=!1,E?Bt():F&&Ze()})},"_chunkSteps"),_closeSteps:p(_n=>{g=!1;let No=De?H:q,Mo=De?q:H;No||To(Pe._readableStreamController),Mo||To(ht._readableStreamController),_n!==void 0&&(No||Bs(Pe._readableStreamController,_n),!Mo&&ht._readableStreamController._pendingPullIntos.length>0&&Ms(ht._readableStreamController,0)),(!No||!Mo)&&Ee(void 0)},"_closeSteps"),_errorSteps:p(()=>{g=!1},"_errorSteps")})}p(Xt,"pullWithBYOBReader");function Bt(){if(g)return E=!0,h(void 0);g=!0;let le=ha(ge._readableStreamController);return le===null?jr():Xt(le._view,!1),h(void 0)}p(Bt,"pull1Algorithm");function Ze(){if(g)return F=!0,h(void 0);g=!0;let le=ha(Se._readableStreamController);return le===null?jr():Xt(le._view,!0),h(void 0)}p(Ze,"pull2Algorithm");function ft(le){if(q=!0,Z=le,H){let De=Ao([Z,ce]),Pe=Mt(a,De);Ee(Pe)}return Ne}p(ft,"cancel1Algorithm");function yt(le){if(H=!0,ce=le,q){let De=Ao([Z,ce]),Pe=Mt(a,De);Ee(Pe)}return Ne}p(yt,"cancel2Algorithm");function Ur(){}return p(Ur,"startAlgorithm"),ge=Bd(Ur,Bt,ft),Se=Bd(Ur,Ze,yt),mt(l),[ge,Se]}p(Py,"ReadableByteStreamTee");function Fy(a){return o(a)&&typeof a.getReader<"u"}p(Fy,"isReadableStreamLike");function Iy(a){return Fy(a)?My(a.getReader()):Ny(a)}p(Iy,"ReadableStreamFrom");function Ny(a){let l,g=Zl(a,"async"),E=n;function F(){let H;try{H=Cm(g)}catch(ce){return m(ce)}let Z=h(H);return _(Z,ce=>{if(!o(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(wm(ce))gn(l._readableStreamController);else{let ge=km(ce);$n(l._readableStreamController,ge)}})}p(F,"pullAlgorithm");function q(H){let Z=g.iterator,ce;try{ce=Ps(Z,"return")}catch(Ee){return m(Ee)}if(ce===void 0)return h(void 0);let ge;try{ge=T(ce,Z,[H])}catch(Ee){return m(Ee)}let Se=h(ge);return _(Se,Ee=>{if(!o(Ee))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return p(q,"cancelAlgorithm"),l=Fo(E,F,q,0),l}p(Ny,"ReadableStreamFromIterable");function My(a){let l,g=n;function E(){let q;try{q=a.read()}catch(H){return m(H)}return _(q,H=>{if(!o(H))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(H.done)gn(l._readableStreamController);else{let Z=H.value;$n(l._readableStreamController,Z)}})}p(E,"pullAlgorithm");function F(q){try{return h(a.cancel(q))}catch(H){return m(H)}}return p(F,"cancelAlgorithm"),l=Fo(g,E,F,0),l}p(My,"ReadableStreamFromDefaultReader");function By(a,l){de(a,l);let g=a,E=g?.autoAllocateChunkSize,F=g?.cancel,q=g?.pull,H=g?.start,Z=g?.type;return{autoAllocateChunkSize:E===void 0?void 0:P(E,`${l} has member 'autoAllocateChunkSize' that`),cancel:F===void 0?void 0:jy(F,g,`${l} has member 'cancel' that`),pull:q===void 0?void 0:Uy(q,g,`${l} has member 'pull' that`),start:H===void 0?void 0:Ly(H,g,`${l} has member 'start' that`),type:Z===void 0?void 0:qy(Z,`${l} has member 'type' that`)}}p(By,"convertUnderlyingDefaultOrByteSource");function jy(a,l,g){return ne(a,g),E=>O(a,l,[E])}p(jy,"convertUnderlyingSourceCancelCallback");function Uy(a,l,g){return ne(a,g),E=>O(a,l,[E])}p(Uy,"convertUnderlyingSourcePullCallback");function Ly(a,l,g){return ne(a,g),E=>T(a,l,[E])}p(Ly,"convertUnderlyingSourceStartCallback");function qy(a,l){if(a=`${a}`,a!=="bytes")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}p(qy,"convertReadableStreamType");function $y(a,l){return de(a,l),{preventCancel:!!a?.preventCancel}}p($y,"convertIteratorOptions");function Md(a,l){de(a,l);let g=a?.preventAbort,E=a?.preventCancel,F=a?.preventClose,q=a?.signal;return q!==void 0&&zy(q,`${l} has member 'signal' that`),{preventAbort:!!g,preventCancel:!!E,preventClose:!!F,signal:q}}p(Md,"convertPipeOptions");function zy(a,l){if(!Vm(a))throw new TypeError(`${l} is not an AbortSignal.`)}p(zy,"assertAbortSignal");function Hy(a,l){de(a,l);let g=a?.readable;j(g,"readable","ReadableWritablePair"),N(g,`${l} has member 'readable' that`);let E=a?.writable;return j(E,"writable","ReadableWritablePair"),_d(E,`${l} has member 'writable' that`),{readable:g,writable:E}}p(Hy,"convertReadableWritablePair");let Wy=class{constructor(l={},g={}){l===void 0?l=null:A(l,"First parameter");let E=Ls(g,"Second parameter"),F=By(l,"First parameter");if(va(this),F.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let q=Ro(E,0);Im(this,F,q)}else{let q=Us(E),H=Ro(E,1);Dy(this,F,H,q)}}get locked(){if(!Mr(this))throw mn("locked");return Br(this)}cancel(l=void 0){return Mr(this)?Br(this)?m(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,l):m(mn("cancel"))}getReader(l=void 0){if(!Mr(this))throw mn("getReader");return Mm(l,"First parameter").mode===void 0?U(this):hd(this)}pipeThrough(l,g={}){if(!Mr(this))throw mn("pipeThrough");v(l,1,"pipeThrough");let E=Hy(l,"First parameter"),F=Md(g,"Second parameter");if(Br(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(qn(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let q=Fd(this,E.writable,F.preventClose,F.preventAbort,F.preventCancel,F.signal);return R(q),E.readable}pipeTo(l,g={}){if(!Mr(this))return m(mn("pipeTo"));if(l===void 0)return m("Parameter 1 is required in 'pipeTo'.");if(!Ln(l))return m(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=Md(g,"Second parameter")}catch(F){return m(F)}return Br(this)?m(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):qn(l)?m(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Fd(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Mr(this))throw mn("tee");let l=xy(this);return Ao(l)}values(l=void 0){if(!Mr(this))throw mn("values");let g=$y(l,"First parameter");return dt(this,g.preventCancel)}[Ql](l){return this.values(l)}static from(l){return Iy(l)}};p(Wy,"ReadableStream");let ut=Wy;Object.defineProperties(ut,{from:{enumerable:!0}}),Object.defineProperties(ut.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(ut.from,"from"),i(ut.prototype.cancel,"cancel"),i(ut.prototype.getReader,"getReader"),i(ut.prototype.pipeThrough,"pipeThrough"),i(ut.prototype.pipeTo,"pipeTo"),i(ut.prototype.tee,"tee"),i(ut.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ut.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ut.prototype,Ql,{value:ut.prototype.values,writable:!0,configurable:!0});function Fo(a,l,g,E=1,F=()=>1){let q=Object.create(ut.prototype);va(q);let H=Object.create(Nr.prototype);return Nd(q,H,a,l,g,E,F),q}p(Fo,"CreateReadableStream");function Bd(a,l,g){let E=Object.create(ut.prototype);va(E);let F=Object.create(Fr.prototype);return fd(E,F,a,l,g,0,void 0),E}p(Bd,"CreateReadableByteStream");function va(a){a._state="readable",a._reader=void 0,a._storedError=void 0,a._disturbed=!1}p(va,"InitializeReadableStream");function Mr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")?!1:a instanceof ut}p(Mr,"IsReadableStream");function Br(a){return a._reader!==void 0}p(Br,"IsReadableStreamLocked");function Mt(a,l){if(a._disturbed=!0,a._state==="closed")return h(void 0);if(a._state==="errored")return m(a._storedError);Io(a);let g=a._reader;if(g!==void 0&&dn(g)){let F=g._readIntoRequests;g._readIntoRequests=new W,F.forEach(q=>{q._closeSteps(void 0)})}let E=a._readableStreamController[K](l);return _(E,n)}p(Mt,"ReadableStreamCancel");function Io(a){a._state="closed";let l=a._reader;if(l!==void 0&&(z(l),he(l))){let g=l._readRequests;l._readRequests=new W,g.forEach(E=>{E._closeSteps()})}}p(Io,"ReadableStreamClose");function jd(a,l){a._state="errored",a._storedError=l;let g=a._reader;g!==void 0&&(Te(g,l),he(g)?Ke(g,l):yd(g,l))}p(jd,"ReadableStreamError");function mn(a){return new TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}p(mn,"streamBrandCheckException$1");function Ud(a,l){de(a,l);let g=a?.highWaterMark;return j(g,"highWaterMark","QueuingStrategyInit"),{highWaterMark:x(g)}}p(Ud,"convertQueuingStrategyInit");let Gy=p(a=>a.byteLength,"byteLengthSizeFunction");i(Gy,"size");let Jy=class{constructor(l){v(l,1,"ByteLengthQueuingStrategy"),l=Ud(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!qd(this))throw Ld("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!qd(this))throw Ld("size");return Gy}};p(Jy,"ByteLengthQueuingStrategy");let Ra=Jy;Object.defineProperties(Ra.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ra.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Ld(a){return new TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}p(Ld,"byteLengthBrandCheckException");function qd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")?!1:a instanceof Ra}p(qd,"IsByteLengthQueuingStrategy");let Vy=p(()=>1,"countSizeFunction");i(Vy,"size");let Ky=class{constructor(l){v(l,1,"CountQueuingStrategy"),l=Ud(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!zd(this))throw $d("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!zd(this))throw $d("size");return Vy}};p(Ky,"CountQueuingStrategy");let Da=Ky;Object.defineProperties(Da.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Da.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function $d(a){return new TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}p($d,"countBrandCheckException");function zd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")?!1:a instanceof Da}p(zd,"IsCountQueuingStrategy");function Yy(a,l){de(a,l);let g=a?.cancel,E=a?.flush,F=a?.readableType,q=a?.start,H=a?.transform,Z=a?.writableType;return{cancel:g===void 0?void 0:e_(g,a,`${l} has member 'cancel' that`),flush:E===void 0?void 0:Xy(E,a,`${l} has member 'flush' that`),readableType:F,start:q===void 0?void 0:Qy(q,a,`${l} has member 'start' that`),transform:H===void 0?void 0:Zy(H,a,`${l} has member 'transform' that`),writableType:Z}}p(Yy,"convertTransformer");function Xy(a,l,g){return ne(a,g),E=>O(a,l,[E])}p(Xy,"convertTransformerFlushCallback");function Qy(a,l,g){return ne(a,g),E=>T(a,l,[E])}p(Qy,"convertTransformerStartCallback");function Zy(a,l,g){return ne(a,g),(E,F)=>O(a,l,[E,F])}p(Zy,"convertTransformerTransformCallback");function e_(a,l,g){return ne(a,g),E=>O(a,l,[E])}p(e_,"convertTransformerCancelCallback");let t_=class{constructor(l={},g={},E={}){l===void 0&&(l=null);let F=Ls(g,"Second parameter"),q=Ls(E,"Third parameter"),H=Yy(l,"First parameter");if(H.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(H.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Z=Ro(q,0),ce=Us(q),ge=Ro(F,1),Se=Us(F),Ee,Ne=d(mt=>{Ee=mt});r_(this,Ne,ge,Se,Z,ce),s_(this,H),H.start!==void 0?Ee(H.start(this._transformStreamController)):Ee(void 0)}get readable(){if(!Hd(this))throw Vd("readable");return this._readable}get writable(){if(!Hd(this))throw Vd("writable");return this._writable}};p(t_,"TransformStream");let xa=t_;Object.defineProperties(xa.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xa.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function r_(a,l,g,E,F,q){function H(){return l}p(H,"startAlgorithm");function Z(Ne){return c_(a,Ne)}p(Z,"writeAlgorithm");function ce(Ne){return u_(a,Ne)}p(ce,"abortAlgorithm");function ge(){return l_(a)}p(ge,"closeAlgorithm"),a._writable=Xm(H,Z,ge,ce,g,E);function Se(){return d_(a)}p(Se,"pullAlgorithm");function Ee(Ne){return f_(a,Ne)}p(Ee,"cancelAlgorithm"),a._readable=Fo(H,Se,Ee,F,q),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,Xs(a,!0),a._transformStreamController=void 0}p(r_,"InitializeTransformStream");function Hd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")?!1:a instanceof xa}p(Hd,"IsTransformStream");function Wd(a,l){Nt(a._readable._readableStreamController,l),Oa(a,l)}p(Wd,"TransformStreamError");function Oa(a,l){Zs(a._transformStreamController),xo(a._writable._writableStreamController,l),Pa(a)}p(Oa,"TransformStreamErrorWritableAndUnblockWrite");function Pa(a){a._backpressure&&Xs(a,!1)}p(Pa,"TransformStreamUnblockWrite");function Xs(a,l){a._backpressureChangePromise!==void 0&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=d(g=>{a._backpressureChangePromise_resolve=g}),a._backpressure=l}p(Xs,"TransformStreamSetBackpressure");let n_=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Qs(this))throw ei("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return Ta(l)}enqueue(l=void 0){if(!Qs(this))throw ei("enqueue");Gd(this,l)}error(l=void 0){if(!Qs(this))throw ei("error");i_(this,l)}terminate(){if(!Qs(this))throw ei("terminate");a_(this)}};p(n_,"TransformStreamDefaultController");let yn=n_;Object.defineProperties(yn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(yn.prototype.enqueue,"enqueue"),i(yn.prototype.error,"error"),i(yn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Qs(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")?!1:a instanceof yn}p(Qs,"IsTransformStreamDefaultController");function o_(a,l,g,E,F){l._controlledTransformStream=a,a._transformStreamController=l,l._transformAlgorithm=g,l._flushAlgorithm=E,l._cancelAlgorithm=F,l._finishPromise=void 0,l._finishPromise_resolve=void 0,l._finishPromise_reject=void 0}p(o_,"SetUpTransformStreamDefaultController");function s_(a,l){let g=Object.create(yn.prototype),E,F,q;l.transform!==void 0?E=p(H=>l.transform(H,g),"transformAlgorithm"):E=p(H=>{try{return Gd(g,H),h(void 0)}catch(Z){return m(Z)}},"transformAlgorithm"),l.flush!==void 0?F=p(()=>l.flush(g),"flushAlgorithm"):F=p(()=>h(void 0),"flushAlgorithm"),l.cancel!==void 0?q=p(H=>l.cancel(H),"cancelAlgorithm"):q=p(()=>h(void 0),"cancelAlgorithm"),o_(a,g,E,F,q)}p(s_,"SetUpTransformStreamDefaultControllerFromTransformer");function Zs(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0,a._cancelAlgorithm=void 0}p(Zs,"TransformStreamDefaultControllerClearAlgorithms");function Gd(a,l){let g=a._controlledTransformStream,E=g._readable._readableStreamController;if(!zn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{$n(E,l)}catch(F){throw Oa(g,F),g._readable._storedError}Ry(E)!==g._backpressure&&Xs(g,!0)}p(Gd,"TransformStreamDefaultControllerEnqueue");function i_(a,l){Wd(a._controlledTransformStream,l)}p(i_,"TransformStreamDefaultControllerError");function Jd(a,l){let g=a._transformAlgorithm(l);return _(g,void 0,E=>{throw Wd(a._controlledTransformStream,E),E})}p(Jd,"TransformStreamDefaultControllerPerformTransform");function a_(a){let l=a._controlledTransformStream,g=l._readable._readableStreamController;gn(g);let E=new TypeError("TransformStream terminated");Oa(l,E)}p(a_,"TransformStreamDefaultControllerTerminate");function c_(a,l){let g=a._transformStreamController;if(a._backpressure){let E=a._backpressureChangePromise;return _(E,()=>{let F=a._writable;if(F._state==="erroring")throw F._storedError;return Jd(g,l)})}return Jd(g,l)}p(c_,"TransformStreamDefaultSinkWriteAlgorithm");function u_(a,l){let g=a._transformStreamController;if(g._finishPromise!==void 0)return g._finishPromise;let E=a._readable;g._finishPromise=d((q,H)=>{g._finishPromise_resolve=q,g._finishPromise_reject=H});let F=g._cancelAlgorithm(l);return Zs(g),b(F,()=>(E._state==="errored"?Hn(g,E._storedError):(Nt(E._readableStreamController,l),Fa(g)),null),q=>(Nt(E._readableStreamController,q),Hn(g,q),null)),g._finishPromise}p(u_,"TransformStreamDefaultSinkAbortAlgorithm");function l_(a){let l=a._transformStreamController;if(l._finishPromise!==void 0)return l._finishPromise;let g=a._readable;l._finishPromise=d((F,q)=>{l._finishPromise_resolve=F,l._finishPromise_reject=q});let E=l._flushAlgorithm();return Zs(l),b(E,()=>(g._state==="errored"?Hn(l,g._storedError):(gn(g._readableStreamController),Fa(l)),null),F=>(Nt(g._readableStreamController,F),Hn(l,F),null)),l._finishPromise}p(l_,"TransformStreamDefaultSinkCloseAlgorithm");function d_(a){return Xs(a,!1),a._backpressureChangePromise}p(d_,"TransformStreamDefaultSourcePullAlgorithm");function f_(a,l){let g=a._transformStreamController;if(g._finishPromise!==void 0)return g._finishPromise;let E=a._writable;g._finishPromise=d((q,H)=>{g._finishPromise_resolve=q,g._finishPromise_reject=H});let F=g._cancelAlgorithm(l);return Zs(g),b(F,()=>(E._state==="errored"?Hn(g,E._storedError):(xo(E._writableStreamController,l),Pa(a),Fa(g)),null),q=>(xo(E._writableStreamController,q),Pa(a),Hn(g,q),null)),g._finishPromise}p(f_,"TransformStreamDefaultSourceCancelAlgorithm");function ei(a){return new TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}p(ei,"defaultControllerBrandCheckException");function Fa(a){a._finishPromise_resolve!==void 0&&(a._finishPromise_resolve(),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}p(Fa,"defaultControllerFinishPromiseResolve");function Hn(a,l){a._finishPromise_reject!==void 0&&(R(a._finishPromise),a._finishPromise_reject(l),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}p(Hn,"defaultControllerFinishPromiseReject");function Vd(a){return new TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}p(Vd,"streamBrandCheckException"),r.ByteLengthQueuingStrategy=Ra,r.CountQueuingStrategy=Da,r.ReadableByteStreamController=Fr,r.ReadableStream=ut,r.ReadableStreamBYOBReader=ln,r.ReadableStreamBYOBRequest=jn,r.ReadableStreamDefaultController=Nr,r.ReadableStreamDefaultReader=ye,r.TransformStream=xa,r.TransformStreamDefaultController=yn,r.WritableStream=fn,r.WritableStreamDefaultController=Do,r.WritableStreamDefaultWriter=Ir})})(kc,kc.exports)),kc.exports}function yb(){if(mb)return pb;mb=1;let t=65536;if(!globalThis.ReadableStream)try{let e=require("node:process"),{emitWarning:r}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),e.emitWarning=r}catch(n){throw e.emitWarning=r,n}}catch{Object.assign(globalThis,Ob())}try{let{Blob:e}=require("buffer");e&&!e.prototype.stream&&(e.prototype.stream=p(function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let i=await o.slice(n,Math.min(o.size,n+t)).arrayBuffer();n+=i.byteLength,s.enqueue(new Uint8Array(i)),n===o.size&&s.close()}})},"name"))}catch{}return pb}async function*Sc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,_b),i=r.buffer.slice(n,n+s);n+=i.byteLength,yield new Uint8Array(i)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let s=await o.slice(n,Math.min(o.size,n+_b)).arrayBuffer();n+=s.byteLength,yield new Uint8Array(s)}}}function Fb(t,e=co){var r=`${bb()}${bb()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
|
|
28
|
+
Content-Disposition: form-data; name="`;return t.forEach((s,i)=>typeof s=="string"?n.push(o+Uf(i)+`"\r
|
|
28
29
|
\r
|
|
29
30
|
${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
30
31
|
`)}\r
|
|
31
|
-
`):n.push(o+
|
|
32
|
+
`):n.push(o+Uf(i)+`"; filename="${Uf(s.name,1)}"\r
|
|
32
33
|
Content-Type: ${s.type||"application/octet-stream"}\r
|
|
33
34
|
\r
|
|
34
35
|
`,s,`\r
|
|
35
|
-
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}
|
|
36
|
-
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),An=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Xr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[es](){return"FormData"}[Fk](){return this.entries()}static[Pk](e){return e&&typeof e=="object"&&e[es]==="FormData"&&!Ik.some(r=>typeof e[r]!="function")}append(...e){An("append",arguments,2),this.#e.push(am(...e))}delete(e){An("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){An("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return An("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return An("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){An("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){An("set",arguments,2);var r=[],n=!0;e=am(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var Ar,Ki=Le(()=>{Ar=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var it,ml=Le(()=>{Ki();it=class extends Ar{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Yi,yl,ts,cm,lm,fm,Xi=Le(()=>{Yi=Symbol.toStringTag,yl=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Yi]==="URLSearchParams",ts=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Yi]),cm=t=>typeof t=="object"&&(t[Yi]==="AbortSignal"||t[Yi]==="EventTarget"),lm=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},fm=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var hm=J((RF,dm)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}dm.exports=globalThis.DOMException});var Tn,pm,gm,_l,mm,ym,_m,bm,Cm,wm,Qi,bl=Le(()=>{Tn=require("node:fs"),pm=require("node:path"),gm=$e(hm(),1);pl();Zo();({stat:_l}=Tn.promises),mm=(t,e)=>Cm((0,Tn.statSync)(t),t,e),ym=(t,e)=>_l(t).then(r=>Cm(r,t,e)),_m=(t,e)=>_l(t).then(r=>wm(r,t,e)),bm=(t,e)=>wm((0,Tn.statSync)(t),t,e),Cm=(t,e,r="")=>new zt([new Qi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),wm=(t,e,r="")=>new Yr([new Qi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,pm.basename)(e),{type:r,lastModified:t.mtimeMs}),Qi=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await _l(this.#e);if(e>this.lastModified)throw new gm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,Tn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var km={};Ic(km,{toFormData:()=>qk});function Lk(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function qk(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Cl(r[1]||r[2]),o,s,a,u,c,f,d=[],p=new Xr,y=m=>{a+=b.decode(m,{stream:!0})},A=m=>{d.push(m)},g=()=>{let m=new Yr(d,f,{type:c});p.append(u,m)},_=()=>{p.append(u,a)},b=new TextDecoder("utf-8");b.decode(),n.onPartBegin=function(){n.onPartData=y,n.onPartEnd=_,o="",s="",a="",u="",c="",f=null,d.length=0},n.onHeaderField=function(m){o+=b.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=b.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=b.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(u=m[2]||m[3]||""),f=Lk(s),f&&(n.onPartData=A,n.onPartEnd=g)}else o==="content-type"&&(c=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var tr,Fe,Em,Qr,Zi,ea,Nk,rs,Bk,jk,Mk,Uk,Dn,Cl,Sm=Le(()=>{bl();Vi();tr=0,Fe={START_BOUNDARY:tr++,HEADER_FIELD_START:tr++,HEADER_FIELD:tr++,HEADER_VALUE_START:tr++,HEADER_VALUE:tr++,HEADER_VALUE_ALMOST_DONE:tr++,HEADERS_ALMOST_DONE:tr++,PART_DATA_START:tr++,PART_DATA:tr++,END:tr++},Em=1,Qr={PART_BOUNDARY:Em,LAST_BOUNDARY:Em*=2},Zi=10,ea=13,Nk=32,rs=45,Bk=58,jk=97,Mk=122,Uk=t=>t|32,Dn=()=>{},Cl=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Dn,this.onHeaderField=Dn,this.onHeadersEnd=Dn,this.onHeaderValue=Dn,this.onPartBegin=Dn,this.onPartData=Dn,this.onPartEnd=Dn,this.boundaryChars={},e=`\r
|
|
37
|
-
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:c,state:f,flags:d}=this,p=this.boundary.length,y=p-1,A=e.length,g,_,b=w=>{this[w+"Mark"]=r},m=w=>{delete this[w+"Mark"]},v=(w,T,O,N)=>{(T===void 0||T!==O)&&this[w](N&&N.subarray(T,O))},k=(w,T)=>{let O=w+"Mark";O in this&&(T?(v(w,this[O],r,e),delete this[O]):(v(w,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(g=e[r],f){case Fe.START_BOUNDARY:if(c===a.length-2){if(g===rs)d|=Qr.LAST_BOUNDARY;else if(g!==ea)return;c++;break}else if(c-1===a.length-2){if(d&Qr.LAST_BOUNDARY&&g===rs)f=Fe.END,d=0;else if(!(d&Qr.LAST_BOUNDARY)&&g===Zi)c=0,v("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}g!==a[c+2]&&(c=-2),g===a[c+2]&&c++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,b("onHeaderField"),c=0;case Fe.HEADER_FIELD:if(g===ea){m("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(c++,g===rs)break;if(g===Bk){if(c===1)return;k("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(_=Uk(g),_<jk||_>Mk)return;break;case Fe.HEADER_VALUE_START:if(g===Nk)break;b("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:g===ea&&(k("onHeaderValue",!0),v("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(g!==Zi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(g!==Zi)return;v("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,b("onPartData");case Fe.PART_DATA:if(o=c,c===0){for(r+=y;r<A&&!(e[r]in u);)r+=p;r-=y,g=e[r]}if(c<a.length)a[c]===g?(c===0&&k("onPartData",!0),c++):c=0;else if(c===a.length)c++,g===ea?d|=Qr.PART_BOUNDARY:g===rs?d|=Qr.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(d&Qr.PART_BOUNDARY){if(c=0,g===Zi){d&=~Qr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&Qr.LAST_BOUNDARY&&g===rs?(v("onPartEnd"),f=Fe.END,d=0):c=0;if(c>0)s[c-1]=g;else if(o>0){let w=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,w),o=0,b("onPartData"),r--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}k("onHeaderField"),k("onHeaderValue"),k("onPartData"),this.index=c,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function wl(t){if(t[dt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[dt].disturbed=!0,t[dt].error)throw t[dt].error;let{body:e}=t;if(e===null)return yt.Buffer.alloc(0);if(!(e instanceof Ft.default))return yt.Buffer.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new it(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Ar?o:new it(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?yt.Buffer.from(r.join("")):yt.Buffer.concat(r,n)}catch(o){throw new it(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new it(`Premature close of server response while trying to fetch ${t.url}`)}var Ft,Tr,yt,$k,dt,rr,io,zk,ta,Am,Tm,ra=Le(()=>{Ft=$e(require("node:stream"),1),Tr=require("node:util"),yt=require("node:buffer");Zo();Vi();ml();Ki();Xi();$k=(0,Tr.promisify)(Ft.default.pipeline),dt=Symbol("Body internals"),rr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:yl(e)?e=yt.Buffer.from(e.toString()):ts(e)||yt.Buffer.isBuffer(e)||(Tr.types.isAnyArrayBuffer(e)?e=yt.Buffer.from(e):ArrayBuffer.isView(e)?e=yt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Ft.default||(e instanceof Xr?(e=um(e),n=e.type.split("=")[1]):e=yt.Buffer.from(String(e))));let o=e;yt.Buffer.isBuffer(e)?o=Ft.default.Readable.from(e):ts(e)&&(o=Ft.default.Readable.from(e.stream())),this[dt]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Ft.default&&e.on("error",s=>{let a=s instanceof Ar?s:new it(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[dt].error=a})}get body(){return this[dt].stream}get bodyUsed(){return this[dt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await wl(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new Xr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(Sm(),km));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[dt].body&&this[dt].body.type||"",r=await this.arrayBuffer();return new zt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await wl(this);return new TextDecoder().decode(e)}buffer(){return wl(this)}};rr.prototype.buffer=(0,Tr.deprecate)(rr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(rr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Tr.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});io=(t,e)=>{let r,n,{body:o}=t[dt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Ft.default&&typeof o.getBoundary!="function"&&(r=new Ft.PassThrough({highWaterMark:e}),n=new Ft.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[dt].stream=r,o=n),o},zk=(0,Tr.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),ta=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":yl(t)?"application/x-www-form-urlencoded;charset=UTF-8":ts(t)?t.type||null:yt.Buffer.isBuffer(t)||Tr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Xr?`multipart/form-data; boundary=${e[dt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${zk(t)}`:t instanceof Ft.default?null:"text/plain;charset=UTF-8",Am=t=>{let{body:e}=t[dt];return e===null?0:ts(e)?e.size:yt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Tm=async(t,{body:e})=>{e===null?t.end():await $k(e,t)}});function Dm(t=[]){return new ht(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return na(e),kl(e,String(r)),!0}catch{return!1}}))}var El,ns,na,kl,ht,oa=Le(()=>{El=require("node:util"),ns=$e(require("node:http"),1),na=typeof ns.default.validateHeaderName=="function"?ns.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},kl=typeof ns.default.validateHeaderValue=="function"?ns.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},ht=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!El.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||El.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(na(n),kl(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,u)=>(na(a),kl(a,String(u)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(na(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(ht.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Hk,os,Sl=Le(()=>{Hk=new Set([301,302,303,307,308]),os=t=>Hk.has(t)});var Ht,_t,vm=Le(()=>{oa();ra();Sl();Ht=Symbol("Response internals"),_t=class t extends rr{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new ht(r.headers);if(e!==null&&!o.has("Content-Type")){let s=ta(e,this);s&&o.append("Content-Type",s)}this[Ht]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Ht].type}get url(){return this[Ht].url||""}get status(){return this[Ht].status}get ok(){return this[Ht].status>=200&&this[Ht].status<300}get redirected(){return this[Ht].counter>0}get statusText(){return this[Ht].statusText}get headers(){return this[Ht].headers}get highWaterMark(){return this[Ht].highWaterMark}clone(){return new t(io(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!os(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[Ht].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new ht(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(_t.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Rm,xm=Le(()=>{Rm=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function Om(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Nm(t){if(!Pm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Wk(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,Fm.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function ao(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Wk(t)}function Bm(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Om(o),a=Om(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let u=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return ao(s)&&!ao(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:ao(s)&&!ao(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return ao(s)&&!ao(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function jm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&Pm.has(n)&&(r=n);return r}var Fm,Pm,Im,Al=Le(()=>{Fm=require("node:net");Pm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Im="strict-origin-when-cross-origin"});var Mm,Um,Xe,ss,Gk,Zr,Lm,qm=Le(()=>{Mm=require("node:url"),Um=require("node:util");oa();ra();Xi();xm();Al();Xe=Symbol("Request internals"),ss=t=>typeof t=="object"&&typeof t[Xe]=="object",Gk=(0,Um.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Zr=class t extends rr{constructor(e,r={}){let n;if(ss(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!ss(r)&&"data"in r&&Gk(),(r.body!=null||ss(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:ss(e)&&e.body!==null?io(e):null;super(s,{size:r.size||e.size||0});let a=new ht(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=ta(s,this);f&&a.set("Content-Type",f)}let u=ss(e)?e.signal:null;if("signal"in r&&(u=r.signal),u!=null&&!cm(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?e.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let f=new URL(c);c=/^about:(\/\/)?client$/.test(f)?"client":f}else c=void 0;this[Xe]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:u,referrer:c},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Xe].method}get url(){return(0,Mm.format)(this[Xe].parsedURL)}get headers(){return this[Xe].headers}get redirect(){return this[Xe].redirect}get signal(){return this[Xe].signal}get referrer(){if(this[Xe].referrer==="no-referrer")return"";if(this[Xe].referrer==="client")return"about:client";if(this[Xe].referrer)return this[Xe].referrer.toString()}get referrerPolicy(){return this[Xe].referrerPolicy}set referrerPolicy(e){this[Xe].referrerPolicy=Nm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Zr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Lm=t=>{let{parsedURL:e}=t[Xe],r=new ht(t[Xe].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let u=Am(t);typeof u=="number"&&!Number.isNaN(u)&&(n=String(u))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=Im),t.referrer&&t.referrer!=="no-referrer"?t[Xe].referrer=Bm(t):t[Xe].referrer="no-referrer",t[Xe].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Rm(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var is,$m=Le(()=>{Ki();is=class extends Ar{constructor(e,r="aborted"){super(e,r)}}});var Wm={};Ic(Wm,{AbortError:()=>is,Blob:()=>zt,FetchError:()=>it,File:()=>Yr,FormData:()=>Xr,Headers:()=>ht,Request:()=>Zr,Response:()=>_t,blobFrom:()=>ym,blobFromSync:()=>mm,default:()=>Tl,fileFrom:()=>_m,fileFromSync:()=>bm,isRedirect:()=>os});async function Tl(t,e){return new Promise((r,n)=>{let o=new Zr(t,e),{parsedURL:s,options:a}=Lm(o);if(!Jk.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let g=Zg(o.url),_=new _t(g,{headers:{"Content-Type":g.typeFull}});r(_);return}let u=(s.protocol==="https:"?Hm.default:zm.default).request,{signal:c}=o,f=null,d=()=>{let g=new is("The operation was aborted.");n(g),o.body&&o.body instanceof bt.default.Readable&&o.body.destroy(g),!(!f||!f.body)&&f.body.emit("error",g)};if(c&&c.aborted){d();return}let p=()=>{d(),A()},y=u(s.toString(),a);c&&c.addEventListener("abort",p);let A=()=>{y.abort(),c&&c.removeEventListener("abort",p)};y.on("error",g=>{n(new it(`request to ${o.url} failed, reason: ${g.message}`,"system",g)),A()}),Vk(y,g=>{f&&f.body&&f.body.destroy(g)}),process.version<"v14"&&y.on("socket",g=>{let _;g.prependListener("end",()=>{_=g._eventsCount}),g.prependListener("close",b=>{if(f&&_<g._eventsCount&&!b){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",m)}})}),y.on("response",g=>{y.setTimeout(0);let _=Dm(g.rawHeaders);if(os(g.statusCode)){let w=_.get("Location"),T=null;try{T=w===null?null:new URL(w,o.url)}catch{if(o.redirect!=="manual"){n(new it(`uri requested responds with an invalid redirect URL: ${w}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new it(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){n(new it(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new ht(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:io(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!lm(o.url,T)||!fm(o.url,T))for(let G of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(G);if(g.statusCode!==303&&o.body&&e.body instanceof bt.default.Readable){n(new it("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(g.statusCode===303||(g.statusCode===301||g.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let N=jm(_);N&&(O.referrerPolicy=N),r(Tl(new Zr(T,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}c&&g.once("end",()=>{c.removeEventListener("abort",p)});let b=(0,bt.pipeline)(g,new bt.PassThrough,w=>{w&&n(w)});process.version<"v12.10"&&g.on("aborted",p);let m={url:o.url,status:g.statusCode,statusText:g.statusMessage,headers:_,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=_.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||g.statusCode===204||g.statusCode===304){f=new _t(b,m),r(f);return}let k={flush:vn.default.Z_SYNC_FLUSH,finishFlush:vn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){b=(0,bt.pipeline)(b,vn.default.createGunzip(k),w=>{w&&n(w)}),f=new _t(b,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let w=(0,bt.pipeline)(g,new bt.PassThrough,T=>{T&&n(T)});w.once("data",T=>{(T[0]&15)===8?b=(0,bt.pipeline)(b,vn.default.createInflate(),O=>{O&&n(O)}):b=(0,bt.pipeline)(b,vn.default.createInflateRaw(),O=>{O&&n(O)}),f=new _t(b,m),r(f)}),w.once("end",()=>{f||(f=new _t(b,m),r(f))});return}if(v==="br"){b=(0,bt.pipeline)(b,vn.default.createBrotliDecompress(),w=>{w&&n(w)}),f=new _t(b,m),r(f);return}f=new _t(b,m),r(f)}),Tm(y,o).catch(n)})}function Vk(t,e){let r=as.Buffer.from(`0\r
|
|
36
|
+
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}async function Ec(t){if(t[kt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[kt].disturbed=!0,t[kt].error)throw t[kt].error;let{body:e}=t;if(e===null)return at.Buffer.alloc(0);if(!(e instanceof Ge.default))return at.Buffer.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new qt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Pc?o:new qt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?at.Buffer.from(r.join("")):at.Buffer.concat(r,n)}catch(o){throw new qt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new qt(`Premature close of server response while trying to fetch ${t.url}`)}function qb(t=[]){return new Jr(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Ac(e),qf(e,String(r)),!0}catch{return!1}}))}function $f(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Hb(t){if(!zb.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Wb(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,Rb.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function io(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Wb(t)}function Gb(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=$f(o),i=$f(o,!0);s.toString().length>4096&&(s=i),e&&(s=e(s)),r&&(i=r(i));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return i;case"unsafe-url":return s;case"strict-origin":return io(s)&&!io(c)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:io(s)&&!io(c)?"no-referrer":i;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:i;case"no-referrer-when-downgrade":return io(s)&&!io(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function Jb(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&zb.has(n)&&(r=n);return r}function Xb(){if(wb)return Lf;if(wb=1,!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}return Lf=globalThis.DOMException,Lf}async function Qf(t,e){return new Promise((r,n)=>{let o=new yi(t,e),{parsedURL:s,options:i}=DR(o);if(!PR.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let b=xb(o.url),y=new yr(b,{headers:{"Content-Type":b.typeFull}});r(y);return}let c=(s.protocol==="https:"?Tb.default:Xo.default).request,{signal:u}=o,f=null,d=p(()=>{let b=new Yf("The operation was aborted.");n(b),o.body&&o.body instanceof Ge.default.Readable&&o.body.destroy(b),!(!f||!f.body)&&f.body.emit("error",b)},"abort");if(u&&u.aborted){d();return}let h=p(()=>{d(),S()},"abortAndFinalize"),m=c(s.toString(),i);u&&u.addEventListener("abort",h);let S=p(()=>{m.abort(),u&&u.removeEventListener("abort",h)},"finalize");m.on("error",b=>{n(new qt(`request to ${o.url} failed, reason: ${b.message}`,"system",b)),S()}),aC(m,b=>{f&&f.body&&f.body.destroy(b)}),process.version<"v14"&&m.on("socket",b=>{let y;b.prependListener("end",()=>{y=b._eventsCount}),b.prependListener("close",C=>{if(f&&y<b._eventsCount&&!C){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",_)}})}),m.on("response",b=>{m.setTimeout(0);let y=qb(b.rawHeaders);if(Fc(b.statusCode)){let T=y.get("Location"),O=null;try{O=T===null?null:new URL(T,o.url)}catch{if(o.redirect!=="manual"){n(new qt(`uri requested responds with an invalid redirect URL: ${T}`,"invalid-redirect")),S();return}}switch(o.redirect){case"error":n(new qt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),S();return;case"manual":break;case"follow":{if(O===null)break;if(o.counter>=o.follow){n(new qt(`maximum redirect reached at: ${o.url}`,"max-redirect")),S();return}let D={headers:new Jr(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Kf(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!bR(o.url,O)||!CR(o.url,O))for(let W of["authorization","www-authenticate","cookie","cookie2"])D.headers.delete(W);if(b.statusCode!==303&&o.body&&e.body instanceof Ge.default.Readable){n(new qt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),S();return}(b.statusCode===303||(b.statusCode===301||b.statusCode===302)&&o.method==="POST")&&(D.method="GET",D.body=void 0,D.headers.delete("content-length"));let M=Jb(y);M&&(D.referrerPolicy=M),r(Qf(new yi(O,D))),S();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}u&&b.once("end",()=>{u.removeEventListener("abort",h)});let C=(0,Ge.pipeline)(b,new Ge.PassThrough,T=>{T&&n(T)});process.version<"v12.10"&&b.on("aborted",h);let _={url:o.url,status:b.statusCode,statusText:b.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},R=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||R===null||b.statusCode===204||b.statusCode===304){f=new yr(C,_),r(f);return}let k={flush:so.default.Z_SYNC_FLUSH,finishFlush:so.default.Z_SYNC_FLUSH};if(R==="gzip"||R==="x-gzip"){C=(0,Ge.pipeline)(C,so.default.createGunzip(k),T=>{T&&n(T)}),f=new yr(C,_),r(f);return}if(R==="deflate"||R==="x-deflate"){let T=(0,Ge.pipeline)(b,new Ge.PassThrough,O=>{O&&n(O)});T.once("data",O=>{(O[0]&15)===8?C=(0,Ge.pipeline)(C,so.default.createInflate(),D=>{D&&n(D)}):C=(0,Ge.pipeline)(C,so.default.createInflateRaw(),D=>{D&&n(D)}),f=new yr(C,_),r(f)}),T.once("end",()=>{f||(f=new yr(C,_),r(f))});return}if(R==="br"){C=(0,Ge.pipeline)(C,so.default.createBrotliDecompress(),T=>{T&&n(T)}),f=new yr(C,_),r(f);return}f=new yr(C,_),r(f)}),ER(m,o).catch(n)})}function aC(t,e){let r=at.Buffer.from(`0\r
|
|
38
37
|
\r
|
|
39
|
-
`),n=!1,o=!1,s;t.on("response",
|
|
38
|
+
`),n=!1,o=!1,s;t.on("response",i=>{let{headers:c}=i;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",i=>{let c=p(()=>{if(n&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},"onSocketClose"),u=p(f=>{o=at.Buffer.compare(f.slice(-5),r)===0,!o&&s&&(o=at.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&at.Buffer.compare(f.slice(-2),r.slice(3))===0),s=f},"onData");i.prependListener("close",c),i.on("data",u),t.on("close",()=>{i.removeListener("close",c),i.removeListener("data",u)})})}function Ue(t){let e=cC.get(t);return console.assert(e!=null,"'this' is expected an Event object, but got",t),e}function Hf(t){if(t.passiveListener!=null){typeof console<"u"&&typeof console.error=="function"&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener);return}t.event.cancelable&&(t.canceled=!0,typeof t.event.preventDefault=="function"&&t.event.preventDefault())}function ao(t,e){cC.set(this,{eventTarget:t,event:e,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:e.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let r=Object.keys(e);for(let n=0;n<r.length;++n){let o=r[n];o in this||Object.defineProperty(this,o,Zf(o))}}function Zf(t){return{get(){return Ue(this).event[t]},set(e){Ue(this).event[t]=e},configurable:!0,enumerable:!0}}function uC(t){return{value(){let e=Ue(this).event;return e[t].apply(e,arguments)},configurable:!0,enumerable:!0}}function lC(t,e){let r=Object.keys(e);if(r.length===0)return t;function n(o,s){t.call(this,o,s)}p(n,"CustomEvent"),n.prototype=Object.create(t.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(let o=0;o<r.length;++o){let s=r[o];if(!(s in t.prototype)){let i=typeof Object.getOwnPropertyDescriptor(e,s).value=="function";Object.defineProperty(n.prototype,s,i?uC(s):Zf(s))}}return n}function eh(t){if(t==null||t===Object.prototype)return ao;let e=zf.get(t);return e==null&&(e=lC(eh(Object.getPrototypeOf(t)),t),zf.set(t,e)),e}function dC(t,e){let r=eh(Object.getPrototypeOf(e));return new r(t,e)}function fC(t){return Ue(t).immediateStopped}function hC(t,e){Ue(t).eventPhase=e}function pC(t,e){Ue(t).currentTarget=e}function Wf(t,e){Ue(t).passiveListener=e}function mi(t){return t!==null&&typeof t=="object"}function Yo(t){let e=gC.get(t);if(e==null)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return e}function mC(t){return{get(){let e=Yo(this).get(t);for(;e!=null;){if(e.listenerType===Tc)return e.listener;e=e.next}return null},set(e){typeof e!="function"&&!mi(e)&&(e=null);let r=Yo(this),n=null,o=r.get(t);for(;o!=null;)o.listenerType===Tc?n!==null?n.next=o.next:o.next!==null?r.set(t,o.next):r.delete(t):n=o,o=o.next;if(e!==null){let s={listener:e,listenerType:Tc,passive:!1,once:!1,next:null};n===null?r.set(t,s):n.next=s}},configurable:!0,enumerable:!0}}function th(t,e){Object.defineProperty(t,`on${e}`,mC(e))}function Gf(t){function e(){_r.call(this)}p(e,"CustomEventTarget"),e.prototype=Object.create(_r.prototype,{constructor:{value:e,configurable:!0,writable:!0}});for(let r=0;r<t.length;++r)th(e.prototype,t[r]);return e}function _r(){if(this instanceof _r){gC.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return Gf(arguments[0]);if(arguments.length>0){let t=new Array(arguments.length);for(let e=0;e<arguments.length;++e)t[e]=arguments[e];return Gf(t)}throw new TypeError("Cannot call a class as a function")}function _C(){let t=Object.create(Dc.prototype);return _r.call(t),xc.set(t,!1),t}function bC(t){xc.get(t)===!1&&(xc.set(t,!0),t.dispatchEvent({type:"abort"}))}function Jf(t){let e=CC.get(t);if(e==null)throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${t===null?"null":typeof t}`);return e}function Vf(){!globalThis.process?.versions?.node&&!globalThis.process?.env?.DISABLE_NODE_FETCH_NATIVE_WARN&&console.warn("[node-fetch-native] Node.js compatible build of `node-fetch-native` is being used in a non-Node.js environment. Please make sure you are using proper export conditions or report this issue to https://github.com/unjs/node-fetch-native. You can set `process.env.DISABLE_NODE_FETCH_NATIVE_WARN` to disable this warning.")}var Xo,Tb,so,Ge,at,$t,vb,Rb,uo,Db,fR,Eb,p,Ab,We,Gr,rr,An,bc,Jo,Nf,di,Cc,wc,Mf,er,Bf,Vo,Ko,jf,pb,kc,hR,gb,mb,_b,Pb,co,pR,Go,pi,gR,mR,bb,yR,Cb,Uf,oo,no,Ib,Pc,Nb,qt,vc,Mb,Rc,_R,bR,CR,wR,kt,Bb,gi,Kf,kR,jb,SR,ER,Ac,qf,Ub,Jr,AR,Fc,tr,$b,yr,TR,zb,vR,ot,fi,RR,Vb,yi,DR,Yb,Yf,Lf,wb,xR,OR,Xf,Qb,Zb,eC,tC,rC,nC,oC,iC,PR,cC,zf,gC,kb,Sb,Tc,yC,Dc,xc,Oc,CC,FR,IR,wC,_c=bn(()=>{Xo=st(require("node:http"),1),Tb=st(require("node:https"),1),so=st(require("node:zlib"),1),Ge=st(require("node:stream"),1),at=require("node:buffer"),$t=require("node:util");gc();vb=require("node:url"),Rb=require("node:net"),uo=require("node:fs"),Db=require("node:path"),fR=Object.defineProperty,Eb=t=>{throw TypeError(t)},p=(t,e)=>fR(t,"name",{value:e,configurable:!0}),Ab=(t,e,r)=>e.has(t)||Eb("Cannot "+r),We=(t,e,r)=>(Ab(t,e,"read from private field"),r?r.call(t):e.get(t)),Gr=(t,e,r)=>e.has(t)?Eb("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),rr=(t,e,r,n)=>(Ab(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);p(xb,"dataUriToBuffer");pb={},kc={exports:{}};hR=kc.exports;p(Ob,"requirePonyfill_es2018");p(yb,"requireStreams"),yb();_b=65536;p(Sc,"toIterator");Pb=(di=class{constructor(t=[],e={}){if(Gr(this,An,[]),Gr(this,bc,""),Gr(this,Jo,0),Gr(this,Nf,"transparent"),typeof t!="object"||t===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof t[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof e!="object"&&typeof e!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");e===null&&(e={});let r=new TextEncoder;for(let o of t){let s;ArrayBuffer.isView(o)?s=new Uint8Array(o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)):o instanceof ArrayBuffer?s=new Uint8Array(o.slice(0)):o instanceof di?s=o:s=r.encode(`${o}`),rr(this,Jo,We(this,Jo)+(ArrayBuffer.isView(s)?s.byteLength:s.size)),We(this,An).push(s)}rr(this,Nf,`${e.endings===void 0?"transparent":e.endings}`);let n=e.type===void 0?"":String(e.type);rr(this,bc,/^[\x20-\x7E]*$/.test(n)?n:"")}get size(){return We(this,Jo)}get type(){return We(this,bc)}async text(){let t=new TextDecoder,e="";for await(let r of Sc(We(this,An),!1))e+=t.decode(r,{stream:!0});return e+=t.decode(),e}async arrayBuffer(){let t=new Uint8Array(this.size),e=0;for await(let r of Sc(We(this,An),!1))t.set(r,e),e+=r.length;return t.buffer}stream(){let t=Sc(We(this,An),!0);return new globalThis.ReadableStream({type:"bytes",async pull(e){let r=await t.next();r.done?e.close():e.enqueue(r.value)},async cancel(){await t.return()}})}slice(t=0,e=this.size,r=""){let{size:n}=this,o=t<0?Math.max(n+t,0):Math.min(t,n),s=e<0?Math.max(n+e,0):Math.min(e,n),i=Math.max(s-o,0),c=We(this,An),u=[],f=0;for(let h of c){if(f>=i)break;let m=ArrayBuffer.isView(h)?h.byteLength:h.size;if(o&&m<=o)o-=m,s-=m;else{let S;ArrayBuffer.isView(h)?(S=h.subarray(o,Math.min(m,s)),f+=S.byteLength):(S=h.slice(o,Math.min(m,s)),f+=S.size),s-=m,u.push(S),o=0}}let d=new di([],{type:String(r).toLowerCase()});return rr(d,Jo,i),rr(d,An,u),d}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](t){return t&&typeof t=="object"&&typeof t.constructor=="function"&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&/^(Blob|File)$/.test(t[Symbol.toStringTag])}},An=new WeakMap,bc=new WeakMap,Jo=new WeakMap,Nf=new WeakMap,p(di,"Blob"),di);Object.defineProperties(Pb.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});co=Pb,pR=(Mf=class extends co{constructor(t,e,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(t,r),Gr(this,Cc,0),Gr(this,wc,""),r===null&&(r={});let n=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(n)||rr(this,Cc,n),rr(this,wc,String(e))}get name(){return We(this,wc)}get lastModified(){return We(this,Cc)}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](t){return!!t&&t instanceof co&&/^(File)$/.test(t[Symbol.toStringTag])}},Cc=new WeakMap,wc=new WeakMap,p(Mf,"File"),Mf),Go=pR;({toStringTag:pi,iterator:gR,hasInstance:mR}=Symbol),bb=Math.random,yR="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Cb=p((t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[pi])?[(r=r!==void 0?r+"":e[pi]=="File"?e.name:"blob",t),e.name!==r||e[pi]=="blob"?new Go([e],r,e):e]:[t,e+""]),"f"),Uf=p((t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
39
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"e$1"),oo=p((t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},"x"),no=(Bf=class{constructor(...t){if(Gr(this,er,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[pi](){return"FormData"}[gR](){return this.entries()}static[mR](t){return t&&typeof t=="object"&&t[pi]==="FormData"&&!yR.some(e=>typeof t[e]!="function")}append(...t){oo("append",arguments,2),We(this,er).push(Cb(...t))}delete(t){oo("delete",arguments,1),t+="",rr(this,er,We(this,er).filter(([e])=>e!==t))}get(t){oo("get",arguments,1),t+="";for(var e=We(this,er),r=e.length,n=0;n<r;n++)if(e[n][0]===t)return e[n][1];return null}getAll(t,e){return oo("getAll",arguments,1),e=[],t+="",We(this,er).forEach(r=>r[0]===t&&e.push(r[1])),e}has(t){return oo("has",arguments,1),t+="",We(this,er).some(e=>e[0]===t)}forEach(t,e){oo("forEach",arguments,1);for(var[r,n]of this)t.call(e,n,r,this)}set(...t){oo("set",arguments,2);var e=[],r=!0;t=Cb(...t),We(this,er).forEach(n=>{n[0]===t[0]?r&&(r=!e.push(t)):e.push(n)}),r&&e.push(t),rr(this,er,e)}*entries(){yield*We(this,er)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},er=new WeakMap,p(Bf,"FormData"),Bf);p(Fb,"formDataToBlob");Ib=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};p(Ib,"FetchBaseError");Pc=Ib,Nb=class extends Pc{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}};p(Nb,"FetchError");qt=Nb,vc=Symbol.toStringTag,Mb=p(t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[vc]==="URLSearchParams","isURLSearchParameters"),Rc=p(t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[vc]),"isBlob"),_R=p(t=>typeof t=="object"&&(t[vc]==="AbortSignal"||t[vc]==="EventTarget"),"isAbortSignal"),bR=p((t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},"isDomainOrSubdomain"),CR=p((t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n},"isSameProtocol"),wR=(0,$t.promisify)(Ge.default.pipeline),kt=Symbol("Body internals"),Bb=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Mb(e)?e=at.Buffer.from(e.toString()):Rc(e)||at.Buffer.isBuffer(e)||($t.types.isAnyArrayBuffer(e)?e=at.Buffer.from(e):ArrayBuffer.isView(e)?e=at.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Ge.default||(e instanceof no?(e=Fb(e),n=e.type.split("=")[1]):e=at.Buffer.from(String(e))));let o=e;at.Buffer.isBuffer(e)?o=Ge.default.Readable.from(e):Rc(e)&&(o=Ge.default.Readable.from(e.stream())),this[kt]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Ge.default&&e.on("error",s=>{let i=s instanceof Pc?s:new qt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[kt].error=i})}get body(){return this[kt].stream}get bodyUsed(){return this[kt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Ec(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new no,o=new URLSearchParams(await this.text());for(let[s,i]of o)n.append(s,i);return n}let{toFormData:r}=await Promise.resolve().then(()=>(hb(),fb));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[kt].body&&this[kt].body.type||"",r=await this.arrayBuffer();return new co([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Ec(this);return new TextDecoder().decode(e)}buffer(){return Ec(this)}};p(Bb,"Body");gi=Bb;gi.prototype.buffer=(0,$t.deprecate)(gi.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(gi.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,$t.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});p(Ec,"consumeBody");Kf=p((t,e)=>{let r,n,{body:o}=t[kt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Ge.default&&typeof o.getBoundary!="function"&&(r=new Ge.PassThrough({highWaterMark:e}),n=new Ge.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[kt].stream=r,o=n),o},"clone"),kR=(0,$t.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),jb=p((t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Mb(t)?"application/x-www-form-urlencoded;charset=UTF-8":Rc(t)?t.type||null:at.Buffer.isBuffer(t)||$t.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof no?`multipart/form-data; boundary=${e[kt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${kR(t)}`:t instanceof Ge.default?null:"text/plain;charset=UTF-8","extractContentType"),SR=p(t=>{let{body:e}=t[kt];return e===null?0:Rc(e)?e.size:at.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},"getTotalBytes"),ER=p(async(t,{body:e})=>{e===null?t.end():await wR(e,t)},"writeToStream"),Ac=typeof Xo.default.validateHeaderName=="function"?Xo.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},qf=typeof Xo.default.validateHeaderValue=="function"?Xo.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},Ub=class Lb extends URLSearchParams{constructor(e){let r=[];if(e instanceof Lb){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(i=>[o,i]))}else if(e!=null)if(typeof e=="object"&&!$t.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||$t.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Ac(n),qf(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(i,c)=>(Ac(i),qf(i,String(c)),URLSearchParams.prototype[o].call(n,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(Ac(i),URLSearchParams.prototype[o].call(n,String(i).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};p(Ub,"Headers");Jr=Ub;Object.defineProperties(Jr.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));p(qb,"fromRawHeaders");AR=new Set([301,302,303,307,308]),Fc=p(t=>AR.has(t),"isRedirect"),tr=Symbol("Response internals"),$b=class hi extends gi{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new Jr(r.headers);if(e!==null&&!o.has("Content-Type")){let s=jb(e,this);s&&o.append("Content-Type",s)}this[tr]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[tr].type}get url(){return this[tr].url||""}get status(){return this[tr].status}get ok(){return this[tr].status>=200&&this[tr].status<300}get redirected(){return this[tr].counter>0}get statusText(){return this[tr].statusText}get headers(){return this[tr].headers}get highWaterMark(){return this[tr].highWaterMark}clone(){return new hi(Kf(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!Fc(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new hi(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new hi(null,{status:0,statusText:""});return e[tr].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new Jr(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new hi(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};p($b,"Response");yr=$b;Object.defineProperties(yr.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});TR=p(t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""},"getSearch");p($f,"stripURLForUseAsAReferrer");zb=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),vR="strict-origin-when-cross-origin";p(Hb,"validateReferrerPolicy");p(Wb,"isOriginPotentiallyTrustworthy");p(io,"isUrlPotentiallyTrustworthy");p(Gb,"determineRequestsReferrer");p(Jb,"parseReferrerPolicyFromHeader");ot=Symbol("Request internals"),fi=p(t=>typeof t=="object"&&typeof t[ot]=="object","isRequest"),RR=(0,$t.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Vb=class Kb extends gi{constructor(e,r={}){let n;if(fi(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!fi(r)&&"data"in r&&RR(),(r.body!=null||fi(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:fi(e)&&e.body!==null?Kf(e):null;super(s,{size:r.size||e.size||0});let i=new Jr(r.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let f=jb(s,this);f&&i.set("Content-Type",f)}let c=fi(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!_R(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let u=r.referrer==null?e.referrer:r.referrer;if(u==="")u="no-referrer";else if(u){let f=new URL(u);u=/^about:(\/\/)?client$/.test(f)?"client":f}else u=void 0;this[ot]={method:o,redirect:r.redirect||e.redirect||"follow",headers:i,parsedURL:n,signal:c,referrer:u},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[ot].method}get url(){return(0,vb.format)(this[ot].parsedURL)}get headers(){return this[ot].headers}get redirect(){return this[ot].redirect}get signal(){return this[ot].signal}get referrer(){if(this[ot].referrer==="no-referrer")return"";if(this[ot].referrer==="client")return"about:client";if(this[ot].referrer)return this[ot].referrer.toString()}get referrerPolicy(){return this[ot].referrerPolicy}set referrerPolicy(e){this[ot].referrerPolicy=Hb(e)}clone(){return new Kb(this)}get[Symbol.toStringTag](){return"Request"}};p(Vb,"Request");yi=Vb;Object.defineProperties(yi.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});DR=p(t=>{let{parsedURL:e}=t[ot],r=new Jr(t[ot].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=SR(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=vR),t.referrer&&t.referrer!=="no-referrer"?t[ot].referrer=Gb(t):t[ot].referrer="no-referrer",t[ot].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=TR(e),i={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:i}},"getNodeRequestOptions"),Yb=class extends Pc{constructor(e,r="aborted"){super(e,r)}};p(Yb,"AbortError");Yf=Yb;p(Xb,"requireNodeDomexception");xR=Xb(),OR=If(xR),{stat:Xf}=uo.promises,Qb=p((t,e)=>rC((0,uo.statSync)(t),t,e),"blobFromSync"),Zb=p((t,e)=>Xf(t).then(r=>rC(r,t,e)),"blobFrom"),eC=p((t,e)=>Xf(t).then(r=>nC(r,t,e)),"fileFrom"),tC=p((t,e)=>nC((0,uo.statSync)(t),t,e),"fileFromSync"),rC=p((t,e,r="")=>new co([new iC({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),"fromBlob"),nC=p((t,e,r="")=>new Go([new iC({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,Db.basename)(e),{type:r,lastModified:t.mtimeMs}),"fromFile"),oC=class sC{constructor(e){Gr(this,Vo),Gr(this,Ko),rr(this,Vo,e.path),rr(this,Ko,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new sC({path:We(this,Vo),lastModified:this.lastModified,size:r-e,start:We(this,Ko)+e})}async*stream(){let{mtimeMs:e}=await Xf(We(this,Vo));if(e>this.lastModified)throw new OR("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,uo.createReadStream)(We(this,Vo),{start:We(this,Ko),end:We(this,Ko)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};Vo=new WeakMap,Ko=new WeakMap,p(oC,"BlobDataItem");iC=oC,PR=new Set(["data:","http:","https:"]);p(Qf,"fetch$1");p(aC,"fixResponseChunkedTransferBadEnding");cC=new WeakMap,zf=new WeakMap;p(Ue,"pd");p(Hf,"setCancelFlag");p(ao,"Event"),ao.prototype={get type(){return Ue(this).event.type},get target(){return Ue(this).eventTarget},get currentTarget(){return Ue(this).currentTarget},composedPath(){let t=Ue(this).currentTarget;return t==null?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Ue(this).eventPhase},stopPropagation(){let t=Ue(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Ue(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Ue(this).event.bubbles},get cancelable(){return!!Ue(this).event.cancelable},preventDefault(){Hf(Ue(this))},get defaultPrevented(){return Ue(this).canceled},get composed(){return!!Ue(this).event.composed},get timeStamp(){return Ue(this).timeStamp},get srcElement(){return Ue(this).eventTarget},get cancelBubble(){return Ue(this).stopped},set cancelBubble(t){if(!t)return;let e=Ue(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Ue(this).canceled},set returnValue(t){t||Hf(Ue(this))},initEvent(){}},Object.defineProperty(ao.prototype,"constructor",{value:ao,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(ao.prototype,window.Event.prototype),zf.set(window.Event.prototype,ao));p(Zf,"defineRedirectDescriptor");p(uC,"defineCallDescriptor");p(lC,"defineWrapper");p(eh,"getWrapper");p(dC,"wrapEvent");p(fC,"isStopped");p(hC,"setEventPhase");p(pC,"setCurrentTarget");p(Wf,"setPassiveListener");gC=new WeakMap,kb=1,Sb=2,Tc=3;p(mi,"isObject");p(Yo,"getListeners");p(mC,"defineEventAttributeDescriptor");p(th,"defineEventAttribute");p(Gf,"defineCustomEventTarget");p(_r,"EventTarget"),_r.prototype={addEventListener(t,e,r){if(e==null)return;if(typeof e!="function"&&!mi(e))throw new TypeError("'listener' should be a function or an object.");let n=Yo(this),o=mi(r),s=(o?r.capture:r)?kb:Sb,i={listener:e,listenerType:s,passive:o&&!!r.passive,once:o&&!!r.once,next:null},c=n.get(t);if(c===void 0){n.set(t,i);return}let u=null;for(;c!=null;){if(c.listener===e&&c.listenerType===s)return;u=c,c=c.next}u.next=i},removeEventListener(t,e,r){if(e==null)return;let n=Yo(this),o=(mi(r)?r.capture:r)?kb:Sb,s=null,i=n.get(t);for(;i!=null;){if(i.listener===e&&i.listenerType===o){s!==null?s.next=i.next:i.next!==null?n.set(t,i.next):n.delete(t);return}s=i,i=i.next}},dispatchEvent(t){if(t==null||typeof t.type!="string")throw new TypeError('"event.type" should be a string.');let e=Yo(this),r=t.type,n=e.get(r);if(n==null)return!0;let o=dC(this,t),s=null;for(;n!=null;){if(n.once?s!==null?s.next=n.next:n.next!==null?e.set(r,n.next):e.delete(r):s=n,Wf(o,n.passive?n.listener:null),typeof n.listener=="function")try{n.listener.call(this,o)}catch(i){typeof console<"u"&&typeof console.error=="function"&&console.error(i)}else n.listenerType!==Tc&&typeof n.listener.handleEvent=="function"&&n.listener.handleEvent(o);if(fC(o))break;n=n.next}return Wf(o,null),hC(o,0),pC(o,null),!o.defaultPrevented}},Object.defineProperty(_r.prototype,"constructor",{value:_r,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(_r.prototype,window.EventTarget.prototype);yC=class extends _r{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=xc.get(this);if(typeof e!="boolean")throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return e}};p(yC,"AbortSignal");Dc=yC;th(Dc.prototype,"abort");p(_C,"createAbortSignal");p(bC,"abortSignal");xc=new WeakMap;Object.defineProperties(Dc.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Dc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});Oc=(jf=class{constructor(){CC.set(this,_C())}get signal(){return Jf(this)}abort(){bC(Jf(this))}},p(jf,"AbortController"),jf),CC=new WeakMap;p(Jf,"getSignal"),Object.defineProperties(Oc.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Oc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});FR=Object.defineProperty,IR=p((t,e)=>FR(t,"name",{value:e,configurable:!0}),"e"),wC=Qf;Vf();p(Vf,"s"),IR(Vf,"checkNodeEnvironment")});var kC={};Yd(kC,{AbortController:()=>$R,AbortError:()=>Yf,Blob:()=>MR,FetchError:()=>qt,File:()=>BR,FormData:()=>jR,Headers:()=>UR,Request:()=>LR,Response:()=>qR,blobFrom:()=>Zb,blobFromSync:()=>Qb,default:()=>NR,fetch:()=>NR,fileFrom:()=>eC,fileFromSync:()=>tC,isRedirect:()=>Fc});var Tn,NR,MR,BR,jR,UR,LR,qR,$R,SC=bn(()=>{_c();_c();gc();Tn=!!globalThis.process?.env?.FORCE_NODE_FETCH,NR=!Tn&&globalThis.fetch||wC,MR=!Tn&&globalThis.Blob||co,BR=!Tn&&globalThis.File||Go,jR=!Tn&&globalThis.FormData||no,UR=!Tn&&globalThis.Headers||Jr,LR=!Tn&&globalThis.Request||yi,qR=!Tn&&globalThis.Response||yr,$R=!Tn&&globalThis.AbortController||Oc});var TC=V(Zo=>{"use strict";var zR=Zo&&Zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qo;Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Gaxios=void 0;var HR=zR(wf()),WR=require("https"),lo=Ef(),GR=M0(),EC=require("stream"),AC=vf(),JR=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Ic=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new AC.GaxiosInterceptorManager,response:new AC.GaxiosInterceptorManager}}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Qo.mergeHeaders(s,r.headers),n&&Qo.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}async request(e={}){let r=await this.#n(e);return r=await this.#t(r),this.#r(this._request(r))}async _defaultAdapter(e){let r=e.fetchImplementation||this.defaults.fetchImplementation||await Qo.#c(),n={...e};delete n.data;let o=await r(e.url,n),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let o=[];for await(let s of r.data)o.push(s);r.data=o.toString()}let n=lo.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new lo.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof lo.GaxiosError?n=r:r instanceof Error?n=new lo.GaxiosError(r.message,e,void 0,r):n=new lo.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,GR.getRetryConfig)(n);if(o&&s)return n.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=n.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(n),n}}async getResponseData(e,r){if(e.maxContentLength&&r.headers.has("content-length")&&e.maxContentLength<Number.parseInt(r.headers?.get("content-length")||""))throw new lo.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(r,{config:e}));switch(e.responseType){case"stream":return r.body;case"json":return r.json();case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}#e(e,r=[]){let n=new URL(e),o=[...r],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let i of s)o.push(i.trim());for(let i of o)if(i instanceof RegExp){if(i.test(n.toString()))return!1}else if(i instanceof URL){if(i.origin===n.origin)return!1}else if(i.startsWith("*.")||i.startsWith(".")){let c=i.replace(/^\*\./,".");if(n.hostname.endsWith(c))return!1}else if(i===n.origin||i===n.hostname||i===n.href)return!1;return!0}async#t(e){let r=Promise.resolve(e);for(let n of this.interceptors.request.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#r(e){let r=Promise.resolve(e);for(let n of this.interceptors.response.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#n(e){let r=new Headers(this.defaults.headers);Qo.mergeHeaders(r,e.headers);let n=(0,HR.default)(!0,{},this.defaults,e);if(!n.url)throw new Error("URL is required.");if(n.baseURL&&(n.url=new URL(n.url,n.baseURL)),n.url=new URL(n.url),n.params)if(n.paramsSerializer){let i=n.paramsSerializer(n.params);i.startsWith("?")&&(i=i.slice(1));let c=n.url.toString().includes("?")?"&":"?";n.url=n.url+c+i}else{let i=n.url instanceof URL?n.url:new URL(n.url);for(let[c,u]of new URLSearchParams(n.params))i.searchParams.append(c,u);n.url=i}typeof e.maxContentLength=="number"&&(n.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(n.follow=e.maxRedirects);let o=typeof n.data=="string"||n.data instanceof ArrayBuffer||n.data instanceof Blob||globalThis.File&&n.data instanceof File||n.data instanceof FormData||n.data instanceof EC.Readable||n.data instanceof ReadableStream||n.data instanceof String||n.data instanceof URLSearchParams||ArrayBuffer.isView(n.data)||["Blob","File","FormData"].includes(n.data?.constructor?.name||"");if(n.multipart?.length){let i=await JR();r.set("content-type",`multipart/related; boundary=${i}`),n.body=EC.Readable.from(this.getMultipartRequest(n.multipart,i))}else o?n.body=n.data:typeof n.data=="object"?r.get("Content-Type")==="application/x-www-form-urlencoded"?n.body=n.paramsSerializer?n.paramsSerializer(n.data):new URLSearchParams(n.data):(r.has("content-type")||r.set("content-type","application/json"),n.body=JSON.stringify(n.data)):n.data&&(n.body=n.data);n.validateStatus=n.validateStatus||this.validateStatus,n.responseType=n.responseType||"unknown",!r.has("accept")&&n.responseType==="json"&&r.set("accept","application/json");let s=n.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!n.agent)if(s&&this.#e(n.url,n.noProxy)){let i=await Qo.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new i(s,{cert:n.cert,key:n.key}),this.agentCache.set(s,n.agent))}else n.cert&&n.key&&(this.agentCache.has(n.key)?n.agent=this.agentCache.get(n.key):(n.agent=new WR.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=lo.defaultErrorRedactor),n.body&&!("duplex"in n)&&(n.duplex="half"),this.#o(n),Object.assign(n,{headers:r,url:n.url instanceof URL?n.url:new URL(n.url)})}#o(e){if(e.timeout){let r=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,r]):e.signal=r}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${r}\r
|
|
40
40
|
Content-Type: ${s}\r
|
|
41
41
|
\r
|
|
42
42
|
`,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
|
|
43
|
-
`}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>$e(Qg()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Gm(),Wm))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};co.Gaxios=sa;uo=sa});var et=J(at=>{"use strict";var eS=at&&at.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tS=at&&at.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&eS(e,t,r)};Object.defineProperty(at,"__esModule",{value:!0});at.instance=at.Gaxios=at.GaxiosError=void 0;at.request=nS;var Ym=Km();Object.defineProperty(at,"Gaxios",{enumerable:!0,get:function(){return Ym.Gaxios}});var rS=rl();Object.defineProperty(at,"GaxiosError",{enumerable:!0,get:function(){return rS.GaxiosError}});tS(sl(),at);at.instance=new Ym.Gaxios;async function nS(t){return at.instance.request(t)}});var Dl=J((Xm,ia)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",u=1e14,c=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,y=1e9;function A(T){var O,N,G,$=W.prototype={constructor:W,toString:null,valueOf:null},X=new W(1),K=20,se=4,_e=-7,me=21,le=-1e7,pe=1e7,ie=!1,V=1,Y=0,Z={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Se="0123456789abcdefghijklmnopqrstuvwxyz",Ue=!0;function W(C,S){var D,j,F,I,L,x,P,M,B=this;if(!(B instanceof W))return new W(C,S);if(S==null){if(C&&C._isBigNumber===!0){B.s=C.s,!C.c||C.e>pe?B.c=B.e=null:C.e<le?B.c=[B.e=0]:(B.e=C.e,B.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(B.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,L=C;L>=10;L/=10,I++);I>pe?B.c=B.e=null:(B.e=I,B.c=[C]);return}M=String(C)}else{if(!r.test(M=String(C)))return G(B,M,x);B.s=M.charCodeAt(0)==45?(M=M.slice(1),-1):1}(I=M.indexOf("."))>-1&&(M=M.replace(".","")),(L=M.search(/e/i))>0?(I<0&&(I=L),I+=+M.slice(L+1),M=M.substring(0,L)):I<0&&(I=M.length)}else{if(m(S,2,Se.length,"Base"),S==10&&Ue)return B=new W(C),xe(B,K+B.e+1,se);if(M=String(C),x=typeof C=="number"){if(C*0!=0)return G(B,M,x,S);if(B.s=1/C<0?(M=M.slice(1),-1):1,W.DEBUG&&M.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else B.s=M.charCodeAt(0)===45?(M=M.slice(1),-1):1;for(D=Se.slice(0,S),I=L=0,P=M.length;L<P;L++)if(D.indexOf(j=M.charAt(L))<0){if(j=="."){if(L>I){I=P;continue}}else if(!F&&(M==M.toUpperCase()&&(M=M.toLowerCase())||M==M.toLowerCase()&&(M=M.toUpperCase()))){F=!0,L=-1,I=0;continue}return G(B,String(C),x,S)}x=!1,M=N(M,S,10,B.s),(I=M.indexOf("."))>-1?M=M.replace(".",""):I=M.length}for(L=0;M.charCodeAt(L)===48;L++);for(P=M.length;M.charCodeAt(--P)===48;);if(M=M.slice(L,++P)){if(P-=L,x&&W.DEBUG&&P>15&&(C>f||C!==o(C)))throw Error(a+B.s*C);if((I=I-L-1)>pe)B.c=B.e=null;else if(I<le)B.c=[B.e=0];else{if(B.e=I,B.c=[],L=(I+1)%c,I<0&&(L+=c),L<P){for(L&&B.c.push(+M.slice(0,L)),P-=c;L<P;)B.c.push(+M.slice(L,L+=c));L=c-(M=M.slice(L)).length}else L-=P;for(;L--;M+="0");B.c.push(+M)}}else B.c=[B.e=0]}W.clone=A,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var S,D;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(S="DECIMAL_PLACES")&&(D=C[S],m(D,0,y,S),K=D),C.hasOwnProperty(S="ROUNDING_MODE")&&(D=C[S],m(D,0,8,S),se=D),C.hasOwnProperty(S="EXPONENTIAL_AT")&&(D=C[S],D&&D.pop?(m(D[0],-y,0,S),m(D[1],0,y,S),_e=D[0],me=D[1]):(m(D,-y,y,S),_e=-(me=D<0?-D:D))),C.hasOwnProperty(S="RANGE"))if(D=C[S],D&&D.pop)m(D[0],-y,-1,S),m(D[1],1,y,S),le=D[0],pe=D[1];else if(m(D,-y,y,S),D)le=-(pe=D<0?-D:D);else throw Error(s+S+" cannot be zero: "+D);if(C.hasOwnProperty(S="CRYPTO"))if(D=C[S],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ie=D;else throw ie=!D,Error(s+"crypto unavailable");else ie=D;else throw Error(s+S+" not true or false: "+D);if(C.hasOwnProperty(S="MODULO_MODE")&&(D=C[S],m(D,0,9,S),V=D),C.hasOwnProperty(S="POW_PRECISION")&&(D=C[S],m(D,0,y,S),Y=D),C.hasOwnProperty(S="FORMAT"))if(D=C[S],typeof D=="object")Z=D;else throw Error(s+S+" not an object: "+D);if(C.hasOwnProperty(S="ALPHABET"))if(D=C[S],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Ue=D.slice(0,10)=="0123456789",Se=D;else throw Error(s+S+" invalid: "+D)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:K,ROUNDING_MODE:se,EXPONENTIAL_AT:[_e,me],RANGE:[le,pe],CRYPTO:ie,MODULO_MODE:V,POW_PRECISION:Y,FORMAT:Z,ALPHABET:Se}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var S,D,j=C.c,F=C.e,I=C.s;e:if({}.toString.call(j)=="[object Array]"){if((I===1||I===-1)&&F>=-y&&F<=y&&F===o(F)){if(j[0]===0){if(F===0&&j.length===1)return!0;break e}if(S=(F+1)%c,S<1&&(S+=c),String(j[0]).length==S){for(S=0;S<j.length;S++)if(D=j[S],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(j===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return re(arguments,-1)},W.minimum=W.min=function(){return re(arguments,1)},W.random=(function(){var C=9007199254740992,S=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var j,F,I,L,x,P=0,M=[],B=new W(X);if(D==null?D=K:m(D,0,y),L=n(D/c),ie)if(crypto.getRandomValues){for(j=crypto.getRandomValues(new Uint32Array(L*=2));P<L;)x=j[P]*131072+(j[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),j[P]=F[0],j[P+1]=F[1]):(M.push(x%1e14),P+=2);P=L/2}else if(crypto.randomBytes){for(j=crypto.randomBytes(L*=7);P<L;)x=(j[P]&31)*281474976710656+j[P+1]*1099511627776+j[P+2]*4294967296+j[P+3]*16777216+(j[P+4]<<16)+(j[P+5]<<8)+j[P+6],x>=9e15?crypto.randomBytes(7).copy(j,P):(M.push(x%1e14),P+=7);P=L/7}else throw ie=!1,Error(s+"crypto unavailable");if(!ie)for(;P<L;)x=S(),x<9e15&&(M[P++]=x%1e14);for(L=M[--P],D%=c,L&&D&&(x=d[c-D],M[P]=o(L/x)*x);M[P]===0;M.pop(),P--);if(P<0)M=[I=0];else{for(I=-1;M[0]===0;M.splice(0,1),I-=c);for(P=1,x=M[0];x>=10;x/=10,P++);P<c&&(I-=c-P)}return B.e=I,B.c=M,B}})(),W.sum=function(){for(var C=1,S=arguments,D=new W(S[0]);C<S.length;)D=D.plus(S[C++]);return D},N=(function(){var C="0123456789";function S(D,j,F,I){for(var L,x=[0],P,M=0,B=D.length;M<B;){for(P=x.length;P--;x[P]*=j);for(x[0]+=I.indexOf(D.charAt(M++)),L=0;L<x.length;L++)x[L]>F-1&&(x[L+1]==null&&(x[L+1]=0),x[L+1]+=x[L]/F|0,x[L]%=F)}return x.reverse()}return function(D,j,F,I,L){var x,P,M,B,z,ee,te,Ee,Pe=D.indexOf("."),je=K,we=se;for(Pe>=0&&(B=Y,Y=0,D=D.replace(".",""),Ee=new W(j),ee=Ee.pow(D.length-Pe),Y=B,Ee.c=S(w(_(ee.c),ee.e,"0"),10,F,C),Ee.e=Ee.c.length),te=S(D,j,F,L?(x=Se,C):(x=C,Se)),M=B=te.length;te[--B]==0;te.pop());if(!te[0])return x.charAt(0);if(Pe<0?--M:(ee.c=te,ee.e=M,ee.s=I,ee=O(ee,Ee,je,we,F),te=ee.c,z=ee.r,M=ee.e),P=M+je+1,Pe=te[P],B=F/2,z=z||P<0||te[P+1]!=null,z=we<4?(Pe!=null||z)&&(we==0||we==(ee.s<0?3:2)):Pe>B||Pe==B&&(we==4||z||we==6&&te[P-1]&1||we==(ee.s<0?8:7)),P<1||!te[0])D=z?w(x.charAt(1),-je,x.charAt(0)):x.charAt(0);else{if(te.length=P,z)for(--F;++te[--P]>F;)te[P]=0,P||(++M,te=[1].concat(te));for(B=te.length;!te[--B];);for(Pe=0,D="";Pe<=B;D+=x.charAt(te[Pe++]));D=w(D,M,x.charAt(0))}return D}})(),O=(function(){function C(j,F,I){var L,x,P,M,B=0,z=j.length,ee=F%p,te=F/p|0;for(j=j.slice();z--;)P=j[z]%p,M=j[z]/p|0,L=te*P+M*ee,x=ee*P+L%p*p+B,B=(x/I|0)+(L/p|0)+te*M,j[z]=x%I;return B&&(j=[B].concat(j)),j}function S(j,F,I,L){var x,P;if(I!=L)P=I>L?1:-1;else for(x=P=0;x<I;x++)if(j[x]!=F[x]){P=j[x]>F[x]?1:-1;break}return P}function D(j,F,I,L){for(var x=0;I--;)j[I]-=x,x=j[I]<F[I]?1:0,j[I]=x*L+j[I]-F[I];for(;!j[0]&&j.length>1;j.splice(0,1));}return function(j,F,I,L,x){var P,M,B,z,ee,te,Ee,Pe,je,we,Ae,He,Un,Ln,qn,pt,hr,tt=j.s==F.s?1:-1,We=j.c,De=F.c;if(!We||!We[0]||!De||!De[0])return new W(!j.s||!F.s||(We?De&&We[0]==De[0]:!De)?NaN:We&&We[0]==0||!De?tt*0:tt/0);for(Pe=new W(tt),je=Pe.c=[],M=j.e-F.e,tt=I+M+1,x||(x=u,M=g(j.e/c)-g(F.e/c),tt=tt/c|0),B=0;De[B]==(We[B]||0);B++);if(De[B]>(We[B]||0)&&M--,tt<0)je.push(1),z=!0;else{for(Ln=We.length,pt=De.length,B=0,tt+=2,ee=o(x/(De[0]+1)),ee>1&&(De=C(De,ee,x),We=C(We,ee,x),pt=De.length,Ln=We.length),Un=pt,we=We.slice(0,pt),Ae=we.length;Ae<pt;we[Ae++]=0);hr=De.slice(),hr=[0].concat(hr),qn=De[0],De[1]>=x/2&&qn++;do{if(ee=0,P=S(De,we,pt,Ae),P<0){if(He=we[0],pt!=Ae&&(He=He*x+(we[1]||0)),ee=o(He/qn),ee>1)for(ee>=x&&(ee=x-1),te=C(De,ee,x),Ee=te.length,Ae=we.length;S(te,we,Ee,Ae)==1;)ee--,D(te,pt<Ee?hr:De,Ee,x),Ee=te.length,P=1;else ee==0&&(P=ee=1),te=De.slice(),Ee=te.length;if(Ee<Ae&&(te=[0].concat(te)),D(we,te,Ae,x),Ae=we.length,P==-1)for(;S(De,we,pt,Ae)<1;)ee++,D(we,pt<Ae?hr:De,Ae,x),Ae=we.length}else P===0&&(ee++,we=[0]);je[B++]=ee,we[0]?we[Ae++]=We[Un]||0:(we=[We[Un]],Ae=1)}while((Un++<Ln||we[0]!=null)&&tt--);z=we[0]!=null,je[0]||je.splice(0,1)}if(x==u){for(B=1,tt=je[0];tt>=10;tt/=10,B++);xe(Pe,I+(Pe.e=B+M*c-1)+1,L,z)}else Pe.e=M,Pe.r=+z;return Pe}})();function ue(C,S,D,j){var F,I,L,x,P;if(D==null?D=se:m(D,0,8),!C.c)return C.toString();if(F=C.c[0],L=C.e,S==null)P=_(C.c),P=j==1||j==2&&(L<=_e||L>=me)?k(P,L):w(P,L,"0");else if(C=xe(new W(C),S,D),I=C.e,P=_(C.c),x=P.length,j==1||j==2&&(S<=I||I<=_e)){for(;x<S;P+="0",x++);P=k(P,I)}else if(S-=L+(j===2&&I>L),P=w(P,I,"0"),I+1>x){if(--S>0)for(P+=".";S--;P+="0");}else if(S+=I-x,S>0)for(I+1==x&&(P+=".");S--;P+="0");return C.s<0&&F?"-"+P:P}function re(C,S){for(var D,j,F=1,I=new W(C[0]);F<C.length;F++)j=new W(C[F]),(!j.s||(D=b(I,j))===S||D===0&&I.s===S)&&(I=j);return I}function ke(C,S,D){for(var j=1,F=S.length;!S[--F];S.pop());for(F=S[0];F>=10;F/=10,j++);return(D=j+D*c-1)>pe?C.c=C.e=null:D<le?C.c=[C.e=0]:(C.e=D,C.c=S),C}G=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,D=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,L,x,P){var M,B=x?L:L.replace(F,"");if(j.test(B))I.s=isNaN(B)?null:B<0?-1:1;else{if(!x&&(B=B.replace(C,function(z,ee,te){return M=(te=te.toLowerCase())=="x"?16:te=="b"?2:8,!P||P==M?ee:z}),P&&(M=P,B=B.replace(S,"$1").replace(D,"0.$1")),L!=B))return new W(B,M);if(W.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+L);I.s=null}I.c=I.e=null}})();function xe(C,S,D,j){var F,I,L,x,P,M,B,z=C.c,ee=d;if(z){e:{for(F=1,x=z[0];x>=10;x/=10,F++);if(I=S-F,I<0)I+=c,L=S,P=z[M=0],B=o(P/ee[F-L-1]%10);else if(M=n((I+1)/c),M>=z.length)if(j){for(;z.length<=M;z.push(0));P=B=0,F=1,I%=c,L=I-c+1}else break e;else{for(P=x=z[M],F=1;x>=10;x/=10,F++);I%=c,L=I-c+F,B=L<0?0:o(P/ee[F-L-1]%10)}if(j=j||S<0||z[M+1]!=null||(L<0?P:P%ee[F-L-1]),j=D<4?(B||j)&&(D==0||D==(C.s<0?3:2)):B>5||B==5&&(D==4||j||D==6&&(I>0?L>0?P/ee[F-L]:0:z[M-1])%10&1||D==(C.s<0?8:7)),S<1||!z[0])return z.length=0,j?(S-=C.e+1,z[0]=ee[(c-S%c)%c],C.e=-S||0):z[0]=C.e=0,C;if(I==0?(z.length=M,x=1,M--):(z.length=M+1,x=ee[c-I],z[M]=L>0?o(P/ee[F-L]%ee[L])*x:0),j)for(;;)if(M==0){for(I=1,L=z[0];L>=10;L/=10,I++);for(L=z[0]+=x,x=1;L>=10;L/=10,x++);I!=x&&(C.e++,z[0]==u&&(z[0]=1));break}else{if(z[M]+=x,z[M]!=u)break;z[M--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>pe?C.c=C.e=null:C.e<le&&(C.c=[C.e=0])}return C}function Be(C){var S,D=C.e;return D===null?C.toString():(S=_(C.c),S=D<=_e||D>=me?k(S,D):w(S,D,"0"),C.s<0?"-"+S:S)}return $.absoluteValue=$.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},$.comparedTo=function(C,S){return b(this,new W(C,S))},$.decimalPlaces=$.dp=function(C,S){var D,j,F,I=this;if(C!=null)return m(C,0,y),S==null?S=se:m(S,0,8),xe(new W(I),C+I.e+1,S);if(!(D=I.c))return null;if(j=((F=D.length-1)-g(this.e/c))*c,F=D[F])for(;F%10==0;F/=10,j--);return j<0&&(j=0),j},$.dividedBy=$.div=function(C,S){return O(this,new W(C,S),K,se)},$.dividedToIntegerBy=$.idiv=function(C,S){return O(this,new W(C,S),0,1)},$.exponentiatedBy=$.pow=function(C,S){var D,j,F,I,L,x,P,M,B,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+Be(C));if(S!=null&&(S=new W(S)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return B=new W(Math.pow(+Be(z),x?C.s*(2-v(C)):+Be(C))),S?B.mod(S):B;if(P=C.s<0,S){if(S.c?!S.c[0]:!S.s)return new W(NaN);j=!P&&z.isInteger()&&S.isInteger(),j&&(z=z.mod(S))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(P?1/I:I);Y&&(I=n(Y/c+2))}for(x?(D=new W(.5),P&&(C.s=1),M=v(C)):(F=Math.abs(+Be(C)),M=F%2),B=new W(X);;){if(M){if(B=B.times(z),!B.c)break;I?B.c.length>I&&(B.c.length=I):j&&(B=B.mod(S))}if(F){if(F=o(F/2),F===0)break;M=F%2}else if(C=C.times(D),xe(C,C.e+1,1),C.e>14)M=v(C);else{if(F=+Be(C),F===0)break;M=F%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):j&&(z=z.mod(S))}return j?B:(P&&(B=X.div(B)),S?B.mod(S):I?xe(B,Y,se,L):B)},$.integerValue=function(C){var S=new W(this);return C==null?C=se:m(C,0,8),xe(S,S.e+1,C)},$.isEqualTo=$.eq=function(C,S){return b(this,new W(C,S))===0},$.isFinite=function(){return!!this.c},$.isGreaterThan=$.gt=function(C,S){return b(this,new W(C,S))>0},$.isGreaterThanOrEqualTo=$.gte=function(C,S){return(S=b(this,new W(C,S)))===1||S===0},$.isInteger=function(){return!!this.c&&g(this.e/c)>this.c.length-2},$.isLessThan=$.lt=function(C,S){return b(this,new W(C,S))<0},$.isLessThanOrEqualTo=$.lte=function(C,S){return(S=b(this,new W(C,S)))===-1||S===0},$.isNaN=function(){return!this.s},$.isNegative=function(){return this.s<0},$.isPositive=function(){return this.s>0},$.isZero=function(){return!!this.c&&this.c[0]==0},$.minus=function(C,S){var D,j,F,I,L=this,x=L.s;if(C=new W(C,S),S=C.s,!x||!S)return new W(NaN);if(x!=S)return C.s=-S,L.plus(C);var P=L.e/c,M=C.e/c,B=L.c,z=C.c;if(!P||!M){if(!B||!z)return B?(C.s=-S,C):new W(z?L:NaN);if(!B[0]||!z[0])return z[0]?(C.s=-S,C):new W(B[0]?L:se==3?-0:0)}if(P=g(P),M=g(M),B=B.slice(),x=P-M){for((I=x<0)?(x=-x,F=B):(M=P,F=z),F.reverse(),S=x;S--;F.push(0));F.reverse()}else for(j=(I=(x=B.length)<(S=z.length))?x:S,x=S=0;S<j;S++)if(B[S]!=z[S]){I=B[S]<z[S];break}if(I&&(F=B,B=z,z=F,C.s=-C.s),S=(j=z.length)-(D=B.length),S>0)for(;S--;B[D++]=0);for(S=u-1;j>x;){if(B[--j]<z[j]){for(D=j;D&&!B[--D];B[D]=S);--B[D],B[j]+=u}B[j]-=z[j]}for(;B[0]==0;B.splice(0,1),--M);return B[0]?ke(C,B,M):(C.s=se==3?-1:1,C.c=[C.e=0],C)},$.modulo=$.mod=function(C,S){var D,j,F=this;return C=new W(C,S),!F.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||F.c&&!F.c[0]?new W(F):(V==9?(j=C.s,C.s=1,D=O(F,C,0,3),C.s=j,D.s*=j):D=O(F,C,0,V),C=F.minus(D.times(C)),!C.c[0]&&V==1&&(C.s=F.s),C)},$.multipliedBy=$.times=function(C,S){var D,j,F,I,L,x,P,M,B,z,ee,te,Ee,Pe,je,we=this,Ae=we.c,He=(C=new W(C,S)).c;if(!Ae||!He||!Ae[0]||!He[0])return!we.s||!C.s||Ae&&!Ae[0]&&!He||He&&!He[0]&&!Ae?C.c=C.e=C.s=null:(C.s*=we.s,!Ae||!He?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(j=g(we.e/c)+g(C.e/c),C.s*=we.s,P=Ae.length,z=He.length,P<z&&(Ee=Ae,Ae=He,He=Ee,F=P,P=z,z=F),F=P+z,Ee=[];F--;Ee.push(0));for(Pe=u,je=p,F=z;--F>=0;){for(D=0,ee=He[F]%je,te=He[F]/je|0,L=P,I=F+L;I>F;)M=Ae[--L]%je,B=Ae[L]/je|0,x=te*M+B*ee,M=ee*M+x%je*je+Ee[I]+D,D=(M/Pe|0)+(x/je|0)+te*B,Ee[I--]=M%Pe;Ee[I]=D}return D?++j:Ee.splice(0,1),ke(C,Ee,j)},$.negated=function(){var C=new W(this);return C.s=-C.s||null,C},$.plus=function(C,S){var D,j=this,F=j.s;if(C=new W(C,S),S=C.s,!F||!S)return new W(NaN);if(F!=S)return C.s=-S,j.minus(C);var I=j.e/c,L=C.e/c,x=j.c,P=C.c;if(!I||!L){if(!x||!P)return new W(F/0);if(!x[0]||!P[0])return P[0]?C:new W(x[0]?j:F*0)}if(I=g(I),L=g(L),x=x.slice(),F=I-L){for(F>0?(L=I,D=P):(F=-F,D=x),D.reverse();F--;D.push(0));D.reverse()}for(F=x.length,S=P.length,F-S<0&&(D=P,P=x,x=D,S=F),F=0;S;)F=(x[--S]=x[S]+P[S]+F)/u|0,x[S]=u===x[S]?0:x[S]%u;return F&&(x=[F].concat(x),++L),ke(C,x,L)},$.precision=$.sd=function(C,S){var D,j,F,I=this;if(C!=null&&C!==!!C)return m(C,1,y),S==null?S=se:m(S,0,8),xe(new W(I),C,S);if(!(D=I.c))return null;if(F=D.length-1,j=F*c+1,F=D[F]){for(;F%10==0;F/=10,j--);for(F=D[0];F>=10;F/=10,j++);}return C&&I.e+1>j&&(j=I.e+1),j},$.shiftedBy=function(C){return m(C,-f,f),this.times("1e"+C)},$.squareRoot=$.sqrt=function(){var C,S,D,j,F,I=this,L=I.c,x=I.s,P=I.e,M=K+4,B=new W("0.5");if(x!==1||!L||!L[0])return new W(!x||x<0&&(!L||L[0])?NaN:L?I:1/0);if(x=Math.sqrt(+Be(I)),x==0||x==1/0?(S=_(L),(S.length+P)%2==0&&(S+="0"),x=Math.sqrt(+S),P=g((P+1)/2)-(P<0||P%2),x==1/0?S="5e"+P:(S=x.toExponential(),S=S.slice(0,S.indexOf("e")+1)+P),D=new W(S)):D=new W(x+""),D.c[0]){for(P=D.e,x=P+M,x<3&&(x=0);;)if(F=D,D=B.times(F.plus(O(I,F,M,1))),_(F.c).slice(0,x)===(S=_(D.c)).slice(0,x))if(D.e<P&&--x,S=S.slice(x-3,x+1),S=="9999"||!j&&S=="4999"){if(!j&&(xe(F,F.e+K+2,0),F.times(F).eq(I))){D=F;break}M+=4,x+=4,j=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(xe(D,D.e+K+2,1),C=!D.times(D).eq(I));break}}return xe(D,D.e+K+1,se,C)},$.toExponential=function(C,S){return C!=null&&(m(C,0,y),C++),ue(this,C,S,1)},$.toFixed=function(C,S){return C!=null&&(m(C,0,y),C=C+this.e+1),ue(this,C,S)},$.toFormat=function(C,S,D){var j,F=this;if(D==null)C!=null&&S&&typeof S=="object"?(D=S,S=null):C&&typeof C=="object"?(D=C,C=S=null):D=Z;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(j=F.toFixed(C,S),F.c){var I,L=j.split("."),x=+D.groupSize,P=+D.secondaryGroupSize,M=D.groupSeparator||"",B=L[0],z=L[1],ee=F.s<0,te=ee?B.slice(1):B,Ee=te.length;if(P&&(I=x,x=P,P=I,Ee-=I),x>0&&Ee>0){for(I=Ee%x||x,B=te.substr(0,I);I<Ee;I+=x)B+=M+te.substr(I,x);P>0&&(B+=M+te.slice(I)),ee&&(B="-"+B)}j=z?B+(D.decimalSeparator||"")+((P=+D.fractionGroupSize)?z.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):z):B}return(D.prefix||"")+j+(D.suffix||"")},$.toFraction=function(C){var S,D,j,F,I,L,x,P,M,B,z,ee,te=this,Ee=te.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(X)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+Be(x));if(!Ee)return new W(te);for(S=new W(X),M=D=new W(X),j=P=new W(X),ee=_(Ee),I=S.e=ee.length-te.e-1,S.c[0]=d[(L=I%c)<0?c+L:L],C=!C||x.comparedTo(S)>0?I>0?S:M:x,L=pe,pe=1/0,x=new W(ee),P.c[0]=0;B=O(x,S,0,1),F=D.plus(B.times(j)),F.comparedTo(C)!=1;)D=j,j=F,M=P.plus(B.times(F=M)),P=F,S=x.minus(B.times(F=S)),x=F;return F=O(C.minus(D),j,0,1),P=P.plus(F.times(M)),D=D.plus(F.times(j)),P.s=M.s=te.s,I=I*2,z=O(M,j,I,se).minus(te).abs().comparedTo(O(P,D,I,se).minus(te).abs())<1?[M,j]:[P,D],pe=L,z},$.toNumber=function(){return+Be(this)},$.toPrecision=function(C,S){return C!=null&&m(C,1,y),ue(this,C,S,2)},$.toString=function(C){var S,D=this,j=D.s,F=D.e;return F===null?j?(S="Infinity",j<0&&(S="-"+S)):S="NaN":(C==null?S=F<=_e||F>=me?k(_(D.c),F):w(_(D.c),F,"0"):C===10&&Ue?(D=xe(new W(D),K+F+1,se),S=w(_(D.c),D.e,"0")):(m(C,2,Se.length,"Base"),S=N(w(_(D.c),F,"0"),10,C,j,!0)),j<0&&D.c[0]&&(S="-"+S)),S},$.valueOf=$.toJSON=function(){return Be(this)},$._isBigNumber=!0,T!=null&&W.set(T),W}function g(T){var O=T|0;return T>0||T===O?O:O-1}function _(T){for(var O,N,G=1,$=T.length,X=T[0]+"";G<$;){for(O=T[G++]+"",N=c-O.length;N--;O="0"+O);X+=O}for($=X.length;X.charCodeAt(--$)===48;);return X.slice(0,$+1||1)}function b(T,O){var N,G,$=T.c,X=O.c,K=T.s,se=O.s,_e=T.e,me=O.e;if(!K||!se)return null;if(N=$&&!$[0],G=X&&!X[0],N||G)return N?G?0:-se:K;if(K!=se)return K;if(N=K<0,G=_e==me,!$||!X)return G?0:!$^N?1:-1;if(!G)return _e>me^N?1:-1;for(se=(_e=$.length)<(me=X.length)?_e:me,K=0;K<se;K++)if($[K]!=X[K])return $[K]>X[K]^N?1:-1;return _e==me?0:_e>me^N?1:-1}function m(T,O,N,G){if(T<O||T>N||T!==o(T))throw Error(s+(G||"Argument")+(typeof T=="number"?T<O||T>N?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function v(T){var O=T.c.length-1;return g(T.e/c)==O&&T.c[O]%2!=0}function k(T,O){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(O<0?"e":"e+")+O}function w(T,O,N){var G,$;if(O<0){for($=N+".";++O;$+=N);T=$+T}else if(G=T.length,++O>G){for($=N,O-=G;--O;$+=N);T+=$}else O<G&&(T=T.slice(0,O)+"."+T.slice(O));return T}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ia<"u"&&ia.exports?ia.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Xm)});var ty=J((yP,ey)=>{var Qm=Dl(),Zm=ey.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function u(f){return r.lastIndex=0,r.test(f)?'"'+f.replace(r,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function c(f,d){var p,y,A,g,_=n,b,m=d[f],v=m!=null&&(m instanceof Qm||Qm.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(f)),typeof a=="function"&&(m=a.call(d,f,m)),typeof m){case"string":return v?m:u(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,b=[],Object.prototype.toString.apply(m)==="[object Array]"){for(g=m.length,p=0;p<g;p+=1)b[p]=c(p,m)||"null";return A=b.length===0?"[]":n?`[
|
|
44
|
-
`+n+
|
|
43
|
+
`}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>st(ab()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(SC(),kC))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,i)=>{i==="set-cookie"?e.append(i,s):e.set(i,s)});return e}};Zo.Gaxios=Ic;Qo=Ic});var ct=V(gt=>{"use strict";var VR=gt&>.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),KR=gt&>.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&VR(e,t,r)};Object.defineProperty(gt,"__esModule",{value:!0});gt.instance=gt.Gaxios=gt.GaxiosError=void 0;gt.request=XR;var vC=TC();Object.defineProperty(gt,"Gaxios",{enumerable:!0,get:function(){return vC.Gaxios}});var YR=Ef();Object.defineProperty(gt,"GaxiosError",{enumerable:!0,get:function(){return YR.GaxiosError}});KR(vf(),gt);gt.instance=new vC.Gaxios;async function XR(t){return gt.instance.request(t)}});var rh=V((RC,Nc)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",i=s+"Number primitive has more than 15 significant digits: ",c=1e14,u=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],h=1e7,m=1e9;function S(O){var D,M,W,$=z.prototype={constructor:z,toString:null,valueOf:null},oe=new z(1),K=20,re=4,Q=-7,se=21,ke=-1e7,be=1e7,Re=!1,X=1,ie=0,te={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Te="0123456789abcdefghijklmnopqrstuvwxyz",_e=!0;function z(w,A){var v,j,x,I,L,P,N,U,B=this;if(!(B instanceof z))return new z(w,A);if(A==null){if(w&&w._isBigNumber===!0){B.s=w.s,!w.c||w.e>be?B.c=B.e=null:w.e<ke?B.c=[B.e=0]:(B.e=w.e,B.c=w.c.slice());return}if((P=typeof w=="number")&&w*0==0){if(B.s=1/w<0?(w=-w,-1):1,w===~~w){for(I=0,L=w;L>=10;L/=10,I++);I>be?B.c=B.e=null:(B.e=I,B.c=[w]);return}U=String(w)}else{if(!r.test(U=String(w)))return W(B,U,P);B.s=U.charCodeAt(0)==45?(U=U.slice(1),-1):1}(I=U.indexOf("."))>-1&&(U=U.replace(".","")),(L=U.search(/e/i))>0?(I<0&&(I=L),I+=+U.slice(L+1),U=U.substring(0,L)):I<0&&(I=U.length)}else{if(_(A,2,Te.length,"Base"),A==10&&_e)return B=new z(w),de(B,K+B.e+1,re);if(U=String(w),P=typeof w=="number"){if(w*0!=0)return W(B,U,P,A);if(B.s=1/w<0?(U=U.slice(1),-1):1,z.DEBUG&&U.replace(/^0\.0*|\./,"").length>15)throw Error(i+w)}else B.s=U.charCodeAt(0)===45?(U=U.slice(1),-1):1;for(v=Te.slice(0,A),I=L=0,N=U.length;L<N;L++)if(v.indexOf(j=U.charAt(L))<0){if(j=="."){if(L>I){I=N;continue}}else if(!x&&(U==U.toUpperCase()&&(U=U.toLowerCase())||U==U.toLowerCase()&&(U=U.toUpperCase()))){x=!0,L=-1,I=0;continue}return W(B,String(w),P,A)}P=!1,U=M(U,A,10,B.s),(I=U.indexOf("."))>-1?U=U.replace(".",""):I=U.length}for(L=0;U.charCodeAt(L)===48;L++);for(N=U.length;U.charCodeAt(--N)===48;);if(U=U.slice(L,++N)){if(N-=L,P&&z.DEBUG&&N>15&&(w>f||w!==o(w)))throw Error(i+B.s*w);if((I=I-L-1)>be)B.c=B.e=null;else if(I<ke)B.c=[B.e=0];else{if(B.e=I,B.c=[],L=(I+1)%u,I<0&&(L+=u),L<N){for(L&&B.c.push(+U.slice(0,L)),N-=u;L<N;)B.c.push(+U.slice(L,L+=u));L=u-(U=U.slice(L)).length}else L-=N;for(;L--;U+="0");B.c.push(+U)}}else B.c=[B.e=0]}z.clone=S,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(w){var A,v;if(w!=null)if(typeof w=="object"){if(w.hasOwnProperty(A="DECIMAL_PLACES")&&(v=w[A],_(v,0,m,A),K=v),w.hasOwnProperty(A="ROUNDING_MODE")&&(v=w[A],_(v,0,8,A),re=v),w.hasOwnProperty(A="EXPONENTIAL_AT")&&(v=w[A],v&&v.pop?(_(v[0],-m,0,A),_(v[1],0,m,A),Q=v[0],se=v[1]):(_(v,-m,m,A),Q=-(se=v<0?-v:v))),w.hasOwnProperty(A="RANGE"))if(v=w[A],v&&v.pop)_(v[0],-m,-1,A),_(v[1],1,m,A),ke=v[0],be=v[1];else if(_(v,-m,m,A),v)ke=-(be=v<0?-v:v);else throw Error(s+A+" cannot be zero: "+v);if(w.hasOwnProperty(A="CRYPTO"))if(v=w[A],v===!!v)if(v)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))Re=v;else throw Re=!v,Error(s+"crypto unavailable");else Re=v;else throw Error(s+A+" not true or false: "+v);if(w.hasOwnProperty(A="MODULO_MODE")&&(v=w[A],_(v,0,9,A),X=v),w.hasOwnProperty(A="POW_PRECISION")&&(v=w[A],_(v,0,m,A),ie=v),w.hasOwnProperty(A="FORMAT"))if(v=w[A],typeof v=="object")te=v;else throw Error(s+A+" not an object: "+v);if(w.hasOwnProperty(A="ALPHABET"))if(v=w[A],typeof v=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(v))_e=v.slice(0,10)=="0123456789",Te=v;else throw Error(s+A+" invalid: "+v)}else throw Error(s+"Object expected: "+w);return{DECIMAL_PLACES:K,ROUNDING_MODE:re,EXPONENTIAL_AT:[Q,se],RANGE:[ke,be],CRYPTO:Re,MODULO_MODE:X,POW_PRECISION:ie,FORMAT:te,ALPHABET:Te}},z.isBigNumber=function(w){if(!w||w._isBigNumber!==!0)return!1;if(!z.DEBUG)return!0;var A,v,j=w.c,x=w.e,I=w.s;e:if({}.toString.call(j)=="[object Array]"){if((I===1||I===-1)&&x>=-m&&x<=m&&x===o(x)){if(j[0]===0){if(x===0&&j.length===1)return!0;break e}if(A=(x+1)%u,A<1&&(A+=u),String(j[0]).length==A){for(A=0;A<j.length;A++)if(v=j[A],v<0||v>=c||v!==o(v))break e;if(v!==0)return!0}}}else if(j===null&&x===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+w)},z.maximum=z.max=function(){return Ie(arguments,-1)},z.minimum=z.min=function(){return Ie(arguments,1)},z.random=(function(){var w=9007199254740992,A=Math.random()*w&2097151?function(){return o(Math.random()*w)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(v){var j,x,I,L,P,N=0,U=[],B=new z(oe);if(v==null?v=K:_(v,0,m),L=n(v/u),Re)if(crypto.getRandomValues){for(j=crypto.getRandomValues(new Uint32Array(L*=2));N<L;)P=j[N]*131072+(j[N+1]>>>11),P>=9e15?(x=crypto.getRandomValues(new Uint32Array(2)),j[N]=x[0],j[N+1]=x[1]):(U.push(P%1e14),N+=2);N=L/2}else if(crypto.randomBytes){for(j=crypto.randomBytes(L*=7);N<L;)P=(j[N]&31)*281474976710656+j[N+1]*1099511627776+j[N+2]*4294967296+j[N+3]*16777216+(j[N+4]<<16)+(j[N+5]<<8)+j[N+6],P>=9e15?crypto.randomBytes(7).copy(j,N):(U.push(P%1e14),N+=7);N=L/7}else throw Re=!1,Error(s+"crypto unavailable");if(!Re)for(;N<L;)P=A(),P<9e15&&(U[N++]=P%1e14);for(L=U[--N],v%=u,L&&v&&(P=d[u-v],U[N]=o(L/P)*P);U[N]===0;U.pop(),N--);if(N<0)U=[I=0];else{for(I=-1;U[0]===0;U.splice(0,1),I-=u);for(N=1,P=U[0];P>=10;P/=10,N++);N<u&&(I-=u-N)}return B.e=I,B.c=U,B}})(),z.sum=function(){for(var w=1,A=arguments,v=new z(A[0]);w<A.length;)v=v.plus(A[w++]);return v},M=(function(){var w="0123456789";function A(v,j,x,I){for(var L,P=[0],N,U=0,B=v.length;U<B;){for(N=P.length;N--;P[N]*=j);for(P[0]+=I.indexOf(v.charAt(U++)),L=0;L<P.length;L++)P[L]>x-1&&(P[L+1]==null&&(P[L+1]=0),P[L+1]+=P[L]/x|0,P[L]%=x)}return P.reverse()}return function(v,j,x,I,L){var P,N,U,B,G,ee,ae,Ce,ye=v.indexOf("."),he=K,pe=re;for(ye>=0&&(B=ie,ie=0,v=v.replace(".",""),Ce=new z(j),ee=Ce.pow(v.length-ye),ie=B,Ce.c=A(T(y(ee.c),ee.e,"0"),10,x,w),Ce.e=Ce.c.length),ae=A(v,j,x,L?(P=Te,w):(P=w,Te)),U=B=ae.length;ae[--B]==0;ae.pop());if(!ae[0])return P.charAt(0);if(ye<0?--U:(ee.c=ae,ee.e=U,ee.s=I,ee=D(ee,Ce,he,pe,x),ae=ee.c,G=ee.r,U=ee.e),N=U+he+1,ye=ae[N],B=x/2,G=G||N<0||ae[N+1]!=null,G=pe<4?(ye!=null||G)&&(pe==0||pe==(ee.s<0?3:2)):ye>B||ye==B&&(pe==4||G||pe==6&&ae[N-1]&1||pe==(ee.s<0?8:7)),N<1||!ae[0])v=G?T(P.charAt(1),-he,P.charAt(0)):P.charAt(0);else{if(ae.length=N,G)for(--x;++ae[--N]>x;)ae[N]=0,N||(++U,ae=[1].concat(ae));for(B=ae.length;!ae[--B];);for(ye=0,v="";ye<=B;v+=P.charAt(ae[ye++]));v=T(v,U,P.charAt(0))}return v}})(),D=(function(){function w(j,x,I){var L,P,N,U,B=0,G=j.length,ee=x%h,ae=x/h|0;for(j=j.slice();G--;)N=j[G]%h,U=j[G]/h|0,L=ae*N+U*ee,P=ee*N+L%h*h+B,B=(P/I|0)+(L/h|0)+ae*U,j[G]=P%I;return B&&(j=[B].concat(j)),j}function A(j,x,I,L){var P,N;if(I!=L)N=I>L?1:-1;else for(P=N=0;P<I;P++)if(j[P]!=x[P]){N=j[P]>x[P]?1:-1;break}return N}function v(j,x,I,L){for(var P=0;I--;)j[I]-=P,P=j[I]<x[I]?1:0,j[I]=P*L+j[I]-x[I];for(;!j[0]&&j.length>1;j.splice(0,1));}return function(j,x,I,L,P){var N,U,B,G,ee,ae,Ce,ye,he,pe,Oe,Ke,hr,Os,Eo,St,sn,dt=j.s==x.s?1:-1,Qe=j.c,Be=x.c;if(!Qe||!Qe[0]||!Be||!Be[0])return new z(!j.s||!x.s||(Qe?Be&&Qe[0]==Be[0]:!Be)?NaN:Qe&&Qe[0]==0||!Be?dt*0:dt/0);for(ye=new z(dt),he=ye.c=[],U=j.e-x.e,dt=I+U+1,P||(P=c,U=b(j.e/u)-b(x.e/u),dt=dt/u|0),B=0;Be[B]==(Qe[B]||0);B++);if(Be[B]>(Qe[B]||0)&&U--,dt<0)he.push(1),G=!0;else{for(Os=Qe.length,St=Be.length,B=0,dt+=2,ee=o(P/(Be[0]+1)),ee>1&&(Be=w(Be,ee,P),Qe=w(Qe,ee,P),St=Be.length,Os=Qe.length),hr=St,pe=Qe.slice(0,St),Oe=pe.length;Oe<St;pe[Oe++]=0);sn=Be.slice(),sn=[0].concat(sn),Eo=Be[0],Be[1]>=P/2&&Eo++;do{if(ee=0,N=A(Be,pe,St,Oe),N<0){if(Ke=pe[0],St!=Oe&&(Ke=Ke*P+(pe[1]||0)),ee=o(Ke/Eo),ee>1)for(ee>=P&&(ee=P-1),ae=w(Be,ee,P),Ce=ae.length,Oe=pe.length;A(ae,pe,Ce,Oe)==1;)ee--,v(ae,St<Ce?sn:Be,Ce,P),Ce=ae.length,N=1;else ee==0&&(N=ee=1),ae=Be.slice(),Ce=ae.length;if(Ce<Oe&&(ae=[0].concat(ae)),v(pe,ae,Oe,P),Oe=pe.length,N==-1)for(;A(Be,pe,St,Oe)<1;)ee++,v(pe,St<Oe?sn:Be,Oe,P),Oe=pe.length}else N===0&&(ee++,pe=[0]);he[B++]=ee,pe[0]?pe[Oe++]=Qe[hr]||0:(pe=[Qe[hr]],Oe=1)}while((hr++<Os||pe[0]!=null)&&dt--);G=pe[0]!=null,he[0]||he.splice(0,1)}if(P==c){for(B=1,dt=he[0];dt>=10;dt/=10,B++);de(ye,I+(ye.e=B+U*u-1)+1,L,G)}else ye.e=U,ye.r=+G;return ye}})();function me(w,A,v,j){var x,I,L,P,N;if(v==null?v=re:_(v,0,8),!w.c)return w.toString();if(x=w.c[0],L=w.e,A==null)N=y(w.c),N=j==1||j==2&&(L<=Q||L>=se)?k(N,L):T(N,L,"0");else if(w=de(new z(w),A,v),I=w.e,N=y(w.c),P=N.length,j==1||j==2&&(A<=I||I<=Q)){for(;P<A;N+="0",P++);N=k(N,I)}else if(A-=L+(j===2&&I>L),N=T(N,I,"0"),I+1>P){if(--A>0)for(N+=".";A--;N+="0");}else if(A+=I-P,A>0)for(I+1==P&&(N+=".");A--;N+="0");return w.s<0&&x?"-"+N:N}function Ie(w,A){for(var v,j,x=1,I=new z(w[0]);x<w.length;x++)j=new z(w[x]),(!j.s||(v=C(I,j))===A||v===0&&I.s===A)&&(I=j);return I}function Y(w,A,v){for(var j=1,x=A.length;!A[--x];A.pop());for(x=A[0];x>=10;x/=10,j++);return(v=j+v*u-1)>be?w.c=w.e=null:v<ke?w.c=[w.e=0]:(w.e=v,w.c=A),w}W=(function(){var w=/^(-?)0([xbo])(?=\w[\w.]*$)/i,A=/^([^.]+)\.$/,v=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,x=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,L,P,N){var U,B=P?L:L.replace(x,"");if(j.test(B))I.s=isNaN(B)?null:B<0?-1:1;else{if(!P&&(B=B.replace(w,function(G,ee,ae){return U=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!N||N==U?ee:G}),N&&(U=N,B=B.replace(A,"$1").replace(v,"0.$1")),L!=B))return new z(B,U);if(z.DEBUG)throw Error(s+"Not a"+(N?" base "+N:"")+" number: "+L);I.s=null}I.c=I.e=null}})();function de(w,A,v,j){var x,I,L,P,N,U,B,G=w.c,ee=d;if(G){e:{for(x=1,P=G[0];P>=10;P/=10,x++);if(I=A-x,I<0)I+=u,L=A,N=G[U=0],B=o(N/ee[x-L-1]%10);else if(U=n((I+1)/u),U>=G.length)if(j){for(;G.length<=U;G.push(0));N=B=0,x=1,I%=u,L=I-u+1}else break e;else{for(N=P=G[U],x=1;P>=10;P/=10,x++);I%=u,L=I-u+x,B=L<0?0:o(N/ee[x-L-1]%10)}if(j=j||A<0||G[U+1]!=null||(L<0?N:N%ee[x-L-1]),j=v<4?(B||j)&&(v==0||v==(w.s<0?3:2)):B>5||B==5&&(v==4||j||v==6&&(I>0?L>0?N/ee[x-L]:0:G[U-1])%10&1||v==(w.s<0?8:7)),A<1||!G[0])return G.length=0,j?(A-=w.e+1,G[0]=ee[(u-A%u)%u],w.e=-A||0):G[0]=w.e=0,w;if(I==0?(G.length=U,P=1,U--):(G.length=U+1,P=ee[u-I],G[U]=L>0?o(N/ee[x-L]%ee[L])*P:0),j)for(;;)if(U==0){for(I=1,L=G[0];L>=10;L/=10,I++);for(L=G[0]+=P,P=1;L>=10;L/=10,P++);I!=P&&(w.e++,G[0]==c&&(G[0]=1));break}else{if(G[U]+=P,G[U]!=c)break;G[U--]=0,P=1}for(I=G.length;G[--I]===0;G.pop());}w.e>be?w.c=w.e=null:w.e<ke&&(w.c=[w.e=0])}return w}function ne(w){var A,v=w.e;return v===null?w.toString():(A=y(w.c),A=v<=Q||v>=se?k(A,v):T(A,v,"0"),w.s<0?"-"+A:A)}return $.absoluteValue=$.abs=function(){var w=new z(this);return w.s<0&&(w.s=1),w},$.comparedTo=function(w,A){return C(this,new z(w,A))},$.decimalPlaces=$.dp=function(w,A){var v,j,x,I=this;if(w!=null)return _(w,0,m),A==null?A=re:_(A,0,8),de(new z(I),w+I.e+1,A);if(!(v=I.c))return null;if(j=((x=v.length-1)-b(this.e/u))*u,x=v[x])for(;x%10==0;x/=10,j--);return j<0&&(j=0),j},$.dividedBy=$.div=function(w,A){return D(this,new z(w,A),K,re)},$.dividedToIntegerBy=$.idiv=function(w,A){return D(this,new z(w,A),0,1)},$.exponentiatedBy=$.pow=function(w,A){var v,j,x,I,L,P,N,U,B,G=this;if(w=new z(w),w.c&&!w.isInteger())throw Error(s+"Exponent not an integer: "+ne(w));if(A!=null&&(A=new z(A)),P=w.e>14,!G.c||!G.c[0]||G.c[0]==1&&!G.e&&G.c.length==1||!w.c||!w.c[0])return B=new z(Math.pow(+ne(G),P?w.s*(2-R(w)):+ne(w))),A?B.mod(A):B;if(N=w.s<0,A){if(A.c?!A.c[0]:!A.s)return new z(NaN);j=!N&&G.isInteger()&&A.isInteger(),j&&(G=G.mod(A))}else{if(w.e>9&&(G.e>0||G.e<-1||(G.e==0?G.c[0]>1||P&&G.c[1]>=24e7:G.c[0]<8e13||P&&G.c[0]<=9999975e7)))return I=G.s<0&&R(w)?-0:0,G.e>-1&&(I=1/I),new z(N?1/I:I);ie&&(I=n(ie/u+2))}for(P?(v=new z(.5),N&&(w.s=1),U=R(w)):(x=Math.abs(+ne(w)),U=x%2),B=new z(oe);;){if(U){if(B=B.times(G),!B.c)break;I?B.c.length>I&&(B.c.length=I):j&&(B=B.mod(A))}if(x){if(x=o(x/2),x===0)break;U=x%2}else if(w=w.times(v),de(w,w.e+1,1),w.e>14)U=R(w);else{if(x=+ne(w),x===0)break;U=x%2}G=G.times(G),I?G.c&&G.c.length>I&&(G.c.length=I):j&&(G=G.mod(A))}return j?B:(N&&(B=oe.div(B)),A?B.mod(A):I?de(B,ie,re,L):B)},$.integerValue=function(w){var A=new z(this);return w==null?w=re:_(w,0,8),de(A,A.e+1,w)},$.isEqualTo=$.eq=function(w,A){return C(this,new z(w,A))===0},$.isFinite=function(){return!!this.c},$.isGreaterThan=$.gt=function(w,A){return C(this,new z(w,A))>0},$.isGreaterThanOrEqualTo=$.gte=function(w,A){return(A=C(this,new z(w,A)))===1||A===0},$.isInteger=function(){return!!this.c&&b(this.e/u)>this.c.length-2},$.isLessThan=$.lt=function(w,A){return C(this,new z(w,A))<0},$.isLessThanOrEqualTo=$.lte=function(w,A){return(A=C(this,new z(w,A)))===-1||A===0},$.isNaN=function(){return!this.s},$.isNegative=function(){return this.s<0},$.isPositive=function(){return this.s>0},$.isZero=function(){return!!this.c&&this.c[0]==0},$.minus=function(w,A){var v,j,x,I,L=this,P=L.s;if(w=new z(w,A),A=w.s,!P||!A)return new z(NaN);if(P!=A)return w.s=-A,L.plus(w);var N=L.e/u,U=w.e/u,B=L.c,G=w.c;if(!N||!U){if(!B||!G)return B?(w.s=-A,w):new z(G?L:NaN);if(!B[0]||!G[0])return G[0]?(w.s=-A,w):new z(B[0]?L:re==3?-0:0)}if(N=b(N),U=b(U),B=B.slice(),P=N-U){for((I=P<0)?(P=-P,x=B):(U=N,x=G),x.reverse(),A=P;A--;x.push(0));x.reverse()}else for(j=(I=(P=B.length)<(A=G.length))?P:A,P=A=0;A<j;A++)if(B[A]!=G[A]){I=B[A]<G[A];break}if(I&&(x=B,B=G,G=x,w.s=-w.s),A=(j=G.length)-(v=B.length),A>0)for(;A--;B[v++]=0);for(A=c-1;j>P;){if(B[--j]<G[j]){for(v=j;v&&!B[--v];B[v]=A);--B[v],B[j]+=c}B[j]-=G[j]}for(;B[0]==0;B.splice(0,1),--U);return B[0]?Y(w,B,U):(w.s=re==3?-1:1,w.c=[w.e=0],w)},$.modulo=$.mod=function(w,A){var v,j,x=this;return w=new z(w,A),!x.c||!w.s||w.c&&!w.c[0]?new z(NaN):!w.c||x.c&&!x.c[0]?new z(x):(X==9?(j=w.s,w.s=1,v=D(x,w,0,3),w.s=j,v.s*=j):v=D(x,w,0,X),w=x.minus(v.times(w)),!w.c[0]&&X==1&&(w.s=x.s),w)},$.multipliedBy=$.times=function(w,A){var v,j,x,I,L,P,N,U,B,G,ee,ae,Ce,ye,he,pe=this,Oe=pe.c,Ke=(w=new z(w,A)).c;if(!Oe||!Ke||!Oe[0]||!Ke[0])return!pe.s||!w.s||Oe&&!Oe[0]&&!Ke||Ke&&!Ke[0]&&!Oe?w.c=w.e=w.s=null:(w.s*=pe.s,!Oe||!Ke?w.c=w.e=null:(w.c=[0],w.e=0)),w;for(j=b(pe.e/u)+b(w.e/u),w.s*=pe.s,N=Oe.length,G=Ke.length,N<G&&(Ce=Oe,Oe=Ke,Ke=Ce,x=N,N=G,G=x),x=N+G,Ce=[];x--;Ce.push(0));for(ye=c,he=h,x=G;--x>=0;){for(v=0,ee=Ke[x]%he,ae=Ke[x]/he|0,L=N,I=x+L;I>x;)U=Oe[--L]%he,B=Oe[L]/he|0,P=ae*U+B*ee,U=ee*U+P%he*he+Ce[I]+v,v=(U/ye|0)+(P/he|0)+ae*B,Ce[I--]=U%ye;Ce[I]=v}return v?++j:Ce.splice(0,1),Y(w,Ce,j)},$.negated=function(){var w=new z(this);return w.s=-w.s||null,w},$.plus=function(w,A){var v,j=this,x=j.s;if(w=new z(w,A),A=w.s,!x||!A)return new z(NaN);if(x!=A)return w.s=-A,j.minus(w);var I=j.e/u,L=w.e/u,P=j.c,N=w.c;if(!I||!L){if(!P||!N)return new z(x/0);if(!P[0]||!N[0])return N[0]?w:new z(P[0]?j:x*0)}if(I=b(I),L=b(L),P=P.slice(),x=I-L){for(x>0?(L=I,v=N):(x=-x,v=P),v.reverse();x--;v.push(0));v.reverse()}for(x=P.length,A=N.length,x-A<0&&(v=N,N=P,P=v,A=x),x=0;A;)x=(P[--A]=P[A]+N[A]+x)/c|0,P[A]=c===P[A]?0:P[A]%c;return x&&(P=[x].concat(P),++L),Y(w,P,L)},$.precision=$.sd=function(w,A){var v,j,x,I=this;if(w!=null&&w!==!!w)return _(w,1,m),A==null?A=re:_(A,0,8),de(new z(I),w,A);if(!(v=I.c))return null;if(x=v.length-1,j=x*u+1,x=v[x]){for(;x%10==0;x/=10,j--);for(x=v[0];x>=10;x/=10,j++);}return w&&I.e+1>j&&(j=I.e+1),j},$.shiftedBy=function(w){return _(w,-f,f),this.times("1e"+w)},$.squareRoot=$.sqrt=function(){var w,A,v,j,x,I=this,L=I.c,P=I.s,N=I.e,U=K+4,B=new z("0.5");if(P!==1||!L||!L[0])return new z(!P||P<0&&(!L||L[0])?NaN:L?I:1/0);if(P=Math.sqrt(+ne(I)),P==0||P==1/0?(A=y(L),(A.length+N)%2==0&&(A+="0"),P=Math.sqrt(+A),N=b((N+1)/2)-(N<0||N%2),P==1/0?A="5e"+N:(A=P.toExponential(),A=A.slice(0,A.indexOf("e")+1)+N),v=new z(A)):v=new z(P+""),v.c[0]){for(N=v.e,P=N+U,P<3&&(P=0);;)if(x=v,v=B.times(x.plus(D(I,x,U,1))),y(x.c).slice(0,P)===(A=y(v.c)).slice(0,P))if(v.e<N&&--P,A=A.slice(P-3,P+1),A=="9999"||!j&&A=="4999"){if(!j&&(de(x,x.e+K+2,0),x.times(x).eq(I))){v=x;break}U+=4,P+=4,j=1}else{(!+A||!+A.slice(1)&&A.charAt(0)=="5")&&(de(v,v.e+K+2,1),w=!v.times(v).eq(I));break}}return de(v,v.e+K+1,re,w)},$.toExponential=function(w,A){return w!=null&&(_(w,0,m),w++),me(this,w,A,1)},$.toFixed=function(w,A){return w!=null&&(_(w,0,m),w=w+this.e+1),me(this,w,A)},$.toFormat=function(w,A,v){var j,x=this;if(v==null)w!=null&&A&&typeof A=="object"?(v=A,A=null):w&&typeof w=="object"?(v=w,w=A=null):v=te;else if(typeof v!="object")throw Error(s+"Argument not an object: "+v);if(j=x.toFixed(w,A),x.c){var I,L=j.split("."),P=+v.groupSize,N=+v.secondaryGroupSize,U=v.groupSeparator||"",B=L[0],G=L[1],ee=x.s<0,ae=ee?B.slice(1):B,Ce=ae.length;if(N&&(I=P,P=N,N=I,Ce-=I),P>0&&Ce>0){for(I=Ce%P||P,B=ae.substr(0,I);I<Ce;I+=P)B+=U+ae.substr(I,P);N>0&&(B+=U+ae.slice(I)),ee&&(B="-"+B)}j=G?B+(v.decimalSeparator||"")+((N=+v.fractionGroupSize)?G.replace(new RegExp("\\d{"+N+"}\\B","g"),"$&"+(v.fractionGroupSeparator||"")):G):B}return(v.prefix||"")+j+(v.suffix||"")},$.toFraction=function(w){var A,v,j,x,I,L,P,N,U,B,G,ee,ae=this,Ce=ae.c;if(w!=null&&(P=new z(w),!P.isInteger()&&(P.c||P.s!==1)||P.lt(oe)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+ne(P));if(!Ce)return new z(ae);for(A=new z(oe),U=v=new z(oe),j=N=new z(oe),ee=y(Ce),I=A.e=ee.length-ae.e-1,A.c[0]=d[(L=I%u)<0?u+L:L],w=!w||P.comparedTo(A)>0?I>0?A:U:P,L=be,be=1/0,P=new z(ee),N.c[0]=0;B=D(P,A,0,1),x=v.plus(B.times(j)),x.comparedTo(w)!=1;)v=j,j=x,U=N.plus(B.times(x=U)),N=x,A=P.minus(B.times(x=A)),P=x;return x=D(w.minus(v),j,0,1),N=N.plus(x.times(U)),v=v.plus(x.times(j)),N.s=U.s=ae.s,I=I*2,G=D(U,j,I,re).minus(ae).abs().comparedTo(D(N,v,I,re).minus(ae).abs())<1?[U,j]:[N,v],be=L,G},$.toNumber=function(){return+ne(this)},$.toPrecision=function(w,A){return w!=null&&_(w,1,m),me(this,w,A,2)},$.toString=function(w){var A,v=this,j=v.s,x=v.e;return x===null?j?(A="Infinity",j<0&&(A="-"+A)):A="NaN":(w==null?A=x<=Q||x>=se?k(y(v.c),x):T(y(v.c),x,"0"):w===10&&_e?(v=de(new z(v),K+x+1,re),A=T(y(v.c),v.e,"0")):(_(w,2,Te.length,"Base"),A=M(T(y(v.c),x,"0"),10,w,j,!0)),j<0&&v.c[0]&&(A="-"+A)),A},$.valueOf=$.toJSON=function(){return ne(this)},$._isBigNumber=!0,O!=null&&z.set(O),z}function b(O){var D=O|0;return O>0||O===D?D:D-1}function y(O){for(var D,M,W=1,$=O.length,oe=O[0]+"";W<$;){for(D=O[W++]+"",M=u-D.length;M--;D="0"+D);oe+=D}for($=oe.length;oe.charCodeAt(--$)===48;);return oe.slice(0,$+1||1)}function C(O,D){var M,W,$=O.c,oe=D.c,K=O.s,re=D.s,Q=O.e,se=D.e;if(!K||!re)return null;if(M=$&&!$[0],W=oe&&!oe[0],M||W)return M?W?0:-re:K;if(K!=re)return K;if(M=K<0,W=Q==se,!$||!oe)return W?0:!$^M?1:-1;if(!W)return Q>se^M?1:-1;for(re=(Q=$.length)<(se=oe.length)?Q:se,K=0;K<re;K++)if($[K]!=oe[K])return $[K]>oe[K]^M?1:-1;return Q==se?0:Q>se^M?1:-1}function _(O,D,M,W){if(O<D||O>M||O!==o(O))throw Error(s+(W||"Argument")+(typeof O=="number"?O<D||O>M?" out of range: ":" not an integer: ":" not a primitive number: ")+String(O))}function R(O){var D=O.c.length-1;return b(O.e/u)==D&&O.c[D]%2!=0}function k(O,D){return(O.length>1?O.charAt(0)+"."+O.slice(1):O)+(D<0?"e":"e+")+D}function T(O,D,M){var W,$;if(D<0){for($=M+".";++D;$+=M);O=$+O}else if(W=O.length,++D>W){for($=M,D-=W;--D;$+=M);O+=$}else D<W&&(O=O.slice(0,D)+"."+O.slice(D));return O}e=S(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Nc<"u"&&Nc.exports?Nc.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(RC)});var PC=V((fU,OC)=>{var DC=rh(),xC=OC.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;function c(f){return r.lastIndex=0,r.test(f)?'"'+f.replace(r,function(d){var h=s[d];return typeof h=="string"?h:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function u(f,d){var h,m,S,b,y=n,C,_=d[f],R=_!=null&&(_ instanceof DC||DC.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(f)),typeof i=="function"&&(_=i.call(d,f,_)),typeof _){case"string":return R?_:c(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(n+=o,C=[],Object.prototype.toString.apply(_)==="[object Array]"){for(b=_.length,h=0;h<b;h+=1)C[h]=u(h,_)||"null";return S=C.length===0?"[]":n?`[
|
|
44
|
+
`+n+C.join(`,
|
|
45
45
|
`+n)+`
|
|
46
|
-
`+
|
|
47
|
-
`+n+
|
|
46
|
+
`+y+"]":"["+C.join(",")+"]",n=y,S}if(i&&typeof i=="object")for(b=i.length,h=0;h<b;h+=1)typeof i[h]=="string"&&(m=i[h],S=u(m,_),S&&C.push(c(m)+(n?": ":":")+S));else Object.keys(_).forEach(function(k){var T=u(k,_);T&&C.push(c(k)+(n?": ":":")+T)});return S=C.length===0?"{}":n?`{
|
|
47
|
+
`+n+C.join(`,
|
|
48
48
|
`+n)+`
|
|
49
|
-
`+
|
|
50
|
-
`,r:"\r",t:" "},s,a=function(_){throw{name:"SyntaxError",message:_,at:r,text:s}},u=function(_){return _&&_!==n&&a("Expected '"+_+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},c=function(){var _,b="";for(n==="-"&&(b="-",u("-"));n>="0"&&n<="9";)b+=n,u();if(n===".")for(b+=".";u()&&n>="0"&&n<="9";)b+=n;if(n==="e"||n==="E")for(b+=n,u(),(n==="-"||n==="+")&&(b+=n,u());n>="0"&&n<="9";)b+=n,u();if(_=+b,!isFinite(_))a("Bad number");else return aa==null&&(aa=Dl()),b.length>15?e.storeAsString?b:e.useNativeBigInt?BigInt(b):new aa(b):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new aa(_):_},f=function(){var _,b,m="",v;if(n==='"')for(var k=r;u();){if(n==='"')return r-1>k&&(m+=s.substring(k,r-1)),u(),m;if(n==="\\"){if(r-1>k&&(m+=s.substring(k,r-1)),u(),n==="u"){for(v=0,b=0;b<4&&(_=parseInt(u(),16),!!isFinite(_));b+=1)v=v*16+_;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;k=r}}a("Bad string")},d=function(){for(;n&&n<=" ";)u()},p=function(){switch(n){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+n+"'")},y,A=function(){var _=[];if(n==="["){if(u("["),d(),n==="]")return u("]"),_;for(;n;){if(_.push(y()),d(),n==="]")return u("]"),_;u(","),d()}}a("Bad array")},g=function(){var _,b=Object.create(null);if(n==="{"){if(u("{"),d(),n==="}")return u("}"),b;for(;n;){if(_=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(b,_)&&a('Duplicate key "'+_+'"'),oS.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():b[_]=y():sS.test(_)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?y():b[_]=y():b[_]=y(),d(),n==="}")return u("}"),b;u(","),d()}}a("Bad object")};return y=function(){switch(d(),n){case"{":return g();case"[":return A();case'"':return f();case"-":return c();default:return n>="0"&&n<="9"?c():p()}},function(_,b){var m;return s=_+"",r=0,n=" ",m=y(),d(),n&&a("Syntax error"),typeof b=="function"?(function v(k,w){var T,O,N=k[w];return N&&typeof N=="object"&&Object.keys(N).forEach(function(G){O=v(N,G),O!==void 0?N[G]=O:delete N[G]}),b.call(k,w,N)})({"":m},""):m}};ry.exports=iS});var iy=J((bP,ua)=>{var oy=ty().stringify,sy=ny();ua.exports=function(t){return{parse:sy(t),stringify:oy}};ua.exports.parse=sy();ua.exports.stringify=oy});var vl=J(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.GCE_LINUX_BIOS_PATHS=void 0;Wt.isGoogleCloudServerless=cy;Wt.isGoogleComputeEngineLinux=ly;Wt.isGoogleComputeEngineMACAddress=fy;Wt.isGoogleComputeEngine=dy;Wt.detectGCPResidency=uS;var ay=require("fs"),uy=require("os");Wt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var aS=/^42:01/;function cy(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function ly(){if((0,uy.platform)()!=="linux")return!1;try{(0,ay.statSync)(Wt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,ay.readFileSync)(Wt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function fy(){let t=(0,uy.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(aS.test(r))return!0}return!1}function dy(){return ly()||fy()}function uS(){return cy()||dy()}});var hy=J(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.Colours=void 0;var nt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};ca.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var yy=J(ve=>{"use strict";var cS=ve&&ve.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),lS=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),py=ve&&ve.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&cS(r,e,n[o]);return lS(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=xl;ve.getDebugBackend=dS;ve.getStructuredBackend=hS;ve.setBackend=pS;ve.log=my;var fS=require("events"),us=py(require("process")),gy=py(require("util")),Ct=hy(),Gt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Gt||(ve.LogSeverity=Gt={}));var cs=class extends fS.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(Gt.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Gt.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Gt.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Gt.ERROR,...n),this.func.sublog=n=>my(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};ve.AdhocDebugLogger=cs;ve.placeholder=new cs("",()=>{}).func;var lo=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=us.env[ve.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};ve.DebugLogBackendBase=lo;var Rl=class extends lo{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${Ct.Colours.green}${e}${Ct.Colours.reset}`,a=`${Ct.Colours.yellow}${us.pid}${Ct.Colours.reset}`,u;switch(r.severity){case Gt.ERROR:u=`${Ct.Colours.red}${r.severity}${Ct.Colours.reset}`;break;case Gt.INFO:u=`${Ct.Colours.magenta}${r.severity}${Ct.Colours.reset}`;break;case Gt.WARNING:u=`${Ct.Colours.yellow}${r.severity}${Ct.Colours.reset}`;break;default:u=(o=r.severity)!==null&&o!==void 0?o:Gt.DEFAULT;break}let c=gy.formatWithOptions({colors:Ct.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${Ct.Colours.grey}${d}${Ct.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,c,d?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function xl(){return new Rl}var Ol=class extends lo{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=us.env.NODE_DEBUG)!==null&&e!==void 0?e:"";us.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function dS(t){return new Ol(t)}var Fl=class extends lo{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let u=(a=o.severity)!==null&&a!==void 0?a:Gt.INFO,c=Object.assign({severity:u,message:gy.format(...s)},o),f=JSON.stringify(c);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function hS(t){return new Fl(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Pl=new Map,wt;function pS(t){wt=t,Pl.clear()}function my(t,e){if(!wt&&!us.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Pl.get(t);if(r)return r.func;if(wt===null)return ve.placeholder;wt===void 0&&(wt=xl());let n=(()=>{let o;return new cs(t,(a,...u)=>{if(o!==wt){if(wt===null)return;wt===void 0&&(wt=xl()),o=wt}wt?.log(t,a,...u)})})();return Pl.set(t,n),n.func}});var Il=J(xn=>{"use strict";var gS=xn&&xn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),mS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&gS(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});mS(yy(),xn)});var fs=J(ce=>{"use strict";var by=ce&&ce.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),yS=ce&&ce.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_S=ce&&ce.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&by(r,e,n[o]);return yS(r,e),r}})(),bS=ce&&ce.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&by(e,t,r)};Object.defineProperty(ce,"__esModule",{value:!0});ce.gcpResidencyCache=ce.METADATA_SERVER_DETECTION=ce.HEADERS=ce.HEADER_VALUE=ce.HEADER_NAME=ce.SECONDARY_HOST_ADDRESS=ce.HOST_ADDRESS=ce.BASE_PATH=void 0;ce.instance=AS;ce.project=TS;ce.universe=DS;ce.bulk=vS;ce.isAvailable=xS;ce.resetIsAvailableCache=OS;ce.getGCPResidency=jl;ce.setGCPResidency=Cy;ce.requestTimeout=wy;var Nl=et(),CS=iy(),wS=vl(),ES=_S(Il());ce.BASE_PATH="/computeMetadata/v1";ce.HOST_ADDRESS="http://169.254.169.254";ce.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ce.HEADER_NAME="Metadata-Flavor";ce.HEADER_VALUE="Google";ce.HEADERS=Object.freeze({[ce.HEADER_NAME]:ce.HEADER_VALUE});var _y=ES.log("gcp-metadata");ce.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Bl(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ce.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ce.BASE_PATH,t).href}function kS(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function ls(t,e={},r=3,n=!1){let o=new Headers(ce.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((y,A)=>o.set(A,y)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(kS(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let u=n?SS:Nl.request,c={url:`${Bl()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:wy()};_y.info("instance request %j",c);let f=await u(c);_y.info("instance metadata is %s",f.data);let d=f.headers.get(ce.HEADER_NAME);if(d!==ce.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ce.HEADER_NAME} header. Expected '${ce.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return CS.parse(f.data)}catch{}return f.data}async function SS(t){let e={...t,url:t.url?.toString().replace(Bl(),Bl(ce.SECONDARY_HOST_ADDRESS))},r=(0,Nl.request)(t),n=(0,Nl.request)(e);return Promise.any([r,n])}function AS(t){return ls("instance",t)}function TS(t){return ls("project",t)}function DS(t){return ls("universe",t)}async function vS(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await ls(r),o=r.metadataKey;e[o]=n})())),e}function RS(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var la;async function xS(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ce.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ce.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return jl();case"ping-only":}}try{return la===void 0&&(la=ls("instance",void 0,RS(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await la,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function OS(){la=void 0}ce.gcpResidencyCache=null;function jl(){return ce.gcpResidencyCache===null&&Cy(),ce.gcpResidencyCache}function Cy(t=null){ce.gcpResidencyCache=t!==null?t:(0,wS.detectGCPResidency)()}function wy(){return jl()?0:3e3}bS(vl(),ce)});var Sy=J(fa=>{"use strict";fa.byteLength=PS;fa.toByteArray=NS;fa.fromByteArray=MS;var nr=[],Pt=[],FS=typeof Uint8Array<"u"?Uint8Array:Array,Ml="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(On=0,Ey=Ml.length;On<Ey;++On)nr[On]=Ml[On],Pt[Ml.charCodeAt(On)]=On;var On,Ey;Pt[45]=62;Pt[95]=63;function ky(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function PS(t){var e=ky(t),r=e[0],n=e[1];return(r+n)*3/4-n}function IS(t,e,r){return(e+r)*3/4-r}function NS(t){var e,r=ky(t),n=r[0],o=r[1],s=new FS(IS(t,n,o)),a=0,u=o>0?n-4:n,c;for(c=0;c<u;c+=4)e=Pt[t.charCodeAt(c)]<<18|Pt[t.charCodeAt(c+1)]<<12|Pt[t.charCodeAt(c+2)]<<6|Pt[t.charCodeAt(c+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Pt[t.charCodeAt(c)]<<2|Pt[t.charCodeAt(c+1)]>>4,s[a++]=e&255),o===1&&(e=Pt[t.charCodeAt(c)]<<10|Pt[t.charCodeAt(c+1)]<<4|Pt[t.charCodeAt(c+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function BS(t){return nr[t>>18&63]+nr[t>>12&63]+nr[t>>6&63]+nr[t&63]}function jS(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(BS(n));return o.join("")}function MS(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(jS(t,a,a+s>u?u:a+s));return n===1?(e=t[r-1],o.push(nr[e>>2]+nr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(nr[e>>10]+nr[e>>4&63]+nr[e<<2&63]+"=")),o.join("")}});var Ll=J(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.fromArrayBufferToHex=US;function US(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Ay=J(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.BrowserCrypto=void 0;var fo=Sy(),LS=Ll(),ql=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return fo.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),fo.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=fo.toByteArray(t.padBase64(n)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return fo.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=fo.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return fo.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,LS.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};da.BrowserCrypto=ql});var Ty=J(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.NodeCrypto=void 0;var ho=require("crypto"),$l=class{async sha256DigestBase64(e){return ho.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return ho.randomBytes(e).toString("base64")}async verify(e,r,n){let o=ho.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=ho.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return ho.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:$S(e);return qS(ho.createHmac("sha256",n).update(r).digest())}};ha.NodeCrypto=$l;function qS(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function $S(t){return Buffer.from(t)}});var ds=J(Dr=>{"use strict";var zS=Dr&&Dr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),HS=Dr&&Dr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zS(e,t,r)};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.createCrypto=JS;Dr.hasBrowserCrypto=Dy;var WS=Ay(),GS=Ty();HS(Ll(),Dr);function JS(){return Dy()?new WS.BrowserCrypto:new GS.NodeCrypto}function Dy(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var po=J((zl,Ry)=>{var pa=require("buffer"),or=pa.Buffer;function vy(t,e){for(var r in t)e[r]=t[r]}or.from&&or.alloc&&or.allocUnsafe&&or.allocUnsafeSlow?Ry.exports=pa:(vy(pa,zl),zl.Buffer=Fn);function Fn(t,e,r){return or(t,e,r)}Fn.prototype=Object.create(or.prototype);vy(or,Fn);Fn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return or(t,e,r)};Fn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=or(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};Fn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return or(t)};Fn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return pa.SlowBuffer(t)}});var Oy=J((xP,xy)=>{"use strict";function Hl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var VS={ES256:Hl(256),ES384:Hl(384),ES512:Hl(521)};function KS(t){var e=VS[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}xy.exports=KS});var Wl=J((OP,jy)=>{"use strict";var ga=po().Buffer,Py=Oy(),ma=128,Iy=0,YS=32,XS=16,QS=2,Ny=XS|YS|Iy<<6,ya=QS|Iy<<6;function ZS(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function By(t){if(ga.isBuffer(t))return t;if(typeof t=="string")return ga.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function eA(t,e){t=By(t);var r=Py(e),n=r+1,o=t.length,s=0;if(t[s++]!==Ny)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ma|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==ya)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(n<u)throw new Error('"r" specified length of "'+u+'", max of "'+n+'" is acceptable');var c=s;if(s+=u,t[s++]!==ya)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(n<f)throw new Error('"s" specified length of "'+f+'", max of "'+n+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-u,y=r-f,A=ga.allocUnsafe(p+u+y+f);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,c+Math.max(-p,0),c+u),s=r;for(var g=s;s<g+y;++s)A[s]=0;return t.copy(A,s,d+Math.max(-y,0),d+f),A=A.toString("base64"),A=ZS(A),A}function Fy(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=ma;return o&&--n,n}function tA(t,e){t=By(t);var r=Py(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=Fy(t,0,r),s=Fy(t,r,t.length),a=r-o,u=r-s,c=2+a+1+1+u,f=c<ma,d=ga.allocUnsafe((f?2:3)+c),p=0;return d[p++]=Ny,f?d[p++]=c:(d[p++]=ma|1,d[p++]=c&255),d[p++]=ya,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=ya,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}jy.exports={derToJose:eA,joseToDer:tA}});var Jt=J(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.LRUCache=void 0;vr.snakeToCamel=Uy;vr.originalOrCamelOptions=sA;vr.removeUndefinedValuesInObject=iA;vr.isValidFile=aA;vr.getWellKnownCertificateConfigFileLocation=uA;var rA=require("fs"),nA=require("os"),Gl=require("path"),oA="certificate_config.json",My="gcloud";function Uy(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function sA(t){function e(r){let n=t||{};return n[r]??n[Uy(r)]}return{get:e}}var Jl=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};vr.LRUCache=Jl;function iA(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function aA(t){try{return(await rA.promises.lstat(t)).isFile()}catch{return!1}}function uA(){let t=process.env.CLOUDSDK_CONFIG||(cA()?Gl.join(process.env.APPDATA||"",My):Gl.join(process.env.HOME||"",".config",My));return Gl.join(t,oA)}function cA(){return nA.platform().startsWith("win")}});var Ly=J((PP,lA)=>{lA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var Vl=J(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.USER_AGENT=en.PRODUCT_NAME=en.pkg=void 0;var qy=Ly();en.pkg=qy;var $y="google-api-nodejs-client";en.PRODUCT_NAME=$y;var fA=`${$y}/${qy.version}`;en.USER_AGENT=fA});var Et=J(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.AuthClient=Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Vt.DEFAULT_UNIVERSE=void 0;var dA=require("events"),Kl=et(),hA=Jt(),pA=Il(),Yl=Vl();Vt.DEFAULT_UNIVERSE="googleapis.com";Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Xl=class t extends dA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Vt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,hA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Vt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Kl.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Kl.Gaxios.mergeHeaders(s,r.headers),n&&Kl.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,pA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${Yl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${Yl.USER_AGENT}`):e.headers.set("User-Agent",Yl.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Vt.AuthClient=Xl});var Zl=J(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.LoginTicket=void 0;var Ql=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};_a.LoginTicket=Ql});var Pn=J(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.OAuth2Client=sr.ClientAuthentication=sr.CertificateFormat=sr.CodeChallengeMethod=void 0;var zy=et(),gA=require("querystring"),mA=require("stream"),yA=Wl(),Hy=Jt(),ef=ds(),go=Et(),_A=Zl(),Wy;(function(t){t.Plain="plain",t.S256="S256"})(Wy||(sr.CodeChallengeMethod=Wy={}));var Rr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Rr||(sr.CertificateFormat=Rr={}));var hs;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(hs||(sr.ClientAuthentication=hs={}));var tf=class t extends go.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Rr.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||hs.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+gA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ef.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===hs.ClientSecretBasic){let c=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${c.toString("base64")}`)}this.clientAuthentication===hs.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Hy.removeUndefinedValuesInObject)(o)),headers:n};go.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Hy.removeUndefinedValuesInObject)(n))};go.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof zy.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let u=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let c=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(c)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(u){let c=u;throw c.response&&(c.response.status===403||c.response.status===404)&&(c.message=`Could not refresh access token: ${c.message}`),c}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(go.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=zy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,c=o.config.data instanceof mA.Readable,f=s===401||s===403;if(!r&&f&&!c&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!c&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,ef.hasBrowserCrypto)()?Rr.JWK:Rr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Rr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Rr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};go.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),n=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=n?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(r){case Rr.PEM:u=n.data;break;case Rr.JWK:for(let f of n.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${r}`)}let c=new Date;return this.certificateExpiry=a===-1?null:new Date(c.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=r,{certs:u,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};go.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,ef.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let c=u[0]+"."+u[1],f=u[2],d,p;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token envelope: ${u[0]}': ${k.message}`),k}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token payload '${u[0]}`),k}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(r,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let y=r[d.kid];if(d.alg==="ES256"&&(f=yA.joseToDer(f,"ES256").toString("base64")),!await a.verify(y,c,f))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let g=Number(p.iat);if(isNaN(g))throw new Error("iat field using invalid format");let _=Number(p.exp);if(isNaN(_))throw new Error("exp field using invalid format");let b=new Date().getTime()/1e3;if(_>=b+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=g-t.CLOCK_SKEW_SECS_,v=_+t.CLOCK_SKEW_SECS_;if(b<m)throw new Error("Token used too early, "+b+" < "+m+": "+JSON.stringify(p));if(b>v)throw new Error("Token used too late, "+b+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let k=p.aud,w=!1;if(n.constructor===Array?w=n.indexOf(k)>-1:w=k===n,!w)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new _A.LoginTicket(d,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};sr.OAuth2Client=tf});var nf=J(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.Compute=void 0;var bA=et(),Gy=fs(),CA=Pn(),rf=class extends CA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await Gy.instance(o)}catch(o){throw o instanceof bA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await Gy.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};ba.Compute=rf});var sf=J(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.IdTokenClient=void 0;var wA=Pn(),of=class extends wA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};Ca.IdTokenClient=of});var af=J(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.GCPEnv=void 0;mo.clear=EA;mo.getEnv=kA;var Jy=fs(),ir;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(ir||(mo.GCPEnv=ir={}));var ps;function EA(){ps=void 0}async function kA(){return ps||(ps=SA(),ps)}async function SA(){let t=ir.NONE;return AA()?t=ir.APP_ENGINE:TA()?t=ir.CLOUD_FUNCTIONS:await xA()?await RA()?t=ir.KUBERNETES_ENGINE:DA()?t=ir.CLOUD_RUN:vA()?t=ir.CLOUD_RUN_JOBS:t=ir.COMPUTE_ENGINE:t=ir.NONE,t}function AA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function TA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function DA(){return!!process.env.K_CONFIGURATION}function vA(){return!!process.env.CLOUD_RUN_JOB}async function RA(){try{return await Jy.instance("attributes/cluster-name"),!0}catch{return!1}}async function xA(){return Jy.isAvailable()}});var uf=J((qP,Vy)=>{var wa=po().Buffer,OA=require("stream"),FA=require("util");function Ea(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=wa.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=wa.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}FA.inherits(Ea,OA);Ea.prototype.write=function(e){this.buffer=wa.concat([this.buffer,wa.from(e)]),this.emit("data",e)};Ea.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Vy.exports=Ea});var Yy=J(($P,Ky)=>{"use strict";var gs=require("buffer").Buffer,cf=require("buffer").SlowBuffer;Ky.exports=ka;function ka(t,e){if(!gs.isBuffer(t)||!gs.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}ka.install=function(){gs.prototype.equal=cf.prototype.equal=function(e){return ka(this,e)}};var PA=gs.prototype.equal,IA=cf.prototype.equal;ka.restore=function(){gs.prototype.equal=PA,cf.prototype.equal=IA}});var hf=J((zP,s_)=>{var _o=po().Buffer,It=require("crypto"),Qy=Wl(),Xy=require("util"),NA=`"%s" is not a valid algorithm.
|
|
49
|
+
`+y+"}":"{"+C.join(",")+"}",n=y,S}}typeof xC.stringify!="function"&&(xC.stringify=function(f,d,h){var m;if(n="",o="",typeof h=="number")for(m=0;m<h;m+=1)o+=" ";else typeof h=="string"&&(o=h);if(i=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return u("",{"":f})})})()});var IC=V((hU,FC)=>{var Mc=null,QR=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,ZR=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,eD=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
50
|
+
`,r:"\r",t:" "},s,i=function(y){throw{name:"SyntaxError",message:y,at:r,text:s}},c=function(y){return y&&y!==n&&i("Expected '"+y+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},u=function(){var y,C="";for(n==="-"&&(C="-",c("-"));n>="0"&&n<="9";)C+=n,c();if(n===".")for(C+=".";c()&&n>="0"&&n<="9";)C+=n;if(n==="e"||n==="E")for(C+=n,c(),(n==="-"||n==="+")&&(C+=n,c());n>="0"&&n<="9";)C+=n,c();if(y=+C,!isFinite(y))i("Bad number");else return Mc==null&&(Mc=rh()),C.length>15?e.storeAsString?C:e.useNativeBigInt?BigInt(C):new Mc(C):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Mc(y):y},f=function(){var y,C,_="",R;if(n==='"')for(var k=r;c();){if(n==='"')return r-1>k&&(_+=s.substring(k,r-1)),c(),_;if(n==="\\"){if(r-1>k&&(_+=s.substring(k,r-1)),c(),n==="u"){for(R=0,C=0;C<4&&(y=parseInt(c(),16),!!isFinite(y));C+=1)R=R*16+y;_+=String.fromCharCode(R)}else if(typeof o[n]=="string")_+=o[n];else break;k=r}}i("Bad string")},d=function(){for(;n&&n<=" ";)c()},h=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}i("Unexpected '"+n+"'")},m,S=function(){var y=[];if(n==="["){if(c("["),d(),n==="]")return c("]"),y;for(;n;){if(y.push(m()),d(),n==="]")return c("]"),y;c(","),d()}}i("Bad array")},b=function(){var y,C=Object.create(null);if(n==="{"){if(c("{"),d(),n==="}")return c("}"),C;for(;n;){if(y=f(),d(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(C,y)&&i('Duplicate key "'+y+'"'),QR.test(y)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():C[y]=m():ZR.test(y)===!0?e.constructorAction==="error"?i("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():C[y]=m():C[y]=m(),d(),n==="}")return c("}"),C;c(","),d()}}i("Bad object")};return m=function(){switch(d(),n){case"{":return b();case"[":return S();case'"':return f();case"-":return u();default:return n>="0"&&n<="9"?u():h()}},function(y,C){var _;return s=y+"",r=0,n=" ",_=m(),d(),n&&i("Syntax error"),typeof C=="function"?(function R(k,T){var O,D,M=k[T];return M&&typeof M=="object"&&Object.keys(M).forEach(function(W){D=R(M,W),D!==void 0?M[W]=D:delete M[W]}),C.call(k,T,M)})({"":_},""):_}};FC.exports=eD});var BC=V((pU,Bc)=>{var NC=PC().stringify,MC=IC();Bc.exports=function(t){return{parse:MC(t),stringify:NC}};Bc.exports.parse=MC();Bc.exports.stringify=NC});var nh=V(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.GCE_LINUX_BIOS_PATHS=void 0;nr.isGoogleCloudServerless=LC;nr.isGoogleComputeEngineLinux=qC;nr.isGoogleComputeEngineMACAddress=$C;nr.isGoogleComputeEngine=zC;nr.detectGCPResidency=rD;var jC=require("fs"),UC=require("os");nr.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var tD=/^42:01/;function LC(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function qC(){if((0,UC.platform)()!=="linux")return!1;try{(0,jC.statSync)(nr.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,jC.readFileSync)(nr.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function $C(){let t=(0,UC.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(tD.test(r))return!0}return!1}function zC(){return qC()||$C()}function rD(){return LC()||zC()}});var HC=V(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.Colours=void 0;var lt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};jc.Colours=lt;lt.enabled=!1;lt.reset="";lt.bright="";lt.dim="";lt.red="";lt.green="";lt.yellow="";lt.blue="";lt.magenta="";lt.cyan="";lt.white="";lt.grey="";lt.refresh()});var VC=V(Fe=>{"use strict";var nD=Fe&&Fe.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),oD=Fe&&Fe.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),WC=Fe&&Fe.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&nD(r,e,n[o]);return oD(r,e),r}})();Object.defineProperty(Fe,"__esModule",{value:!0});Fe.env=Fe.DebugLogBackendBase=Fe.placeholder=Fe.AdhocDebugLogger=Fe.LogSeverity=void 0;Fe.getNodeBackend=sh;Fe.getDebugBackend=iD;Fe.getStructuredBackend=aD;Fe.setBackend=cD;Fe.log=JC;var sD=require("events"),_i=WC(require("process")),GC=WC(require("util")),vt=HC(),or;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(or||(Fe.LogSeverity=or={}));var bi=class extends sD.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(or.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(or.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(or.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(or.ERROR,...n),this.func.sublog=n=>JC(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};Fe.AdhocDebugLogger=bi;Fe.placeholder=new bi("",()=>{}).func;var es=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=_i.env[Fe.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};Fe.DebugLogBackendBase=es;var oh=class extends es{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${vt.Colours.green}${e}${vt.Colours.reset}`,i=`${vt.Colours.yellow}${_i.pid}${vt.Colours.reset}`,c;switch(r.severity){case or.ERROR:c=`${vt.Colours.red}${r.severity}${vt.Colours.reset}`;break;case or.INFO:c=`${vt.Colours.magenta}${r.severity}${vt.Colours.reset}`;break;case or.WARNING:c=`${vt.Colours.yellow}${r.severity}${vt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:or.DEFAULT;break}let u=GC.formatWithOptions({colors:vt.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",h=d?`${vt.Colours.grey}${d}${vt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",i,s,c,u,d?` ${h}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function sh(){return new oh}var ih=class extends es{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=_i.env.NODE_DEBUG)!==null&&e!==void 0?e:"";_i.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function iD(t){return new ih(t)}var ah=class extends es{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var i;let c=(i=o.severity)!==null&&i!==void 0?i:or.INFO,u=Object.assign({severity:c,message:GC.format(...s)},o),f=JSON.stringify(u);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function aD(t){return new ah(t)}Fe.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var ch=new Map,Rt;function cD(t){Rt=t,ch.clear()}function JC(t,e){if(!Rt&&!_i.env[Fe.env.nodeEnables]||!t)return Fe.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=ch.get(t);if(r)return r.func;if(Rt===null)return Fe.placeholder;Rt===void 0&&(Rt=sh());let n=(()=>{let o;return new bi(t,(i,...c)=>{if(o!==Rt){if(Rt===null)return;Rt===void 0&&(Rt=sh()),o=Rt}Rt?.log(t,i,...c)})})();return ch.set(t,n),n.func}});var uh=V(fo=>{"use strict";var uD=fo&&fo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),lD=fo&&fo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&uD(e,t,r)};Object.defineProperty(fo,"__esModule",{value:!0});lD(VC(),fo)});var wi=V(fe=>{"use strict";var YC=fe&&fe.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),dD=fe&&fe.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fD=fe&&fe.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&YC(r,e,n[o]);return dD(r,e),r}})(),hD=fe&&fe.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&YC(e,t,r)};Object.defineProperty(fe,"__esModule",{value:!0});fe.gcpResidencyCache=fe.METADATA_SERVER_DETECTION=fe.HEADERS=fe.HEADER_VALUE=fe.HEADER_NAME=fe.SECONDARY_HOST_ADDRESS=fe.HOST_ADDRESS=fe.BASE_PATH=void 0;fe.instance=bD;fe.project=CD;fe.universe=wD;fe.bulk=kD;fe.isAvailable=ED;fe.resetIsAvailableCache=AD;fe.getGCPResidency=fh;fe.setGCPResidency=XC;fe.requestTimeout=QC;var lh=ct(),pD=BC(),gD=nh(),mD=fD(uh());fe.BASE_PATH="/computeMetadata/v1";fe.HOST_ADDRESS="http://169.254.169.254";fe.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";fe.HEADER_NAME="Metadata-Flavor";fe.HEADER_VALUE="Google";fe.HEADERS=Object.freeze({[fe.HEADER_NAME]:fe.HEADER_VALUE});var KC=mD.log("gcp-metadata");fe.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function dh(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||fe.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(fe.BASE_PATH,t).href}function yD(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Ci(t,e={},r=3,n=!1){let o=new Headers(fe.HEADERS),s="",i={};if(typeof t=="object"){let h=t;new Headers(h.headers).forEach((m,S)=>o.set(S,m)),s=h.metadataKey,i=h.params||i,r=h.noResponseRetries||r,n=h.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(yD(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,m)=>o.set(m,h)),i=e.params||i);let c=n?_D:lh.request,u={url:`${dh()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:i,responseType:"text",timeout:QC()};KC.info("instance request %j",u);let f=await c(u);KC.info("instance metadata is %s",f.data);let d=f.headers.get(fe.HEADER_NAME);if(d!==fe.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${fe.HEADER_NAME} header. Expected '${fe.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return pD.parse(f.data)}catch{}return f.data}async function _D(t){let e={...t,url:t.url?.toString().replace(dh(),dh(fe.SECONDARY_HOST_ADDRESS))},r=(0,lh.request)(t),n=(0,lh.request)(e);return Promise.any([r,n])}function bD(t){return Ci("instance",t)}function CD(t){return Ci("project",t)}function wD(t){return Ci("universe",t)}async function kD(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Ci(r),o=r.metadataKey;e[o]=n})())),e}function SD(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Uc;async function ED(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in fe.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(fe.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return fh();case"ping-only":}}try{return Uc===void 0&&(Uc=Ci("instance",void 0,SD(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Uc,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function AD(){Uc=void 0}fe.gcpResidencyCache=null;function fh(){return fe.gcpResidencyCache===null&&XC(),fe.gcpResidencyCache}function XC(t=null){fe.gcpResidencyCache=t!==null?t:(0,gD.detectGCPResidency)()}function QC(){return fh()?0:3e3}hD(nh(),fe)});var tw=V(Lc=>{"use strict";Lc.byteLength=vD;Lc.toByteArray=DD;Lc.fromByteArray=PD;var br=[],zt=[],TD=typeof Uint8Array<"u"?Uint8Array:Array,hh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ho=0,ZC=hh.length;ho<ZC;++ho)br[ho]=hh[ho],zt[hh.charCodeAt(ho)]=ho;var ho,ZC;zt[45]=62;zt[95]=63;function ew(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function vD(t){var e=ew(t),r=e[0],n=e[1];return(r+n)*3/4-n}function RD(t,e,r){return(e+r)*3/4-r}function DD(t){var e,r=ew(t),n=r[0],o=r[1],s=new TD(RD(t,n,o)),i=0,c=o>0?n-4:n,u;for(u=0;u<c;u+=4)e=zt[t.charCodeAt(u)]<<18|zt[t.charCodeAt(u+1)]<<12|zt[t.charCodeAt(u+2)]<<6|zt[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=zt[t.charCodeAt(u)]<<2|zt[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=zt[t.charCodeAt(u)]<<10|zt[t.charCodeAt(u+1)]<<4|zt[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function xD(t){return br[t>>18&63]+br[t>>12&63]+br[t>>6&63]+br[t&63]}function OD(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(xD(n));return o.join("")}function PD(t){for(var e,r=t.length,n=r%3,o=[],s=16383,i=0,c=r-n;i<c;i+=s)o.push(OD(t,i,i+s>c?c:i+s));return n===1?(e=t[r-1],o.push(br[e>>2]+br[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(br[e>>10]+br[e>>4&63]+br[e<<2&63]+"=")),o.join("")}});var gh=V(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});ph.fromArrayBufferToHex=FD;function FD(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var rw=V(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.BrowserCrypto=void 0;var ts=tw(),ID=gh(),mh=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return ts.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),ts.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),i=ts.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,i,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),i=await window.crypto.subtle.sign(n,s,o);return ts.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let r=ts.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return ts.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,ID.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};qc.BrowserCrypto=mh});var nw=V($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.NodeCrypto=void 0;var rs=require("crypto"),yh=class{async sha256DigestBase64(e){return rs.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return rs.randomBytes(e).toString("base64")}async verify(e,r,n){let o=rs.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=rs.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return rs.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:MD(e);return ND(rs.createHmac("sha256",n).update(r).digest())}};$c.NodeCrypto=yh;function ND(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function MD(t){return Buffer.from(t)}});var ki=V(Vr=>{"use strict";var BD=Vr&&Vr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),jD=Vr&&Vr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&BD(e,t,r)};Object.defineProperty(Vr,"__esModule",{value:!0});Vr.createCrypto=qD;Vr.hasBrowserCrypto=ow;var UD=rw(),LD=nw();jD(gh(),Vr);function qD(){return ow()?new UD.BrowserCrypto:new LD.NodeCrypto}function ow(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var ns=V((_h,iw)=>{var zc=require("buffer"),Cr=zc.Buffer;function sw(t,e){for(var r in t)e[r]=t[r]}Cr.from&&Cr.alloc&&Cr.allocUnsafe&&Cr.allocUnsafeSlow?iw.exports=zc:(sw(zc,_h),_h.Buffer=po);function po(t,e,r){return Cr(t,e,r)}po.prototype=Object.create(Cr.prototype);sw(Cr,po);po.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return Cr(t,e,r)};po.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=Cr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};po.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Cr(t)};po.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return zc.SlowBuffer(t)}});var cw=V((AU,aw)=>{"use strict";function bh(t){var e=(t/8|0)+(t%8===0?0:1);return e}var $D={ES256:bh(256),ES384:bh(384),ES512:bh(521)};function zD(t){var e=$D[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}aw.exports=zD});var Ch=V((TU,pw)=>{"use strict";var Hc=ns().Buffer,lw=cw(),Wc=128,dw=0,HD=32,WD=16,GD=2,fw=WD|HD|dw<<6,Gc=GD|dw<<6;function JD(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function hw(t){if(Hc.isBuffer(t))return t;if(typeof t=="string")return Hc.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function VD(t,e){t=hw(t);var r=lw(e),n=r+1,o=t.length,s=0;if(t[s++]!==fw)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(Wc|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==Gc)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var u=s;if(s+=c,t[s++]!==Gc)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(n<f)throw new Error('"s" specified length of "'+f+'", max of "'+n+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var h=r-c,m=r-f,S=Hc.allocUnsafe(h+c+m+f);for(s=0;s<h;++s)S[s]=0;t.copy(S,s,u+Math.max(-h,0),u+c),s=r;for(var b=s;s<b+m;++s)S[s]=0;return t.copy(S,s,d+Math.max(-m,0),d+f),S=S.toString("base64"),S=JD(S),S}function uw(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Wc;return o&&--n,n}function KD(t,e){t=hw(t);var r=lw(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=uw(t,0,r),s=uw(t,r,t.length),i=r-o,c=r-s,u=2+i+1+1+c,f=u<Wc,d=Hc.allocUnsafe((f?2:3)+u),h=0;return d[h++]=fw,f?d[h++]=u:(d[h++]=Wc|1,d[h++]=u&255),d[h++]=Gc,d[h++]=i,o<0?(d[h++]=0,h+=t.copy(d,h,0,r)):h+=t.copy(d,h,o,r),d[h++]=Gc,d[h++]=c,s<0?(d[h++]=0,t.copy(d,h,r)):t.copy(d,h,r+s),d}pw.exports={derToJose:VD,joseToDer:KD}});var sr=V(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.LRUCache=void 0;Kr.snakeToCamel=mw;Kr.originalOrCamelOptions=ZD;Kr.removeUndefinedValuesInObject=ex;Kr.isValidFile=tx;Kr.getWellKnownCertificateConfigFileLocation=rx;var YD=require("fs"),XD=require("os"),wh=require("path"),QD="certificate_config.json",gw="gcloud";function mw(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function ZD(t){function e(r){let n=t||{};return n[r]??n[mw(r)]}return{get:e}}var kh=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};Kr.LRUCache=kh;function ex(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function tx(t){try{return(await YD.promises.lstat(t)).isFile()}catch{return!1}}function rx(){let t=process.env.CLOUDSDK_CONFIG||(nx()?wh.join(process.env.APPDATA||"",gw):wh.join(process.env.HOME||"",".config",gw));return wh.join(t,QD)}function nx(){return XD.platform().startsWith("win")}});var yw=V((RU,ox)=>{ox.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var Sh=V(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.USER_AGENT=vn.PRODUCT_NAME=vn.pkg=void 0;var _w=yw();vn.pkg=_w;var bw="google-api-nodejs-client";vn.PRODUCT_NAME=bw;var sx=`${bw}/${_w.version}`;vn.USER_AGENT=sx});var Dt=V(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.AuthClient=ir.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=ir.DEFAULT_UNIVERSE=void 0;var ix=require("events"),Eh=ct(),ax=sr(),cx=uh(),Ah=Sh();ir.DEFAULT_UNIVERSE="googleapis.com";ir.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Th=class t extends ix.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=ir.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=ir.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,ax.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??ir.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Eh.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Eh.Gaxios.mergeHeaders(s,r.headers),n&&Eh.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,cx.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${Ah.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${Ah.USER_AGENT}`):e.headers.set("User-Agent",Ah.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let i={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,i):t.log.info("[%s] request %j",s,i)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};ir.AuthClient=Th});var Rh=V(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.LoginTicket=void 0;var vh=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Jc.LoginTicket=vh});var go=V(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.OAuth2Client=wr.ClientAuthentication=wr.CertificateFormat=wr.CodeChallengeMethod=void 0;var Cw=ct(),ux=require("querystring"),lx=require("stream"),dx=Ch(),ww=sr(),Dh=ki(),os=Dt(),fx=Rh(),kw;(function(t){t.Plain="plain",t.S256="S256"})(kw||(wr.CodeChallengeMethod=kw={}));var Yr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Yr||(wr.CertificateFormat=Yr={}));var Si;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Si||(wr.ClientAuthentication=Si={}));var xh=class t extends os.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Yr.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Si.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+ux.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Dh.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Si.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===Si.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,ww.removeUndefinedValuesInObject)(o)),headers:n};os.AuthClient.setMethodName(s,"getTokenAsync");let i=await this.transporter.request(s),c=i.data;return i.data&&i.data.expires_in&&(c.expiry_date=new Date().getTime()+i.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:i}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let i={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,ww.removeUndefinedValuesInObject)(n))};os.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof Cw.GaxiosError&&i.message==="invalid_grant"&&i.response?.data&&/ReAuth/i.test(i.response.data.error_description)&&(i.message=JSON.stringify(i.response.data)),i}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let u=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(u)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let u=c;throw u.response&&(u.response.status===403||u.response.status===404)&&(u.message=`Could not refresh access token: ${u.message}`),u}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let i=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(i),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(os.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=Cw.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,i=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,u=o.config.data instanceof lx.Readable,f=s===401||s===403;if(!r&&f&&!u&&i)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!u&&c){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,Dh.hasBrowserCrypto)()?Yr.JWK:Yr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Yr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Yr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};os.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),n=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=n?.headers.get("cache-control"),i=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(i=Number(f)*1e3)}let c={};switch(r){case Yr.PEM:c=n.data;break;case Yr.JWK:for(let f of n.data.keys)c[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${r}`)}let u=new Date;return this.certificateExpiry=i===-1?null:new Date(u.getTime()+i),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};os.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let i=(0,Dh.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let u=c[0]+"."+c[1],f=c[2],d,h;try{d=JSON.parse(i.decodeBase64StringUtf8(c[0]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token envelope: ${c[0]}': ${k.message}`),k}if(!d)throw new Error("Can't parse token envelope: "+c[0]);try{h=JSON.parse(i.decodeBase64StringUtf8(c[1]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token payload '${c[0]}`),k}if(!h)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let m=r[d.kid];if(d.alg==="ES256"&&(f=dx.joseToDer(f,"ES256").toString("base64")),!await i.verify(m,u,f))throw new Error("Invalid token signature: "+e);if(!h.iat)throw new Error("No issue time in token: "+JSON.stringify(h));if(!h.exp)throw new Error("No expiration time in token: "+JSON.stringify(h));let b=Number(h.iat);if(isNaN(b))throw new Error("iat field using invalid format");let y=Number(h.exp);if(isNaN(y))throw new Error("exp field using invalid format");let C=new Date().getTime()/1e3;if(y>=C+s)throw new Error("Expiration time too far in future: "+JSON.stringify(h));let _=b-t.CLOCK_SKEW_SECS_,R=y+t.CLOCK_SKEW_SECS_;if(C<_)throw new Error("Token used too early, "+C+" < "+_+": "+JSON.stringify(h));if(C>R)throw new Error("Token used too late, "+C+" > "+R+": "+JSON.stringify(h));if(o&&o.indexOf(h.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+h.iss);if(typeof n<"u"&&n!==null){let k=h.aud,T=!1;if(n.constructor===Array?T=n.indexOf(k)>-1:T=k===n,!T)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new fx.LoginTicket(d,h)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};wr.OAuth2Client=xh});var Ph=V(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.Compute=void 0;var hx=ct(),Sw=wi(),px=go(),Oh=class extends px.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await Sw.instance(o)}catch(o){throw o instanceof hx.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await Sw.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Vc.Compute=Oh});var Ih=V(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.IdTokenClient=void 0;var gx=go(),Fh=class extends gx.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};Kc.IdTokenClient=Fh});var Nh=V(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.GCPEnv=void 0;ss.clear=mx;ss.getEnv=yx;var Ew=wi(),kr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(kr||(ss.GCPEnv=kr={}));var Ei;function mx(){Ei=void 0}async function yx(){return Ei||(Ei=_x(),Ei)}async function _x(){let t=kr.NONE;return bx()?t=kr.APP_ENGINE:Cx()?t=kr.CLOUD_FUNCTIONS:await Ex()?await Sx()?t=kr.KUBERNETES_ENGINE:wx()?t=kr.CLOUD_RUN:kx()?t=kr.CLOUD_RUN_JOBS:t=kr.COMPUTE_ENGINE:t=kr.NONE,t}function bx(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Cx(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function wx(){return!!process.env.K_CONFIGURATION}function kx(){return!!process.env.CLOUD_RUN_JOB}async function Sx(){try{return await Ew.instance("attributes/cluster-name"),!0}catch{return!1}}async function Ex(){return Ew.isAvailable()}});var Mh=V((MU,Aw)=>{var Yc=ns().Buffer,Ax=require("stream"),Tx=require("util");function Xc(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Yc.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Yc.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}Tx.inherits(Xc,Ax);Xc.prototype.write=function(e){this.buffer=Yc.concat([this.buffer,Yc.from(e)]),this.emit("data",e)};Xc.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Aw.exports=Xc});var vw=V((BU,Tw)=>{"use strict";var Ai=require("buffer").Buffer,Bh=require("buffer").SlowBuffer;Tw.exports=Qc;function Qc(t,e){if(!Ai.isBuffer(t)||!Ai.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}Qc.install=function(){Ai.prototype.equal=Bh.prototype.equal=function(e){return Qc(this,e)}};var vx=Ai.prototype.equal,Rx=Bh.prototype.equal;Qc.restore=function(){Ai.prototype.equal=vx,Bh.prototype.equal=Rx}});var qh=V((jU,Mw)=>{var as=ns().Buffer,Ht=require("crypto"),Dw=Ch(),Rw=require("util"),Dx=`"%s" is not a valid algorithm.
|
|
51
51
|
Supported algorithms are:
|
|
52
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ms="secret must be a string or buffer",yo="key must be a string or a buffer",BA="key must be a string, a buffer or an object",ff=typeof It.createPublicKey=="function";ff&&(yo+=" or a KeyObject",ms+="or a KeyObject");function Zy(t){if(!_o.isBuffer(t)&&typeof t!="string"&&(!ff||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Kt(yo)}function e_(t){if(!_o.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Kt(BA)}function jA(t){if(!_o.isBuffer(t)){if(typeof t=="string")return t;if(!ff||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Kt(ms)}}function df(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function t_(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Kt(t){var e=[].slice.call(arguments,1),r=Xy.format.bind(Xy,t).apply(null,e);return new TypeError(r)}function MA(t){return _o.isBuffer(t)||typeof t=="string"}function ys(t){return MA(t)||(t=JSON.stringify(t)),t}function r_(t){return function(r,n){jA(n),r=ys(r);var o=It.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return df(s)}}var lf,UA="timingSafeEqual"in It?function(e,r){return e.byteLength!==r.byteLength?!1:It.timingSafeEqual(e,r)}:function(e,r){return lf||(lf=Yy()),lf(e,r)};function LA(t){return function(r,n,o){var s=r_(t)(r,o);return UA(_o.from(n),_o.from(s))}}function n_(t){return function(r,n){e_(n),r=ys(r);var o=It.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return df(s)}}function o_(t){return function(r,n,o){Zy(o),r=ys(r),n=t_(n);var s=It.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function qA(t){return function(r,n){e_(n),r=ys(r);var o=It.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:It.constants.RSA_PKCS1_PSS_PADDING,saltLength:It.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return df(s)}}function $A(t){return function(r,n,o){Zy(o),r=ys(r),n=t_(n);var s=It.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:It.constants.RSA_PKCS1_PSS_PADDING,saltLength:It.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function zA(t){var e=n_(t);return function(){var n=e.apply(null,arguments);return n=Qy.derToJose(n,"ES"+t),n}}function HA(t){var e=o_(t);return function(n,o,s){o=Qy.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function WA(){return function(){return""}}function GA(){return function(e,r){return r===""}}s_.exports=function(e){var r={hs:r_,rs:n_,ps:qA,es:zA,none:WA},n={hs:LA,rs:o_,ps:$A,es:HA,none:GA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Kt(NA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var pf=J((HP,i_)=>{var JA=require("buffer").Buffer;i_.exports=function(e){return typeof e=="string"?e:typeof e=="number"||JA.isBuffer(e)?e.toString():JSON.stringify(e)}});var d_=J((WP,f_)=>{var VA=po().Buffer,a_=uf(),KA=hf(),YA=require("stream"),u_=pf(),gf=require("util");function c_(t,e){return VA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function XA(t,e,r){r=r||"utf8";var n=c_(u_(t),"binary"),o=c_(u_(e),r);return gf.format("%s.%s",n,o)}function l_(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=KA(e.alg),a=XA(e,r,o),u=s.sign(a,n);return gf.format("%s.%s",a,u)}function Sa(t){var e=t.secret||t.privateKey||t.key,r=new a_(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new a_(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}gf.inherits(Sa,YA);Sa.prototype.sign=function(){try{var e=l_({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Sa.sign=l_;f_.exports=Sa});var E_=J((GP,w_)=>{var p_=po().Buffer,h_=uf(),QA=hf(),ZA=require("stream"),g_=pf(),eT=require("util"),tT=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function rT(t){return Object.prototype.toString.call(t)==="[object Object]"}function nT(t){if(rT(t))return t;try{return JSON.parse(t)}catch{return}}function m_(t){var e=t.split(".",1)[0];return nT(p_.from(e,"base64").toString("binary"))}function oT(t){return t.split(".",2).join(".")}function y_(t){return t.split(".")[2]}function sT(t,e){e=e||"utf8";var r=t.split(".")[1];return p_.from(r,"base64").toString(e)}function __(t){return tT.test(t)&&!!m_(t)}function b_(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=g_(t);var o=y_(t),s=oT(t),a=QA(e);return a.verify(s,o,r)}function C_(t,e){if(e=e||{},t=g_(t),!__(t))return null;var r=m_(t);if(!r)return null;var n=sT(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:y_(t)}}function bo(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new h_(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new h_(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}eT.inherits(bo,ZA);bo.prototype.verify=function(){try{var e=b_(this.signature.buffer,this.algorithm,this.key.buffer),r=C_(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};bo.decode=C_;bo.isValid=__;bo.verify=b_;w_.exports=bo});var mf=J(tn=>{var k_=d_(),Aa=E_(),iT=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];tn.ALGORITHMS=iT;tn.sign=k_.sign;tn.verify=Aa.verify;tn.decode=Aa.decode;tn.isValid=Aa.isValid;tn.createSign=function(e){return new k_(e)};tn.createVerify=function(e){return new Aa(e)}});var M_=J(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.GoogleToken=void 0;var S_=Ta(require("fs")),aT=et(),uT=Ta(mf()),cT=Ta(require("path")),lT=require("util");function Ta(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Ta=function(s,a){if(!a&&s&&s.__esModule)return s;var u,c,f={__proto__:null,default:s};if(s===null||xr(s)!="object"&&typeof s!="function")return f;if(u=a?n:r){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((c=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(c.get||c.set)?u(f,d,c):f[d]=s[d]);return f})(t,e)}function xr(t){"@babel/helpers - typeof";return xr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xr(t)}function fT(t,e){P_(t,e),e.add(t)}function dT(t,e,r){P_(t,e),e.set(t,r)}function P_(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function A_(t,e,r){return t.set(Yt(t,e),r),r}function T_(t,e){return t.get(Yt(t,e))}function Yt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function D_(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,B_(n.key),n)}}function I_(t,e,r){return e&&D_(t.prototype,e),r&&D_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function N_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hT(t,e,r){return e=ws(e),pT(t,Ef()?Reflect.construct(e,r||[],ws(t).constructor):e.apply(t,r))}function pT(t,e){if(e&&(xr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gT(t)}function gT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function mT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Cs(t,e)}function yf(t){var e=typeof Map=="function"?new Map:void 0;return yf=function(n){if(n===null||!_T(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return yT(n,arguments,ws(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Cs(o,n)},yf(t)}function yT(t,e,r){if(Ef())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&Cs(o,r.prototype),o}function Ef(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ef=function(){return!!t})()}function _T(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function Cs(t,e){return Cs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Cs(t,e)}function ws(t){return ws=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ws(t)}function kt(t,e,r){return(e=B_(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function B_(t){var e=bT(t,"string");return xr(e)=="symbol"?e:e+""}function bT(t,e){if(xr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(xr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function At(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,g,_,b){var m=g&&g.prototype instanceof u?g:u,v=Object.create(m.prototype);return St(v,"_invoke",(function(k,w,T){var O,N,G,$=0,X=T||[],K=!1,se={p:0,n:0,v:t,a:_e,f:_e.bind(t,4),d:function(le,pe){return O=le,N=0,G=t,se.n=pe,a}};function _e(me,le){for(N=me,G=le,e=0;!K&&$&&!pe&&e<X.length;e++){var pe,ie=X[e],V=se.p,Y=ie[2];me>3?(pe=Y===le)&&(G=ie[(N=ie[4])?5:(N=3,3)],ie[4]=ie[5]=t):ie[0]<=V&&((pe=me<2&&V<ie[1])?(N=0,se.v=le,se.n=ie[1]):V<Y&&(pe=me<3||ie[0]>le||le>Y)&&(ie[4]=me,ie[5]=le,se.n=Y,N=0))}if(pe||me>1)return a;throw K=!0,le}return function(me,le,pe){if($>1)throw TypeError("Generator is already running");for(K&&le===1&&_e(le,pe),N=le,G=pe;(e=N<2?t:G)||!K;){O||(N?N<3?(N>1&&(se.n=-1),_e(N,G)):se.n=G:se.v=G);try{if($=2,O){if(N||(me="next"),e=O[me]){if(!(e=e.call(O,G)))throw TypeError("iterator result is not an object");if(!e.done)return e;G=e.value,N<2&&(N=0)}else N===1&&(e=O.return)&&e.call(O),N<2&&(G=TypeError("The iterator does not provide a '"+me+"' method"),N=1);O=t}else if((e=(K=se.n<0)?G:k.call(w,se))!==a)break}catch(ie){O=t,N=1,G=ie}finally{$=1}}return{value:e,done:K}}})(A,_,b),!0),v}var a={};function u(){}function c(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(St(e={},n,function(){return this}),e),p=f.prototype=u.prototype=Object.create(d);function y(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,f):(A.__proto__=f,St(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return c.prototype=f,St(p,"constructor",f),St(f,"constructor",c),c.displayName="GeneratorFunction",St(f,o,"GeneratorFunction"),St(p),St(p,o,"Generator"),St(p,n,function(){return this}),St(p,"toString",function(){return"[object Generator]"}),(At=function(){return{w:s,m:y}})()}function St(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}St=function(a,u,c,f){if(u)o?o(a,u,{value:c,enumerable:!f,configurable:!f,writable:!f}):a[u]=c;else{var d=function(y,A){St(a,y,function(g){return this._invoke(y,A,g)})};d("next",0),d("throw",1),d("return",2)}},St(t,e,r,n)}function v_(t,e,r,n,o,s,a){try{var u=t[s](a),c=u.value}catch(f){return void r(f)}u.done?e(c):Promise.resolve(c).then(n,o)}function Co(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(c){v_(s,n,o,a,u,"next",c)}function u(c){v_(s,n,o,a,u,"throw",c)}a(void 0)})}}var R_=S_.readFile?(0,lT.promisify)(S_.readFile):Co(At().m(function t(){return At().w(function(e){for(;;)switch(e.n){case 0:throw new bs("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),x_="https://oauth2.googleapis.com/token",CT="https://oauth2.googleapis.com/revoke?token=",bs=(function(t){function e(r,n){var o;return N_(this,e),o=hT(this,e,[r]),kt(o,"code",void 0),o.code=n,o}return mT(e,t),I_(e)})(yf(Error)),_s=new WeakMap,ar=new WeakSet,VP=Da.GoogleToken=(function(){function t(e){N_(this,t),fT(this,ar),kt(this,"expiresAt",void 0),kt(this,"key",void 0),kt(this,"keyFile",void 0),kt(this,"iss",void 0),kt(this,"sub",void 0),kt(this,"scope",void 0),kt(this,"rawToken",void 0),kt(this,"tokenExpires",void 0),kt(this,"email",void 0),kt(this,"additionalClaims",void 0),kt(this,"eagerRefreshThresholdMillis",void 0),kt(this,"transporter",{request:function(n){return(0,aT.request)(n)}}),dT(this,_s,void 0),Yt(ar,this,j_).call(this,e)}return I_(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(xr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Yt(ar,this,O_).call(this,n).then(function(s){return o(null,s)},r);return}return Yt(ar,this,O_).call(this,n)}},{key:"getCredentials",value:(function(){var e=Co(At().m(function n(o){var s,a,u,c,f,d,p;return At().w(function(y){for(;;)switch(y.n){case 0:s=cT.extname(o),p=s,y.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return y.n=2,R_(o,"utf8");case 2:if(a=y.v,u=JSON.parse(a),c=u.private_key,f=u.client_email,!(!c||!f)){y.n=3;break}throw new bs("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return y.a(2,{privateKey:c,clientEmail:f});case 4:return y.n=5,R_(o,"utf8");case 5:return d=y.v,y.a(2,{privateKey:d});case 6:throw new bs("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new bs("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return y.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Yt(ar,this,F_).call(this).then(function(){return r()},r);return}return Yt(ar,this,F_).call(this)}}])})();function O_(t){return _f.apply(this,arguments)}function _f(){return _f=Co(At().m(function t(e){return At().w(function(r){for(;;)switch(r.n){case 0:if(!(T_(_s,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,T_(_s,this));case 1:return r.p=1,r.n=2,A_(_s,this,Yt(ar,this,wT).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,A_(_s,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),_f.apply(this,arguments)}function wT(t){return bf.apply(this,arguments)}function bf(){return bf=Co(At().m(function t(e){var r;return At().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Yt(ar,this,ET).call(this);case 4:return n.a(2,Yt(ar,this,kT).call(this))}},t,this)})),bf.apply(this,arguments)}function ET(){if(!this.iss)throw new bs("email is required.","MISSING_CREDENTIALS")}function F_(){return Cf.apply(this,arguments)}function Cf(){return Cf=Co(At().m(function t(){var e;return At().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=CT+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Yt(ar,this,j_).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),Cf.apply(this,arguments)}function j_(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,xr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function kT(){return wf.apply(this,arguments)}function wf(){return wf=Co(At().m(function t(){var e,r,n,o,s,a,u,c,f,d;return At().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:x_,exp:e+3600,iat:e,sub:this.sub},r),o=uT.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:x_,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,d=p.v,this.rawToken=void 0,this.tokenExpires=void 0,c=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},c.error&&(f=c.error_description?": ".concat(c.error_description):"",d.message="".concat(c.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),wf.apply(this,arguments)}});var Sf=J(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.JWTAccess=void 0;var ST=mf(),AT=Jt(),U_={alg:"RS256",typ:"JWT"},kf=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new AT.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let u=Math.floor(Date.now()/1e3),c=t.getExpirationTime(u),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:c,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:c,iat:u},r){for(let g in f)if(r[g])throw new Error(`The '${g}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...U_,kid:this.keyId}:U_,p=Object.assign(f,r),y=ST.sign({header:d,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${y}`});return this.cache.set(o,{expiration:c*1e3,headers:A}),A}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};va.JWTAccess=kf});var Tf=J(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.JWT=void 0;var L_=M_(),TT=Sf(),DT=Pn(),Ra=Et(),Af=class t extends DT.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==Ra.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Ra.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Ra.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new TT.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==Ra.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new L_.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new L_.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};xa.JWT=Af});var vf=J(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.UserRefreshClient=wo.USER_REFRESH_ACCOUNT_TYPE=void 0;var vT=Pn(),RT=Et();wo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Df=class t extends vT.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return RT.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};wo.UserRefreshClient=Df});var xf=J(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.Impersonated=Eo.IMPERSONATED_ACCOUNT_TYPE=void 0;var q_=Pn(),xT=et(),OT=Jt();Eo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Rf=class t extends q_.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new q_.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,OT.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof xT.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};Eo.Impersonated=Rf});var Ff=J(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.OAuthClientAuthHandler=void 0;Es.getErrorFromOAuthErrorResponse=IT;var ko=et(),FT=ds(),PT=["PUT","POST","PATCH"],Of=class{#e=(0,FT.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ko.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ko.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=ko.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=ko.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ko.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);ko.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!PT.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Es.OAuthClientAuthHandler=Of;function IT(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(c=>{c!=="message"&&Object.defineProperty(a,c,{value:e[c],writable:!1,enumerable:!0})})}return a}});var Fa=J(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.StsCredentials=void 0;var NT=et(),BT=Et(),$_=Ff(),jT=Jt(),Pf=class t extends $_.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,jT.removeUndefinedValuesInObject)(o))};BT.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof NT.GaxiosError&&a.response?(0,$_.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};Oa.StsCredentials=Pf});var rn=J(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.BaseExternalAccountClient=Nt.CLOUD_RESOURCE_MANAGER=Nt.EXTERNAL_ACCOUNT_TYPE=Nt.EXPIRATION_TIME_OFFSET=void 0;var MT=et(),UT=require("stream"),If=Et(),LT=Fa(),z_=Jt(),qT=Vl(),$T="urn:ietf:params:oauth:grant-type:token-exchange",zT="urn:ietf:params:oauth:token-type:access_token",Nf="https://www.googleapis.com/auth/cloud-platform",HT=3600;Nt.EXPIRATION_TIME_OFFSET=300*1e3;Nt.EXTERNAL_ACCOUNT_TYPE="external_account";Nt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var WT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",GT="https://sts.{universeDomain}/v1/token",Bf=class t extends If.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,z_.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Nt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Nt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??GT.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),u=r.get("workforce_pool_user_project"),c=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,z_.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new LT.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Nf],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(WT);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=c,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=HT),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};If.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=MT.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof UT.Readable;if(!r&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:$T,audience:this.audience,requestedTokenType:zT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Nf]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};If.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Nf]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${qT.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Nt.BaseExternalAccountClient=Bf});var H_=J(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.FileSubjectTokenSupplier=void 0;var Mf=require("util"),Uf=require("fs"),JT=(0,Mf.promisify)(Uf.readFile??(()=>{})),VT=(0,Mf.promisify)(Uf.realpath??(()=>{})),KT=(0,Mf.promisify)(Uf.lstat??(()=>{})),jf=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await VT(e),!(await KT(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await JT(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};Pa.FileSubjectTokenSupplier=jf});var W_=J(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.UrlSubjectTokenSupplier=void 0;var YT=Et(),Lf=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};YT.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};Ia.UrlSubjectTokenSupplier=Lf});var G_=J(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.CertificateSubjectTokenSupplier=Tt.InvalidConfigurationError=Tt.CertificateSourceUnavailableError=Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Na=Jt(),Ba=require("fs"),ja=require("crypto"),XT=require("https");Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ur=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Tt.CertificateSourceUnavailableError=ur;var Bt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Tt.InvalidConfigurationError=Bt;var qf=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Bt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Bt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Bt("Cannot create mTLS Agent with missing certificate or key");return new XT.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Na.isValidFile)(e))return e;throw new ur(`Provided certificate config path is invalid: ${e}`)}let r=process.env[Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,Na.isValidFile)(r))return r;throw new ur(`Path from environment variable "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,Na.getWellKnownCertificateConfigFileLocation)();if(await(0,Na.isValidFile)(n))return n;throw new ur(`Could not find certificate configuration file. Searched override path, the "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await Ba.promises.readFile(e,"utf8")}catch{throw new ur(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Bt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Bt?n:new Bt(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await Ba.promises.readFile(e),new ja.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ur(`Failed to read certificate file at ${e}: ${a}`)}try{o=await Ba.promises.readFile(r),(0,ja.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ur(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ja.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await Ba.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((c,f)=>{try{return new ja.X509Certificate(c)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Bt(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(c=>r.raw.equals(c.raw)),u;if(a===-1)u=[r,...s];else if(a===0)u=s;else throw new Bt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(c=>c.raw.toString("base64")))}catch(n){if(n instanceof Bt)throw n;let o=n instanceof Error?n.message:String(n);throw new ur(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Tt.CertificateSubjectTokenSupplier=qf});var Hf=J(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.IdentityPoolClient=void 0;var QT=rn(),$f=Jt(),ZT=H_(),eD=W_(),J_=G_(),tD=Fa(),V_=et(),zf=class t extends QT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,$f.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,$f.originalOrCamelOptions)(n),a=(0,$f.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",c=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!c)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),y=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new ZT.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:c});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new eD.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:c,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new J_.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=A}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof J_.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new tD.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new V_.Gaxios({agent:r})}),this.transporter=new V_.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Ma.IdentityPoolClient=zf});var Gf=J(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.AwsRequestSigner=void 0;var Ua=et(),Y_=ds(),K_="AWS4-HMAC-SHA256",rD="aws4_request",Wf=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,Y_.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,u=await this.getCredentials(),c=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await oD({crypto:this.crypto,host:c.host,canonicalUri:c.pathname,canonicalQuerystring:c.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=Ua.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:c.host},a||{});u.token&&Ua.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let p={url:n,method:o,headers:d};return s!==void 0&&(p.body=s),p}};La.AwsRequestSigner=Wf;async function ks(t,e,r){return await t.signWithHmacSha256(e,r)}async function nD(t,e,r,n,o){let s=await ks(t,`AWS4${e}`,r),a=await ks(t,s,n),u=await ks(t,a,o);return await ks(t,u,"aws4_request")}async function oD(t){let e=Ua.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=Ua.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),c="",f=[...u.keys()].sort();f.forEach(v=>{c+=`${v}:${u.get(v)}
|
|
53
|
-
`});let d=f.join(";"),
|
|
52
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Ti="secret must be a string or buffer",is="key must be a string or a buffer",xx="key must be a string, a buffer or an object",Uh=typeof Ht.createPublicKey=="function";Uh&&(is+=" or a KeyObject",Ti+="or a KeyObject");function xw(t){if(!as.isBuffer(t)&&typeof t!="string"&&(!Uh||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw ar(is)}function Ow(t){if(!as.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw ar(xx)}function Ox(t){if(!as.isBuffer(t)){if(typeof t=="string")return t;if(!Uh||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw ar(Ti)}}function Lh(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Pw(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function ar(t){var e=[].slice.call(arguments,1),r=Rw.format.bind(Rw,t).apply(null,e);return new TypeError(r)}function Px(t){return as.isBuffer(t)||typeof t=="string"}function vi(t){return Px(t)||(t=JSON.stringify(t)),t}function Fw(t){return function(r,n){Ox(n),r=vi(r);var o=Ht.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return Lh(s)}}var jh,Fx="timingSafeEqual"in Ht?function(e,r){return e.byteLength!==r.byteLength?!1:Ht.timingSafeEqual(e,r)}:function(e,r){return jh||(jh=vw()),jh(e,r)};function Ix(t){return function(r,n,o){var s=Fw(t)(r,o);return Fx(as.from(n),as.from(s))}}function Iw(t){return function(r,n){Ow(n),r=vi(r);var o=Ht.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return Lh(s)}}function Nw(t){return function(r,n,o){xw(o),r=vi(r),n=Pw(n);var s=Ht.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function Nx(t){return function(r,n){Ow(n),r=vi(r);var o=Ht.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ht.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ht.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Lh(s)}}function Mx(t){return function(r,n,o){xw(o),r=vi(r),n=Pw(n);var s=Ht.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ht.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ht.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function Bx(t){var e=Iw(t);return function(){var n=e.apply(null,arguments);return n=Dw.derToJose(n,"ES"+t),n}}function jx(t){var e=Nw(t);return function(n,o,s){o=Dw.joseToDer(o,"ES"+t).toString("base64");var i=e(n,o,s);return i}}function Ux(){return function(){return""}}function Lx(){return function(e,r){return r===""}}Mw.exports=function(e){var r={hs:Fw,rs:Iw,ps:Nx,es:Bx,none:Ux},n={hs:Ix,rs:Nw,ps:Mx,es:jx,none:Lx},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw ar(Dx,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:r[s](i),verify:n[s](i)}}});var $h=V((UU,Bw)=>{var qx=require("buffer").Buffer;Bw.exports=function(e){return typeof e=="string"?e:typeof e=="number"||qx.isBuffer(e)?e.toString():JSON.stringify(e)}});var zw=V((LU,$w)=>{var $x=ns().Buffer,jw=Mh(),zx=qh(),Hx=require("stream"),Uw=$h(),zh=require("util");function Lw(t,e){return $x.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Wx(t,e,r){r=r||"utf8";var n=Lw(Uw(t),"binary"),o=Lw(Uw(e),r);return zh.format("%s.%s",n,o)}function qw(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=zx(e.alg),i=Wx(e,r,o),c=s.sign(i,n);return zh.format("%s.%s",i,c)}function Zc(t){var e=t.secret||t.privateKey||t.key,r=new jw(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new jw(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}zh.inherits(Zc,Hx);Zc.prototype.sign=function(){try{var e=qw({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Zc.sign=qw;$w.exports=Zc});var Zw=V((qU,Qw)=>{var Ww=ns().Buffer,Hw=Mh(),Gx=qh(),Jx=require("stream"),Gw=$h(),Vx=require("util"),Kx=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Yx(t){return Object.prototype.toString.call(t)==="[object Object]"}function Xx(t){if(Yx(t))return t;try{return JSON.parse(t)}catch{return}}function Jw(t){var e=t.split(".",1)[0];return Xx(Ww.from(e,"base64").toString("binary"))}function Qx(t){return t.split(".",2).join(".")}function Vw(t){return t.split(".")[2]}function Zx(t,e){e=e||"utf8";var r=t.split(".")[1];return Ww.from(r,"base64").toString(e)}function Kw(t){return Kx.test(t)&&!!Jw(t)}function Yw(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=Gw(t);var o=Vw(t),s=Qx(t),i=Gx(e);return i.verify(s,o,r)}function Xw(t,e){if(e=e||{},t=Gw(t),!Kw(t))return null;var r=Jw(t);if(!r)return null;var n=Zx(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Vw(t)}}function cs(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Hw(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Hw(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}Vx.inherits(cs,Jx);cs.prototype.verify=function(){try{var e=Yw(this.signature.buffer,this.algorithm,this.key.buffer),r=Xw(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};cs.decode=Xw;cs.isValid=Kw;cs.verify=Yw;Qw.exports=cs});var Hh=V(Rn=>{var ek=zw(),eu=Zw(),eO=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Rn.ALGORITHMS=eO;Rn.sign=ek.sign;Rn.verify=eu.verify;Rn.decode=eu.decode;Rn.isValid=eu.isValid;Rn.createSign=function(e){return new ek(e)};Rn.createVerify=function(e){return new eu(e)}});var gk=V(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.GoogleToken=void 0;var tk=tu(require("fs")),tO=ct(),rO=tu(Hh()),nO=tu(require("path")),oO=require("util");function tu(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(tu=function(s,i){if(!i&&s&&s.__esModule)return s;var c,u,f={__proto__:null,default:s};if(s===null||Xr(s)!="object"&&typeof s!="function")return f;if(c=i?n:r){if(c.has(s))return c.get(s);c.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((u=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(u.get||u.set)?c(f,d,u):f[d]=s[d]);return f})(t,e)}function Xr(t){"@babel/helpers - typeof";return Xr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xr(t)}function sO(t,e){lk(t,e),e.add(t)}function iO(t,e,r){lk(t,e),e.set(t,r)}function lk(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function rk(t,e,r){return t.set(cr(t,e),r),r}function nk(t,e){return t.get(cr(t,e))}function cr(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function ok(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,hk(n.key),n)}}function dk(t,e,r){return e&&ok(t.prototype,e),r&&ok(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function fk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aO(t,e,r){return e=Oi(e),cO(t,Yh()?Reflect.construct(e,r||[],Oi(t).constructor):e.apply(t,r))}function cO(t,e){if(e&&(Xr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return uO(t)}function uO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function lO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&xi(t,e)}function Wh(t){var e=typeof Map=="function"?new Map:void 0;return Wh=function(n){if(n===null||!fO(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return dO(n,arguments,Oi(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),xi(o,n)},Wh(t)}function dO(t,e,r){if(Yh())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&xi(o,r.prototype),o}function Yh(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Yh=function(){return!!t})()}function fO(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function xi(t,e){return xi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},xi(t,e)}function Oi(t){return Oi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Oi(t)}function xt(t,e,r){return(e=hk(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hk(t){var e=hO(t,"string");return Xr(e)=="symbol"?e:e+""}function hO(t,e){if(Xr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Xr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Pt(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(S,b,y,C){var _=b&&b.prototype instanceof c?b:c,R=Object.create(_.prototype);return Ot(R,"_invoke",(function(k,T,O){var D,M,W,$=0,oe=O||[],K=!1,re={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(ke,be){return D=ke,M=0,W=t,re.n=be,i}};function Q(se,ke){for(M=se,W=ke,e=0;!K&&$&&!be&&e<oe.length;e++){var be,Re=oe[e],X=re.p,ie=Re[2];se>3?(be=ie===ke)&&(W=Re[(M=Re[4])?5:(M=3,3)],Re[4]=Re[5]=t):Re[0]<=X&&((be=se<2&&X<Re[1])?(M=0,re.v=ke,re.n=Re[1]):X<ie&&(be=se<3||Re[0]>ke||ke>ie)&&(Re[4]=se,Re[5]=ke,re.n=ie,M=0))}if(be||se>1)return i;throw K=!0,ke}return function(se,ke,be){if($>1)throw TypeError("Generator is already running");for(K&&ke===1&&Q(ke,be),M=ke,W=be;(e=M<2?t:W)||!K;){D||(M?M<3?(M>1&&(re.n=-1),Q(M,W)):re.n=W:re.v=W);try{if($=2,D){if(M||(se="next"),e=D[se]){if(!(e=e.call(D,W)))throw TypeError("iterator result is not an object");if(!e.done)return e;W=e.value,M<2&&(M=0)}else M===1&&(e=D.return)&&e.call(D),M<2&&(W=TypeError("The iterator does not provide a '"+se+"' method"),M=1);D=t}else if((e=(K=re.n<0)?W:k.call(T,re))!==i)break}catch(Re){D=t,M=1,W=Re}finally{$=1}}return{value:e,done:K}}})(S,y,C),!0),R}var i={};function c(){}function u(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(Ot(e={},n,function(){return this}),e),h=f.prototype=c.prototype=Object.create(d);function m(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,f):(S.__proto__=f,Ot(S,o,"GeneratorFunction")),S.prototype=Object.create(h),S}return u.prototype=f,Ot(h,"constructor",f),Ot(f,"constructor",u),u.displayName="GeneratorFunction",Ot(f,o,"GeneratorFunction"),Ot(h),Ot(h,o,"Generator"),Ot(h,n,function(){return this}),Ot(h,"toString",function(){return"[object Generator]"}),(Pt=function(){return{w:s,m}})()}function Ot(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ot=function(i,c,u,f){if(c)o?o(i,c,{value:u,enumerable:!f,configurable:!f,writable:!f}):i[c]=u;else{var d=function(m,S){Ot(i,m,function(b){return this._invoke(m,S,b)})};d("next",0),d("throw",1),d("return",2)}},Ot(t,e,r,n)}function sk(t,e,r,n,o,s,i){try{var c=t[s](i),u=c.value}catch(f){return void r(f)}c.done?e(u):Promise.resolve(u).then(n,o)}function us(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function i(u){sk(s,n,o,i,c,"next",u)}function c(u){sk(s,n,o,i,c,"throw",u)}i(void 0)})}}var ik=tk.readFile?(0,oO.promisify)(tk.readFile):us(Pt().m(function t(){return Pt().w(function(e){for(;;)switch(e.n){case 0:throw new Di("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),ak="https://oauth2.googleapis.com/token",pO="https://oauth2.googleapis.com/revoke?token=",Di=(function(t){function e(r,n){var o;return fk(this,e),o=aO(this,e,[r]),xt(o,"code",void 0),o.code=n,o}return lO(e,t),dk(e)})(Wh(Error)),Ri=new WeakMap,Sr=new WeakSet,zU=ru.GoogleToken=(function(){function t(e){fk(this,t),sO(this,Sr),xt(this,"expiresAt",void 0),xt(this,"key",void 0),xt(this,"keyFile",void 0),xt(this,"iss",void 0),xt(this,"sub",void 0),xt(this,"scope",void 0),xt(this,"rawToken",void 0),xt(this,"tokenExpires",void 0),xt(this,"email",void 0),xt(this,"additionalClaims",void 0),xt(this,"eagerRefreshThresholdMillis",void 0),xt(this,"transporter",{request:function(n){return(0,tO.request)(n)}}),iO(this,Ri,void 0),cr(Sr,this,pk).call(this,e)}return dk(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Xr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;cr(Sr,this,ck).call(this,n).then(function(s){return o(null,s)},r);return}return cr(Sr,this,ck).call(this,n)}},{key:"getCredentials",value:(function(){var e=us(Pt().m(function n(o){var s,i,c,u,f,d,h;return Pt().w(function(m){for(;;)switch(m.n){case 0:s=nO.extname(o),h=s,m.n=h===".json"?1:h===".der"||h===".crt"||h===".pem"?4:h===".p12"||h===".pfx"?6:7;break;case 1:return m.n=2,ik(o,"utf8");case 2:if(i=m.v,c=JSON.parse(i),u=c.private_key,f=c.client_email,!(!u||!f)){m.n=3;break}throw new Di("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:u,clientEmail:f});case 4:return m.n=5,ik(o,"utf8");case 5:return d=m.v,m.a(2,{privateKey:d});case 6:throw new Di("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new Di("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return m.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){cr(Sr,this,uk).call(this).then(function(){return r()},r);return}return cr(Sr,this,uk).call(this)}}])})();function ck(t){return Gh.apply(this,arguments)}function Gh(){return Gh=us(Pt().m(function t(e){return Pt().w(function(r){for(;;)switch(r.n){case 0:if(!(nk(Ri,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,nk(Ri,this));case 1:return r.p=1,r.n=2,rk(Ri,this,cr(Sr,this,gO).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,rk(Ri,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Gh.apply(this,arguments)}function gO(t){return Jh.apply(this,arguments)}function Jh(){return Jh=us(Pt().m(function t(e){var r;return Pt().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||cr(Sr,this,mO).call(this);case 4:return n.a(2,cr(Sr,this,yO).call(this))}},t,this)})),Jh.apply(this,arguments)}function mO(){if(!this.iss)throw new Di("email is required.","MISSING_CREDENTIALS")}function uk(){return Vh.apply(this,arguments)}function Vh(){return Vh=us(Pt().m(function t(){var e;return Pt().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=pO+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:cr(Sr,this,pk).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),Vh.apply(this,arguments)}function pk(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Xr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function yO(){return Kh.apply(this,arguments)}function Kh(){return Kh=us(Pt().m(function t(){var e,r,n,o,s,i,c,u,f,d;return Pt().w(function(h){for(;;)switch(h.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:ak,exp:e+3600,iat:e,sub:this.sub},r),o=rO.sign({header:{alg:"RS256"},payload:n,secret:this.key}),h.p=1,h.n=2,this.transporter.request({method:"POST",url:ak,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=h.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,h.a(2,this.rawToken);case 3:throw h.p=3,d=h.v,this.rawToken=void 0,this.tokenExpires=void 0,u=d.response&&(i=d.response)!==null&&i!==void 0&&i.data?(c=d.response)===null||c===void 0?void 0:c.data:{},u.error&&(f=u.error_description?": ".concat(u.error_description):"",d.message="".concat(u.error).concat(f)),d;case 4:return h.a(2)}},t,this,[[1,3]])})),Kh.apply(this,arguments)}});var Qh=V(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.JWTAccess=void 0;var _O=Hh(),bO=sr(),mk={alg:"RS256",typ:"JWT"},Xh=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new bO.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),i=Date.now();if(s&&s.expiration-i>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),u=t.getExpirationTime(c),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:u,iat:c}:f={iss:this.email,sub:this.email,aud:e,exp:u,iat:c},r){for(let b in f)if(r[b])throw new Error(`The '${b}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...mk,kid:this.keyId}:mk,h=Object.assign(f,r),m=_O.sign({header:d,payload:h,secret:this.key}),S=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:u*1e3,headers:S}),S}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};nu.JWTAccess=Xh});var ep=V(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.JWT=void 0;var yk=gk(),CO=Qh(),wO=go(),ou=Dt(),Zh=class t extends wO.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ou.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ou.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ou.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new CO.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ou.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new yk.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new yk.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};su.JWT=Zh});var rp=V(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.UserRefreshClient=ls.USER_REFRESH_ACCOUNT_TYPE=void 0;var kO=go(),SO=Dt();ls.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var tp=class t extends kO.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let i=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(i),this._refreshToken=i.refreshToken,this.credentials.refresh_token=i.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return SO.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};ls.UserRefreshClient=tp});var op=V(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.Impersonated=ds.IMPERSONATED_ACCOUNT_TYPE=void 0;var _k=go(),EO=ct(),AO=sr();ds.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var np=class t extends _k.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new _k.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,AO.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof EO.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};ds.Impersonated=np});var ip=V(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.OAuthClientAuthHandler=void 0;Pi.getErrorFromOAuthErrorResponse=RO;var fs=ct(),TO=ki(),vO=["PUT","POST","PATCH"],sp=class{#e=(0,TO.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new fs.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new fs.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=fs.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=fs.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=fs.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);fs.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!vO.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Pi.OAuthClientAuthHandler=sp;function RO(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let i=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(u=>{u!=="message"&&Object.defineProperty(i,u,{value:e[u],writable:!1,enumerable:!0})})}return i}});var au=V(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.StsCredentials=void 0;var DO=ct(),xO=Dt(),bk=ip(),OO=sr(),ap=class t extends bk.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,OO.removeUndefinedValuesInObject)(o))};xO.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let i=await this.transporter.request(s),c=i.data;return c.res=i,c}catch(i){throw i instanceof DO.GaxiosError&&i.response?(0,bk.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};iu.StsCredentials=ap});var Dn=V(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.BaseExternalAccountClient=Wt.CLOUD_RESOURCE_MANAGER=Wt.EXTERNAL_ACCOUNT_TYPE=Wt.EXPIRATION_TIME_OFFSET=void 0;var PO=ct(),FO=require("stream"),cp=Dt(),IO=au(),Ck=sr(),NO=Sh(),MO="urn:ietf:params:oauth:grant-type:token-exchange",BO="urn:ietf:params:oauth:token-type:access_token",up="https://www.googleapis.com/auth/cloud-platform",jO=3600;Wt.EXPIRATION_TIME_OFFSET=300*1e3;Wt.EXTERNAL_ACCOUNT_TYPE="external_account";Wt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var UO="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",LO="https://sts.{universeDomain}/v1/token",lp=class t extends cp.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,Ck.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Wt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Wt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??LO.replace("{universeDomain}",this.universeDomain);let i=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),u=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,Ck.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new IO.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[up],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=c;let h=new RegExp(UO);if(this.workforcePoolUserProject&&!this.audience.match(h))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=u,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=jO),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};cp.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=PO.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof FO.Readable;if(!r&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:MO,audience:this.audience,requestedTokenType:BO,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[up]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};cp.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[up]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${NO.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Wt.BaseExternalAccountClient=lp});var wk=V(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});cu.FileSubjectTokenSupplier=void 0;var fp=require("util"),hp=require("fs"),qO=(0,fp.promisify)(hp.readFile??(()=>{})),$O=(0,fp.promisify)(hp.realpath??(()=>{})),zO=(0,fp.promisify)(hp.lstat??(()=>{})),dp=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await $O(e),!(await zO(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await qO(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};cu.FileSubjectTokenSupplier=dp});var kk=V(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});uu.UrlSubjectTokenSupplier=void 0;var HO=Dt(),pp=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};HO.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};uu.UrlSubjectTokenSupplier=pp});var Sk=V(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.CertificateSubjectTokenSupplier=Ft.InvalidConfigurationError=Ft.CertificateSourceUnavailableError=Ft.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var lu=sr(),du=require("fs"),fu=require("crypto"),WO=require("https");Ft.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var Er=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Ft.CertificateSourceUnavailableError=Er;var Gt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Ft.InvalidConfigurationError=Gt;var gp=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Gt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Gt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Gt("Cannot create mTLS Agent with missing certificate or key");return new WO.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,lu.isValidFile)(e))return e;throw new Er(`Provided certificate config path is invalid: ${e}`)}let r=process.env[Ft.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,lu.isValidFile)(r))return r;throw new Er(`Path from environment variable "${Ft.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,lu.getWellKnownCertificateConfigFileLocation)();if(await(0,lu.isValidFile)(n))return n;throw new Er(`Could not find certificate configuration file. Searched override path, the "${Ft.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await du.promises.readFile(e,"utf8")}catch{throw new Er(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Gt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Gt?n:new Gt(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await du.promises.readFile(e),new fu.X509Certificate(n)}catch(s){let i=s instanceof Error?s.message:String(s);throw new Er(`Failed to read certificate file at ${e}: ${i}`)}try{o=await du.promises.readFile(r),(0,fu.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new Er(`Failed to read private key file at ${r}: ${i}`)}return{cert:n,key:o}}async#n(e){let r=new fu.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await du.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,f)=>{try{return new fu.X509Certificate(u)}catch(d){let h=d instanceof Error?d.message:String(d);throw new Gt(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${h}`)}}),i=s.findIndex(u=>r.raw.equals(u.raw)),c;if(i===-1)c=[r,...s];else if(i===0)c=s;else throw new Gt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${i}).`);return JSON.stringify(c.map(u=>u.raw.toString("base64")))}catch(n){if(n instanceof Gt)throw n;let o=n instanceof Error?n.message:String(n);throw new Er(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Ft.CertificateSubjectTokenSupplier=gp});var _p=V(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.IdentityPoolClient=void 0;var GO=Dn(),mp=sr(),JO=wk(),VO=kk(),Ek=Sk(),KO=au(),Ak=ct(),yp=class t extends GO.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,mp.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,mp.originalOrCamelOptions)(n),i=(0,mp.originalOrCamelOptions)(s.get("format")),c=i.get("type")||"text",u=i.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!u)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),h=s.get("certificate"),m=s.get("headers");if(f&&d||d&&h||f&&h)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new JO.FileSubjectTokenSupplier({filePath:f,formatType:c,subjectTokenFieldName:u});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new VO.UrlSubjectTokenSupplier({url:d,formatType:c,subjectTokenFieldName:u,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let S=new Ek.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:h.use_default_certificate_config,certificateConfigLocation:h.certificate_config_location,trustChainPath:h.trust_chain_path});this.subjectTokenSupplier=S}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Ek.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new KO.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Ak.Gaxios({agent:r})}),this.transporter=new Ak.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};hu.IdentityPoolClient=yp});var Cp=V(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.AwsRequestSigner=void 0;var pu=ct(),vk=ki(),Tk="AWS4-HMAC-SHA256",YO="aws4_request",bp=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,vk.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,i=e.headers,c=await this.getCredentials(),u=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await QO({crypto:this.crypto,host:u.host,canonicalUri:u.pathname,canonicalQuerystring:u.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:i}),d=pu.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:u.host},i||{});c.token&&pu.Gaxios.mergeHeaders(d,{"x-amz-security-token":c.token});let h={url:n,method:o,headers:d};return s!==void 0&&(h.body=s),h}};gu.AwsRequestSigner=bp;async function Fi(t,e,r){return await t.signWithHmacSha256(e,r)}async function XO(t,e,r,n,o){let s=await Fi(t,`AWS4${e}`,r),i=await Fi(t,s,n),c=await Fi(t,i,o);return await Fi(t,c,"aws4_request")}async function QO(t){let e=pu.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),i=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=pu.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),u="",f=[...c.keys()].sort();f.forEach(R=>{u+=`${R}:${c.get(R)}
|
|
53
|
+
`});let d=f.join(";"),h=await t.crypto.sha256DigestHex(r),m=`${t.method.toUpperCase()}
|
|
54
54
|
${t.canonicalUri}
|
|
55
55
|
${t.canonicalQuerystring}
|
|
56
|
-
${
|
|
56
|
+
${u}
|
|
57
57
|
${d}
|
|
58
|
-
${
|
|
58
|
+
${h}`,S=`${i}/${t.region}/${n}/${YO}`,b=`${Tk}
|
|
59
59
|
${s}
|
|
60
|
-
${
|
|
61
|
-
`+await t.crypto.sha256DigestHex(y),_=await nD(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),b=await ks(t.crypto,_,g),m=`${K_} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,Y_.fromArrayBufferToHex)(b)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var X_=J($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.DefaultAwsSecurityCredentialsSupplier=void 0;var qa=Et(),Jf=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};qa.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return qa.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return qa.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return qa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};$a.DefaultAwsSecurityCredentialsSupplier=Jf});var Kf=J(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.AwsClient=void 0;var sD=Gf(),iD=rn(),aD=X_(),Q_=Jt(),uD=et(),Vf=class t extends iD.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,Q_.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,Q_.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),c=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new aD.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:c}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new sD.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return uD.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};za.AwsClient=Vf});var ed=J(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.InvalidSubjectTokenError=ze.InvalidMessageFieldError=ze.InvalidCodeFieldError=ze.InvalidTokenTypeFieldError=ze.InvalidExpirationTimeFieldError=ze.InvalidSuccessFieldError=ze.InvalidVersionFieldError=ze.ExecutableResponseError=ze.ExecutableResponse=void 0;var Ha="urn:ietf:params:oauth:token-type:saml2",Yf="urn:ietf:params:oauth:token-type:id_token",Xf="urn:ietf:params:oauth:token-type:jwt",Qf=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Wa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Ga("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Ha&&this.tokenType!==Yf&&this.tokenType!==Xf)throw new Ja(`Executable response must contain a 'token_type' field when successful and it must be one of ${Yf}, ${Xf}, or ${Ha}.`);if(this.tokenType===Ha){if(!e.saml_response)throw new Ss(`Executable response must contain a 'saml_response' field when token_type=${Ha}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Ss(`Executable response must contain a 'id_token' field when token_type=${Yf} or ${Xf}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Va("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ka("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};ze.ExecutableResponse=Qf;var cr=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};ze.ExecutableResponseError=cr;var Wa=class extends cr{};ze.InvalidVersionFieldError=Wa;var Ga=class extends cr{};ze.InvalidSuccessFieldError=Ga;var Zf=class extends cr{};ze.InvalidExpirationTimeFieldError=Zf;var Ja=class extends cr{};ze.InvalidTokenTypeFieldError=Ja;var Va=class extends cr{};ze.InvalidCodeFieldError=Va;var Ka=class extends cr{};ze.InvalidMessageFieldError=Ka;var Ss=class extends cr{};ze.InvalidSubjectTokenError=Ss});var nd=J(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.PluggableAuthHandler=So.ExecutableError=void 0;var In=ed(),cD=require("child_process"),td=require("fs"),Ya=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};So.ExecutableError=Ya;var rd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=cD.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let c=JSON.parse(s),f=new In.ExecutableResponse(c);return r(f)}catch(c){return c instanceof In.ExecutableResponseError?n(c):n(new In.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Ya(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await td.promises.realpath(this.outputFile)}catch{return}if(!(await td.promises.lstat(e)).isFile())return;let r=await td.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new In.ExecutableResponse(n).isValid()?new In.ExecutableResponse(n):void 0}catch(n){throw n instanceof In.ExecutableResponseError?n:new In.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};So.PluggableAuthHandler=rd});var sd=J(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.PluggableAuthClient=Ao.ExecutableError=void 0;var lD=rn(),fD=ed(),Z_=nd(),dD=nd();Object.defineProperty(Ao,"ExecutableError",{enumerable:!0,get:function(){return dD.ExecutableError}});var hD=30*1e3,e0=5*1e3,t0=120*1e3,pD="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",r0=1,od=class extends lD.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=hD;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<e0||this.timeoutMillis>t0)throw new Error(`Timeout must be between ${e0} and ${t0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new Z_.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[pD]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>r0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${r0}.`);if(!e.success)throw new Z_.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new fD.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};Ao.PluggableAuthClient=od});var ad=J(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ExternalAccountClient=void 0;var gD=rn(),mD=Hf(),yD=Kf(),_D=sd(),id=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===gD.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new yD.AwsClient(e):e.credential_source?.executable?new _D.PluggableAuthClient(e):new mD.IdentityPoolClient(e):null}};Xa.ExternalAccountClient=id});var i0=J(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.ExternalAccountAuthorizedUserClient=To.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var o0=Et(),n0=Ff(),s0=et(),bD=require("stream"),CD=rn();To.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var wD="https://sts.{universeDomain}/v1/oauthtoken",ud=class t extends n0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};o0.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof s0.GaxiosError&&o.response?(0,n0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},cd=class extends o0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new ud({tokenRefreshEndpoint:e.token_url??wD.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=CD.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=s0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof bD.Readable;if(!r&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};To.ExternalAccountAuthorizedUserClient=cd});var l0=J(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.GoogleAuth=Xt.GoogleAuthExceptionMessages=void 0;var ED=require("child_process"),As=require("fs"),kD=et(),Ts=fs(),SD=require("os"),ld=require("path"),AD=ds(),TD=nf(),DD=sf(),vD=af(),Do=Tf(),a0=vf(),vo=xf(),RD=ad(),Ds=rn(),fd=Et(),u0=i0(),c0=Jt();Xt.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.
|
|
60
|
+
${S}
|
|
61
|
+
`+await t.crypto.sha256DigestHex(m),y=await XO(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,n),C=await Fi(t.crypto,y,b),_=`${Tk} Credential=${t.securityCredentials.accessKeyId}/${S}, SignedHeaders=${d}, Signature=${(0,vk.fromArrayBufferToHex)(C)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var Rk=V(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.DefaultAwsSecurityCredentialsSupplier=void 0;var mu=Dt(),wp=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};mu.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return mu.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return mu.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return mu.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};yu.DefaultAwsSecurityCredentialsSupplier=wp});var Sp=V(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});_u.AwsClient=void 0;var ZO=Cp(),e1=Dn(),t1=Rk(),Dk=sr(),r1=ct(),kp=class t extends e1.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,Dk.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,Dk.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let i=s.get("region_url"),c=s.get("url"),u=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new t1.DefaultAwsSecurityCredentialsSupplier({regionUrl:i,securityCredentialsUrl:c,imdsV2SessionTokenUrl:u}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new ZO.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return r1.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};_u.AwsClient=kp});var Rp=V(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.InvalidSubjectTokenError=Xe.InvalidMessageFieldError=Xe.InvalidCodeFieldError=Xe.InvalidTokenTypeFieldError=Xe.InvalidExpirationTimeFieldError=Xe.InvalidSuccessFieldError=Xe.InvalidVersionFieldError=Xe.ExecutableResponseError=Xe.ExecutableResponse=void 0;var bu="urn:ietf:params:oauth:token-type:saml2",Ep="urn:ietf:params:oauth:token-type:id_token",Ap="urn:ietf:params:oauth:token-type:jwt",Tp=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Cu("Executable response must contain a 'version' field.");if(e.success===void 0)throw new wu("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==bu&&this.tokenType!==Ep&&this.tokenType!==Ap)throw new ku(`Executable response must contain a 'token_type' field when successful and it must be one of ${Ep}, ${Ap}, or ${bu}.`);if(this.tokenType===bu){if(!e.saml_response)throw new Ii(`Executable response must contain a 'saml_response' field when token_type=${bu}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Ii(`Executable response must contain a 'id_token' field when token_type=${Ep} or ${Ap}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Su("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Eu("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Xe.ExecutableResponse=Tp;var Ar=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Xe.ExecutableResponseError=Ar;var Cu=class extends Ar{};Xe.InvalidVersionFieldError=Cu;var wu=class extends Ar{};Xe.InvalidSuccessFieldError=wu;var vp=class extends Ar{};Xe.InvalidExpirationTimeFieldError=vp;var ku=class extends Ar{};Xe.InvalidTokenTypeFieldError=ku;var Su=class extends Ar{};Xe.InvalidCodeFieldError=Su;var Eu=class extends Ar{};Xe.InvalidMessageFieldError=Eu;var Ii=class extends Ar{};Xe.InvalidSubjectTokenError=Ii});var Op=V(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.PluggableAuthHandler=hs.ExecutableError=void 0;var mo=Rp(),n1=require("child_process"),Dp=require("fs"),Au=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};hs.ExecutableError=Au;var xp=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=n1.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let i=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(i),c===0)try{let u=JSON.parse(s),f=new mo.ExecutableResponse(u);return r(f)}catch(u){return u instanceof mo.ExecutableResponseError?n(u):n(new mo.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Au(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Dp.promises.realpath(this.outputFile)}catch{return}if(!(await Dp.promises.lstat(e)).isFile())return;let r=await Dp.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new mo.ExecutableResponse(n).isValid()?new mo.ExecutableResponse(n):void 0}catch(n){throw n instanceof mo.ExecutableResponseError?n:new mo.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};hs.PluggableAuthHandler=xp});var Fp=V(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.PluggableAuthClient=ps.ExecutableError=void 0;var o1=Dn(),s1=Rp(),xk=Op(),i1=Op();Object.defineProperty(ps,"ExecutableError",{enumerable:!0,get:function(){return i1.ExecutableError}});var a1=30*1e3,Ok=5*1e3,Pk=120*1e3,c1="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",Fk=1,Pp=class extends o1.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=a1;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Ok||this.timeoutMillis>Pk)throw new Error(`Timeout must be between ${Ok} and ${Pk} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new xk.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[c1]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>Fk)throw new Error(`Version of executable is not currently supported, maximum supported version is ${Fk}.`);if(!e.success)throw new xk.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new s1.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};ps.PluggableAuthClient=Pp});var Np=V(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});Tu.ExternalAccountClient=void 0;var u1=Dn(),l1=_p(),d1=Sp(),f1=Fp(),Ip=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===u1.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new d1.AwsClient(e):e.credential_source?.executable?new f1.PluggableAuthClient(e):new l1.IdentityPoolClient(e):null}};Tu.ExternalAccountClient=Ip});var Bk=V(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.ExternalAccountAuthorizedUserClient=gs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var Nk=Dt(),Ik=ip(),Mk=ct(),h1=require("stream"),p1=Dn();gs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var g1="https://sts.{universeDomain}/v1/oauthtoken",Mp=class t extends Ik.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};Nk.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof Mk.GaxiosError&&o.response?(0,Ik.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Bp=class extends Nk.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Mp({tokenRefreshEndpoint:e.token_url??g1.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=p1.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=Mk.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof h1.Readable;if(!r&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};gs.ExternalAccountAuthorizedUserClient=Bp});var qk=V(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.GoogleAuth=ur.GoogleAuthExceptionMessages=void 0;var m1=require("child_process"),Ni=require("fs"),y1=ct(),Mi=wi(),_1=require("os"),jp=require("path"),b1=ki(),C1=Ph(),w1=Ih(),k1=Nh(),ms=ep(),jk=rp(),ys=op(),S1=Np(),Bi=Dn(),Up=Dt(),Uk=Bk(),Lk=sr();ur.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.
|
|
62
62
|
To learn more about authentication and Google APIs, visit:
|
|
63
63
|
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
64
64
|
To learn more about authentication and Google APIs, visit:
|
|
65
65
|
https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
|
|
66
66
|
To learn more about Universe Domain retrieval, visit:
|
|
67
|
-
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var dd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Xt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(r=>e(null,r),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Xt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Xt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await Ts.universe("universe-domain"),e||=fd.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=fd.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,c0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=fd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e=="function"?r=e:n=e,r)this.getApplicationDefaultAsync(n).then(o=>r(null,o.credential,o.projectId),r);else return this.getApplicationDefaultAsync(n)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let r;if(r=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),r)return r instanceof Do.JWT?r.scopes=this.scopes:r instanceof Ds.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof Do.JWT?r.scopes=this.scopes:r instanceof Ds.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new TD.Compute(e));throw new Error(Xt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,r=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let n=await this.getProjectIdOptional();return r&&(e.quotaProjectId=r),this.cachedCredential=e,{credential:e,projectId:n}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=Ts.getGCPResidency()||await Ts.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let r=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!r||r.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){throw n instanceof Error&&(n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`),n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows())r=process.env.APPDATA;else{let o=process.env.HOME;o&&(r=ld.join(o,".config"))}return r&&(r=ld.join(r,"gcloud","application_default_credentials.json"),As.existsSync(r)||(r=null)),r?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=As.realpathSync(e),!As.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n=As.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==vo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${vo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let r=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let n=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!n)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new vo.Impersonated({...e,sourceClient:r,targetPrincipal:n,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,r={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let n,o=(0,c0.originalOrCamelOptions)(r).get("universe_domain");return e.type===a0.USER_REFRESH_ACCOUNT_TYPE?(n=new a0.UserRefreshClient(r),n.fromJSON(e)):e.type===vo.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===Ds.EXTERNAL_ACCOUNT_TYPE?(n=RD.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===u0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new u0.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new Do.JWT(r),this.setGapicJWTValues(n),n.fromJSON(e)),o&&(n.universeDomain=o),n}_cacheClientFromJSON(e,r){let n=this.fromJSON(e,r);return this.jsonContent=e,this.cachedCredential=n,n}fromStream(e,r={},n){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof r=="function"?n=r:o=r,n)this.fromStreamAsync(e,o).then(s=>n(null,s),n);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,r){return new Promise((n,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),u=this._cacheClientFromJSON(a,r);return n(u)}catch(a){if(!this.keyFilename)throw a;let u=new Do.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),n(u)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new Do.JWT({...r,apiKey:e})}_isWindows(){let e=SD.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,ED.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n)try{let o=JSON.parse(n).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let r=await this.getClient();if(r&&r.projectId)return r.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==Ds.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Ts.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(r=>e(null,r),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof vo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ds.BaseExternalAccountClient){let r=e.getServiceAccountEmail();if(r)return{client_email:r,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[r,n]=await Promise.all([Ts.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Xt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{return await this.#e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=ld.resolve(this.keyFilename),r=As.createReadStream(e);return await this.fromStreamAsync(r,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:r}=await this.#t(e);return r}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let r=await this.getClient();if(!("fetchIdToken"in r))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new DD.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let r=e.url,o=await(await this.getClient()).getRequestHeaders(r);return e.headers=kD.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,vD.getEnv)()}async sign(e,r){let n=await this.getClient(),o=await this.getUniverseDomain();if(r=r||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,n instanceof vo.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,AD.createCrypto)();if(n instanceof Do.JWT&&n.key)return await s.sign(n.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,r)}async signBlob(e,r,n,o){let s=new URL(o+`${r}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(n)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Xt.GoogleAuth=dd});var f0=J(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.IAMAuth=void 0;var hd=class{selector;token;constructor(e,r){this.selector=e,this.token=r,this.selector=e,this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Qa.IAMAuth=hd});var d0=J(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.DownscopedClient=lr.EXPIRATION_TIME_OFFSET=lr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var xD=et(),OD=require("stream"),pd=Et(),FD=Fa(),PD="urn:ietf:params:oauth:grant-type:token-exchange",ID="urn:ietf:params:oauth:token-type:access_token",ND="urn:ietf:params:oauth:token-type:access_token";lr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;lr.EXPIRATION_TIME_OFFSET=300*1e3;var gd=class extends pd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof pd.AuthClient?{}:e),e instanceof pd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=r):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>lr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${lr.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let n of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(n.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new FD.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=xD.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof OD.Readable;if(!r&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,r={grantType:PD,requestedTokenType:ID,subjectToken:e,subjectTokenType:ND},n=await this.stsCredential.exchangeToken(r,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=n.expires_in?new Date().getTime()+n.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:n.access_token,expiry_date:s,res:n.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};lr.DownscopedClient=gd});var h0=J(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.PassThroughClient=void 0;var BD=Et(),md=class extends BD.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Za.PassThroughClient=md});var eu=J(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.GoogleAuth=ne.auth=ne.PassThroughClient=ne.ExecutableError=ne.PluggableAuthClient=ne.DownscopedClient=ne.BaseExternalAccountClient=ne.ExternalAccountClient=ne.IdentityPoolClient=ne.AwsRequestSigner=ne.AwsClient=ne.UserRefreshClient=ne.LoginTicket=ne.ClientAuthentication=ne.OAuth2Client=ne.CodeChallengeMethod=ne.Impersonated=ne.JWT=ne.JWTAccess=ne.IdTokenClient=ne.IAMAuth=ne.GCPEnv=ne.Compute=ne.DEFAULT_UNIVERSE=ne.AuthClient=ne.gaxios=ne.gcpMetadata=void 0;var p0=l0();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return p0.GoogleAuth}});ne.gcpMetadata=fs();ne.gaxios=et();var g0=Et();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return g0.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return g0.DEFAULT_UNIVERSE}});var jD=nf();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return jD.Compute}});var MD=af();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return MD.GCPEnv}});var UD=f0();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return UD.IAMAuth}});var LD=sf();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return LD.IdTokenClient}});var qD=Sf();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return qD.JWTAccess}});var $D=Tf();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return $D.JWT}});var zD=xf();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return zD.Impersonated}});var yd=Pn();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return yd.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return yd.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return yd.ClientAuthentication}});var HD=Zl();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return HD.LoginTicket}});var WD=vf();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return WD.UserRefreshClient}});var GD=Kf();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return GD.AwsClient}});var JD=Gf();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return JD.AwsRequestSigner}});var VD=Hf();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return VD.IdentityPoolClient}});var KD=ad();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return KD.ExternalAccountClient}});var YD=rn();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return YD.BaseExternalAccountClient}});var XD=d0();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return XD.DownscopedClient}});var m0=sd();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return m0.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return m0.ExecutableError}});var QD=h0();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return QD.PassThroughClient}});var ZD=new p0.GoogleAuth;ne.auth=ZD});var Gb=J((SM,ih)=>{"use strict";var F1=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,P1=/(\w*(\.\w*)*)\..*/;ih.exports=function(e){if(e.name.length>0)return e.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,Wb(n.stack)}};function Wb(t){let e=t.match(F1);return e?e[1].split(/[/\\]/).slice(-1)[0].match(P1)[1]:"anonymous"}ih.exports.extractPluginName=Wb});var Vb=J((AM,Jb)=>{"use strict";Jb.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var Kb=J((TM,ic)=>{"use strict";var I1=Gb(),N1=Vb(),B1=0;function ah(t,e={}){let r=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(r=!0,e.name=I1(t)+"-auto-"+B1++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let n=N1(e.name);return!r&&!t[n]&&(t[n]=t),t}ic.exports=ah;ic.exports.default=ah;ic.exports.fastifyPlugin=ah});var $s,uh=Le(()=>{"use strict";$s=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,r){let{format:n="text",timestamp:o=!0,prefix:s,metadata:a}=r||{},u="";if(o){let c=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${c}]${this.colors.reset} `:`[${c}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
|
|
68
|
-
`+(this.config.colors?`${this.colors.dim}`:""),
|
|
67
|
+
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Lp=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(ur.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(r=>e(null,r),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===ur.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(ur.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await Mi.universe("universe-domain"),e||=Up.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=Up.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,Lk.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Up.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e=="function"?r=e:n=e,r)this.getApplicationDefaultAsync(n).then(o=>r(null,o.credential,o.projectId),r);else return this.getApplicationDefaultAsync(n)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let r;if(r=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),r)return r instanceof ms.JWT?r.scopes=this.scopes:r instanceof Bi.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof ms.JWT?r.scopes=this.scopes:r instanceof Bi.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new C1.Compute(e));throw new Error(ur.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,r=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let n=await this.getProjectIdOptional();return r&&(e.quotaProjectId=r),this.cachedCredential=e,{credential:e,projectId:n}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=Mi.getGCPResidency()||await Mi.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let r=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!r||r.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){throw n instanceof Error&&(n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`),n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows())r=process.env.APPDATA;else{let o=process.env.HOME;o&&(r=jp.join(o,".config"))}return r&&(r=jp.join(r,"gcloud","application_default_credentials.json"),Ni.existsSync(r)||(r=null)),r?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=Ni.realpathSync(e),!Ni.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n=Ni.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==ys.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${ys.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let r=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let n=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!n)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new ys.Impersonated({...e,sourceClient:r,targetPrincipal:n,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,r={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let n,o=(0,Lk.originalOrCamelOptions)(r).get("universe_domain");return e.type===jk.USER_REFRESH_ACCOUNT_TYPE?(n=new jk.UserRefreshClient(r),n.fromJSON(e)):e.type===ys.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===Bi.EXTERNAL_ACCOUNT_TYPE?(n=S1.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===Uk.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new Uk.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new ms.JWT(r),this.setGapicJWTValues(n),n.fromJSON(e)),o&&(n.universeDomain=o),n}_cacheClientFromJSON(e,r){let n=this.fromJSON(e,r);return this.jsonContent=e,this.cachedCredential=n,n}fromStream(e,r={},n){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof r=="function"?n=r:o=r,n)this.fromStreamAsync(e,o).then(s=>n(null,s),n);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,r){return new Promise((n,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",i=>s.push(i)).on("end",()=>{try{try{let i=JSON.parse(s.join("")),c=this._cacheClientFromJSON(i,r);return n(c)}catch(i){if(!this.keyFilename)throw i;let c=new ms.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),n(c)}}catch(i){return o(i)}})})}fromAPIKey(e,r={}){return new ms.JWT({...r,apiKey:e})}_isWindows(){let e=_1.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,m1.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n)try{let o=JSON.parse(n).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let r=await this.getClient();if(r&&r.projectId)return r.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==Bi.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Mi.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(r=>e(null,r),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof ys.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Bi.BaseExternalAccountClient){let r=e.getServiceAccountEmail();if(r)return{client_email:r,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[r,n]=await Promise.all([Mi.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(ur.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{return await this.#e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=jp.resolve(this.keyFilename),r=Ni.createReadStream(e);return await this.fromStreamAsync(r,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:r}=await this.#t(e);return r}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let r=await this.getClient();if(!("fetchIdToken"in r))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new w1.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let r=e.url,o=await(await this.getClient()).getRequestHeaders(r);return e.headers=y1.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,k1.getEnv)()}async sign(e,r){let n=await this.getClient(),o=await this.getUniverseDomain();if(r=r||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,n instanceof ys.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,b1.createCrypto)();if(n instanceof ms.JWT&&n.key)return await s.sign(n.key,e);let i=await this.getCredentials();if(!i.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,i.client_email,e,r)}async signBlob(e,r,n,o){let s=new URL(o+`${r}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(n)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};ur.GoogleAuth=Lp});var $k=V(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.IAMAuth=void 0;var qp=class{selector;token;constructor(e,r){this.selector=e,this.token=r,this.selector=e,this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};vu.IAMAuth=qp});var zk=V(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.DownscopedClient=Tr.EXPIRATION_TIME_OFFSET=Tr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var E1=ct(),A1=require("stream"),$p=Dt(),T1=au(),v1="urn:ietf:params:oauth:grant-type:token-exchange",R1="urn:ietf:params:oauth:token-type:access_token",D1="urn:ietf:params:oauth:token-type:access_token";Tr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;Tr.EXPIRATION_TIME_OFFSET=300*1e3;var zp=class extends $p.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof $p.AuthClient?{}:e),e instanceof $p.AuthClient?(this.authClient=e,this.credentialAccessBoundary=r):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>Tr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${Tr.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let n of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(n.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new T1.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=E1.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof A1.Readable;if(!r&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,r={grantType:v1,requestedTokenType:R1,subjectToken:e,subjectTokenType:D1},n=await this.stsCredential.exchangeToken(r,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=n.expires_in?new Date().getTime()+n.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:n.access_token,expiry_date:s,res:n.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};Tr.DownscopedClient=zp});var Hk=V(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.PassThroughClient=void 0;var x1=Dt(),Hp=class extends x1.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ru.PassThroughClient=Hp});var Du=V(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.GoogleAuth=ue.auth=ue.PassThroughClient=ue.ExecutableError=ue.PluggableAuthClient=ue.DownscopedClient=ue.BaseExternalAccountClient=ue.ExternalAccountClient=ue.IdentityPoolClient=ue.AwsRequestSigner=ue.AwsClient=ue.UserRefreshClient=ue.LoginTicket=ue.ClientAuthentication=ue.OAuth2Client=ue.CodeChallengeMethod=ue.Impersonated=ue.JWT=ue.JWTAccess=ue.IdTokenClient=ue.IAMAuth=ue.GCPEnv=ue.Compute=ue.DEFAULT_UNIVERSE=ue.AuthClient=ue.gaxios=ue.gcpMetadata=void 0;var Wk=qk();Object.defineProperty(ue,"GoogleAuth",{enumerable:!0,get:function(){return Wk.GoogleAuth}});ue.gcpMetadata=wi();ue.gaxios=ct();var Gk=Dt();Object.defineProperty(ue,"AuthClient",{enumerable:!0,get:function(){return Gk.AuthClient}});Object.defineProperty(ue,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return Gk.DEFAULT_UNIVERSE}});var O1=Ph();Object.defineProperty(ue,"Compute",{enumerable:!0,get:function(){return O1.Compute}});var P1=Nh();Object.defineProperty(ue,"GCPEnv",{enumerable:!0,get:function(){return P1.GCPEnv}});var F1=$k();Object.defineProperty(ue,"IAMAuth",{enumerable:!0,get:function(){return F1.IAMAuth}});var I1=Ih();Object.defineProperty(ue,"IdTokenClient",{enumerable:!0,get:function(){return I1.IdTokenClient}});var N1=Qh();Object.defineProperty(ue,"JWTAccess",{enumerable:!0,get:function(){return N1.JWTAccess}});var M1=ep();Object.defineProperty(ue,"JWT",{enumerable:!0,get:function(){return M1.JWT}});var B1=op();Object.defineProperty(ue,"Impersonated",{enumerable:!0,get:function(){return B1.Impersonated}});var Wp=go();Object.defineProperty(ue,"CodeChallengeMethod",{enumerable:!0,get:function(){return Wp.CodeChallengeMethod}});Object.defineProperty(ue,"OAuth2Client",{enumerable:!0,get:function(){return Wp.OAuth2Client}});Object.defineProperty(ue,"ClientAuthentication",{enumerable:!0,get:function(){return Wp.ClientAuthentication}});var j1=Rh();Object.defineProperty(ue,"LoginTicket",{enumerable:!0,get:function(){return j1.LoginTicket}});var U1=rp();Object.defineProperty(ue,"UserRefreshClient",{enumerable:!0,get:function(){return U1.UserRefreshClient}});var L1=Sp();Object.defineProperty(ue,"AwsClient",{enumerable:!0,get:function(){return L1.AwsClient}});var q1=Cp();Object.defineProperty(ue,"AwsRequestSigner",{enumerable:!0,get:function(){return q1.AwsRequestSigner}});var $1=_p();Object.defineProperty(ue,"IdentityPoolClient",{enumerable:!0,get:function(){return $1.IdentityPoolClient}});var z1=Np();Object.defineProperty(ue,"ExternalAccountClient",{enumerable:!0,get:function(){return z1.ExternalAccountClient}});var H1=Dn();Object.defineProperty(ue,"BaseExternalAccountClient",{enumerable:!0,get:function(){return H1.BaseExternalAccountClient}});var W1=zk();Object.defineProperty(ue,"DownscopedClient",{enumerable:!0,get:function(){return W1.DownscopedClient}});var Jk=Fp();Object.defineProperty(ue,"PluggableAuthClient",{enumerable:!0,get:function(){return Jk.PluggableAuthClient}});Object.defineProperty(ue,"ExecutableError",{enumerable:!0,get:function(){return Jk.ExecutableError}});var G1=Hk();Object.defineProperty(ue,"PassThroughClient",{enumerable:!0,get:function(){return G1.PassThroughClient}});var J1=new Wk.GoogleAuth;ue.auth=J1});var kA=V((u6,im)=>{"use strict";var FM=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,IM=/(\w*(\.\w*)*)\..*/;im.exports=function(e){if(e.name.length>0)return e.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,wA(n.stack)}};function wA(t){let e=t.match(FM);return e?e[1].split(/[/\\]/).slice(-1)[0].match(IM)[1]:"anonymous"}im.exports.extractPluginName=wA});var EA=V((l6,SA)=>{"use strict";SA.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var AA=V((d6,Gl)=>{"use strict";var NM=kA(),MM=EA(),BM=0;function am(t,e={}){let r=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(r=!0,e.name=NM(t)+"-auto-"+BM++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let n=MM(e.name);return!r&&!t[n]&&(t[n]=t),t}Gl.exports=am;Gl.exports.default=am;Gl.exports.fastifyPlugin=am});var na,cm=bn(()=>{"use strict";na=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,r){let{format:n="text",timestamp:o=!0,prefix:s,metadata:i}=r||{},c="";if(o){let u=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${u}]${this.colors.reset} `:`[${u}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;case"text":default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return i&&Object.keys(i).length>0&&(c+=`
|
|
68
|
+
`+(this.config.colors?`${this.colors.dim}`:""),c+="Metadata: "+JSON.stringify(i,null,2),this.config.colors&&(c+=this.colors.reset)),c}toMarkdown(e,r=0){let n=" ".repeat(r);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${n}-
|
|
69
69
|
${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
|
|
70
70
|
`):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
|
|
71
71
|
${this.toMarkdown(s,r+1)}`:`${n}${o}: ${s}`).join(`
|
|
72
|
-
`):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var zs,ch=Le(()=>{"use strict";zs=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,r,n,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let c=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(c){throw clearTimeout(u),c}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let u=null;for(let c=1;c<=a.maxAttempts;c++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(u=f,c===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,c-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${c}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw u}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var jo,lh,Yb,Hs,fh=Le(()=>{"use strict";jo=require("fs"),lh=require("path"),Yb=require("os"),Hs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,Yb.tmpdir)();this.baseDir=(0,lh.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,jo.existsSync)(this.baseDir)||(0,jo.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return(0,lh.join)(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return(0,jo.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var dh,Mo,Xb=Le(()=>{"use strict";uh();ch();fh();dh=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){let r;switch(e.type){case"console":r=new $s(e.config);break;case"webhook":r=new zs(e.config);break;case"temp-file":r=new Hs(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof r.setLogger=="function"&&r.setLogger(this.logger),r}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,u])=>{try{await u.output(e,n)?o.success.push(a):o.failed.push(a)}catch(c){(this.logger?.error??console.error)(`[OutputManager] Handler ${a} failed:`,c),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async u=>{let c=this.handlers.get(u);if(!c){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await c.output(r,o)?s.success.push(u):s.failed.push(u)}catch(f){(this.logger?.error??console.error)(`[OutputManager] Handler ${u} failed:`,f),s.failed.push(u)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},Mo=new dh});var U1={};Ic(U1,{ConfigService:()=>Cn,ProviderService:()=>En,SSEParserTransform:()=>Sr,SSESerializerTransform:()=>kn,TokenizerService:()=>jn,TransformerService:()=>Bn,calculateTokenCount:()=>rh,default:()=>M1,isClientAbortError:()=>Ve,pluginManager:()=>sh,rewriteStream:()=>Qc,router:()=>sc,searchProjectBySession:()=>nh,sessionUsageCache:()=>tc,tokenSpeedPlugin:()=>ph});module.exports=$w(U1);var eC=$e(require("fastify"),1),tC=$e(require("@fastify/cors"),1);var Ko=require("fs"),Hc=require("path"),Rp=require("dotenv"),xp=$e(zc(),1),Cn=class{config={};options;logger;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,Hc.join)(process.cwd(),this.options.jsonPath);if((0,Ko.existsSync)(e))try{let r=(0,Ko.readFileSync)(e,"utf-8"),n=xp.default.parse(r);this.config={...this.config,...n},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(r){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,r)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,Hc.join)(process.cwd(),this.options.envPath);if((0,Ko.existsSync)(e))try{let r=(0,Rp.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){(this.logger?.warn??console.warn)(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};var Xw="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function kr(t){return t.replace(/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi,"[redacted-url]").replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Xw})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"').replace(/\b(?:authorization|x-api-key|api-key|api_key|access_token|token)\s*[:=]\s*["']?[^\s,;"']+/gi,e=>`${e.split(/\s*[:=]/,1)[0]}=[redacted]`).replace(/\[[0-9a-f:]+\](?::\d+)?/gi,"[redacted-address]").replace(/\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?\b/g,"[redacted-address]").replace(/\b(connect(?:ing)?(?:\s+to)?|from|to)\s+(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\.)+[a-z]{2,63})(?::\d+)?\b/gi,"$1 [redacted-address]").replace(/([?&](?:api_?key|key|token|access_token|auth)=)[^&\s]+/gi,"$1[redacted]").replace(/\s+/g," ").trim().slice(0,240)}function Qw(t,e){return t.split(`
|
|
73
|
-
`).map(r=>
|
|
74
|
-
`).slice(0,e)}function wn(t){let e=t,r=typeof e?.message=="string"?e.message:typeof t=="string"?t:String(t),n=typeof e?.cause?.message=="string"?e.cause.message:typeof e?.cause=="string"?e.cause:void 0;return{message:kr(r)||"Unknown error",code:typeof e?.code=="string"?e.code:void 0,name:typeof e?.name=="string"?e.name:void 0,statusCode:typeof e?.statusCode=="number"?e.statusCode:void 0,stack:typeof e?.stack=="string"?Qw(e.stack,4e3):void 0,cause:n?kr(n):void 0}}function Op(t){let e={};if(!t)return e;let r=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[n,o]of r){if(o==null)continue;let s=n.toLowerCase();if(s==="authorization"||s==="x-api-key"||s==="api-key"||s==="cookie"||s==="set-cookie"||s.includes("token")||s.includes("secret")){e[n]="[redacted]";continue}e[n]=String(o)}return e}var ct="client disconnected";function Gc(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"})):new Promise((r,n)=>{let o=setTimeout(()=>{e&&e.removeEventListener("abort",s),r()},t),s=()=>{clearTimeout(o),n(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"}))};e&&e.addEventListener("abort",s,{once:!0})})}function Pp(t,e){let r=new AbortController,n=e?.raw,o=!1,s=(u=ct)=>{r.signal.aborted||r.abort(u)},a=()=>{if(!o&&(o=!0,!!n)){if(Wc(n)){s(`${ct} (already destroyed)`);return}n.on("close",()=>{!n.writableEnded&&Wc(n)&&s(`${ct} (response close)`)}),n.on("error",u=>{(u?.code==="EPIPE"||u?.code==="ECONNRESET"||u?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ve(u))&&s(`${ct} (response error)`)})}};return{signal:r.signal,arm:a}}function Zw(t){let e=t?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r)&&r>=0)return Math.min(r*1e3,6e4);let n=Date.parse(e);if(Number.isFinite(n))return Math.min(Math.max(0,n-Date.now()),6e4)}function eE(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function Jc(t,e){let r=Zw(e);return r!==void 0&&r>0?r:eE(t)}function Ip(t,e){if(!t)return;let r=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(r)?r:void 0}var Fp=new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ETIMEDOUT","EPIPE","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET","UND_ERR_CONNECT"]);function Np(t){let e=t;if(!e)return!1;if(e.name==="TimeoutError"||e.code==="TIMEOUT_ERR"||e.code===23||e.cause&&(e.cause.name==="TimeoutError"||e.cause.code==="TIMEOUT_ERR"||e.cause.code===23))return!0;let r=String(e.message||"");return/aborted due to timeout|operation was aborted due to timeout/i.test(r)}function Gr(t=ct){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:ct;return Object.assign(new Error(e),{name:"AbortError",code:"ABORT_ERR",reason:t})}function Ve(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(ct)||/client.*(closed|disconnect)|socket hang up/i.test(t);let e=t;if(Np(e))return!1;let r=e.reason??e.cause;if(typeof r=="string"&&r.startsWith(ct)||typeof e.message=="string"&&e.message.startsWith(ct)||e.name==="AbortError"||e.code==="ABORT_ERR"||e.code==="ERR_STREAM_PREMATURE_CLOSE")return!0;let n=String(e.message||"");return/client.*(closed|disconnect)|socket hang up/i.test(n)}function Wc(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function Bp(t){return Wc(t.raw)}function Vc(t){if(!t||Ve(t))return!1;if(Np(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&Fp.has(e.code)||e.cause?.code&&Fp.has(String(e.cause.code)))return!0;let r=String(e.message||"");return/fetch failed|network|socket|ECONNRESET|ENOTFOUND|ETIMEDOUT|other side closed/i.test(r)}function jp(t){let e=t;return!e||Ve(e)?!1:e.code==="provider_response_error"||e.code==="provider_network_error"||Vc(e)}function Qe(t,e=500,r="internal_error",n="api_error",o){let s=new Error(kr(t)||t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function Mp(t,e,r){if(Ve(t)||r.raw.destroyed||r.sent)return e.log.debug(wn(t),"request aborted or already closed"),!r.sent&&!r.raw.destroyed&&!r.raw.headersSent?(r.type("application/json"),r.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):void 0;e.log.error(wn(t),"request error");let n=t.statusCode||500,o={error:{message:kr(t.message||"Internal error")||"Internal error",type:t.type||"api_error",code:t.code||"internal_error"}};return t.headers&&r.headers(t.headers),r.type("application/json"),r.code(n).send(o)}var zp=require("stream");var Lp=require("undici");function tE(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function rE(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function Up(t){let e=t.split(".");if(e.length!==4)return null;let r=0;for(let n of e){let o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>255)return null;r=r<<8|o}return r>>>0}function nE(t,e){let[r,n]=e.split("/"),o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=Up(t),a=Up(r);if(s===null||a===null)return!1;let u=o===0?0:-1<<32-o>>>0;return(s&u)===(a&u)}function oE(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let r=tE(e.hostname);if(r==="localhost"||r==="127.0.0.1"||r.startsWith("127.")||r==="0.0.0.0"||r==="::1"||r==="0:0:0:0:0:0:0:1")return!0;let n=process.env.NO_PROXY||process.env.no_proxy;if(!n)return!1;let o=n.split(",").map(s=>s.trim()).filter(Boolean);for(let s of o){let a=s.toLowerCase();if(a==="*")return!0;let u=sE(a);if(u.startsWith(".")){if(r.endsWith(u)||r===u.slice(1))return!0;continue}if(u.includes("/")&&rE(r)){if(nE(r,u))return!0;continue}if(r===u)return!0;if(u.startsWith("*.")){let c=u.slice(1);if(r.endsWith(c)||r===c.slice(1))return!0}}return!1}function sE(t){if(t.startsWith("[")&&t.includes("]"))return t.slice(1,t.indexOf("]"));if(t.split(":").length-1===1){let[r,n]=t.split(":");if(/^\d+$/.test(n))return r}return t}async function qp(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([p,y])=>{y&&s.set(p,y)});let a=AbortSignal.timeout(r.TIMEOUT??60*1e3*60),u=r.signal?AbortSignal.any([r.signal,a]):a,c={method:"POST",headers:s,body:JSON.stringify(e),signal:u},f=typeof t=="string"?t:t.toString(),d=!!r.httpsProxy&&!oE(f);d&&(c.dispatcher=new Lp.ProxyAgent(new URL(r.httpsProxy).toString())),o?.debug({reqId:n?.req?.id,method:c.method,headers:Op(s),requestUrl:f,useProxy:d},"final request");try{return await fetch(f,c)}catch(p){if(Ve(p))throw typeof p=="string"?Gr(p):p;if(r.signal?.aborted&&Ve(r.signal.reason??ct))throw Gr(r.signal.reason??p);if(Vc(p)){let y=Qe(p?.message||"Provider network error",502,"provider_network_error");throw y.cause=p,y}throw p}}var $p="1.0.56";async function aE(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s),u=Pp(t,e),c=u.signal;if(u.arm(),!a)throw Qe(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:f,config:d,bypass:p}=await Hp(o,a,n,t.headers,{req:t,provider:a,signal:c}),y=await Wp(f,d,a,r,p,n,{req:t,signal:c}),A=await Gp(f,y,a,n,p,{req:t,signal:c});return await Jp(A,e,o,c)}catch(f){if(Ve(f))throw typeof f=="string"?Gr(f):f;if(c.aborted)throw Gr(c.reason??f);if(jp(f)){let d=await uE(t,e,r,n,f,c);if(d)return d;if(c.aborted)throw Gr(c.reason??ct)}throw f}}async function uE(t,e,r,n,o,s){let a=t.scenarioType||"default",u=r.configService.get("fallback"),c=Ip(u,a);if(!c?.length||s?.aborted||Ve(o))return null;t.log.warn({scenarioType:a,fallbackCount:c.length,error:wn(o)},`Request failed for ${a}, trying ${c.length} fallback models`);let f=0,d=Jc(f,o?.headers?.["Retry-After"]??o?.headers?.["retry-after"]);if(f+=1,d>0){t.log.info(`Waiting ${d}ms before first fallback attempt`);try{await Gc(d,s)}catch(p){if(Ve(p)||s?.aborted)return null;throw p}}for(let p=0;p<c.length;p+=1){if(s?.aborted)return null;let y=c[p];try{t.log.info(`Trying fallback model: ${y}`);let A={...t.body},[g,..._]=y.split(",");A.model=_.join(",");let b={...t,provider:g,body:A},m=r.providerService.getProvider(g);if(!m){t.log.warn(`Fallback provider '${g}' not found, skipping`);continue}let{requestBody:v,config:k,bypass:w}=await Hp(A,m,n,t.headers,{req:b,provider:m,signal:s}),T=await Wp(v,k,m,r,w,n,{req:b,signal:s}),O=await Gp(v,T,m,n,w,{req:b,signal:s});return t.log.info(`Fallback model ${y} succeeded`),await Jp(O,e,A,s)}catch(A){if(Ve(A))throw A;if(s?.aborted)throw Gr(s.reason??ct);if(t.log.warn({fallbackModel:y,error:wn(A)},`Fallback model ${y} failed`),p<c.length-1){let _=Jc(f,A?.headers?.["Retry-After"]??A?.headers?.["retry-after"]);if(f+=1,_>0){t.log.info(`Waiting ${_}ms before next fallback attempt`);try{await Gc(_,s)}catch(b){if(Ve(b)||s?.aborted)return null;throw b}}}continue}}return t.log.error(`All fallback models failed for ${a}`),null}async function Hp(t,e,r,n,o){let s=t,a={},u=!1;u=cE(e,r,t);let c=u||e.transformer?.passthrough;if(u&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let f=await r.transformRequestOut(s,o);f.body?(s=f.body,a=f.config||{}):s=f}if(!u&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!u&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}return{requestBody:s,config:a,bypass:u}}function cE(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function Wp(t,e,r,n,o,s,a){if(e?.__providerResponse)return e.__providerResponse;let u=e.url||new URL(r.baseUrl);if((o||r.transformer?.passthrough)&&typeof s.auth=="function"){let d=await s.auth(t,r);if(d.body){t=d.body;let p=e.headers||{};d.config?.headers&&(p={...p,...d.config.headers},delete p.host,delete d.config.headers),e={...e,...d.config,headers:p}}else t=d}let c={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};c["x-api-key"]&&delete c.Authorization;for(let d in c)(c[d]==="undefined"||["authorization","Authorization"].includes(d)&&c[d]?.includes("undefined"))&&delete c[d];let f=await qp(u,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(c)),signal:a?.signal??e.signal},a,n.log);if(!f.ok){let d=await f.text(),p=kr(d)||d.slice(0,240),y,A=f.headers.get("retry-after");if(A)y={"Retry-After":A};else if(f.status===429)try{let g=JSON.parse(d),_=g?.error?.details||g?.details;if(Array.isArray(_)){let b=_.find(m=>m["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(b?.retryDelay){let m=parseInt(b.retryDelay,10);isNaN(m)||(y={"Retry-After":m.toString()})}}}catch{}try{let g=JSON.parse(d),_=kr(String(g?.error?.message||d))||p;n.log.error({status:f.status,provider:r.name,model:t.model,errorMessage:_},`[provider_response_error] ${r.name},${t.model}: ${_}`)}catch{n.log.error({status:f.status,provider:r.name,model:t.model,errorText:p},`[provider_response_error] ${r.name},${t.model}: ${p}`)}throw Qe(`Error from provider(${r.name},${t.model}: ${f.status}): ${p}`,f.status,"provider_response_error","api_error",y)}return f}async function Gp(t,e,r,n,o,s){let a=e,u=o||r.transformer?.passthrough;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!u&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}async function Jp(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0&&t.ok){if(t.body&&typeof t.body.getReader=="function"){let s=zp.Readable.fromWeb(t.body),a=!1,u=()=>{if(!a){a=!0;try{s.destroyed||s.destroy()}catch{}}},c=()=>{n&&n.removeEventListener("abort",u)};return Bp(e)?(u(),!e.sent&&!e.raw.destroyed?(e.type("application/json"),e.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):e):(n?.aborted&&e.log?.warn?.({reason:String(n.reason??""),headersSent:e.raw.headersSent,writableEnded:e.raw.writableEnded},"disconnect signal fired but socket still open; continuing SSE"),e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&n.addEventListener("abort",u,{once:!0}),e.raw.on("error",d=>{(d?.code==="EPIPE"||d?.code==="ECONNRESET"||d?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ve(d))&&u()}),e.raw.on("close",()=>{e.raw.writableEnded||u()}),s.on("error",d=>{d?.code==="ERR_STREAM_PREMATURE_CLOSE"||d?.code==="ABORT_ERR"||Ve(d)||e.log?.error?.(wn(d),"upstream stream error")}),s.once("end",c),s.once("close",c),e.send(s))}if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.pipe=="function")return e.send(t.body);throw Qe("Streaming response body is not a readable stream",502,"provider_response_error")}else{let s=await t.json();return e.send(s)}}var Kc=async t=>{t.get("/",async()=>({message:"LLMs API",version:$p})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>aE(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:u}=r.body;if(!o?.trim())throw Qe("Provider name is required",400,"invalid_request");if(!s||!lE(s))throw Qe("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw Qe("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw Qe("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw Qe(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw Qe("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw Qe("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw Qe("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw Qe("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function lE(t){try{return new URL(t),!0}catch{return!1}}var En=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")):o==="passthrough"?n.passthrough=r.transformer.passthrough:Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let r={...e};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,u={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){return!!this.providers.get(e)}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ze=[];for(let t=0;t<256;++t)Ze.push((t+256).toString(16).slice(1));function Vp(t,e=0){return(Ze[t[e+0]]+Ze[t[e+1]]+Ze[t[e+2]]+Ze[t[e+3]]+"-"+Ze[t[e+4]]+Ze[t[e+5]]+"-"+Ze[t[e+6]]+Ze[t[e+7]]+"-"+Ze[t[e+8]]+Ze[t[e+9]]+"-"+Ze[t[e+10]]+Ze[t[e+11]]+Ze[t[e+12]]+Ze[t[e+13]]+Ze[t[e+14]]+Ze[t[e+15]]).toLowerCase()}var Kp=require("crypto"),Ti=new Uint8Array(256),Ai=Ti.length;function Yc(){return Ai>Ti.length-16&&((0,Kp.randomFillSync)(Ti),Ai=0),Ti.slice(Ai,Ai+=16)}var Yp=require("crypto"),Xc={randomUUID:Yp.randomUUID};function fE(t,e,r){if(Xc.randomUUID&&!e&&!t)return Xc.randomUUID();t=t||{};let n=t.random??t.rng?.()??Yc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return Vp(n)}var Zt=fE;var Xp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Zn=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e,r){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let u=e.system.filter(c=>c.type==="text"&&c.text).map(c=>({type:"text",text:c.text,cache_control:c.cache_control}));n.push({role:"system",content:u})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(u=>{if(u.role==="user"||u.role==="assistant"){if(typeof u.content=="string"){n.push({role:u.role,content:u.content});return}if(Array.isArray(u.content)){if(u.role==="user"){let c=u.content.filter(d=>d.type==="tool_result"&&d.tool_use_id);c.length&&c.forEach(d=>{let p={role:"tool",content:typeof d.content=="string"?d.content:Array.isArray(d.content)&&d.content.filter(y=>y.type==="text"&&y.text).map(y=>y.text).join(`
|
|
75
|
-
`)||
|
|
76
|
-
`));let d=u.content.filter(y=>y.type==="tool_use"&&y.id);d.length&&(c.tool_calls=d.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.input||{})}})));let p=u.content.find(y=>y.type==="thinking"&&y.signature);p&&(c.thinking={content:p.thinking,signature:p.signature}),n.push(c)}return}}});let s={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(s.reasoning={effort:e.output_config?.effort||e.effort,enabled:e.thinking.type==="enabled"||e.thinking.type==="adaptive"}),Array.isArray(r?.provider?.transformer?.use)&&r.provider.transformer.use.some(u=>u?.name==="claude-auth")&&(e.thinking&&(s.anthropic_thinking=e.thinking),e.output_config&&(s.anthropic_output_config=e.output_config),e.metadata&&(s.anthropic_metadata=e.metadata),e.stop_sequences&&(s.anthropic_stop_sequences=e.stop_sequences)),e.tool_choice&&(e.tool_choice.type==="tool"?s.tool_choice={type:"function",function:{name:e.tool_choice.name}}:s.tool_choice=e.tool_choice.type),s}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}static buildAnthropicBody(e,r){let n;e.system&&(typeof e.system=="string"?n=e.system:Array.isArray(e.system)&&e.system.length&&(n=e.system.map(c=>({type:"text",text:c.text,...c.cache_control?{cache_control:c.cache_control}:{}}))));let o=[];for(let c of e.messages){if(c.role==="system"){if(!n){if(typeof c.content=="string")n=c.content;else if(Array.isArray(c.content)){let f=c.content.filter(d=>d.type==="text"&&d.text);f.length===1&&!f[0].cache_control?n=f[0].text:f.length>0&&(n=f.map(d=>({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}})))}}continue}if(c.role==="tool"){let f={type:"tool_result",tool_use_id:c.tool_call_id,content:typeof c.content=="string"?c.content:JSON.stringify(c.content)},d=o[o.length-1];d?.role==="user"&&Array.isArray(d.content)?d.content.push(f):o.push({role:"user",content:[f]});continue}if(c.role==="assistant"){let f=[];if(c.thinking&&f.push({type:"thinking",thinking:c.thinking.content,signature:c.thinking.signature}),typeof c.content=="string"&&c.content&&f.push({type:"text",text:c.content}),c.tool_calls?.length)for(let d of c.tool_calls){let p={};try{p=JSON.parse(d.function.arguments||"{}")}catch(y){(r?.error??console.error)("Failed to parse tool_call arguments for tool '%s': %s",d.function.name,y)}f.push({type:"tool_use",id:d.id,name:d.function.name,input:p})}f.length>0&&o.push({role:"assistant",content:f});continue}if(c.role==="user"){let f=[];if(typeof c.content=="string")f.push({type:"text",text:c.content});else if(Array.isArray(c.content)){for(let d of c.content)if(d.type==="text"&&d.text)f.push({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}});else if(d.type==="image_url"&&d.image_url?.url){let p=d.image_url.url;if(p.startsWith("data:")){let[y,A]=p.split(","),g=y.split(":")[1]?.split(";")[0]??"image/jpeg";f.push({type:"image",source:{type:"base64",media_type:g,data:A}})}else f.push({type:"image",source:{type:"url",url:p}})}}f.length>0&&o.push({role:"user",content:f});continue}}let s;e.tools?.length&&(s=e.tools.map(c=>({name:c.function.name,description:c.function.description||"",input_schema:c.function.parameters})));let a;if(e.tool_choice){let c=e.tool_choice;c==="auto"?a={type:"auto"}:c==="required"?a={type:"any"}:typeof c=="string"?a={type:"tool",name:c}:c.type==="function"&&(a={type:"tool",name:c.function?.name})}let u={model:e.model,max_tokens:e.max_tokens??8192,messages:o,stream:e.stream??!0};return n!==void 0&&(u.system=n),e.temperature!==void 0&&(u.temperature=e.temperature),e.tool_choice!=="none"&&s?.length&&(u.tools=s),e.tool_choice!=="none"&&a&&(u.tool_choice=a),e.anthropic_thinking&&(u.thinking=e.anthropic_thinking),e.anthropic_output_config&&(u.output_config=e.anthropic_output_config),e.anthropic_metadata&&(u.metadata=e.anthropic_metadata),e.anthropic_stop_sequences&&(u.stop_sequences=e.anthropic_stop_sequences),u}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,u=null,c="unknown",f=!1,d=!1,p=!1,y=new Map,A=new Map,g=0,_=0,b=0,m=!1,v=!1,k=0,w=-1,T=0,O=()=>{let X=k;return k++,X},N=X=>{if(!m)try{o.enqueue(X);let K=new TextDecoder().decode(X);this.logger.debug({reqId:r.req.id,data:K,type:"send data"})}catch(K){if(K instanceof TypeError&&K.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:K instanceof Error?K.message:String(K),type:"send data error"}),K}},G=()=>{if(!m)try{if(w>=0){let K={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
|
|
77
|
-
|
|
72
|
+
`):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var oa,um=bn(()=>{"use strict";oa=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:i}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),i&&Object.keys(i).length>0&&(c.metadata=i),c}async sendRequest(e,r,n,o,s){let i=new AbortController,c=setTimeout(()=>i.abort(),s);try{let u=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:i.signal});if(clearTimeout(c),!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);return u}catch(u){throw clearTimeout(c),u}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,i){let c=null;for(let u=1;u<=i.maxAttempts;u++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(c=f,u===i.maxAttempts)break;let d=i.backoffMs*Math.pow(2,u-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${u}/${i.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),i=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var Ds,lm,TA,sa,dm=bn(()=>{"use strict";Ds=require("fs"),lm=require("path"),TA=require("os"),sa=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,TA.tmpdir)();this.baseDir=(0,lm.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,Ds.existsSync)(this.baseDir)||(0,Ds.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return(0,lm.join)(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return(0,Ds.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var fm,xs,vA=bn(()=>{"use strict";cm();um();dm();fm=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){let r;switch(e.type){case"console":r=new na(e.config);break;case"webhook":r=new oa(e.config);break;case"temp-file":r=new sa(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof r.setLogger=="function"&&r.setLogger(this.logger),r}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([i,c])=>{try{await c.output(e,n)?o.success.push(i):o.failed.push(i)}catch(u){(this.logger?.error??console.error)(`[OutputManager] Handler ${i} failed:`,u),o.failed.push(i)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},i=e.map(async c=>{let u=this.handlers.get(c);if(!u){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await u.output(r,o)?s.success.push(c):s.failed.push(c)}catch(f){(this.logger?.error??console.error)(`[OutputManager] Handler ${c} failed:`,f),s.failed.push(c)}});return await Promise.all(i),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,i])=>i.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},xs=new fm});var LM={};Yd(LM,{ANTIGRAVITY_CLIENT_ID:()=>xl,ANTIGRAVITY_CLIENT_SECRET:()=>Ol,ANTIGRAVITY_REDIRECT_URI:()=>Yg,ANTIGRAVITY_SCOPES:()=>OE,ConfigService:()=>Jn,ProviderService:()=>Qn,SSEParserTransform:()=>Hr,SSESerializerTransform:()=>Zn,TokenizerService:()=>wo,TransformerService:()=>Co,calculateTokenCount:()=>rm,default:()=>UM,diffHeadersForLog:()=>T_,exchangeAuthorizationCode:()=>GE,fetchUserEmail:()=>WE,getGlobalTokenSpeedStats:()=>gm,getTokenSpeedStats:()=>pm,getValidAccessToken:()=>Vi,isClientAbortError:()=>Ye,loadTokens:()=>Gi,pluginManager:()=>sm,resolveProjectId:()=>Fl,rewriteStream:()=>yf,router:()=>Wl,sanitizeHeadersForLog:()=>Ua,saveTokens:()=>Pl,searchProjectBySession:()=>nm,sessionUsageCache:()=>ql,tokenSpeedPlugin:()=>mm});module.exports=LA(LM);var xA=st(require("fastify"),1),OA=st(require("@fastify/cors"),1);var ni=require("fs"),af=require("path"),E_=require("dotenv"),A_=st(sf(),1),Jn=class{config={};options;logger;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,af.join)(process.cwd(),this.options.jsonPath);if((0,ni.existsSync)(e))try{let r=(0,ni.readFileSync)(e,"utf-8"),n=A_.default.parse(r);this.config={...this.config,...n},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(r){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,r)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,af.join)(process.cwd(),this.options.envPath);if((0,ni.existsSync)(e))try{let r=(0,E_.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){(this.logger?.warn??console.warn)(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};var KA="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function _t(t){return t.replace(/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi,"[redacted-url]").replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${KA})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"').replace(/\b(?:authorization|x-api-key|api-key|api_key|access_token|token)\s*[:=]\s*["']?[^\s,;"']+/gi,e=>`${e.split(/\s*[:=]/,1)[0]}=[redacted]`).replace(/\[[0-9a-f:]+\](?::\d+)?/gi,"[redacted-address]").replace(/\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?\b/g,"[redacted-address]").replace(/\b(connect(?:ing)?(?:\s+to)?|from|to)\s+(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\.)+[a-z]{2,63})(?::\d+)?\b/gi,"$1 [redacted-address]").replace(/([?&](?:api_?key|key|token|access_token|auth)=)[^&\s]+/gi,"$1[redacted]").replace(/\s+/g," ").trim().slice(0,240)}function YA(t,e){return t.split(`
|
|
73
|
+
`).map(r=>_t(r)).filter(Boolean).join(`
|
|
74
|
+
`).slice(0,e)}function Vn(t){let e=t,r=typeof e?.message=="string"?e.message:typeof t=="string"?t:String(t),n=typeof e?.cause?.message=="string"?e.cause.message:typeof e?.cause=="string"?e.cause:void 0;return{message:_t(r)||"Unknown error",code:typeof e?.code=="string"?e.code:void 0,name:typeof e?.name=="string"?e.name:void 0,statusCode:typeof e?.statusCode=="number"?e.statusCode:void 0,stack:typeof e?.stack=="string"?YA(e.stack,4e3):void 0,cause:n?_t(n):void 0}}var XA=/^(?:authorization|x-api-key|api-key|cookie|set-cookie)$|token|secret|password|passwd/i;function QA(t){return XA.test(t)}function ZA(t){if(t==null)return;if(Array.isArray(t)){let r=t.filter(n=>n!=null&&String(n).length>0).map(n=>String(n));return r.length?r.join(", "):void 0}let e=String(t);return e.length?e:void 0}function Ua(t){let e={};if(!t)return e;let r=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[n,o]of r){let s=ZA(o);if(s!=null){if(QA(n)){e[n]="[redacted]";continue}e[n]=s}}return e}function T_(t,e){let r=Ua(t),n=Ua(e),o=new Map(Object.entries(r).map(([d,h])=>[d.toLowerCase(),{key:d,value:h}])),s=new Map(Object.entries(n).map(([d,h])=>[d.toLowerCase(),{key:d,value:h}])),i={},c={},u={},f=0;for(let[d,{key:h,value:m}]of o){let S=s.get(d);if(!S){i[h]=m;continue}S.value===m?f+=1:u[h]={from:m,to:S.value}}for(let[d,{key:h,value:m}]of s)o.has(d)||(c[h]=m);return{onlyInLeft:i,onlyInRight:c,changed:u,sameCount:f}}var bt="client disconnected";function uf(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"})):new Promise((r,n)=>{let o=setTimeout(()=>{e&&e.removeEventListener("abort",s),r()},t),s=()=>{clearTimeout(o),n(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"}))};e&&e.addEventListener("abort",s,{once:!0})})}function R_(t,e){let r=new AbortController,n=e?.raw,o=!1,s=(c=bt)=>{r.signal.aborted||r.abort(c)},i=()=>{if(!o&&(o=!0,!!n)){if(cf(n)){s(`${bt} (already destroyed)`);return}n.on("close",()=>{!n.writableEnded&&cf(n)&&s(`${bt} (response close)`)}),n.on("error",c=>{(c?.code==="EPIPE"||c?.code==="ECONNRESET"||c?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ye(c))&&s(`${bt} (response error)`)})}};return{signal:r.signal,arm:i}}function eT(t){let e=t?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r)&&r>=0)return Math.min(r*1e3,6e4);let n=Date.parse(e);if(Number.isFinite(n))return Math.min(Math.max(0,n-Date.now()),6e4)}function tT(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function lf(t,e){let r=eT(e);return r!==void 0&&r>0?r:tT(t)}function D_(t,e){if(!t)return;let r=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(r)?r:void 0}var v_=new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ETIMEDOUT","EPIPE","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET","UND_ERR_CONNECT"]);function x_(t){let e=t;if(!e)return!1;if(e.name==="TimeoutError"||e.code==="TIMEOUT_ERR"||e.code===23||e.cause&&(e.cause.name==="TimeoutError"||e.cause.code==="TIMEOUT_ERR"||e.cause.code===23))return!0;let r=String(e.message||"");return/aborted due to timeout|operation was aborted due to timeout/i.test(r)}function wn(t=bt){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:bt;return Object.assign(new Error(e),{name:"AbortError",code:"ABORT_ERR",reason:t})}function Ye(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(bt)||/client.*(closed|disconnect)|socket hang up/i.test(t);let e=t;if(x_(e))return!1;let r=e.reason??e.cause;if(typeof r=="string"&&r.startsWith(bt)||typeof e.message=="string"&&e.message.startsWith(bt)||e.name==="AbortError"||e.code==="ABORT_ERR"||e.code==="ERR_STREAM_PREMATURE_CLOSE")return!0;let n=String(e.message||"");return/client.*(closed|disconnect)|socket hang up/i.test(n)}function cf(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function O_(t){return cf(t.raw)}function Kn(t){if(!t||Ye(t))return!1;if(x_(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&v_.has(e.code)||e.cause?.code&&v_.has(String(e.cause.code)))return!0;let r=String(e.message||"");return/fetch failed|network|socket|ECONNRESET|ENOTFOUND|ETIMEDOUT|other side closed/i.test(r)}function P_(t){let e=t;return!e||Ye(e)?!1:e.code==="provider_response_error"||e.code==="provider_network_error"||Kn(e)}function $e(t,e=500,r="internal_error",n="api_error",o){let s=new Error(_t(t)||t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function F_(t,e,r){if(Ye(t)||r.raw.destroyed||r.sent)return e.log.debug(Vn(t),"request aborted or already closed"),!r.sent&&!r.raw.destroyed&&!r.raw.headersSent?(r.type("application/json"),r.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):void 0;e.log.error(Vn(t),"request error");let n=t.statusCode||500,o={error:{message:_t(t.message||"Internal error")||"Internal error",type:t.type||"api_error",code:t.code||"internal_error"}};return t.headers&&r.headers(t.headers),r.type("application/json"),r.code(n).send(o)}var $_=require("stream");var N_=require("undici");function rT(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function nT(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function I_(t){let e=t.split(".");if(e.length!==4)return null;let r=0;for(let n of e){let o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>255)return null;r=r<<8|o}return r>>>0}function oT(t,e){let[r,n]=e.split("/"),o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=I_(t),i=I_(r);if(s===null||i===null)return!1;let c=o===0?0:-1<<32-o>>>0;return(s&c)===(i&c)}function sT(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let r=rT(e.hostname);if(r==="localhost"||r==="127.0.0.1"||r.startsWith("127.")||r==="0.0.0.0"||r==="::1"||r==="0:0:0:0:0:0:0:1")return!0;let n=process.env.NO_PROXY||process.env.no_proxy;if(!n)return!1;let o=n.split(",").map(s=>s.trim()).filter(Boolean);for(let s of o){let i=s.toLowerCase();if(i==="*")return!0;let c=iT(i);if(c.startsWith(".")){if(r.endsWith(c)||r===c.slice(1))return!0;continue}if(c.includes("/")&&nT(r)){if(oT(r,c))return!0;continue}if(r===c)return!0;if(c.startsWith("*.")){let u=c.slice(1);if(r.endsWith(u)||r===u.slice(1))return!0}}return!1}function iT(t){if(t.startsWith("[")&&t.includes("]"))return t.slice(1,t.indexOf("]"));if(t.split(":").length-1===1){let[r,n]=t.split(":");if(/^\d+$/.test(n))return r}return t}async function Bo(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([h,m])=>{m&&s.set(h,m)});let i=AbortSignal.timeout(r.TIMEOUT??60*1e3*60),c=r.signal?AbortSignal.any([r.signal,i]):i,u={method:"POST",headers:s,body:JSON.stringify(e),signal:c},f=typeof t=="string"?t:t.toString();!!r.httpsProxy&&!sT(f)&&(u.dispatcher=new N_.ProxyAgent(new URL(r.httpsProxy).toString()));try{return await fetch(f,u)}catch(h){if(Ye(h))throw typeof h=="string"?wn(h):h;if(r.signal?.aborted&&Ye(r.signal.reason??bt))throw wn(r.signal.reason??h);if(Kn(h)){let m=$e(h?.message||"Provider network error",502,"provider_network_error");throw m.cause=h,m}throw h}}var M_="1.0.58";var j_=require("crypto"),df={type:"ephemeral"};function Je(t){return t.map(e=>{let r={...e};return Array.isArray(r.content)&&(r.content=r.content.map(n=>{if(n.cache_control){let{cache_control:o,...s}=n;return s}return n})),r.cache_control&&delete r.cache_control,Array.isArray(r.tool_calls)&&(r.tool_calls=r.tool_calls.map(n=>{let{cache_control:o,...s}=n;return s})),r})}function Ve(t){return Array.isArray(t)?t.map(e=>{if(!e.cache_control)return e;let{cache_control:r,...n}=e;return n}):t}function B_(t){return`ccr_${(0,j_.createHash)("sha256").update(t).digest("hex").slice(0,48)}`}function cT(t){if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let r=JSON.parse(t);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}return t}function uT(t){return typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e?.type==="text"&&typeof e.text=="string"?e.text:"").filter(Boolean).join(`
|
|
75
|
+
`):""}function Zt(t,e){let r=t?.req?.sessionId||cT(e?.metadata?.user_id);if(typeof r=="string"&&r)return B_(r);let n=(e.messages||[]).find(i=>i.role==="system"||i.role==="user"),o=n?uT(n.content):"",s=[e.model||"",o].join(`
|
|
76
|
+
`);return s.trim()?B_(s):void 0}function Yn(t,e={}){let r=e.maxBreakpoints??4,n=JSON.parse(JSON.stringify(t)),o=[],s=f=>{f&&typeof f=="object"&&f.cache_control&&o.push(f)};(Array.isArray(n.tools)?n.tools:[]).forEach(s),Array.isArray(n.system)?n.system.forEach(s):s(n.system),(Array.isArray(n.messages)?n.messages:[]).forEach(f=>{s(f),Array.isArray(f?.content)&&f.content.forEach(s)});let i=!!n.cache_control,c=Math.max(0,r-(i?1:0));if(o.length>c)for(let f of o.slice(0,o.length-c))delete f.cache_control;let u=Math.min(o.length,c);if(!i&&u<r){let f=o[o.length-1]?.cache_control;n.cache_control=f?.ttl?{type:"ephemeral",ttl:f.ttl}:df}return n}function Xn(t){let e=Je(t.messages||[]),r=Ve(t.tools);for(let n=e.length-1;n>=0;n-=1){let o=e[n];if(typeof o.content=="string"&&o.content){o.content=[{type:"text",text:o.content,cache_control:df}];break}if(Array.isArray(o.content))for(let s=o.content.length-1;s>=0;s-=1){let i=o.content[s];if(i?.type==="text"&&i.text)return o.content[s]={...i,cache_control:df},{...t,messages:e,...r?{tools:r}:{}}}}return{...t,messages:e,...r?{tools:r}:{}}}function La(t){let e=[];for(let r=0;r<t.length;r++){let n={...t[r]};if(n.role==="assistant"&&n.tool_calls){let o=[],s=[],i=[],c=r+1;for(;c<t.length&&t[c].role==="tool";)i.push(t[c]),c++;n.tool_calls.forEach(u=>{i.some(d=>d.tool_call_id===u.id)?o.push(u):s.push(u.id)}),o.length>0?n.tool_calls=o:delete n.tool_calls,(n.content||n.tool_calls)&&e.push(n)}else if(n.role==="tool"){let o=!1;if(r>0){let s=t[r-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(i=>i.id===n.tool_call_id);else if(s.role==="tool"){for(let i=r-1;i>=0;i--)if(t[i].role!=="tool"){t[i].role==="assistant"&&t[i].tool_calls&&(o=t[i].tool_calls.some(c=>c.id===n.tool_call_id));break}}}o&&e.push(n)}else e.push(n)}return e}function U_(t){let r=(t||"").toLowerCase().match(/(?:^|\/)gpt-(\d+)(?:\.(\d+))?/);if(!r)return!1;let n=Number(r[1]),o=Number(r[2]||0);return n>5||n===5&&o>=6}function L_(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function lT(t){for(let e=t.length-1;e>=0;e-=1)if(L_(t[e]))return e;return-1}function oi(t,e,r){let n={...t,messages:(t.messages||[]).map(s=>({...s,content:Array.isArray(s.content)?s.content.map(i=>({...i})):s.content})),tools:Array.isArray(t.tools)?t.tools.map(s=>({...s,function:{...s.function,parameters:{...s.function.parameters}}})):t.tools},o=Zt(r,t);if(o&&(n.prompt_cache_key=o),U_(n.model)){let s=[];n.messages.forEach((i,c)=>{if(i.cache_control){if(typeof i.content=="string"&&i.content)s.push({messageIndex:c});else if(Array.isArray(i.content)){let u=lT(i.content);u>=0&&s.push({messageIndex:c,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,f)=>{u?.cache_control&&L_(u)&&s.push({messageIndex:c,contentIndex:f})})});for(let i of s.slice(-3)){let c=n.messages[i.messageIndex];typeof c.content=="string"?c.content=[{type:"text",text:c.content,prompt_cache_breakpoint:{mode:"explicit"}}]:Array.isArray(c.content)&&i.contentIndex!==void 0&&(c.content[i.contentIndex].prompt_cache_breakpoint={mode:"explicit"})}}return n.messages=Je(n.messages),n.tools=Ve(n.tools),n}function qa(t,e){return U_(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function dT(t){return String(t?.name||"").trim().toLowerCase()}function fT(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function ff(t,e){let r={...t,messages:Je(t.messages||[]),tools:Ve(t.tools)},n=Zt(e,t);return n&&(r.prompt_cache_key=n),r}function $a(t,e,r){let n=dT(e),o=fT(e);return n==="openai"||n==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?oi(t,e,r):n==="qwen"||n==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?Xn(t):n==="mistral"||n==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?ff(t,r):{...t,messages:Je(t.messages||[]),tools:Ve(t.tools)}}async function q_(t,e,r){let n=await t(e);if(n.status!==401||typeof r!="function")return n;let o=await r();if(!o)return n;try{await n.body?.cancel()}catch{}return Object.assign(e,o),t(e)}async function hT(t,e,r,n){let o=t.body,s=t.provider,i=r.providerService.getProvider(s),c=R_(t,e),u=c.signal;if(c.arm(),!i)throw $e(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:f,config:d,bypass:h}=await z_(o,i,n,t.headers,{req:t,provider:i,signal:u}),m=await H_(f,d,i,r,h,n,{req:t,signal:u}),S=await W_(f,m,i,n,h,{req:t,signal:u});return await G_(S,e,o,u)}catch(f){if(Ye(f))throw typeof f=="string"?wn(f):f;if(u.aborted)throw wn(u.reason??f);if(P_(f)){let d=await pT(t,e,r,n,f,u);if(d)return d;if(u.aborted)throw wn(u.reason??bt)}throw f}}async function pT(t,e,r,n,o,s){let i=t.scenarioType||"default",c=r.configService.get("fallback"),u=D_(c,i);if(!u?.length||s?.aborted||Ye(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:Vn(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let f=0,d=lf(f,o?.headers?.["Retry-After"]??o?.headers?.["retry-after"]);if(f+=1,d>0){t.log.info(`Waiting ${d}ms before first fallback attempt`);try{await uf(d,s)}catch(h){if(Ye(h)||s?.aborted)return null;throw h}}for(let h=0;h<u.length;h+=1){if(s?.aborted)return null;let m=u[h];try{t.log.info(`Trying fallback model: ${m}`);let S={...t.body},[b,...y]=m.split(",");S.model=y.join(",");let C={...t,provider:b,body:S},_=r.providerService.getProvider(b);if(!_){t.log.warn(`Fallback provider '${b}' not found, skipping`);continue}let{requestBody:R,config:k,bypass:T}=await z_(S,_,n,t.headers,{req:C,provider:_,signal:s}),O=await H_(R,k,_,r,T,n,{req:C,signal:s}),D=await W_(R,O,_,n,T,{req:C,signal:s});return t.log.info(`Fallback model ${m} succeeded`),await G_(D,e,S,s)}catch(S){if(Ye(S))throw S;if(s?.aborted)throw wn(s.reason??bt);if(t.log.warn({fallbackModel:m,error:Vn(S)},`Fallback model ${m} failed`),h<u.length-1){let y=lf(f,S?.headers?.["Retry-After"]??S?.headers?.["retry-after"]);if(f+=1,y>0){t.log.info(`Waiting ${y}ms before next fallback attempt`);try{await uf(y,s)}catch(C){if(Ye(C)||s?.aborted)return null;throw C}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function z_(t,e,r,n,o){let s=t,i={},c=!1;c=gT(e,r,t);let u=c||e.transformer?.passthrough;if(c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],i.headers=n),!u&&typeof r.transformRequestOut=="function"){let f=await r.transformRequestOut(s,o);f.body?(s=f.body,i=f.config||{}):s=f}if(!c&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,i={...i,...d.config}):s=d}if(!c&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,i={...i,...d.config}):s=d}return!c&&!e.transformer?.use?.length&&Array.isArray(s?.messages)&&(s=$a(s,e,o)),{requestBody:s,config:i,bypass:c}}function gT(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function H_(t,e,r,n,o,s,i){if(e?.__providerResponse)return e.__providerResponse;let c=e.url||new URL(r.baseUrl);if((o||r.transformer?.passthrough)&&typeof s.auth=="function"){let S=await s.auth(t,r,i);if(S.body){t=S.body;let b=e.headers||{};S.config?.headers&&(b={...b,...S.config.headers},delete b.host,delete S.config.headers),e={...e,...S.config,headers:b}}else t=S}let u={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};u["x-api-key"]&&delete u.Authorization;for(let S in u)(u[S]==="undefined"||["authorization","Authorization"].includes(S)&&u[S]?.includes("undefined"))&&delete u[S];let{__authRecovery:f,...d}=e||{},m=await q_(S=>Bo(c,t,{httpsProxy:n.configService.getHttpsProxy(),...d,headers:JSON.parse(JSON.stringify(S)),signal:i?.signal??d.signal},i,n.log),u,f);if(!m.ok){let S=await m.text(),b=_t(S)||S.slice(0,240),y,C=m.headers.get("retry-after");if(C)y={"Retry-After":C};else if(m.status===429)try{let _=JSON.parse(S),R=_?.error?.details||_?.details;if(Array.isArray(R)){let k=R.find(T=>T["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(k?.retryDelay){let T=parseInt(k.retryDelay,10);isNaN(T)||(y={"Retry-After":T.toString()})}}}catch{}try{let _=JSON.parse(S),R=_t(String(_?.error?.message||S))||b;n.log.error({status:m.status,provider:r.name,model:t.model,errorMessage:R},`[provider_response_error] ${r.name},${t.model}: ${R}`)}catch{n.log.error({status:m.status,provider:r.name,model:t.model,errorText:b},`[provider_response_error] ${r.name},${t.model}: ${b}`)}throw $e(`Error from provider(${r.name},${t.model}: ${m.status}): ${b}`,m.status,"provider_response_error","api_error",y)}return m}async function W_(t,e,r,n,o,s){let i=e,c=o||r.transformer?.passthrough,u={...s,provider:r};if(!o&&r.transformer?.use?.length)for(let f of Array.from(r.transformer.use).reverse())!f||typeof f.transformResponseOut!="function"||(i=await f.transformResponseOut(i,u));if(!o&&r.transformer?.[t.model]?.use?.length)for(let f of Array.from(r.transformer[t.model].use).reverse())!f||typeof f.transformResponseOut!="function"||(i=await f.transformResponseOut(i,u));return!c&&n.transformResponseIn&&(i=await n.transformResponseIn(i,s)),i}async function G_(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0&&t.ok){if(t.body&&typeof t.body.getReader=="function"){let s=$_.Readable.fromWeb(t.body),i=!1,c=()=>{if(!i){i=!0;try{s.destroyed||s.destroy()}catch{}}},u=()=>{n&&n.removeEventListener("abort",c)};return O_(e)?(c(),!e.sent&&!e.raw.destroyed?(e.type("application/json"),e.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):e):(n?.aborted&&e.log?.warn?.({reason:String(n.reason??""),headersSent:e.raw.headersSent,writableEnded:e.raw.writableEnded},"disconnect signal fired but socket still open; continuing SSE"),e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&n.addEventListener("abort",c,{once:!0}),e.raw.on("error",d=>{(d?.code==="EPIPE"||d?.code==="ECONNRESET"||d?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ye(d))&&c()}),e.raw.on("close",()=>{e.raw.writableEnded||c()}),s.on("error",d=>{d?.code==="ERR_STREAM_PREMATURE_CLOSE"||d?.code==="ABORT_ERR"||Ye(d)||e.log?.error?.(Vn(d),"upstream stream error")}),s.once("end",u),s.once("close",u),e.send(s))}if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.pipe=="function")return e.send(t.body);throw $e("Streaming response body is not a readable stream",502,"provider_response_error")}else{let s=await t.json();return e.send(s)}}var hf=async t=>{t.get("/",async()=>({message:"LLMs API",version:M_})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>hT(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:i,models:c}=r.body;if(!o?.trim())throw $e("Provider name is required",400,"invalid_request");if(!s||!mT(s))throw $e("Valid base URL is required",400,"invalid_request");if(!i?.trim())throw $e("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw $e("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw $e(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw $e("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw $e("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw $e("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw $e("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function mT(t){try{return new URL(t),!0}catch{return!1}}var Qn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")):o==="passthrough"?n.passthrough=r.transformer.passthrough:Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],project_id:r.project_id,transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let r={...e};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let i=`${n.name},${s}`;this.modelRoutes.delete(i),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let i=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:i};this.modelRoutes.set(i,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){return!!this.providers.get(e)}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var it=[];for(let t=0;t<256;++t)it.push((t+256).toString(16).slice(1));function J_(t,e=0){return(it[t[e+0]]+it[t[e+1]]+it[t[e+2]]+it[t[e+3]]+"-"+it[t[e+4]]+it[t[e+5]]+"-"+it[t[e+6]]+it[t[e+7]]+"-"+it[t[e+8]]+it[t[e+9]]+"-"+it[t[e+10]]+it[t[e+11]]+it[t[e+12]]+it[t[e+13]]+it[t[e+14]]+it[t[e+15]]).toLowerCase()}var V_=require("crypto"),Ha=new Uint8Array(256),za=Ha.length;function pf(){return za>Ha.length-16&&((0,V_.randomFillSync)(Ha),za=0),Ha.slice(za,za+=16)}var K_=require("crypto"),gf={randomUUID:K_.randomUUID};function yT(t,e,r){if(gf.randomUUID&&!e&&!t)return gf.randomUUID();t=t||{};let n=t.random??t.rng?.()??pf();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return J_(n)}var pr=yT;var Y_=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var _T=/^[a-zA-Z0-9_-]+$/,bT=/[^a-zA-Z0-9_-]+/g;function CT(t){return t.length>0&&t.length<=256&&_T.test(t)}function zr(t){if(typeof t!="string"||t.length===0)return;if(CT(t))return t;let e=t.replace(bT,"_").slice(0,256).replace(/_+$/,"");return e.length?e:void 0}var mf=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function wT(t){if(typeof t!="string")return!1;let e=t.trim();return mf.some(r=>e===r)}function kT(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.filter(r=>r?.type==="text"&&typeof r.text=="string"&&r.text.length>0).map(r=>r.text).join(`
|
|
77
|
+
`);if(e)return e}return JSON.stringify(t)??""}function ST(t){return!t||typeof t!="object"?!1:t.type==="image"?!!t.source:t.type!=="tool_result"&&t.type!=="text"}function ET(t){let e={source:"anthropic",trailingToolResults:[],interruption:"none",steering:"none"};if(!Array.isArray(t)||t.length===0)return e;let r=t[t.length-1];if(r?.role!=="user")return e;if(typeof r.content=="string")return r.content.trim()&&(e.steering="meaningful"),e;if(!Array.isArray(r.content))return e;let n=r.content.some(o=>o?.type==="tool_result"&&typeof o.tool_use_id=="string"&&o.tool_use_id.length>0);for(let o of r.content){if(o?.type==="tool_result"&&typeof o.tool_use_id=="string"&&o.tool_use_id.length>0){e.trailingToolResults.push({toolCallId:o.tool_use_id,content:kT(o.content),isError:o.is_error===!0});continue}if(o?.type==="text"&&typeof o.text=="string"){n&&wT(o.text)?e.interruption="synthetic_client_interrupt":o.text.trim()&&(e.steering="meaningful");continue}ST(o)&&(e.steering="meaningful")}return e}function AT(t){let e=t&&typeof t=="object"&&typeof t.user_id=="string"?t.user_id:void 0;if(!e)return;try{let n=JSON.parse(e);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}return e.split("_session_")[1]||e}function X_(t){return{source:"anthropic",sourceSessionIdentity:AT(t.metadata),turnIntent:ET(t.messages)}}function Wa(t){let e=t?.prompt_tokens_details?.cached_tokens||0,r=t?.prompt_tokens_details?.cache_write_tokens||0;return{input_tokens:Math.max(0,(t?.prompt_tokens||0)-e-r),output_tokens:t?.completion_tokens||0,cache_creation_input_tokens:r,cache_read_input_tokens:e}}var jo=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r,n){let o={};return this.useBearer?(o.authorization=`Bearer ${r.apiKey}`,o["x-api-key"]=void 0):(o["x-api-key"]=r.apiKey,o.authorization=void 0),{body:Yn(e),config:{headers:o}}}async transformRequestOut(e,r){r&&(r.unifiedRequest=X_(e));let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let c=e.system.filter(u=>u.type==="text"&&u.text).map(u=>({type:"text",text:u.text,cache_control:u.cache_control}));n.push({role:"system",content:c})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(c=>{if(c.role==="user"||c.role==="assistant"){if(typeof c.content=="string"){n.push({role:c.role,content:c.content});return}if(Array.isArray(c.content)){if(c.role==="user"){let u=c.content.filter(d=>d.type==="tool_result"&&d.tool_use_id);u.length&&u.forEach(d=>{let h={role:"tool",content:typeof d.content=="string"?d.content:Array.isArray(d.content)&&d.content.filter(m=>m.type==="text"&&m.text).map(m=>m.text).join(`
|
|
78
|
+
`)||JSON.stringify(d.content),tool_call_id:zr(d.tool_use_id)??d.tool_use_id,cache_control:d.cache_control};n.push(h)});let f=c.content.filter(d=>d.type==="text"&&d.text||d.type==="image"&&d.source);f.length&&n.push({role:"user",content:f.map(d=>d?.type==="image"?{type:"image_url",image_url:{url:d.source?.type==="base64"?Y_(d.source.data,d.source.media_type):d.source.url},media_type:d.source.media_type,cache_control:d.cache_control}:d)})}else if(c.role==="assistant"){let u={role:"assistant",content:""},f=c.content.filter(m=>m.type==="text"&&m.text);f.length&&(u.content=f.some(m=>m.cache_control)?f.map(m=>({type:"text",text:m.text,cache_control:m.cache_control})):f.map(m=>m.text).join(`
|
|
79
|
+
`));let d=c.content.filter(m=>m.type==="tool_use"&&m.id);d.length&&(u.tool_calls=d.map(m=>({id:zr(m.id)??m.id,type:"function",function:{name:m.name,arguments:JSON.stringify(m.input||{})},cache_control:m.cache_control})));let h=c.content.find(m=>m.type==="thinking"&&m.signature);h&&(u.thinking={content:h.thinking,signature:h.signature}),n.push(u)}return}}});let s={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice,...e.cache_control?{cache_control:e.cache_control}:{}};return e.thinking&&(s.reasoning={effort:e.output_config?.effort||e.effort,enabled:e.thinking.type==="enabled"||e.thinking.type==="adaptive",...typeof e.thinking.budget_tokens=="number"?{max_tokens:e.thinking.budget_tokens}:{}}),Array.isArray(r?.provider?.transformer?.use)&&r.provider.transformer.use.some(c=>c?.name==="claude-auth")&&(e.thinking&&(s.anthropic_thinking=e.thinking),e.output_config&&(s.anthropic_output_config=e.output_config),e.metadata&&(s.anthropic_metadata=e.metadata),e.stop_sequences&&(s.anthropic_stop_sequences=e.stop_sequences)),e.tool_choice&&(e.tool_choice.type==="tool"?s.tool_choice={type:"function",function:{name:e.tool_choice.name}}:s.tool_choice=e.tool_choice.type),s}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}static buildAnthropicBody(e,r){let n;e.system&&(typeof e.system=="string"?n=e.system:Array.isArray(e.system)&&e.system.length&&(n=e.system.filter(u=>u.type==="text").map(u=>({type:"text",text:u.text,...u.cache_control?{cache_control:u.cache_control}:{}}))));let o=[];for(let u of e.messages){if(u.role==="system"){if(!n){if(typeof u.content=="string")n=u.content;else if(Array.isArray(u.content)){let f=u.content.filter(d=>d.type==="text"&&!!d.text);f.length===1&&!f[0].cache_control?n=f[0].text:f.length>0&&(n=f.map(d=>({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}})))}}continue}if(u.role==="tool"){let f={type:"tool_result",tool_use_id:zr(u.tool_call_id)??u.tool_call_id,content:typeof u.content=="string"?u.content:JSON.stringify(u.content),...u.cache_control?{cache_control:u.cache_control}:{}},d=o[o.length-1];d?.role==="user"&&Array.isArray(d.content)?d.content.push(f):o.push({role:"user",content:[f]});continue}if(u.role==="assistant"){let f=[];if(u.thinking&&f.push({type:"thinking",thinking:u.thinking.content,signature:u.thinking.signature}),typeof u.content=="string"&&u.content)f.push({type:"text",text:u.content});else if(Array.isArray(u.content))for(let d of u.content)d.type==="text"&&d.text&&f.push({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}});if(u.tool_calls?.length)for(let d of u.tool_calls){let h={};try{h=JSON.parse(d.function.arguments||"{}")}catch(m){(r?.error??console.error)("Failed to parse tool_call arguments for tool '%s': %s",d.function.name,m)}f.push({type:"tool_use",id:zr(d.id)??d.id,name:d.function.name,input:h,...d.cache_control?{cache_control:d.cache_control}:{}})}f.length>0&&o.push({role:"assistant",content:f});continue}if(u.role==="user"){let f=[];if(typeof u.content=="string")f.push({type:"text",text:u.content});else if(Array.isArray(u.content)){for(let d of u.content)if(d.type==="text"&&d.text)f.push({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}});else if(d.type==="image_url"&&d.image_url?.url){let h=d.image_url.url;if(h.startsWith("data:")){let[m,S]=h.split(","),b=m.split(":")[1]?.split(";")[0]??"image/jpeg";f.push({type:"image",source:{type:"base64",media_type:b,data:S},...d.cache_control?{cache_control:d.cache_control}:{}})}else f.push({type:"image",source:{type:"url",url:h},...d.cache_control?{cache_control:d.cache_control}:{}})}}f.length>0&&o.push({role:"user",content:f});continue}}let s;e.tools?.length&&(s=e.tools.map(u=>({name:u.function.name,description:u.function.description||"",input_schema:u.function.parameters,...u.cache_control?{cache_control:u.cache_control}:{}})));let i;if(e.tool_choice){let u=e.tool_choice;u==="auto"?i={type:"auto"}:u==="required"?i={type:"any"}:typeof u=="string"?i={type:"tool",name:u}:u.type==="function"&&(i={type:"tool",name:u.function?.name})}let c={model:e.model,max_tokens:e.max_tokens??8192,messages:o,stream:e.stream??!0};return n!==void 0&&(c.system=n),e.temperature!==void 0&&(c.temperature=e.temperature),e.tool_choice!=="none"&&s?.length&&(c.tools=s),e.tool_choice!=="none"&&i&&(c.tool_choice=i),e.anthropic_thinking&&(c.thinking=e.anthropic_thinking),e.anthropic_output_config&&(c.output_config=e.anthropic_output_config),e.anthropic_metadata&&(c.metadata=e.anthropic_metadata),e.anthropic_stop_sequences&&(c.stop_sequences=e.anthropic_stop_sequences),e.cache_control&&(c.cache_control=e.cache_control),Yn(c)}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema},...r.cache_control?{cache_control:r.cache_control}:{}}))}async convertOpenAIStreamToAnthropic(e,r){let n=null,o=null;return new ReadableStream({start:async i=>{let c=new TextEncoder,u=`msg_${Date.now()}`,f=null,d="unknown",h=!1,m=!1,S=!1,b=new Map,y=new Map,C=0,_=0,R=0,k=!1;o=()=>{k=!0};let T=!1,O=0,D=-1,M=0,W=()=>{let Q=O;return O++,Q},$=Q=>{if(!k)try{i.enqueue(Q);let se=new TextDecoder().decode(Q);this.logger.debug({reqId:r.req.id,data:se,type:"send data"})}catch(se){if(se instanceof TypeError&&se.message.includes("Controller is already closed"))k=!0;else throw this.logger.debug({reqId:r.req.id,error:se instanceof Error?se.message:String(se),type:"send data error"}),se}},oe=()=>{if(!k)try{if(D>=0){let se={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
80
|
+
data: ${JSON.stringify(se)}
|
|
78
81
|
|
|
79
|
-
`)),
|
|
80
|
-
data: ${JSON.stringify(
|
|
82
|
+
`)),D=-1}if(f)M>0&&(f.usage.server_tool_use={web_search_requests:M}),$(c.encode(`event: message_delta
|
|
83
|
+
data: ${JSON.stringify(f)}
|
|
81
84
|
|
|
82
|
-
`)),
|
|
83
|
-
data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:
|
|
85
|
+
`)),f=null;else{let se={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};M>0&&(se.server_tool_use={web_search_requests:M}),$(c.encode(`event: message_delta
|
|
86
|
+
data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:se})}
|
|
84
87
|
|
|
85
|
-
`))}let
|
|
86
|
-
data: ${JSON.stringify(
|
|
88
|
+
`))}let Q={type:"message_stop"};$(c.encode(`event: message_stop
|
|
89
|
+
data: ${JSON.stringify(Q)}
|
|
87
90
|
|
|
88
|
-
`)),
|
|
89
|
-
|
|
90
|
-
data: ${JSON.stringify(Y)}
|
|
91
|
+
`)),i.close(),k=!0}catch(Q){if(Q instanceof TypeError&&Q.message.includes("Controller is already closed"))k=!0;else throw Q}},K=Q=>{if(!k)try{D>=0&&($(c.encode(`event: content_block_stop
|
|
92
|
+
data: ${JSON.stringify({type:"content_block_stop",index:D})}
|
|
91
93
|
|
|
92
|
-
`))
|
|
93
|
-
data: ${JSON.stringify(
|
|
94
|
+
`)),D=-1);let se=Q&&typeof Q=="object"?Q:{},ke=typeof se.type=="string"?se.type:"api_error",be=Q instanceof Error?Q.message:typeof se.message=="string"?se.message:String(Q||"Upstream stream failed");$(c.encode(`event: error
|
|
95
|
+
data: ${JSON.stringify({type:"error",error:{type:ke,message:be}})}
|
|
94
96
|
|
|
95
|
-
`))
|
|
96
|
-
data:
|
|
97
|
+
`)),i.close(),k=!0}catch(se){try{i.error(se)}catch(ke){this.logger?.error(ke)}}},re=null;try{re=e.getReader(),n=re;let Q=new TextDecoder,se="";for(;!k;){let{done:ke,value:be}=await re.read();if(ke)break;se+=Q.decode(be,{stream:!0});let Re=se.split(`
|
|
98
|
+
`);se=Re.pop()||"";for(let X of Re){if(k||S)break;if(!X.startsWith("data:"))continue;let ie=X.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:ie}),ie!=="[DONE]")try{let te=JSON.parse(ie);if(C++,this.logger.debug({reqId:r.req.id,response:te,tppe:"Original Response"}),te.error){let _e={type:"error",message:{type:"api_error",message:JSON.stringify(te.error)}};$(c.encode(`event: error
|
|
99
|
+
data: ${JSON.stringify(_e)}
|
|
97
100
|
|
|
98
|
-
`))
|
|
99
|
-
data: ${JSON.stringify(
|
|
101
|
+
`));continue}if(d=te.model||d,!h&&!k&&!S){h=!0;let _e={type:"message_start",message:{id:u,type:"message",role:"assistant",content:[],model:d,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}};$(c.encode(`event: message_start
|
|
102
|
+
data: ${JSON.stringify(_e)}
|
|
100
103
|
|
|
101
|
-
`));let
|
|
102
|
-
data: ${JSON.stringify(
|
|
104
|
+
`))}let Te=te.choices?.[0];if(te.usage&&(f?f.usage=Wa(te.usage):f={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:Wa(te.usage)}),!Te)continue;if(Te?.delta?.thinking&&!k&&!S){if(D>=0&&!T){let _e={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
105
|
+
data: ${JSON.stringify(_e)}
|
|
103
106
|
|
|
104
|
-
`)),
|
|
105
|
-
data: ${JSON.stringify(
|
|
107
|
+
`)),D=-1,m=!1}if(!T){let _e=W(),z={type:"content_block_start",index:_e,content_block:{type:"thinking",thinking:""}};$(c.encode(`event: content_block_start
|
|
108
|
+
data: ${JSON.stringify(z)}
|
|
106
109
|
|
|
107
|
-
`))}
|
|
108
|
-
data: ${JSON.stringify(
|
|
110
|
+
`)),D=_e,T=!0}if(Te.delta.thinking.signature){let _e={type:"content_block_delta",index:D,delta:{type:"signature_delta",signature:Te.delta.thinking.signature}};$(c.encode(`event: content_block_delta
|
|
111
|
+
data: ${JSON.stringify(_e)}
|
|
109
112
|
|
|
110
|
-
`))
|
|
111
|
-
data: ${JSON.stringify(
|
|
113
|
+
`));let z={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
114
|
+
data: ${JSON.stringify(z)}
|
|
112
115
|
|
|
113
|
-
`)),
|
|
114
|
-
data: ${JSON.stringify(
|
|
116
|
+
`)),D=-1,T=!1}else if(Te.delta.thinking.content){let _e={type:"content_block_delta",index:D,delta:{type:"thinking_delta",thinking:Te.delta.thinking.content||""}};$(c.encode(`event: content_block_delta
|
|
117
|
+
data: ${JSON.stringify(_e)}
|
|
115
118
|
|
|
116
|
-
`))}}if(
|
|
117
|
-
data: ${JSON.stringify(
|
|
119
|
+
`))}}if(Te?.delta?.content&&!k&&!S){if(_++,D>=0&&!m){let z={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
120
|
+
data: ${JSON.stringify(z)}
|
|
118
121
|
|
|
119
|
-
`)),
|
|
120
|
-
data: ${JSON.stringify(
|
|
122
|
+
`)),D=-1,T=!1}if(!m&&!S){m=!0;let _e=W(),z={type:"content_block_start",index:_e,content_block:{type:"text",text:""}};$(c.encode(`event: content_block_start
|
|
123
|
+
data: ${JSON.stringify(z)}
|
|
121
124
|
|
|
122
|
-
`))
|
|
123
|
-
data: ${JSON.stringify(
|
|
125
|
+
`)),D=_e}if(!k&&!S){let _e={type:"content_block_delta",index:D,delta:{type:"text_delta",text:Te.delta.content}};$(c.encode(`event: content_block_delta
|
|
126
|
+
data: ${JSON.stringify(_e)}
|
|
124
127
|
|
|
125
|
-
`))
|
|
126
|
-
data: ${JSON.stringify(
|
|
128
|
+
`))}}if(Te?.delta?.annotations?.length&&!k&&!S){if(M+=Te.delta.annotations.length,D>=0&&m){let _e={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
129
|
+
data: ${JSON.stringify(_e)}
|
|
127
130
|
|
|
128
|
-
`)),
|
|
129
|
-
data: ${JSON.stringify(
|
|
131
|
+
`)),D=-1,m=!1}Te?.delta?.annotations.forEach(_e=>{let z=W(),me={type:"content_block_start",index:z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${pr()}`,content:[{type:"web_search_result",title:_e.url_citation.title,url:_e.url_citation.url}]}};$(c.encode(`event: content_block_start
|
|
132
|
+
data: ${JSON.stringify(me)}
|
|
130
133
|
|
|
131
|
-
`))
|
|
132
|
-
data: ${JSON.stringify(
|
|
134
|
+
`));let Ie={type:"content_block_stop",index:z};$(c.encode(`event: content_block_stop
|
|
135
|
+
data: ${JSON.stringify(Ie)}
|
|
133
136
|
|
|
134
|
-
`))}
|
|
135
|
-
data: ${JSON.stringify(
|
|
137
|
+
`))})}if(Te?.delta?.tool_calls&&!k&&!S){R++;let _e=new Set;for(let z of Te.delta.tool_calls){if(k)break;let me=z.index??0;if(_e.has(me))continue;if(_e.add(me),!y.has(me)){if(D>=0){let v={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
138
|
+
data: ${JSON.stringify(v)}
|
|
136
139
|
|
|
137
|
-
`))}
|
|
138
|
-
data: ${JSON.stringify(
|
|
140
|
+
`)),D=-1}m=!1,T=!1;let Y=W();y.set(me,Y);let de=zr(z.id)||`call_${Date.now()}_${me}`,ne=z.function?.name||`tool_${me}`,w={type:"content_block_start",index:Y,content_block:{type:"tool_use",id:de,name:ne,input:{}}};$(c.encode(`event: content_block_start
|
|
141
|
+
data: ${JSON.stringify(w)}
|
|
139
142
|
|
|
140
|
-
`)),
|
|
141
|
-
|
|
143
|
+
`)),D=Y;let A={id:de,name:ne,arguments:"",contentBlockIndex:Y};b.set(me,A)}else if(z.id&&z.function?.name){let Y=b.get(me);Y.id.startsWith("call_")&&Y.name.startsWith("tool_")&&(Y.id=z.id,Y.name=z.function.name)}if(z.function?.arguments&&!k&&!S){let Y=y.get(me);if(Y===void 0)continue;let de=b.get(me);de&&(de.arguments+=z.function.arguments);try{let ne={type:"content_block_delta",index:Y,delta:{type:"input_json_delta",partial_json:z.function.arguments}};$(c.encode(`event: content_block_delta
|
|
144
|
+
data: ${JSON.stringify(ne)}
|
|
145
|
+
|
|
146
|
+
`))}catch{try{let ne=z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),w={type:"content_block_delta",index:Y,delta:{type:"input_json_delta",partial_json:ne}};$(c.encode(`event: content_block_delta
|
|
147
|
+
data: ${JSON.stringify(w)}
|
|
148
|
+
|
|
149
|
+
`))}catch(ne){this.logger?.error(ne)}}}}}if(Te?.finish_reason&&!k&&!S){if(_===0&&R===0&&this.logger?.warn("No content in the stream response!"),D>=0){let _e={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
|
|
150
|
+
data: ${JSON.stringify(_e)}
|
|
151
|
+
|
|
152
|
+
`)),D=-1}if(!k){let z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[Te.finish_reason]||"end_turn";y.size>0&&z==="end_turn"&&(z="tool_use"),f={type:"message_delta",delta:{stop_reason:z,stop_sequence:null},usage:Wa(te.usage)}}break}}catch(te){this.logger?.error(`parseError: ${te.name} message: ${te.message} stack: ${te.stack} data: ${ie}`)}}}oe()}catch(Q){K(Q)}finally{if(n===re&&(n=null),re)try{re.releaseLock()}catch(Q){this.logger?.error(Q)}}},cancel:async i=>{o?.();let c=n;n=null,c&&await c.cancel(i).catch(()=>{}),this.logger.debug({reqId:r.req.id},`cancel stream: ${i}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature}),n.message.annotations){let c=`srvtoolu_${pr()}`;o.push({type:"server_tool_use",id:c,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:c,content:n.message.annotations.map(u=>({type:"web_search_result",url:u.url_citation.url,title:u.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(c=>{if(!("function"in c)||!c.function)return;let u={};try{let f=c.function.arguments||"{}";typeof f=="object"?u=f:typeof f=="string"&&(u=JSON.parse(f))}catch{u={text:c.function.arguments||""}}o.push({type:"tool_use",id:zr(c.id)??c.id,name:c.function.name,input:u})});let s=String(n.finish_reason||""),i={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":s==="length"?"max_tokens":s==="tool_calls"?"tool_use":s==="content_filter"?"stop_sequence":s==="model_context_window_exceeded"?"model_context_window_exceeded":"end_turn",stop_sequence:null,usage:{...Wa(e.usage),...n.message.annotations?.length?{server_tool_use:{web_search_requests:n.message.annotations.length}}:{}}};return this.logger.debug({reqId:r.req.id,result:i},"Conversion complete, final Anthropic response"),i}catch{throw $e(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var TT=new Set(["type","format","title","description","nullable","enum","maxItems","minItems","properties","required","minProperties","maxProperties","minLength","maxLength","pattern","example","anyOf","propertyOrdering","default","items","minimum","maximum","additionalProperties","allOf","oneOf"]);function kn(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>kn(n,e));let r={};for(let n in t){if(e!=="properties"&&!TT.has(n))continue;let o=t[n];if(!(n==="enum"&&t.type&&t.type!=="string")&&!(n==="format"&&t.type==="string"&&o&&!["enum","date-time"].includes(o))&&!(n==="format"&&o==="uri")&&n!=="$schema")if(n==="properties"&&typeof o=="object"&&!Array.isArray(o)){let s={};for(let i in o)s[i]=kn(o[i]);r[n]=s}else n==="items"?r[n]=kn(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>kn(s,n)):r[n]=o}if(Array.isArray(r.required)&&r.properties){let n=new Set(Object.keys(r.properties));r.required=r.required.filter(o=>n.has(o)),r.required.length===0&&delete r.required}return r}function Uo(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(Uo);let e={};for(let m in t){let S=t[m];if(m==="properties"&&S&&typeof S=="object"){let b={};for(let y in S)b[y]=Uo(S[y]);e[m]=b}else m==="items"?e[m]=Uo(S):["anyOf","allOf","oneOf"].includes(m)&&Array.isArray(S)?e[m]=S.map(Uo):e[m]=S}let r=e.anyOf||e.oneOf;if(!Array.isArray(r)||e.type)return e;let n=r.filter(m=>m&&typeof m=="object"),o=n.find(m=>m.type)||n[0];if(!o)return e;let{anyOf:s,oneOf:i,description:c,...u}=e,f=[...new Set(n.filter(m=>m!==o).map(m=>String(m.description||m.type||"").split(" (alternatives:")[0]).filter(Boolean))],d={...o,...u},h=[c,o.description,...f].filter(Boolean);return h.length&&(d.description=f.length?`${h[0]} (alternatives: ${f.join("; ")})`:h[0]),d}function Ga(t){return!t||typeof t!="object"?t:kn(t)}var si=["minimal","low","medium","high"];function vT(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function RT(t){let e=vT(t);return e?e.includes("-image")||e.includes("imagen")?{kind:"none"}:e.startsWith("claude")?{kind:"budget",min:1024,max:64e3,requireMin:!0}:/^gemini-3(\.\d+)?\b/.test(e)||e.startsWith("gemini-pro-agent")?/^gemini-3-pro\b/.test(e)?{kind:"level",levels:["low","high"]}:e.includes("flash")?{kind:"level",levels:si}:{kind:"level",levels:["low","medium","high"]}:/^gemini-2\.5/.test(e)?e.includes("pro")?{kind:"budget",min:128,max:32768}:{kind:"budget",min:0,max:24576}:{kind:"includeOnly"}:{kind:"includeOnly"}}function DT(t,e){let r=t.toLowerCase(),n=si.filter(s=>e.includes(s));if(!n.length)return"high";if(r==="xhigh"||r==="max")return n[n.length-1];let o=si.indexOf(r);return o<0?n[n.length-1]:n.find(s=>si.indexOf(s)>=o)??n[n.length-1]}function xT(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function OT(t,e,r){return Math.min(Math.max(t,e),r)}function Q_(t){let e=t.reasoning,r=t.thinking?.type==="disabled";if(!e||r)return;let n=RT(t.model);if(n.kind==="none")return;let o=e.effort?.toLowerCase(),s=o==="none"||e.enabled===!1;if(n.kind==="includeOnly")return s?void 0:{includeThoughts:!0};if(n.kind==="level"){let f=si.filter(d=>n.levels.includes(d));return s?{includeThoughts:!1,thinkingLevel:f[0]}:o?{includeThoughts:!0,thinkingLevel:DT(o,n.levels)}:{includeThoughts:!0}}if(s)return n.min===0?{includeThoughts:!1,thinkingBudget:0}:void 0;let i=e.max_tokens,c=typeof i=="number"?i:o?xT(o,n.max):void 0;if(typeof c!="number")return{includeThoughts:!0};let u=OT(c,n.min,n.max);if(t.max_tokens&&u>=t.max_tokens&&(u=t.max_tokens-1),u<n.min){if(n.requireMin)return;u=n.min}return{includeThoughts:!0,thinkingBudget:u}}var Hr=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
|
|
153
|
+
`);this.buffer=n.pop()||"";for(let o of n){let s=this.processLine(o);s&&r.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let r=[];this.processLine(this.buffer.trim(),r),r.forEach(n=>e.enqueue(n))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,r){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let n={...this.currentEvent};return this.currentEvent={},r?(r.push(n),null):n}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let n=e.slice(5).trim();if(n==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(n)}catch{this.currentEvent.data={raw:n,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var Zn=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
|
|
142
154
|
`),e.id&&(n+=`id: ${e.id}
|
|
143
155
|
`),e.retry&&(n+=`retry: ${e.retry}
|
|
144
156
|
`),e.data&&(e.data.type==="done"?n+=`data: [DONE]
|
|
145
157
|
`:n+=`data: ${JSON.stringify(e.data)}
|
|
146
158
|
`),n+=`
|
|
147
|
-
`,r.enqueue(n)}})}};var
|
|
148
|
-
`);for(let
|
|
149
|
-
`))}}}catch(
|
|
159
|
+
`,r.enqueue(n)}})}};var yf=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let i=await e(s,n);i!==void 0&&n.enqueue(i)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};function PT(t){if(Ye(t)||!Kn(t))return t;let e=t;if(e&&typeof e=="object"&&e.code==="provider_network_error")return e;let r=String(e?.cause?.message||e?.cause?.code||"").trim(),n=String(e?.message||"Upstream stream failed"),o=new Error(r&&!n.includes(r)?`Upstream stream terminated: ${n} (${r})`:`Upstream stream terminated: ${n}`);return Object.assign(o,{type:"api_error",code:"provider_network_error",cause:e})}function ze(t,e,r){let n=new TextEncoder,o=!1,s=null,i=!1,c=new ReadableStream({async start(u){if(!t.body){u.close();return}let f={controller:u,encoder:n};try{let d=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new Hr).pipeThrough(new Zn).getReader();for(s=d;!i;){let{done:h,value:m}=await d.read();if(h)break;if(!m)continue;let S=m.split(`
|
|
160
|
+
`);for(let b of S)if(b.trim())try{e(b,f)}catch(y){(r?.logger?.error??console.error)("Error processing line:",b,y),u.enqueue(n.encode(b+`
|
|
161
|
+
`))}}}catch(d){if(o=!0,!i){let h=PT(d);(r?.logger?.error??console.error)("Stream error:",h),u.error(h)}}finally{s=null;try{r?.onComplete?.(f)}catch(d){(r?.logger?.error??console.error)("Stream completion error:",d),o||(o=!0,u.error(d))}o||u.close()}},cancel:async u=>{i=!0;let f=s;s=null,f&&await f.cancel(u).catch(()=>{})}});return new Response(c,{status:t.status,statusText:t.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function Me(t,e){return e.encode(`data: ${t}
|
|
150
162
|
|
|
151
|
-
`)}function
|
|
152
|
-
`)}var
|
|
153
|
-
`):typeof
|
|
163
|
+
`)}function xe(t,e){return e.encode(t+`
|
|
164
|
+
`)}var Ja=st(d0(),1),YT={STOP:"stop",MAX_TOKENS:"length",SAFETY:"content_filter",RECITATION:"content_filter",BLOCKLIST:"content_filter",PROHIBITED_CONTENT:"content_filter",SPII:"content_filter",IMAGE_SAFETY:"content_filter"},_f="\u26A0\uFE0F Upstream ended the turn without a reply";function ii(t){return t?YT[t.toUpperCase()]||t.toLowerCase():null}function bf(t){let e=t?.finishReason;if(!e||String(e).toUpperCase()==="STOP")return null;let r=String(t?.finishMessage||"").trim();return`${_f} (${String(e).toUpperCase()})`+(r?`: ${r}`:"")}var Va=class{constructor(e){this.emit=e}_hasThinking=!1;_sigSent=!1;_contentSent=!1;_buffer="";processThinking(e,r){this._hasThinking=!0,this.emit.thinking(e,r)}processSignature(e,r){this.processSignatureWithMeta(e,r)}processSignatureWithMeta(e,r,n){if(!this._sigSent){if(this._contentSent){this._sigSent=!0;return}this._hasThinking||(this._hasThinking=!0,this.emit.thinking("(no content)",r)),this._sigSent=!0,this.emit.signature(e,r),n?.beforeFlush?.(),this.flushBufferedContent(n?.flushMeta)}}processContent(e,r,n){this._sigSent||!this._hasThinking?(this._contentSent=!0,this.emit.content(e,{chunk:r,candidate:n,mode:"direct"})):this._buffer+=e}emitContentPlaceholder(e,r){this._contentSent=!0,this.emit.content(e,{chunk:r?.chunk,candidate:r?.candidate,mode:"placeholder",finishReason:r?.finishReason})}bufferContent(e){this._buffer+=e}finalize(e,r,n){if(this._hasThinking&&!this._sigSent){this.processSignatureWithMeta(`ccr_${Date.now()}`,e,{beforeFlush:n?.beforeFlush,flushMeta:{chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:ii(r?.finishReason)}});return}this.flushBufferedContent({chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:ii(r?.finishReason)})}flushBufferedContent(e){this._buffer&&(this._contentSent=!0,this.emit.content(this._buffer,{chunk:e?.chunk,candidate:e?.candidate,mode:e?.mode||"buffered",finishReason:e?.finishReason}),this._buffer="")}shouldDeferContent(e,r){return this._hasThinking&&!this._sigSent&&!e&&!r}get hasBufferedContent(){return this._buffer.length>0}get hasThinkingContent(){return this._hasThinking}get signatureSent(){return this._sigSent}get contentSent(){return this._contentSent}get needsContentPlaceholder(){return this._sigSent&&!this._contentSent}acknowledgeSignature(){this._sigSent=!0}};function Ka(t,e){return e[t]||t}function Ya(t){return!t||typeof t=="string"?[]:t.filter(e=>e.type==="image_url").map(e=>({url:e.image_url.url,mediaType:e.media_type||"image/jpeg",isBase64:e.image_url.url.startsWith("data:")}))}function Xa(t,e){if(t.length===0)return[];let r=[];for(let n of t){let o=r[r.length-1];if(o&&o.role===n.role){let s=o[e],i=n[e];Array.isArray(s)&&Array.isArray(i)&&s.push(...i)}else r.push({...n})}return r}function Lo(t){return t.function?.name?{name:t.function.name,description:t.function.description,parameters:t.function.parameters}:{name:t.name,description:t.description,parameters:t.input_schema}}function Qa(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mimeType:t.mediaType,data:t.url.split(",").pop()||t.url}}:{fileData:{mimeType:t.mediaType,fileUri:t.url}};if(e==="claude")return{type:"image",source:{type:"base64",media_type:t.mediaType,data:t.url.startsWith("data:")&&t.url.split(",").pop()||t.url}};throw new Error(`Unsupported provider for image processing: ${e}`)}function ai(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof Ja.default=="function"?Ja.default:Ja.default.default;if(typeof e!="function")return t;let r=/(\$\$?[\s\S]+?\$\$?|\\\(?:[\s\S]+?\\\)|\\\[[\s\S]+?\\\]|\\(?:[a-zA-Z]+))/g;return t.replace(r,n=>{let o=n,s;do s=o,o=e(o);while(o!==s);return o.replace(/\$([^\$]+)\$/g,"$1")})}catch{return t}}function f0(t){if(!t)return"unnamed_function";let e=t.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[^a-zA-Z_]/.test(e)&&(e="_"+e),e.substring(0,128)}var eo=new Map,h0=(t,e)=>`${t||"default"}${e}`;function p0(t,e,r){if(!e||!r)return;let n=h0(t,e);for(eo.delete(n),eo.set(n,{signature:r,expiresAt:Date.now()+216e5});eo.size>4096;){let o=eo.keys().next();if(o.done)break;eo.delete(o.value)}}function g0(t,e){if(!e)return;let r=h0(t,e),n=eo.get(r);if(n){if(n.expiresAt<=Date.now()){eo.delete(r);return}return n.signature}}function XT(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var qo={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function QT(t,e){t.includes("null")&&(e.nullable=!0);let r=t.filter(n=>n!=="null");if(r.length===1){let n=r[0].toUpperCase();e.type=Object.values(qo).includes(n)?n:qo.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(qo).includes(o)?o:qo.TYPE_UNSPECIFIED})}}}function ci(t){let e={},r=["items"],n=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&QT(t.type,e);for(let[i,c]of Object.entries(t))if(c!=null)if(i=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let u=String(c).toUpperCase();e.type=Object.values(qo).includes(u)?u:qo.TYPE_UNSPECIFIED}else if(r.includes(i))e[i]=ci(c);else if(n.includes(i)){let u=[];for(let f of Array.isArray(c)?c:[]){if(f.type=="null"){e.nullable=!0;continue}u.push(ci(f))}e[i]=u}else if(o.includes(i)){let u={};for(let[f,d]of Object.entries(c))u[f]=ci(d);e[i]=u}else{if(i==="additionalProperties")continue;e[i]=c}if(e.type==="ARRAY"&&!e.items&&(e.items={type:"STRING"}),Array.isArray(e.required)&&e.properties){let i=new Set(Object.keys(e.properties));e.required=e.required.filter(c=>i.has(c)),e.required.length===0&&delete e.required}return e}function ZT(t,e){let r=n=>e?.collapseUnions?Uo(n):n;if(t.functionDeclarations)for(let n of t.functionDeclarations){if(!n.parameters)n.parameters={type:"OBJECT",properties:{}};else{let o=kn(n.parameters);n.parameters=r(ci(o))}if(n.response){let o=kn(n.response);n.response=r(ci(o))}}return t}var y0="skip_thought_signature_validator";function Za(t,e){let r=[],n=t.tools||[],o=n.filter(_=>Lo(_).name!=="web_search").map(_=>{let{name:R,description:k,parameters:T}=Lo(_);return{name:f0(R),description:k,parameters:T??{type:"object",properties:{}}}});o?.length&&r.push(ZT({functionDeclarations:o},{collapseUnions:XT(t.model)})),n.find(_=>Lo(_).name==="web_search")&&r.push({googleSearch:{}});let i=[],c=t.messages||[],u=[],f=_=>{if(typeof _=="string")_&&u.push(_);else if(Array.isArray(_))for(let R of _)R?.type==="text"&&R.text?u.push(R.text):typeof R=="string"&&R&&u.push(R)};t.system&&f(t.system);for(let _ of c)_.role==="system"&&f(_.content);let d=c.filter(_=>_.role==="tool"),h=c.filter(_=>_.role!=="tool"&&_.role!=="system"),m=e?.thoughtSignatureFallback!=="none";h.forEach(_=>{let R=Ka(_.role,{assistant:"model"}),k=[],T=_.thinking?.signature,O=T?.startsWith("ccr_")?void 0:T,D=W=>R==="model"&&(W==="(no content)"||W.startsWith(_f));if(O&&R==="model"&&k.push({thought:!0,text:_.thinking?.content||"",thoughtSignature:O}),typeof _.content=="string")_.content&&!D(_.content)&&k.push({text:_.content});else if(Array.isArray(_.content))_.content.forEach($=>{if($.type==="text"){let oe=$.text||"";oe&&!D(oe)&&k.push({text:oe})}}),Ya(_.content).forEach($=>{k.push(Qa($,"gemini"))});else if(_.content&&typeof _.content=="object")if(_.content.text){let W=_.content.text;D(W)||k.push({text:W})}else k.push({text:JSON.stringify(_.content)});let M=Array.isArray(_.tool_calls)?_.tool_calls.map((W,$)=>{let oe=W.id||`tool_${Math.random().toString(36).substring(2,15)}`,K=W.thought_signature||g0(e?.signatureScope,oe);return!K&&$===0&&(K=O||(m?y0:void 0)),{toolCall:W,id:oe,signature:K}}):[];if(M.length>0&&k.push(...M.map(({toolCall:W,id:$,signature:oe})=>({functionCall:{id:$,name:W.function.name,args:JSON.parse(W.function.arguments||"{}")},...oe&&{thoughtSignature:oe}}))),k.length===0&&k.push({text:""}),i.push({role:R,parts:k}),R==="model"&&M.length>0){let W=M.map(({toolCall:$,id:oe})=>{let re=d.find(Q=>Q.tool_call_id===$.id)?.content;return Array.isArray(re)?re=re.filter(Q=>Q.type==="text").map(Q=>Q.text).join(`
|
|
165
|
+
`):typeof re=="object"&&re!==null&&(re=JSON.stringify(re)),{functionResponse:{id:oe,name:$?.function?.name,response:{result:re}}}});i.push({role:"user",parts:W})}});let S=Xa(i,"parts"),b={},y=Q_(t);y&&(b.thinkingConfig=y),t.max_tokens&&(b.maxOutputTokens=t.max_tokens),t.temperature!==void 0&&(b.temperature=t.temperature);let C={contents:S.length?S:[{role:"user",parts:[{text:""}]}],tools:r.length?r:void 0,generationConfig:b};if(u.length&&(C.systemInstruction={parts:[{text:u.join(`
|
|
154
166
|
|
|
155
|
-
`)}]}),t.tool_choice){let
|
|
156
|
-
`)||"",d={id:
|
|
167
|
+
`)}]}),t.tool_choice){let _={functionCallingConfig:{}};t.tool_choice==="auto"?_.functionCallingConfig.mode="auto":t.tool_choice==="none"?_.functionCallingConfig.mode="none":t.tool_choice==="required"?_.functionCallingConfig.mode="any":typeof t.tool_choice=="object"&&t.tool_choice.function?.name&&(_.functionCallingConfig.mode="any",_.functionCallingConfig.allowedFunctionNames=[t.tool_choice.function.name]),C.toolConfig=_}return C}function ec(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,i=t.stream,c=t.tool_choice,u={messages:[],model:n,max_tokens:o,temperature:s,stream:i,tool_choice:c};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?u.messages.push({role:"user",content:f}):typeof f.text=="string"?u.messages.push({role:"user",content:f.text||null}):f.role==="user"?u.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&u.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(u.tools=[],r.forEach(f=>{let d=f.functionDeclarations;Array.isArray(d)&&d.forEach(h=>{u.tools.push({type:"function",function:{name:h.name,description:h.description,parameters:h.parameters}})})})),u}function m0(t,e){e.forEach(r=>{let n=r.thought_signature;!n||n===y0||n.startsWith("ccr_")||p0(t,r.id,n)})}async function tc(t,e,r,n){let o=n||e;if(t.headers.get("Content-Type")?.includes("application/json")){let s=await t.json();if(r?.debug({response:s},`${e} response:`),t.status>=400){let R=(s.error?.message||"").toLowerCase();if(["user input too long","input too long","prompt is too long","exceeds the token limit","request payload size exceeds","context_length_exceeded"].some(T=>R.includes(T))){let T={id:`ctxexceeded_${Date.now()}`,choices:[{finish_reason:"model_context_window_exceeded",index:0,message:{content:"",role:"assistant"}}],created:Math.floor(Date.now()/1e3),model:"",object:"chat.completion",usage:{completion_tokens:0,prompt_tokens:0,total_tokens:0}};return new Response(JSON.stringify(T),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}if(!s.candidates||s.candidates.length===0)return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers});let i="",c="",u=s.candidates[0]?.content?.parts||[],f=[];for(let _ of u)_.text&&_.thought===!0?i+=ai(_.text):f.push(_);c=u.find(_=>_.thoughtSignature)?.thoughtSignature,i&&!c&&(c=`ccr_${+new Date}`);let d=f?.filter(_=>_.functionCall)?.map(_=>({id:_.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:_.functionCall?.name,arguments:JSON.stringify(_.functionCall?.args||{})},thought_signature:_.thoughtSignature||_.thought_signature||void 0}))||[];c&&d.length>0&&!d[0].thought_signature&&(d[0].thought_signature=c),m0(o,d);let h=f?.filter(_=>_.text)?.map(_=>ai(_.text||""))?.join(`
|
|
168
|
+
`)||"",m=s.candidates[0],S=h&&h!=="(no content)"?h:"",b=!S&&d.length===0?bf(m):null,y=ii(m?.finishReason),C={id:s.responseId,choices:[{finish_reason:d.length>0?"tool_calls":y,index:0,message:{content:b||S,role:"assistant",tool_calls:d.length>0?d:void 0,...c&&i&&{thinking:{content:i,signature:c}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:s.modelVersion,object:"chat.completion",usage:{completion_tokens:s.usageMetadata?.candidatesTokenCount||0,prompt_tokens:s.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:s.usageMetadata?.cachedContentTokenCount||0},total_tokens:s.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:s.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(C),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let s=0,i=-1,c=null,u=null,f=null,d=(C,_)=>{C.controller.enqueue(C.encoder.encode(`data: ${JSON.stringify(_)}
|
|
157
169
|
|
|
158
|
-
`))},
|
|
159
|
-
`)
|
|
170
|
+
`))},h=C=>({completion_tokens:C?.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C?.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C?.usageMetadata?.cachedContentTokenCount||0},total_tokens:C?.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C?.usageMetadata?.thoughtsTokenCount||0}}),m=C=>C?.groundingMetadata?.groundingChunks?.map((_,R)=>{let k=C?.groundingMetadata?.groundingSupports?.filter(T=>T.groundingChunkIndices?.includes(R));return{type:"url_citation",url_citation:{url:_?.web?.uri||"",title:_?.web?.title||"",content:k?.[0]?.segment?.text||"",start_index:k?.[0]?.segment?.startIndex||0,end_index:k?.[0]?.segment?.endIndex||0}}})||[],S=(C,_,R)=>{let k=R?.mode||"direct";k==="direct"&&s++;let T={choices:[{delta:{role:"assistant",content:_},finish_reason:R?.finishReason??(k==="direct"||k==="finish"?ii(R?.candidate?.finishReason):null),index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:R?.chunk?.responseId||"",model:R?.chunk?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(k==="direct"||k==="finish"){T.usage=h(R?.chunk);let O=m(R?.candidate);O.length>0&&(T.choices[0].delta.annotations=O)}d(C,T)},b=new Va({thinking:(C,_)=>{c&&d(c,{choices:[{delta:{role:"assistant",content:null,thinking:{content:C}},finish_reason:null,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(C,_)=>{c&&d(c,{choices:[{delta:{role:"assistant",content:null,thinking:{signature:C}},finish_reason:null,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(C,_)=>{c&&S(c,C,_)}});return ze(t,(C,_)=>{if(c=_,C.startsWith("data: ")){let R=C.slice(6).trim();if(R){r?.debug({chunkStr:R},`${e} chunk:`);try{let k=JSON.parse(R);if(!k.candidates||!k.candidates[0]){r?.debug({chunkStr:R},"Invalid chunk structure");return}let T=k.candidates[0];u=k,f=T;let O=T.content?.parts||[];O.filter(K=>K.text&&K.thought===!0).forEach(K=>{b.processThinking(ai(K.text),k)});let D=O.filter(K=>K.functionCall).map(K=>({id:K.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:K.functionCall?.name,arguments:JSON.stringify(K.functionCall?.args||{})},thought_signature:K.thoughtSignature||K.thought_signature||void 0})),M=O.filter(K=>K.text&&K.thought!==!0).map(K=>ai(K.text||"")).join(`
|
|
171
|
+
`),W=O.find(K=>K.thoughtSignature)?.thoughtSignature;W&&D.length>0&&!D[0].thought_signature&&(D[0].thought_signature=W),m0(o,D);let $=!!(M&&M!=="(no content)")||D.length>0||!!T.finishReason;if(M&&M!=="(no content)"&&k.modelVersion?.includes("3")&&b.shouldDeferContent(!!T.finishReason,D.length>0))b.bufferContent(M);else if(M&&M!=="(no content)"){if(b.hasThinkingContent&&!b.signatureSent&&$&&!W){let K=b.hasBufferedContent;b.processSignatureWithMeta(`ccr_${+new Date}`,k,{beforeFlush:K?()=>{s++}:void 0,flushMeta:K?{chunk:k,candidate:T,mode:"buffered",finishReason:null}:void 0})}b.processContent(M,k,T)}W&&(D.length>0&&!b.hasThinkingContent&&!M&&!b.contentSent?b.acknowledgeSignature():b.processSignatureWithMeta(W,k,{beforeFlush:()=>{s++},flushMeta:{chunk:k,candidate:T,mode:"buffered"}}));let oe=i<0&&D.length===0&&!M?bf(T):null;if(!M&&D.length===0&&i<0&&T.finishReason&&!oe&&b.needsContentPlaceholder&&b.emitContentPlaceholder("(no content)",{chunk:k,candidate:T}),!W&&!M&&b.hasThinkingContent&&!b.signatureSent&&$){let K=b.hasBufferedContent;b.processSignatureWithMeta(`ccr_${+new Date}`,k,{beforeFlush:K?()=>{s++}:void 0,flushMeta:K?{chunk:k,candidate:T,mode:"buffered",finishReason:null}:void 0})}if(M&&k.modelVersion?.includes("3")&&b.hasBufferedContent&&!W&&D.length===0&&!T.finishReason)return;D.length>0&&D.forEach((K,re)=>{s++,i++;let Q=T.finishReason!=null&&re===D.length-1?"tool_calls":null,se={choices:[{delta:{role:"assistant",tool_calls:[{...K,index:i}]},finish_reason:Q,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:k.responseId||"",model:k.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:h(k)},ke=m(T);ke.length>0&&(se.choices[0].delta.annotations=ke),d(_,se)}),T.finishReason&&(b.hasBufferedContent?b.finalize(k,T,{beforeFlush:()=>{b.signatureSent||s++}}):!M&&D.length===0&&(s++,S(_,oe||"",{chunk:k,candidate:T,mode:"finish",...i>=0?{finishReason:"tool_calls"}:{}})))}catch(k){r?.error(`Error parsing ${e} stream chunk`,R,k.message)}}}},{onComplete:C=>{c=C,(b.hasBufferedContent||b.hasThinkingContent&&!b.signatureSent)&&b.finalize(u||void 0,f||void 0,{beforeFlush:()=>{b.signatureSent||s++}})}})}return t}var C0=require("crypto"),ev=15e3,tv=256,Wr=new Map,Cf=new Map;function _0(t){return(0,C0.createHash)("sha256").update(JSON.stringify(t)).digest("hex").slice(0,48)}function rv(t){return t.toLowerCase().includes("gemini-2.5")?2048:4096}function nv(t){return Math.floor(JSON.stringify(t).length/4)}function ov(t){return Object.fromEntries(["systemInstruction","tools","toolConfig"].filter(e=>t[e]!==void 0).map(e=>[e,t[e]]))}function b0(t,e){let r={...t,cachedContent:e};return delete r.systemInstruction,delete r.tools,delete r.toolConfig,r}function rc(t,e){let r=Date.now();for(let[n,o]of Wr)o.expiresAt<=r&&Wr.delete(n);for(Wr.delete(t),Wr.set(t,e);Wr.size>tv;){let n=Wr.keys().next().value;if(n===void 0)break;Wr.delete(n)}}async function nc(t){let{body:e,modelResource:r,createUrl:n,headers:o}=t,s=ov(e);if(Object.keys(s).length===0||nv(s)<rv(r))return e;let i=_0(o),c=[String(n),i,r,_0(s)].join(":"),u=Date.now(),f=Wr.get(c);if(f&&f.expiresAt>u)return f.name?b0(e,f.name):e;f&&Wr.delete(c);let d=3600,h={model:r,...s,ttl:`${d}s`},m=Cf.get(c);m||(m=(async()=>{try{let b=await fetch(n,{method:"POST",headers:Object.fromEntries(Object.entries({"Content-Type":"application/json",...o}).filter(([,C])=>C!==void 0)),body:JSON.stringify(h),signal:AbortSignal.timeout(ev)});if(!b.ok){t.logger?.debug?.({status:b.status},"Gemini cached-content create failed; using implicit cache"),rc(c,{expiresAt:Date.now()+300*1e3});return}let y=await b.json();if(!y?.name){t.logger?.debug?.("Gemini cached-content response had no resource name; using implicit cache"),rc(c,{expiresAt:Date.now()+300*1e3});return}return rc(c,{name:y.name,expiresAt:Date.now()+(d-30)*1e3}),y.name}catch(b){t.logger?.debug?.({error:b?.message||String(b)},"Gemini cached-content create errored; using implicit cache"),rc(c,{expiresAt:Date.now()+300*1e3});return}finally{Cf.delete(c)}})(),Cf.set(c,m));let S=await m;return S?b0(e,S):e}var oc=class{constructor(e){this.options=e;this.cachedContent=e?.cachedContent!==!1,this.thoughtSignatureFallback=e?.thoughtSignatureFallback==="none"?"none":"skip"}static TransformerName="gemini";logger;name="gemini";endPoint="/v1beta/models/:modelAndAction";cachedContent;thoughtSignatureFallback;async transformRequestIn(e,r,n){let o=e.model||(typeof n?.req?.model=="string"?n.req.model:Array.isArray(n?.req?.model)?n.req.model.join(","):"")||r.models?.[0]||"",s=Za(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:r?.name||this.name});return{body:this.cachedContent?await nc({body:s,modelResource:o.startsWith("models/")?o:`models/${o}`,createUrl:new URL("../cachedContents",r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0},logger:this.logger}):s,config:{url:new URL(`./${o}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}async transformRequestOut(e){return ec(e)}async transformResponseOut(e,r){return tc(e,this.name,this.logger,r?.provider?.name||this.name)}};async function V1(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>st(Du(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
160
172
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
161
173
|
2. Run "gcloud auth application-default login"
|
|
162
|
-
3. Use Google Cloud environment with default service account`)}}var tu=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),c=JSON.parse(u);c&&c.project_id&&(n=c.project_id)}catch(a){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await ev(this.logger);return{body:Ii(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model||r.model||""}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return Ni(e)}async transformResponseOut(e){return Bi(e,this.name)}};function ru(){return{content:"",isComplete:!1,hasContent:!1}}function nu(t,e){t.content+=e,t.hasContent=!0}function ou(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function nn(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function Ro(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function on(t){delete t.reasoning_content,delete t.reasoning}var b0=require("node:crypto"),y0=360*60*1e3,tv=4096,_d="__ccrDeepseekReasoning",bd=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>y0){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,r),r.reasoning}}put(e,r){r&&(this.cache.delete(e),this.cache.set(e,{reasoning:r,createdAt:Date.now()}),this.prune())}prune(){for(let[e,r]of this.cache)Date.now()-r.createdAt>y0&&this.cache.delete(e);for(;this.cache.size>tv;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},su=new bd;function Cd(t){return Array.isArray(t)?t.map(Cd):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=Cd(t[r]),e),{}):t}function Nn(t){return JSON.stringify(Cd(t))}function iu(t){return(0,b0.createHash)("sha256").update(t).digest("hex")}function C0(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):Nn(e)).join(""):Nn(t)}function wd(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:Nn(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function w0(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function E0(t){let e=wd(t);return iu(Nn({...e,id:void 0}))}function k0(t){return iu(Nn({content:C0(t.content),tool_calls:(t.tool_calls||[]).map(e=>wd(e))}))}function rv(t){let e={role:t.role,content:C0(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(r=>wd(r))),e}function _0(t,e){let r=t.filter(n=>n.role!=="system").map(n=>rv(n));return iu(Nn({namespace:e,messages:r}))}function nv(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function S0(t,e){if(t.role!=="assistant")return 0;let r=nv(t);if(!r)return 0;let n=[`scope:${e}:signature:${k0(t)}`];return n.push(...w0(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${E0(o)}`)),n.forEach(o=>su.put(o,r)),n.length}function ov(t,e){let r=su.get(`scope:${e}:signature:${k0(t)}`);if(r)return r;for(let n of w0(t)){let o=su.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=su.get(`scope:${e}:tool_call_signature:${E0(n)}`);if(o)return o}}function sv(t,e){if(t.tool_calls?.length)return!0;for(let r=e.length-1;r>=0;r--){let n=e[r];if(n.role==="tool")return!0;if(n.role==="user"||n.role==="system")return!1}return!1}function iv(t,e){let r=String(t.model||"").toLowerCase(),n=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=r.includes("deepseek")||n.includes("deepseek")||o.includes("deepseek"),a=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&a}function av(t,e){return iu(Nn({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function au(t,e,r){if(!iv(t,e))return r?.req&&delete r.req[_d],{restoredFromCache:0,restoredFromThinking:0};let n=av(t,e),o=[],s=0,a=0;for(let u of t.messages){if(u.role==="assistant"){let c=_0(o,n);if(sv(u,o)&&!(typeof u.reasoning_content=="string"&&u.reasoning_content.length>0?u.reasoning_content:void 0)){let p=typeof u.thinking?.content=="string"&&u.thinking.content.length>0?u.thinking.content:void 0;if(p)u.reasoning_content=p,a++;else{let y=ov(u,c);y&&(u.reasoning_content=y,s++)}}S0(u,c)}o.push(u)}return r?.req&&(r.req[_d]={enabled:!0,namespace:n,requestScope:_0(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:a}}function A0(t){return t?.req?.[_d]}function uu(t){return A0(t)?.enabled===!0}function xo(t,e){if(!t)return 0;let r=A0(e);return r?S0(t,r.requestScope):0}function cu(){return{content:"",reasoning:"",toolCalls:new Map}}function Oo(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((r,n)=>{let o=typeof r.index=="number"?r.index:n,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof r.id=="string"&&r.id.length>0&&(s.id=r.id),typeof r.type=="string"&&r.type.length>0&&(s.type=r.type);let a=r.function||{};typeof a.name=="string"&&a.name.length>0&&(s.function.name+=a.name),typeof a.arguments=="string"&&a.arguments.length>0&&(s.function.arguments+=a.arguments),t.toolCalls.set(o,s)}))}function lu(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([r],[n])=>r-n).map(([,r])=>r).filter(r=>typeof r.id=="string"&&r.id.length>0&&typeof r.function?.name=="string"&&r.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}var fu=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),au(e,r,n),e}async transformResponseOut(e,r){let n=uu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return n&&xo({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=ru(),s=n?cu():null;return qe(e,(a,u)=>{if(!a.trim()){u.controller.enqueue(Te(a,u.encoder));return}if(!a.startsWith("data:")||a.trim()==="data: [DONE]"){u.controller.enqueue(Te(a,u.encoder));return}try{let c=a.slice(5).trim(),f=JSON.parse(c),d=f.choices?.[0]?.delta;if(!d){u.controller.enqueue(Te(a,u.encoder));return}let p=Ro(d);if(p){s&&Oo(s,d),nu(o,p);let y=nn(f,{content:p});on(y.choices[0].delta),u.controller.enqueue(Me(JSON.stringify(y),u.encoder));return}if(s&&Oo(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:y,signature:A}=ou(o),g=nn(f,{content:y,signature:A});on(g.choices[0].delta),g.choices[0].delta.content=null,u.controller.enqueue(Me(JSON.stringify(g),u.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,u.controller.enqueue(Me(JSON.stringify(f),u.encoder)))}catch{u.controller.enqueue(Te(a,u.encoder))}},{onComplete:()=>{s&&xo(lu(s),r)}})}return e}};var du=class{name="tooluse";async transformRequestIn(e,r,n){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice=e.tool_choice||"required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
|
|
174
|
+
3. Use Google Cloud environment with default service account`)}}var xu=class{static TransformerName="vertex-gemini";logger;name="vertex-gemini";thoughtSignatureFallback;constructor(e){this.thoughtSignatureFallback=e?.thoughtSignatureFallback==="none"?"none":"skip"}async transformRequestIn(e,r,n){let o=process.env.GOOGLE_CLOUD_PROJECT,s=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!o&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let m=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),S=JSON.parse(m);S&&S.project_id&&(o=S.project_id)}catch(h){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",h)}if(!o)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let i=await V1(this.logger),c=e.model||r.models?.[0]||"",u=r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${s}-aiplatform.googleapis.com`,f=`projects/${o}/locations/${s}/publishers/google/models/${c}`;return{body:await nc({body:Za(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:r?.name||this.name}),modelResource:f,createUrl:new URL(`./v1beta1/projects/${o}/locations/${s}/cachedContents`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0},logger:this.logger}),config:{url:new URL(`./v1beta1/${f}:${e.stream?"streamGenerateContent":"generateContent"}`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return ec(e)}async transformResponseOut(e,r){return tc(e,this.name,this.logger,r?.provider?.name||this.name)}};function Ou(){return{content:"",isComplete:!1,hasContent:!1}}function Pu(t,e){t.content+=e,t.hasContent=!0}function Fu(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function xn(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function _s(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function On(t){delete t.reasoning_content,delete t.reasoning}var Yk=require("node:crypto"),Vk=360*60*1e3,K1=4096,Gp="__ccrDeepseekReasoning",Jp=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>Vk){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,r),r.reasoning}}put(e,r){r&&(this.cache.delete(e),this.cache.set(e,{reasoning:r,createdAt:Date.now()}),this.prune())}prune(){for(let[e,r]of this.cache)Date.now()-r.createdAt>Vk&&this.cache.delete(e);for(;this.cache.size>K1;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Iu=new Jp;function Vp(t){return Array.isArray(t)?t.map(Vp):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=Vp(t[r]),e),{}):t}function yo(t){return JSON.stringify(Vp(t))}function Nu(t){return(0,Yk.createHash)("sha256").update(t).digest("hex")}function Xk(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):yo(e)).join(""):yo(t)}function Kp(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:yo(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function Qk(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function Zk(t){let e=Kp(t);return Nu(yo({...e,id:void 0}))}function eS(t){return Nu(yo({content:Xk(t.content),tool_calls:(t.tool_calls||[]).map(e=>Kp(e))}))}function Y1(t){let e={role:t.role,content:Xk(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(r=>Kp(r))),e}function Kk(t,e){let r=t.filter(n=>n.role!=="system").map(n=>Y1(n));return Nu(yo({namespace:e,messages:r}))}function X1(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function tS(t,e){if(t.role!=="assistant")return 0;let r=X1(t);if(!r)return 0;let n=[`scope:${e}:signature:${eS(t)}`];return n.push(...Qk(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${Zk(o)}`)),n.forEach(o=>Iu.put(o,r)),n.length}function Q1(t,e){let r=Iu.get(`scope:${e}:signature:${eS(t)}`);if(r)return r;for(let n of Qk(t)){let o=Iu.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=Iu.get(`scope:${e}:tool_call_signature:${Zk(n)}`);if(o)return o}}function Z1(t,e){if(t.tool_calls?.length)return!0;for(let r=e.length-1;r>=0;r--){let n=e[r];if(n.role==="tool")return!0;if(n.role==="user"||n.role==="system")return!1}return!1}function eP(t,e){let r=String(t.model||"").toLowerCase(),n=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=r.includes("deepseek")||n.includes("deepseek")||o.includes("deepseek"),i=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&i}function tP(t,e){return Nu(yo({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function Mu(t,e,r){if(!eP(t,e))return r?.req&&delete r.req[Gp],{restoredFromCache:0,restoredFromThinking:0};let n=tP(t,e),o=[],s=0,i=0;for(let c of t.messages){if(c.role==="assistant"){let u=Kk(o,n);if(Z1(c,o)&&!(typeof c.reasoning_content=="string"&&c.reasoning_content.length>0?c.reasoning_content:void 0)){let h=typeof c.thinking?.content=="string"&&c.thinking.content.length>0?c.thinking.content:void 0;if(h)c.reasoning_content=h,i++;else{let m=Q1(c,u);m&&(c.reasoning_content=m,s++)}}tS(c,u)}o.push(c)}return r?.req&&(r.req[Gp]={enabled:!0,namespace:n,requestScope:Kk(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:i}}function rS(t){return t?.req?.[Gp]}function Bu(t){return rS(t)?.enabled===!0}function bs(t,e){if(!t)return 0;let r=rS(e);return r?tS(t,r.requestScope):0}function ju(){return{content:"",reasoning:"",toolCalls:new Map}}function Cs(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((r,n)=>{let o=typeof r.index=="number"?r.index:n,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof r.id=="string"&&r.id.length>0&&(s.id=r.id),typeof r.type=="string"&&r.type.length>0&&(s.type=r.type);let i=r.function||{};typeof i.name=="string"&&i.name.length>0&&(s.function.name+=i.name),typeof i.arguments=="string"&&i.arguments.length>0&&(s.function.arguments+=i.arguments),t.toolCalls.set(o,s)}))}function Uu(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([r],[n])=>r-n).map(([,r])=>r).filter(r=>typeof r.id=="string"&&r.id.length>0&&typeof r.function?.name=="string"&&r.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}function nS(t){let e=t?.usage;!e||e.prompt_cache_hit_tokens===void 0||(e.prompt_tokens_details={...e.prompt_tokens_details||{},cached_tokens:e.prompt_cache_hit_tokens||0})}var Lu=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=Je(e.messages),e.tools=Ve(e.tools),Mu(e,r,n),e}async transformResponseOut(e,r){let n=Bu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return nS(o),n&&bs({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=Ou(),s=n?ju():null;return ze(e,(i,c)=>{if(!i.trim()){c.controller.enqueue(xe(i,c.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){c.controller.enqueue(xe(i,c.encoder));return}try{let u=i.slice(5).trim(),f=JSON.parse(u);nS(f);let d=f.choices?.[0]?.delta;if(!d){c.controller.enqueue(Me(JSON.stringify(f),c.encoder));return}let h=_s(d);if(h){s&&Cs(s,d),Pu(o,h);let m=xn(f,{content:h});On(m.choices[0].delta),c.controller.enqueue(Me(JSON.stringify(m),c.encoder));return}if(s&&Cs(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:m,signature:S}=Fu(o),b=xn(f,{content:m,signature:S});On(b.choices[0].delta),b.choices[0].delta.content=null,c.controller.enqueue(Me(JSON.stringify(b),c.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,c.controller.enqueue(Me(JSON.stringify(f),c.encoder)))}catch{c.controller.enqueue(xe(i,c.encoder))}},{onComplete:()=>{s&&bs(Uu(s),r)}})}return e}};var qu=class{name="tooluse";async transformRequestIn(e,r,n){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice=e.tool_choice||"required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
|
|
163
175
|
IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
|
|
164
176
|
Examples:
|
|
165
177
|
1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
|
|
166
|
-
2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="";return
|
|
167
|
-
|
|
168
|
-
`;f.enqueue(d.encode(
|
|
169
|
-
|
|
170
|
-
`;f.enqueue(d.encode(
|
|
171
|
-
`))}else f.enqueue(d.encode(
|
|
172
|
-
`))})}return e}};
|
|
173
|
-
+`.includes(t)}function
|
|
174
|
-
+`.includes(t)}function
|
|
175
|
-
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function
|
|
176
|
-
`,r:"\r",t:" "};function
|
|
177
|
-
`;)e++;return!0}return!1}function f(
|
|
178
|
+
2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="";return ze(e,(c,u)=>{let{controller:f,encoder:d}=u;if(c.startsWith("data: ")&&c.trim()!=="data: [DONE]")try{let h=JSON.parse(c.slice(6));if(h.choices[0]?.delta?.tool_calls?.length){let m=h.choices[0].delta.tool_calls[0];if(m.function?.name==="ExitTool"){o=m.index;return}else if(o>-1&&m.index===o&&m.function.arguments){s+=m.function.arguments;try{let S=JSON.parse(s);h.choices=[{delta:{role:"assistant",content:S.response||""}}];let b=`data: ${JSON.stringify(h)}
|
|
179
|
+
|
|
180
|
+
`;f.enqueue(d.encode(b))}catch{}return}}if(h.choices?.[0]?.delta&&Object.keys(h.choices[0].delta).length>0){let m=`data: ${JSON.stringify(h)}
|
|
181
|
+
|
|
182
|
+
`;f.enqueue(d.encode(m))}}catch{f.enqueue(d.encode(c+`
|
|
183
|
+
`))}else f.enqueue(d.encode(c+`
|
|
184
|
+
`))})}return e}};var $u=class{constructor(e){this.options=e}static TransformerName="openrouter";logger;async transformRequestIn(e,r,n){let o=Zt(n,e),s=(e.model||"").toLowerCase();return s.includes("anthropic/")||s.includes("claude")?e=Yn(e):s.startsWith("openai/")||s.startsWith("gpt-")?e=oi(e,r,n):s.includes("qwen")||s.includes("alibaba")?e=Xn(e):s.includes("gemini")?e=Xn(e):e={...e,messages:Je(e.messages),tools:Ve(e.tools)},e.model.includes("claude")?e.messages.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(c=>{c.type==="image_url"&&(c.image_url.url.startsWith("http")||(c.image_url.url=`data:${c.media_type};base64,${c.image_url.url}`),delete c.media_type)})}):e.messages.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(c=>{c.type==="image_url"&&(c.image_url.url.startsWith("http")||(c.image_url.url=`${c.image_url.url}`),delete c.media_type)})}),Object.assign(e,this.options||{}),o&&(e.session_id=o,e.prompt_cache_key=o),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=Ou(),n=!1,o=!1;return ze(e,(s,i)=>{if(!s.trim()){i.controller.enqueue(xe(s,i.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){i.controller.enqueue(xe(s,i.encoder));return}try{let c=s.slice(6),u=JSON.parse(c);u.usage&&(this.logger?.debug({usage:u.usage,hasToolCall:o},"usage"),u.choices[0].finish_reason=o?"tool_calls":"stop"),u.choices?.[0]?.finish_reason==="error"&&i.controller.enqueue(Me(JSON.stringify({error:u.choices?.[0]?.error}),i.encoder)),u.choices?.[0]?.delta?.content&&!n&&(n=!0);let f=u.choices?.[0]?.delta,d=f?_s(f):null;if(d){Pu(r,d);let h=xn(u,{content:d});On(h.choices[0].delta),i.controller.enqueue(Me(JSON.stringify(h),i.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:h,signature:m}=Fu(r),S=xn(u,{content:h,signature:m});On(S.choices[0].delta),S.choices[0].delta.content=null,i.controller.enqueue(Me(JSON.stringify(S),i.encoder))}f?.reasoning&&delete f.reasoning,f?.tool_calls?.length&&!Number.isNaN(parseInt(f.tool_calls[0].id,10))&&f.tool_calls.forEach(h=>{h.id=`call_${pr()}`}),f?.tool_calls?.length&&!o&&(o=!0),f?.tool_calls?.length&&n&&(typeof u.choices[0].index=="number"?u.choices[0].index+=1:u.choices[0].index=1),i.controller.enqueue(Me(JSON.stringify(u),i.encoder))}catch{i.controller.enqueue(xe(s,i.encoder))}})}return e}};var zu=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var Hu=class{name="groq";async transformRequestIn(e){return e.messages=Je(e.messages),e.tools=Ve(e.tools),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=Ga(r.function.parameters))}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=!1;return ze(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(xe(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(xe(n,o.encoder));return}try{let s=n.slice(5).trim(),i=JSON.parse(s);if(i.error)throw new Error(JSON.stringify(i));i.choices?.[0]?.delta?.content&&!r&&(r=!0),i.choices?.[0]?.delta?.tool_calls?.length&&i.choices[0].delta.tool_calls.forEach(c=>{c.id=`call_${pr()}`}),i.choices?.[0]?.delta?.tool_calls?.length&&r&&(typeof i.choices[0].index=="number"?i.choices[0].index+=1:i.choices[0].index=1),o.controller.enqueue(Me(JSON.stringify(i),o.encoder))}catch{o.controller.enqueue(xe(n,o.encoder))}})}return e}};var Wu=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{r.cache_control&&delete r.cache_control}),e}};var dS=st(sf());var Qr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function oS(t){return/^[0-9A-Fa-f]$/.test(t)}function Fn(t){return t>="0"&&t<="9"}function sS(t){return t>=" "}function ji(t){return`,:[]/{}()
|
|
185
|
+
+`.includes(t)}function Yp(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Xp(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Qp=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Zp=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function eg(t){return`,[]/{}
|
|
186
|
+
+`.includes(t)}function tg(t){return Ui(t)||rP.test(t)}var rP=/^[[{\w-]$/;function iS(t){return t===`
|
|
187
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Pn(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function aS(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function cS(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function Ui(t){return rg(t)||Gu(t)}function rg(t){return t==='"'||t==="\u201C"||t==="\u201D"}function ng(t){return t==='"'}function Gu(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function og(t){return t==="'"}function ws(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=t.lastIndexOf(e);return n!==-1?t.substring(0,n)+(r?"":t.substring(n+1)):t}function Jt(t,e){let r=t.length;if(!Pn(t,r-1))return t+e;for(;Pn(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function uS(t,e,r){return t.substring(0,e)+t.substring(e+r)}function lS(t){return/[,\n][ \t\r]*$/.test(t)}var nP={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},oP={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
188
|
+
`,r:"\r",t:" "};function sg(t){let e=0,r="";f(["```","[```","{```"]),s()||se(),f(["```","```]","```}"]);let o=h(",");for(o&&i(),tg(t[e])&&lS(r)?(o||(r=Jt(r,",")),_()):o&&(r=ws(r,","));t[e]==="}"||t[e]==="]";)e++,i();if(e>=t.length)return r;Q();function s(){i();let X=y()||C()||R()||T()||O()||M(!1)||W();return i(),X}function i(){let X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,ie=e,te=c(X);do te=u(),te&&(te=c(X));while(te);return e>ie}function c(X){let ie=X?Pn:aS,te="";for(;;)if(ie(t,e))te+=t[e],e++;else if(cS(t,e))te+=" ",e++;else break;return te.length>0?(r+=te,!0):!1}function u(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!sP(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
189
|
+
`;)e++;return!0}return!1}function f(X){if(d(X)){if(Yp(t[e]))for(;e<t.length&&Xp(t[e]);)e++;return i(),!0}return!1}function d(X){c(!0);for(let ie of X){let te=e+ie.length;if(t.slice(e,te)===ie)return e=te,!0}return!1}function h(X){return t[e]===X?(r+=t[e],e++,!0):!1}function m(X){return t[e]===X?(e++,!0):!1}function S(){return m("\\")}function b(){return i(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,i(),m(","),!0):!1}function y(){if(t[e]==="{"){r+="{",e++,i(),m(",")&&i();let X=!0;for(;e<t.length&&t[e]!=="}";){let ie;if(X?(ie=!0,X=!1):(ie=h(","),ie||(r=Jt(r,",")),i()),b(),!(R()||M(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=ws(r,","):ke();break}i();let Te=h(":"),_e=e>=t.length;Te||(tg(t[e])||_e?r=Jt(r,":"):be()),s()||(Te||_e?r+="null":be())}return t[e]==="}"?(r+="}",e++):r=Jt(r,"}"),!0}return!1}function C(){if(t[e]==="["){r+="[",e++,i(),m(",")&&i();let X=!0;for(;e<t.length&&t[e]!=="]";)if(X?X=!1:h(",")||(r=Jt(r,",")),b(),!s()){r=ws(r,",");break}return t[e]==="]"?(r+="]",e++):r=Jt(r,"]"),!0}return!1}function _(){let X=!0,ie=!0;for(;ie;)X?X=!1:h(",")||(r=Jt(r,",")),ie=s();ie||(r=ws(r,",")),r=`[
|
|
178
190
|
${r}
|
|
179
|
-
]`}function
|
|
180
|
-
`);for(let
|
|
181
|
-
`))},
|
|
191
|
+
]`}function R(){let X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,te=t[e]==="\\";if(te&&(e++,te=!0),Ui(t[e])){let Te=ng(t[e])?ng:og(t[e])?og:Gu(t[e])?Gu:rg,_e=e,z=r.length,me='"';for(e++;;){if(e>=t.length){let Ie=$(e-1);return!X&&ji(t.charAt(Ie))?(e=_e,r=r.substring(0,z),R(!0)):(me=Jt(me,'"'),r+=me,!0)}if(e===ie)return me=Jt(me,'"'),r+=me,!0;if(Te(t[e])){let Ie=e,Y=me.length;if(me+='"',e++,r+=me,i(!1),X||e>=t.length||ji(t[e])||Ui(t[e])||Fn(t[e]))return k(),!0;let de=$(Ie-1),ne=t.charAt(de);if(ne===",")return e=_e,r=r.substring(0,z),R(!1,de);if(ji(ne))return e=_e,r=r.substring(0,z),R(!0);r=r.substring(0,z),e=Ie+1,me=`${me.substring(0,Y)}\\${me.substring(Y)}`}else if(X&&eg(t[e])){if(t[e-1]===":"&&Qp.test(t.substring(_e+1,e+2)))for(;e<t.length&&Zp.test(t[e]);)me+=t[e],e++;return me=Jt(me,'"'),r+=me,k(),!0}else if(t[e]==="\\"){let Ie=t.charAt(e+1);if(oP[Ie]!==void 0)me+=t.slice(e,e+2),e+=2;else if(Ie==="u"){let de=2;for(;de<6&&oS(t[e+de]);)de++;de===6?(me+=t.slice(e,e+6),e+=6):e+de>=t.length?e=t.length:Re()}else me+=Ie,e+=2}else{let Ie=t.charAt(e);Ie==='"'&&t[e-1]!=="\\"?(me+=`\\${Ie}`,e++):iS(Ie)?(me+=nP[Ie],e++):(sS(Ie)||re(Ie),me+=Ie,e++)}te&&S()}}return!1}function k(){let X=!1;for(i();t[e]==="+";){X=!0,e++,i(),r=ws(r,'"',!0);let ie=r.length;R()?r=uS(r,ie,1):r=Jt(r,'"')}return X}function T(){let X=e;if(t[e]==="-"){if(e++,oe())return K(X),!0;if(!Fn(t[e]))return e=X,!1}for(;Fn(t[e]);)e++;if(t[e]==="."){if(e++,oe())return K(X),!0;if(!Fn(t[e]))return e=X,!1;for(;Fn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,oe())return K(X),!0;if(!Fn(t[e]))return e=X,!1;for(;Fn(t[e]);)e++}if(!oe())return e=X,!1;if(e>X){let ie=t.slice(X,e),te=/^0\d/.test(ie);return r+=te?`"${ie}"`:ie,!0}return!1}function O(){return D("true","true")||D("false","false")||D("null","null")||D("True","true")||D("False","false")||D("None","null")}function D(X,ie){return t.slice(e,e+X.length)===X?(r+=ie,e+=X.length,!0):!1}function M(X){let ie=e;if(Yp(t[e])){for(;e<t.length&&Xp(t[e]);)e++;let te=e;for(;Pn(t,te);)te++;if(t[te]==="(")return e=te+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!eg(t[e])&&!Ui(t[e])&&(!X||t[e]!==":");)e++;if(t[e-1]===":"&&Qp.test(t.substring(ie,e+2)))for(;e<t.length&&Zp.test(t[e]);)e++;if(e>ie){for(;Pn(t,e-1)&&e>0;)e--;let te=t.slice(ie,e);return r+=te==="undefined"?"null":JSON.stringify(te),t[e]==='"'&&e++,!0}}function W(){if(t[e]==="/"){let X=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(X,e)}"`,!0}}function $(X){let ie=X;for(;ie>0&&Pn(t,ie);)ie--;return ie}function oe(){return e>=t.length||ji(t[e])||Pn(t,e)}function K(X){r+=`${t.slice(X,e)}0`}function re(X){throw new Qr(`Invalid character ${JSON.stringify(X)}`,e)}function Q(){throw new Qr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function se(){throw new Qr("Unexpected end of json string",t.length)}function ke(){throw new Qr("Object key expected",e)}function be(){throw new Qr("Colon expected",e)}function Re(){let X=t.slice(e,e+6);throw new Qr(`Invalid unicode character "${X}"`,e)}}function sP(t,e){return t[e]==="*"&&t[e+1]==="/"}function ig(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=dS.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=sg(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Ju=class{logger;name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=ig(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,i="",c=!1,u=!1,f="",d=new ReadableStream({start:async h=>{let m=e.body.getReader(),S=(C,_,R)=>{let k=C.split(`
|
|
192
|
+
`);for(let T of k)T.trim()&&_.enqueue(R.encode(T+`
|
|
193
|
+
`))},b=(C,_,R)=>{let k="";try{k=ig(o.arguments||"",this.logger)}catch(M){this.logger?.error(`${M.message} ${M.stack} Tool call argument parsing failed: ${JSON.stringify(o)}`),k=o.arguments||""}let T={role:"assistant",tool_calls:[{function:{name:o.name,arguments:k},id:o.id,index:o.index,type:"function"}]},O={...C,choices:[{...C.choices[0],delta:T}]};O.choices[0].delta.content!==void 0&&delete O.choices[0].delta.content;let D=`data: ${JSON.stringify(O)}
|
|
182
194
|
|
|
183
|
-
`;
|
|
195
|
+
`;_.enqueue(R.encode(D))},y=(C,_)=>{let{controller:R,encoder:k}=_;if(C.startsWith("data: ")&&C.trim()!=="data: [DONE]"){let T=C.slice(6);try{let O=JSON.parse(T);if(O.choices?.[0]?.delta?.tool_calls?.length){let M=O.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:M.index,name:M.function?.name||"",id:M.id||"",arguments:M.function?.arguments||""},M.function?.arguments&&(M.function.arguments="");let W=`data: ${JSON.stringify(O)}
|
|
184
196
|
|
|
185
|
-
`;
|
|
197
|
+
`;R.enqueue(k.encode(W));return}else if(o.index===M.index){M.function?.arguments&&(o.arguments+=M.function.arguments);return}else{b(O,R,k),o={index:M.index,name:M.function?.name||"",id:M.id||"",arguments:M.function?.arguments||""};return}}if(O.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){b(O,R,k),o={};return}O.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof O.choices[0].index=="number"?O.choices[0].index+=1:O.choices[0].index=1);let D=`data: ${JSON.stringify(O)}
|
|
186
198
|
|
|
187
|
-
`;
|
|
188
|
-
`))}}else
|
|
189
|
-
`))};try{for(;;){let{done:
|
|
190
|
-
`);f=
|
|
199
|
+
`;R.enqueue(k.encode(D))}catch{R.enqueue(k.encode(C+`
|
|
200
|
+
`))}}else R.enqueue(k.encode(C+`
|
|
201
|
+
`))};try{for(;;){let{done:C,value:_}=await m.read();if(C){f.trim()&&S(f,h,n);break}if(!_||_.length===0)continue;let R;try{R=r.decode(_,{stream:!0})}catch(T){this.logger?.warn("Failed to decode chunk",T);continue}if(R.length===0)continue;if(f+=R,f.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let T=f.split(`
|
|
202
|
+
`);f=T.pop()||"";for(let O of T)if(O.trim())try{y(O,{controller:h,encoder:n,hasTextContent:()=>s,setHasTextContent:D=>s=D,reasoningContent:()=>i,appendReasoningContent:D=>i+=D,isReasoningComplete:()=>c,setReasoningComplete:D=>c=D})}catch(D){this.logger?.error("Error processing line:",O,D),h.enqueue(n.encode(O+`
|
|
191
203
|
`))}continue}let k=f.split(`
|
|
192
|
-
`);f=k.pop()||"";for(let
|
|
193
|
-
`))}}}catch(
|
|
194
|
-
`));return}if(
|
|
204
|
+
`);f=k.pop()||"";for(let T of k)if(T.trim())try{y(T,{controller:h,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>i,appendReasoningContent:O=>i+=O,isReasoningComplete:()=>c,setReasoningComplete:O=>c=O})}catch(O){this.logger?.error("Error processing line:",T,O),h.enqueue(n.encode(T+`
|
|
205
|
+
`))}}}catch(C){this.logger?.error("Stream error:",C),h.error(C)}finally{try{m.releaseLock()}catch(C){this.logger?.error("Error releasing reader lock:",C)}h.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Vu=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e,r,n){return this.enable?(e.reasoning?(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0):e.model&&String(e.model).startsWith("deepseek")&&(e.enable_thinking=!0),Mu(e,r,n),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e,r){if(!this.enable)return e;let n=Bu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return o.choices[0]?.message.reasoning_content&&(o.thinking={content:o.choices[0]?.message.reasoning_content}),n&&bs({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=new TextEncoder,s="",i=!1,c=n?ju():null;return ze(e,(f,d)=>{let{controller:h,encoder:m}=d;if(f.startsWith("data: ")&&f.trim()!=="data: [DONE]")try{let S=JSON.parse(f.slice(6)),b=S.choices?.[0]?.delta;if(!b){h.enqueue(m.encode(f+`
|
|
206
|
+
`));return}if(b.reasoning_content){s+=typeof b.reasoning_content=="string"?b.reasoning_content:JSON.stringify(b.reasoning_content),c&&Cs(c,b);let y={...S,choices:[{...S.choices[0],delta:{...b,thinking:{content:b.reasoning_content}}}]};delete y.choices[0].delta.reasoning_content;let C=`data: ${JSON.stringify(y)}
|
|
195
207
|
|
|
196
|
-
`;
|
|
208
|
+
`;h.enqueue(m.encode(C));return}if(c&&Cs(c,b),(b.content||b.tool_calls)&&s&&!i){i=!0;let y=Date.now().toString(),C={...S,choices:[{...S.choices[0],delta:{...S.choices[0].delta,content:null,thinking:{content:s,signature:y}}}]};delete C.choices[0].delta.reasoning_content;let _=`data: ${JSON.stringify(C)}
|
|
197
209
|
|
|
198
|
-
`;
|
|
210
|
+
`;h.enqueue(m.encode(_))}if(b.reasoning_content&&delete S.choices[0].delta.reasoning_content,S.choices?.[0]?.delta&&Object.keys(S.choices[0].delta).length>0){i&&S.choices[0].index++;let y=`data: ${JSON.stringify(S)}
|
|
199
211
|
|
|
200
|
-
`;
|
|
201
|
-
`))}else
|
|
202
|
-
`))},{onComplete:()=>{
|
|
203
|
-
`):typeof
|
|
212
|
+
`;h.enqueue(m.encode(y))}}catch{h.enqueue(m.encode(f+`
|
|
213
|
+
`))}else h.enqueue(m.encode(f+`
|
|
214
|
+
`))},{onComplete:()=>{c&&bs(Uu(c),r)}})}return e}};var Ku=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Yu=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function ag(t){let e=t?.input_tokens||0,r=t?.cache_read_input_tokens||0,n=t?.cache_creation_input_tokens||0,o=t?.output_tokens||0;return{completion_tokens:o,prompt_tokens:e+r+n,prompt_tokens_details:{cached_tokens:r,cache_write_tokens:n},total_tokens:e+r+n+o}}function fS(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],i=Ka(s.role,{assistant:"assistant"}),c=[];if(s.role==="tool"){let u=s.content;Array.isArray(u)?u=u.filter(f=>f.type==="text").map(f=>f.text).join(`
|
|
215
|
+
`):typeof u=="object"&&u!==null&&(u=JSON.stringify(u)),c.push({type:"tool_result",tool_use_id:s.tool_call_id,content:u,...s.cache_control?{cache_control:s.cache_control}:{}})}else typeof s.content=="string"?c.push({type:"text",text:s.content,...s.cache_control?{cache_control:s.cache_control}:{}}):Array.isArray(s.content)&&(s.content.forEach(f=>{f.type==="text"&&c.push({type:"text",text:f.text||"",...f.cache_control?{cache_control:f.cache_control}:{}})}),Ya(s.content).forEach(f=>{c.push(Qa(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(u=>{c.push({type:"tool_use",id:u.id,name:u.function.name,input:JSON.parse(u.function.arguments||"{}")})});c.length>0&&e.push({role:i,content:c})}let n={anthropic_version:"vertex-2023-10-16",messages:Xa(e,"content"),max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(o=>{let s=Lo(o);return{name:s.name,description:s.description,input_schema:s.parameters,...o.cache_control?{cache_control:o.cache_control}:{}}})),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),Yn(n)}function hS(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(i=>i.type==="text"?{type:"text",text:i.text||""}:i.type==="image"&&i.source?{type:"image_url",image_url:{url:i.source.data},media_type:i.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(n.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?n.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(n.tool_choice=e.tool_choice.name)),n}async function Xu(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json(),o;n.tool_use&&n.tool_use.length>0&&(o=n.tool_use.map(i=>({id:i.id,type:"function",function:{name:i.name,arguments:JSON.stringify(i.input)}})));let s={id:n.id,choices:[{finish_reason:n.stop_reason||null,index:0,message:{content:n.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.model,object:"chat.completion",usage:ag(n.usage)};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n={};return ze(t,(s,i)=>{let{controller:c,encoder:u}=i;if(s.startsWith("data: ")){let f=s.slice(6).trim();if(f){r?.debug({chunkStr:f},`${e} chunk:`);try{let d=JSON.parse(f);if(d.type==="message_start"){n=d.message?.usage||d.usage||{};let h={choices:[],created:parseInt(new Date().getTime()/1e3+"",10),id:d.message?.id||d.id||"",model:d.message?.model||d.model||"",object:"chat.completion.chunk",usage:ag(n)};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
204
216
|
|
|
205
|
-
`))}else if(
|
|
217
|
+
`))}else if(d.type==="content_block_delta"&&d.delta?.type==="text_delta"){let h={choices:[{delta:{role:"assistant",content:d.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
206
218
|
|
|
207
|
-
`))}else if(
|
|
219
|
+
`))}else if(d.type==="content_block_delta"&&d.delta?.type==="input_json_delta"){let h={choices:[{delta:{tool_calls:[{index:d.index||0,function:{arguments:d.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
208
220
|
|
|
209
|
-
`))}else if(
|
|
221
|
+
`))}else if(d.type==="content_block_delta"&&d.delta?.type==="thinking_delta"){let h={choices:[{delta:{thinking:{content:d.delta.thinking||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
210
222
|
|
|
211
|
-
`))}else if(
|
|
223
|
+
`))}else if(d.type==="content_block_delta"&&d.delta?.type==="signature_delta"){let h={choices:[{delta:{thinking:{signature:d.delta.signature||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
212
224
|
|
|
213
|
-
`))}else if(
|
|
225
|
+
`))}else if(d.type==="content_block_start"&&d.content_block?.type==="tool_use"){let h={choices:[{delta:{tool_calls:[{index:d.index||0,id:d.content_block.id,type:"function",function:{name:d.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
214
226
|
|
|
215
|
-
`))}else if(
|
|
227
|
+
`))}else if(d.type==="message_delta"){let h={choices:[{delta:{},finish_reason:d.delta?.stop_reason==="tool_use"?"tool_calls":d.delta?.stop_reason==="max_tokens"?"length":d.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:ag({...n,...d.usage})};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
216
228
|
|
|
217
|
-
`))
|
|
229
|
+
`))}else if(d.type==="message_stop")c.enqueue(u.encode(`data: [DONE]
|
|
218
230
|
|
|
219
|
-
`))
|
|
231
|
+
`));else{let h={choices:[{delta:{role:"assistant",content:d.content?.[0]?.text||""},finish_reason:d.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
|
|
232
|
+
|
|
233
|
+
`))}}catch(d){r?.error(`Error parsing ${e} stream chunk`,f,d.message)}}}})}return t}async function iP(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>st(Du(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
220
234
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
221
235
|
2. Run "gcloud auth application-default login"
|
|
222
|
-
3. Use Google Cloud environment with default service account`)}}var
|
|
223
|
-
`)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new
|
|
224
|
-
`);for(let
|
|
225
|
-
`))},
|
|
236
|
+
3. Use Google Cloud environment with default service account`)}}var Qu=class{logger;name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),u=JSON.parse(c);u&&u.project_id&&(n=u.project_id)}catch(i){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",i)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await iP(this.logger);return{body:fS(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return hS(e)}async transformResponseOut(e){return Xu(e,this.name,this.logger)}};var pS=st(Du(),1);var Zu=class{static TransformerName="vertex-openai";client;client_email;private_key;constructor(e={}){this.client_email=e.client_email,this.private_key=e.private_key?.replace(/\\n/g,`
|
|
237
|
+
`)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new pS.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],credentials:{client_email:this.client_email,private_key:this.private_key}});return this.client=await e.getClient(),this.client}async transformRequestIn(e){let r=await this.getClient(),{token:n}=await r.getAccessToken();if(!n)throw new Error("Failed to get access token");return{body:{...e,messages:Je(e.messages),tools:Ve(e.tools)},config:{headers:{Authorization:`Bearer ${n}`}}}}};var el=class{name="cerebras";async transformRequestIn(e,r,n){let o=JSON.parse(JSON.stringify(e));o.messages=Je(o.messages),o.tools=Ve(o.tools);let s=Zt(n,e);return s&&(o.prompt_cache_key=s),o.reasoning?delete o.reasoning:o.disable_reasoning=!1,{body:o,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var tl=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var rl=class{name="OpenAI";endPoint="/v1/chat/completions";async transformRequestIn(e,r,n){return $a(e,r,n)}};var nl=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var ol=class{constructor(e){this.options=e}static TransformerName="vercel";logger;endPoint="/v1/chat/completions";async transformRequestIn(e,r,n){e={...e,messages:Je(e.messages),tools:Ve(e.tools)},e.messages.forEach(s=>{Array.isArray(s.content)&&s.content.forEach(i=>{i.type==="image_url"&&(i.image_url.url.startsWith("http")||(i.image_url.url=`data:${i.media_type};base64,${i.image_url.url}`),delete i.media_type)})}),Object.assign(e,this.options||{});let o=e.providerOptions||{};return e.providerOptions={...o,gateway:{...o.gateway||{},caching:"auto"}},e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",i=!1,c=!1,u="",f=new ReadableStream({start:async d=>{let h=e.body.getReader(),m=(b,y,C)=>{let _=b.split(`
|
|
238
|
+
`);for(let R of _)R.trim()&&y.enqueue(C.encode(R+`
|
|
239
|
+
`))},S=(b,y)=>{let{controller:C,encoder:_}=y;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let R=b.slice(6);try{let k=JSON.parse(R);if(k.usage&&(this.logger?.debug({usage:k.usage,hasToolCall:c},"usage"),k.choices[0].finish_reason=c?"tool_calls":"stop"),k.choices?.[0]?.finish_reason==="error"&&C.enqueue(_.encode(`data: ${JSON.stringify({error:k.choices?.[0].error})}
|
|
226
240
|
|
|
227
|
-
`)),k.choices?.[0]?.delta?.content&&!
|
|
241
|
+
`)),k.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),k.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(k.choices[0].delta.reasoning);let O={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,thinking:{content:k.choices[0].delta.reasoning}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let D=`data: ${JSON.stringify(O)}
|
|
228
242
|
|
|
229
|
-
`;
|
|
243
|
+
`;C.enqueue(_.encode(D));return}if(k.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let O=Date.now().toString(),D={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:O}}}]};D.choices?.[0]?.delta&&delete D.choices[0].delta.reasoning;let M=`data: ${JSON.stringify(D)}
|
|
230
244
|
|
|
231
|
-
`;
|
|
245
|
+
`;C.enqueue(_.encode(M))}k.choices?.[0]?.delta?.reasoning&&delete k.choices[0].delta.reasoning,k.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(k.choices?.[0]?.delta?.tool_calls[0].id,10))&&k.choices?.[0]?.delta?.tool_calls.forEach(O=>{O.id=`call_${pr()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),k.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof k.choices[0].index=="number"?k.choices[0].index+=1:k.choices[0].index=1);let T=`data: ${JSON.stringify(k)}
|
|
232
246
|
|
|
233
|
-
`;
|
|
234
|
-
`))}}else
|
|
235
|
-
`))};try{for(;;){let{done:
|
|
236
|
-
`);
|
|
237
|
-
`))}continue}let
|
|
238
|
-
`);
|
|
239
|
-
`))}}}catch(g){this.logger?.error("Stream error:",g),d.error(g)}finally{try{p.releaseLock()}catch(g){this.logger?.error("Error releasing reader lock:",g)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};function Fu(t){let e=[];for(let r=0;r<t.length;r++){let n={...t[r]};if(n.role==="assistant"&&n.tool_calls){let o=[],s=[],a=[],u=r+1;for(;u<t.length&&t[u].role==="tool";)a.push(t[u]),u++;n.tool_calls.forEach(c=>{a.some(d=>d.tool_call_id===c.id)?o.push(c):s.push(c.id)}),o.length>0?n.tool_calls=o:delete n.tool_calls,(n.content||n.tool_calls)&&e.push(n)}else if(n.role==="tool"){let o=!1;if(r>0){let s=t[r-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(a=>a.id===n.tool_call_id);else if(s.role==="tool"){for(let a=r-1;a>=0;a--)if(t[a].role!=="tool"){t[a].role==="assistant"&&t[a].tool_calls&&(o=t[a].tool_calls.some(u=>u.id===n.tool_call_id));break}}}o&&e.push(n)}else e.push(n)}return e}function Pu(t,e){return t.map(r=>r.role==="system"&&e.includes("claude")&&Array.isArray(r.content)?{...r,content:r.content.map(n=>({...n,cache_control:{type:"ephemeral"}}))}:r)}var Iu=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=e.model||"",n=Fu(e.messages);n=Pu(n,r),e.messages=n;let o=[],s=!1,a=e.messages.filter(u=>u.role==="system");if(a.length>0){let u=a[0];Array.isArray(u.content)?u.content.forEach(c=>{let f="";typeof c=="string"?f=c:c&&typeof c=="object"&&"text"in c&&(f=c.text),o.push({role:"system",content:f})}):e.instructions=u.content}if(e.messages.forEach(u=>{if(u.role!=="system"){if(Array.isArray(u.content)){let c=u.content.map(f=>this.normalizeRequestContent(f,u.role)).filter(f=>f!==null);c.length>0?u.content=c:delete u.content}if(u.role==="tool"){let c={...u};c.type="function_call_output",c.call_id=u.tool_call_id,c.output=u.content,delete c.cache_control,delete c.role,delete c.tool_call_id,delete c.content,o.push(c),s=!0;return}if(u.role==="assistant"&&Array.isArray(u.tool_calls)){let c=u.content&&(typeof u.content=="string"||Array.isArray(u.content)&&u.content.length>0);s=!1,u.tool_calls.forEach(f=>{o.push({type:"function_call",arguments:f.function.arguments,name:f.function.name,call_id:f.id})});return}s&&u.role==="user"&&o.push({role:"assistant",content:""}),s=!1,o.push(u)}}),e.input=o,delete e.messages,Array.isArray(e.tools)){let u=e.tools.find(c=>c.function.name==="web_search");e.tools=e.tools.filter(c=>c.function.name!=="web_search").map(c=>(c.function.name==="WebSearch"&&delete c.function.parameters.properties.allowed_domains,c.function.name==="Edit"?{type:c.type,name:c.function.name,description:c.function.description,parameters:{...c.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:c.type,name:c.function.name,description:c.function.description,parameters:c.function.parameters})),u&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=!1,o=-1,s="",a=c=>(c!==s&&(o++,s=c),o),u=this;return qe(e,(c,f)=>{if(c.trim()&&!c.startsWith("event: "))if(c.startsWith("data: ")){let d=c.slice(5).trim();if(d==="[DONE]"){n=!0,f.controller.enqueue(Me("[DONE]",f.encoder));return}try{let p=JSON.parse(d),y=u.convertStreamEvent(p,a);y&&f.controller.enqueue(Me(JSON.stringify(y),f.encoder))}catch{f.controller.enqueue(Te(c,f.encoder))}}else f.controller.enqueue(Te(c,f.encoder))})}return e}convertStreamEvent(e,r){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let n=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&n.push({type:"text",text:s.text||""})});let o={role:"assistant"};return n.length===1&&n[0].type==="text"?o.content=n[0].text:n.length>0&&(o.content=n),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let n=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:n}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,r){let n=hu(e);if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(c=>c.type==="message"),n=e.output?.find(c=>c.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(c=>({type:"url_citation",url_citation:{url:c.url||"",title:c.title||"",content:"",start_index:c.start_index||0,end_index:c.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(r&&r.reasoning&&(u={content:r.reasoning}),r&&r.content){let c=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")c.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];c.length>0&&d.push({type:"text",text:c.join("")}),d.push(...f),s=d}else s=c.join("")}return n&&(a=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:u,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var U0=require("crypto");var Fr=require("fs"),Id=require("path"),Nd=require("os"),Pd=(0,Id.join)((0,Nd.homedir)(),".claude-code-router","codex_auth.json"),j0={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"};function hv(){try{if(!(0,Fr.existsSync)(Pd))return null;let t=(0,Fr.readFileSync)(Pd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function pv(t){let e=(0,Id.join)((0,Nd.homedir)(),".claude-code-router");(0,Fr.existsSync)(e)||(0,Fr.mkdirSync)(e,{recursive:!0}),(0,Fr.writeFileSync)(Pd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function gv(t,e=30){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function mv(t){let e=await fetch(j0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:j0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),account_id:r.account_id,last_refresh:Date.now()/1e3}}async function Bd(){let t=hv();if(!t)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");if(gv(t)){if(!t.refresh_token)throw new Error("Codex OAuth token expired and no refresh token available. Run `ccr codex-auth` to re-authenticate.");t=await mv(t.refresh_token),pv(t)}return t}var M0=new Map,L0="x-codex-turn-metadata",yv="x-codex-window-id",_v="x-codex-parent-thread-id",bv="session_id",Cv="thread_id",wv="turn_id",Ev="window_id";function kv(t){return{session_id:t,thread_id:t,turn_id:(0,U0.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function Sv(t){return{[bv]:t.session_id,[Cv]:t.thread_id,[wv]:t.turn_id,[Ev]:t.window_id,[L0]:JSON.stringify(t)}}function Av(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function Tv(t){return{[yv]:t.window_id,[L0]:JSON.stringify(t),[_v]:t.thread_id}}function Dv(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let r=e.split("_session_");if(r.length>1&&r[1])return r[1];try{let n=JSON.parse(e);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}}function vv(t,e){return t?.req?.sessionId||Dv(e)}function Rv(t,e,r){if(!r)return;let n=kv(r);t.client_metadata=Av(t.client_metadata,Sv(n)),Object.assign(e,Tv(n))}var Nu=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,r,n){let o=n?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,a=typeof s=="string"&&s.startsWith("at-"),u,c,f=!1;if(a){u=s;let k=await this.resolvePatAuth(s);c=k.accountId,f=k.isFedramp}else{let k=await Bd();u=k.access_token,c=k.account_id}delete e.temperature,delete e.max_tokens;let d=e.reasoning?.effort||r?.reasoningEffort;if(d){let k={effort:d},w=["auto","detailed","none"],T=r?.reasoningSummary;T&&w.includes(T)?T!=="none"&&(k.summary=T):k.summary="detailed",e.reasoning=k}else delete e.reasoning;let p=["low","medium","high"];r?.verbosity&&p.includes(r.verbosity)&&(e.verbosity=r.verbosity);let y=e.model||"",A=Fu(e.messages);A=Pu(A,y),e.messages=A;let g=[],_=!1,b=e.messages.filter(k=>k.role==="system");if(b.length>0){let k=b[0],w="";Array.isArray(k.content)?w=k.content.map(T=>typeof T=="string"?T:T&&typeof T=="object"&&"text"in T?T.text:"").filter(Boolean).join(`
|
|
240
|
-
`):
|
|
247
|
+
`;C.enqueue(_.encode(T))}catch{C.enqueue(_.encode(b+`
|
|
248
|
+
`))}}else C.enqueue(_.encode(b+`
|
|
249
|
+
`))};try{for(;;){let{done:b,value:y}=await h.read();if(b){u.trim()&&m(u,d,n);break}if(!y||y.length===0)continue;let C;try{C=r.decode(y,{stream:!0})}catch(R){this.logger?.warn("Failed to decode chunk",R);continue}if(C.length===0)continue;if(u+=C,u.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let R=u.split(`
|
|
250
|
+
`);u=R.pop()||"";for(let k of R)if(k.trim())try{S(k,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:T=>o=T,reasoningContent:()=>s,appendReasoningContent:T=>s+=T,isReasoningComplete:()=>i,setReasoningComplete:T=>i=T})}catch(T){this.logger?.error("Error processing line:",k,T),d.enqueue(n.encode(k+`
|
|
251
|
+
`))}continue}let _=u.split(`
|
|
252
|
+
`);u=_.pop()||"";for(let R of _)if(R.trim())try{S(R,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:k=>o=k,reasoningContent:()=>s,appendReasoningContent:k=>s+=k,isReasoningComplete:()=>i,setReasoningComplete:k=>i=k})}catch(k){this.logger?.error("Error processing line:",R,k),d.enqueue(n.encode(R+`
|
|
253
|
+
`))}}}catch(b){this.logger?.error("Stream error:",b),d.error(b)}finally{try{h.releaseLock()}catch(b){this.logger?.error("Error releasing reader lock:",b)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var sl=class{logger;name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e,r,n){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let o=e.model||"";e=oi(e,r,n);let s=La(e.messages);e.messages=s;let i=[],c=!1,u=e.messages.filter(f=>f.role==="system");if(u.length>0){let f=u[0];Array.isArray(f.content)?f.content.forEach(d=>{let h="";typeof d=="string"?h=d:d&&typeof d=="object"&&"text"in d&&(h=d.text),i.push({role:"system",content:[{type:"input_text",text:h,...qa(d,o)}]})}):e.instructions=f.content}if(e.messages.forEach(f=>{if(f.role!=="system"){if(Array.isArray(f.content)){let d=f.content.map(h=>this.normalizeRequestContent(h,f.role,o)).filter(h=>h!==null);d.length>0?f.content=d:delete f.content}if(f.role==="tool"){let d={...f};d.type="function_call_output",d.call_id=f.tool_call_id,d.output=f.content,delete d.cache_control,delete d.role,delete d.tool_call_id,delete d.content,i.push(d),c=!0;return}if(f.role==="assistant"&&Array.isArray(f.tool_calls)){let d=f.content&&(typeof f.content=="string"||Array.isArray(f.content)&&f.content.length>0);c=!1,f.tool_calls.forEach(h=>{i.push({type:"function_call",arguments:h.function.arguments,name:h.function.name,call_id:h.id})});return}c&&f.role==="user"&&i.push({role:"assistant",content:""}),c=!1,i.push(f)}}),e.input=i,delete e.messages,Array.isArray(e.tools)){let f=e.tools.find(d=>d.function.name==="web_search");e.tools=e.tools.filter(d=>d.function.name!=="web_search").map(d=>(d.function.name==="WebSearch"&&delete d.function.parameters.properties.allowed_domains,d.function.name==="Edit"?{type:d.type,name:d.function.name,description:d.function.description,parameters:{...d.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:d.type,name:d.function.name,description:d.function.description,parameters:d.function.parameters})),f&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=!1,o=-1,s="",i=u=>(u!==s&&(o++,s=u),o),c=this;return ze(e,(u,f)=>{if(u.trim()&&!u.startsWith("event: "))if(u.startsWith("data: ")){let d=u.slice(5).trim();if(d==="[DONE]"){n=!0,f.controller.enqueue(Me("[DONE]",f.encoder));return}try{let h=JSON.parse(d),m=c.convertStreamEvent(h,i);m&&f.controller.enqueue(Me(JSON.stringify(m),f.encoder))}catch{f.controller.enqueue(xe(u,f.encoder))}}else f.controller.enqueue(xe(u,f.encoder))})}return e}convertStreamEvent(e,r){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let n=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&n.push({type:"text",text:s.text||""})});let o={role:"assistant"};return n.length===1&&n[0].type==="text"?o.content=n[0].text:n.length>0&&(o.content=n),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let n=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:n}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.response.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.response.usage.input_tokens_details?.cache_write_tokens||0}}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,r,n){if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text,...qa(e,n)};if(e.type==="image_url"){this.logger?.debug(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),{...o,...qa(e,n)}}return null}convertResponseToChat(e){let r=e.output?.find(u=>u.type==="message"),n=e.output?.find(u=>u.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(u=>({type:"url_citation",url_citation:{url:u.url||"",title:u.title||"",content:"",start_index:u.start_index||0,end_index:u.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,i=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let u=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")u.push(d.text||"");else if(d.type==="output_image"){let h=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});h&&f.push(h)}else if(d.type==="output_image_base64"){let h=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});h&&f.push(h)}}),f.length>0){let d=[];u.length>0&&d.push({type:"text",text:u.join("")}),d.push(...f),s=d}else s=u.join("")}return n&&(i=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:i,thinking:c,annotations:o},logprobs:null,finish_reason:i?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.usage.input_tokens_details?.cache_write_tokens||0}}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var CS=require("crypto"),wS=require("child_process"),Zr=require("os");var He=require("fs"),al=require("path"),gS=require("os"),aP=(0,al.join)((0,gS.homedir)(),".claude-code-router","codex_auth.json"),cP=300,uP=11520*60,lP=2*6e4,dP=35e3,mS={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},il=null;function dg(){return process.env.CCR_CODEX_AUTH_FILE||aP}function ug(){return`${dg()}.refresh.lock`}function fP(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||mS.token_endpoint}function fg(t){if(!t)return null;let e=t.split(".");if(e.length!==3||!e[1])return null;try{return JSON.parse(Buffer.from(e[1],"base64url").toString("utf8"))}catch{return null}}function cl(t){let e=t.account_id?.trim();return e||fg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function hP(t){return fg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function yS(t){let e=fg(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function ul(t){let e=cl(t),r=yS(t);return{...t,...e?{account_id:e}:{},...r?{expires_at:r}:{}}}function lg(){try{let t=dg();if(!(0,He.existsSync)(t))return null;let e=JSON.parse((0,He.readFileSync)(t,"utf8"));return e.access_token?ul(e):null}catch{return null}}function pP(t){let e=dg();(0,He.mkdirSync)((0,al.dirname)(e),{recursive:!0});let r=ul(t),n=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,He.writeFileSync)(n,JSON.stringify(r,null,2),{mode:384,encoding:"utf8"}),(0,He.renameSync)(n,e)}finally{try{(0,He.existsSync)(n)&&(0,He.unlinkSync)(n)}catch{}}}function _S(t,e=cP){let r=yS(t);return r?Date.now()/1e3+e>=r:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+uP)}function cg(t,e){let r=cl(e);if(t&&t!==r)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function gP(t){try{let e=JSON.parse(t),r=e?.error?.code||e?.error,n=e?.error?.message||e?.error_description;return[r,n].filter(o=>typeof o=="string").join(": ")}catch{return t.slice(0,240).replace(/(access_token|refresh_token|id_token)["']?\s*[:=]\s*["']?[^"',\s}]+/gi,"$1=<redacted>")}}async function mP(t){if(!t.refresh_token)throw new Error("Codex OAuth token cannot be refreshed because no refresh token is available. Run `ccr codex-auth` again.");let e=await fetch(fP(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:mS.client_id,grant_type:"refresh_token",refresh_token:t.refresh_token}),signal:AbortSignal.timeout(3e4)}),r=await e.text();if(!e.ok)throw new Error(`Codex OAuth token refresh failed (${e.status}): ${gP(r)}`);let n=JSON.parse(r);if(typeof n.access_token!="string"||!n.access_token)throw new Error("Codex OAuth token refresh response did not include an access token.");let o=Date.now()/1e3;return ul({...t,access_token:n.access_token,refresh_token:n.refresh_token||t.refresh_token,id_token:n.id_token||t.id_token,token_type:n.token_type||t.token_type||"Bearer",scope:n.scope||t.scope,expires_at:n.expires_at||o+(typeof n.expires_in=="number"?n.expires_in:3600),account_id:n.account_id||t.account_id,last_refresh:o})}function yP(){let t=ug();try{return(0,He.openSync)(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-(0,He.statSync)(t).mtimeMs>lP&&(0,He.unlinkSync)(t)}catch{}return null}}async function _P(t){let e=Date.now()+dP,r=null;for(;r===null&&(r=yP(),r===null);){if(Date.now()>=e)throw new Error("Timed out waiting for another CCR process to refresh Codex OAuth credentials.");await new Promise(n=>setTimeout(n,50))}try{return await t()}finally{let n=(0,He.fstatSync)(r).ino;(0,He.closeSync)(r);try{(0,He.statSync)(ug()).ino===n&&(0,He.unlinkSync)(ug())}catch{}}}async function bP(t,e){return _P(async()=>{let r=lg();if(!r)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");cg(e.expectedAccountId,r);let n=e.previousAccessToken||t.access_token;if(r.access_token!==n||!e.force&&!_S(r))return r;let o=await mP(r);cg(e.expectedAccountId,o);let s=lg();return s&&s.access_token!==r.access_token?(cg(e.expectedAccountId,s),s):(pP(o),o)})}async function hg(t={}){let e=lg();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!_S(e)?e:(il||(il=bP(e,{...t,expectedAccountId:t.expectedAccountId||cl(e)}).finally(()=>{il=null})),il)}function pg(t){let e=ul(t);return{mode:"oauth",token:e.access_token,accountId:cl(e),isFedramp:hP(e)}}var CP=300*1e3,ll=new Map,gg=new Map,kS="0.145.0",SS="codex_cli_rs",ES="x-codex-turn-metadata",wP="x-codex-window-id",kP="x-codex-parent-thread-id",SP="session_id",EP="thread_id",AP="turn_id",TP="window_id";function vP(){switch((0,Zr.platform)()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return(0,Zr.platform)()||"unknown"}}function RP(){switch((0,Zr.arch)()){case"x64":return"x86_64";case"arm64":return"arm64";default:return(0,Zr.arch)()||"unknown"}}function DP(){if((0,Zr.platform)()==="darwin")try{return(0,wS.execFileSync)("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return(0,Zr.release)()||"unknown"}function xP(){return`${SS}/${kS} (${vP()} ${DP()}; ${RP()})`}function bS(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",kS),e.toString()}function OP(t){return{session_id:t,thread_id:t,turn_id:(0,CS.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function PP(t){return{[SP]:t.session_id,[EP]:t.thread_id,[AP]:t.turn_id,[TP]:t.window_id,[ES]:JSON.stringify(t)}}function FP(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function IP(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[wP]:t.window_id,[ES]:JSON.stringify(t),[kP]:t.thread_id}}function NP(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let r=e.split("_session_");if(r.length>1&&r[1])return r[1];try{let n=JSON.parse(e);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}}function MP(t,e){return t?.req?.sessionId||NP(e)}function BP(t,e,r){if(!r)return;let n=OP(r);t.client_metadata=FP(t.client_metadata,PP(n)),Object.assign(e,IP(n))}var dl=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,r,n){let o=n?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=await this.resolveAuth(r);delete e.temperature,delete e.max_tokens;let i=e.reasoning?.effort||r?.reasoningEffort;if(i){let b={effort:i},y=["auto","detailed","none"],C=r?.reasoningSummary;C&&y.includes(C)?C!=="none"&&(b.summary=C):b.summary="detailed",e.reasoning=b}else delete e.reasoning;let c=["low","medium","high"];r?.verbosity&&c.includes(r.verbosity)&&(e.verbosity=r.verbosity),e=ff(e,n);let u=La(e.messages);e.messages=u;let f=[],d=!1,h=e.messages.filter(b=>b.role==="system");if(h.length>0){let b=h[0],y="";Array.isArray(b.content)?y=b.content.map(C=>typeof C=="string"?C:C&&typeof C=="object"&&"text"in C?C.text:"").filter(Boolean).join(`
|
|
254
|
+
`):y=b.content,y&&(e.instructions=y)}if(e.instructions||(e.instructions=""),e.messages.forEach(b=>{if(b.role!=="system"){if(Array.isArray(b.content)){let y=b.content.map(C=>this.normalizeRequestContent(C,b.role)).filter(C=>C!==null);y.length>0?b.content=y:delete b.content}if(b.role==="tool"){let y={...b};y.type="function_call_output",y.call_id=b.tool_call_id,y.output=b.content,delete y.cache_control,delete y.role,delete y.tool_call_id,delete y.content,f.push(y),d=!0;return}if(b.role==="assistant"&&Array.isArray(b.tool_calls)){d=!1,b.tool_calls.forEach(y=>{f.push({type:"function_call",arguments:y.function.arguments,name:y.function.name,call_id:y.id})});return}d&&b.role==="user"&&f.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),d=!1,typeof b.content=="string"?f.push({type:"message",role:b.role,content:[{type:b.role==="assistant"?"output_text":"input_text",text:b.content}]}):f.push({type:"message",role:b.role,content:b.content})}}),e.input=f,delete e.messages,e.store=!1,Array.isArray(e.tools)){let b=e.tools.find(y=>y.function.name==="web_search");e.tools=e.tools.filter(y=>y.function.name!=="web_search").map(y=>(y.function.name==="WebSearch"&&delete y.function.parameters.properties.allowed_domains,y.function.name==="Edit"?{type:y.type,name:y.function.name,description:y.function.description,parameters:{...y.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:y.type,name:y.function.name,description:y.function.description,parameters:y.function.parameters})),b&&e.tools.push({type:"web_search"})}e.parallel_tool_calls=r?.parallelToolCalls===!0,e.stream=!0;let m=this.buildAuthHeaders(s);BP(e,m,e.prompt_cache_key||MP(n,e));let S=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:bS(`${S}/responses`),headers:m,__authRecovery:()=>this.recoverUnauthorizedAuth(r,s)}}}async auth(e,r){let n=await this.resolveAuth(r),o=this.buildAuthHeaders(n),s=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:bS(`${s}/responses`),headers:o,__authRecovery:()=>this.recoverUnauthorizedAuth(r,n)}}}async resolveAuth(e){let r=typeof e?.apiKey=="string"?e.apiKey.trim():e?.apiKey;return typeof r=="string"&&r.startsWith("at-")?this.resolvePatAuth(r):pg(await hg())}buildAuthHeaders(e){let r={Authorization:`Bearer ${e.token}`,originator:SS,"User-Agent":xP()};return e.accountId&&(r["ChatGPT-Account-ID"]=e.accountId),e.isFedramp&&(r["X-OpenAI-Fedramp"]="true"),r}async recoverUnauthorizedAuth(e,r){if(r.mode==="pat")return ll.delete(r.token),null;let n=typeof e?.apiKey=="string"?e.apiKey.trim():e?.apiKey;if(typeof n=="string"&&n.startsWith("at-"))return null;let o=await hg({force:!0,previousAccessToken:r.token,expectedAccountId:r.accountId}),s=pg(o);if(r.accountId&&s.accountId&&r.accountId!==s.accountId)throw new Error("Codex OAuth account changed during unauthorized recovery.");return this.buildAuthHeaders(s)}async resolvePatAuth(e){let r=ll.get(e);if(r&&r.expiresAt>Date.now())return r.value;ll.delete(e);let n=gg.get(e);if(n)return n;let o=this.requestPatAuth(e).finally(()=>{gg.delete(e)});return gg.set(e,o),o}async requestPatAuth(e){let r=(process.env.CODEX_AUTHAPI_BASE_URL||"https://auth.openai.com/api/accounts").replace(/\/+$/,""),n=await fetch(`${r}/v1/user-auth-credential/whoami`,{headers:{Authorization:`Bearer ${e}`},signal:AbortSignal.timeout(15e3)});if(!n.ok)throw new Error(`Codex PAT metadata request failed (${n.status}). Verify that the configured at- token is valid and has Codex access.`);let o=await n.json();if(!o.chatgpt_account_id||!o.chatgpt_user_id||!o.chatgpt_plan_type)throw new Error("Codex PAT metadata response is missing required account, user, or plan information.");let s={mode:"pat",token:e,accountId:o.chatgpt_account_id,isFedramp:o.chatgpt_account_is_fedramp===!0};return ll.set(e,{value:s,expiresAt:Date.now()+CP}),s}async transformResponseOut(e,r){let n=e.headers.get("Content-Type")||"",o=this,s=r?.req?.id,i=s?this.streamIntent.get(s):void 0;try{return await this.transformResponseOutInner(e,n,o,s,i)}finally{s&&this.streamIntent.delete(s)}}async transformResponseOutInner(e,r,n,o,s){let i=o?s!==!1:!0,c,u=f=>f?(c=f,f):c;if(!r||r.includes("text/event-stream")){if(!e.body)return e;let f=await this.readBodyAndPeek(e.clone().body);if(f&&(f.firstChar==="{"||f.firstChar==="[")){let k;try{k=JSON.parse(f.text)}catch{return i?new Response(this.jsonToSseStream(f.text),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(f.text,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}let T=k?.object==="response"&&k.output?this.convertResponseToChat(k):k,O=JSON.stringify(T);return i?new Response(this.jsonToSseStream(O),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(O,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}if(!i)try{let k=await this.collectSseIntoChatCompletion(e,u);return new Response(JSON.stringify(k),{status:e.status,statusText:e.statusText,headers:{"Content-Type":"application/json"}})}catch(k){throw k}let d=!1,h=-1,m="",S=k=>(k!==m&&(h++,m=k),h),y=ze(e,(k,T)=>{if(k.trim()&&!k.startsWith("event: "))if(k.startsWith("data: ")){let O=k.slice(5).trim();if(O==="[DONE]"){d=!0,T.controller.enqueue(Me("[DONE]",T.encoder));return}try{let D=JSON.parse(O);D.response?.model&&(c=D.response.model);let M=n.convertStreamEvent(D,S,u);M&&T.controller.enqueue(Me(JSON.stringify(M),T.encoder))}catch{T.controller.enqueue(xe(k,T.encoder))}}else T.controller.enqueue(xe(k,T.encoder))}).body,C=!1,_=null,R=new ReadableStream({start(k){_=y.getReader();let T=W=>{if(!C)try{k.enqueue(W)}catch{C=!0}},O=()=>{if(!C)try{k.close()}catch{}},D=W=>{if(!C)try{k.error(W)}catch{}},M=()=>{C||!_||_.read().then(({done:W,value:$})=>{if(W){O();return}$&&T($),M()}).catch(W=>{C||D(W)})};M()},cancel(){if(C=!0,_)try{_.cancel().catch(()=>{})}catch{}}});return new Response(R,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else if(r.includes("application/json")){let f=await e.json();if(Array.isArray(f)){let d=new TextEncoder,h=-1,m="",S=y=>(y!==m&&(h++,m=y),h),b=new ReadableStream({start(y){for(let C of f){C?.response?.model&&(c=C.response.model);let _=n.convertStreamEvent(C,S,u);_&&y.enqueue(d.encode(`data: ${JSON.stringify(_)}
|
|
241
255
|
|
|
242
|
-
`))}
|
|
256
|
+
`))}y.enqueue(d.encode(`data: [DONE]
|
|
243
257
|
|
|
244
|
-
`)),
|
|
258
|
+
`)),y.close()}});return new Response(b,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream"}})}if(f.object==="response"&&f.output){let d=this.convertResponseToChat(f);return new Response(JSON.stringify(d),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return new Response(JSON.stringify(f),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return e}convertStreamEvent(e,r,n){let o=i=>n?n(i):i,s=i=>i||o(void 0);if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let i=[];(e.item.content||[]).forEach(u=>{u.type==="output_text"&&i.push({type:"text",text:u.text||""})});let c={role:"assistant"};return i.length===1&&i[0].type==="text"?c.content=i[0].text:i.length>0&&(c.content=i),c.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:c,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let i=e.response?.output?.some(u=>u.type==="function_call")?"tool_calls":"stop",c={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:0,delta:{},finish_reason:i}]};return e.response?.usage&&(c.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.response.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.response.usage.input_tokens_details?.cache_write_tokens||0}}),c}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:e.type==="response.output_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:e.type==="response.output_item.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:null}jsonToSseStream(e){let r=new TextEncoder,n;try{n=JSON.parse(e)}catch{n=null}let o=s=>r.encode(`data: ${JSON.stringify(s)}
|
|
245
259
|
|
|
246
|
-
`);return new ReadableStream({start(s){if(!n){s.close();return}let
|
|
260
|
+
`);return new ReadableStream({start(s){if(!n){s.close();return}let i={id:n.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:n.created||Math.floor(Date.now()/1e3),model:n.model||"unknown"},c=n.choices?.[0];if(c){let u=c.message||{};if(typeof u.content=="string"&&u.content&&s.enqueue(o({...i,choices:[{index:0,delta:{role:"assistant",content:u.content},finish_reason:null}]})),u.thinking?.content&&s.enqueue(o({...i,choices:[{index:0,delta:{thinking:{content:u.thinking.content}},finish_reason:null}]})),Array.isArray(u.tool_calls))for(let d of u.tool_calls)s.enqueue(o({...i,choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:0,id:d.id,type:"function",function:{name:d.function?.name||"",arguments:d.function?.arguments||""}}]},finish_reason:null}]}));let f={...i,choices:[{index:0,delta:{},finish_reason:c.finish_reason||"stop"}]};n.usage&&(f.usage={prompt_tokens:n.usage.prompt_tokens||0,completion_tokens:n.usage.completion_tokens||0,total_tokens:n.usage.total_tokens||0,...n.usage.prompt_tokens_details?{prompt_tokens_details:{...n.usage.prompt_tokens_details}}:{}}),s.enqueue(o(f))}s.enqueue(r.encode(`data: [DONE]
|
|
247
261
|
|
|
248
|
-
`)),s.close()}})}async readBodyAndPeek(e){let r=e.getReader(),n=new TextDecoder,o=()=>{try{r.releaseLock()}catch{}},s;try{s=await r.read()}catch(d){throw o(),d}if(s.done)return o(),null;let
|
|
249
|
-
`);s=
|
|
262
|
+
`)),s.close()}})}async readBodyAndPeek(e){let r=e.getReader(),n=new TextDecoder,o=()=>{try{r.releaseLock()}catch{}},s;try{s=await r.read()}catch(d){throw o(),d}if(s.done)return o(),null;let i=n.decode(s.value,{stream:!0}),u=i.trimStart().charAt(0)||"";if(u!=="{"&&u!=="[")return o(),null;let f=i;try{for(;;){let d=await r.read();if(d.done)break;f+=n.decode(d.value,{stream:!0})}}finally{f+=n.decode(),o()}return{firstChar:u,text:f}}async collectSseIntoChatCompletion(e,r){let n=e.body.getReader(),o=new TextDecoder,s="",i="unknown",c="chatcmpl-"+Date.now(),u=Math.floor(Date.now()/1e3),f="",d="",h=[],m=new Map,S=null,b,y=-1,C="",_=T=>(T!==C&&(y++,C=T),y),R=()=>{let T={role:"assistant"};d&&(T.thinking={content:d,signature:""});let O=Array.from(m.values());O.length&&(T.tool_calls=O),h.length&&(T.annotations=h),f?T.content=f:O.length===0&&!d?T.content=null:T.content=f||null;let D={index:0,message:T,logprobs:null,finish_reason:O.length?"tool_calls":S||"stop"};return{id:c,object:"chat.completion",created:u,model:i||"unknown",choices:[D],usage:b||null}},k=T=>{if(!T)return;T.id&&(c=T.id),T.model&&(i=T.model),T.created&&(u=T.created),T.usage&&(b=T.usage);let O=T.choices?.[0];if(!O)return;O.finish_reason&&(S=O.finish_reason);let D=O.delta||{};if(D.role,typeof D.content=="string"&&D.content&&(f+=D.content),D.thinking?.content&&(d+=D.thinking.content),D.thinking?.signature,Array.isArray(D.annotations))for(let M of D.annotations)h.push(M);if(Array.isArray(D.tool_calls))for(let M of D.tool_calls){let W=M.index??0,$=m.get(W)||{index:W,id:M.id,type:"function",function:{name:M.function?.name||"",arguments:""}};M.id&&($.id=M.id),M.function?.name&&($.function.name=M.function.name),typeof M.function?.arguments=="string"&&($.function.arguments=($.function.arguments||"")+M.function.arguments),m.set(W,$)}};for(;;){let{done:T,value:O}=await n.read();if(T)break;s+=o.decode(O,{stream:!0});let D=s.split(`
|
|
263
|
+
`);s=D.pop()||"";for(let M of D){if(!M.startsWith("data: "))continue;let W=M.slice(5).trim();if(!(!W||W==="[DONE]"))try{let $=JSON.parse(W);if($.response?.model){let K=r($.response.model);K&&(i=K)}let oe=this.convertStreamEvent($,_,r);k(oe)}catch{}}}return R()}normalizeRequestContent(e,r){if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(e);let n={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(n.image_url=e.image_url.url),n}return null}convertResponseToChat(e){let r=e.output?.find(u=>u.type==="message"),n=e.output?.find(u=>u.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(u=>({type:"url_citation",url_citation:{url:u.url||"",title:u.title||"",content:"",start_index:u.start_index||0,end_index:u.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,i=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let u=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")u.push(d.text||"");else if(d.type==="output_image"){let h=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});h&&f.push(h)}else if(d.type==="output_image_base64"){let h=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});h&&f.push(h)}}),f.length>0){let d=[];u.length>0&&d.push({type:"text",text:u.join("")}),d.push(...f),s=d}else s=u.join("")}return n&&(i=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:i,thinking:c,annotations:o},logprobs:null,finish_reason:i?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.usage.input_tokens_details?.cache_write_tokens||0}}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var en=require("fs"),yg=require("path"),_g=require("os"),mg=(0,yg.join)((0,_g.homedir)(),".claude-code-router","qwen_auth.json"),jP="https://qwen.aikit.club",UP=1e4,LP=120;function qP(){try{if(!(0,en.existsSync)(mg))return null;let t=JSON.parse((0,en.readFileSync)(mg,"utf-8"));return t.token?t:null}catch{return null}}function $P(t){let e=(0,yg.join)((0,_g.homedir)(),".claude-code-router");(0,en.existsSync)(e)||(0,en.mkdirSync)(e,{recursive:!0}),(0,en.writeFileSync)(mg,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function zP(t){try{let e=JSON.parse(Buffer.from(t.split(".")[1],"base64url").toString());if(e.exp)return e.exp*1e3}catch{}return null}async function HP(t){try{let e=await fetch(`${jP}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(UP)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function AS(){let t=qP();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+LP*1e3>=t.expiresAt){let e=await HP(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:zP(e),updatedAt:Date.now()},$P(t)}return t}var WP="https://qwen.aikit.club",TS=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,fl=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await AS();return{url:e?.api_base_url||e?.baseUrl||WP,headers:{Authorization:`Bearer ${r.token}`}}}async transformRequestIn(e,r){return{body:Xn(e),config:await this.buildAuthConfig(r)}}async auth(e,r){return{config:await this.buildAuthConfig(r)}}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(!r||r.includes("text/event-stream"))return e.body?ze(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(xe(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(xe(n,o.encoder));return}let i=s.replace(TS,"");o.controller.enqueue(xe(`data: ${i}`,o.encoder));return}o.controller.enqueue(xe(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace(TS,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var bg=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
|
|
250
264
|
|
|
251
265
|
Output format:
|
|
252
266
|
<reasoning_content>
|
|
253
267
|
Your detailed thinking process goes here
|
|
254
268
|
</reasoning_content>
|
|
255
|
-
Your final answer must follow after the closing tag above.`,
|
|
256
|
-
${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:
|
|
269
|
+
Your final answer must follow after the closing tag above.`,GP=10,hl=class{logger;name="forcereasoning";async transformRequestIn(e){let r=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||r<GP)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
|
|
270
|
+
${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:bg}):n.content=[{type:"text",text:bg},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:bg}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,i=o.choices[0]?.message.content.match(s);i&&i[1]&&(o.thinking={content:i[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,i=new TextEncoder,c=new ReadableStream({start:async u=>{let f=e.body.getReader(),d="",h="SEARCHING",m="",S="",b=(y,C)=>{if(typeof C!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,u.enqueue(i.encode(`data: ${JSON.stringify(y)}
|
|
257
271
|
|
|
258
|
-
`)));return}let m
|
|
272
|
+
`)));return}let _=m+C;for(m="";_.length>0;)if(h==="SEARCHING"){let R=_.indexOf(r);if(R!==-1)_=_.substring(R+r.length),h="REASONING";else{for(let k=r.length-1;k>0;k--)if(_.endsWith(r.substring(0,k))){m=_.substring(_.length-k);break}_=""}}else if(h==="REASONING"){let R=_.indexOf(n);if(R!==-1){let k=_.substring(0,R);if(k.length>0){let D={...y.choices[0].delta,thinking:{content:k}};delete D.content;let M={...y,choices:[{...y.choices[0],delta:D,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(M)}
|
|
259
273
|
|
|
260
|
-
`))}let
|
|
274
|
+
`))}let T={...y.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete T.content;let O={...y,choices:[{...y.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(O)}
|
|
261
275
|
|
|
262
|
-
`)),o++,
|
|
276
|
+
`)),o++,_=_.substring(R+n.length),h="FINAL"}else{let k=_;for(let T=n.length-1;T>0;T--)if(_.endsWith(n.substring(0,T))){m=_.substring(_.length-T),k=_.substring(0,_.length-T);break}if(k.length>0){let T={...y.choices[0].delta,thinking:{content:k}};delete T.content;let O={...y,choices:[{...y.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(O)}
|
|
263
277
|
|
|
264
|
-
`))}
|
|
278
|
+
`))}_=""}}else if(h==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))S+=_;else{let k=S+_,T={...y.choices[0].delta,content:k};T.thinking&&delete T.thinking;let O={...y,choices:[{...y.choices[0],delta:T}]};u.enqueue(i.encode(`data: ${JSON.stringify(O)}
|
|
265
279
|
|
|
266
|
-
`)),
|
|
267
|
-
`);d=
|
|
280
|
+
`)),S=""}o++,_=""}};try{for(;;){let{done:y,value:C}=await f.read();if(y)break;let _=s.decode(C,{stream:!0});d+=_;let R=d.split(`
|
|
281
|
+
`);d=R.pop()||"";for(let k of R)if(k.trim()){if(k.trim()==="data: [DONE]"){u.enqueue(i.encode(k+`
|
|
268
282
|
|
|
269
|
-
`));break}if(k.startsWith("data:"))try{let
|
|
270
|
-
`))}else
|
|
271
|
-
`))}}}catch(
|
|
283
|
+
`));break}if(k.startsWith("data:"))try{let T=JSON.parse(k.slice(5));b(T,T.choices?.[0]?.delta?.content)}catch{u.enqueue(i.encode(k+`
|
|
284
|
+
`))}else u.enqueue(i.encode(k+`
|
|
285
|
+
`))}}}catch(y){this.logger?.error("Stream error:",y),u.error(y)}finally{try{f.releaseLock()}catch(y){this.logger?.error("Error releasing reader lock:",y)}if(h==="REASONING"){let C={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};u.enqueue(i.encode(`data: ${JSON.stringify(C)}
|
|
272
286
|
|
|
273
|
-
`))}
|
|
287
|
+
`))}u.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var pl=class{name="extrathinktag";async transformRequestIn(e){return e}async transformResponseOut(e){let r="<think>",n="</think>";if(e.headers.get("Content-Type")?.includes("application/json"))try{let u=await e.json(),f=u?.choices?.[0]?.message?.content;if(typeof f=="string"){let d=f.match(/<think>([\s\S]*?)<\/think>/);d?.[1]&&(u.thinking={content:d[1]})}return new Response(JSON.stringify(u),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return e}if(!e.headers.get("Content-Type")?.includes("stream")||!e.body)return e;let o=new TextDecoder,s=new TextEncoder,i=0,c=new ReadableStream({async start(u){let f=e.body.getReader(),d="",h="SEARCHING",m="",S="",b=C=>{u.enqueue(s.encode(`data: ${JSON.stringify(C)}
|
|
274
288
|
|
|
275
|
-
`))},
|
|
276
|
-
`);d=
|
|
289
|
+
`))},y=(C,_)=>{if(typeof _!="string"&&C?.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0&&!C.choices[0].delta.content){C.choices[0].index=i,b(C);return}if(typeof _!="string")return;let R=m+_;for(m="";R.length>0;){if(h==="SEARCHING"){let k=R.indexOf(r);if(k!==-1){R=R.substring(k+r.length),h="THINKING";continue}for(let T=r.length-1;T>0;T--)if(R.endsWith(r.substring(0,T))){m=R.substring(R.length-T);break}R="";continue}if(h==="THINKING"){let k=R.indexOf(n);if(k!==-1){let O=R.substring(0,k);if(O.length>0){let M={...C.choices[0].delta,thinking:{content:O}};delete M.content,b({...C,choices:[{...C.choices[0],delta:M,index:i}]})}let D={...C.choices[0].delta,thinking:{signature:Date.now().toString()}};delete D.content,b({...C,choices:[{...C.choices[0],delta:D,index:i}]}),i++,R=R.substring(k+n.length),h="FINAL";continue}let T=R;for(let O=n.length-1;O>0;O--)if(R.endsWith(n.substring(0,O))){m=R.substring(R.length-O),T=R.substring(0,R.length-O);break}if(T.length>0){let O={...C.choices[0].delta,thinking:{content:T}};delete O.content,b({...C,choices:[{...C.choices[0],delta:O,index:i}]})}R="";continue}if(R.length>0)if(/^\s*$/.test(R))S+=R;else{let k=S+R,T={...C.choices[0].delta,content:k};T.thinking&&delete T.thinking,b({...C,choices:[{...C.choices[0],delta:T}]}),S=""}i++,R=""}};try{for(;;){let{done:C,value:_}=await f.read();if(C)break;d+=o.decode(_,{stream:!0});let R=d.split(`
|
|
290
|
+
`);d=R.pop()||"";for(let k of R)if(k.trim()){if(k.trim()==="data: [DONE]"){u.enqueue(s.encode(k+`
|
|
277
291
|
|
|
278
|
-
`));continue}if(k.startsWith("data:"))try{let
|
|
279
|
-
`))}else
|
|
280
|
-
`))}}}catch(
|
|
281
|
-
`)}}return e.cache_control&&delete e.cache_control,e}function Lv(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function qv(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var z0=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function H0(t){let e={...t};if(Array.isArray(e.messages)&&(e.messages=e.messages.map(r=>Uv(r))),e.stream===void 0&&(e.stream=!0),e.tool_choice&&(e.tool_choice=Lv(e.tool_choice)),Array.isArray(e.tools)&&(e.tools=e.tools.map(r=>r?.function?.parameters?{...r,function:{...r.function,parameters:Di(r.function.parameters)}}:r)),e.reasoning&&e.model){let r=e.model;(r.startsWith("magistral-")||r.startsWith("labs-leanstral-")||r==="mistral-vibe-cli-fast"||r.startsWith("mistral-small-")&&!z0.has(r)||r.startsWith("mistral-medium-")&&!z0.has(r))&&(e.reasoning_effort=qv(e.reasoning)),delete e.reasoning}return e}async function W0(t,e,r){let n=t.headers.get("Content-Type")??"";if(n.includes("application/json")){let o=await t.json();r?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let a=s.message,u="";if(a.reasoning_content){let c=a.reasoning_content;u+=typeof c=="string"?c:typeof c?.text=="string"?c.text:JSON.stringify(c),delete a.reasoning_content}if(Array.isArray(a.content)){let c="";for(let f of a.content)if(f.type==="thinking"){let d=Array.isArray(f.thinking)?f.thinking:[f.thinking];u+=d.map(p=>typeof p=="string"?p:p&&typeof p.text=="string"?p.text:JSON.stringify(p)).join("")}else f.type==="text"&&(c+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));a.content=c}u&&(o.thinking={content:u})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(n.includes("stream"))return t.body?qe(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Te(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Te(o,s.encoder));return}try{let a=o.slice(5).trim(),u=JSON.parse(a),c=u.choices?.[0]?.delta;if(!c){s.controller.enqueue(Te(o,s.encoder));return}let f=Ro(c);if(f){let d=nn(u,{content:f});on(d.choices[0].delta);let p=c.content;if(Array.isArray(p)){let y="",A=p.filter(g=>g.type==="text").map(g=>typeof g.text=="string"?g.text:JSON.stringify(g.text??"")).join("");for(let g of p)if(g.type==="thinking"){let _=Array.isArray(g.thinking)?g.thinking:[g.thinking];y+=_.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete d.choices[0].delta.content,(y||f)&&(d.choices[0].delta.thinking={content:y||f}),A&&(d.choices[0].delta.content=A)}s.controller.enqueue(Me(JSON.stringify(d),s.encoder));return}if(Array.isArray(c.content)){let d="",p=c.content.filter(y=>y.type==="text").map(y=>typeof y.text=="string"?y.text:JSON.stringify(y.text??"")).join("");for(let y of c.content)if(y.type==="thinking"){let A=Array.isArray(y.thinking)?y.thinking:[y.thinking];d+=A.map(g=>typeof g=="string"?g:g&&typeof g.text=="string"?g.text:JSON.stringify(g)).join("")}delete c.content,d&&(c.thinking={content:d}),p&&(c.content=p)}s.controller.enqueue(Me(JSON.stringify(u),s.encoder))}catch{s.controller.enqueue(Te(o,s.encoder))}}):t;return t}var Uu=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:H0(e),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await W0(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var $v="http://127.0.0.1:3457",Lu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||$v;return n?.req?.body&&(n.req.body.stream=!0),{body:{...e,stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json"}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};var $u=require("crypto"),zv="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",qu=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,r,n){let o=n?.req?.sessionId||this.fingerprintConversation(e,n),s=this.getOrCreateSessionId(o),a=this.generateId("msg");return{body:e.body||e,config:{...e.config,headers:{...e.config?.headers,"x-api-key":r.apiKey||"","x-opencode-project":"global","x-opencode-session":s,"x-opencode-request":a,"x-opencode-client":"cli","user-agent":"opencode/1.17.1",authorization:void 0}}}}fingerprintConversation(e,r){let n=e.body||e,o=n.model||"",s=n.messages||[],a=JSON.stringify(s.slice(0,3)),u=r?.req?.headers?.["x-forwarded-for"]||r?.req?.ip||"",c=r?.req?.headers?.["user-agent"]||"";return(0,$u.createHash)("sha256").update(`${o}|${u}|${c}|${a}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let r=this.sessionCache.get(e);if(r)return r;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let n=this.generateId("ses");return this.sessionCache.set(e,n),n}generateId(e){let r=Date.now();r!==this.lastTimestamp&&(this.lastTimestamp=r,this.counter=0),this.counter++;let n=BigInt(r)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let u=0;u<6;u++)o[u]=Number(n>>BigInt(40-8*u)&BigInt(255));let s=(0,$u.randomBytes)(14),a="";for(let u=0;u<14;u++)a+=zv[s[u]%62];return`${e}_${o.toString("hex")}${a}`}};var Ir=require("fs"),$d=require("path"),zd=require("os"),qd=(0,$d.join)((0,zd.homedir)(),".claude-code-router","claude_auth.json"),G0={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function Hv(){try{if(!(0,Ir.existsSync)(qd))return null;let t=(0,Ir.readFileSync)(qd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function Wv(t){let e=(0,$d.join)((0,zd.homedir)(),".claude-code-router");(0,Ir.existsSync)(e)||(0,Ir.mkdirSync)(e,{recursive:!0}),(0,Ir.writeFileSync)(qd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function Gv(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function Jv(t){let e=await fetch(G0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:G0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),last_refresh:Date.now()/1e3}}async function J0(){let t=Hv();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(Gv(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await Jv(t.refresh_token),Wv(t)}return t}var Vv="oauth-2025-04-20";function Hd(t){return!t||typeof t!="object"?!1:Array.isArray(t)?t.some(e=>Hd(e)):t.cache_control?!0:Object.values(t).some(e=>Hd(e))}function Kv(...t){let e=new Set,r=[];for(let n of t)if(n)for(let o of n.split(",")){let s=o.trim();!s||e.has(s)||(e.add(s),r.push(s))}return r.join(",")}var zu=class{name="claude-auth";logger;async transformRequestIn(e,r){let n=await J0(),o=r?.api_base_url??r?.baseUrl??"https://api.anthropic.com",s=o.endsWith("/v1/messages")?o:`${o.replace(/\/$/,"")}/v1/messages`,a=new URL(s);a.searchParams.set("beta","true");let u=Zn.buildAnthropicBody(e,this.logger),c={Authorization:`Bearer ${n.access_token}`,"anthropic-version":"2023-06-01","Content-Type":"application/json","User-Agent":"claude-cli/2.1.195 (external, cli)"},f=e.thinking?.type==="enabled"||e.thinking?.type==="adaptive"||e.enable_thinking||e.anthropic_thinking,d=Hd(u),p=f||d?"interleaved-thinking-2025-05-14,effort-2025-11-24,prompt-caching-scope-2026-01-05":void 0;return c["anthropic-beta"]=Kv(p,Vv),{body:u,config:{url:a.toString(),headers:c}}}async transformResponseOut(e){return Su(e,this.name,this.logger)}};var _b=require("@cursor/sdk");var Yv=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function V0(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!Yv.test(e)&&!e.includes("$CURSOR_API_KEY")&&!e.includes("${"))return e;let r=process.env.CURSOR_API_KEY?.trim();if(r)return r;throw Object.assign(new Error("Cursor API key not found. Set Providers[].api_key to a crsr_ key, or export CURSOR_API_KEY."),{statusCode:401,code:"provider_response_error",type:"api_error"})}var K0=require("crypto"),Y0=require("os"),Wd=require("path"),Gd="cursor-sdk",Hu="bridge",Xv=(0,Wd.join)((0,Y0.homedir)(),".claude-code-router"),Wu=(0,Wd.join)(Xv,"cursor-sdk-workspaces"),X0=900*1e3,Jd=32,Q0=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],xs="custom-user-tools";function Z0(t){return(0,K0.createHash)("sha256").update(t.filter(Boolean).join(`
|
|
282
|
-
`)
|
|
283
|
-
`)
|
|
284
|
-
`)}function
|
|
285
|
-
`)}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
${
|
|
290
|
-
${
|
|
292
|
+
`));continue}if(k.startsWith("data:"))try{let T=JSON.parse(k.slice(5));y(T,T?.choices?.[0]?.delta?.content)}catch{u.enqueue(s.encode(k+`
|
|
293
|
+
`))}else u.enqueue(s.encode(k+`
|
|
294
|
+
`))}}}catch(C){console.error("Stream error:",C),u.error(C)}finally{try{f.releaseLock()}catch(C){console.error("Error releasing reader lock:",C)}h==="THINKING"&&b({choices:[{delta:{thinking:{signature:Date.now().toString()}}}]}),u.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}};function JP(t){let e={...t};if(Array.isArray(e.content)){let r=e.content,n=r.some(s=>s.type==="image_url"),o=r.some(s=>s.type==="thinking");if(n||o)e.content=r.map(s=>{if(s.type==="text"){let{cache_control:i,...c}=s;return c}return s});else{let s=r.filter(i=>i.type==="text").map(i=>i.text).filter(i=>i&&i.length>0);e.content=s.join(`
|
|
295
|
+
`)}}return e.cache_control&&delete e.cache_control,e}function VP(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function KP(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var vS=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function RS(t,e,r){let n={...t};Array.isArray(n.messages)&&(n.messages=n.messages.map(s=>JP(s))),n.stream===void 0&&(n.stream=!0);let o=Zt(e,t);if(o&&(n.prompt_cache_key=o),n.tool_choice&&(n.tool_choice=VP(n.tool_choice)),Array.isArray(n.tools)&&(n.tools=n.tools.map(s=>{let{cache_control:i,...c}=s;return c?.function?.parameters?{...c,function:{...c.function,parameters:Ga(c.function.parameters)}}:c})),n.reasoning&&n.model){let s=n.model;(s.startsWith("magistral-")||s.startsWith("labs-leanstral-")||s==="mistral-vibe-cli-fast"||s.startsWith("mistral-small-")&&!vS.has(s)||s.startsWith("mistral-medium-")&&!vS.has(s))&&(n.reasoning_effort=KP(n.reasoning)),delete n.reasoning}return n}async function DS(t,e,r){let n=t.headers.get("Content-Type")??"";if(n.includes("application/json")){let o=await t.json();r?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let i=s.message,c="";if(i.reasoning_content){let u=i.reasoning_content;c+=typeof u=="string"?u:typeof u?.text=="string"?u.text:JSON.stringify(u),delete i.reasoning_content}if(Array.isArray(i.content)){let u="";for(let f of i.content)if(f.type==="thinking"){let d=Array.isArray(f.thinking)?f.thinking:[f.thinking];c+=d.map(h=>typeof h=="string"?h:h&&typeof h.text=="string"?h.text:JSON.stringify(h)).join("")}else f.type==="text"&&(u+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));i.content=u}c&&(o.thinking={content:c})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(n.includes("stream"))return t.body?ze(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(xe(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(xe(o,s.encoder));return}try{let i=o.slice(5).trim(),c=JSON.parse(i),u=c.choices?.[0]?.delta;if(!u){s.controller.enqueue(xe(o,s.encoder));return}let f=_s(u);if(f){let d=xn(c,{content:f});On(d.choices[0].delta);let h=u.content;if(Array.isArray(h)){let m="",S=h.filter(b=>b.type==="text").map(b=>typeof b.text=="string"?b.text:JSON.stringify(b.text??"")).join("");for(let b of h)if(b.type==="thinking"){let y=Array.isArray(b.thinking)?b.thinking:[b.thinking];m+=y.map(C=>typeof C=="string"?C:C&&typeof C.text=="string"?C.text:JSON.stringify(C)).join("")}delete d.choices[0].delta.content,(m||f)&&(d.choices[0].delta.thinking={content:m||f}),S&&(d.choices[0].delta.content=S)}s.controller.enqueue(Me(JSON.stringify(d),s.encoder));return}if(Array.isArray(u.content)){let d="",h=u.content.filter(m=>m.type==="text").map(m=>typeof m.text=="string"?m.text:JSON.stringify(m.text??"")).join("");for(let m of u.content)if(m.type==="thinking"){let S=Array.isArray(m.thinking)?m.thinking:[m.thinking];d+=S.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete u.content,d&&(u.thinking={content:d}),h&&(u.content=h)}s.controller.enqueue(Me(JSON.stringify(c),s.encoder))}catch{s.controller.enqueue(xe(o,s.encoder))}}):t;return t}var gl=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:RS(e,n,r),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await DS(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var YP="http://127.0.0.1:3457",ml=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||YP;n?.req?.body&&(n.req.body.stream=!0);let s=Zt(n,e);return{body:{...e,messages:Je(e.messages),tools:Ve(e.tools),stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json",...s?{"x-ccr-session-id":s}:{}}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};var _l=require("crypto");var XP="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",xS=3,yl=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,r,n){let o=n?.req?.sessionId||this.fingerprintConversation(e,n),s=e.body||e,i=e.config||{},c=await this.sendWithSessionRetry(s,i,r,n,o);return{body:s,config:{...i,url:r?.baseUrl||r?.api_base_url,__providerResponse:c}}}async sendWithSessionRetry(e,r,n,o,s){let i=n?.baseUrl||n?.api_base_url,c=o?.req?.server?.configService?.getHttpsProxy?.(),u=o?.req?.log??o?.req?.server?.log,f=e?.model;for(let d=0;d<xS;d++){let h=this.buildHeaders(r,n,s),m=await Bo(i,e,{httpsProxy:c,...r,headers:h,signal:o?.signal??r?.signal},o,u);if(m.ok)return m;let S=await m.text();if(!(d===xS-1)&&this.isZenRoutingFailure(m.status,S)){this.invalidateSession(s),u?.warn?.({provider:n?.name,model:f,status:m.status,attempt:d+1},"opencode: Zen provider-routing failure \u2014 re-rolling session and retrying");continue}let y=_t(S)||S.slice(0,240);throw $e(`Error from provider(${n?.name},${f}: ${m.status}): ${y}`,m.status,"provider_response_error","api_error",this.retryAfterHeaders(m))}throw $e(`Error from provider(${n?.name},${f}): Zen provider-routing retries exhausted`,503,"provider_response_error")}buildHeaders(e,r,n){let o=this.getOrCreateSessionId(n),s=this.generateId("msg");return{...e?.headers,"x-api-key":r.apiKey||"","x-opencode-project":"global","x-opencode-session":o,"x-opencode-request":s,"x-opencode-client":"cli","user-agent":"opencode/1.18.4",authorization:void 0}}isZenRoutingFailure(e,r){if(e!==401&&e!==400)return!1;let n;try{n=JSON.parse(r)}catch{return!1}let o=String(n?.error?.message||"");return!!(e===401&&n?.error?.type==="ModelError"&&/no provider available/i.test(o)||e===400&&/upstream request failed/i.test(o))}retryAfterHeaders(e){let r=e.headers.get("retry-after");return r?{"Retry-After":r}:void 0}fingerprintConversation(e,r){let n=e.body||e,o=n.model||"",s=n.messages||[],i=JSON.stringify(s.slice(0,3)),c=r?.req?.headers?.["x-forwarded-for"]||r?.req?.ip||"",u=r?.req?.headers?.["user-agent"]||"";return(0,_l.createHash)("sha256").update(`${o}|${c}|${u}|${i}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let r=this.sessionCache.get(e);if(r)return r;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let n=this.generateId("ses");return this.sessionCache.set(e,n),n}invalidateSession(e){this.sessionCache.delete(e)}generateId(e){let r=Date.now();r!==this.lastTimestamp&&(this.lastTimestamp=r,this.counter=0),this.counter++;let n=BigInt(r)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let c=0;c<6;c++)o[c]=Number(n>>BigInt(40-8*c)&BigInt(255));let s=(0,_l.randomBytes)(14),i="";for(let c=0;c<14;c++)i+=XP[s[c]%62];return`${e}_${o.toString("hex")}${i}`}};var tn=require("fs"),wg=require("path"),kg=require("os"),Cg=(0,wg.join)((0,kg.homedir)(),".claude-code-router","claude_auth.json"),OS={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function QP(){try{if(!(0,tn.existsSync)(Cg))return null;let t=(0,tn.readFileSync)(Cg,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function ZP(t){let e=(0,wg.join)((0,kg.homedir)(),".claude-code-router");(0,tn.existsSync)(e)||(0,tn.mkdirSync)(e,{recursive:!0}),(0,tn.writeFileSync)(Cg,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function eF(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function tF(t){let e=await fetch(OS.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:OS.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),last_refresh:Date.now()/1e3}}async function PS(){let t=QP();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(eF(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await tF(t.refresh_token),ZP(t)}return t}var FS="oauth-2025-04-20";function rF(...t){let e=new Set,r=[];for(let n of t)if(n)for(let o of n.split(",")){let s=o.trim();if(!s)continue;let i=s.toLowerCase();e.has(i)||(e.add(i),r.push(s))}return r.join(",")}function bl(t,e){if(!t)return;let r=e.toLowerCase();for(let[n,o]of Object.entries(t)){if(n.toLowerCase()!==r)continue;if(o==null)return;if(Array.isArray(o)){let i=o.filter(c=>c!=null&&String(c).length>0);return i.length?i.map(String).join(", "):void 0}let s=String(o);return s.length?s:void 0}}function nF(t){return t.clientBeta?.trim()?rF(t.clientBeta,FS):FS}var Cl=class{name="claude-auth";logger;async transformRequestIn(e,r,n){let o=await PS(),s=r?.api_base_url??r?.baseUrl??"https://api.anthropic.com",i=s.endsWith("/v1/messages")?s:`${s.replace(/\/$/,"")}/v1/messages`,c=new URL(i);c.searchParams.set("beta","true");let u=jo.buildAnthropicBody(e,this.logger),f=n?.req?.headers||{},d=bl(f,"user-agent"),h=d?.startsWith("claude-cli/")??!1,m=h?bl(f,"anthropic-beta"):void 0,S=nF({clientBeta:m}),b={Authorization:`Bearer ${o.access_token}`,"Content-Type":"application/json","anthropic-version":h&&bl(f,"anthropic-version")||"2023-06-01","anthropic-beta":S};if(h)for(let y of["user-agent","x-app","x-claude-code-session-id","anthropic-dangerous-direct-browser-access","x-anthropic-billing-header","x-client-request-id","x-stainless-arch","x-stainless-lang","x-stainless-os","x-stainless-package-version","x-stainless-retry-count","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout"]){let C=bl(f,y);C&&(b[y]=C)}else d&&(b["User-Agent"]=d);return{body:u,config:{url:c.toString(),headers:b}}}async transformResponseOut(e){return Xu(e,this.name,this.logger)}};var TE=require("@cursor/sdk");var oF=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function IS(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!oF.test(e)&&!e.includes("$CURSOR_API_KEY")&&!e.includes("${"))return e;let r=process.env.CURSOR_API_KEY?.trim();if(r)return r;throw Object.assign(new Error("Cursor API key not found. Set Providers[].api_key to a crsr_ key, or export CURSOR_API_KEY."),{statusCode:401,code:"provider_response_error",type:"api_error"})}var NS=require("crypto"),MS=require("os"),_o=require("path"),Sg="cursor-sdk",wl="bridge",sF=(0,_o.join)((0,MS.homedir)(),".claude-code-router"),vr=(0,_o.join)(sF,"cursor-sdk-workspaces"),BS=900*1e3,Eg=32,jS=1440*60*1e3,US=3600*1e3,iF=/^[0-9a-f]{32}$/;function Ag(t,e=vr){let r=t.replace(/[\\/]+$/,"");return(0,_o.dirname)(r)!==e.replace(/[\\/]+$/,"")?!1:iF.test((0,_o.basename)(r))}var LS=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],Li="custom-user-tools";function lr(t){return t==null?"":typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):"").filter(Boolean).join(`
|
|
296
|
+
`):String(t)}function ks(t){return(0,NS.createHash)("sha256").update(t.filter(Boolean).join(`
|
|
297
|
+
`)).digest("hex").slice(0,32)}function Ss(t){if(typeof t=="string")return t;if(t==null)return"";if(typeof t=="object"){let e=t;if(typeof e.text=="string")return e.text;if(typeof e.content=="string")return e.content;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function Tg(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function qS(t,e){let r=Math.floor(Date.now()/1e3),n=`chatcmpl-cursor-${Date.now()}`,o=()=>({id:n,object:"chat.completion.chunk",created:r,model:t});return{setId(s){s&&(n=s)},content(s){return{...o(),choices:[{index:0,delta:{role:"assistant",content:s},finish_reason:null}]}},thinking(s){return{...o(),choices:[{index:0,delta:{thinking:{content:Ss(s)}},finish_reason:null}]}},thinkingSignature(s=`ccr_cursor_${Date.now()}`){return{...o(),choices:[{index:0,delta:{thinking:{signature:s}},finish_reason:null}]}},toolCall(s,i=0){return{...o(),choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:i,id:s.id,type:"function",function:{name:s.name,arguments:JSON.stringify(s.args??{})}}]},finish_reason:null}]}},finish(s,i){let c=Number(i?.prompt_tokens)||0,u=Number(i?.completion_tokens)||0,f=Number(i?.total_tokens)||c+u;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:c,completion_tokens:u,total_tokens:f,prompt_tokens_details:{cached_tokens:Number(i?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return Me(JSON.stringify(s),e)},encodeDone(){return Me("[DONE]",e)}}}function vg(t,e){let r="",n="",o="",s=[],i="stop",c=null,u=`chatcmpl-cursor-${Date.now()}`,f=Math.floor(Date.now()/1e3);for(let h of e){typeof h.id=="string"&&(u=h.id);let m=h.choices?.[0];if(!m)continue;m.finish_reason&&(i=m.finish_reason);let S=m.delta||{};if(typeof S.content=="string"&&(r+=S.content),S.thinking?.content&&(n+=Ss(S.thinking.content)),typeof S.thinking?.signature=="string"&&S.thinking.signature&&(o=S.thinking.signature),Array.isArray(S.tool_calls))for(let b of S.tool_calls){let y=b.index??s.length;s[y]||(s[y]={id:b.id,type:"function",function:{name:b.function?.name||"",arguments:""}}),b.id&&(s[y].id=b.id),b.function?.name&&(s[y].function.name=b.function.name),typeof b.function?.arguments=="string"&&(s[y].function.arguments+=b.function.arguments)}h.usage&&(c=h.usage)}let d={role:"assistant",content:r||null};return n&&(d.thinking={content:n,signature:o||`ccr_cursor_${f}`}),s.length&&(d.tool_calls=s.filter(Boolean),i="tool_calls"),{id:u,object:"chat.completion",created:f,model:t,choices:[{index:0,message:d,finish_reason:i}],usage:c}}var In={additionalRoots:[],facts:[],known:!1,fingerprint:"none"},$S=/<(env|environment|system-info|system_info)>([\s\S]*?)<\/\1>/gi,aF=/^\s*[-*]?\s*([A-Za-z][A-Za-z0-9 _/'-]{2,48}?)\s*:\s*(\S.*?)\s*$/,cF=/working director|workspace root|project root|platform|os version|operating system|git repo/i,zS=[/^primary working director/i,/^current working director/i,/^working director/i,/^project root/i,/^workspace root/i,/^cwd$/i],HS=[/^additional working director/i,/^additional director/i,/^extra working director/i],WS=[/^platform$/i,/^operating system$/i,/^os$/i],GS=[/^os version$/i,/^system version$/i],uF=[...zS,...HS,...WS,...GS],lF=2e5,dF=16,fF=400;function hF(t){let e=[],r=lF,n=!1;for(let o of t.messages||[]){if(o.role!=="system"&&o.role!=="user")continue;if(o.role==="user"&&n)break;o.role==="user"&&(n=!0);let s=lr(o.content);if(s&&(e.push(s.slice(0,r)),r-=Math.min(s.length,r),r<=0))break}return e.join(`
|
|
298
|
+
`)}function pF(t){let e=[],r=new Set,n=i=>{if(e.length>=dF)return;let c=i.match(aF);if(!c)return;let u=c[1].trim(),f=c[2].trim().slice(0,fF);if(!u||!f)return;let d=u.toLowerCase();r.has(d)||(r.add(d),e.push({key:u,value:f}))},o=!1;$S.lastIndex=0;let s;for(;s=$S.exec(t);){o=!0;for(let i of s[2].split(/\r?\n/))n(i)}if(!o)for(let i of t.split(/\r?\n/))cF.test(i)&&n(i);return e}function kl(t,e){for(let r of e){let n=t.find(o=>r.test(o.key));if(n)return n.value}}function JS(t){return/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(t)}function gF(t){return t?t.split(/[,\n]/).map(e=>e.trim()).filter(e=>JS(e)):[]}function qi(t){let e=pF(hF(t)),r=kl(e,zS),n=r&&JS(r)?r:void 0,o=gF(kl(e,HS)).filter(u=>u!==n),s=kl(e,WS),i=kl(e,GS),c=!!(n||s||i||e.length);return c?{projectRoot:n,additionalRoots:o,platform:s,osVersion:i,facts:e,known:c,fingerprint:ks([n||"",o.join("|"),s||"",i||"",e.map(u=>`${u.key}=${u.value}`).join("|")])}:In}function VS(t){let e=[];t.projectRoot&&e.push(`- Project root: ${t.projectRoot}`);for(let r of t.additionalRoots)e.push(`- Additional in-scope root: ${r}`);t.platform&&e.push(`- Platform: ${t.platform}`),t.osVersion&&e.push(`- OS version: ${t.osVersion}`);for(let r of t.facts)uF.some(n=>n.test(r.key))||e.push(`- ${r.key}: ${r.value}`);return e}function bo(t){return t.projectRoot?`Every path you pass to a host tool must be an absolute path on the host, normally under ${t.projectRoot}.`:"Every path you pass to a host tool must be an absolute host path taken from this conversation \u2014 never invent one and never derive one from your local filesystem."}function mF(t){if(!Array.isArray(t))return[];let e=[];for(let r of t)if(!(!r||typeof r!="object")&&r.type==="image_url"&&r.image_url?.url){let n=String(r.image_url.url),o=n.match(/^data:([^;]+);base64,(.+)$/);o?e.push({data:o[2],mimeType:o[1]}):e.push({url:n})}return e}function yF(t){return!Array.isArray(t.tools)||t.tools.length===0?"(no host tools advertised on this request)":t.tools.map(e=>{let r=e.function?.name||"unknown",n=e.function?.description||"";return`- ${r}: ${n}`}).join(`
|
|
299
|
+
`)}function YS(t,e){let r=["You are a remote reasoning agent driving Claude Code (the host).","Tools do not run where you are running: every tool call is executed by the host on the user's machine, and only the result is sent back to you.",`Your local environment is disposable scratch space: ${t}`,"It is empty and contains none of the user's files. Never read, list, search, or verify paths against it, and never prefix a host tool path with it.","Your own cwd, OS, and workspace root describe that scratch container only \u2014 they say nothing about the user's project, so never reason from them or report them to the user."],n=VS(e);return n.length&&(r.push("The user's project lives on the host machine, which is where every tool call lands:"),r.push(...n)),r.push(bo(e)),r.push(`Host tools are exposed via MCP server "${Li}" using bare tool names.`,"Cursor built-in tools are denied here. That denial only routes tool use through the host \u2014 it is not a restriction on the user's project, which stays fully reachable through the host tools."),r}function _F(t,e,r=qi(t)){return[...YS(e,r),"A progress update such as 'Checking...', 'Inspecting...', or 'Let me look...' is not a final answer.","After progress narration, call a host tool in the same turn; if no tool is needed, provide the complete user-facing answer before finishing.","Never end a turn with progress narration alone.","Available host tools:",yF(t)].join(`
|
|
300
|
+
`)}function bF(t,e){return["[bridge reminder]",`Tools run on the host machine, not here. ${t} is empty scratch space \u2014 never treat it as the project, and never build a tool path from it.`,bo(e)].join(`
|
|
301
|
+
`)}function XS(t,e){return["# Agent rules","",...YS(t,e).map(r=>r.startsWith("- ")?r:`- ${r}`),""].join(`
|
|
302
|
+
`)}function QS(t){return["Your local filesystem is empty scratch space on a different machine from the user's project.","The project is reachable only through the host tools, and it is not restricted.",bo(t)].join(" ")}var CF=[/^(?:checking|inspecting|reviewing|examining|investigating|verifying|reading|searching)\s+(?:the|this|that|these|those|your|our|which|whether|for|how|why|what|where)\b/i,/^looking\s+(?:at|into|for|through|up)\b/i,/^(?:i(?:'ll| will)|let me)\s+(?:check|inspect|review|examine|investigate|verify|read|search|look)\b/i];function wF(t){let e=String(t||"").trim();if(!e||e.length>240||/\n\s*\n/.test(e))return!1;let r=e.replace(/\s+/g," ");return(r.match(/[.!?](?:\s|$)/g)?.length||0)>1?!1:CF.some(o=>o.test(r))}function ZS(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&wF(t.assistantText)}function eE(t){let e=["Continue the same turn now.","Your previous assistant message was only progress narration and ended without a host tool call or a complete answer.","Do not repeat the progress update.","If evidence is still needed, call an available host tool immediately; otherwise provide the complete user-facing answer now.","Do not finish until the requested work or answer is complete."];return t?.known&&e.push(bo(t)),{text:e.join(" ")}}function KS(t){let e=t.trim();return mf.some(r=>e===r)}function kF(t){if(!Array.isArray(t)){let e=lr(t);return e.trim().length>0&&!KS(e)}return t.some(e=>{if(!e||typeof e!="object")return!1;if("text"in e){let r=String(e.text||"");return r.trim().length>0&&!KS(r)}return!0})}function tE(t,e){let r=t.messages||[],n=[],o=e.hostEnv||qi(t);e.mode==="bridge"?(n.push(_F(t,e.workspaceDir,o)),n.push("")):e.mode==="plan"&&(n.push("You are a planning/chat assistant. Respond with text and reasoning only. Do not execute tools."),n.push(""));let s=r.filter(d=>d.role==="system");for(let d of s){let h=lr(d.content);h&&n.push(`[system]
|
|
303
|
+
${h}`)}let i=r.filter(d=>d.role!=="system"),c=e.followUpOnly?i.slice(-Math.max(1,SF(i,e.turnIntent)+1)):i,u=[];for(let d of c){if(d.role==="assistant"){let h=lr(d.content);if(h&&n.push(`[assistant]
|
|
304
|
+
${h}`),Array.isArray(d.tool_calls)&&d.tool_calls.length)for(let m of d.tool_calls)n.push(`[assistant tool_call id=${m.id} name=${m.function.name}]
|
|
305
|
+
${m.function.arguments||"{}"}`);continue}if(d.role==="tool"){n.push(`[tool_result id=${d.tool_call_id||"unknown"}]
|
|
306
|
+
${lr(d.content)}`);continue}if(d.role==="user"){let h=lr(d.content);u=[...u,...mF(d.content)],h&&n.push(`[user]
|
|
307
|
+
${h}`)}}e.mode==="bridge"&&n.push(bF(e.workspaceDir,o));let f=n.join(`
|
|
291
308
|
|
|
292
|
-
`).trim()||"Continue.";return u.length?{text:
|
|
309
|
+
`).trim()||"Continue.";return u.length?{text:f,images:u}:{text:f}}function SF(t,e){let r=t.length-1,n=0;e?.interruption==="synthetic_client_interrupt"&&e.steering==="none"&&t[r]?.role==="user"&&(n=1,r-=1);let o=0;for(;r>=0;r--){if(t[r].role==="tool"){o+=1;continue}break}return o>0?n+o:0}function rE(t,e){if(e)return{toolResults:e.trailingToolResults.map(i=>({toolCallId:i.toolCallId,content:i.content,isError:i.isError})),hasTrailingUserInput:e.steering==="meaningful"};let r=[],n=t.messages||[],o=n.length-1,s=!1;for(;o>=0&&n[o].role==="user";)s=s||kF(n[o].content),o-=1;for(;o>=0;o--){let i=n[o];if(i.role!=="tool")break;r.unshift({toolCallId:String(i.tool_call_id||""),content:lr(i.content)})}return{toolResults:r,hasTrailingUserInput:s}}var Sl=require("crypto"),Vt=require("fs"),Og=require("path"),Dg=require("@cursor/sdk");var Nn=require("fs"),Es=require("path");function EF(t){return`#!/usr/bin/env node
|
|
293
310
|
const chunks = [];
|
|
294
311
|
process.stdin.on("data", (c) => chunks.push(c));
|
|
295
312
|
process.stdin.on("end", () => {
|
|
@@ -313,15 +330,12 @@ process.stdin.on("end", () => {
|
|
|
313
330
|
);
|
|
314
331
|
|
|
315
332
|
// Always allow the SDK synthetic MCP host tools Claude Code bridges through.
|
|
316
|
-
if (server.includes(${JSON.stringify(
|
|
333
|
+
if (server.includes(${JSON.stringify(Li)})) {
|
|
317
334
|
process.stdout.write(JSON.stringify({ permission: "allow" }));
|
|
318
335
|
return;
|
|
319
336
|
}
|
|
320
337
|
|
|
321
|
-
const denyMessage =
|
|
322
|
-
"CCR Cursor SDK bridge: do not use Cursor built-in tools. " +
|
|
323
|
-
"Call host tools via MCP server '${xs}' " +
|
|
324
|
-
"using the bare Claude Code tool names (Read, Bash, Edit, \u2026).";
|
|
338
|
+
const denyMessage = ${JSON.stringify(t)};
|
|
325
339
|
|
|
326
340
|
process.stdout.write(
|
|
327
341
|
JSON.stringify({
|
|
@@ -331,33 +345,29 @@ process.stdin.on("end", () => {
|
|
|
331
345
|
})
|
|
332
346
|
);
|
|
333
347
|
});
|
|
334
|
-
`;function Vd(t){let e=(0,Po.join)(t,".cursor"),r=(0,Po.join)(e,"hooks");(0,un.mkdirSync)(r,{recursive:!0});let n=(0,Po.join)(r,"deny-builtin.cjs");(0,un.writeFileSync)(n,oR,{encoding:"utf-8",mode:448});try{(0,un.chmodSync)(n,448)}catch{}let o=Q0.join("|"),s=`node "${n}"`,a={version:1,hooks:{preToolUse:[{matcher:o,command:s}],beforeShellExecution:[{command:s}],beforeReadFile:[{command:s}],beforeMCPExecution:[{command:s}]}};(0,un.writeFileSync)((0,Po.join)(e,"hooks.json"),JSON.stringify(a,null,2),{encoding:"utf-8",mode:384}),(0,un.writeFileSync)((0,Po.join)(t,"AGENTS.md"),"",{encoding:"utf-8",mode:384})}async function Ps(t,e={}){let r=t.run,n=t.streamIterator;if(t.run=void 0,t.streamIterator=void 0,t.pendingEmit=[],t.notifyEmit(),e.rejectParked&&t.parked.length){let o=e.reason||"cursor-sdk run cancelled";for(let s of t.parked.splice(0,t.parked.length))try{s.reject(new Error(o))}catch{}}if(n&&typeof n.return=="function")try{await n.return(void 0)}catch{}if(r&&r.status==="running")try{await r.cancel()}catch{}}async function Xd(t,e){let r=t.sendChain,n,o=new Promise(s=>{n=s});t.sendChain=r.then(()=>o).catch(()=>o),await r.catch(()=>{});try{return await e()}finally{n()}}function ab(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||(0,Io.existsSync)("/.dockerenv")||process.env.container==="docker")}function sR(t){(0,Io.existsSync)(Wu)||(0,Io.mkdirSync)(Wu,{recursive:!0});let e=(0,cb.join)(Wu,t);return(0,Io.mkdirSync)(e,{recursive:!0}),Vd(e),e}function lb(t){if(t.headerSession)return(0,Gu.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,Gu.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,Gu.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return Z0([t.model||"",t.systemAndFirstUser||""])}function ub(t){return!!(t.streamIterator||t.parked.length>0||t.run?.status==="running")}function Ju(t){t.lastActiveAt=Date.now()}var Yd=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}sessions=new Map;cleanupTimer;setLogger(e){this.logger=e}get(e){let r=this.sessions.get(e);return r&&Ju(r),r}async getOrCreate(e){let r=this.get(e.key);if(r)return r;this.evictIfNeeded();let n=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:sR(e.key);e.mode==="bridge"&&Vd(n);let o=e.mode==="plan"?"plan":"agent",s=ab(e.sandboxEnabled),a=await Kd.Agent.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:o,local:{cwd:n,settingSources:[],sandboxOptions:{enabled:s},enableAgentRetries:!0}}),u=this.createSessionRecord({key:e.key,agent:a,mode:e.mode,workspaceDir:n});return this.sessions.set(e.key,u),this.logger?.info?.({sessionKey:e.key,agentId:a.agentId,mode:e.mode,sandboxEnabled:s},"cursor-sdk session created"),u}async resume(e){let r=ab(e.sandboxEnabled),n=await Kd.Agent.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:r}}}),o=this.createSessionRecord({key:e.key,agent:n,mode:e.mode,workspaceDir:e.workspaceDir});return this.sessions.set(e.key,o),o}resolveParkedTools(e,r){let n=0,o=[];for(let s of r){let a=-1;if(s.toolCallId?a=e.parked.findIndex(c=>c.id===s.toolCallId):r.length===1&&e.parked.length===1&&(a=0),a===-1){o.push(s.toolCallId||"(empty)");continue}let[u]=e.parked.splice(a,1);u.resolve(s.content),n++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(s=>s.id),resolved:n},"cursor-sdk tool results did not match parked tools"),Ju(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await Ps(r,{rejectParked:!0,reason:"cursor-sdk session disposed"});try{r.agent.close()}catch{}}}createSessionRecord(e){let r={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,parked:[],pendingEmit:[],emitWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0},parkHostTool:({id:n,name:o,args:s})=>{let a,u,c=new Promise((f,d)=>{a=f,u=d});return r.parked.push({id:n,name:o,args:s,resolve:a,reject:u,promise:c}),r.pendingEmit.push({id:n,name:o,args:s}),r.notifyEmit(),c},notifyEmit:()=>{let n=r.emitWaiters.splice(0,r.emitWaiters.length);for(let o of n)o()},waitForEmit:()=>new Promise(n=>{if(r.pendingEmit.length){n();return}r.emitWaiters.push(n)})};return r}evictIfNeeded(){for(;this.sessions.size>=Jd;){let e,r=1/0;for(let[n,o]of this.sessions)ub(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Jd},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[r,n]of this.sessions)ub(n)||e-n.lastActiveAt>X0&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r))}},Vu=new Yd;var fb=require("crypto");function iR(t){if(!t)return{type:"object",properties:{}};if(typeof t=="string")try{let e=JSON.parse(t);if(e&&typeof e=="object")return e}catch{return{type:"object",properties:{}}}return typeof t=="object"?t:{type:"object",properties:{}}}function db(t,e){let r={};if(!Array.isArray(t.tools))return r;for(let n of t.tools){let o=n.function?.name;!o||typeof o!="string"||(r[o]={description:n.function.description||`Claude Code host tool: ${o}`,inputSchema:iR(n.function.parameters),async execute(s,a){let u=a.toolCallId||(0,fb.randomUUID)();return e.metrics.customToolCalls+=1,e.parkHostTool({id:u,name:o,args:s||{}})}})}return r}function pb(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function hb(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function gb(t){let e=[];t.system&&e.push(hb(t.system));for(let r of t.messages||[])e.push(hb(r.content)),r.thinking?.content&&e.push(String(r.thinking.content)),r.reasoning_content&&e.push(String(r.reasoning_content)),r.tool_calls?.length&&e.push(JSON.stringify(r.tool_calls));return t.tools?.length&&e.push(JSON.stringify(t.tools)),pb(e.join(`
|
|
335
|
-
`)
|
|
336
|
-
`)}
|
|
337
|
-
[cursor tool ${re.status||"running"}: ${re.name}]
|
|
338
|
-
`;se(ke),K(w.content(ke))}}}if(!W)break}!pe&&!le&&(Ue(),me("stop")),a&&X.enqueue(w.encodeDone()),X.close()}catch(le){o?.error?.({err:le,metrics:A.metrics},"cursor-sdk stream failed"),Ps(A,{rejectParked:!0,reason:"cursor-sdk stream failed"});try{X.error(le)}catch{}}},cancel(){Ps(A,{rejectParked:!0,reason:"cursor-sdk client cancelled stream"})}});if(!a){let X=$.getReader();for(;;){let{done:se}=await X.read();if(se)break}let K=rb(u,T);return new Response(JSON.stringify(K),{status:200,headers:{"Content-Type":"application/json"}})}return new Response($,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}var Ku=class{static TransformerName=Gd;name=Gd;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let s={cursorMode:this.options.cursorMode||Hu,cursorCwd:this.options.cursorCwd,sandboxEnabled:this.options.sandboxEnabled,logger:this.logger},a=await bb(e,r,n,s);return{body:e,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:a}}}async transformResponseOut(e){return e}};var Cb={AnthropicTransformer:Zn,GeminiTransformer:ji,VertexGeminiTransformer:tu,VertexClaudeTransformer:Au,VertexOpenaiTransformer:Tu,DeepseekTransformer:fu,TooluseTransformer:du,OpenrouterTransformer:gu,OpenAITransformer:Ru,MaxTokenTransformer:mu,GroqTransformer:yu,CleancacheTransformer:_u,EnhanceToolTransformer:Cu,ReasoningTransformer:wu,SamplingTransformer:Eu,MaxCompletionTokens:ku,CerebrasTransformer:Du,StreamOptionsTransformer:vu,CustomParamsTransformer:xu,VercelTransformer:Ou,OpenAIResponsesTransformer:Iu,CodexTransformer:Nu,QwenAuthTransformer:Bu,ForceReasoningTransformer:ju,ExtraThinkTagTransformer:Mu,MistralTransformer:Uu,ChromeOnDeviceTransformer:Lu,OpencodeHeadersTransformer:qu,ClaudeAuthTransformer:zu,CursorSdkTransformer:Ku};var Bn=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&r.endPoint&&e.push({name:n,transformer:r})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&!r.endPoint&&e.push({name:n,transformer:r})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let r=require(require.resolve(e.path));if(r){let n=new r(e.options);if(n&&typeof n=="object"&&(n.logger=this.logger),!n.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(n.name,n),!0}}return!1}catch(r){return this.logger.error(`load transformer (${e.path})
|
|
348
|
+
`}function AF(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${Li}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,QS(t)].join(" ")}function Rg(t,e,r){try{if((0,Nn.readFileSync)(t,"utf-8")===e)return}catch{}(0,Nn.writeFileSync)(t,e,{encoding:"utf-8",mode:r})}function $i(t,e=In){let r=(0,Es.join)(t,".cursor"),n=(0,Es.join)(r,"hooks");(0,Nn.mkdirSync)(n,{recursive:!0});let o=(0,Es.join)(n,"deny-builtin.cjs");Rg(o,EF(AF(e)),448);try{(0,Nn.chmodSync)(o,448)}catch{}let s=LS.join("|"),i=`node "${o}"`,c={version:1,hooks:{preToolUse:[{matcher:s,command:i}],beforeShellExecution:[{command:i}],beforeReadFile:[{command:i}],beforeMCPExecution:[{command:i}]}};Rg((0,Es.join)(r,"hooks.json"),JSON.stringify(c,null,2),384),Rg((0,Es.join)(t,"AGENTS.md"),XS(t,e),384)}function As(t,e){t.poisoned=!0,t.poisonReason=e}async function Pg(t,e={}){let r={skipped:!1,hadRun:!!t.run,hadIterator:!!t.streamIterator,runCancelFailed:!1,iteratorReturnFailed:!1,failed:!1,timedOut:!1};if(e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken)return{...r,skipped:!0};let n=t.run,o=t.streamIterator,s=t.streamNext;if(t.run=void 0,t.streamIterator=void 0,t.streamNext=void 0,t.streamNextRunToken=void 0,t.activeRunToken=void 0,t.pendingEmit=[],t.pendingSdkMessages=[],t.notifyEmit(),t.notifySdkMessage?.(),s?.catch(()=>{}),e.rejectParked&&t.parked.length){let u=e.reason||"cursor-sdk run cancelled";for(let f of t.parked.splice(0,t.parked.length))try{f.reject(new Error(u))}catch{}}let i=async(u,f,d)=>{try{await Fg(Promise.resolve().then(u),e.timeoutMs??2e3,f)}catch(h){r.failed=!0,d==="run"&&(r.runCancelFailed=!0),d==="iterator"&&(r.iteratorReturnFailed=!0),r.timedOut=r.timedOut||String(h?.message||h).toLowerCase().includes("timed out")}},c=[];return n?.status==="running"&&c.push(i(()=>n.cancel(),"cursor-sdk run cancel timed out","run")),o&&typeof o.return=="function"&&c.push(i(()=>o.return(void 0),"cursor-sdk stream iterator return timed out","iterator")),await Promise.all(c),r.failed&&e.poisonOnFailure&&As(t,e.reason||"cursor-sdk run cancellation did not complete"),r}async function Fg(t,e,r){let n;try{return await Promise.race([t,new Promise((o,s)=>{n=setTimeout(()=>s(new Error(r)),e)})])}finally{n&&clearTimeout(n)}}async function Al(t,e){let r=t.sendChain,n,o=new Promise(s=>{n=s});t.sendChain=r.then(()=>o).catch(()=>o),await r.catch(()=>{});try{return await e()}finally{n()}}function zi(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||(0,Vt.existsSync)("/.dockerenv")||process.env.container==="docker")}function TF(t,e){(0,Vt.existsSync)(vr)||(0,Vt.mkdirSync)(vr,{recursive:!0});let r=(0,Og.join)(vr,t);return(0,Vt.mkdirSync)(r,{recursive:!0}),$i(r,e),r}function Ig(t,e){if(!e.known&&t.hostEnv?.known)return!1;let r=t.guidanceFingerprint!==e.fingerprint;if(t.hostEnv=e,t.mode!=="bridge"||!r)return!1;try{return $i(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function nE(t,e,r=vr){if(!Ag(t,r))return!1;try{return(0,Vt.rmSync)(t,{recursive:!0,force:!0}),!0}catch(n){return e?.debug?.({err:n,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function sE(t){if(t.headerSession)return(0,Sl.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,Sl.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,Sl.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return ks([t.model||"",t.systemAndFirstUser||""])}function oE(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function El(t){t.lastActiveAt=Date.now()}var xg=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}sessions=new Map;retirements=new Map;creations=new Map;cleanupTimer;lastSweepAt=0;setLogger(e){this.logger=e}get(e){let r=this.sessions.get(e);if(r?.poisoned){this.invalidate(r,r.poisonReason||"cursor-sdk session poisoned");return}return r&&El(r),r}async retireSession(e,r,n){As(e,r),this.sessions.get(e.key)===e&&this.sessions.delete(e.key);let o=this.retirements.get(e.key);o||(o={tail:Promise.resolve(),pending:new Map},this.retirements.set(e.key,o));let s=o.pending.get(e);if(s)return await s.catch(()=>{}),!1;let i=o.pending.size>0,c=o.tail,u=async()=>(this.logger?.debug?.({sessionKey:e.key,agentId:e.agentId,reason:r},"cursor-sdk session retirement started"),n()),f=i?c.then(u):u();o.pending.set(e,f);let d=f.then(()=>{},()=>{});o.tail=d;try{return await f}finally{o.pending.get(e)===f&&o.pending.delete(e),this.retirements.get(e.key)===o&&o.tail===d&&o.pending.size===0&&this.retirements.delete(e.key)}}async getOrCreate(e){for(;;){let o=this.retirements.get(e.key);if(o){await o.tail;continue}let s=this.get(e.key);if(s)return s;let i=this.creations.get(e.key);if(!i)break;await i}let r,n=new Promise(o=>{r=o});this.creations.set(e.key,n);try{this.evictIfNeeded();let o=e.hostEnv||In,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:TF(e.key,o);e.mode==="bridge"&&$i(s,o);let i=e.mode==="plan"?"plan":"agent",c=zi(e.sandboxEnabled),u=await Dg.Agent.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:i,local:{cwd:s,settingSources:[],sandboxOptions:{enabled:c},enableAgentRetries:!0}}),f=this.createSessionRecord({key:e.key,agent:u,mode:e.mode,workspaceDir:s,hostEnv:o,guidanceFingerprint:o.fingerprint});return this.sessions.set(e.key,f),this.logger?.info?.({sessionKey:e.key,agentId:u.agentId,mode:e.mode,sandboxEnabled:c},"cursor-sdk session created"),f}finally{this.creations.get(e.key)===n&&this.creations.delete(e.key),r()}}async resume(e){let r=zi(e.sandboxEnabled),n=e.hostEnv||In;e.mode==="bridge"&&$i(e.workspaceDir,n);let o=await Dg.Agent.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:r}}}),s=this.createSessionRecord({key:e.key,agent:o,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:n,guidanceFingerprint:n.fingerprint});return this.sessions.set(e.key,s),s}resolveParkedTools(e,r){let n=0,o=[],s=e.parked.map(i=>i.id).filter((i,c,u)=>i&&u.indexOf(i)!==c);s.length&&this.logger?.warn?.({sessionKey:e.key,duplicates:[...new Set(s)]},"cursor-sdk parked tools share an id; results may mispair");for(let i of r){let c=-1;if(i.toolCallId?c=e.parked.findIndex(f=>f.id===i.toolCallId):r.length===1&&e.parked.length===1&&(c=0),c===-1){o.push(i.toolCallId||"(empty)");continue}let[u]=e.parked.splice(c,1);u.resolve(i.content),n++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(i=>i.id),resolved:n},"cursor-sdk tool results did not match parked tools"),El(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await Pg(r,{rejectParked:!0,reason:"cursor-sdk session disposed"});try{r.agent.close()}catch{}nE(r.workspaceDir,this.logger)}}invalidate(e,r){let n=typeof e=="string"?this.sessions.get(e):e;if(n){if(As(n,r),n.run=void 0,n.streamIterator=void 0,n.streamNext?.catch(()=>{}),n.streamNext=void 0,n.streamNextRunToken=void 0,n.activeRunToken=void 0,n.pendingEmit=[],n.pendingSdkMessages=[],n.parked.length)for(let o of n.parked.splice(0,n.parked.length))try{o.reject(new Error(r))}catch{}n.notifyEmit(),n.notifySdkMessage(),this.sessions.get(n.key)===n&&this.sessions.delete(n.key);try{n.agent.close()}catch{}this.logger?.warn?.({sessionKey:n.key,agentId:n.agentId,reason:r},"cursor-sdk session invalidated")}}createSessionRecord(e){let r={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:e.hostEnv,parked:[],pendingEmit:[],emitWaiters:[],pendingSdkMessages:[],sdkMessageWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,guidanceFingerprint:e.guidanceFingerprint,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0,scratchPathViolations:0,scratchPathCorrections:0},parkHostTool:({id:n,name:o,args:s})=>{let i,c,u=new Promise((d,h)=>{i=d,c=h}),f=r.activeRunToken;return r.parked.push({id:n,name:o,args:s,runToken:f,resolve:i,reject:c,promise:u}),r.pendingEmit.push({id:n,name:o,args:s,runToken:f}),r.notifyEmit(),u},notifyEmit:()=>{let n=r.emitWaiters.splice(0,r.emitWaiters.length);for(let o of n)o()},waitForEmit:()=>new Promise(n=>{if(r.pendingEmit.length){n();return}r.emitWaiters.push(n)}),enqueueSdkMessage:(n,o=r.activeRunToken)=>{r.pendingSdkMessages.push({message:n,runToken:o,source:"delta"}),r.notifySdkMessage()},notifySdkMessage:()=>{let n=r.sdkMessageWaiters.splice(0,r.sdkMessageWaiters.length);for(let o of n)o()},waitForSdkMessage:()=>new Promise(n=>{if(r.pendingSdkMessages.length){n();return}r.sdkMessageWaiters.push(n)})};return r}evictIfNeeded(){for(;this.sessions.size>=Eg;){let e,r=1/0;for(let[n,o]of this.sessions)oE(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Eg},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[r,n]of this.sessions)oE(n)||e-n.lastActiveAt>BS&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),r=vr){if(e-this.lastSweepAt<US)return 0;this.lastSweepAt=e;let n;try{n=(0,Vt.readdirSync)(r)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of n){let c=(0,Og.join)(r,i);if(!(o.has(c)||!Ag(c,r))){try{let u=(0,Vt.statSync)(c);if(!u.isDirectory()||e-u.mtimeMs<=jS)continue}catch{continue}nE(c,this.logger,r)&&s++}}return s&&this.logger?.info?.({removed:s,root:r},"cursor-sdk orphan workspaces swept"),s}},Mn=new xg;var vF="Cursor SDK agent.send timed out";function Ng(t){let e=t||{},r=typeof e.name=="string"?e.name:"",n=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return r==="AgentBusyError"||e.status===409||n.includes("already has active run")||n.includes("agent busy")}function Mg(t){let e=t||{},r=typeof e.name=="string"?e.name:"",n=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return r==="AgentNotFoundError"||r==="NetworkError"||e.status===503||e.status===504||n.includes("agent not found")||n.includes("request aborted before send")||n.includes("request aborted during send")||n.includes("agent.send timed out")||n.includes("network error")||n.includes("network request failed")||n.includes("network timeout")||n.includes("network connection")}function RF(t){if(!t)return;let e;return{promise:new Promise((n,o)=>{if(t.aborted){o(new Error("cursor-sdk request aborted before send"));return}e=()=>o(new Error("cursor-sdk request aborted during send")),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>{e&&t.removeEventListener("abort",e)}}}async function DF(t,e,r,n){let o,s;try{if(n?.aborted)throw new Error("cursor-sdk request aborted before send");return o=t.agent.send(e,r),s=RF(n),await Fg(s?Promise.race([o,s.promise]):o,15e3,vF)}catch(i){throw o&&o.then(c=>c.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function Bg(t,e,r,n={}){return DF(t,e,r,n.abortSignal)}var uE=require("crypto");var xF=6,OF=512,PF=4;function FF(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function IF(t,e){return t.length<8?!1:t.includes(e)||t.includes(vr)}function iE(t,e){let r=[],n=0,o=(s,i,c)=>{if(!(r.length>=PF||n>=OF||c>xF)){if(n++,typeof s=="string"){IF(s,e)&&r.push({argPath:i||"(argument)",value:FF(s)});return}if(Array.isArray(s)){s.forEach((u,f)=>o(u,`${i}.${f}`,c+1));return}if(s&&typeof s=="object")for(let[u,f]of Object.entries(s))o(f,i?`${i}.${u}`:u,c+1)}};return o(t,"",0),r}function aE(t){return t.projectRoot?!t.projectRoot.startsWith(vr):!0}function cE(t,e,r,n){let o=t.map(s=>` - ${s.argPath}: ${s.value}`).join(`
|
|
349
|
+
`);return[`Error: this ${e} call was not executed because it points at your local scratch container, not at the user's machine.`,"Offending arguments:",o,`${r} is disposable scratch space on the machine running the model bridge. It is empty and contains none of the user's files.`,"Host tools execute on the user's machine, where that path does not exist.",bo(n),"Retry the call with a host path."].join(`
|
|
350
|
+
`)}var NF=3;function MF(t){if(!t)return{type:"object",properties:{}};if(typeof t=="string")try{let e=JSON.parse(t);if(e&&typeof e=="object")return e}catch{return{type:"object",properties:{}}}return typeof t=="object"?t:{type:"object",properties:{}}}function jg(){return{scratchViolations:0,scratchCorrections:0}}function lE(t,e,r,n=jg()){let o={};if(!Array.isArray(t.tools))return o;for(let s of t.tools){let i=s.function?.name;!i||typeof i!="string"||(o[i]={description:s.function.description||`Claude Code host tool: ${i}`,inputSchema:MF(s.function.parameters),async execute(c,u){let f=zr(u.toolCallId)||(0,uE.randomUUID)(),d=c||{},h=e.hostEnv||In,m=aE(h)?iE(d,e.workspaceDir):[];if(m.length){e.metrics.scratchPathViolations+=1,n.scratchViolations+=1;let S=e.metrics.scratchPathCorrections<NF;if(r?.warn?.({sessionKey:e.key,tool:i,hits:m,corrected:S,violations:e.metrics.scratchPathViolations},"cursor-sdk host tool call referenced the scratch workspace"),S)return e.metrics.scratchPathCorrections+=1,n.scratchCorrections+=1,cE(m,i,e.workspaceDir,h)}return e.metrics.customToolCalls+=1,e.parkHostTool({id:f,name:i,args:d})}})}return o}function fE(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function dE(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function hE(t){let e=[];t.system&&e.push(dE(t.system));for(let r of t.messages||[])e.push(dE(r.content)),r.thinking?.content&&e.push(String(r.thinking.content)),r.reasoning_content&&e.push(String(r.reasoning_content)),r.tool_calls?.length&&e.push(JSON.stringify(r.tool_calls));return t.tools?.length&&e.push(JSON.stringify(t.tools)),fE(e.join(`
|
|
351
|
+
`).length)}function pE(t,e,r=0){let n=Math.max(0,Math.trunc(t)||0),o=fE(e),s=Math.min(n,Math.max(0,Math.trunc(r)||0));return{prompt_tokens:n,completion_tokens:o,total_tokens:n+o,prompt_tokens_details:{cached_tokens:s}}}function Tl(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function gE(t,e,r){let n=Math.max(0,Math.trunc(r)||0);if(!n||!t)return 0;let o=Tl(t.prompt_tokens),s=Tl(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=Tl(e?.prompt_tokens),c=Tl(e?.prompt_tokens_details?.cached_tokens),u=o-i,f=s-c,d=u>0&&f>0?f/u:s/o,h=Math.min(1,Math.max(0,d));return Math.min(n,Math.floor(n*h))}function mE(t){let e=t?.usage??t;if(!e||typeof e!="object")return;let r=e.inputTokens??e.input_tokens??e.prompt_tokens,n=e.outputTokens??e.output_tokens??e.completion_tokens;if(r==null&&n==null)return;let o=Number(r)||0,s=Number(n)||0,i=Number(e.cacheReadTokens??e.cache_read_input_tokens??0)||0;return{prompt_tokens:o,completion_tokens:s,total_tokens:Number(e.totalTokens??e.total_tokens??o+s)||0,prompt_tokens_details:{cached_tokens:i}}}var yE=require("crypto"),BF=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function Rr(t){if(t===null)return null;if(typeof t=="string"||typeof t=="boolean"||typeof t=="number")return t;if(typeof t=="bigint")return String(t);if(Array.isArray(t))return t.map(r=>Rr(r)).filter(r=>r!==void 0);if(typeof t!="object")return;let e={};for(let r of Object.keys(t).sort()){if(r==="cache_control")continue;let n=Rr(t[r]);n!==void 0&&(e[r]=n)}return e}function Lg(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=Rr(t);return e===void 0?[]:[e]}return t.map(e=>{if(typeof e=="string")return{text:e,type:"text"};if(!e||typeof e!="object")return Rr(e);let r=e;return r.type==="text"?{text:String(r.text||""),type:"text"}:Rr(r)}).filter(e=>e!==void 0)}function jF(t){if(typeof t!="string")return Rr(t)??null;try{return Rr(JSON.parse(t))??null}catch{return t}}function qg(t){let e=t,r={content:Lg(e.content),role:e.role};return e.reasoning_content&&(r.reasoning_content=e.reasoning_content),e.thinking?.content&&(r.thinking={content:e.thinking.content}),e.tool_call_id&&(r.tool_call_id=e.tool_call_id),e.is_error!==void 0&&(r.is_error=e.is_error),Array.isArray(e.tool_calls)&&e.tool_calls.length&&(r.tool_calls=e.tool_calls.map(n=>({function:{arguments:jF(n.function.arguments),name:n.function.name},id:n.id,type:n.type}))),r}function _E(t){return Array.isArray(t)?t.map(e=>Rr(e)).filter(e=>e!==void 0).sort((e,r)=>Ug(e).localeCompare(Ug(r))):[]}function Ug(t){return JSON.stringify(t)}function $g(t){return(0,yE.createHash)("sha256").update(Ug(t)).digest("hex")}function bE(t){return{system:Lg(t.system),messages:(t.messages||[]).map(qg)}}function UF(t){let e=t,r={};for(let n of Object.keys(e).sort()){if(BF.has(n)||n==="cache_control")continue;let o;n==="messages"?o=(t.messages||[]).map(qg):n==="system"?o=Lg(t.system):n==="tools"?o=_E(t.tools):o=Rr(e[n]),o!==void 0&&(r[n]=o)}return r}function CE(t,e={}){return $g({compatibilityStamp:e.compatibilityStamp||"",request:UF(t),turnIntent:e.turnIntent?{interruption:e.turnIntent.interruption,source:e.turnIntent.source,steering:e.turnIntent.steering,trailingToolResults:e.turnIntent.trailingToolResults.map(r=>({content:r.content,isError:r.isError,toolCallId:r.toolCallId}))}:null})}function zg(t){return $g({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:Rr(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:_E(t.tools),workspaceDir:t.workspaceDir})}function wE(t,e){return $g({messages:e,system:t})}function kE(t,e){if(e&&e.role!=="assistant")throw new TypeError("Cursor transcript commits require an assistant message");let r=bE(t);return e&&r.messages.push(qg(e)),Object.freeze({transcriptHash:wE(r.system,r.messages),messageCount:r.messages.length})}function SE(t,e){if(!Number.isInteger(t.messageCount)||t.messageCount<0||typeof t.transcriptHash!="string")return;let r=bE(e);if(!(r.messages.length<=t.messageCount)&&wE(r.system,r.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function LF(t,e){if(t.length===0||t.length!==e.length)return;let r=new Map;for(let s of e){let i=s.toolCallId;if(!i||r.has(i))return;r.set(i,s)}let n=new Set,o=[];for(let s of t){if(!s.id||n.has(s.id))return;n.add(s.id);let i=r.get(s.id);if(!i)return;o.push({parked:s,result:i})}return o}var rn=t=>({action:"retire-and-replay-full",reason:t});function EE(t){let{session:e,turn:r}=t;if(e.poisoned)return rn("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:rn("inconsistent-unused-session");if(e.alignment==="unknown")return rn("unknown-context-alignment");if(e.alignment==="divergent")return rn("divergent-context-alignment");if(e.run.kind==="active-different-turn")return rn("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return rn("dead-parked-run");if(r.hasMeaningfulSteering)return rn("parked-turn-has-steering");let n=LF(e.run.tools,r.toolResults);return n?{action:"resume-parked",reason:"exact-parked-tool-results",matches:n}:rn("parked-tool-results-mismatch")}return r.toolResults.length>0?rn("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function dr(t){let e=t instanceof Error?t.message:typeof t=="string"&&t?t:"Cursor turn subscriber aborted";return Object.assign(new Error(e),{name:"AbortError"})}async function Hg(t,e){let r;try{await Promise.race([t,new Promise(n=>{r=setTimeout(n,e)})])}finally{r&&clearTimeout(r)}}var Wg=class{constructor(e,r,n,o){this.sessionKey=e;this.fingerprint=r;this.responseKind=n;this.onTerminal=o;this.ready.catch(()=>{})}abortController=new AbortController;phase="awaiting_response";responseMetadata;sourceReader;chunks=[];bufferedBytes=0;replayable=!0;readySettled=!1;completedAt;nextInterestId=1;nextSubscriberId=1;interests=new Set;subscribers=new Map;failure;readyResolve;readyReject;settledResolve;ready=new Promise((e,r)=>{this.readyResolve=e,this.readyReject=r});settled=new Promise(e=>{this.settledResolve=e});get canReplay(){return this.phase==="completed"&&this.replayable}get replayAgeMs(){return this.completedAt===void 0?Number.POSITIVE_INFINITY:Date.now()-this.completedAt}get isJoinable(){return this.replayable&&(this.phase==="awaiting_response"||this.phase==="streaming")}get isProducing(){return this.phase==="awaiting_response"||this.phase==="streaming"}reserve(e,r){let n=this.nextInterestId++;return this.interests.add(n),new Gg(this,n,e,r)}releaseInterest(e){if(this.interests.delete(e))return this.abortIfUnobserved("Cursor turn has no remaining subscribers")}async attach(e,r,n){if(this.phase==="aborting"||this.phase==="failed"||this.abortController.signal.aborted){try{await e.body?.cancel(this.abortController.signal.reason)}catch{}this.finishFailed(dr(this.abortController.signal.reason??"Cursor turn superseded"));return}let o=[];e.headers.forEach((i,c)=>{o.push([c,i])}),this.responseMetadata={status:e.status,statusText:e.statusText,headers:o},this.phase="streaming";let s=this.interests.has(r)?this.responseForReadyInterest(r,n):void 0;return this.readySettled=!0,this.readyResolve(),e.body?(this.sourceReader=e.body.getReader(),s&&this.ensurePumpStarted(),s):(this.finishCompleted(),s)}fail(e){this.finishFailed(e instanceof Error?e:new Error(String(e)))}async supersede(e){if(this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"){await Hg(this.settled,3e3);return}this.phase="aborting";let r=dr(e);this.readySettled||(this.readySettled=!0,this.readyReject(r)),this.abortController.abort(r),this.errorSubscribers(r);let n=this.sourceReader;if(n){let o=Promise.resolve(n.cancel(r)).catch(()=>{}).then(()=>{});await Hg(o,3e3),this.finishFailed(r)}await Hg(this.settled,3e3)}async responseFor(e,r){if(await this.ready,!this.interests.has(e))throw dr(r?.reason);if(!this.responseMetadata)throw this.failure||new Error("Cursor turn response metadata is missing");if(!this.replayable&&this.phase!=="streaming")throw this.releaseInterest(e),Object.assign(new Error("Cursor turn result exceeded the bounded replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});let n=this.responseForReadyInterest(e,r);return this.ensurePumpStarted(),n}responseForReadyInterest(e,r){let n=this.openStream(e,r);return new Response(n,{status:this.responseMetadata.status,statusText:this.responseMetadata.statusText,headers:this.responseMetadata.headers})}openStream(e,r){let n;return new ReadableStream({start:o=>{if(!this.interests.has(e)){o.error(dr(r?.reason));return}n=this.nextSubscriberId++;let s={controller:o};if(this.subscribers.set(n,s),this.interests.delete(e),r){let i=()=>{n!==void 0&&this.removeSubscriber(n,dr(r.reason))};if(r.aborted){i();return}r.addEventListener("abort",i,{once:!0}),s.removeAbortListener=()=>r.removeEventListener("abort",i)}if(!this.replayable){this.removeSubscriber(n,Object.assign(new Error("Cursor turn cannot replay an oversized active result"),{statusCode:409,code:"cursor_turn_not_replayable"}));return}for(let i of this.chunks)o.enqueue(i);this.phase==="completed"?this.closeSubscriber(n):(this.phase==="failed"||this.phase==="aborting")&&this.removeSubscriber(n,this.failure||dr("Cursor turn ended before subscription"))},cancel:o=>n!==void 0?this.removeSubscriber(n,dr(o),!1):this.releaseInterest(e)})}pumpStarted=!1;ensurePumpStarted(){this.pumpStarted||!this.sourceReader||this.phase!=="streaming"||(this.pumpStarted=!0,this.pump())}async pump(){let e=this.sourceReader;if(e)try{for(;this.phase==="streaming";){let{done:r,value:n}=await e.read();if(r){this.finishCompleted();return}if(n){if(this.replayable)if(this.bufferedBytes+n.byteLength<=8388608){let o=n.slice();this.chunks.push(o),this.bufferedBytes+=o.byteLength}else this.replayable=!1,this.chunks=[];for(let o of this.subscribers.values())o.controller.enqueue(n)}}}catch(r){this.finishFailed(r instanceof Error?r:new Error(String(r)))}}abortIfUnobserved(e){if(!(this.interests.size>0||this.subscribers.size>0||this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"))return this.supersede(e)}removeSubscriber(e,r,n=!0){let o=this.subscribers.get(e);if(o){if(this.subscribers.delete(e),o.removeAbortListener?.(),n)try{o.controller.error(r)}catch{}return this.abortIfUnobserved(r.message)}}closeSubscriber(e){let r=this.subscribers.get(e);if(r){this.subscribers.delete(e),r.removeAbortListener?.();try{r.controller.close()}catch{}}}errorSubscribers(e){for(let r of[...this.subscribers.keys()])this.removeSubscriber(r,e)}releaseSourceReader(){let e=this.sourceReader;if(this.sourceReader=void 0,!!e)try{e.releaseLock()}catch{}}finishCompleted(){if(!(this.phase==="completed"||this.phase==="failed")){if(this.phase==="aborting"){this.finishFailed(dr(this.abortController.signal.reason));return}this.phase="completed",this.completedAt=Date.now(),this.releaseSourceReader();for(let e of[...this.subscribers.keys()])this.closeSubscriber(e);this.settledResolve(),this.onTerminal(this,"completed")}}finishFailed(e){this.phase==="completed"||this.phase==="failed"||(this.phase="failed",this.failure=e,this.releaseSourceReader(),this.readySettled||(this.readySettled=!0,this.readyReject(e)),this.errorSubscribers(e),this.interests.clear(),this.settledResolve(),this.onTerminal(this,"failed"))}},Gg=class{constructor(e,r,n,o="join"){this.turn=e;this.interestId=r;this.signal=n;this.kind=o;if(n){let s=()=>{this.turn.releaseInterest(this.interestId)};n.aborted?s():(n.addEventListener("abort",s,{once:!0}),this.removeReservationAbortListener=()=>n.removeEventListener("abort",s))}}attachedResponse;removeReservationAbortListener;get producerSignal(){return this.turn.abortController.signal}attach(e){if(this.kind!=="leader")throw new Error("Only the Cursor turn leader may attach a response");return this.turn.attach(e,this.interestId,this.signal).then(r=>{this.attachedResponse=r})}fail(e){this.kind==="leader"&&this.turn.fail(e),this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}async response(){try{if(this.attachedResponse){let e=this.attachedResponse;return this.attachedResponse=void 0,e}return await this.turn.responseFor(this.interestId,this.signal)}finally{this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}}},Jg=class{sessions=new Map;admissionGates=new Map;forgetExpiredSuperseded(e,r,n=!0){let o=Date.now();for(let[s,i]of r.superseded)i<=o&&r.superseded.delete(s);n&&!r.active&&!r.completed&&r.superseded.size===0&&this.sessions.delete(e)}rememberSuperseded(e,r,n){for(r.superseded.delete(n),r.superseded.set(n,Date.now()+9e5);r.superseded.size>16;){let s=r.superseded.keys().next().value;if(typeof s!="string")break;r.superseded.delete(s)}let o=setTimeout(()=>{let s=this.sessions.get(e);s&&this.forgetExpiredSuperseded(e,s)},9e5);typeof o.unref=="function"&&o.unref()}async admit(e){if(e.signal?.aborted)throw dr(e.signal.reason);let r=this.admissionGates.get(e.sessionKey),n,o=new Promise(s=>{n=s});this.admissionGates.set(e.sessionKey,o),r&&await r;try{if(e.signal?.aborted)throw dr(e.signal.reason);for(;;){if(e.signal?.aborted)throw dr(e.signal.reason);let s=this.sessions.get(e.sessionKey)||{superseded:new Map};if(this.sessions.set(e.sessionKey,s),this.forgetExpiredSuperseded(e.sessionKey,s,!1),s.superseded.has(e.fingerprint))throw Object.assign(new Error("This Cursor turn was superseded by a newer request"),{statusCode:409,code:"cursor_turn_superseded"});let i=s.active;if(i){if(i.fingerprint===e.fingerprint){if(i.responseKind!==e.responseKind)throw Object.assign(new Error("An identical Cursor turn is already using a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});if(i.isJoinable)return i.reserve(e.signal,"join");if(i.isProducing)throw Object.assign(new Error("The active Cursor turn exceeded the bounded duplicate replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});await i.supersede("Waiting for the aborted Cursor turn to finish cleanup"),s.active===i&&(s.active=void 0);continue}this.rememberSuperseded(e.sessionKey,s,i.fingerprint),await i.supersede("Cursor turn superseded by a newer request"),s.active===i&&(s.active=void 0);continue}let c=s.completed;if(c&&c.replayAgeMs<=6e4&&c.fingerprint===e.fingerprint&&c.canReplay){if(c.responseKind!==e.responseKind)throw Object.assign(new Error("The cached Cursor turn uses a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});return c.reserve(e.signal,"replay")}c&&c.fingerprint!==e.fingerprint&&this.rememberSuperseded(e.sessionKey,s,c.fingerprint),s.completed=void 0;let u=new Wg(e.sessionKey,e.fingerprint,e.responseKind,(f,d)=>{let h=this.sessions.get(e.sessionKey);if(h){if(h.active===f&&(h.active=void 0),d==="completed"&&f.canReplay){h.completed=f;let m=setTimeout(()=>{let S=this.sessions.get(e.sessionKey);S?.completed===f&&(S.completed=void 0,this.forgetExpiredSuperseded(e.sessionKey,S))},6e4);typeof m.unref=="function"&&m.unref()}!h.active&&!h.completed&&h.superseded.size===0&&this.sessions.delete(e.sessionKey)}});return s.active=u,s.completed=void 0,u.reserve(e.signal,"leader")}}finally{n(),this.admissionGates.get(e.sessionKey)===o&&this.admissionGates.delete(e.sessionKey)}}clear(){for(let e of this.sessions.values())e.active&&e.active.supersede("Cursor turn registry cleared");this.sessions.clear()}},AE=new Jg;var qF=900*1e3,Hi=null;function Vg(t){return ks([t])}async function $F(t){let e=Vg(t);if(Hi&&Hi.apiKeyFingerprint===e&&Date.now()-Hi.fetchedAt<qF)return Hi.models;let r=await TE.Cursor.models.list({apiKey:t})||[];return Hi={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function zF(t,e,r){let n=[];try{n=await $F(t)}catch{return{id:e}}let o=n.find(i=>i.id===e||i.displayName===e||Array.isArray(i.aliases)&&i.aliases.includes(e));if(!o)return{id:e};if(r&&Array.isArray(o.variants)&&o.variants.length){let i=o.variants.find(c=>c.params?.some(u=>/effort|reasoning/i.test(u.id)&&String(u.value).toLowerCase()===String(r).toLowerCase()))||o.variants.find(c=>(c.displayName||"").toLowerCase().includes(String(r).toLowerCase()));if(i)return{id:o.id,params:i.params}}let s=o.variants?.find(i=>i.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function HF(t){let e=[];for(let r of t.messages||[])if((r.role==="system"||r.role==="user")&&(typeof r.content=="string"?e.push(r.content):Array.isArray(r.content)&&e.push(r.content.map(n=>typeof n=="string"?n:n?.text||"").join("")),r.role==="user"))break;return e.join(`
|
|
352
|
+
`)}function WF(t){return t.length===1&&t[0]?.role==="user"}function GF(t,e,r){if(e.hasTrailingUserInput)return!1;let n=r?.interruption==="synthetic_client_interrupt"&&r.steering==="none",o=e.toolResults.length+(n?1:0);if(t.length!==o)return!1;for(let s=0;s<e.toolResults.length;s+=1){let i=t[s],c=e.toolResults[s];if(i?.role!=="tool"||i.tool_call_id!==c.toolCallId||lr(i.content)!==c.content)return!1}return!n||t[t.length-1]?.role==="user"}function fr(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*JF(t,e,r,n){let o=t.streamIterator;if(!o){yield{kind:"end"};return}let s=d=>(d.catch(()=>{}),t.streamNext=d,t.streamNextRunToken=r,d),i=s(t.streamNextRunToken===r&&t.streamNext?t.streamNext:o.next()),c=t.waitForEmit().then(()=>"emit"),u=t.waitForSdkMessage().then(()=>"sdk_message"),f=()=>{let d=t.pendingSdkMessages.findIndex(m=>m.runToken===r);if(d===-1)return;let[h]=t.pendingSdkMessages.splice(d,1);return h};for(;;){if(n?.aborted||t.activeRunToken!==r){yield{kind:"end",aborted:n?.aborted===!0};return}let d=f();if(d){yield{kind:"sdk",message:d.message,source:d.source};continue}let h=await Promise.race([u.then(b=>({type:b})),i.then(b=>({type:"msg",r:b})),c.then(b=>({type:b}))]);if(h.type==="emit"){for(;t.pendingEmit.length&&t.pendingEmit[0]?.runToken===r;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};c=t.waitForEmit().then(()=>"emit");continue}if(h.type==="sdk_message"){for(;;){let b=f();if(!b)break;yield{kind:"sdk",message:b.message,source:b.source}}u=t.waitForSdkMessage().then(()=>"sdk_message");continue}let{r:m}=h;if(t.streamNext===i&&(t.streamNext=void 0,t.streamNextRunToken=void 0),m.done){yield{kind:"end"};return}let S=m.value;if(n?.aborted||t.activeRunToken!==r){yield{kind:"end",aborted:n?.aborted===!0};return}S?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:S,source:"stream"},i=s(o.next())}}function VF(t,e){if(!e||e.type!=="thinking-delta")return;let r=Ss(e.text);if(r)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:r}}async function Wi(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:Mn.retireSession(t,e.reason,()=>Al(t,async()=>(await Pg(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),Mn.invalidate(t,e.reason),!0)))}function KF(t,e,r,n){let o=n.cursorMode||wl,s=t.model||"composer-2",i;try{i=IS(e)}catch(d){throw Object.assign(d instanceof Error?d:new Error(String(d)),{statusCode:d?.statusCode||401,code:"provider_response_error",type:"api_error"})}let c=r?.req?.headers?.["x-ccr-cursor-session"]||r?.req?.headers?.["X-Ccr-Cursor-Session"],u=n.sourceSessionIdentity||r?.unifiedRequest?.sourceSessionIdentity||t?.metadata?.user_id,f=sE({headerSession:typeof c=="string"?c:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:HF(t)});return{apiKey:i,hostEnv:qi(t),mode:o,modelId:s,sessionKey:f,turnIntent:n.turnIntent||r?.unifiedRequest?.turnIntent}}async function vE(t,e,r,n={}){let o=KF(t,e,r,n),s=n.cursorCwd||`managed-session:${o.sessionKey}`,i=zg({credentialFingerprint:Vg(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:Tg(t)||""},sandboxEnabled:zi(n.sandboxEnabled),tools:t.tools,workspaceDir:s}),c=CE(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await AE.admit({sessionKey:o.sessionKey,fingerprint:c,responseKind:t.stream===!0?"stream":"json",signal:n.abortSignal});if(u.kind!=="leader")return u.response();try{let f=await YF(t,e,r,{...n,abortSignal:u.producerSignal,turnIntent:o.turnIntent},o);await u.attach(f)}catch(f){throw u.fail(f),f}return u.response()}async function YF(t,e,r,n,o){fr(n.abortSignal);let s=n.logger||e?.logger;s&&Mn.setLogger(s);let i=o.mode,c=t.stream===!0,u=o.modelId,f=o.apiKey,d=o.sessionKey,h=Tg(t),m=await zF(f,u,h);fr(n.abortSignal);let S=o.hostEnv,b={key:d,apiKey:f,model:m,mode:i,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled,hostEnv:S};fr(n.abortSignal);let y=await Mn.getOrCreate(b);fr(n.abortSignal);let C=Y=>!S.known&&Y.hostEnv?.known?Y.hostEnv:S,_=Y=>zg({credentialFingerprint:Vg(f),guidanceFingerprint:C(Y).fingerprint,mode:i,model:m,sandboxEnabled:zi(n.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),R=C(y),k=_(y),T=rE(t,n.turnIntent),O=T.toolResults,D=y.parked.length>0?{kind:"parked",live:!!(y.run&&y.streamIterator&&y.activeRunToken&&!y.poisoned),tools:y.parked}:y.run||y.streamIterator||y.streamNext||y.activeRunToken?{kind:"active-different-turn"}:{kind:"idle"},M=y.transcriptCommit&&y.compatibilityStamp===k?SE(y.transcriptCommit,t):void 0,W=M===void 0?!1:D.kind==="parked"?GF(M,T,n.turnIntent):D.kind==="idle"?WF(M):!0,$=!y.hasSentPrompt||!y.transcriptCommit?"unknown":W?"strict":"divergent",oe=EE({session:{alignment:$,hasSentPrompt:y.hasSentPrompt,poisoned:y.poisoned===!0,run:D},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:O}});if(oe.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:y.key,agentId:y.agentId,alignment:$,lifecycleReason:oe.reason,toolResultCount:O.length},"cursor-sdk retiring session before full transcript replay"),await Wi(y,{reason:`cursor-sdk lifecycle: ${oe.reason}`,onlyRunToken:y.activeRunToken}),fr(n.abortSignal),y=await Mn.getOrCreate(b),fr(n.abortSignal),R=C(y),k=_(y),oe={action:"send-full",reason:"unused-session"}),fr(n.abortSignal),Ig(y,R),oe.action==="resume-parked"&&(fr(n.abortSignal),Mn.resolveParkedTools(y,O)!==O.length||y.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let K=oe.action!=="resume-parked",re=oe.action==="send-incremental",Q=y.activeRunToken,se=(Y,de)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(ne=>ne.runToken!==de),Y.notifySdkMessage()},ke=(Y,de)=>{let ne=i==="bridge"?lE(t,Y,s,be):void 0;return{model:m,mode:i==="plan"?"plan":"agent",local:ne?{customTools:ne}:void 0,onDelta:({update:w})=>{let A=VF(Y,w);A&&Y.enqueueSdkMessage(A,de)}}},be=jg(),Re=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),X=(Y,de)=>de.hasSentPrompt&&!n.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||Ng(Y)||Mg(Y)),ie=async(Y,de)=>{let ne;if(await Al(Y,async()=>{if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session is no longer safe for sends"),{retryFreshCursorSession:!0});if(Y.run||Y.streamIterator||Y.streamNext||Y.activeRunToken||Y.parked.length>0)throw As(Y,"cursor-sdk session became active after lifecycle admission"),Object.assign(new Error("cursor-sdk session became active before prompt send"),{retryFreshCursorSession:!0});if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session was retired during cancellation"),{retryFreshCursorSession:!0});let w=tE(t,{mode:i,workspaceDir:Y.workspaceDir,followUpOnly:de,hostEnv:R,turnIntent:n.turnIntent});ne=Symbol("cursor-sdk-run"),Y.activeRunToken=ne;try{let A=await Bg(Y,w,ke(Y,ne),{abortSignal:n.abortSignal,logger:s});Y.run=A,Y.activeRunToken=ne,Y.streamIterator=A.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,fr(n.abortSignal)}catch(A){throw ne&&Y.activeRunToken===ne&&(Y.activeRunToken=void 0,se(Y,ne)),(n.abortSignal?.aborted||Mg(A)||Ng(A))&&As(Y,n.abortSignal?.aborted?"cursor-sdk send aborted":"cursor-sdk send left session state unsafe"),s?.error?.({err:A},"cursor-sdk agent.send failed"),A}}),!ne)throw new Error("cursor-sdk agent.send did not produce a run token");return ne};if(K)try{Q=await ie(y,re)}catch(Y){let de=X(Y,y);if(await Wi(y,{reason:"cursor-sdk prompt send failed before streaming"}),!de)throw Re(Y);fr(n.abortSignal),s?.warn?.({err:Y,sessionKey:y.key,agentId:y.agentId},"cursor-sdk retrying failed resumed send with fresh session"),y=await Mn.getOrCreate(b),fr(n.abortSignal),R=C(y),k=_(y),Ig(y,R);try{Q=await ie(y,!1)}catch(ne){throw await Wi(y,{reason:"cursor-sdk fresh replay send failed before streaming"}),Re(ne)}}Q||(Q=Symbol("cursor-sdk-run"),y.activeRunToken=Q);let te=qS(u,new TextEncoder),Te=[],_e=hE(t),z=0,me,Ie=new ReadableStream({async start(Y){let de=()=>{be.scratchViolations<=0||s?.warn?.({sessionKey:y.key,model:u,scratchViolations:be.scratchViolations,scratchCorrections:be.scratchCorrections,metrics:y.metrics,hostProjectRoot:R.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},ne=x=>{Te.push(x),c&&Y.enqueue(te.encode(x))},w=x=>{typeof x=="string"&&x.length&&(z+=x.length)},A=()=>{let x=gE(me,y.lastSdkUsageRaw,_e),I=pE(_e,z,x);return me&&(y.lastSdkUsageRaw=me),I},v=()=>{if(y.activeRunToken!==Q)return;let I=vg(u,Te)?.choices?.[0]?.message;!I||I.role!=="assistant"||(y.transcriptCommit=kE(t,I),y.compatibilityStamp=k)},j=x=>{let I=A();s?.debug?.({reason:x,promptTokens:I.prompt_tokens,completionTokens:I.completion_tokens,outputChars:z,sdkUsageRaw:me,runUsage:y.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),ne(te.finish(x,I)),v()};try{let x=0,I=!1,L=!0,P=!1,N=!1,U,B="",G=0,ee=()=>{!P||N||(ne(te.thinkingSignature()),N=!0,L=!1)};for(;;){let ae=!1;for await(let Ce of JF(y,i,Q,n.abortSignal)){if(El(y),Ce.kind==="host_tool"){if(i!=="bridge")continue;for(ee(),L=!1,w(Ce.tool.name),w(JSON.stringify(Ce.tool.args??{})),ne(te.toolCall(Ce.tool,x)),x+=1;y.pendingEmit.length;){let he=y.pendingEmit.shift();w(he.name),w(JSON.stringify(he.args??{})),ne(te.toolCall(he,x)),x+=1}j("tool_calls"),c&&Y.enqueue(te.encodeDone()),Y.close();return}if(Ce.kind==="end"){if(Ce.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(ZS({mode:i,assistantText:B,emittedHostTools:x,continuationAttempts:G})){y.activeRunToken===Q&&(y.streamIterator=void 0,y.streamNext=void 0,y.streamNextRunToken=void 0,y.run=void 0,y.activeRunToken=void 0),G+=1,s?.warn?.({assistantText:B,attempt:G},"cursor-sdk continuing progress-only terminal turn");let he=Symbol("cursor-sdk-run");Q=he,y.activeRunToken=he;try{await Al(y,async()=>{if(y.poisoned||n.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let pe=await Bg(y,eE(R),ke(y,he),{abortSignal:n.abortSignal,logger:s});if(y.run=pe,y.activeRunToken=he,y.streamIterator=pe.stream()[Symbol.asyncIterator](),y.streamNext=void 0,y.streamNextRunToken=void 0,y.hasSentPrompt=!0,y.poisoned||n.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation retired during send")})}catch(pe){throw pe}B="",ae=!0;break}ee(),j("stop"),y.activeRunToken===Q&&(y.streamIterator=void 0,y.streamNext=void 0,y.streamNextRunToken=void 0,y.run=void 0,y.activeRunToken=void 0),c&&Y.enqueue(te.encodeDone()),Y.close();return}let ye=Ce.message;if(ye){if(ye.type==="assistant")for(let he of ye.message?.content||[])he.type==="text"&&he.text&&(ee(),L=!1,I=!0,B+=he.text,w(he.text),ne(te.content(he.text)));else if(ye.type==="thinking"){if(!L)continue;let he=Ce.source||"stream";if(U&&U!==he)continue;U=he;let pe=Ss(ye.text);pe&&(P=!0,w(pe),ne(te.thinking(pe)))}else if(ye.type==="usage")me=mE(ye);else if(ye.type==="status"){if(ye.status==="ERROR"||ye.status==="CANCELLED")throw Object.assign(new Error(ye.message||`Cursor run ${ye.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ye.type==="tool_call"&&i!=="bridge"&&i==="agent"&&ye.name){ee(),L=!1;let he=`
|
|
353
|
+
[cursor tool ${ye.status||"running"}: ${ye.name}]
|
|
354
|
+
`;w(he),ne(te.content(he))}}}if(!ae)break}!I&&!x&&(ee(),j("stop")),c&&Y.enqueue(te.encodeDone()),Y.close()}catch(x){s?.error?.({err:x,metrics:y.metrics},"cursor-sdk stream failed"),await Wi(y,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Q});try{Y.error(x)}catch{}}finally{de()}},async cancel(){await Wi(y,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Q})}});if(!c){let Y=Ie.getReader();for(;;){let{done:ne}=await Y.read();if(ne)break}let de=vg(u,Te);return new Response(JSON.stringify(de),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Ie,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function XF(t,e,r){return{cursorMode:t.cursorMode||wl,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:r,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var vl=class{static TransformerName=Sg;name=Sg;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let o=XF(this.options,n,this.logger),s={...e,messages:Je(e.messages),tools:Ve(e.tools)},i=await vE(s,r,n,o);return{body:s,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};var KE=require("crypto");var It=require("fs"),Dl=require("path"),DE=require("os"),xE=require("crypto"),xl="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",Ol="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",Yg="http://localhost:51121/oauth-callback",OE=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],Xg="https://daily-cloudcode-pa.sandbox.googleapis.com",PE="https://autopush-cloudcode-pa.sandbox.googleapis.com",FE="https://cloudcode-pa.googleapis.com",QF=[Xg,PE,FE],Kg=[FE,Xg,PE],ZF="1.18.3",eI=(0,Dl.join)((0,DE.homedir)(),".claude-code-router","antigravity_auth.json"),tI=12e4,IE="https://oauth2.googleapis.com/token",rI="https://www.googleapis.com/oauth2/v2/userinfo",Rl=null,NE=null;function ME(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||eI}function Ji(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${ZF} Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36`,"X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})}}function Gi(){try{let t=ME();if(!(0,It.existsSync)(t))return null;let e=JSON.parse((0,It.readFileSync)(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function Pl(t){let e=ME();(0,It.mkdirSync)((0,Dl.dirname)(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{(0,It.writeFileSync)(r,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),(0,It.renameSync)(r,e)}finally{try{(0,It.existsSync)(r)&&(0,It.unlinkSync)(r)}catch{}}}function nI(t){return Date.now()+tI>=t.expires_at}async function oI(t){let e=new URLSearchParams({client_id:xl,client_secret:Ol,refresh_token:t.refresh_token,grant_type:"refresh_token"}),r=await fetch(IE,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e});if(!r.ok){let s=await r.text().catch(()=>"");throw new Error(`Antigravity token refresh failed (${r.status}). Run \`ccr antigravity-auth\` again. ${s.slice(0,200)}`)}let n=await r.json();if(!n.access_token)throw new Error("Antigravity token refresh returned no access_token. Run `ccr antigravity-auth` again.");let o={...t,access_token:n.access_token,refresh_token:n.refresh_token||t.refresh_token,expires_at:Date.now()+(n.expires_in||3600)*1e3};return Pl(o),o}async function Vi(t){let e=Gi();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!nI(e)?e:(Rl||(Rl=oI(e).finally(()=>{Rl=null})),Rl)}function Ts(t){let e=t?.cloudaicompanionProject;if(typeof e=="string"&&e.trim())return e.trim();if(e&&typeof e.id=="string"&&e.id.trim())return e.id.trim()}function sI(t){let e=r=>{if(r){if(typeof r=="string"&&r.trim())return r.trim();if(typeof r=="object"&&typeof r.id=="string"&&r.id.trim())return r.id.trim()}};return e(t?.paidTier)||e(t?.currentTier)||e(t?.allowedTiers?.find(r=>r?.isDefault))||e(t?.allowedTiers?.[0])||void 0}function BE(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function RE(t){await new Promise(e=>setTimeout(e,t))}async function iI(t,e,r){let n=r.startsWith("http")?r:`${e}/${r.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ji()};for(let s=0;s<20;s++){try{let i=await fetch(n,{method:"GET",headers:o,signal:AbortSignal.timeout(15e3)});if(!i.ok){await RE(2e3);continue}let c=await i.json();if(c?.done===!0)return Ts(c?.response)||Ts(c)||void 0}catch{}await RE(2e3)}}async function aI(t,e,r){try{let n=await fetch(`${r}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ji()},body:JSON.stringify({tierId:e,metadata:BE()}),signal:AbortSignal.timeout(3e4)});if(!n.ok)return;let o=await n.json(),s=Ts(o?.response)||Ts(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?iI(t,r,o.name.trim()):void 0}catch{return}}function cI(t){let e=sI(t),r=["free-tier","FREE"];return[...new Set([e,...r].filter(Boolean))]}async function uI(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ji()},r=JSON.stringify({metadata:BE()}),n;for(let o of Kg)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:r,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=await s.json();n=i;let c=Ts(i);if(c)return c}catch{}for(let o of cI(n))for(let s of Kg){let i=await aI(t,o,s);if(i)return i}for(let o of Kg)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:r,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=Ts(await s.json());if(i)return i}catch{}}async function Fl(t,e){let r=t?.project_id?.trim();if(r)return r;let n=Gi();if(n?.project_id?.trim())return n.project_id.trim();let o=await uI(e);if(o){let s=Gi();return s&&Pl({...s,project_id:o}),o}}function Ki(){return NE||Xg}function jE(t){NE=t}var UE=new Set;function LE(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function qE(t){UE.add(t.replace(/\/$/,""))}function lI(t){return UE.has(t.replace(/\/$/,""))}function $E(t,e){return e?t===404||t===403||t>=500:!1}function zE(t){let e=t?.replace(/\/$/,"")||Ki(),r=[...new Set([e,...QF])],n=r.filter(o=>!lI(o));return n.length?n:r}function Il(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function HE(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:(0,xE.randomUUID)()}}async function WE(t){try{let e=await fetch(rI,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function GE(t,e){let r=new URLSearchParams({client_id:xl,client_secret:Ol,code:t,grant_type:"authorization_code",redirect_uri:Yg,code_verifier:e}),n=await fetch(IE,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r});if(!n.ok){let s=await n.text().catch(()=>"");throw new Error(`Antigravity token exchange failed (${n.status}): ${s.slice(0,300)}`)}let o=await n.json();if(!o.access_token||!o.refresh_token)throw new Error("Antigravity token exchange did not return access_token and refresh_token. Re-auth with prompt=consent may be required.");return{access_token:o.access_token,refresh_token:o.refresh_token,expires_at:Date.now()+(o.expires_in||3600)*1e3}}function JE(t){try{let e=JSON.parse(t),r=e?.error?.details||e?.details;if(!Array.isArray(r))return;for(let n of r){let o=n?.retryDelay||n?.retry_delay;if(typeof o=="string"){let s=o.match(/^([\d.]+)s$/);if(s)return Math.ceil(parseFloat(s[1])*1e3)}}}catch{}}function VE(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function dI(t,e){let r=t?.req?.body?.model;return typeof r=="string"&&r?r:typeof t?.req?.model=="string"&&t.req.model?t.req.model:e?.models?.[0]||""}function fI(t){return t?.req?.body?.stream===!0}function hI(t){return zE(t)}var Nl=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,r,n,o){let s=await Vi({force:o?.forceRefresh}),i=await Fl(r,s.access_token),c=dI(n,r),u=fI(n),f=HE({...i?{project:i}:{},model:c,request:e});return f.requestId=f.requestId||(0,KE.randomUUID)(),{body:f,accessToken:s.access_token,projectId:i,model:c,stream:u}}buildHeaders(e,r){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json","x-goog-api-key":void 0,...Ji(),...r?{Accept:"text/event-stream"}:{}}}async sendWithFallback(e,r,n,o,s,i=!1){let c=s?.req?.server?.configService?.getHttpsProxy?.(),u=this.logger??s?.req?.log??s?.req?.server?.log,f=o?.baseUrl||o?.api_base_url||Ki(),d=hI(f),h;for(let m=0;m<d.length;m++){let S=d[m],b=Il(S,n),y=this.buildHeaders(r,n);try{let C=await Bo(b,e,{httpsProxy:c,headers:Object.fromEntries(Object.entries(y).filter(([,_])=>_!==void 0)),signal:s?.signal},s,u);if(C.status===401&&!i){let _=await Vi({force:!0});return this.sendWithFallback(e,_.access_token,n,o,s,!0)}if(C.status===429){let _=await C.clone().text().catch(()=>""),R=JE(_),k={};throw R!=null&&(k["Retry-After"]=String(Math.ceil(R/1e3))),$e(_t(_)||"Antigravity rate limit exceeded",429,"rate_limit_error","api_error",k)}if(!C.ok){let _=await C.clone().text().catch(()=>"");if(C.status===403&&LE(_)&&(qE(S),u?.warn?.({endpoint:S},"Antigravity endpoint is not enabled for this project; skipping it")),$E(C.status,m<d.length-1)){h=$e(`Antigravity endpoint ${S} returned ${C.status}`,C.status,"provider_error");continue}throw $e(_t(_)||`Antigravity request failed with ${C.status}`,C.status,C.status===403?"permission_error":"provider_error")}return jE(S),C}catch(C){if(C?.statusCode===429||C?.status===429||!Kn(C))throw C;if(h=C,m<d.length-1)continue;throw C}}throw h||$e("All Antigravity endpoints failed",502,"provider_error")}async transformRequestIn(e,r,n){let o=await this.buildAuthAndEnvelope(e,r,n),s=await this.sendWithFallback(o.body,o.accessToken,o.stream,r,n);return{body:o.body,config:{url:Il(Ki(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream),__providerResponse:s}}}async auth(e,r,n){let o=await this.buildAuthAndEnvelope(e,r,n);return{config:{url:Il(r?.baseUrl||Ki(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream)}}}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(!r||r.includes("text/event-stream"))return e.body?ze(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(xe(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(6);if(s.trim()==="[DONE]"){o.controller.enqueue(Me("[DONE]",o.encoder));return}try{let i=JSON.parse(s),c=VE(i);o.controller.enqueue(Me(JSON.stringify(c),o.encoder))}catch{o.controller.enqueue(xe(n,o.encoder))}return}o.controller.enqueue(xe(n,o.encoder))},{logger:this.logger}):e;if(r.includes("application/json")){let n=await e.text();try{let o=JSON.parse(n),s=VE(o);return new Response(JSON.stringify(s),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return new Response(n,{status:e.status,statusText:e.statusText,headers:e.headers})}}return e}};var YE={AnthropicTransformer:jo,GeminiTransformer:oc,VertexGeminiTransformer:xu,VertexClaudeTransformer:Qu,VertexOpenaiTransformer:Zu,DeepseekTransformer:Lu,TooluseTransformer:qu,OpenrouterTransformer:$u,OpenAITransformer:rl,MaxTokenTransformer:zu,GroqTransformer:Hu,CleancacheTransformer:Wu,EnhanceToolTransformer:Ju,ReasoningTransformer:Vu,SamplingTransformer:Ku,MaxCompletionTokens:Yu,CerebrasTransformer:el,StreamOptionsTransformer:tl,CustomParamsTransformer:nl,VercelTransformer:ol,OpenAIResponsesTransformer:sl,CodexTransformer:dl,QwenAuthTransformer:fl,ForceReasoningTransformer:hl,ExtraThinkTagTransformer:pl,MistralTransformer:gl,ChromeOnDeviceTransformer:ml,OpencodeHeadersTransformer:yl,ClaudeAuthTransformer:Cl,CursorSdkTransformer:vl,AntigravityAuthTransformer:Nl};var Co=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[],r=new Map,n=(o,s)=>{let i=s.endPoint;if(!i)return;let c=r.get(i);if(c){this.logger?.debug?.(`transformer ${o} shares endpoint ${i} with ${c}; keeping ${c}`);return}r.set(i,o),e.push({name:o,transformer:s})};return this.transformers.forEach((o,s)=>{if(typeof o=="object"){n(s,o);return}if(typeof o=="function")try{let i=new o;i&&typeof i=="object"&&(i.logger=this.logger),n(s,i)}catch(i){this.logger?.warn?.(`transformer ${s} could not be instantiated for endpoint registration: ${i?.message}`)}}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&!r.endPoint&&e.push({name:n,transformer:r})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let r=require(require.resolve(e.path));if(r){let n=new r(e.options);if(n&&typeof n=="object"&&(n.logger=this.logger),!n.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(n.name,n),!0}}return!1}catch(r){return this.logger.error(`load transformer (${e.path})
|
|
339
355
|
error: ${r.message}
|
|
340
356
|
stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
|
|
341
|
-
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(
|
|
342
|
-
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},OR=xR,FR=class extends Nr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},PR=FR,IR=class extends Nr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>xb(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},NR=IR,BR=class extends Nr{normalize(t){let e=Yu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},jR=BR,MR=class extends Nr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Xu=MR,UR=class extends Xu{constructor(){super(...arguments),this.form="NFC"}},LR=UR,qR=class extends Xu{constructor(){super(...arguments),this.form="NFD"}},$R=qR,zR=class extends Xu{constructor(){super(...arguments),this.form="NFKC"}},HR=zR,WR=class extends Xu{constructor(){super(...arguments),this.form="NFKD"}},GR=WR,JR=class extends Nr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},VR=JR,KR=class extends Nr{normalize(t){return Rb(t)}},YR=KR,XR=class extends Nr{normalize(t){return t.toLowerCase()}},QR=XR,ZR=class extends Nr{normalize(t){return t=this.config.prepend+t,t}},ex=ZR;function tx(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new OR(t);case"Precompiled":return new PR(t);case"Sequence":return new NR(t);case"Replace":return new jR(t);case"NFC":return new LR(t);case"NFD":return new $R(t);case"NFKC":return new HR(t);case"NFKD":return new GR(t);case"Strip":return new VR(t);case"StripAccents":return new YR(t);case"Lowercase":return new QR(t);case"Prepend":return new ex(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var xb=tx,rx=class extends js{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},fr=rx,nx=class extends fr{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=vb,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},ox=nx,sx=class extends fr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},ix=sx,ax=class extends fr{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},ux=ax,cx=class extends fr{constructor(t){super(),this.config=t,this.pattern=Yu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):TR(t,this.pattern)}},lx=cx,fx=class extends fr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Bs}]+|[${Bs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},dx=fx,hx=class extends fr{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},px=hx,gx=class extends fr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Bs}]+|[${Bs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},mx=gx,yx=class extends fr{constructor(t){super(),this.config=t,this.pattern=Yu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},_x=yx,bx=class extends fr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>Ob(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},Cx=bx,wx=class extends fr{pre_tokenize_text(t){return DR(t)}},Ex=wx;function kx(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new mx;case"Sequence":return new Cx(t);case"Whitespace":return new ix;case"WhitespaceSplit":return new Ex;case"Metaspace":return new ux(t);case"ByteLevel":return new ox(t);case"Split":return new lx(t);case"Punctuation":return new dx(t);case"Digits":return new px(t);case"Replace":return new _x(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var Ob=kx,Sx=class extends js{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=wR(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},Qu=Sx,Ax=class extends Qu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=eh(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let u=n.length,c=null;for(;s<u;){let f=n.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){c=f;break}--u}if(c===null){o=!0;break}a.push(c),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},Sb=Ax,Ab=class Fb{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new Fb(!1,new Map)}},Tx=class{constructor(){this.root=Ab.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=Ab.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},Dx=Tx,Qd=class Pb{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new Pb(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},vx=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Qd(this.bos_token_id??0,0,0,0,0),o=new Qd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Qd(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,u=null;for(let c of this.end_nodes[e]){let f=c.backtrace_score+s.score;(u===null||f>a)&&(u=c.clone(),a=f)}if(u!==null)s.prev=u,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},Rx=vx;function xx(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var Ox=class extends Qu{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=xx(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new Dx,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),u=this.trie.common_prefix_search(a);for(let c of u){s.push(c);let f=this.tokens_to_ids.get(c),d=this.scores[f],p=SR(c);t.insert(n,p,d,f),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new Rx(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},Tb=Ox,Fx=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},Px=Fx,Ix=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},Nx=Ix,Bx=class extends Qu{constructor(t){super(t),this.tokens_to_ids=eh(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new Nx(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new Px((u,c)=>u.score<c.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<r.length;++u){let c={bias:u/r.length,token:r[u],prev:a,next:null};a.next=c,this.add_node(o,a),a=c}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let c={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};c.prev?(c.prev.next=c,this.add_node(o,c.prev)):s=c,c.next&&(c.next.prev=c,this.add_node(o,c))}for(let u=s;u!==null;u=u.next)n.push(u.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},Db=Bx,jx=class extends Qu{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=eh(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},Mx=jx;function Ux(t,e){switch(t.type){case"WordPiece":return new Sb(t);case"Unigram":return new Tb(t,e.eos_token);case"BPE":return new Db(t);default:if(t.vocab)return Array.isArray(t.vocab)?new Tb(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new Db(t):new Sb(t):new Mx(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var Lx=Ux,qx=class extends js{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Ms=qx,$x=class extends Ms{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Mt(o,t),s=Mt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Mt(o,e),s=Mt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},zx=$x,Hx=class extends Ms{post_process(t,e=null){return{tokens:e?Mt(t,e):t}}},Wx=Hx,Gx=class extends Ms{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Mt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Mt(t,o,e,s),n=Mt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Jx=Gx,Vx=class extends Ms{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Mt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Mt(t,o,e,s),n=Mt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Kx=Vx,Yx=class extends Ms{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>Ib(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},Xx=Yx;function Qx(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new zx(t);case"ByteLevel":return new Wx(t);case"BertProcessing":return new Jx(t);case"RobertaProcessing":return new Kx(t);case"Sequence":return new Xx(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var Ib=Qx,Zx=class extends js{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},dr=Zx,e1=class extends dr{constructor(t){super(t),this.byte_decoder=_R,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},t1=e1,r1=class extends dr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Zd(e)),e})}},n1=r1,o1=class extends dr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},s1=o1,i1=class extends dr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},a1=i1,u1=class extends dr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Zd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},c1=u1,l1=class extends dr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>Nb(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},f1=l1,d1=class extends dr{decode_chain(t){let e=Yu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},h1=d1,p1=class extends dr{decode_chain(t){return[t.join("")]}},g1=p1,m1=class extends dr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},y1=m1,_1=class extends dr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},b1=_1;function C1(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new t1(t);case"WordPiece":return new n1(t);case"Metaspace":return new s1(t);case"BPEDecoder":return new a1(t);case"CTC":return new c1(t);case"Sequence":return new f1(t);case"Replace":return new h1(t);case"Fuse":return new g1(t);case"Strip":return new y1(t);case"ByteFallback":return new b1(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var Nb=C1,w1=class{constructor(t,e){let r=kb(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=kb(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=xb(this.tokenizer.normalizer),this.pre_tokenizer=Ob(this.tokenizer.pre_tokenizer),this.model=Lx(this.tokenizer.model,this.config),this.post_processor=Ib(this.tokenizer.post_processor),this.decoder=Nb(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new mR(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new pR(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!kR(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Zd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=AR(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Mt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},Bb=w1;var Zu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||(0,Us.join)((0,jb.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,Us.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,Us.join)(e,"tokenizer.json"),tokenizerConfig:(0,Us.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,No.existsSync)(e)||(0,No.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,No.existsSync)(e.tokenizerJson)||!(0,No.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ls.promises.readFile(e.tokenizerJson,"utf-8"),Ls.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[u,c]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ls.promises.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),Ls.promises.writeFile(e.tokenizerConfig,JSON.stringify(c,null,2))]),{tokenizerJson:u,tokenizerConfig:c}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new Bb(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let u of a.content)u.type==="text"&&u.text?r.push(u.text):u.type==="tool_use"&&u.input?r.push(JSON.stringify(u.input)):u.type==="tool_result"&&r.push(typeof u.content=="string"?u.content:JSON.stringify(u.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let u of a.text)u&&r.push(u)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var ec=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let u=await a.json();return this.extractTokenCount(u)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var jn=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new Ns("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new Ns(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Zu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new ec(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var Lb=require("tiktoken");var th=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},tc=new th(100);var rc=require("fs/promises"),qs=require("fs/promises"),nc=require("path"),Mn=require("@caeliq/ccr-shared"),qb=require("lru-cache"),E1=(0,Lb.get_encoding)("cl100k_base"),Br=t=>E1.encode(t,void 0,[]),Mb="<CCR-SUBAGENT-MODEL>",Ub="</CCR-SUBAGENT-MODEL>",$b="x-anthropic-billing-header",Bo=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function zb(t){let e=t?.trim();if(!e)return;if(e.includes(","))return e;let r=e.indexOf("/");return r>0?`${e.slice(0,r)},${e.slice(r+1)}`:e}function k1(t){let e=`${$b}:`;if(!t.startsWith(e))return!1;let r=t.slice(e.length).trim();if(!r)return!1;if(r.startsWith("{"))try{let o=JSON.parse(r);return Bo(o)&&o.cc_is_subagent===!0}catch{return!1}let n=r.split(";").map(o=>o.trim()).filter(Boolean).flatMap(o=>{let s=o.indexOf("=");return s<0||o.slice(0,s).trim()!=="cc_is_subagent"?[]:[o.slice(s+1).trim()]});return n.length===1&&n[0]==="true"}function S1(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return!1;let r=e[0],n=typeof r=="string"?r:Bo(r)&&r.type==="text"&&typeof r.text=="string"?r.text:void 0;if(!n?.startsWith($b))return!1;let o=k1(n);return e.shift(),e.length===0&&delete t.system,o}function oc(t,e){let r=t.indexOf(Mb);if(r<0)return;let n=r+Mb.length,o=t.indexOf(Ub,n);if(o<0)return;let s=zb(t.slice(n,o));if(s)return e(`${t.slice(0,r)}${t.slice(o+Ub.length)}`),s}function Hb(t,e){if(typeof t=="string")return oc(t,e);if(!(!Bo(t)||typeof t.text!="string"))return oc(t.text,e)}function A1(t){let e=t?.system;if(typeof e=="string")return oc(e,r=>{t.system=r});if(Array.isArray(e))for(let r=0;r<e.length;r+=1){let n=e[r],o=Hb(n,s=>{typeof n=="string"?e[r]=s:Bo(n)&&(n.text=s)});if(o)return o}}function T1(t){if(typeof t.content=="string")return oc(t.content,r=>{t.content=r});if(!Array.isArray(t.content))return;let e=t.content;for(let r=0;r<e.length;r+=1){let n=e[r],o=Hb(n,s=>{typeof n=="string"?e[r]=s:Bo(n)&&(n.text=s)});if(o)return o}}function D1(t){if(!Array.isArray(t?.messages))return;let e=Math.min(t.messages.length,2);for(let r=0;r<e;r+=1){let n=t.messages[r];if(!Bo(n)||n.role!=="user")continue;let o=T1(n);if(o)return o}}function v1(t){return A1(t)||D1(t)}var rh=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Br(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Br(s.text).length:s.type==="tool_use"?n+=Br(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Br(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Br(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Br(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Br(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Br(o.name+o.description).length),o.input_schema&&(n+=Br(JSON.stringify(o.input_schema)).length)}),n},R1=async(t,e)=>{if(t.sessionId){let r=await nh(t.sessionId);if(r){let n=(0,nc.join)(Mn.HOME_DIR,r,"config.json"),o=(0,nc.join)(Mn.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,rc.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,rc.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},x1=async(t,e,r,n)=>{let o=await R1(t,r),s=r.get("providers")||[],a=o||r.get("Router");if(t.body.model.includes(",")){let[A,g]=t.body.model.split(","),_=s.find(m=>m.name.toLowerCase()===A),b=_?.models?.find(m=>m.toLowerCase()===g);return _&&b?{model:`${_.name},${b}`,scenarioType:"default"}:{model:t.body.model,scenarioType:"default"}}let u=a?.longContextThreshold||6e4,c=n&&n.input_tokens>u&&e>2e4,f=e>u;if((c||f)&&a?.longContext)return t.log.info(`Using long context model due to token count: ${e}, threshold: ${u}`),{model:a.longContext,scenarioType:"longContext"};let d=S1(t.body),p=v1(t.body);if(p)return t.log.info(`Using CCR subagent tag model: ${p}`),{model:p,scenarioType:"subagent"};if(d){let A=zb(process.env.CLAUDE_CODE_SUBAGENT_MODEL);if(A)return t.log.info(`Using CLAUDE_CODE_SUBAGENT_MODEL for Claude Code subagent: ${A}`),{model:A,scenarioType:"subagent"}}let y=r.get("Router");return t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&y?.background?(t.log.info(`Using background model for ${t.body.model}`),{model:y.background,scenarioType:"background"}):Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch?{model:a.webSearch,scenarioType:"webSearch"}:t.body.thinking&&a?.think?(t.log.info(`Using think model for ${t.body.thinking}`),{model:a.think,scenarioType:"think"}):{model:a?.default||t.body.model,scenarioType:"default"}},O1=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let r=JSON.parse(t);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}},sc=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=O1(t.body.metadata?.user_id);let s=tc.get(t.sessionId),{messages:a,system:u=[],tools:c}=t.body,f=n.get("REWRITE_SYSTEM_PROMPT");if(f&&u.length>1&&u[1]?.text?.includes("<env>")){let d=await(0,rc.readFile)(f,"utf-8");u[1].text=`${d}<env>${u[1].text.split("<env>").pop()}`}try{let[d,p]=t.body.model.split(","),y=r.tokenizerService?.getTokenizerConfigForModel(d,p),A;r.tokenizerService?A=(await r.tokenizerService.countTokens({messages:a,system:u,tools:c},y)).tokenCount:A=rh(a,u,c);let g,_=n.get("CUSTOM_ROUTER_PATH");if(_)try{let b=require(_);t.tokenCount=A,g=await b(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(g)t.scenarioType="default";else{let b=await x1(t,A,n,s);g=b.model,t.scenarioType=b.scenarioType}t.body.model=g}catch(d){t.log.error(`Error in router middleware: ${d.message}`);let p=n.get("Router");t.body.model=p?.default||t.body.model,t.scenarioType="default"}},cn=new qb.LRUCache({max:1e3}),nh=async(t,e)=>{if(cn.has(t)){let r=cn.get(t);return!r||r===""?null:r}try{if(!(await(0,qs.stat)(Mn.CLAUDE_PROJECTS_DIR)).isDirectory())return cn.set(t,""),null}catch(r){return r?.code==="ENOENT"?(cn.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),cn.set(t,""),null)}try{let r=await(0,qs.opendir)(Mn.CLAUDE_PROJECTS_DIR),n=[];for await(let a of r)a.isDirectory()&&n.push(a.name);let o=n.map(async a=>{let u=(0,nc.join)(Mn.CLAUDE_PROJECTS_DIR,a,`${t}.jsonl`);try{return(await(0,qs.stat)(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return cn.set(t,a),a;return cn.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),cn.set(t,""),null}};var oh=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},sh=new oh;var Zb=$e(Kb(),1);uh();ch();fh();Xb();var Ws=new Map,hh=new Map,ph={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,Zb.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)Mo.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&Mo.registerHandlers(s)}r.outputOptions&&Mo.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let u=s.provider,c=s.model,f=`${u}:${c}`;if(hh.has(f))return hh.get(f);let d=a.getTokenizerConfigForModel(u,c);if(!d)return t.log?.debug(`No tokenizer config for ${u}:${c}, using fallback`),null;try{let p=await a.getTokenizer(d);return hh.set(f,p),t.log?.info(`Created tokenizer for ${u}:${c} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${u}:${c}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,u)=>{let c=s.requestStartTime;if(!c)return;let f=s.id||Date.now().toString(),d;try{let g=s.body?.metadata?.user_id;if(g&&typeof g=="string"){let _=g.match(/_session_([a-f0-9-]+)/i);d=_?_[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(u instanceof ReadableStream){Ws.set(f,{requestId:f,sessionId:d,startTime:c,lastTokenTime:c,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=u.tee();return(async()=>{let m=null,v=async k=>{let w=Ws.get(f);if(!w)return;let T=performance.now();if(k){let O=(w.lastTokenTime-w.startTime)/1e3;O>0&&(w.tokensPerSecond=Math.round(w.tokenCount/O))}else{let O=T-1e3;w.tokenTimestamps=w.tokenTimestamps.filter(N=>N>O),w.tokensPerSecond=w.tokenTimestamps.length}await Qb(w,n,r.outputOptions,k,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let w=_.pipeThrough(new TextDecoderStream).pipeThrough(new Sr).getReader();for(m=setInterval(async()=>{Ws.get(f)&&await v(!1)},1e3);;){let{done:T,value:O}=await w.read();if(T)break;let N=O,G=Ws.get(f);if(!G)continue;let $=performance.now();if(!G.firstTokenTime&&(N.event==="content_block_start"||N.event==="content_block_delta"||N.event==="text_block"||N.event==="content_block")&&(G.firstTokenTime=$,G.timeToFirstToken=Math.round($-G.startTime)),N.event==="content_block_delta"&&N.data?.delta){let X=N.data.delta.type,K="";if(X==="text_delta"?K=N.data.delta.text||"":X==="input_json_delta"?K=N.data.delta.partial_json||"":X==="thinking_delta"&&(K=N.data.delta.thinking||""),K){let se=p&&p.encodeText?p.encodeText(K).length:Gs(K);G.tokenCount+=se,G.lastTokenTime=$;for(let _e=0;_e<se;_e++)G.tokenTimestamps.push($)}}N.event==="message_stop"&&(m&&(clearInterval(m),m=null),await v(!0),Ws.delete(f))}}catch(k){m&&clearInterval(m),k.name!=="AbortError"&&k.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${k.message}`)}})().catch(m=>{t.log.error(m,"Background stats processing failed")}),g}let y=performance.now(),A=0;if(u&&typeof u=="string")try{let g=JSON.parse(u);if(g.usage?.output_tokens)A=g.usage.output_tokens;else{let _=g.content||g.message?.content||"";if(p)Array.isArray(_)?A=_.reduce((b,m)=>{if(m.type==="text"){let v=m.text||"";return b+(p.encodeText?p.encodeText(v).length:Gs(v))}return b},0):typeof _=="string"&&(A=p.encodeText?p.encodeText(_).length:Gs(_));else{let b=Array.isArray(_)?_.map(m=>m.text).join(""):_;A=Gs(b)}}}catch{}if(A>0){let g=(y-c)/1e3,_={requestId:f,sessionId:d,startTime:c,lastTokenTime:y,tokenCount:A,tokensPerSecond:g>0?Math.round(A/g):0,timeToFirstToken:Math.round(y-c),stream:!1,tokenTimestamps:[]};await Qb(_,n,r.outputOptions,!0,t.log)}return u})})};function Gs(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function Qb(t,e,r,n=!1,o){let s=n?"[Token Speed Final]":"[Token Speed]",a={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},u={prefix:s,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await Mo.outputToType(c,a,u)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${c}:`,f)}}function j1(t={}){let e=(0,eC.default)({bodyLimit:52428800,...t});return e.setErrorHandler(Mp),e.register(tC.default),e}var gh=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=j1({...n,logger:n.logger??!0}),this.configService=new Cn({...e,logger:this.app.log}),this.transformerService=new Bn(this.configService,this.app.log),this.tokenizerService=new jn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new En(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.addHook("preHandler",async(c,f)=>{new URL(`http://127.0.0.1${c.url}`).pathname.endsWith("/v1/messages")&&await sc(c,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await Kc(u)});return}if(!r)throw new Error("options is required");let n=new Cn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new Bn(n,this.app.log);await o.initialize();let s=new En(n,o,this.app.log),a=new jn(n,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",n),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.addHook("preHandler",async(c,f)=>{new URL(`http://127.0.0.1${c.url}`).pathname.endsWith("/v1/messages")&&await sc(c,f,{configService:n,tokenizerService:a})}),await Kc(u)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let u=n.body;n.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let a=n.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let[u,...c]=a.model.split(",");a.model=c.join(","),n.provider=u,n.model=c;return}catch(a){return n.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`),await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},M1=gh;0&&(module.exports={ConfigService,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,isClientAbortError,pluginManager,rewriteStream,router,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
|
|
357
|
+
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(YE).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let r=new e;r&&typeof r=="object"&&(r.logger=this.logger),this.registerTransformer(r.name,r)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let r of e)await this.registerTransformerFromConfig(r)}};var XE=require("tiktoken"),Yi=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,XE.get_encoding)(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){if(!this.encoding)throw new Error("Encoding not initialized");let n=u=>this.encoding.encode(u,void 0,[]),o=0,{messages:s,system:i,tools:c}=e;return Array.isArray(s)&&s.forEach(u=>{typeof u.content=="string"?o+=n(u.content).length:Array.isArray(u.content)&&u.content.forEach(f=>{if(f.type==="text")o+=n(f.text).length;else if(f.type==="tool_use")o+=n(JSON.stringify(f.input)).length;else if(f.type==="tool_result"){let d=typeof f.content=="string"?f.content:JSON.stringify(f.content);o+=n(d).length}})}),typeof i=="string"?o+=n(i).length:Array.isArray(i)&&i.forEach(u=>{u.type==="text"&&(typeof u.text=="string"?o+=n(u.text).length:Array.isArray(u.text)&&u.text.forEach(f=>{o+=n(f||"").length}))}),c&&c.forEach(u=>{u.description&&(o+=n(u.name+u.description).length),u.input_schema&&(o+=n(JSON.stringify(u.input_schema)).length)}),o}isInitialized(){return this.encoding!==void 0}encodeText(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");return Array.from(r.encode(e,void 0,[]))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var ea=require("path"),hA=require("os"),vs=require("fs"),ta=require("fs");var pI=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let r of t){let n=e;for(let o=0;o<r.length;++o){let s=r[o];n=n[s]??=Object.create(null)}n.end=r}return e}split(t){let e=[],r=t.length,n=0,o=0;for(;o<r;){let s=this.trie,i=null,c=o;for(;c<r&&(s=s[t[c]]);)s.end&&(i=s.end),++c;i?(o>n&&e.push(t.slice(n,o)),e.push(i),o+=i.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},gI=pI,mI=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},yI=mI,oA=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),r=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+r),r+=1);let n=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,n[s]]))})(),_I=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),bI=_I(oA),QE=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",CI=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${QE}])]+`,` ?[^\\s${QE}]+`]]),Xi="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",V$=new RegExp(`^[${Xi}]+$`,"gu"),Zg=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),Ml=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of CI)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=wI(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},wI=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),kI=(t,e,r)=>{let n=[],o=0;for(;o<t.length;){if(n.push(t[o]),(e.get(t[o])??r)!==r){++o;continue}for(;++o<t.length&&(e.get(t[o])??r)===r;)e.get(n.at(-1))!==r&&(n[n.length-1]+=t[o])}return n},SI=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,EI=t=>Number.isInteger(t)||typeof t=="bigint",AI=t=>{let e=0;for(let r of t)++e;return e},TI=t=>sA(t.toLowerCase()),Kt=(...t)=>Array.prototype.concat.apply([],t),em=t=>new Map(Object.entries(t)),vI=(t,e)=>{let r=[],n=0;for(let o of t.matchAll(e)){let s=o[0];n<o.index&&r.push(t.slice(n,o.index)),s.length>0&&r.push(s),n=o.index+s.length}return n<t.length&&r.push(t.slice(n)),r},sA=t=>t.replace(new RegExp("\\p{M}","gu"),""),ZE=(t,e,r=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let n of r)if(!(n in t))return`${e} must contain a "${n}" property`;return null},RI=t=>t.match(/\S+/g)||[],DI=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},Qi=DI,xI=class extends Qi{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},nn=xI,OI=class extends nn{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);SI(o)?(e.push(" "),e.push(n),e.push(" ")):e.push(n)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
|
|
358
|
+
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},PI=OI,FI=class extends nn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},II=FI,NI=class extends nn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>iA(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},MI=NI,BI=class extends nn{normalize(t){let e=Ml(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},jI=BI,UI=class extends nn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Bl=UI,LI=class extends Bl{constructor(){super(...arguments),this.form="NFC"}},qI=LI,$I=class extends Bl{constructor(){super(...arguments),this.form="NFD"}},zI=$I,HI=class extends Bl{constructor(){super(...arguments),this.form="NFKC"}},WI=HI,GI=class extends Bl{constructor(){super(...arguments),this.form="NFKD"}},JI=GI,VI=class extends nn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},KI=VI,YI=class extends nn{normalize(t){return sA(t)}},XI=YI,QI=class extends nn{normalize(t){return t.toLowerCase()}},ZI=QI,eN=class extends nn{normalize(t){return t=this.config.prepend+t,t}},tN=eN;function rN(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new PI(t);case"Precompiled":return new II(t);case"Sequence":return new MI(t);case"Replace":return new jI(t);case"NFC":return new qI(t);case"NFD":return new zI(t);case"NFKC":return new WI(t);case"NFKD":return new JI(t);case"Strip":return new KI(t);case"StripAccents":return new XI(t);case"Lowercase":return new ZI(t);case"Prepend":return new tN(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var iA=rN,nN=class extends Qi{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},Dr=nN,oN=class extends Dr{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=oA,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},sN=oN,iN=class extends Dr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},aN=iN,cN=class extends Dr{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},uN=cN,lN=class extends Dr{constructor(t){super(),this.config=t,this.pattern=Ml(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):vI(t,this.pattern)}},dN=lN,fN=class extends Dr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Xi}]+|[${Xi}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},hN=fN,pN=class extends Dr{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},gN=pN,mN=class extends Dr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Xi}]+|[${Xi}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},yN=mN,_N=class extends Dr{constructor(t){super(),this.config=t,this.pattern=Ml(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},bN=_N,CN=class extends Dr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>aA(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},wN=CN,kN=class extends Dr{pre_tokenize_text(t){return RI(t)}},SN=kN;function EN(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new yN;case"Sequence":return new wN(t);case"Whitespace":return new aN;case"WhitespaceSplit":return new SN;case"Metaspace":return new uN(t);case"ByteLevel":return new sN(t);case"Split":return new dN(t);case"Punctuation":return new hN(t);case"Digits":return new gN(t);case"Replace":return new bN(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var aA=EN,AN=class extends Qi{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=kI(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},jl=AN,TN=class extends jl{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=em(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,i=[];for(;s<n.length;){let c=n.length,u=null;for(;s<c;){let f=n.slice(s,c).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){u=f;break}--c}if(u===null){o=!0;break}i.push(u),s=c}o?e.push(this.unk_token):e.push(...i)}return e}},eA=TN,tA=class cA{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new cA(!1,new Map)}},vN=class{constructor(){this.root=tA.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=tA.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},RN=vN,Qg=class uA{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new uA(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},DN=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Qg(this.bos_token_id??0,0,0,0,0),o=new Qg(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Qg(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let i=0,c=null;for(let u of this.end_nodes[e]){let f=u.backtrace_score+s.score;(c===null||f>i)&&(c=u.clone(),i=f)}if(c!==null)s.prev=c,s.backtrace_score=i;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},xN=DN;function ON(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var PN=class extends jl{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=ON(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new RN,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],i=e.slice(n).join(""),c=this.trie.common_prefix_search(i);for(let u of c){s.push(u);let f=this.tokens_to_ids.get(u),d=this.scores[f],h=AI(u);t.insert(n,h,d,f),!o&&h===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new xN(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},rA=PN,FN=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},IN=FN,NN=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},MN=NN,BN=class extends jl{constructor(t){super(t),this.tokens_to_ids=em(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new MN(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new IN((c,u)=>c.score<u.score),s={token:r[0],bias:0,prev:null,next:null},i=s;for(let c=1;c<r.length;++c){let u={bias:c/r.length,token:r[c],prev:i,next:null};i.next=u,this.add_node(o,i),i=u}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let f={...c.prev};c.prev.deleted=!0,c.prev=f,f.prev?f.prev.next=f:s=f}let u={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};u.prev?(u.prev.next=u,this.add_node(o,u.prev)):s=u,u.next&&(u.next.prev=u,this.add_node(o,u))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(i=>`<0x${i.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(i=>this.tokens_to_ids.has(i))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},nA=BN,jN=class extends jl{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=em(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},UN=jN;function LN(t,e){switch(t.type){case"WordPiece":return new eA(t);case"Unigram":return new rA(t,e.eos_token);case"BPE":return new nA(t);default:if(t.vocab)return Array.isArray(t.vocab)?new rA(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new nA(t):new eA(t):new UN(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var qN=LN,$N=class extends Qi{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Zi=$N,zN=class extends Zi{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let i of n)"SpecialToken"in i?r&&(o.push(i.SpecialToken.id),s.push(i.SpecialToken.type_id)):"Sequence"in i&&(i.Sequence.id==="A"?(o=Kt(o,t),s=Kt(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=Kt(o,e),s=Kt(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},HN=zN,WN=class extends Zi{post_process(t,e=null){return{tokens:e?Kt(t,e):t}}},GN=WN,JN=class extends Zi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Kt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Kt(t,o,e,s),n=Kt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},VN=JN,KN=class extends Zi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Kt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Kt(t,o,e,s),n=Kt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},YN=KN,XN=class extends Zi{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>lA(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},QN=XN;function ZN(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new HN(t);case"ByteLevel":return new GN(t);case"BertProcessing":return new VN(t);case"RobertaProcessing":return new YN(t);case"Sequence":return new QN(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var lA=ZN,eM=class extends Qi{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},xr=eM,tM=class extends xr{constructor(t){super(t),this.byte_decoder=bI,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},rM=tM,nM=class extends xr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Zg(e)),e})}},oM=nM,sM=class extends xr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},iM=sM,aM=class extends xr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},cM=aM,uM=class extends xr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Zg(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},lM=uM,dM=class extends xr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>dA(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},fM=dM,hM=class extends xr{decode_chain(t){let e=Ml(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},pM=hM,gM=class extends xr{decode_chain(t){return[t.join("")]}},mM=gM,yM=class extends xr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},_M=yM,bM=class extends xr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},CM=bM;function wM(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new rM(t);case"WordPiece":return new oM(t);case"Metaspace":return new iM(t);case"BPEDecoder":return new cM(t);case"CTC":return new lM(t);case"Sequence":return new fM(t);case"Replace":return new pM(t);case"Fuse":return new mM(t);case"Strip":return new _M(t);case"ByteFallback":return new CM(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var dA=wM,kM=class{constructor(t,e){let r=ZE(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=ZE(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=iA(this.tokenizer.normalizer),this.pre_tokenizer=aA(this.tokenizer.pre_tokenizer),this.model=qN(this.tokenizer.model,this.config),this.post_processor=lA(this.tokenizer.post_processor),this.decoder=dA(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new yI(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new gI(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),i=this.model.convert_tokens_to_ids(o),c={ids:i,tokens:o,attention_mask:new Array(i.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!EI(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Zg(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=TI(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Kt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},fA=kM;var Ul=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||(0,ea.join)((0,hA.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,ea.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,ea.join)(e,"tokenizer.json"),tokenizerConfig:(0,ea.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,vs.existsSync)(e)||(0,vs.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,vs.existsSync)(e.tokenizerJson)||!(0,vs.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([ta.promises.readFile(e.tokenizerJson,"utf-8"),ta.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,i]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,u]=await Promise.all([s.json(),i.ok?i.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([ta.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),ta.promises.writeFile(e.tokenizerConfig,JSON.stringify(u,null,2))]),{tokenizerJson:c,tokenizerConfig:u}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new fA(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let i of n)if(typeof i.content=="string")r.push(i.content);else if(Array.isArray(i.content))for(let c of i.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let i of o)if(i.type==="text"){if(typeof i.text=="string")r.push(i.text);else if(Array.isArray(i.text))for(let c of i.text)c&&r.push(c)}}if(s)for(let i of s)i.name&&r.push(i.name),i.description&&r.push(i.description),i.input_schema&&r.push(JSON.stringify(i.input_schema));return r.join(" ")}};var Ll=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),i=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!i.ok)throw new Error(`API tokenizer request failed: ${i.status} ${i.statusText}`);let c=await i.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var wo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new Yi("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new Yi(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Ul(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Ll(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var mA=require("tiktoken");var tm=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},ql=new tm(100);var $l=require("fs/promises"),ra=require("fs/promises"),zl=require("path"),ko=require("@caeliq/ccr-shared"),yA=require("lru-cache"),SM=(0,mA.get_encoding)("cl100k_base"),on=t=>SM.encode(t,void 0,[]),pA="<CCR-SUBAGENT-MODEL>",gA="</CCR-SUBAGENT-MODEL>",_A="x-anthropic-billing-header",Rs=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function bA(t){let e=t?.trim();if(!e)return;if(e.includes(","))return e;let r=e.indexOf("/");return r>0?`${e.slice(0,r)},${e.slice(r+1)}`:e}function EM(t){let e=`${_A}:`;if(!t.startsWith(e))return!1;let r=t.slice(e.length).trim();if(!r)return!1;if(r.startsWith("{"))try{let o=JSON.parse(r);return Rs(o)&&o.cc_is_subagent===!0}catch{return!1}let n=r.split(";").map(o=>o.trim()).filter(Boolean).flatMap(o=>{let s=o.indexOf("=");return s<0||o.slice(0,s).trim()!=="cc_is_subagent"?[]:[o.slice(s+1).trim()]});return n.length===1&&n[0]==="true"}function AM(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return!1;let r=e[0],n=typeof r=="string"?r:Rs(r)&&r.type==="text"&&typeof r.text=="string"?r.text:void 0;if(!n?.startsWith(_A))return!1;let o=EM(n);return e.shift(),e.length===0&&delete t.system,o}function Hl(t,e){let r=t.indexOf(pA);if(r<0)return;let n=r+pA.length,o=t.indexOf(gA,n);if(o<0)return;let s=bA(t.slice(n,o));if(s)return e(`${t.slice(0,r)}${t.slice(o+gA.length)}`),s}function CA(t,e){if(typeof t=="string")return Hl(t,e);if(!(!Rs(t)||typeof t.text!="string"))return Hl(t.text,e)}function TM(t){let e=t?.system;if(typeof e=="string")return Hl(e,r=>{t.system=r});if(Array.isArray(e))for(let r=0;r<e.length;r+=1){let n=e[r],o=CA(n,s=>{typeof n=="string"?e[r]=s:Rs(n)&&(n.text=s)});if(o)return o}}function vM(t){if(typeof t.content=="string")return Hl(t.content,r=>{t.content=r});if(!Array.isArray(t.content))return;let e=t.content;for(let r=0;r<e.length;r+=1){let n=e[r],o=CA(n,s=>{typeof n=="string"?e[r]=s:Rs(n)&&(n.text=s)});if(o)return o}}function RM(t){if(!Array.isArray(t?.messages))return;let e=Math.min(t.messages.length,2);for(let r=0;r<e;r+=1){let n=t.messages[r];if(!Rs(n)||n.role!=="user")continue;let o=vM(n);if(o)return o}}function DM(t){return TM(t)||RM(t)}var rm=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=on(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=on(s.text).length:s.type==="tool_use"?n+=on(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=on(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=on(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=on(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=on(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=on(o.name+o.description).length),o.input_schema&&(n+=on(JSON.stringify(o.input_schema)).length)}),n},xM=async(t,e)=>{if(t.sessionId){let r=await nm(t.sessionId);if(r){let n=(0,zl.join)(ko.HOME_DIR,r,"config.json"),o=(0,zl.join)(ko.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,$l.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,$l.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},OM=async(t,e,r,n)=>{let o=await xM(t,r),s=r.get("providers")||[],i=o||r.get("Router");if(t.body.model.includes(",")){let[S,b]=t.body.model.split(","),y=s.find(_=>_.name.toLowerCase()===S),C=y?.models?.find(_=>_.toLowerCase()===b);return y&&C?{model:`${y.name},${C}`,scenarioType:"default"}:{model:t.body.model,scenarioType:"default"}}let c=i?.longContextThreshold||6e4,u=n&&n.input_tokens>c&&e>2e4,f=e>c;if((u||f)&&i?.longContext)return t.log.info(`Using long context model due to token count: ${e}, threshold: ${c}`),{model:i.longContext,scenarioType:"longContext"};let d=AM(t.body),h=DM(t.body);if(h)return t.log.info(`Using CCR subagent tag model: ${h}`),{model:h,scenarioType:"subagent"};if(d){let S=bA(process.env.CLAUDE_CODE_SUBAGENT_MODEL);if(S)return t.log.info(`Using CLAUDE_CODE_SUBAGENT_MODEL for Claude Code subagent: ${S}`),{model:S,scenarioType:"subagent"}}let m=r.get("Router");return t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&m?.background?(t.log.info(`Using background model for ${t.body.model}`),{model:m.background,scenarioType:"background"}):Array.isArray(t.body.tools)&&t.body.tools.some(S=>S.type?.startsWith("web_search"))&&i?.webSearch?{model:i.webSearch,scenarioType:"webSearch"}:t.body.thinking&&i?.think?(t.log.info(`Using think model for ${t.body.thinking}`),{model:i.think,scenarioType:"think"}):{model:i?.default||t.body.model,scenarioType:"default"}},PM=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let r=JSON.parse(t);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}},Wl=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=PM(t.body.metadata?.user_id);let s=ql.get(t.sessionId),{messages:i,system:c=[],tools:u}=t.body,f=n.get("REWRITE_SYSTEM_PROMPT");if(f&&c.length>1&&c[1]?.text?.includes("<env>")){let d=await(0,$l.readFile)(f,"utf-8");c[1].text=`${d}<env>${c[1].text.split("<env>").pop()}`}try{let[d,h]=t.body.model.split(","),m=r.tokenizerService?.getTokenizerConfigForModel(d,h),S;r.tokenizerService?S=(await r.tokenizerService.countTokens({messages:i,system:c,tools:u},m)).tokenCount:S=rm(i,c,u);let b,y=n.get("CUSTOM_ROUTER_PATH");if(y)try{let C=require(y);t.tokenCount=S,b=await C(t,n.getAll(),{event:o})}catch(C){t.log.error(`failed to load custom router: ${C.message}`)}if(b)t.scenarioType="default";else{let C=await OM(t,S,n,s);b=C.model,t.scenarioType=C.scenarioType}t.body.model=b}catch(d){t.log.error(`Error in router middleware: ${d.message}`);let h=n.get("Router");t.body.model=h?.default||t.body.model,t.scenarioType="default"}},Bn=new yA.LRUCache({max:1e3}),nm=async(t,e)=>{if(Bn.has(t)){let r=Bn.get(t);return!r||r===""?null:r}try{if(!(await(0,ra.stat)(ko.CLAUDE_PROJECTS_DIR)).isDirectory())return Bn.set(t,""),null}catch(r){return r?.code==="ENOENT"?(Bn.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),Bn.set(t,""),null)}try{let r=await(0,ra.opendir)(ko.CLAUDE_PROJECTS_DIR),n=[];for await(let i of r)i.isDirectory()&&n.push(i.name);let o=n.map(async i=>{let c=(0,zl.join)(ko.CLAUDE_PROJECTS_DIR,i,`${t}.jsonl`);try{return(await(0,ra.stat)(c)).isFile()?i:null}catch{return null}}),s=await Promise.all(o);for(let i of s)if(i)return Bn.set(t,i),i;return Bn.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),Bn.set(t,""),null}};var om=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},sm=new om;var DA=st(AA(),1);cm();um();dm();vA();var So=new Map;function pm(t){let e=So.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function gm(){return Array.from(So.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var hm=new Map,mm={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,DA.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)xs.registerHandlers(r.outputHandlers);else{let s=[];for(let i of n)i==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):i==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):i==="webhook"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&xs.registerHandlers(s)}r.outputOptions&&xs.setDefaultOptions(r.outputOptions);let o=async s=>{let i=t.tokenizerService;if(!i)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,u=s.model,f=`${c}:${u}`;if(hm.has(f))return hm.get(f);let d=i.getTokenizerConfigForModel(c,u);if(!d)return t.log?.debug(`No tokenizer config for ${c}:${u}, using fallback`),null;try{let h=await i.getTokenizer(d);return hm.set(f,h),t.log?.info(`Created tokenizer for ${c}:${u} - ${h.name}`),h}catch(h){return t.log?.warn(`Failed to create tokenizer for ${c}:${u}: ${h.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,i,c)=>{let u=s.requestStartTime;if(!u)return;let f=s.id||Date.now().toString(),d;try{let b=s.body?.metadata?.user_id;if(b&&typeof b=="string"){let y=b.match(/_session_([a-f0-9-]+)/i);d=y?y[1]:void 0}}catch{}if(!d)return;let h=await o(s);if(c instanceof ReadableStream){So.set(f,{requestId:f,sessionId:d,startTime:u,lastTokenTime:u,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[b,y]=c.tee();return(async()=>{let _=null,R=async k=>{let T=So.get(f);if(!T)return;let O=performance.now();if(k){let D=(T.lastTokenTime-T.startTime)/1e3;D>0&&(T.tokensPerSecond=Math.round(T.tokenCount/D))}else{let D=O-1e3;T.tokenTimestamps=T.tokenTimestamps.filter(M=>M>D),T.tokensPerSecond=T.tokenTimestamps.length}await RA(T,n,r.outputOptions,k,t.log).catch(D=>{t.log?.warn(`Failed to output streaming stats: ${D.message}`)})};try{let T=y.pipeThrough(new TextDecoderStream).pipeThrough(new Hr).getReader();for(_=setInterval(async()=>{So.get(f)&&await R(!1)},1e3);;){let{done:O,value:D}=await T.read();if(O)break;let M=D,W=So.get(f);if(!W)continue;let $=performance.now();if(!W.firstTokenTime&&(M.event==="content_block_start"||M.event==="content_block_delta"||M.event==="text_block"||M.event==="content_block")&&(W.firstTokenTime=$,W.timeToFirstToken=Math.round($-W.startTime)),M.event==="content_block_delta"&&M.data?.delta){let oe=M.data.delta.type,K="";if(oe==="text_delta"?K=M.data.delta.text||"":oe==="input_json_delta"?K=M.data.delta.partial_json||"":oe==="thinking_delta"&&(K=M.data.delta.thinking||""),K){let re=h&&h.encodeText?h.encodeText(K).length:ia(K);W.tokenCount+=re,W.lastTokenTime=$;for(let Q=0;Q<re;Q++)W.tokenTimestamps.push($)}}M.event==="message_stop"&&(_&&(clearInterval(_),_=null),await R(!0),So.delete(f))}}catch(k){_&&clearInterval(_),k.name!=="AbortError"&&k.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${k.message}`)}})().catch(_=>{t.log.error(_,"Background stats processing failed")}),b}let m=performance.now(),S=0;if(c&&typeof c=="string")try{let b=JSON.parse(c);if(b.usage?.output_tokens)S=b.usage.output_tokens;else{let y=b.content||b.message?.content||"";if(h)Array.isArray(y)?S=y.reduce((C,_)=>{if(_.type==="text"){let R=_.text||"";return C+(h.encodeText?h.encodeText(R).length:ia(R))}return C},0):typeof y=="string"&&(S=h.encodeText?h.encodeText(y).length:ia(y));else{let C=Array.isArray(y)?y.map(_=>_.text).join(""):y;S=ia(C)}}}catch{}if(S>0){let b=(m-u)/1e3,y={requestId:f,sessionId:d,startTime:u,lastTokenTime:m,tokenCount:S,tokensPerSecond:b>0?Math.round(S/b):0,timeToFirstToken:Math.round(m-u),stream:!1,tokenTimestamps:[]};await RA(y,n,r.outputOptions,!0,t.log)}return c})})};function ia(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function RA(t,e,r,n=!1,o){let s=n?"[Token Speed Final]":"[Token Speed]",i={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},c={prefix:s,metadata:{sessionId:t.sessionId},...r};for(let u of e)try{await xs.outputToType(u,i,c)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,f)}}function jM(t={}){let e=(0,xA.default)({bodyLimit:52428800,...t});return e.setErrorHandler(F_),e.register(OA.default),e}var ym=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=jM({...n,logger:n.logger??!0}),this.configService=new Jn({...e,logger:this.app.log}),this.transformerService=new Co(this.configService,this.app.log),this.tokenizerService=new wo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Qn(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.addHook("preHandler",async(u,f)=>{new URL(`http://127.0.0.1${u.url}`).pathname.endsWith("/v1/messages")&&await Wl(u,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await hf(c)});return}if(!r)throw new Error("options is required");let n=new Jn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new Co(n,this.app.log);await o.initialize();let s=new Qn(n,o,this.app.log),i=new wo(n,this.app.log);await i.initialize(),await this.app.register(async c=>{c.decorate("configService",n),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",i),c.addHook("preHandler",async(u,f)=>{new URL(`http://127.0.0.1${u.url}`).pathname.endsWith("/v1/messages")&&await Wl(u,f,{configService:n,tokenizerService:i})}),await hf(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let c=n.body;n.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let i=n.body;if(!i||!i.model)return o.code(400).send({error:"Missing model in request body"});let[c,...u]=i.model.split(",");i.model=u.join(","),n.provider=c,n.model=u.join(",");return}catch(i){return n.log.error({error:i},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`),await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},UM=ym;0&&(module.exports={ANTIGRAVITY_CLIENT_ID,ANTIGRAVITY_CLIENT_SECRET,ANTIGRAVITY_REDIRECT_URI,ANTIGRAVITY_SCOPES,ConfigService,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,diffHeadersForLog,exchangeAuthorizationCode,fetchUserEmail,getGlobalTokenSpeedStats,getTokenSpeedStats,getValidAccessToken,isClientAbortError,loadTokens,pluginManager,resolveProjectId,rewriteStream,router,sanitizeHeadersForLog,saveTokens,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
|
|
343
359
|
/*! Bundled license information:
|
|
344
360
|
|
|
345
|
-
|
|
361
|
+
node-fetch-native/dist/node.mjs:
|
|
346
362
|
(**
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
fetch-blob/index.js:
|
|
363
|
+
* @license
|
|
364
|
+
* web-streams-polyfill v3.3.3
|
|
365
|
+
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
366
|
+
* This code is released under the MIT license.
|
|
367
|
+
* SPDX-License-Identifier: MIT
|
|
368
|
+
*)
|
|
355
369
|
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
356
|
-
|
|
357
|
-
formdata-polyfill/esm.min.js:
|
|
358
370
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
359
|
-
|
|
360
|
-
node-domexception/index.js:
|
|
361
371
|
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
362
372
|
|
|
363
373
|
safe-buffer/index.js:
|