@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.
Files changed (148) hide show
  1. package/README.md +92 -10
  2. package/dist/api/middleware.d.ts +9 -0
  3. package/dist/api/routes.d.ts +15 -0
  4. package/dist/cjs/server.cjs +225 -215
  5. package/dist/cjs/server.cjs.map +4 -4
  6. package/dist/cursor-sdk/events-to-sse.d.ts +113 -0
  7. package/dist/cursor-sdk/hooks-template.d.ts +2 -0
  8. package/dist/cursor-sdk/host-env.d.ts +38 -0
  9. package/dist/cursor-sdk/lifecycle-planner.d.ts +69 -0
  10. package/dist/cursor-sdk/prompt.d.ts +59 -0
  11. package/dist/cursor-sdk/runner.d.ts +40 -0
  12. package/dist/cursor-sdk/send.d.ts +9 -0
  13. package/dist/cursor-sdk/session.d.ts +199 -0
  14. package/dist/cursor-sdk/shared.d.ts +28 -0
  15. package/dist/cursor-sdk/tool-paths.d.ts +26 -0
  16. package/dist/cursor-sdk/tools.d.ts +15 -0
  17. package/dist/cursor-sdk/turn-identity.d.ts +46 -0
  18. package/dist/cursor-sdk/turn-output.d.ts +77 -0
  19. package/dist/cursor-sdk/usage.d.ts +28 -0
  20. package/dist/esm/server.mjs +225 -215
  21. package/dist/esm/server.mjs.map +4 -4
  22. package/dist/index.d.ts +2 -0
  23. package/dist/plugins/index.d.ts +4 -0
  24. package/dist/plugins/output/console-handler.d.ts +23 -0
  25. package/dist/plugins/output/index.d.ts +29 -0
  26. package/dist/plugins/output/output-manager.d.ts +110 -0
  27. package/dist/plugins/output/temp-file-handler.d.ts +53 -0
  28. package/dist/plugins/output/types.d.ts +157 -0
  29. package/dist/plugins/output/webhook-handler.d.ts +37 -0
  30. package/dist/plugins/plugin-manager.d.ts +62 -0
  31. package/dist/plugins/token-speed.d.ts +22 -0
  32. package/dist/plugins/types.d.ts +25 -0
  33. package/dist/server.d.ts +60 -0
  34. package/dist/services/config.d.ts +32 -0
  35. package/dist/services/provider.d.ts +34 -0
  36. package/dist/services/tokenizer.d.ts +44 -0
  37. package/dist/services/transformer.d.ts +28 -0
  38. package/dist/tests/anthropic.stream-boundaries.d.ts +1 -0
  39. package/dist/tests/anthropic.stream-cancel.d.ts +1 -0
  40. package/dist/tests/anthropic.tool-call-id-sanitize.d.ts +1 -0
  41. package/dist/tests/anthropic.turn-intent.d.ts +1 -0
  42. package/dist/tests/antigravity.claude-tool-schema.d.ts +1 -0
  43. package/dist/tests/antigravity.endpoint-fallback.d.ts +1 -0
  44. package/dist/tests/cache-control.strip.d.ts +1 -0
  45. package/dist/tests/cache-paths.integration.d.ts +1 -0
  46. package/dist/tests/claude-auth.beta-headers.d.ts +1 -0
  47. package/dist/tests/codex-auth.reliability.d.ts +1 -0
  48. package/dist/tests/cursor-sdk.cancel.d.ts +1 -0
  49. package/dist/tests/cursor-sdk.host-env.d.ts +1 -0
  50. package/dist/tests/cursor-sdk.interrupt-reentry.d.ts +1 -0
  51. package/dist/tests/cursor-sdk.lifecycle-planner.d.ts +1 -0
  52. package/dist/tests/cursor-sdk.on-delta-thinking.d.ts +1 -0
  53. package/dist/tests/cursor-sdk.pending-next-rejection.d.ts +1 -0
  54. package/dist/tests/cursor-sdk.progress-only.d.ts +1 -0
  55. package/dist/tests/cursor-sdk.runner-recovery.d.ts +1 -0
  56. package/dist/tests/cursor-sdk.scratch-paths.d.ts +1 -0
  57. package/dist/tests/cursor-sdk.scratch-report.d.ts +1 -0
  58. package/dist/tests/cursor-sdk.send.d.ts +1 -0
  59. package/dist/tests/cursor-sdk.stream-error.d.ts +1 -0
  60. package/dist/tests/cursor-sdk.thinking-signature.d.ts +1 -0
  61. package/dist/tests/cursor-sdk.tool-call-id.d.ts +1 -0
  62. package/dist/tests/cursor-sdk.trailing-turn-fallback.d.ts +1 -0
  63. package/dist/tests/cursor-sdk.turn-coordination.d.ts +1 -0
  64. package/dist/tests/cursor-sdk.turn-identity.d.ts +1 -0
  65. package/dist/tests/cursor-sdk.usage.d.ts +1 -0
  66. package/dist/tests/deepseek.reasoning.d.ts +1 -0
  67. package/dist/tests/gemini.abnormal-finish.d.ts +1 -0
  68. package/dist/tests/gemini.dual-dialect-request.d.ts +1 -0
  69. package/dist/tests/gemini.function-call-signatures.d.ts +1 -0
  70. package/dist/tests/gemini.parity.d.ts +1 -0
  71. package/dist/tests/gemini.thinking-effort.d.ts +1 -0
  72. package/dist/tests/gemini.thought-signature-roundtrip.d.ts +1 -0
  73. package/dist/tests/opencode-headers.no-provider-retry.d.ts +1 -0
  74. package/dist/tests/stream.upstream-terminated.d.ts +1 -0
  75. package/dist/tests/thinking-sequencer.dual-dialect.d.ts +1 -0
  76. package/dist/tests/transformer-service.endpoints.d.ts +1 -0
  77. package/dist/tests/upstream-ports.smoke.d.ts +1 -0
  78. package/dist/tokenizer/api-tokenizer.d.ts +45 -0
  79. package/dist/tokenizer/huggingface-tokenizer.d.ts +52 -0
  80. package/dist/tokenizer/tiktoken-tokenizer.d.ts +20 -0
  81. package/dist/transformer/anthropic.transformer.d.ts +22 -0
  82. package/dist/transformer/antigravity-auth.transformer.d.ts +15 -0
  83. package/dist/transformer/cerebras.transformer.d.ts +16 -0
  84. package/dist/transformer/chrome-on-device.transformer.d.ts +7 -0
  85. package/dist/transformer/claude-auth.transformer.d.ts +25 -0
  86. package/dist/transformer/cleancache.transformer.d.ts +6 -0
  87. package/dist/transformer/codex.transformer.d.ts +61 -0
  88. package/dist/transformer/cursor-sdk.transformer.d.ts +25 -0
  89. package/dist/transformer/customparams.transformer.d.ts +30 -0
  90. package/dist/transformer/deepseek.transformer.d.ts +7 -0
  91. package/dist/transformer/enhancetool.transformer.d.ts +6 -0
  92. package/dist/transformer/extrathinktag.transformer.d.ts +10 -0
  93. package/dist/transformer/forcereasoning.transformer.d.ts +8 -0
  94. package/dist/transformer/gemini.transformer.d.ts +15 -0
  95. package/dist/transformer/groq.transformer.d.ts +7 -0
  96. package/dist/transformer/index.d.ts +65 -0
  97. package/dist/transformer/maxcompletiontokens.transformer.d.ts +6 -0
  98. package/dist/transformer/maxtoken.transformer.d.ts +9 -0
  99. package/dist/transformer/mistral.transformer.d.ts +25 -0
  100. package/dist/transformer/openai.responses.transformer.d.ts +13 -0
  101. package/dist/transformer/openai.transformer.d.ts +52 -0
  102. package/dist/transformer/opencode-headers.transformer.d.ts +30 -0
  103. package/dist/transformer/openrouter.transformer.d.ts +10 -0
  104. package/dist/transformer/qwen-auth.transformer.d.ts +9 -0
  105. package/dist/transformer/reasoning.transformer.d.ts +10 -0
  106. package/dist/transformer/sampling.transformer.d.ts +13 -0
  107. package/dist/transformer/streamoptions.transformer.d.ts +6 -0
  108. package/dist/transformer/tooluse.transformer.d.ts +7 -0
  109. package/dist/transformer/vercel.transformer.d.ts +11 -0
  110. package/dist/transformer/vertex-claude.transformer.d.ts +9 -0
  111. package/dist/transformer/vertex-gemini.transformer.d.ts +12 -0
  112. package/dist/transformer/vertex-openai.transformer.d.ts +19 -0
  113. package/dist/types/llm.d.ts +255 -0
  114. package/dist/types/transformer.d.ts +29 -0
  115. package/dist/types/turn-intent.d.ts +26 -0
  116. package/dist/utils/antigravity-auth.d.ts +75 -0
  117. package/dist/utils/auth-recovery.d.ts +2 -0
  118. package/dist/utils/cache.d.ts +14 -0
  119. package/dist/utils/cacheControl.d.ts +44 -0
  120. package/dist/utils/claude-auth.d.ts +22 -0
  121. package/dist/utils/codex-auth.d.ts +33 -0
  122. package/dist/utils/converter.d.ts +11 -0
  123. package/dist/utils/cursor-auth.d.ts +3 -0
  124. package/dist/utils/deepseek.util.d.ts +28 -0
  125. package/dist/utils/gemini-cache.d.ts +8 -0
  126. package/dist/utils/gemini-thinking.d.ts +66 -0
  127. package/dist/utils/gemini.util.d.ts +43 -0
  128. package/dist/utils/google.util.d.ts +160 -0
  129. package/dist/utils/image.d.ts +1 -0
  130. package/dist/utils/mistral.util.d.ts +14 -0
  131. package/dist/utils/openai.util.d.ts +17 -0
  132. package/dist/utils/qwen-auth.d.ts +13 -0
  133. package/dist/utils/redact.d.ts +30 -0
  134. package/dist/utils/request.d.ts +4 -0
  135. package/dist/utils/retry.d.ts +27 -0
  136. package/dist/utils/router.d.ts +42 -0
  137. package/dist/utils/schema.d.ts +46 -0
  138. package/dist/utils/sse/SSEParser.transform.d.ts +6 -0
  139. package/dist/utils/sse/SSESerializer.transform.d.ts +3 -0
  140. package/dist/utils/sse/index.d.ts +3 -0
  141. package/dist/utils/sse/rewriteStream.d.ts +9 -0
  142. package/dist/utils/stream.d.ts +11 -0
  143. package/dist/utils/thinking.d.ts +33 -0
  144. package/dist/utils/thought-signature-cache.d.ts +34 -0
  145. package/dist/utils/toolArgumentsParser.d.ts +8 -0
  146. package/dist/utils/toolCallId.d.ts +15 -0
  147. package/dist/utils/vertex-claude.util.d.ts +47 -0
  148. package/package.json +3 -3
@@ -1,295 +1,312 @@
1
- var mw=Object.create;var mc=Object.defineProperty;var yw=Object.getOwnPropertyDescriptor;var _w=Object.getOwnPropertyNames;var bw=Object.getPrototypeOf,Cw=Object.prototype.hasOwnProperty;var ee=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var qe=(t,e)=>()=>(t&&(e=t(t=0)),e);var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Jh=(t,e)=>{for(var r in e)mc(t,r,{get:e[r],enumerable:!0})},ww=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _w(e))!Cw.call(t,o)&&o!==r&&mc(t,o,{get:()=>e[o],enumerable:!(n=yw(e,o))||n.enumerable});return t};var Xt=(t,e,r)=>(r=t!=null?mw(bw(t)):{},ww(e||!t||!t.__esModule?mc(r,"default",{value:t,enumerable:!0}):r,t));var Vh=J((fO,si)=>{si.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;si.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]/;si.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 _c=J((dO,Kh)=>{var yc=Vh();Kh.exports={isSpaceSeparator(t){return typeof t=="string"&&yc.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||yc.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"||yc.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 ep=J((hO,Zh)=>{var Ge=_c(),Cc,st,Cr,ai,Ur,Lt,Je,kc,Mo;Zh.exports=function(e,r){Cc=String(e),st="start",Cr=[],ai=0,Ur=1,Lt=0,Je=void 0,kc=void 0,Mo=void 0;do Je=Ew(),Aw[st]();while(Je.type!=="eof");return typeof r=="function"?wc({"":Mo},"",r):Mo};function wc(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=wc(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=wc(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 me,pe,jo,br,we;function Ew(){for(me="default",pe="",jo=!1,br=1;;){we=wr();let t=Xh[me]();if(t)return t}}function wr(){if(Cc[ai])return String.fromCodePoint(Cc.codePointAt(ai))}function H(){let t=wr();return t===`
2
- `?(Ur++,Lt=0):t?Lt+=t.length:Lt++,t&&(ai+=t.length),t}var Xh={default(){switch(we){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":H();return;case"/":H(),me="comment";return;case void 0:return H(),Ne("eof")}if(Ge.isSpaceSeparator(we)){H();return}return Xh[st]()},comment(){switch(we){case"*":H(),me="multiLineComment";return;case"/":H(),me="singleLineComment";return}throw Be(H())},multiLineComment(){switch(we){case"*":H(),me="multiLineCommentAsterisk";return;case void 0:throw Be(H())}H()},multiLineCommentAsterisk(){switch(we){case"*":H();return;case"/":H(),me="default";return;case void 0:throw Be(H())}H(),me="multiLineComment"},singleLineComment(){switch(we){case`
4
- `:case"\r":case"\u2028":case"\u2029":H(),me="default";return;case void 0:return H(),Ne("eof")}H()},value(){switch(we){case"{":case"[":return Ne("punctuator",H());case"n":return H(),hn("ull"),Ne("null",null);case"t":return H(),hn("rue"),Ne("boolean",!0);case"f":return H(),hn("alse"),Ne("boolean",!1);case"-":case"+":H()==="-"&&(br=-1),me="sign";return;case".":pe=H(),me="decimalPointLeading";return;case"0":pe=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":pe=H(),me="decimalInteger";return;case"I":return H(),hn("nfinity"),Ne("numeric",1/0);case"N":return H(),hn("aN"),Ne("numeric",NaN);case'"':case"'":jo=H()==='"',pe="",me="string";return}throw Be(H())},identifierNameStartEscape(){if(we!=="u")throw Be(H());H();let t=Ec();switch(t){case"$":case"_":break;default:if(!Ge.isIdStartChar(t))throw Yh();break}pe+=t,me="identifierName"},identifierName(){switch(we){case"$":case"_":case"\u200C":case"\u200D":pe+=H();return;case"\\":H(),me="identifierNameEscape";return}if(Ge.isIdContinueChar(we)){pe+=H();return}return Ne("identifier",pe)},identifierNameEscape(){if(we!=="u")throw Be(H());H();let t=Ec();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!Ge.isIdContinueChar(t))throw Yh();break}pe+=t,me="identifierName"},sign(){switch(we){case".":pe=H(),me="decimalPointLeading";return;case"0":pe=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":pe=H(),me="decimalInteger";return;case"I":return H(),hn("nfinity"),Ne("numeric",br*(1/0));case"N":return H(),hn("aN"),Ne("numeric",NaN)}throw Be(H())},zero(){switch(we){case".":pe+=H(),me="decimalPoint";return;case"e":case"E":pe+=H(),me="decimalExponent";return;case"x":case"X":pe+=H(),me="hexadecimal";return}return Ne("numeric",br*0)},decimalInteger(){switch(we){case".":pe+=H(),me="decimalPoint";return;case"e":case"E":pe+=H(),me="decimalExponent";return}if(Ge.isDigit(we)){pe+=H();return}return Ne("numeric",br*Number(pe))},decimalPointLeading(){if(Ge.isDigit(we)){pe+=H(),me="decimalFraction";return}throw Be(H())},decimalPoint(){switch(we){case"e":case"E":pe+=H(),me="decimalExponent";return}if(Ge.isDigit(we)){pe+=H(),me="decimalFraction";return}return Ne("numeric",br*Number(pe))},decimalFraction(){switch(we){case"e":case"E":pe+=H(),me="decimalExponent";return}if(Ge.isDigit(we)){pe+=H();return}return Ne("numeric",br*Number(pe))},decimalExponent(){switch(we){case"+":case"-":pe+=H(),me="decimalExponentSign";return}if(Ge.isDigit(we)){pe+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentSign(){if(Ge.isDigit(we)){pe+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentInteger(){if(Ge.isDigit(we)){pe+=H();return}return Ne("numeric",br*Number(pe))},hexadecimal(){if(Ge.isHexDigit(we)){pe+=H(),me="hexadecimalInteger";return}throw Be(H())},hexadecimalInteger(){if(Ge.isHexDigit(we)){pe+=H();return}return Ne("numeric",br*Number(pe))},string(){switch(we){case"\\":H(),pe+=kw();return;case'"':if(jo)return H(),Ne("string",pe);pe+=H();return;case"'":if(!jo)return H(),Ne("string",pe);pe+=H();return;case`
5
- `:case"\r":throw Be(H());case"\u2028":case"\u2029":Tw(we);break;case void 0:throw Be(H())}pe+=H()},start(){switch(we){case"{":case"[":return Ne("punctuator",H())}me="value"},beforePropertyName(){switch(we){case"$":case"_":pe=H(),me="identifierName";return;case"\\":H(),me="identifierNameStartEscape";return;case"}":return Ne("punctuator",H());case'"':case"'":jo=H()==='"',me="string";return}if(Ge.isIdStartChar(we)){pe+=H(),me="identifierName";return}throw Be(H())},afterPropertyName(){if(we===":")return Ne("punctuator",H());throw Be(H())},beforePropertyValue(){me="value"},afterPropertyValue(){switch(we){case",":case"}":return Ne("punctuator",H())}throw Be(H())},beforeArrayValue(){if(we==="]")return Ne("punctuator",H());me="value"},afterArrayValue(){switch(we){case",":case"]":return Ne("punctuator",H())}throw Be(H())},end(){throw Be(H())}};function Ne(t,e){return{type:t,value:e,line:Ur,column:Lt}}function hn(t){for(let e of t){if(wr()!==e)throw Be(H());H()}}function kw(){switch(wr()){case"b":return H(),"\b";case"f":return H(),"\f";case"n":return H(),`
6
- `;case"r":return H(),"\r";case"t":return H()," ";case"v":return H(),"\v";case"0":if(H(),Ge.isDigit(wr()))throw Be(H());return"\0";case"x":return H(),Sw();case"u":return H(),Ec();case`
7
- `:case"\u2028":case"\u2029":return H(),"";case"\r":return H(),wr()===`
8
- `&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function Sw(){let t="",e=wr();if(!Ge.isHexDigit(e)||(t+=H(),e=wr(),!Ge.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Ec(){let t="",e=4;for(;e-- >0;){let r=wr();if(!Ge.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var Aw={start(){if(Je.type==="eof")throw pn();bc()},beforePropertyName(){switch(Je.type){case"identifier":case"string":kc=Je.value,st="afterPropertyName";return;case"punctuator":ii();return;case"eof":throw pn()}},afterPropertyName(){if(Je.type==="eof")throw pn();st="beforePropertyValue"},beforePropertyValue(){if(Je.type==="eof")throw pn();bc()},beforeArrayValue(){if(Je.type==="eof")throw pn();if(Je.type==="punctuator"&&Je.value==="]"){ii();return}bc()},afterPropertyValue(){if(Je.type==="eof")throw pn();switch(Je.value){case",":st="beforePropertyName";return;case"}":ii()}},afterArrayValue(){if(Je.type==="eof")throw pn();switch(Je.value){case",":st="beforeArrayValue";return;case"]":ii()}},end(){}};function bc(){let t;switch(Je.type){case"punctuator":switch(Je.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Je.value;break}if(Mo===void 0)Mo=t;else{let e=Cr[Cr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,kc,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cr.push(t),Array.isArray(t)?st="beforeArrayValue":st="beforePropertyName";else{let e=Cr[Cr.length-1];e==null?st="end":Array.isArray(e)?st="afterArrayValue":st="afterPropertyValue"}}function ii(){Cr.pop();let t=Cr[Cr.length-1];t==null?st="end":Array.isArray(t)?st="afterArrayValue":st="afterPropertyValue"}function Be(t){return ui(t===void 0?`JSON5: invalid end of input at ${Ur}:${Lt}`:`JSON5: invalid character '${Qh(t)}' at ${Ur}:${Lt}`)}function pn(){return ui(`JSON5: invalid end of input at ${Ur}:${Lt}`)}function Yh(){return Lt-=5,ui(`JSON5: invalid identifier character at ${Ur}:${Lt}`)}function Tw(t){console.warn(`JSON5: '${Qh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Qh(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 ui(t){let e=new SyntaxError(t);return e.lineNumber=Ur,e.columnNumber=Lt,e}});var rp=J((pO,tp)=>{var Sc=_c();tp.exports=function(e,r,n){let o=[],s="",a,u,c="",f;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,f=r.quote,r=r.replacer),typeof r=="function")u=r;else if(Array.isArray(r)){a=[];for(let _ of r){let b;typeof _=="string"?b=_:(typeof _=="number"||_ instanceof String||_ instanceof Number)&&(b=String(_)),b!==void 0&&a.indexOf(b)<0&&a.push(b)}}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)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),d("",{"":e});function d(_,b){let m=b[_];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(_):typeof m.toJSON=="function"&&(m=m.toJSON(_))),u&&(m=u.call(b,_,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?g(m):y(m)}function p(_){let b={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let w=0;w<_.length;w++){let T=_[w];switch(T){case"'":case'"':b[T]++,v+=T;continue;case"\0":if(Sc.isDigit(_[w+1])){v+="\\x00";continue}}if(m[T]){v+=m[T];continue}if(T<" "){let O=T.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=T}let k=f||Object.keys(b).reduce((w,T)=>b[w]<b[T]?w:T);return v=v.replace(new RegExp(k,"g"),m[k]),k+v+k}function y(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let b=s;s=s+c;let m=a||Object.keys(_),v=[];for(let w of m){let T=d(w,_);if(T!==void 0){let O=A(w)+":";c!==""&&(O+=" "),O+=T,v.push(O)}}let k;if(v.length===0)k="{}";else{let w;if(c==="")w=v.join(","),k="{"+w+"}";else{let T=`,
9
- `+s;w=v.join(T),k=`{
10
- `+s+w+`,
11
- `+b+"}"}}return o.pop(),s=b,k}function A(_){if(_.length===0)return p(_,!0);let b=String.fromCodePoint(_.codePointAt(0));if(!Sc.isIdStartChar(b))return p(_,!0);for(let m=b.length;m<_.length;m++)if(!Sc.isIdContinueChar(String.fromCodePoint(_.codePointAt(m))))return p(_,!0);return _}function g(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let b=s;s=s+c;let m=[];for(let k=0;k<_.length;k++){let w=d(String(k),_);m.push(w!==void 0?w:"null")}let v;if(m.length===0)v="[]";else if(c==="")v="["+m.join(",")+"]";else{let k=`,
12
- `+s,w=m.join(k);v=`[
13
- `+s+w+`,
14
- `+b+"]"}return o.pop(),s=b,v}}});var Ac=J((gO,np)=>{var Dw=ep(),vw=rp(),Rw={parse:Dw,stringify:vw};np.exports=Rw});var Ap=J((fF,Qw)=>{Qw.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 Tp=J((dF,Zw)=>{Zw.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 Dp=J((hF,eE)=>{eE.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 vp=J((pF,tE)=>{tE.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 Rp=J((gF,rE)=>{rE.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 xp=J((mF,nE)=>{nE.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 Op=J((yF,oE)=>{oE.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 Fp=J((_F,sE)=>{sE.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 Pp=J((bF,iE)=>{iE.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 jp=J((CF,Bp)=>{var aE=Ap(),uE=Tp(),Ip=Dp(),cE=vp(),lE=Rp(),fE=xp(),dE=Op(),hE=Fp(),pE=Pp(),Np=function(t,e){return t[e]!==void 0?t[e]:e};function zr(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+=Np(r,a),o="normal";continue}else if(o==="long"&&a==="}"){o="normal";continue}o==="normal"?n+=a:n+=Np(r,a)}return n}Bp.exports=function(t){return Object.keys(Ip).forEach(function(e){var r=Ip[e];t=t.replace(e,r)}),t=zr(t,"^",uE),t=zr(t,"_",aE),t=zr(t,"\\bb",cE),t=zr(t,"\\bf",lE),t=zr(t,"\\it",hE),t=zr(t,"\\cal",fE),t=zr(t,"\\frak",dE),t=zr(t,"\\mono",pE),t}});var Pc=J((RF,Gp)=>{"use strict";var Ei=Object.prototype.hasOwnProperty,Wp=Object.prototype.toString,Up=Object.defineProperty,Lp=Object.getOwnPropertyDescriptor,qp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Wp.call(e)==="[object Array]"},$p=function(e){if(!e||Wp.call(e)!=="[object Object]")return!1;var r=Ei.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Ei.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Ei.call(e,o)},zp=function(e,r){Up&&r.name==="__proto__"?Up(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Hp=function(e,r){if(r==="__proto__")if(Ei.call(e,r)){if(Lp)return Lp(e,r).value}else return;return e[r]};Gp.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=Hp(u,r),o=Hp(e,r),u!==o&&(d&&o&&($p(o)||(s=qp(o)))?(s?(s=!1,a=n&&qp(n)?n:[]):a=n&&$p(n)?n:{},zp(u,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&zp(u,{name:r,newValue:o}));return u}});var Jp=J((xF,yE)=>{yE.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 Kp=J((OF,Vp)=>{"use strict";var _E=Jp();Vp.exports={pkg:_E}});var Bc=J(Dt=>{"use strict";var Xp=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.GaxiosError=Dt.GAXIOS_ERROR_SYMBOL=void 0;Dt.defaultErrorRedactor=Qp;var Yp=Xp(Pc()),bE=Xp(Kp()),Ic=bE.default.pkg;Dt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Ic.name}-gaxios-error`);var Nc=class t extends Error{config;response;code;status;error;[Dt.GAXIOS_ERROR_SYMBOL]=Ic.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Dt.GAXIOS_ERROR_SYMBOL in e&&e[Dt.GAXIOS_ERROR_SYMBOL]===Ic.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,Yp.default)(!0,{},r),this.response&&(this.response.config=(0,Yp.default)(!0,{},this.response.config)),this.response){try{this.response.data=CE(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}}};Dt.GaxiosError=Nc;function CE(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 Qp(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&&(Qp({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var eg=J(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.getRetryConfig=wE;async function wE(t){let e=Zp(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||EE)(t))return{shouldRetry:!1,config:t.config};let o=kE(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 EE(t){let e=Zp(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 Zp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function kE(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 Uc=J(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.GaxiosInterceptorManager=void 0;var Mc=class extends Set{};ki.GaxiosInterceptorManager=Mc});var rg=J((NF,tg)=>{var Gn=1e3,Jn=Gn*60,Vn=Jn*60,mn=Vn*24,SE=mn*7,AE=mn*365.25;tg.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return TE(t);if(r==="number"&&isFinite(t))return e.long?vE(t):DE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function TE(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*AE;case"weeks":case"week":case"w":return r*SE;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Vn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Jn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function DE(t){var e=Math.abs(t);return e>=mn?Math.round(t/mn)+"d":e>=Vn?Math.round(t/Vn)+"h":e>=Jn?Math.round(t/Jn)+"m":e>=Gn?Math.round(t/Gn)+"s":t+"ms"}function vE(t){var e=Math.abs(t);return e>=mn?Si(t,e,mn,"day"):e>=Vn?Si(t,e,Vn,"hour"):e>=Jn?Si(t,e,Jn,"minute"):e>=Gn?Si(t,e,Gn,"second"):t+" ms"}function Si(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Lc=J((BF,ng)=>{function RE(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}ng.exports=RE});var og=J((lt,Ai)=>{lt.formatArgs=OE;lt.save=FE;lt.load=PE;lt.useColors=xE;lt.storage=IE();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 xE(){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 OE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ai.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 FE(t){try{t?lt.storage.setItem("debug",t):lt.storage.removeItem("debug")}catch{}}function PE(){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 IE(){try{return localStorage}catch{}}Ai.exports=Lc()(lt);var{formatters:NE}=Ai.exports;NE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ig=J((jF,sg)=>{"use strict";sg.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 cg=J((MF,ug)=>{"use strict";var BE=ee("os"),ag=ee("tty"),vt=ig(),{env:Ve}=process,Hr;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?Hr=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&(Hr=1);"FORCE_COLOR"in Ve&&(Ve.FORCE_COLOR==="true"?Hr=1:Ve.FORCE_COLOR==="false"?Hr=0:Hr=Ve.FORCE_COLOR.length===0?1:Math.min(parseInt(Ve.FORCE_COLOR,10),3));function qc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function $c(t,e){if(Hr===0)return 0;if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2;if(t&&!e&&Hr===void 0)return 0;let r=Hr||0;if(Ve.TERM==="dumb")return r;if(process.platform==="win32"){let n=BE.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ve)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ve)||Ve.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ve)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ve.TEAMCITY_VERSION)?1:0;if(Ve.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ve){let n=parseInt((Ve.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ve.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ve.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ve.TERM)||"COLORTERM"in Ve?1:r}function jE(t){let e=$c(t,t&&t.isTTY);return qc(e)}ug.exports={supportsColor:jE,stdout:qc($c(!0,ag.isatty(1))),stderr:qc($c(!0,ag.isatty(2)))}});var fg=J((Ke,Di)=>{var ME=ee("tty"),Ti=ee("util");Ke.init=WE;Ke.log=$E;Ke.formatArgs=LE;Ke.save=zE;Ke.load=HE;Ke.useColors=UE;Ke.destroy=Ti.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ke.colors=[6,2,3,4,5,1];try{let t=cg();t&&(t.stderr||t).level>=2&&(Ke.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{}Ke.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 UE(){return"colors"in Ke.inspectOpts?!!Ke.inspectOpts.colors:ME.isatty(process.stderr.fd)}function LE(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
+ var oA=Object.create;var Td=Object.defineProperty;var sA=Object.getOwnPropertyDescriptor;var iA=Object.getOwnPropertyNames;var aA=Object.getPrototypeOf,cA=Object.prototype.hasOwnProperty;var te=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var dn=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),qy=(t,e)=>{for(var r in e)Td(t,r,{get:e[r],enumerable:!0})},uA=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of iA(e))!cA.call(t,o)&&o!==r&&Td(t,o,{get:()=>e[o],enumerable:!(n=sA(e,o))||n.enumerable});return t};var fn=(t,e,r)=>(r=t!=null?oA(aA(t)):{},uA(e||!t||!t.__esModule?Td(r,"default",{value:t,enumerable:!0}):r,t));var $y=V((PB,ya)=>{ya.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ya.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]/;ya.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 Rd=V((FB,zy)=>{var vd=$y();zy.exports={isSpaceSeparator(t){return typeof t=="string"&&vd.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||vd.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"||vd.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 Vy=V((IB,Jy)=>{var Ze=Rd(),xd,ft,Br,ba,hn,Jt,et,Fd,zs;Jy.exports=function(e,r){xd=String(e),ft="start",Br=[],ba=0,hn=1,Jt=0,et=void 0,Fd=void 0,zs=void 0;do et=lA(),hA[ft]();while(et.type!=="eof");return typeof r=="function"?Od({"":zs},"",r):zs};function Od(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=Od(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=Od(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 Te,ke,$s,Mr,Re;function lA(){for(Te="default",ke="",$s=!1,Mr=1;;){Re=jr();let t=Wy[Te]();if(t)return t}}function jr(){if(xd[ba])return String.fromCodePoint(xd.codePointAt(ba))}function J(){let t=jr();return t===`
2
+ `?(hn++,Jt=0):t?Jt+=t.length:Jt++,t&&(ba+=t.length),t}var Wy={default(){switch(Re){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":J();return;case"/":J(),Te="comment";return;case void 0:return J(),qe("eof")}if(Ze.isSpaceSeparator(Re)){J();return}return Wy[ft]()},comment(){switch(Re){case"*":J(),Te="multiLineComment";return;case"/":J(),Te="singleLineComment";return}throw $e(J())},multiLineComment(){switch(Re){case"*":J(),Te="multiLineCommentAsterisk";return;case void 0:throw $e(J())}J()},multiLineCommentAsterisk(){switch(Re){case"*":J();return;case"/":J(),Te="default";return;case void 0:throw $e(J())}J(),Te="multiLineComment"},singleLineComment(){switch(Re){case`
4
+ `:case"\r":case"\u2028":case"\u2029":J(),Te="default";return;case void 0:return J(),qe("eof")}J()},value(){switch(Re){case"{":case"[":return qe("punctuator",J());case"n":return J(),jn("ull"),qe("null",null);case"t":return J(),jn("rue"),qe("boolean",!0);case"f":return J(),jn("alse"),qe("boolean",!1);case"-":case"+":J()==="-"&&(Mr=-1),Te="sign";return;case".":ke=J(),Te="decimalPointLeading";return;case"0":ke=J(),Te="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ke=J(),Te="decimalInteger";return;case"I":return J(),jn("nfinity"),qe("numeric",1/0);case"N":return J(),jn("aN"),qe("numeric",NaN);case'"':case"'":$s=J()==='"',ke="",Te="string";return}throw $e(J())},identifierNameStartEscape(){if(Re!=="u")throw $e(J());J();let t=Pd();switch(t){case"$":case"_":break;default:if(!Ze.isIdStartChar(t))throw Hy();break}ke+=t,Te="identifierName"},identifierName(){switch(Re){case"$":case"_":case"\u200C":case"\u200D":ke+=J();return;case"\\":J(),Te="identifierNameEscape";return}if(Ze.isIdContinueChar(Re)){ke+=J();return}return qe("identifier",ke)},identifierNameEscape(){if(Re!=="u")throw $e(J());J();let t=Pd();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!Ze.isIdContinueChar(t))throw Hy();break}ke+=t,Te="identifierName"},sign(){switch(Re){case".":ke=J(),Te="decimalPointLeading";return;case"0":ke=J(),Te="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ke=J(),Te="decimalInteger";return;case"I":return J(),jn("nfinity"),qe("numeric",Mr*(1/0));case"N":return J(),jn("aN"),qe("numeric",NaN)}throw $e(J())},zero(){switch(Re){case".":ke+=J(),Te="decimalPoint";return;case"e":case"E":ke+=J(),Te="decimalExponent";return;case"x":case"X":ke+=J(),Te="hexadecimal";return}return qe("numeric",Mr*0)},decimalInteger(){switch(Re){case".":ke+=J(),Te="decimalPoint";return;case"e":case"E":ke+=J(),Te="decimalExponent";return}if(Ze.isDigit(Re)){ke+=J();return}return qe("numeric",Mr*Number(ke))},decimalPointLeading(){if(Ze.isDigit(Re)){ke+=J(),Te="decimalFraction";return}throw $e(J())},decimalPoint(){switch(Re){case"e":case"E":ke+=J(),Te="decimalExponent";return}if(Ze.isDigit(Re)){ke+=J(),Te="decimalFraction";return}return qe("numeric",Mr*Number(ke))},decimalFraction(){switch(Re){case"e":case"E":ke+=J(),Te="decimalExponent";return}if(Ze.isDigit(Re)){ke+=J();return}return qe("numeric",Mr*Number(ke))},decimalExponent(){switch(Re){case"+":case"-":ke+=J(),Te="decimalExponentSign";return}if(Ze.isDigit(Re)){ke+=J(),Te="decimalExponentInteger";return}throw $e(J())},decimalExponentSign(){if(Ze.isDigit(Re)){ke+=J(),Te="decimalExponentInteger";return}throw $e(J())},decimalExponentInteger(){if(Ze.isDigit(Re)){ke+=J();return}return qe("numeric",Mr*Number(ke))},hexadecimal(){if(Ze.isHexDigit(Re)){ke+=J(),Te="hexadecimalInteger";return}throw $e(J())},hexadecimalInteger(){if(Ze.isHexDigit(Re)){ke+=J();return}return qe("numeric",Mr*Number(ke))},string(){switch(Re){case"\\":J(),ke+=dA();return;case'"':if($s)return J(),qe("string",ke);ke+=J();return;case"'":if(!$s)return J(),qe("string",ke);ke+=J();return;case`
5
+ `:case"\r":throw $e(J());case"\u2028":case"\u2029":pA(Re);break;case void 0:throw $e(J())}ke+=J()},start(){switch(Re){case"{":case"[":return qe("punctuator",J())}Te="value"},beforePropertyName(){switch(Re){case"$":case"_":ke=J(),Te="identifierName";return;case"\\":J(),Te="identifierNameStartEscape";return;case"}":return qe("punctuator",J());case'"':case"'":$s=J()==='"',Te="string";return}if(Ze.isIdStartChar(Re)){ke+=J(),Te="identifierName";return}throw $e(J())},afterPropertyName(){if(Re===":")return qe("punctuator",J());throw $e(J())},beforePropertyValue(){Te="value"},afterPropertyValue(){switch(Re){case",":case"}":return qe("punctuator",J())}throw $e(J())},beforeArrayValue(){if(Re==="]")return qe("punctuator",J());Te="value"},afterArrayValue(){switch(Re){case",":case"]":return qe("punctuator",J())}throw $e(J())},end(){throw $e(J())}};function qe(t,e){return{type:t,value:e,line:hn,column:Jt}}function jn(t){for(let e of t){if(jr()!==e)throw $e(J());J()}}function dA(){switch(jr()){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(),Ze.isDigit(jr()))throw $e(J());return"\0";case"x":return J(),fA();case"u":return J(),Pd();case`
7
+ `:case"\u2028":case"\u2029":return J(),"";case"\r":return J(),jr()===`
8
+ `&&J(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw $e(J());case void 0:throw $e(J())}return J()}function fA(){let t="",e=jr();if(!Ze.isHexDigit(e)||(t+=J(),e=jr(),!Ze.isHexDigit(e)))throw $e(J());return t+=J(),String.fromCodePoint(parseInt(t,16))}function Pd(){let t="",e=4;for(;e-- >0;){let r=jr();if(!Ze.isHexDigit(r))throw $e(J());t+=J()}return String.fromCodePoint(parseInt(t,16))}var hA={start(){if(et.type==="eof")throw Un();Dd()},beforePropertyName(){switch(et.type){case"identifier":case"string":Fd=et.value,ft="afterPropertyName";return;case"punctuator":_a();return;case"eof":throw Un()}},afterPropertyName(){if(et.type==="eof")throw Un();ft="beforePropertyValue"},beforePropertyValue(){if(et.type==="eof")throw Un();Dd()},beforeArrayValue(){if(et.type==="eof")throw Un();if(et.type==="punctuator"&&et.value==="]"){_a();return}Dd()},afterPropertyValue(){if(et.type==="eof")throw Un();switch(et.value){case",":ft="beforePropertyName";return;case"}":_a()}},afterArrayValue(){if(et.type==="eof")throw Un();switch(et.value){case",":ft="beforeArrayValue";return;case"]":_a()}},end(){}};function Dd(){let t;switch(et.type){case"punctuator":switch(et.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=et.value;break}if(zs===void 0)zs=t;else{let e=Br[Br.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Fd,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Br.push(t),Array.isArray(t)?ft="beforeArrayValue":ft="beforePropertyName";else{let e=Br[Br.length-1];e==null?ft="end":Array.isArray(e)?ft="afterArrayValue":ft="afterPropertyValue"}}function _a(){Br.pop();let t=Br[Br.length-1];t==null?ft="end":Array.isArray(t)?ft="afterArrayValue":ft="afterPropertyValue"}function $e(t){return Ca(t===void 0?`JSON5: invalid end of input at ${hn}:${Jt}`:`JSON5: invalid character '${Gy(t)}' at ${hn}:${Jt}`)}function Un(){return Ca(`JSON5: invalid end of input at ${hn}:${Jt}`)}function Hy(){return Jt-=5,Ca(`JSON5: invalid identifier character at ${hn}:${Jt}`)}function pA(t){console.warn(`JSON5: '${Gy(t)}' in strings is not valid ECMAScript; consider escaping`)}function Gy(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 Ca(t){let e=new SyntaxError(t);return e.lineNumber=hn,e.columnNumber=Jt,e}});var Yy=V((NB,Ky)=>{var Id=Rd();Ky.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(Id.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(!Id.isIdStartChar(C))return h(y,!0);for(let _=C.length;_<y.length;_++)if(!Id.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 Nd=V((MB,Xy)=>{var gA=Vy(),mA=Yy(),yA={parse:gA,stringify:mA};Xy.exports=yA});var S_=V((Wj,lT)=>{lT.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 E_=V((Gj,dT)=>{dT.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 A_=V((Jj,fT)=>{fT.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 T_=V((Vj,hT)=>{hT.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 v_=V((Kj,pT)=>{pT.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 R_=V((Yj,gT)=>{gT.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 D_=V((Xj,mT)=>{mT.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 x_=V((Qj,yT)=>{yT.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 O_=V((Zj,_T)=>{_T.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 N_=V((eU,I_)=>{var bT=S_(),CT=E_(),P_=A_(),wT=T_(),kT=v_(),ST=R_(),ET=D_(),AT=x_(),TT=O_(),F_=function(t,e){return t[e]!==void 0?t[e]:e};function yn(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+=F_(r,i),o="normal";continue}else if(o==="long"&&i==="}"){o="normal";continue}o==="normal"?n+=i:n+=F_(r,i)}return n}I_.exports=function(t){return Object.keys(P_).forEach(function(e){var r=P_[e];t=t.replace(e,r)}),t=yn(t,"^",CT),t=yn(t,"_",bT),t=yn(t,"\\bb",wT),t=yn(t,"\\bf",kT),t=yn(t,"\\it",AT),t=yn(t,"\\cal",ST),t=yn(t,"\\frak",ET),t=yn(t,"\\mono",TT),t}});var Kd=V((gU,X_)=>{"use strict";var La=Object.prototype.hasOwnProperty,Y_=Object.prototype.toString,H_=Object.defineProperty,W_=Object.getOwnPropertyDescriptor,G_=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Y_.call(e)==="[object Array]"},J_=function(e){if(!e||Y_.call(e)!=="[object Object]")return!1;var r=La.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&La.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||La.call(e,o)},V_=function(e,r){H_&&r.name==="__proto__"?H_(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},K_=function(e,r){if(r==="__proto__")if(La.call(e,r)){if(W_)return W_(e,r).value}else return;return e[r]};X_.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=K_(c,r),o=K_(e,r),c!==o&&(d&&o&&(J_(o)||(s=G_(o)))?(s?(s=!1,i=n&&G_(n)?n:[]):i=n&&J_(n)?n:{},V_(c,{name:r,newValue:t(d,i,o)})):typeof o<"u"&&V_(c,{name:r,newValue:o}));return c}});var Q_=V((mU,BT)=>{BT.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 e0=V((yU,Z_)=>{"use strict";var jT=Q_();Z_.exports={pkg:jT}});var Qd=V(Nt=>{"use strict";var r0=Nt&&Nt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.GaxiosError=Nt.GAXIOS_ERROR_SYMBOL=void 0;Nt.defaultErrorRedactor=n0;var t0=r0(Kd()),UT=r0(e0()),Yd=UT.default.pkg;Nt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Yd.name}-gaxios-error`);var Xd=class t extends Error{config;response;code;status;error;[Nt.GAXIOS_ERROR_SYMBOL]=Yd.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Nt.GAXIOS_ERROR_SYMBOL in e&&e[Nt.GAXIOS_ERROR_SYMBOL]===Yd.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,t0.default)(!0,{},r),this.response&&(this.response.config=(0,t0.default)(!0,{},this.response.config)),this.response){try{this.response.data=LT(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}}};Nt.GaxiosError=Xd;function LT(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 n0(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&&(n0({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var s0=V(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.getRetryConfig=qT;async function qT(t){let e=o0(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||$T)(t))return{shouldRetry:!1,config:t.config};let o=zT(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 $T(t){let e=o0(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 o0(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function zT(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 tf=V(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.GaxiosInterceptorManager=void 0;var ef=class extends Set{};qa.GaxiosInterceptorManager=ef});var a0=V((wU,i0)=>{var Do=1e3,xo=Do*60,Oo=xo*60,Wn=Oo*24,HT=Wn*7,WT=Wn*365.25;i0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return GT(t);if(r==="number"&&isFinite(t))return e.long?VT(t):JT(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function GT(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*WT;case"weeks":case"week":case"w":return r*HT;case"days":case"day":case"d":return r*Wn;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*xo;case"seconds":case"second":case"secs":case"sec":case"s":return r*Do;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function JT(t){var e=Math.abs(t);return e>=Wn?Math.round(t/Wn)+"d":e>=Oo?Math.round(t/Oo)+"h":e>=xo?Math.round(t/xo)+"m":e>=Do?Math.round(t/Do)+"s":t+"ms"}function VT(t){var e=Math.abs(t);return e>=Wn?$a(t,e,Wn,"day"):e>=Oo?$a(t,e,Oo,"hour"):e>=xo?$a(t,e,xo,"minute"):e>=Do?$a(t,e,Do,"second"):t+" ms"}function $a(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var rf=V((kU,c0)=>{function KT(t){r.debug=r,r.default=r,r.coerce=u,r.disable=i,r.enable=o,r.enabled=c,r.humanize=a0(),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}c0.exports=KT});var u0=V((_t,za)=>{_t.formatArgs=XT;_t.save=QT;_t.load=ZT;_t.useColors=YT;_t.storage=ev();_t.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`."))}})();_t.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 YT(){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 XT(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+za.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)}_t.log=console.debug||console.log||(()=>{});function QT(t){try{t?_t.storage.setItem("debug",t):_t.storage.removeItem("debug")}catch{}}function ZT(){let t;try{t=_t.storage.getItem("debug")||_t.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function ev(){try{return localStorage}catch{}}za.exports=rf()(_t);var{formatters:tv}=za.exports;tv.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var d0=V((SU,l0)=>{"use strict";l0.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 p0=V((EU,h0)=>{"use strict";var rv=te("os"),f0=te("tty"),Mt=d0(),{env:tt}=process,Ha;Mt("no-color")||Mt("no-colors")||Mt("color=false")||Mt("color=never")?Ha=0:(Mt("color")||Mt("colors")||Mt("color=true")||Mt("color=always"))&&(Ha=1);function nv(){if("FORCE_COLOR"in tt)return tt.FORCE_COLOR==="true"?1:tt.FORCE_COLOR==="false"?0:tt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(tt.FORCE_COLOR,10),3)}function ov(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function sv(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=nv();n!==void 0&&(Ha=n);let o=r?Ha:n;if(o===0)return 0;if(r){if(Mt("color=16m")||Mt("color=full")||Mt("color=truecolor"))return 3;if(Mt("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(tt.TERM==="dumb")return s;if(process.platform==="win32"){let i=rv.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in tt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in tt)||tt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in tt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(tt.TEAMCITY_VERSION)?1:0;if(tt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in tt){let i=Number.parseInt((tt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(tt.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(tt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(tt.TERM)||"COLORTERM"in tt?1:s}function nf(t,e={}){let r=sv(t,{streamIsTTY:t&&t.isTTY,...e});return ov(r)}h0.exports={supportsColor:nf,stdout:nf({isTTY:f0.isatty(1)}),stderr:nf({isTTY:f0.isatty(2)})}});var m0=V((rt,Ga)=>{var iv=te("tty"),Wa=te("util");rt.init=hv;rt.log=lv;rt.formatArgs=cv;rt.save=dv;rt.load=fv;rt.useColors=av;rt.destroy=Wa.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");rt.colors=[6,2,3,4,5,1];try{let t=p0();t&&(t.stderr||t).level>=2&&(rt.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{}rt.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 av(){return"colors"in rt.inspectOpts?!!rt.inspectOpts.colors:iv.isatty(process.stderr.fd)}function cv(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+"+Di.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=qE()+e+" "+t[0]}function qE(){return Ke.inspectOpts.hideDate?"":new Date().toISOString()+" "}function $E(...t){return process.stderr.write(Ti.formatWithOptions(Ke.inspectOpts,...t)+`
18
- `)}function zE(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function HE(){return process.env.DEBUG}function WE(t){t.inspectOpts={};let e=Object.keys(Ke.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ke.inspectOpts[e[r]]}Di.exports=Lc()(Ke);var{formatters:lg}=Di.exports;lg.o=function(t){return this.inspectOpts.colors=this.useColors,Ti.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};lg.O=function(t){return this.inspectOpts.colors=this.useColors,Ti.inspect(t,this.inspectOpts)}});var Hc=J((UF,zc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?zc.exports=og():zc.exports=fg()});var pg=J(ft=>{"use strict";var GE=ft&&ft.__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]})),JE=ft&&ft.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),dg=ft&&ft.__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)&&GE(e,t,r);return JE(e,t),e};Object.defineProperty(ft,"__esModule",{value:!0});ft.req=ft.json=ft.toBuffer=void 0;var VE=dg(ee("http")),KE=dg(ee("https"));async function hg(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ft.toBuffer=hg;async function YE(t){let r=(await hg(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ft.json=YE;function XE(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?KE:VE).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ft.req=XE});var _g=J(mt=>{"use strict";var mg=mt&&mt.__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]})),QE=mt&&mt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),yg=mt&&mt.__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)&&mg(e,t,r);return QE(e,t),e},ZE=mt&&mt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mg(e,t,r)};Object.defineProperty(mt,"__esModule",{value:!0});mt.Agent=void 0;var ek=yg(ee("net")),gg=yg(ee("http")),tk=ee("https");ZE(pg(),mt);var Zt=Symbol("AgentBaseInternalState"),Wc=class extends gg.Agent{constructor(e){super(e),this[Zt]={}}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 ek.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)?tk.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(u=>{if(this.decrementSockets(s,a),u instanceof gg.Agent)try{return u.addRequest(e,o)}catch(c){return n(c)}this[Zt].currentSocket=u,super.createSocket(e,r,n)},u=>{this.decrementSockets(s,a),n(u)})}createConnection(){let e=this[Zt].currentSocket;if(this[Zt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zt]&&(this[Zt].defaultPort=e)}get protocol(){return this[Zt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zt]&&(this[Zt].protocol=e)}};mt.Agent=Wc});var bg=J(Kn=>{"use strict";var rk=Kn&&Kn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.parseProxyResponse=void 0;var nk=rk(Hc()),vi=(0,nk.default)("https-proxy-agent:parse-proxy-response");function ok(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",c),t.removeListener("readable",s)}function u(){a(),vi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(d){a(),vi("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let p=Buffer.concat(o,n),y=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+Ga.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=uv()+e+" "+t[0]}function uv(){return rt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function lv(...t){return process.stderr.write(Wa.formatWithOptions(rt.inspectOpts,...t)+`
18
+ `)}function dv(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function fv(){return process.env.DEBUG}function hv(t){t.inspectOpts={};let e=Object.keys(rt.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=rt.inspectOpts[e[r]]}Ga.exports=rf()(rt);var{formatters:g0}=Ga.exports;g0.o=function(t){return this.inspectOpts.colors=this.useColors,Wa.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};g0.O=function(t){return this.inspectOpts.colors=this.useColors,Wa.inspect(t,this.inspectOpts)}});var sf=V((AU,of)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?of.exports=u0():of.exports=m0()});var b0=V(bt=>{"use strict";var pv=bt&&bt.__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]})),gv=bt&&bt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),y0=bt&&bt.__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)&&pv(e,t,r);return gv(e,t),e};Object.defineProperty(bt,"__esModule",{value:!0});bt.req=bt.json=bt.toBuffer=void 0;var mv=y0(te("http")),yv=y0(te("https"));async function _0(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}bt.toBuffer=_0;async function _v(t){let r=(await _0(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}bt.json=_v;function bv(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?yv:mv).request(t,e),o=new Promise((s,i)=>{n.once("response",s).once("error",i).end()});return n.then=o.then.bind(o),n}bt.req=bv});var S0=V(St=>{"use strict";var w0=St&&St.__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]})),Cv=St&&St.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),k0=St&&St.__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)&&w0(e,t,r);return Cv(e,t),e},wv=St&&St.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&w0(e,t,r)};Object.defineProperty(St,"__esModule",{value:!0});St.Agent=void 0;var kv=k0(te("net")),C0=k0(te("http")),Sv=te("https");wv(b0(),St);var lr=Symbol("AgentBaseInternalState"),af=class extends C0.Agent{constructor(e){super(e),this[lr]={}}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 kv.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)?Sv.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 C0.Agent)try{return c.addRequest(e,o)}catch(u){return n(u)}this[lr].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,i),n(c)})}createConnection(){let e=this[lr].currentSocket;if(this[lr].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[lr].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[lr]&&(this[lr].defaultPort=e)}get protocol(){return this[lr].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[lr]&&(this[lr].protocol=e)}};St.Agent=af});var E0=V(Po=>{"use strict";var Ev=Po&&Po.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Po,"__esModule",{value:!0});Po.parseProxyResponse=void 0;var Av=Ev(sf()),Ja=(0,Av.default)("https-proxy-agent:parse-proxy-response");function Tv(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(),Ja("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function u(d){i(),Ja("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(y===-1){vi("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,y).toString("ascii").split(`\r
23
- `),g=A.shift();if(!g)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let _=g.split(" "),b=+_[1],m=_.slice(2).join(" "),v={};for(let k of A){if(!k)continue;let w=k.indexOf(":");if(w===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let T=k.slice(0,w).toLowerCase(),O=k.slice(w+1).trimStart(),N=v[T];typeof N=="string"?v[T]=[N,O]:Array.isArray(N)?N.push(O):v[T]=O}vi("got proxy server response: %o %o",g,v),a(),e({connect:{statusCode:b,statusText:m,headers:v},buffered:p})}t.on("error",c),t.on("end",u),s()})}Kn.parseProxyResponse=ok});var Ag=J(Rt=>{"use strict";var sk=Rt&&Rt.__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]})),ik=Rt&&Rt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),kg=Rt&&Rt.__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)&&sk(e,t,r);return ik(e,t),e},Sg=Rt&&Rt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rt,"__esModule",{value:!0});Rt.HttpsProxyAgent=void 0;var Ri=kg(ee("net")),Cg=kg(ee("tls")),ak=Sg(ee("assert")),uk=Sg(Hc()),ck=_g(),lk=ee("url"),fk=bg(),qo=(0,uk.default)("https-proxy-agent"),wg=t=>t.servername===void 0&&t.host&&!Ri.isIP(t.host)?{...t,servername:t.host}:t,xi=class extends ck.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new lk.URL(e):e,this.proxyHeaders=r?.headers??{},qo("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?Eg(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:"?(qo("Creating `tls.Socket`: %o",this.connectOpts),o=Cg.connect(wg(this.connectOpts))):(qo("Creating `net.Socket`: %o",this.connectOpts),o=Ri.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ri.isIPv6(r.host)?`[${r.host}]`:r.host,u=`CONNECT ${a}:${r.port} HTTP/1.1\r
24
- `;if(n.username||n.password){let y=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(y).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let y of Object.keys(s))u+=`${y}: ${s[y]}\r
25
- `;let c=(0,fk.parseProxyResponse)(o);o.write(`${u}\r
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"),Cg.connect({...Eg(wg(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Ri.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{qo("Replaying proxy buffer for failed request"),(0,ak.default)(y.listenerCount("data")>0),y.push(d),y.push(null)}),p}};xi.protocols=["http","https"];Rt.HttpsProxyAgent=xi;function dk(t){t.resume()}function Eg(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function hk(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 Tg,Dg=qe(()=>{Tg=hk});var Rg=J((Oi,vg)=>{(function(t,e){typeof Oi=="object"&&typeof vg<"u"?e(Oi):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Oi,(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"?fe(i):l._state==="closed"?ae(i):ge(i,l._storedError)}function ie(i,l){let h=i._ownerReadableStream;return Mt(h,l)}function be(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 ye(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function fe(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h})}function ge(i,l){fe(i),V(i,l)}function ae(i){fe(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){ge(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 Ae=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Le=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function ce(i,l){if(i!==void 0&&!W(i))throw new TypeError(`${l} is not an object.`)}function ne(i,l){if(typeof i!="function")throw new TypeError(`${l} is not a function.`)}function Se(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Oe(i,l){if(!Se(i))throw new TypeError(`${l} is not an object.`)}function je(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(Le(i))}function F(i,l){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=D(R),!Ae(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!Ae(R)||R===0?0:R}function I(i,l){if(!Nr(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||!te(l))}class z{constructor(l){if(je(l,1,"ReadableStreamDefaultReader"),I(l,"First parameter"),Br(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 te(this)?this._closedPromise:d(Me("closed"))}cancel(l=void 0){return te(this)?this._ownerReadableStream===void 0?d(ye("cancel")):ie(this,l):d(Me("cancel"))}read(){if(!te(this))return d(Me("read"));if(this._ownerReadableStream===void 0)return d(ye("read from"));let l,h,E=c((U,q)=>{l=U,h=q});return re(this,{_chunkSteps:U=>l({value:U,done:!1}),_closeSteps:()=>l({value:void 0,done:!0}),_errorSteps:U=>h(U)}),E}releaseLock(){if(!te(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&ke(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 te(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function re(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 ke(i){be(i);let l=new TypeError("Reader was released");Ie(i,l)}function Ie(i,l){let h=i._readRequests;i._readRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ee=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Te{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 re(l,{_chunkSteps:q=>{this._ongoingPromise=void 0,m(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,be(l),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,be(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=ie(h,l);return be(h),_(E,()=>({value:l,done:!0}))}return be(h),f({value:l,done:!0})}}let He={next(){return Dn(this)?this._asyncIteratorImpl.next():d(vn("next"))},return(i){return Dn(this)?this._asyncIteratorImpl.return(i):d(vn("return"))}};Object.setPrototypeOf(He,Ee);function Tn(i,l){let h=L(i),E=new Te(h,l),R=Object.create(He);return R._asyncIteratorImpl=E,R}function Dn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Te}catch{return!1}}function vn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let pt=Number.isNaN||function(i){return i!==i};var dr,tt,We;function ve(i){return i.slice()}function Wd(i,l,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),l)}let hr=i=>(typeof i.transfer=="function"?hr=l=>l.transfer():typeof structuredClone=="function"?hr=l=>structuredClone(l,{transfer:[l]}):hr=l=>l,hr(i)),Or=i=>(typeof i.detached=="boolean"?Or=l=>l.detached:Or=l=>l.byteLength===0,Or(i));function Gd(i,l,h){if(i.slice)return i.slice(l,h);let E=h-l,R=new ArrayBuffer(E);return Wd(R,0,i,l,E),R}function Fs(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 Nb(i){let l={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*l})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let zu=(We=(dr=Symbol.asyncIterator)!==null&&dr!==void 0?dr:(tt=Symbol.for)===null||tt===void 0?void 0:tt.call(Symbol,"Symbol.asyncIterator"))!==null&&We!==void 0?We:"@@asyncIterator";function Jd(i,l="sync",h){if(h===void 0)if(l==="async"){if(h=Fs(i,zu),h===void 0){let U=Fs(i,Symbol.iterator),q=Jd(i,"sync",U);return Nb(q)}}else h=Fs(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 Bb(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 jb(i){return!!i.done}function Mb(i){return i.value}function Ub(i){return!(typeof i!="number"||pt(i)||i<0)}function Vd(i){let l=Gd(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(l)}function Hu(i){let l=i._queue.shift();return i._queueTotalSize-=l.size,i._queueTotalSize<0&&(i._queueTotalSize=0),l.value}function Wu(i,l,h){if(!Ub(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 Lb(i){return i._queue.peek().value}function Fr(i){i._queue=new T,i._queueTotalSize=0}function Kd(i){return i===DataView}function qb(i){return Kd(i.constructor)}function $b(i){return Kd(i)?1:i.BYTES_PER_ELEMENT}class on{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Gu(this))throw Xu("view");return this._view}respond(l){if(!Gu(this))throw Xu("respond");if(je(l,1,"respond"),l=F(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Or(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Bs(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!Gu(this))throw Xu("respondWithNewView");if(je(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(Or(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");js(this._associatedReadableByteStreamController,l)}}Object.defineProperties(on.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(on.prototype.respond,"respond"),o(on.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(on.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!sn(this))throw xo("byobRequest");return Yu(this)}get desiredSize(){if(!sn(this))throw xo("desiredSize");return sh(this)}close(){if(!sn(this))throw xo("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`);Ro(this)}enqueue(l){if(!sn(this))throw xo("enqueue");if(je(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`);Ns(this,l)}error(l=void 0){if(!sn(this))throw xo("error");At(this,l)}[G](l){Yd(this),Fr(this);let h=this._cancelAlgorithm(l);return Is(this),h}[$](l){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){oh(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),an(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(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function sn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pr}function Gu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof on}function an(i){if(!Jb(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,an(i)),null),E=>(At(i,E),null))}function Yd(i){Vu(i),i._pendingPullIntos=new T}function Ju(i,l){let h=!1;i._state==="closed"&&(h=!0);let E=Xd(l);l.readerType==="default"?P(i,E,h):Zb(i,E,h)}function Xd(i){let l=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,l/h)}function Ps(i,l,h,E){i._queue.push({buffer:l,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function Qd(i,l,h,E){let R;try{R=Gd(l,h,h+E)}catch(U){throw At(i,U),U}Ps(i,R,0,E)}function Zd(i,l){l.bytesFilled>0&&Qd(i,l.buffer,l.byteOffset,l.bytesFilled),Rn(i)}function eh(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 de=i._queue;for(;R>0;){let se=de.peek(),he=Math.min(R,se.byteLength),_e=l.byteOffset+l.bytesFilled;Wd(l.buffer,_e,se.buffer,se.byteOffset,he),se.byteLength===he?de.shift():(se.byteOffset+=he,se.byteLength-=he),i._queueTotalSize-=he,th(i,he,l),R-=he}return U}function th(i,l,h){h.bytesFilled+=l}function rh(i){i._queueTotalSize===0&&i._closeRequested?(Is(i),Bo(i._controlledReadableByteStream)):an(i)}function Vu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function Ku(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let l=i._pendingPullIntos.peek();eh(i,l)&&(Rn(i),Ju(i._controlledReadableByteStream,l))}}function zb(i){let l=i._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=l._readRequests.shift();oh(i,h)}}function Hb(i,l,h,E){let R=i._controlledReadableByteStream,U=l.constructor,q=$b(U),{byteOffset:Q,byteLength:de}=l,se=h*q,he;try{he=hr(l.buffer)}catch(xe){E._errorSteps(xe);return}let _e={buffer:he,bufferByteLength:he.byteLength,byteOffset:Q,byteLength:de,bytesFilled:0,minimumFill:se,elementSize:q,viewConstructor:U,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(_e),uh(R,E);return}if(R._state==="closed"){let xe=new U(_e.buffer,_e.byteOffset,0);E._closeSteps(xe);return}if(i._queueTotalSize>0){if(eh(i,_e)){let xe=Xd(_e);rh(i),E._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");At(i,xe),E._errorSteps(xe);return}}i._pendingPullIntos.push(_e),uh(R,E),an(i)}function Wb(i,l){l.readerType==="none"&&Rn(i);let h=i._controlledReadableByteStream;if(Qu(h))for(;ch(h)>0;){let E=Rn(i);Ju(h,E)}}function Gb(i,l,h){if(th(i,l,h),h.readerType==="none"){Zd(i,h),Ku(i);return}if(h.bytesFilled<h.minimumFill)return;Rn(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;Qd(i,h.buffer,R-E,E)}h.bytesFilled-=E,Ju(i._controlledReadableByteStream,h),Ku(i)}function nh(i,l){let h=i._pendingPullIntos.peek();Vu(i),i._controlledReadableByteStream._state==="closed"?Wb(i,h):Gb(i,l,h),an(i)}function Rn(i){return i._pendingPullIntos.shift()}function Jb(i){let l=i._controlledReadableByteStream;return l._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(l)&&M(l)>0||Qu(l)&&ch(l)>0||sh(i)>0)}function Is(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ro(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 At(i,E),E}}Is(i),Bo(l)}}function Ns(i,l){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:U}=l;if(Or(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=hr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(Or(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Vu(i),Q.buffer=hr(Q.buffer),Q.readerType==="none"&&Zd(i,Q)}if(B(h))if(zb(i),M(h)===0)Ps(i,q,R,U);else{i._pendingPullIntos.length>0&&Rn(i);let Q=new Uint8Array(q,R,U);P(h,Q,!1)}else Qu(h)?(Ps(i,q,R,U),Ku(i)):Ps(i,q,R,U);an(i)}function At(i,l){let h=i._controlledReadableByteStream;h._state==="readable"&&(Yd(i),Fr(i),Is(i),Ph(h,l))}function oh(i,l){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,rh(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);l._chunkSteps(E)}function Yu(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(on.prototype);Kb(E,i,h),i._byobRequest=E}return i._byobRequest}function sh(i){let l=i._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function Bs(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=hr(h.buffer),nh(i,l)}function js(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=hr(l.buffer),nh(i,R)}function ih(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,Fr(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,an(l),null),de=>(At(l,de),null))}function Vb(i,l,h){let E=Object.create(pr.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=de=>l.cancel(de):q=()=>f(void 0);let Q=l.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");ih(i,E,R,U,q,h,Q)}function Kb(i,l,h){i._associatedReadableByteStreamController=l,i._view=h}function Xu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function xo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function Yb(i,l){ce(i,l);let h=i?.mode;return{mode:h===void 0?void 0:Xb(h,`${l} has member 'mode' that`)}}function Xb(i,l){if(i=`${i}`,i!=="byob")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function Qb(i,l){var h;ce(i,l);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(E,`${l} has member 'min' that`)}}function ah(i){return new Pr(i)}function uh(i,l){i._reader._readIntoRequests.push(l)}function Zb(i,l,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(l):R._chunkSteps(l)}function ch(i){return i._reader._readIntoRequests.length}function Qu(i){let l=i._reader;return!(l===void 0||!un(l))}class Pr{constructor(l){if(je(l,1,"ReadableStreamBYOBReader"),I(l,"First parameter"),Br(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!sn(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 un(this)?this._closedPromise:d(Ms("closed"))}cancel(l=void 0){return un(this)?this._ownerReadableStream===void 0?d(ye("cancel")):ie(this,l):d(Ms("cancel"))}read(l,h={}){if(!un(this))return d(Ms("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(Or(l.buffer))return d(new TypeError("view's buffer has been detached"));let E;try{E=Qb(h,"options")}catch(se){return d(se)}let R=E.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(qb(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(ye("read from"));let U,q,Q=c((se,he)=>{U=se,q=he});return lh(this,l,R,{_chunkSteps:se=>U({value:se,done:!1}),_closeSteps:se=>U({value:se,done:!0}),_errorSteps:se=>q(se)}),Q}releaseLock(){if(!un(this))throw Ms("releaseLock");this._ownerReadableStream!==void 0&&eC(this)}}Object.defineProperties(Pr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Pr.prototype.cancel,"cancel"),o(Pr.prototype.read,"read"),o(Pr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function un(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Pr}function lh(i,l,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):Hb(R._readableStreamController,l,h,E)}function eC(i){be(i);let l=new TypeError("Reader was released");fh(i,l)}function fh(i,l){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function Ms(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Oo(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 Us(i){let{size:l}=i;return l||(()=>1)}function Ls(i,l){ce(i,l);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:S(h),size:E===void 0?void 0:tC(E,`${l} has member 'size' that`)}}function tC(i,l){return ne(i,l),h=>S(i(h))}function rC(i,l){ce(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:nC(h,i,`${l} has member 'abort' that`),close:E===void 0?void 0:oC(E,i,`${l} has member 'close' that`),start:R===void 0?void 0:sC(R,i,`${l} has member 'start' that`),write:q===void 0?void 0:iC(q,i,`${l} has member 'write' that`),type:U}}function nC(i,l,h){return ne(i,h),E=>k(i,l,[E])}function oC(i,l,h){return ne(i,h),()=>k(i,l,[])}function sC(i,l,h){return ne(i,h),E=>v(i,l,[E])}function iC(i,l,h){return ne(i,h),(E,R)=>k(i,l,[E,R])}function dh(i,l){if(!xn(i))throw new TypeError(`${l} is not a WritableStream.`)}function aC(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let uC=typeof AbortController=="function";function cC(){if(uC)return new AbortController}class Ir{constructor(l={},h={}){l===void 0?l=null:Oe(l,"First parameter");let E=Ls(h,"Second parameter"),R=rC(l,"First parameter");if(ph(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let q=Us(E),Q=Oo(E,1);kC(this,R,Q,q)}get locked(){if(!xn(this))throw Ws("locked");return On(this)}abort(l=void 0){return xn(this)?On(this)?d(new TypeError("Cannot abort a stream that already has a writer")):qs(this,l):d(Ws("abort"))}close(){return xn(this)?On(this)?d(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?d(new TypeError("Cannot close an already-closing stream")):gh(this):d(Ws("close"))}getWriter(){if(!xn(this))throw Ws("getWriter");return hh(this)}}Object.defineProperties(Ir.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Ir.prototype.abort,"abort"),o(Ir.prototype.close,"close"),o(Ir.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ir.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function hh(i){return new gr(i)}function lC(i,l,h,E,R=1,U=()=>1){let q=Object.create(Ir.prototype);ph(q);let Q=Object.create(Fn.prototype);return wh(q,Q,i,l,h,E,R,U),q}function ph(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 xn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Ir}function On(i){return i._writer!==void 0}function qs(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||ec(i,l),U}function gh(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"&&uc(E),SC(i._writableStreamController),h}function fC(i){return c((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function Zu(i,l){if(i._state==="writable"){ec(i,l);return}tc(i)}function ec(i,l){let h=i._writableStreamController;i._state="erroring",i._storedError=l;let E=i._writer;E!==void 0&&yh(E,l),!mC(i)&&h._started&&tc(i)}function tc(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){$s(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(l),$s(i);return}let E=i._writableStreamController[O](h._reason);y(E,()=>(h._resolve(),$s(i),null),R=>(h._reject(R),$s(i),null))}function dC(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function hC(i,l){i._inFlightWriteRequest._reject(l),i._inFlightWriteRequest=void 0,Zu(i,l)}function pC(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&&Ah(h)}function gC(i,l){i._inFlightCloseRequest._reject(l),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(l),i._pendingAbortRequest=void 0),Zu(i,l)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function mC(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function yC(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function _C(i){i._inFlightWriteRequest=i._writeRequests.shift()}function $s(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let l=i._writer;l!==void 0&&ic(l,i._storedError)}function rc(i,l){let h=i._writer;h!==void 0&&l!==i._backpressure&&(l?OC(h):uc(h)),i._backpressure=l}class gr{constructor(l){if(je(l,1,"WritableStreamDefaultWriter"),dh(l,"First parameter"),On(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")!Yt(l)&&l._backpressure?Js(this):Th(this),Gs(this);else if(h==="erroring")ac(this,l._storedError),Gs(this);else if(h==="closed")Th(this),RC(this);else{let E=l._storedError;ac(this,E),Sh(this,E)}}get closed(){return cn(this)?this._closedPromise:d(ln("closed"))}get desiredSize(){if(!cn(this))throw ln("desiredSize");if(this._ownerWritableStream===void 0)throw Po("desiredSize");return EC(this)}get ready(){return cn(this)?this._readyPromise:d(ln("ready"))}abort(l=void 0){return cn(this)?this._ownerWritableStream===void 0?d(Po("abort")):bC(this,l):d(ln("abort"))}close(){if(!cn(this))return d(ln("close"));let l=this._ownerWritableStream;return l===void 0?d(Po("close")):Yt(l)?d(new TypeError("Cannot close an already-closing stream")):mh(this)}releaseLock(){if(!cn(this))throw ln("releaseLock");this._ownerWritableStream!==void 0&&_h(this)}write(l=void 0){return cn(this)?this._ownerWritableStream===void 0?d(Po("write to")):bh(this,l):d(ln("write"))}}Object.defineProperties(gr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(gr.prototype.abort,"abort"),o(gr.prototype.close,"close"),o(gr.prototype.releaseLock,"releaseLock"),o(gr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function cn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof gr}function bC(i,l){let h=i._ownerWritableStream;return qs(h,l)}function mh(i){let l=i._ownerWritableStream;return gh(l)}function CC(i){let l=i._ownerWritableStream,h=l._state;return Yt(l)||h==="closed"?f(void 0):h==="errored"?d(l._storedError):mh(i)}function wC(i,l){i._closedPromiseState==="pending"?ic(i,l):xC(i,l)}function yh(i,l){i._readyPromiseState==="pending"?Dh(i,l):FC(i,l)}function EC(i){let l=i._ownerWritableStream,h=l._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Eh(l._writableStreamController)}function _h(i){let l=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");yh(i,h),wC(i,h),l._writer=void 0,i._ownerWritableStream=void 0}function bh(i,l){let h=i._ownerWritableStream,E=h._writableStreamController,R=AC(E,l);if(h!==i._ownerWritableStream)return d(Po("write to"));let U=h._state;if(U==="errored")return d(h._storedError);if(Yt(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 TC(E,l,R),q}let Ch={};class Fn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!nc(this))throw sc("abortReason");return this._abortReason}get signal(){if(!nc(this))throw sc("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!nc(this))throw sc("error");this._controlledWritableStream._state==="writable"&&kh(this,l)}[O](l){let h=this._abortAlgorithm(l);return zs(this),h}[N](){Fr(this)}}Object.defineProperties(Fn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function nc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Fn}function wh(i,l,h,E,R,U,q,Q){l._controlledWritableStream=i,i._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Fr(l),l._abortReason=void 0,l._abortController=cC(),l._started=!1,l._strategySizeAlgorithm=Q,l._strategyHWM=q,l._writeAlgorithm=E,l._closeAlgorithm=R,l._abortAlgorithm=U;let de=oc(l);rc(i,de);let se=h(),he=f(se);y(he,()=>(l._started=!0,Hs(l),null),_e=>(l._started=!0,Zu(i,_e),null))}function kC(i,l,h,E){let R=Object.create(Fn.prototype),U,q,Q,de;l.start!==void 0?U=()=>l.start(R):U=()=>{},l.write!==void 0?q=se=>l.write(se,R):q=()=>f(void 0),l.close!==void 0?Q=()=>l.close():Q=()=>f(void 0),l.abort!==void 0?de=se=>l.abort(se):de=()=>f(void 0),wh(i,R,U,q,Q,de,h,E)}function zs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function SC(i){Wu(i,Ch,0),Hs(i)}function AC(i,l){try{return i._strategySizeAlgorithm(l)}catch(h){return Fo(i,h),1}}function Eh(i){return i._strategyHWM-i._queueTotalSize}function TC(i,l,h){try{Wu(i,l,h)}catch(R){Fo(i,R);return}let E=i._controlledWritableStream;if(!Yt(E)&&E._state==="writable"){let R=oc(i);rc(E,R)}Hs(i)}function Hs(i){let l=i._controlledWritableStream;if(!i._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){tc(l);return}if(i._queue.length===0)return;let E=Lb(i);E===Ch?DC(i):vC(i,E)}function Fo(i,l){i._controlledWritableStream._state==="writable"&&kh(i,l)}function DC(i){let l=i._controlledWritableStream;yC(l),Hu(i);let h=i._closeAlgorithm();zs(i),y(h,()=>(pC(l),null),E=>(gC(l,E),null))}function vC(i,l){let h=i._controlledWritableStream;_C(h);let E=i._writeAlgorithm(l);y(E,()=>{dC(h);let R=h._state;if(Hu(i),!Yt(h)&&R==="writable"){let U=oc(i);rc(h,U)}return Hs(i),null},R=>(h._state==="writable"&&zs(i),hC(h,R),null))}function oc(i){return Eh(i)<=0}function kh(i,l){let h=i._controlledWritableStream;zs(i),ec(h,l)}function Ws(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function sc(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function ln(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Po(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Gs(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Sh(i,l){Gs(i),ic(i,l)}function RC(i){Gs(i),Ah(i)}function ic(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){Sh(i,l)}function Ah(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 Js(i){i._readyPromise=c((l,h)=>{i._readyPromise_resolve=l,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function ac(i,l){Js(i),Dh(i,l)}function Th(i){Js(i),uc(i)}function Dh(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 OC(i){Js(i)}function FC(i,l){ac(i,l)}function uc(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 PC(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let cc=PC();function IC(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function NC(){let i=cc?.DOMException;return IC(i)?i:void 0}function BC(){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 jC=NC()||BC();function vh(i,l,h,E,R,U){let q=L(i),Q=hh(l);i._disturbed=!0;let de=!1,se=f(void 0);return c((he,_e)=>{let xe;if(U!==void 0){if(xe=()=>{let ue=U.reason!==void 0?U.reason:new jC("Aborted","AbortError"),Ce=[];E||Ce.push(()=>l._state==="writable"?qs(l,ue):f(void 0)),R||Ce.push(()=>i._state==="readable"?Mt(i,ue):f(void 0)),ut(()=>Promise.all(Ce.map(Fe=>Fe())),!0,ue)},U.aborted){xe();return}U.addEventListener("abort",xe)}function Ut(){return c((ue,Ce)=>{function Fe(gt){gt?ue():p(Bn(),Fe,Ce)}Fe(!1)})}function Bn(){return de?f(!0):p(Q._readyPromise,()=>c((ue,Ce)=>{re(q,{_chunkSteps:Fe=>{se=p(bh(Q,Fe),void 0,e),ue(!1)},_closeSteps:()=>ue(!0),_errorSteps:Ce})}))}if(yr(i,q._closedPromise,ue=>(E?Tt(!0,ue):ut(()=>qs(l,ue),!0,ue),null)),yr(l,Q._closedPromise,ue=>(R?Tt(!0,ue):ut(()=>Mt(i,ue),!0,ue),null)),ot(i,q._closedPromise,()=>(h?Tt():ut(()=>CC(Q)),null)),Yt(l)||l._state==="closed"){let ue=new TypeError("the destination writable stream closed before all data could be piped to it");R?Tt(!0,ue):ut(()=>Mt(i,ue),!0,ue)}b(Ut());function Mr(){let ue=se;return p(se,()=>ue!==se?Mr():void 0)}function yr(ue,Ce,Fe){ue._state==="errored"?Fe(ue._storedError):g(Ce,Fe)}function ot(ue,Ce,Fe){ue._state==="closed"?Fe():A(Ce,Fe)}function ut(ue,Ce,Fe){if(de)return;de=!0,l._state==="writable"&&!Yt(l)?A(Mr(),gt):gt();function gt(){return y(ue(),()=>_r(Ce,Fe),jn=>_r(!0,jn)),null}}function Tt(ue,Ce){de||(de=!0,l._state==="writable"&&!Yt(l)?A(Mr(),()=>_r(ue,Ce)):_r(ue,Ce))}function _r(ue,Ce){return _h(Q),be(q),U!==void 0&&U.removeEventListener("abort",xe),ue?_e(Ce):he(void 0),null}})}class mr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vs(this))throw Ys("desiredSize");return lc(this)}close(){if(!Vs(this))throw Ys("close");if(!In(this))throw new TypeError("The stream is not in a state that permits close");fn(this)}enqueue(l=void 0){if(!Vs(this))throw Ys("enqueue");if(!In(this))throw new TypeError("The stream is not in a state that permits enqueue");return Pn(this,l)}error(l=void 0){if(!Vs(this))throw Ys("error");jt(this,l)}[G](l){Fr(this);let h=this._cancelAlgorithm(l);return Ks(this),h}[$](l){let h=this._controlledReadableStream;if(this._queue.length>0){let E=Hu(this);this._closeRequested&&this._queue.length===0?(Ks(this),Bo(h)):Io(this),l._chunkSteps(E)}else x(h,l),Io(this)}[X](){}}Object.defineProperties(mr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(mr.prototype.close,"close"),o(mr.prototype.enqueue,"enqueue"),o(mr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Vs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof mr}function Io(i){if(!Rh(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,Io(i)),null),E=>(jt(i,E),null))}function Rh(i){let l=i._controlledReadableStream;return!In(i)||!i._started?!1:!!(Br(l)&&M(l)>0||lc(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function fn(i){if(!In(i))return;let l=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ks(i),Bo(l))}function Pn(i,l){if(!In(i))return;let h=i._controlledReadableStream;if(Br(h)&&M(h)>0)P(h,l,!1);else{let E;try{E=i._strategySizeAlgorithm(l)}catch(R){throw jt(i,R),R}try{Wu(i,l,E)}catch(R){throw jt(i,R),R}}Io(i)}function jt(i,l){let h=i._controlledReadableStream;h._state==="readable"&&(Fr(i),Ks(i),Ph(h,l))}function lc(i){let l=i._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function MC(i){return!Rh(i)}function In(i){let l=i._controlledReadableStream._state;return!i._closeRequested&&l==="readable"}function xh(i,l,h,E,R,U,q){l._controlledReadableStream=i,l._queue=void 0,l._queueTotalSize=void 0,Fr(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,Io(l),null),de=>(jt(l,de),null))}function UC(i,l,h,E){let R=Object.create(mr.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=de=>l.cancel(de):Q=()=>f(void 0),xh(i,R,U,q,Q,h,E)}function Ys(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function LC(i,l){return sn(i._readableStreamController)?$C(i):qC(i)}function qC(i,l){let h=L(i),E=!1,R=!1,U=!1,q=!1,Q,de,se,he,_e,xe=c(ot=>{_e=ot});function Ut(){return E?(R=!0,f(void 0)):(E=!0,re(h,{_chunkSteps:ut=>{m(()=>{R=!1;let Tt=ut,_r=ut;U||Pn(se._readableStreamController,Tt),q||Pn(he._readableStreamController,_r),E=!1,R&&Ut()})},_closeSteps:()=>{E=!1,U||fn(se._readableStreamController),q||fn(he._readableStreamController),(!U||!q)&&_e(void 0)},_errorSteps:()=>{E=!1}}),f(void 0))}function Bn(ot){if(U=!0,Q=ot,q){let ut=ve([Q,de]),Tt=Mt(i,ut);_e(Tt)}return xe}function Mr(ot){if(q=!0,de=ot,U){let ut=ve([Q,de]),Tt=Mt(i,ut);_e(Tt)}return xe}function yr(){}return se=No(yr,Ut,Bn),he=No(yr,Ut,Mr),g(h._closedPromise,ot=>(jt(se._readableStreamController,ot),jt(he._readableStreamController,ot),(!U||!q)&&_e(void 0),null)),[se,he]}function $C(i){let l=L(i),h=!1,E=!1,R=!1,U=!1,q=!1,Q,de,se,he,_e,xe=c(ue=>{_e=ue});function Ut(ue){g(ue._closedPromise,Ce=>(ue!==l||(At(se._readableStreamController,Ce),At(he._readableStreamController,Ce),(!U||!q)&&_e(void 0)),null))}function Bn(){un(l)&&(be(l),l=L(i),Ut(l)),re(l,{_chunkSteps:Ce=>{m(()=>{E=!1,R=!1;let Fe=Ce,gt=Ce;if(!U&&!q)try{gt=Vd(Ce)}catch(jn){At(se._readableStreamController,jn),At(he._readableStreamController,jn),_e(Mt(i,jn));return}U||Ns(se._readableStreamController,Fe),q||Ns(he._readableStreamController,gt),h=!1,E?yr():R&&ot()})},_closeSteps:()=>{h=!1,U||Ro(se._readableStreamController),q||Ro(he._readableStreamController),se._readableStreamController._pendingPullIntos.length>0&&Bs(se._readableStreamController,0),he._readableStreamController._pendingPullIntos.length>0&&Bs(he._readableStreamController,0),(!U||!q)&&_e(void 0)},_errorSteps:()=>{h=!1}})}function Mr(ue,Ce){te(l)&&(be(l),l=ah(i),Ut(l));let Fe=Ce?he:se,gt=Ce?se:he;lh(l,ue,1,{_chunkSteps:Mn=>{m(()=>{E=!1,R=!1;let Un=Ce?q:U;if(Ce?U:q)Un||js(Fe._readableStreamController,Mn);else{let Gh;try{Gh=Vd(Mn)}catch(gc){At(Fe._readableStreamController,gc),At(gt._readableStreamController,gc),_e(Mt(i,gc));return}Un||js(Fe._readableStreamController,Mn),Ns(gt._readableStreamController,Gh)}h=!1,E?yr():R&&ot()})},_closeSteps:Mn=>{h=!1;let Un=Ce?q:U,oi=Ce?U:q;Un||Ro(Fe._readableStreamController),oi||Ro(gt._readableStreamController),Mn!==void 0&&(Un||js(Fe._readableStreamController,Mn),!oi&&gt._readableStreamController._pendingPullIntos.length>0&&Bs(gt._readableStreamController,0)),(!Un||!oi)&&_e(void 0)},_errorSteps:()=>{h=!1}})}function yr(){if(h)return E=!0,f(void 0);h=!0;let ue=Yu(se._readableStreamController);return ue===null?Bn():Mr(ue._view,!1),f(void 0)}function ot(){if(h)return R=!0,f(void 0);h=!0;let ue=Yu(he._readableStreamController);return ue===null?Bn():Mr(ue._view,!0),f(void 0)}function ut(ue){if(U=!0,Q=ue,q){let Ce=ve([Q,de]),Fe=Mt(i,Ce);_e(Fe)}return xe}function Tt(ue){if(q=!0,de=ue,U){let Ce=ve([Q,de]),Fe=Mt(i,Ce);_e(Fe)}return xe}function _r(){}return se=Fh(_r,yr,ut),he=Fh(_r,ot,Tt),Ut(l),[se,he]}function zC(i){return r(i)&&typeof i.getReader<"u"}function HC(i){return zC(i)?GC(i.getReader()):WC(i)}function WC(i){let l,h=Jd(i,"async"),E=e;function R(){let q;try{q=Bb(h)}catch(de){return d(de)}let Q=f(q);return _(Q,de=>{if(!r(de))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(jb(de))fn(l._readableStreamController);else{let he=Mb(de);Pn(l._readableStreamController,he)}})}function U(q){let Q=h.iterator,de;try{de=Fs(Q,"return")}catch(_e){return d(_e)}if(de===void 0)return f(void 0);let se;try{se=v(de,Q,[q])}catch(_e){return d(_e)}let he=f(se);return _(he,_e=>{if(!r(_e))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return l=No(E,R,U,0),l}function GC(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)fn(l._readableStreamController);else{let Q=q.value;Pn(l._readableStreamController,Q)}})}function R(U){try{return f(i.cancel(U))}catch(q){return d(q)}}return l=No(h,E,R,0),l}function JC(i,l){ce(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:VC(R,h,`${l} has member 'cancel' that`),pull:U===void 0?void 0:KC(U,h,`${l} has member 'pull' that`),start:q===void 0?void 0:YC(q,h,`${l} has member 'start' that`),type:Q===void 0?void 0:XC(Q,`${l} has member 'type' that`)}}function VC(i,l,h){return ne(i,h),E=>k(i,l,[E])}function KC(i,l,h){return ne(i,h),E=>k(i,l,[E])}function YC(i,l,h){return ne(i,h),E=>v(i,l,[E])}function XC(i,l){if(i=`${i}`,i!=="bytes")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function QC(i,l){return ce(i,l),{preventCancel:!!i?.preventCancel}}function Oh(i,l){ce(i,l);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,U=i?.signal;return U!==void 0&&ZC(U,`${l} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:U}}function ZC(i,l){if(!aC(i))throw new TypeError(`${l} is not an AbortSignal.`)}function ew(i,l){ce(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"),dh(E,`${l} has member 'writable' that`),{readable:h,writable:E}}class rt{constructor(l={},h={}){l===void 0?l=null:Oe(l,"First parameter");let E=Ls(h,"Second parameter"),R=JC(l,"First parameter");if(fc(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=Oo(E,0);Vb(this,R,U)}else{let U=Us(E),q=Oo(E,1);UC(this,R,q,U)}}get locked(){if(!Nr(this))throw dn("locked");return Br(this)}cancel(l=void 0){return Nr(this)?Br(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,l):d(dn("cancel"))}getReader(l=void 0){if(!Nr(this))throw dn("getReader");return Yb(l,"First parameter").mode===void 0?L(this):ah(this)}pipeThrough(l,h={}){if(!Nr(this))throw dn("pipeThrough");je(l,1,"pipeThrough");let E=ew(l,"First parameter"),R=Oh(h,"Second parameter");if(Br(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(On(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let U=vh(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return b(U),E.readable}pipeTo(l,h={}){if(!Nr(this))return d(dn("pipeTo"));if(l===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!xn(l))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=Oh(h,"Second parameter")}catch(R){return d(R)}return Br(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):On(l)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):vh(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Nr(this))throw dn("tee");let l=LC(this);return ve(l)}values(l=void 0){if(!Nr(this))throw dn("values");let h=QC(l,"First parameter");return Tn(this,h.preventCancel)}[zu](l){return this.values(l)}static from(l){return HC(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,zu,{value:rt.prototype.values,writable:!0,configurable:!0});function No(i,l,h,E=1,R=()=>1){let U=Object.create(rt.prototype);fc(U);let q=Object.create(mr.prototype);return xh(U,q,i,l,h,E,R),U}function Fh(i,l,h){let E=Object.create(rt.prototype);fc(E);let R=Object.create(pr.prototype);return ih(E,R,i,l,h,0,void 0),E}function fc(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Nr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof rt}function Br(i){return i._reader!==void 0}function Mt(i,l){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Bo(i);let h=i._reader;if(h!==void 0&&un(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 Bo(i){i._state="closed";let l=i._reader;if(l!==void 0&&(Z(l),te(l))){let h=l._readRequests;l._readRequests=new T,h.forEach(E=>{E._closeSteps()})}}function Ph(i,l){i._state="errored",i._storedError=l;let h=i._reader;h!==void 0&&(V(h,l),te(h)?Ie(h,l):fh(h,l))}function dn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function Ih(i,l){ce(i,l);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:S(h)}}let Nh=i=>i.byteLength;o(Nh,"size");class Xs{constructor(l){je(l,1,"ByteLengthQueuingStrategy"),l=Ih(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!jh(this))throw Bh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!jh(this))throw Bh("size");return Nh}}Object.defineProperties(Xs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Bh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function jh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Xs}let Mh=()=>1;o(Mh,"size");class Qs{constructor(l){je(l,1,"CountQueuingStrategy"),l=Ih(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!Lh(this))throw Uh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Lh(this))throw Uh("size");return Mh}}Object.defineProperties(Qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Uh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Lh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Qs}function tw(i,l){ce(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:sw(h,i,`${l} has member 'cancel' that`),flush:E===void 0?void 0:rw(E,i,`${l} has member 'flush' that`),readableType:R,start:U===void 0?void 0:nw(U,i,`${l} has member 'start' that`),transform:q===void 0?void 0:ow(q,i,`${l} has member 'transform' that`),writableType:Q}}function rw(i,l,h){return ne(i,h),E=>k(i,l,[E])}function nw(i,l,h){return ne(i,h),E=>v(i,l,[E])}function ow(i,l,h){return ne(i,h),(E,R)=>k(i,l,[E,R])}function sw(i,l,h){return ne(i,h),E=>k(i,l,[E])}class Zs{constructor(l={},h={},E={}){l===void 0&&(l=null);let R=Ls(h,"Second parameter"),U=Ls(E,"Third parameter"),q=tw(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=Oo(U,0),de=Us(U),se=Oo(R,1),he=Us(R),_e,xe=c(Ut=>{_e=Ut});iw(this,xe,se,he,Q,de),uw(this,q),q.start!==void 0?_e(q.start(this._transformStreamController)):_e(void 0)}get readable(){if(!qh(this))throw Wh("readable");return this._readable}get writable(){if(!qh(this))throw Wh("writable");return this._writable}}Object.defineProperties(Zs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function iw(i,l,h,E,R,U){function q(){return l}function Q(xe){return fw(i,xe)}function de(xe){return dw(i,xe)}function se(){return hw(i)}i._writable=lC(q,Q,se,de,h,E);function he(){return pw(i)}function _e(xe){return gw(i,xe)}i._readable=No(q,he,_e,R,U),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ei(i,!0),i._transformStreamController=void 0}function qh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Zs}function $h(i,l){jt(i._readable._readableStreamController,l),dc(i,l)}function dc(i,l){ri(i._transformStreamController),Fo(i._writable._writableStreamController,l),hc(i)}function hc(i){i._backpressure&&ei(i,!1)}function ei(i,l){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=c(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=l}class jr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ti(this))throw ni("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return lc(l)}enqueue(l=void 0){if(!ti(this))throw ni("enqueue");zh(this,l)}error(l=void 0){if(!ti(this))throw ni("error");cw(this,l)}terminate(){if(!ti(this))throw ni("terminate");lw(this)}}Object.defineProperties(jr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(jr.prototype.enqueue,"enqueue"),o(jr.prototype.error,"error"),o(jr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function ti(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof jr}function aw(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 uw(i,l){let h=Object.create(jr.prototype),E,R,U;l.transform!==void 0?E=q=>l.transform(q,h):E=q=>{try{return zh(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),aw(i,h,E,R,U)}function ri(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function zh(i,l){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!In(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Pn(E,l)}catch(U){throw dc(h,U),h._readable._storedError}MC(E)!==h._backpressure&&ei(h,!0)}function cw(i,l){$h(i._controlledTransformStream,l)}function Hh(i,l){let h=i._transformAlgorithm(l);return _(h,void 0,E=>{throw $h(i._controlledTransformStream,E),E})}function lw(i){let l=i._controlledTransformStream,h=l._readable._readableStreamController;fn(h);let E=new TypeError("TransformStream terminated");dc(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 Hh(h,l)})}return Hh(h,l)}function dw(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 ri(h),y(R,()=>(E._state==="errored"?Nn(h,E._storedError):(jt(E._readableStreamController,l),pc(h)),null),U=>(jt(E._readableStreamController,U),Nn(h,U),null)),h._finishPromise}function hw(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 ri(l),y(E,()=>(h._state==="errored"?Nn(l,h._storedError):(fn(h._readableStreamController),pc(l)),null),R=>(jt(h._readableStreamController,R),Nn(l,R),null)),l._finishPromise}function pw(i){return ei(i,!1),i._backpressureChangePromise}function gw(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 ri(h),y(R,()=>(E._state==="errored"?Nn(h,E._storedError):(Fo(E._writableStreamController,l),hc(i),pc(h)),null),U=>(Fo(E._writableStreamController,U),hc(i),Nn(h,U),null)),h._finishPromise}function ni(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function pc(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Nn(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 Wh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Xs,t.CountQueuingStrategy=Qs,t.ReadableByteStreamController=pr,t.ReadableStream=rt,t.ReadableStreamBYOBReader=Pr,t.ReadableStreamBYOBRequest=on,t.ReadableStreamDefaultController=mr,t.ReadableStreamDefaultReader=z,t.TransformStream=Zs,t.TransformStreamDefaultController=jr,t.WritableStream=Ir,t.WritableStreamDefaultController=Fn,t.WritableStreamDefaultWriter=gr}))});var xg=J(()=>{if(!globalThis.ReadableStream)try{let t=ee("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,ee("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,Rg())}try{let{Blob:t}=ee("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*Gc(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,Og),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+Og)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var JF,Og,Fg,pk,qt,$o=qe(()=>{JF=Xt(xg(),1);Og=65536;Fg=class Jc{#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 Jc?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 Gc(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 Gc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=Gc(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 Jc([],{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(Fg.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});pk=Fg,qt=pk});var gk,mk,Wr,Vc=qe(()=>{$o();gk=class extends qt{#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 qt&&/^(File)$/.test(e[Symbol.toStringTag])}},mk=gk,Wr=mk});function Ng(t,e=qt){var r=`${Pg()}${Pg()}`.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+Kc(a)+`"\r
22
+ `);if(m===-1){Ja("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}Ja("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()})}Po.parseProxyResponse=Tv});var x0=V(Bt=>{"use strict";var vv=Bt&&Bt.__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]})),Rv=Bt&&Bt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),R0=Bt&&Bt.__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)&&vv(e,t,r);return Rv(e,t),e},D0=Bt&&Bt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bt,"__esModule",{value:!0});Bt.HttpsProxyAgent=void 0;var Va=R0(te("net")),A0=R0(te("tls")),Dv=D0(te("assert")),xv=D0(sf()),Ov=S0(),Pv=te("url"),Fv=E0(),Ks=(0,xv.default)("https-proxy-agent"),T0=t=>t.servername===void 0&&t.host&&!Va.isIP(t.host)?{...t,servername:t.host}:t,Ka=class extends Ov.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Pv.URL(e):e,this.proxyHeaders=r?.headers??{},Ks("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?v0(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:"?(Ks("Creating `tls.Socket`: %o",this.connectOpts),o=A0.connect(T0(this.connectOpts))):(Ks("Creating `net.Socket`: %o",this.connectOpts),o=Va.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},i=Va.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,Fv.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",Iv),r.secureEndpoint?(Ks("Upgrading socket connection to TLS"),A0.connect({...v0(T0(r),"host","path","port"),socket:o})):o;o.destroy();let h=new Va.Socket({writable:!1});return h.readable=!0,e.once("socket",m=>{Ks("Replaying proxy buffer for failed request"),(0,Dv.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),h}};Ka.protocols=["http","https"];Bt.HttpsProxyAgent=Ka;function Iv(t){t.resume()}function v0(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function uf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Nv,Mv,cf,Ya=dn(()=>{Nv=Object.defineProperty,Mv=(t,e)=>Nv(t,"name",{value:e,configurable:!0}),cf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};Mv(uf,"getDefaultExportFromCjs")});var N0={};qy(N0,{toFormData:()=>I0});function F0(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 I0(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 zv(r[1]||r[2]),o,s,i,c,u,f,d=[],h=new Jn,m=Et(_=>{i+=C.decode(_,{stream:!0})},"onPartData"),S=Et(_=>{d.push(_)},"appendToFile"),b=Et(()=>{let _=new Fo(d,f,{type:u});h.append(c,_)},"appendFileToFormData"),y=Et(()=>{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=F0(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 Bv,Et,dr,Ue,O0,_n,Xa,Qa,jv,Ys,Uv,Lv,qv,$v,Gn,P0,zv,M0=dn(()=>{Za();Ya();Bv=Object.defineProperty,Et=(t,e)=>Bv(t,"name",{value:e,configurable:!0}),dr=0,Ue={START_BOUNDARY:dr++,HEADER_FIELD_START:dr++,HEADER_FIELD:dr++,HEADER_VALUE_START:dr++,HEADER_VALUE:dr++,HEADER_VALUE_ALMOST_DONE:dr++,HEADERS_ALMOST_DONE:dr++,PART_DATA_START:dr++,PART_DATA:dr++,END:dr++},O0=1,_n={PART_BOUNDARY:O0,LAST_BOUNDARY:O0*=2},Xa=10,Qa=13,jv=32,Ys=45,Uv=58,Lv=97,qv=122,$v=Et(t=>t|32,"lower"),Gn=Et(()=>{},"noop"),P0=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Gn,this.onHeaderField=Gn,this.onHeadersEnd=Gn,this.onHeaderValue=Gn,this.onPartBegin=Gn,this.onPartData=Gn,this.onPartEnd=Gn,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=Ue.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=Et(T=>{this[T+"Mark"]=r},"mark"),_=Et(T=>{delete this[T+"Mark"]},"clear"),R=Et((T,O,D,M)=>{(O===void 0||O!==D)&&this[T](M&&M.subarray(O,D))},"callback"),k=Et((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 Ue.START_BOUNDARY:if(u===i.length-2){if(b===Ys)d|=_n.LAST_BOUNDARY;else if(b!==Qa)return;u++;break}else if(u-1===i.length-2){if(d&_n.LAST_BOUNDARY&&b===Ys)f=Ue.END,d=0;else if(!(d&_n.LAST_BOUNDARY)&&b===Xa)u=0,R("onPartBegin"),f=Ue.HEADER_FIELD_START;else return;break}b!==i[u+2]&&(u=-2),b===i[u+2]&&u++;break;case Ue.HEADER_FIELD_START:f=Ue.HEADER_FIELD,C("onHeaderField"),u=0;case Ue.HEADER_FIELD:if(b===Qa){_("onHeaderField"),f=Ue.HEADERS_ALMOST_DONE;break}if(u++,b===Ys)break;if(b===Uv){if(u===1)return;k("onHeaderField",!0),f=Ue.HEADER_VALUE_START;break}if(y=$v(b),y<Lv||y>qv)return;break;case Ue.HEADER_VALUE_START:if(b===jv)break;C("onHeaderValue"),f=Ue.HEADER_VALUE;case Ue.HEADER_VALUE:b===Qa&&(k("onHeaderValue",!0),R("onHeaderEnd"),f=Ue.HEADER_VALUE_ALMOST_DONE);break;case Ue.HEADER_VALUE_ALMOST_DONE:if(b!==Xa)return;f=Ue.HEADER_FIELD_START;break;case Ue.HEADERS_ALMOST_DONE:if(b!==Xa)return;R("onHeadersEnd"),f=Ue.PART_DATA_START;break;case Ue.PART_DATA_START:f=Ue.PART_DATA,C("onPartData");case Ue.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===Qa?d|=_n.PART_BOUNDARY:b===Ys?d|=_n.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(d&_n.PART_BOUNDARY){if(u=0,b===Xa){d&=~_n.PART_BOUNDARY,R("onPartEnd"),R("onPartBegin"),f=Ue.HEADER_FIELD_START;break}}else d&_n.LAST_BOUNDARY&&b===Ys?(R("onPartEnd"),f=Ue.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 Ue.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===Ue.HEADER_FIELD_START&&this.index===0||this.state===Ue.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Ue.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};Et(P0,"MultipartParser");zv=P0;Et(F0,"_fileName");Et(I0,"toFormData")});import ni from"node:http";import Wv from"node:https";import No from"node:zlib";import pr,{PassThrough as cc,pipeline as Mo}from"node:stream";import{Buffer as at}from"node:buffer";import{types as uc,deprecate as lc,promisify as Gv}from"node:util";import{format as Jv}from"node:url";import{isIP as Vv}from"node:net";import{promises as Kv,statSync as K0,createReadStream as Yv}from"node:fs";import{basename as Xv}from"node:path";function Y0(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 X0(){return j0||(j0=1,(function(t,e){(function(r,n){n(e)})(Qv,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]]"),se=Symbol("[[ErrorSteps]]"),K=Symbol("[[CancelSteps]]"),ne=Symbol("[[PullSteps]]"),Q=Symbol("[[ReleaseSteps]]");function ie(a,l){a._ownerReadableStream=l,l._reader=a,l._state==="readable"?X(a):l._state==="closed"?re(a):ae(a,l._storedError)}p(ie,"ReadableStreamReaderGenericInitialize");function Se(a,l){let g=a._ownerReadableStream;return Ft(g,l)}p(Se,"ReadableStreamReaderGenericCancel");function Ce(a){let l=a._ownerReadableStream;l._state==="readable"?ve(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):be(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[Q](),l._reader=void 0,a._ownerReadableStream=void 0}p(Ce,"ReadableStreamReaderGenericRelease");function De(a){return new TypeError("Cannot "+a+" a stream using a released reader")}p(De,"readerLockException");function X(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g})}p(X,"defaultReaderClosedPromiseInitialize");function ae(a,l){X(a),ve(a,l)}p(ae,"defaultReaderClosedPromiseInitializeAsRejected");function re(a){X(a),z(a)}p(re,"defaultReaderClosedPromiseInitializeAsResolved");function ve(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(ve,"defaultReaderClosedPromiseReject");function be(a,l){ae(a,l)}p(be,"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 ye=Number.isFinite||function(a){return typeof a=="number"&&isFinite(a)},Ne=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 fe(a,l){if(a!==void 0&&!Y(a))throw new TypeError(`${l} is not an object.`)}p(fe,"assertDictionary");function oe(a,l){if(typeof a!="function")throw new TypeError(`${l} is not a function.`)}p(oe,"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(Ne(a))}p(L,"integerPart");function P(a,l){let g=Number.MAX_SAFE_INTEGER,E=Number(a);if(E=I(E),!ye(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!ye(E)||E===0?0:E}p(P,"convertUnsignedLongLongWithEnforceRange");function N(a,l){if(!Pr(a))throw new TypeError(`${l} is not a ReadableStream.`)}p(N,"assertReadableStream");function U(a){return new _e(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 ce(a){let l=a._reader;return!(l===void 0||!pe(l))}p(ce,"ReadableStreamHasDefaultReader");let we=class{constructor(l){if(v(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),Fr(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");ie(this,l),this._readRequests=new W}get closed(){return pe(this)?this._closedPromise:m(cr("closed"))}cancel(l=void 0){return pe(this)?this._ownerReadableStream===void 0?m(De("cancel")):Se(this,l):m(cr("cancel"))}read(){if(!pe(this))return m(cr("read"));if(this._ownerReadableStream===void 0)return m(De("read from"));let l,g,E=d((F,q)=>{l=F,g=q});return ge(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(!pe(this))throw cr("releaseLock");this._ownerReadableStream!==void 0&&Pe(this)}};p(we,"ReadableStreamDefaultReader");let _e=we;Object.defineProperties(_e.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(_e.prototype.cancel,"cancel"),i(_e.prototype.read,"read"),i(_e.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_e.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function pe(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readRequests")?!1:a instanceof _e}p(pe,"IsReadableStreamDefaultReader");function ge(a,l){let g=a._ownerReadableStream;g._disturbed=!0,g._state==="closed"?l._closeSteps():g._state==="errored"?l._errorSteps(g._storedError):g._readableStreamController[ne](l)}p(ge,"ReadableStreamDefaultReaderRead");function Pe(a){Ce(a);let l=new TypeError("Reader was released");Ve(a,l)}p(Pe,"ReadableStreamDefaultReaderRelease");function Ve(a,l){let g=a._readRequests;a._readRequests=new W,g.forEach(E=>{E._errorSteps(l)})}p(Ve,"ReadableStreamDefaultReaderErrorReadRequests");function cr(a){return new TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}p(cr,"defaultReaderBrandCheckException");let _s=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),ao=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 ge(l,{_chunkSteps:p(q=>{this._ongoingPromise=void 0,k(()=>g({value:q,done:!1}))},"_chunkSteps"),_closeSteps:p(()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ce(l),g({value:void 0,done:!0})},"_closeSteps"),_errorSteps:p(q=>{this._ongoingPromise=void 0,this._isFinished=!0,Ce(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=Se(g,l);return Ce(g),_(E,()=>({value:l,done:!0}))}return Ce(g),h({value:l,done:!0})}};p(ao,"ReadableStreamAsyncIteratorImpl");let wt=ao,Xr={next(){return Ye(this)?this._asyncIteratorImpl.next():m(je("next"))},return(a){return Ye(this)?this._asyncIteratorImpl.return(a):m(je("return"))}};Object.setPrototypeOf(Xr,_s);function ut(a,l){let g=U(a),E=new wt(g,l),F=Object.create(Xr);return F._asyncIteratorImpl=E,F}p(ut,"AcquireReadableStreamAsyncIterator");function Ye(a){if(!o(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof wt}catch{return!1}}p(Ye,"IsReadableStreamAsyncIterator");function je(a){return new TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}p(je,"streamAsyncIteratorBrandCheckException");let Gg=Number.isNaN||function(a){return a!==a};var Sl,El,Al;function co(a){return a.slice()}p(co,"CreateArrayFromList");function Tl(a,l,g,E,F){new Uint8Array(a).set(new Uint8Array(g,E,F),l)}p(Tl,"CopyDataBlockBytes");let vr=p(a=>(typeof a.transfer=="function"?vr=p(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?vr=p(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):vr=p(l=>l,"TransferArrayBuffer"),vr(a)),"TransferArrayBuffer"),Qr=p(a=>(typeof a.detached=="boolean"?Qr=p(l=>l.detached,"IsDetachedBuffer"):Qr=p(l=>l.byteLength===0,"IsDetachedBuffer"),Qr(a)),"IsDetachedBuffer");function vl(a,l,g){if(a.slice)return a.slice(l,g);let E=g-l,F=new ArrayBuffer(E);return Tl(F,0,a,l,E),F}p(vl,"ArrayBufferSlice");function bs(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(bs,"GetMethod");function Jg(a){let l={[Symbol.iterator]:()=>a.iterator},g=(async function*(){return yield*l})(),E=g.next;return{iterator:g,nextMethod:E,done:!1}}p(Jg,"CreateAsyncFromSyncIterator");let Rl=(Al=(Sl=Symbol.asyncIterator)!==null&&Sl!==void 0?Sl:(El=Symbol.for)===null||El===void 0?void 0:El.call(Symbol,"Symbol.asyncIterator"))!==null&&Al!==void 0?Al:"@@asyncIterator";function Dl(a,l="sync",g){if(g===void 0)if(l==="async"){if(g=bs(a,Rl),g===void 0){let q=bs(a,Symbol.iterator),H=Dl(a,"sync",q);return Jg(H)}}else g=bs(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(Dl,"GetIterator");function Vg(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(Vg,"IteratorNext");function Kg(a){return!!a.done}p(Kg,"IteratorComplete");function Yg(a){return a.value}p(Yg,"IteratorValue");function Xg(a){return!(typeof a!="number"||Gg(a)||a<0)}p(Xg,"IsNonNegativeNumber");function xl(a){let l=vl(a.buffer,a.byteOffset,a.byteOffset+a.byteLength);return new Uint8Array(l)}p(xl,"CloneAsUint8Array");function Hi(a){let l=a._queue.shift();return a._queueTotalSize-=l.size,a._queueTotalSize<0&&(a._queueTotalSize=0),l.value}p(Hi,"DequeueValue");function Wi(a,l,g){if(!Xg(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(Wi,"EnqueueValueWithSize");function Qg(a){return a._queue.peek().value}p(Qg,"PeekQueueValue");function Rr(a){a._queue=new W,a._queueTotalSize=0}p(Rr,"ResetQueue");function Ol(a){return a===DataView}p(Ol,"isDataViewConstructor");function Zg(a){return Ol(a.constructor)}p(Zg,"isDataView");function em(a){return Ol(a)?1:a.BYTES_PER_ELEMENT}p(em,"arrayBufferViewElementSize");let tm=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Gi(this))throw Xi("view");return this._view}respond(l){if(!Gi(this))throw Xi("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(Qr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ss(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!Gi(this))throw Xi("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(Qr(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Es(this._associatedReadableByteStreamController,l)}};p(tm,"ReadableStreamBYOBRequest");let On=tm;Object.defineProperties(On.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(On.prototype.respond,"respond"),i(On.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(On.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let rm=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Zr(this))throw lo("byobRequest");return Yi(this)}get desiredSize(){if(!Zr(this))throw lo("desiredSize");return ql(this)}close(){if(!Zr(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(!Zr(this))throw lo("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`);ks(this,l)}error(l=void 0){if(!Zr(this))throw lo("error");kt(this,l)}[K](l){Pl(this),Rr(this);let g=this._cancelAlgorithm(l);return ws(this),g}[ne](l){let g=this._controlledReadableByteStream;if(this._queueTotalSize>0){Ll(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),en(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 Dr=rm;Object.defineProperties(Dr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Dr.prototype.close,"close"),i(Dr.prototype.enqueue,"enqueue"),i(Dr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Dr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Zr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")?!1:a instanceof Dr}p(Zr,"IsReadableByteStreamController");function Gi(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")?!1:a instanceof On}p(Gi,"IsReadableStreamBYOBRequest");function en(a){if(!am(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,en(a)),null),g=>(kt(a,g),null))}p(en,"ReadableByteStreamControllerCallPullIfNeeded");function Pl(a){Vi(a),a._pendingPullIntos=new W}p(Pl,"ReadableByteStreamControllerClearPendingPullIntos");function Ji(a,l){let g=!1;a._state==="closed"&&(g=!0);let E=Fl(l);l.readerType==="default"?G(a,E,g):hm(a,E,g)}p(Ji,"ReadableByteStreamControllerCommitPullIntoDescriptor");function Fl(a){let l=a.bytesFilled,g=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,l/g)}p(Fl,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Cs(a,l,g,E){a._queue.push({buffer:l,byteOffset:g,byteLength:E}),a._queueTotalSize+=E}p(Cs,"ReadableByteStreamControllerEnqueueChunkToQueue");function Il(a,l,g,E){let F;try{F=vl(l,g,g+E)}catch(q){throw kt(a,q),q}Cs(a,F,0,E)}p(Il,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function Nl(a,l){l.bytesFilled>0&&Il(a,l.buffer,l.byteOffset,l.bytesFilled),Pn(a)}p(Nl,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function Ml(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 ue=a._queue;for(;F>0;){let me=ue.peek(),Ee=Math.min(F,me.byteLength),Ae=l.byteOffset+l.bytesFilled;Tl(l.buffer,Ae,me.buffer,me.byteOffset,Ee),me.byteLength===Ee?ue.shift():(me.byteOffset+=Ee,me.byteLength-=Ee),a._queueTotalSize-=Ee,Bl(a,Ee,l),F-=Ee}return q}p(Ml,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function Bl(a,l,g){g.bytesFilled+=l}p(Bl,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function jl(a){a._queueTotalSize===0&&a._closeRequested?(ws(a),_o(a._controlledReadableByteStream)):en(a)}p(jl,"ReadableByteStreamControllerHandleQueueDrain");function Vi(a){a._byobRequest!==null&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}p(Vi,"ReadableByteStreamControllerInvalidateBYOBRequest");function Ki(a){for(;a._pendingPullIntos.length>0;){if(a._queueTotalSize===0)return;let l=a._pendingPullIntos.peek();Ml(a,l)&&(Pn(a),Ji(a._controlledReadableByteStream,l))}}p(Ki,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function nm(a){let l=a._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(a._queueTotalSize===0)return;let g=l._readRequests.shift();Ll(a,g)}}p(nm,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function om(a,l,g,E){let F=a._controlledReadableByteStream,q=l.constructor,H=em(q),{byteOffset:Z,byteLength:ue}=l,me=g*H,Ee;try{Ee=vr(l.buffer)}catch(Me){E._errorSteps(Me);return}let Ae={buffer:Ee,bufferByteLength:Ee.byteLength,byteOffset:Z,byteLength:ue,bytesFilled:0,minimumFill:me,elementSize:H,viewConstructor:q,readerType:"byob"};if(a._pendingPullIntos.length>0){a._pendingPullIntos.push(Ae),Hl(F,E);return}if(F._state==="closed"){let Me=new q(Ae.buffer,Ae.byteOffset,0);E._closeSteps(Me);return}if(a._queueTotalSize>0){if(Ml(a,Ae)){let Me=Fl(Ae);jl(a),E._chunkSteps(Me);return}if(a._closeRequested){let Me=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(a,Me),E._errorSteps(Me);return}}a._pendingPullIntos.push(Ae),Hl(F,E),en(a)}p(om,"ReadableByteStreamControllerPullInto");function sm(a,l){l.readerType==="none"&&Pn(a);let g=a._controlledReadableByteStream;if(Qi(g))for(;Wl(g)>0;){let E=Pn(a);Ji(g,E)}}p(sm,"ReadableByteStreamControllerRespondInClosedState");function im(a,l,g){if(Bl(a,l,g),g.readerType==="none"){Nl(a,g),Ki(a);return}if(g.bytesFilled<g.minimumFill)return;Pn(a);let E=g.bytesFilled%g.elementSize;if(E>0){let F=g.byteOffset+g.bytesFilled;Il(a,g.buffer,F-E,E)}g.bytesFilled-=E,Ji(a._controlledReadableByteStream,g),Ki(a)}p(im,"ReadableByteStreamControllerRespondInReadableState");function Ul(a,l){let g=a._pendingPullIntos.peek();Vi(a),a._controlledReadableByteStream._state==="closed"?sm(a,g):im(a,l,g),en(a)}p(Ul,"ReadableByteStreamControllerRespondInternal");function Pn(a){return a._pendingPullIntos.shift()}p(Pn,"ReadableByteStreamControllerShiftPendingPullInto");function am(a){let l=a._controlledReadableByteStream;return l._state!=="readable"||a._closeRequested||!a._started?!1:!!(ce(l)&&ee(l)>0||Qi(l)&&Wl(l)>0||ql(a)>0)}p(am,"ReadableByteStreamControllerShouldCallPull");function ws(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}p(ws,"ReadableByteStreamControllerClearAlgorithms");function uo(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 kt(a,E),E}}ws(a),_o(l)}}p(uo,"ReadableByteStreamControllerClose");function ks(a,l){let g=a._controlledReadableByteStream;if(a._closeRequested||g._state!=="readable")return;let{buffer:E,byteOffset:F,byteLength:q}=l;if(Qr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let H=vr(E);if(a._pendingPullIntos.length>0){let Z=a._pendingPullIntos.peek();if(Qr(Z.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Vi(a),Z.buffer=vr(Z.buffer),Z.readerType==="none"&&Nl(a,Z)}if(ce(g))if(nm(a),ee(g)===0)Cs(a,H,F,q);else{a._pendingPullIntos.length>0&&Pn(a);let Z=new Uint8Array(H,F,q);G(g,Z,!1)}else Qi(g)?(Cs(a,H,F,q),Ki(a)):Cs(a,H,F,q);en(a)}p(ks,"ReadableByteStreamControllerEnqueue");function kt(a,l){let g=a._controlledReadableByteStream;g._state==="readable"&&(Pl(a),Rr(a),ws(a),pd(g,l))}p(kt,"ReadableByteStreamControllerError");function Ll(a,l){let g=a._queue.shift();a._queueTotalSize-=g.byteLength,jl(a);let E=new Uint8Array(g.buffer,g.byteOffset,g.byteLength);l._chunkSteps(E)}p(Ll,"ReadableByteStreamControllerFillReadRequestFromQueue");function Yi(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(On.prototype);um(E,a,g),a._byobRequest=E}return a._byobRequest}p(Yi,"ReadableByteStreamControllerGetBYOBRequest");function ql(a){let l=a._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}p(ql,"ReadableByteStreamControllerGetDesiredSize");function Ss(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=vr(g.buffer),Ul(a,l)}p(Ss,"ReadableByteStreamControllerRespond");function Es(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=vr(l.buffer),Ul(a,E)}p(Es,"ReadableByteStreamControllerRespondWithNewView");function $l(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,Rr(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,en(l),null),ue=>(kt(l,ue),null))}p($l,"SetUpReadableByteStreamController");function cm(a,l,g){let E=Object.create(Dr.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(ue=>l.cancel(ue),"cancelAlgorithm"):H=p(()=>h(void 0),"cancelAlgorithm");let Z=l.autoAllocateChunkSize;if(Z===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");$l(a,E,F,q,H,g,Z)}p(cm,"SetUpReadableByteStreamControllerFromUnderlyingSource");function um(a,l,g){a._associatedReadableByteStreamController=l,a._view=g}p(um,"SetUpReadableStreamBYOBRequest");function Xi(a){return new TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}p(Xi,"byobRequestBrandCheckException");function lo(a){return new TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}p(lo,"byteStreamControllerBrandCheckException");function lm(a,l){fe(a,l);let g=a?.mode;return{mode:g===void 0?void 0:dm(g,`${l} has member 'mode' that`)}}p(lm,"convertReaderOptions");function dm(a,l){if(a=`${a}`,a!=="byob")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}p(dm,"convertReadableStreamReaderMode");function fm(a,l){var g;fe(a,l);let E=(g=a?.min)!==null&&g!==void 0?g:1;return{min:P(E,`${l} has member 'min' that`)}}p(fm,"convertByobReadOptions");function zl(a){return new tn(a)}p(zl,"AcquireReadableStreamBYOBReader");function Hl(a,l){a._reader._readIntoRequests.push(l)}p(Hl,"ReadableStreamAddReadIntoRequest");function hm(a,l,g){let E=a._reader._readIntoRequests.shift();g?E._closeSteps(l):E._chunkSteps(l)}p(hm,"ReadableStreamFulfillReadIntoRequest");function Wl(a){return a._reader._readIntoRequests.length}p(Wl,"ReadableStreamGetNumReadIntoRequests");function Qi(a){let l=a._reader;return!(l===void 0||!rn(l))}p(Qi,"ReadableStreamHasBYOBReader");let pm=class{constructor(l){if(v(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),Fr(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Zr(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");ie(this,l),this._readIntoRequests=new W}get closed(){return rn(this)?this._closedPromise:m(As("closed"))}cancel(l=void 0){return rn(this)?this._ownerReadableStream===void 0?m(De("cancel")):Se(this,l):m(As("cancel"))}read(l,g={}){if(!rn(this))return m(As("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(Qr(l.buffer))return m(new TypeError("view's buffer has been detached"));let E;try{E=fm(g,"options")}catch(ue){return m(ue)}let F=E.min;if(F===0)return m(new TypeError("options.min must be greater than 0"));if(Zg(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(De("read from"));let q,H,Z=d((ue,me)=>{q=ue,H=me});return Gl(this,l,F,{_chunkSteps:p(ue=>q({value:ue,done:!1}),"_chunkSteps"),_closeSteps:p(ue=>q({value:ue,done:!0}),"_closeSteps"),_errorSteps:p(ue=>H(ue),"_errorSteps")}),Z}releaseLock(){if(!rn(this))throw As("releaseLock");this._ownerReadableStream!==void 0&&gm(this)}};p(pm,"ReadableStreamBYOBReader");let tn=pm;Object.defineProperties(tn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(tn.prototype.cancel,"cancel"),i(tn.prototype.read,"read"),i(tn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function rn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")?!1:a instanceof tn}p(rn,"IsReadableStreamBYOBReader");function Gl(a,l,g,E){let F=a._ownerReadableStream;F._disturbed=!0,F._state==="errored"?E._errorSteps(F._storedError):om(F._readableStreamController,l,g,E)}p(Gl,"ReadableStreamBYOBReaderRead");function gm(a){Ce(a);let l=new TypeError("Reader was released");Jl(a,l)}p(gm,"ReadableStreamBYOBReaderRelease");function Jl(a,l){let g=a._readIntoRequests;a._readIntoRequests=new W,g.forEach(E=>{E._errorSteps(l)})}p(Jl,"ReadableStreamBYOBReaderErrorReadIntoRequests");function As(a){return new TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}p(As,"byobReaderBrandCheckException");function fo(a,l){let{highWaterMark:g}=a;if(g===void 0)return l;if(Gg(g)||g<0)throw new RangeError("Invalid highWaterMark");return g}p(fo,"ExtractHighWaterMark");function Ts(a){let{size:l}=a;return l||(()=>1)}p(Ts,"ExtractSizeAlgorithm");function vs(a,l){fe(a,l);let g=a?.highWaterMark,E=a?.size;return{highWaterMark:g===void 0?void 0:x(g),size:E===void 0?void 0:mm(E,`${l} has member 'size' that`)}}p(vs,"convertQueuingStrategy");function mm(a,l){return oe(a,l),g=>x(a(g))}p(mm,"convertQueuingStrategySize");function ym(a,l){fe(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:_m(g,a,`${l} has member 'abort' that`),close:E===void 0?void 0:bm(E,a,`${l} has member 'close' that`),start:F===void 0?void 0:Cm(F,a,`${l} has member 'start' that`),write:H===void 0?void 0:wm(H,a,`${l} has member 'write' that`),type:q}}p(ym,"convertUnderlyingSink");function _m(a,l,g){return oe(a,g),E=>O(a,l,[E])}p(_m,"convertUnderlyingSinkAbortCallback");function bm(a,l,g){return oe(a,g),()=>O(a,l,[])}p(bm,"convertUnderlyingSinkCloseCallback");function Cm(a,l,g){return oe(a,g),E=>T(a,l,[E])}p(Cm,"convertUnderlyingSinkStartCallback");function wm(a,l,g){return oe(a,g),(E,F)=>O(a,l,[E,F])}p(wm,"convertUnderlyingSinkWriteCallback");function Vl(a,l){if(!Fn(a))throw new TypeError(`${l} is not a WritableStream.`)}p(Vl,"assertWritableStream");function km(a){if(typeof a!="object"||a===null)return!1;try{return typeof a.aborted=="boolean"}catch{return!1}}p(km,"isAbortSignal");let tA=typeof AbortController=="function";function Sm(){if(tA)return new AbortController}p(Sm,"createAbortController");let Em=class{constructor(l={},g={}){l===void 0?l=null:A(l,"First parameter");let E=vs(g,"Second parameter"),F=ym(l,"First parameter");if(Yl(this),F.type!==void 0)throw new RangeError("Invalid type is specified");let q=Ts(E),H=fo(E,1);qm(this,F,H,q)}get locked(){if(!Fn(this))throw Ps("locked");return In(this)}abort(l=void 0){return Fn(this)?In(this)?m(new TypeError("Cannot abort a stream that already has a writer")):Rs(this,l):m(Ps("abort"))}close(){return Fn(this)?In(this)?m(new TypeError("Cannot close a stream that already has a writer")):Wt(this)?m(new TypeError("Cannot close an already-closing stream")):Xl(this):m(Ps("close"))}getWriter(){if(!Fn(this))throw Ps("getWriter");return Kl(this)}};p(Em,"WritableStream");let nn=Em;Object.defineProperties(nn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(nn.prototype.abort,"abort"),i(nn.prototype.close,"close"),i(nn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(nn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Kl(a){return new xr(a)}p(Kl,"AcquireWritableStreamDefaultWriter");function Am(a,l,g,E,F=1,q=()=>1){let H=Object.create(nn.prototype);Yl(H);let Z=Object.create(ho.prototype);return rd(H,Z,a,l,g,E,F,q),H}p(Am,"CreateWritableStream");function Yl(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(Yl,"InitializeWritableStream");function Fn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")?!1:a instanceof nn}p(Fn,"IsWritableStream");function In(a){return a._writer!==void 0}p(In,"IsWritableStreamLocked");function Rs(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||ea(a,l),q}p(Rs,"WritableStreamAbort");function Xl(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"&&ca(E),$m(a._writableStreamController),g}p(Xl,"WritableStreamClose");function Tm(a){return d((l,g)=>{let E={_resolve:l,_reject:g};a._writeRequests.push(E)})}p(Tm,"WritableStreamAddWriteRequest");function Zi(a,l){if(a._state==="writable"){ea(a,l);return}ta(a)}p(Zi,"WritableStreamDealWithRejection");function ea(a,l){let g=a._writableStreamController;a._state="erroring",a._storedError=l;let E=a._writer;E!==void 0&&Zl(E,l),!Om(a)&&g._started&&ta(a)}p(ea,"WritableStreamStartErroring");function ta(a){a._state="errored",a._writableStreamController[se]();let l=a._storedError;if(a._writeRequests.forEach(F=>{F._reject(l)}),a._writeRequests=new W,a._pendingAbortRequest===void 0){Ds(a);return}let g=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,g._wasAlreadyErroring){g._reject(l),Ds(a);return}let E=a._writableStreamController[$](g._reason);b(E,()=>(g._resolve(),Ds(a),null),F=>(g._reject(F),Ds(a),null))}p(ta,"WritableStreamFinishErroring");function vm(a){a._inFlightWriteRequest._resolve(void 0),a._inFlightWriteRequest=void 0}p(vm,"WritableStreamFinishInFlightWrite");function Rm(a,l){a._inFlightWriteRequest._reject(l),a._inFlightWriteRequest=void 0,Zi(a,l)}p(Rm,"WritableStreamFinishInFlightWriteWithError");function Dm(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&&id(l)}p(Dm,"WritableStreamFinishInFlightClose");function xm(a,l){a._inFlightCloseRequest._reject(l),a._inFlightCloseRequest=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._reject(l),a._pendingAbortRequest=void 0),Zi(a,l)}p(xm,"WritableStreamFinishInFlightCloseWithError");function Wt(a){return!(a._closeRequest===void 0&&a._inFlightCloseRequest===void 0)}p(Wt,"WritableStreamCloseQueuedOrInFlight");function Om(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}p(Om,"WritableStreamHasOperationMarkedInFlight");function Pm(a){a._inFlightCloseRequest=a._closeRequest,a._closeRequest=void 0}p(Pm,"WritableStreamMarkCloseRequestInFlight");function Fm(a){a._inFlightWriteRequest=a._writeRequests.shift()}p(Fm,"WritableStreamMarkFirstWriteRequestInFlight");function Ds(a){a._closeRequest!==void 0&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let l=a._writer;l!==void 0&&ia(l,a._storedError)}p(Ds,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function ra(a,l){let g=a._writer;g!==void 0&&l!==a._backpressure&&(l?Km(g):ca(g)),a._backpressure=l}p(ra,"WritableStreamUpdateBackpressure");let Im=class{constructor(l){if(v(l,1,"WritableStreamDefaultWriter"),Vl(l,"First parameter"),In(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")!Wt(l)&&l._backpressure?Is(this):ad(this),Fs(this);else if(g==="erroring")aa(this,l._storedError),Fs(this);else if(g==="closed")ad(this),Jm(this);else{let E=l._storedError;aa(this,E),sd(this,E)}}get closed(){return on(this)?this._closedPromise:m(sn("closed"))}get desiredSize(){if(!on(this))throw sn("desiredSize");if(this._ownerWritableStream===void 0)throw go("desiredSize");return jm(this)}get ready(){return on(this)?this._readyPromise:m(sn("ready"))}abort(l=void 0){return on(this)?this._ownerWritableStream===void 0?m(go("abort")):Nm(this,l):m(sn("abort"))}close(){if(!on(this))return m(sn("close"));let l=this._ownerWritableStream;return l===void 0?m(go("close")):Wt(l)?m(new TypeError("Cannot close an already-closing stream")):Ql(this)}releaseLock(){if(!on(this))throw sn("releaseLock");this._ownerWritableStream!==void 0&&ed(this)}write(l=void 0){return on(this)?this._ownerWritableStream===void 0?m(go("write to")):td(this,l):m(sn("write"))}};p(Im,"WritableStreamDefaultWriter");let xr=Im;Object.defineProperties(xr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(xr.prototype.abort,"abort"),i(xr.prototype.close,"close"),i(xr.prototype.releaseLock,"releaseLock"),i(xr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function on(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")?!1:a instanceof xr}p(on,"IsWritableStreamDefaultWriter");function Nm(a,l){let g=a._ownerWritableStream;return Rs(g,l)}p(Nm,"WritableStreamDefaultWriterAbort");function Ql(a){let l=a._ownerWritableStream;return Xl(l)}p(Ql,"WritableStreamDefaultWriterClose");function Mm(a){let l=a._ownerWritableStream,g=l._state;return Wt(l)||g==="closed"?h(void 0):g==="errored"?m(l._storedError):Ql(a)}p(Mm,"WritableStreamDefaultWriterCloseWithErrorPropagation");function Bm(a,l){a._closedPromiseState==="pending"?ia(a,l):Vm(a,l)}p(Bm,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function Zl(a,l){a._readyPromiseState==="pending"?cd(a,l):Ym(a,l)}p(Zl,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function jm(a){let l=a._ownerWritableStream,g=l._state;return g==="errored"||g==="erroring"?null:g==="closed"?0:nd(l._writableStreamController)}p(jm,"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");Zl(a,g),Bm(a,g),l._writer=void 0,a._ownerWritableStream=void 0}p(ed,"WritableStreamDefaultWriterRelease");function td(a,l){let g=a._ownerWritableStream,E=g._writableStreamController,F=zm(E,l);if(g!==a._ownerWritableStream)return m(go("write to"));let q=g._state;if(q==="errored")return m(g._storedError);if(Wt(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=Tm(g);return Hm(E,l,F),H}p(td,"WritableStreamDefaultWriterWrite");let Um={},Lm=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!na(this))throw sa("abortReason");return this._abortReason}get signal(){if(!na(this))throw sa("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!na(this))throw sa("error");this._controlledWritableStream._state==="writable"&&od(this,l)}[$](l){let g=this._abortAlgorithm(l);return xs(this),g}[se](){Rr(this)}};p(Lm,"WritableStreamDefaultController");let ho=Lm;Object.defineProperties(ho.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ho.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function na(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")?!1:a instanceof ho}p(na,"IsWritableStreamDefaultController");function rd(a,l,g,E,F,q,H,Z){l._controlledWritableStream=a,a._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Rr(l),l._abortReason=void 0,l._abortController=Sm(),l._started=!1,l._strategySizeAlgorithm=Z,l._strategyHWM=H,l._writeAlgorithm=E,l._closeAlgorithm=F,l._abortAlgorithm=q;let ue=oa(l);ra(a,ue);let me=g(),Ee=h(me);b(Ee,()=>(l._started=!0,Os(l),null),Ae=>(l._started=!0,Zi(a,Ae),null))}p(rd,"SetUpWritableStreamDefaultController");function qm(a,l,g,E){let F=Object.create(ho.prototype),q,H,Z,ue;l.start!==void 0?q=p(()=>l.start(F),"startAlgorithm"):q=p(()=>{},"startAlgorithm"),l.write!==void 0?H=p(me=>l.write(me,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?ue=p(me=>l.abort(me),"abortAlgorithm"):ue=p(()=>h(void 0),"abortAlgorithm"),rd(a,F,q,H,Z,ue,g,E)}p(qm,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function xs(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}p(xs,"WritableStreamDefaultControllerClearAlgorithms");function $m(a){Wi(a,Um,0),Os(a)}p($m,"WritableStreamDefaultControllerClose");function zm(a,l){try{return a._strategySizeAlgorithm(l)}catch(g){return po(a,g),1}}p(zm,"WritableStreamDefaultControllerGetChunkSize");function nd(a){return a._strategyHWM-a._queueTotalSize}p(nd,"WritableStreamDefaultControllerGetDesiredSize");function Hm(a,l,g){try{Wi(a,l,g)}catch(F){po(a,F);return}let E=a._controlledWritableStream;if(!Wt(E)&&E._state==="writable"){let F=oa(a);ra(E,F)}Os(a)}p(Hm,"WritableStreamDefaultControllerWrite");function Os(a){let l=a._controlledWritableStream;if(!a._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){ta(l);return}if(a._queue.length===0)return;let g=Qg(a);g===Um?Wm(a):Gm(a,g)}p(Os,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function po(a,l){a._controlledWritableStream._state==="writable"&&od(a,l)}p(po,"WritableStreamDefaultControllerErrorIfNeeded");function Wm(a){let l=a._controlledWritableStream;Pm(l),Hi(a);let g=a._closeAlgorithm();xs(a),b(g,()=>(Dm(l),null),E=>(xm(l,E),null))}p(Wm,"WritableStreamDefaultControllerProcessClose");function Gm(a,l){let g=a._controlledWritableStream;Fm(g);let E=a._writeAlgorithm(l);b(E,()=>{vm(g);let F=g._state;if(Hi(a),!Wt(g)&&F==="writable"){let q=oa(a);ra(g,q)}return Os(a),null},F=>(g._state==="writable"&&xs(a),Rm(g,F),null))}p(Gm,"WritableStreamDefaultControllerProcessWrite");function oa(a){return nd(a)<=0}p(oa,"WritableStreamDefaultControllerGetBackpressure");function od(a,l){let g=a._controlledWritableStream;xs(a),ea(g,l)}p(od,"WritableStreamDefaultControllerError");function Ps(a){return new TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}p(Ps,"streamBrandCheckException$2");function sa(a){return new TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}p(sa,"defaultControllerBrandCheckException$2");function sn(a){return new TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}p(sn,"defaultWriterBrandCheckException");function go(a){return new TypeError("Cannot "+a+" a stream using a released writer")}p(go,"defaultWriterLockException");function Fs(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g,a._closedPromiseState="pending"})}p(Fs,"defaultWriterClosedPromiseInitialize");function sd(a,l){Fs(a),ia(a,l)}p(sd,"defaultWriterClosedPromiseInitializeAsRejected");function Jm(a){Fs(a),id(a)}p(Jm,"defaultWriterClosedPromiseInitializeAsResolved");function ia(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(ia,"defaultWriterClosedPromiseReject");function Vm(a,l){sd(a,l)}p(Vm,"defaultWriterClosedPromiseResetToRejected");function id(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(id,"defaultWriterClosedPromiseResolve");function Is(a){a._readyPromise=d((l,g)=>{a._readyPromise_resolve=l,a._readyPromise_reject=g}),a._readyPromiseState="pending"}p(Is,"defaultWriterReadyPromiseInitialize");function aa(a,l){Is(a),cd(a,l)}p(aa,"defaultWriterReadyPromiseInitializeAsRejected");function ad(a){Is(a),ca(a)}p(ad,"defaultWriterReadyPromiseInitializeAsResolved");function cd(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(cd,"defaultWriterReadyPromiseReject");function Km(a){Is(a)}p(Km,"defaultWriterReadyPromiseReset");function Ym(a,l){aa(a,l)}p(Ym,"defaultWriterReadyPromiseResetToRejected");function ca(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(ca,"defaultWriterReadyPromiseResolve");function Xm(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof cf<"u")return cf}p(Xm,"getGlobals");let rA=Xm();function Qm(a){if(!(typeof a=="function"||typeof a=="object")||a.name!=="DOMException")return!1;try{return new a,!0}catch{return!1}}p(Qm,"isDOMExceptionConstructor");function Zm(){let a=rA?.DOMException;return Qm(a)?a:void 0}p(Zm,"getFromGlobal");function ey(){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(ey,"createPolyfill");let nA=Zm()||ey();function ud(a,l,g,E,F,q){let H=U(a),Z=Kl(l);a._disturbed=!0;let ue=!1,me=h(void 0);return d((Ee,Ae)=>{let Me;if(q!==void 0){if(Me=p(()=>{let de=q.reason!==void 0?q.reason:new nA("Aborted","AbortError"),xe=[];E||xe.push(()=>l._state==="writable"?Rs(l,de):h(void 0)),F||xe.push(()=>a._state==="readable"?Ft(a,de):h(void 0)),lt(()=>Promise.all(xe.map(Fe=>Fe())),!0,de)},"abortAlgorithm"),q.aborted){Me();return}q.addEventListener("abort",Me)}function pt(){return d((de,xe)=>{function Fe(dt){dt?de():S(Ir(),Fe,xe)}p(Fe,"next"),Fe(!1)})}p(pt,"pipeLoop");function Ir(){return ue?h(!0):S(Z._readyPromise,()=>d((de,xe)=>{ge(H,{_chunkSteps:p(Fe=>{me=S(td(Z,Fe),void 0,n),de(!1)},"_chunkSteps"),_closeSteps:p(()=>de(!0),"_closeSteps"),_errorSteps:xe})}))}if(p(Ir,"pipeStep"),It(a,H._closedPromise,de=>(E?gt(!0,de):lt(()=>Rs(l,de),!0,de),null)),It(l,Z._closedPromise,de=>(F?gt(!0,de):lt(()=>Ft(a,de),!0,de),null)),Xe(a,H._closedPromise,()=>(g?gt():lt(()=>Mm(Z)),null)),Wt(l)||l._state==="closed"){let de=new TypeError("the destination writable stream closed before all data could be piped to it");F?gt(!0,de):lt(()=>Ft(a,de),!0,de)}R(pt());function Gt(){let de=me;return S(me,()=>de!==me?Gt():void 0)}p(Gt,"waitForWritesToFinish");function It(de,xe,Fe){de._state==="errored"?Fe(de._storedError):C(xe,Fe)}p(It,"isOrBecomesErrored");function Xe(de,xe,Fe){de._state==="closed"?Fe():y(xe,Fe)}p(Xe,"isOrBecomesClosed");function lt(de,xe,Fe){if(ue)return;ue=!0,l._state==="writable"&&!Wt(l)?y(Gt(),dt):dt();function dt(){return b(de(),()=>Nr(xe,Fe),ln=>Nr(!0,ln)),null}p(dt,"doTheRest")}p(lt,"shutdownWithAction");function gt(de,xe){ue||(ue=!0,l._state==="writable"&&!Wt(l)?y(Gt(),()=>Nr(de,xe)):Nr(de,xe))}p(gt,"shutdown");function Nr(de,xe){return ed(Z),Ce(H),q!==void 0&&q.removeEventListener("abort",Me),de?Ae(xe):Ee(void 0),null}p(Nr,"finalize")})}p(ud,"ReadableStreamPipeTo");let ty=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ns(this))throw Bs("desiredSize");return ua(this)}close(){if(!Ns(this))throw Bs("close");if(!Mn(this))throw new TypeError("The stream is not in a state that permits close");an(this)}enqueue(l=void 0){if(!Ns(this))throw Bs("enqueue");if(!Mn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nn(this,l)}error(l=void 0){if(!Ns(this))throw Bs("error");Pt(this,l)}[K](l){Rr(this);let g=this._cancelAlgorithm(l);return Ms(this),g}[ne](l){let g=this._controlledReadableStream;if(this._queue.length>0){let E=Hi(this);this._closeRequested&&this._queue.length===0?(Ms(this),_o(g)):mo(this),l._chunkSteps(E)}else B(g,l),mo(this)}[Q](){}};p(ty,"ReadableStreamDefaultController");let Or=ty;Object.defineProperties(Or.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Or.prototype.close,"close"),i(Or.prototype.enqueue,"enqueue"),i(Or.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Or.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Ns(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")?!1:a instanceof Or}p(Ns,"IsReadableStreamDefaultController");function mo(a){if(!ld(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,mo(a)),null),g=>(Pt(a,g),null))}p(mo,"ReadableStreamDefaultControllerCallPullIfNeeded");function ld(a){let l=a._controlledReadableStream;return!Mn(a)||!a._started?!1:!!(Fr(l)&&ee(l)>0||ua(a)>0)}p(ld,"ReadableStreamDefaultControllerShouldCallPull");function Ms(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}p(Ms,"ReadableStreamDefaultControllerClearAlgorithms");function an(a){if(!Mn(a))return;let l=a._controlledReadableStream;a._closeRequested=!0,a._queue.length===0&&(Ms(a),_o(l))}p(an,"ReadableStreamDefaultControllerClose");function Nn(a,l){if(!Mn(a))return;let g=a._controlledReadableStream;if(Fr(g)&&ee(g)>0)G(g,l,!1);else{let E;try{E=a._strategySizeAlgorithm(l)}catch(F){throw Pt(a,F),F}try{Wi(a,l,E)}catch(F){throw Pt(a,F),F}}mo(a)}p(Nn,"ReadableStreamDefaultControllerEnqueue");function Pt(a,l){let g=a._controlledReadableStream;g._state==="readable"&&(Rr(a),Ms(a),pd(g,l))}p(Pt,"ReadableStreamDefaultControllerError");function ua(a){let l=a._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}p(ua,"ReadableStreamDefaultControllerGetDesiredSize");function ry(a){return!ld(a)}p(ry,"ReadableStreamDefaultControllerHasBackpressure");function Mn(a){let l=a._controlledReadableStream._state;return!a._closeRequested&&l==="readable"}p(Mn,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function dd(a,l,g,E,F,q,H){l._controlledReadableStream=a,l._queue=void 0,l._queueTotalSize=void 0,Rr(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,mo(l),null),ue=>(Pt(l,ue),null))}p(dd,"SetUpReadableStreamDefaultController");function ny(a,l,g,E){let F=Object.create(Or.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(ue=>l.cancel(ue),"cancelAlgorithm"):Z=p(()=>h(void 0),"cancelAlgorithm"),dd(a,F,q,H,Z,g,E)}p(ny,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function Bs(a){return new TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}p(Bs,"defaultControllerBrandCheckException$1");function oy(a,l){return Zr(a._readableStreamController)?iy(a):sy(a)}p(oy,"ReadableStreamTee");function sy(a,l){let g=U(a),E=!1,F=!1,q=!1,H=!1,Z,ue,me,Ee,Ae,Me=d(Xe=>{Ae=Xe});function pt(){return E?(F=!0,h(void 0)):(E=!0,ge(g,{_chunkSteps:p(Xe=>{k(()=>{F=!1;let lt=Xe,gt=Xe;q||Nn(me._readableStreamController,lt),H||Nn(Ee._readableStreamController,gt),E=!1,F&&pt()})},"_chunkSteps"),_closeSteps:p(()=>{E=!1,q||an(me._readableStreamController),H||an(Ee._readableStreamController),(!q||!H)&&Ae(void 0)},"_closeSteps"),_errorSteps:p(()=>{E=!1},"_errorSteps")}),h(void 0))}p(pt,"pullAlgorithm");function Ir(Xe){if(q=!0,Z=Xe,H){let lt=co([Z,ue]),gt=Ft(a,lt);Ae(gt)}return Me}p(Ir,"cancel1Algorithm");function Gt(Xe){if(H=!0,ue=Xe,q){let lt=co([Z,ue]),gt=Ft(a,lt);Ae(gt)}return Me}p(Gt,"cancel2Algorithm");function It(){}return p(It,"startAlgorithm"),me=yo(It,pt,Ir),Ee=yo(It,pt,Gt),C(g._closedPromise,Xe=>(Pt(me._readableStreamController,Xe),Pt(Ee._readableStreamController,Xe),(!q||!H)&&Ae(void 0),null)),[me,Ee]}p(sy,"ReadableStreamDefaultTee");function iy(a){let l=U(a),g=!1,E=!1,F=!1,q=!1,H=!1,Z,ue,me,Ee,Ae,Me=d(de=>{Ae=de});function pt(de){C(de._closedPromise,xe=>(de!==l||(kt(me._readableStreamController,xe),kt(Ee._readableStreamController,xe),(!q||!H)&&Ae(void 0)),null))}p(pt,"forwardReaderError");function Ir(){rn(l)&&(Ce(l),l=U(a),pt(l)),ge(l,{_chunkSteps:p(de=>{k(()=>{E=!1,F=!1;let xe=de,Fe=de;if(!q&&!H)try{Fe=xl(de)}catch(dt){kt(me._readableStreamController,dt),kt(Ee._readableStreamController,dt),Ae(Ft(a,dt));return}q||ks(me._readableStreamController,xe),H||ks(Ee._readableStreamController,Fe),g=!1,E?It():F&&Xe()})},"_chunkSteps"),_closeSteps:p(()=>{g=!1,q||uo(me._readableStreamController),H||uo(Ee._readableStreamController),me._readableStreamController._pendingPullIntos.length>0&&Ss(me._readableStreamController,0),Ee._readableStreamController._pendingPullIntos.length>0&&Ss(Ee._readableStreamController,0),(!q||!H)&&Ae(void 0)},"_closeSteps"),_errorSteps:p(()=>{g=!1},"_errorSteps")})}p(Ir,"pullWithDefaultReader");function Gt(de,xe){pe(l)&&(Ce(l),l=zl(a),pt(l));let Fe=xe?Ee:me,dt=xe?me:Ee;Gl(l,de,1,{_chunkSteps:p(ln=>{k(()=>{E=!1,F=!1;let bo=xe?H:q;if(xe?q:H)bo||Es(Fe._readableStreamController,ln);else{let Co;try{Co=xl(ln)}catch(Ad){kt(Fe._readableStreamController,Ad),kt(dt._readableStreamController,Ad),Ae(Ft(a,Ad));return}bo||Es(Fe._readableStreamController,ln),ks(dt._readableStreamController,Co)}g=!1,E?It():F&&Xe()})},"_chunkSteps"),_closeSteps:p(ln=>{g=!1;let bo=xe?H:q,Co=xe?q:H;bo||uo(Fe._readableStreamController),Co||uo(dt._readableStreamController),ln!==void 0&&(bo||Es(Fe._readableStreamController,ln),!Co&&dt._readableStreamController._pendingPullIntos.length>0&&Ss(dt._readableStreamController,0)),(!bo||!Co)&&Ae(void 0)},"_closeSteps"),_errorSteps:p(()=>{g=!1},"_errorSteps")})}p(Gt,"pullWithBYOBReader");function It(){if(g)return E=!0,h(void 0);g=!0;let de=Yi(me._readableStreamController);return de===null?Ir():Gt(de._view,!1),h(void 0)}p(It,"pull1Algorithm");function Xe(){if(g)return F=!0,h(void 0);g=!0;let de=Yi(Ee._readableStreamController);return de===null?Ir():Gt(de._view,!0),h(void 0)}p(Xe,"pull2Algorithm");function lt(de){if(q=!0,Z=de,H){let xe=co([Z,ue]),Fe=Ft(a,xe);Ae(Fe)}return Me}p(lt,"cancel1Algorithm");function gt(de){if(H=!0,ue=de,q){let xe=co([Z,ue]),Fe=Ft(a,xe);Ae(Fe)}return Me}p(gt,"cancel2Algorithm");function Nr(){}return p(Nr,"startAlgorithm"),me=hd(Nr,It,lt),Ee=hd(Nr,Xe,gt),pt(l),[me,Ee]}p(iy,"ReadableByteStreamTee");function ay(a){return o(a)&&typeof a.getReader<"u"}p(ay,"isReadableStreamLike");function cy(a){return ay(a)?ly(a.getReader()):uy(a)}p(cy,"ReadableStreamFrom");function uy(a){let l,g=Dl(a,"async"),E=n;function F(){let H;try{H=Vg(g)}catch(ue){return m(ue)}let Z=h(H);return _(Z,ue=>{if(!o(ue))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Kg(ue))an(l._readableStreamController);else{let me=Yg(ue);Nn(l._readableStreamController,me)}})}p(F,"pullAlgorithm");function q(H){let Z=g.iterator,ue;try{ue=bs(Z,"return")}catch(Ae){return m(Ae)}if(ue===void 0)return h(void 0);let me;try{me=T(ue,Z,[H])}catch(Ae){return m(Ae)}let Ee=h(me);return _(Ee,Ae=>{if(!o(Ae))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return p(q,"cancelAlgorithm"),l=yo(E,F,q,0),l}p(uy,"ReadableStreamFromIterable");function ly(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)an(l._readableStreamController);else{let Z=H.value;Nn(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=yo(g,E,F,0),l}p(ly,"ReadableStreamFromDefaultReader");function dy(a,l){fe(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:fy(F,g,`${l} has member 'cancel' that`),pull:q===void 0?void 0:hy(q,g,`${l} has member 'pull' that`),start:H===void 0?void 0:py(H,g,`${l} has member 'start' that`),type:Z===void 0?void 0:gy(Z,`${l} has member 'type' that`)}}p(dy,"convertUnderlyingDefaultOrByteSource");function fy(a,l,g){return oe(a,g),E=>O(a,l,[E])}p(fy,"convertUnderlyingSourceCancelCallback");function hy(a,l,g){return oe(a,g),E=>O(a,l,[E])}p(hy,"convertUnderlyingSourcePullCallback");function py(a,l,g){return oe(a,g),E=>T(a,l,[E])}p(py,"convertUnderlyingSourceStartCallback");function gy(a,l){if(a=`${a}`,a!=="bytes")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}p(gy,"convertReadableStreamType");function my(a,l){return fe(a,l),{preventCancel:!!a?.preventCancel}}p(my,"convertIteratorOptions");function fd(a,l){fe(a,l);let g=a?.preventAbort,E=a?.preventCancel,F=a?.preventClose,q=a?.signal;return q!==void 0&&yy(q,`${l} has member 'signal' that`),{preventAbort:!!g,preventCancel:!!E,preventClose:!!F,signal:q}}p(fd,"convertPipeOptions");function yy(a,l){if(!km(a))throw new TypeError(`${l} is not an AbortSignal.`)}p(yy,"assertAbortSignal");function _y(a,l){fe(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"),Vl(E,`${l} has member 'writable' that`),{readable:g,writable:E}}p(_y,"convertReadableWritablePair");let by=class{constructor(l={},g={}){l===void 0?l=null:A(l,"First parameter");let E=vs(g,"Second parameter"),F=dy(l,"First parameter");if(la(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=fo(E,0);cm(this,F,q)}else{let q=Ts(E),H=fo(E,1);ny(this,F,H,q)}}get locked(){if(!Pr(this))throw cn("locked");return Fr(this)}cancel(l=void 0){return Pr(this)?Fr(this)?m(new TypeError("Cannot cancel a stream that already has a reader")):Ft(this,l):m(cn("cancel"))}getReader(l=void 0){if(!Pr(this))throw cn("getReader");return lm(l,"First parameter").mode===void 0?U(this):zl(this)}pipeThrough(l,g={}){if(!Pr(this))throw cn("pipeThrough");v(l,1,"pipeThrough");let E=_y(l,"First parameter"),F=fd(g,"Second parameter");if(Fr(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(In(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let q=ud(this,E.writable,F.preventClose,F.preventAbort,F.preventCancel,F.signal);return R(q),E.readable}pipeTo(l,g={}){if(!Pr(this))return m(cn("pipeTo"));if(l===void 0)return m("Parameter 1 is required in 'pipeTo'.");if(!Fn(l))return m(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=fd(g,"Second parameter")}catch(F){return m(F)}return Fr(this)?m(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):In(l)?m(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ud(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Pr(this))throw cn("tee");let l=oy(this);return co(l)}values(l=void 0){if(!Pr(this))throw cn("values");let g=my(l,"First parameter");return ut(this,g.preventCancel)}[Rl](l){return this.values(l)}static from(l){return cy(l)}};p(by,"ReadableStream");let it=by;Object.defineProperties(it,{from:{enumerable:!0}}),Object.defineProperties(it.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(it.from,"from"),i(it.prototype.cancel,"cancel"),i(it.prototype.getReader,"getReader"),i(it.prototype.pipeThrough,"pipeThrough"),i(it.prototype.pipeTo,"pipeTo"),i(it.prototype.tee,"tee"),i(it.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(it.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(it.prototype,Rl,{value:it.prototype.values,writable:!0,configurable:!0});function yo(a,l,g,E=1,F=()=>1){let q=Object.create(it.prototype);la(q);let H=Object.create(Or.prototype);return dd(q,H,a,l,g,E,F),q}p(yo,"CreateReadableStream");function hd(a,l,g){let E=Object.create(it.prototype);la(E);let F=Object.create(Dr.prototype);return $l(E,F,a,l,g,0,void 0),E}p(hd,"CreateReadableByteStream");function la(a){a._state="readable",a._reader=void 0,a._storedError=void 0,a._disturbed=!1}p(la,"InitializeReadableStream");function Pr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")?!1:a instanceof it}p(Pr,"IsReadableStream");function Fr(a){return a._reader!==void 0}p(Fr,"IsReadableStreamLocked");function Ft(a,l){if(a._disturbed=!0,a._state==="closed")return h(void 0);if(a._state==="errored")return m(a._storedError);_o(a);let g=a._reader;if(g!==void 0&&rn(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(Ft,"ReadableStreamCancel");function _o(a){a._state="closed";let l=a._reader;if(l!==void 0&&(z(l),pe(l))){let g=l._readRequests;l._readRequests=new W,g.forEach(E=>{E._closeSteps()})}}p(_o,"ReadableStreamClose");function pd(a,l){a._state="errored",a._storedError=l;let g=a._reader;g!==void 0&&(ve(g,l),pe(g)?Ve(g,l):Jl(g,l))}p(pd,"ReadableStreamError");function cn(a){return new TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}p(cn,"streamBrandCheckException$1");function gd(a,l){fe(a,l);let g=a?.highWaterMark;return j(g,"highWaterMark","QueuingStrategyInit"),{highWaterMark:x(g)}}p(gd,"convertQueuingStrategyInit");let Cy=p(a=>a.byteLength,"byteLengthSizeFunction");i(Cy,"size");let wy=class{constructor(l){v(l,1,"ByteLengthQueuingStrategy"),l=gd(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!yd(this))throw md("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yd(this))throw md("size");return Cy}};p(wy,"ByteLengthQueuingStrategy");let da=wy;Object.defineProperties(da.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(da.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function md(a){return new TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}p(md,"byteLengthBrandCheckException");function yd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")?!1:a instanceof da}p(yd,"IsByteLengthQueuingStrategy");let ky=p(()=>1,"countSizeFunction");i(ky,"size");let Sy=class{constructor(l){v(l,1,"CountQueuingStrategy"),l=gd(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!bd(this))throw _d("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!bd(this))throw _d("size");return ky}};p(Sy,"CountQueuingStrategy");let fa=Sy;Object.defineProperties(fa.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fa.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 bd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")?!1:a instanceof fa}p(bd,"IsCountQueuingStrategy");function Ey(a,l){fe(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:Ry(g,a,`${l} has member 'cancel' that`),flush:E===void 0?void 0:Ay(E,a,`${l} has member 'flush' that`),readableType:F,start:q===void 0?void 0:Ty(q,a,`${l} has member 'start' that`),transform:H===void 0?void 0:vy(H,a,`${l} has member 'transform' that`),writableType:Z}}p(Ey,"convertTransformer");function Ay(a,l,g){return oe(a,g),E=>O(a,l,[E])}p(Ay,"convertTransformerFlushCallback");function Ty(a,l,g){return oe(a,g),E=>T(a,l,[E])}p(Ty,"convertTransformerStartCallback");function vy(a,l,g){return oe(a,g),(E,F)=>O(a,l,[E,F])}p(vy,"convertTransformerTransformCallback");function Ry(a,l,g){return oe(a,g),E=>O(a,l,[E])}p(Ry,"convertTransformerCancelCallback");let Dy=class{constructor(l={},g={},E={}){l===void 0&&(l=null);let F=vs(g,"Second parameter"),q=vs(E,"Third parameter"),H=Ey(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=fo(q,0),ue=Ts(q),me=fo(F,1),Ee=Ts(F),Ae,Me=d(pt=>{Ae=pt});xy(this,Me,me,Ee,Z,ue),Fy(this,H),H.start!==void 0?Ae(H.start(this._transformStreamController)):Ae(void 0)}get readable(){if(!Cd(this))throw Ed("readable");return this._readable}get writable(){if(!Cd(this))throw Ed("writable");return this._writable}};p(Dy,"TransformStream");let ha=Dy;Object.defineProperties(ha.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ha.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function xy(a,l,g,E,F,q){function H(){return l}p(H,"startAlgorithm");function Z(Me){return My(a,Me)}p(Z,"writeAlgorithm");function ue(Me){return By(a,Me)}p(ue,"abortAlgorithm");function me(){return jy(a)}p(me,"closeAlgorithm"),a._writable=Am(H,Z,me,ue,g,E);function Ee(){return Uy(a)}p(Ee,"pullAlgorithm");function Ae(Me){return Ly(a,Me)}p(Ae,"cancelAlgorithm"),a._readable=yo(H,Ee,Ae,F,q),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,js(a,!0),a._transformStreamController=void 0}p(xy,"InitializeTransformStream");function Cd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")?!1:a instanceof ha}p(Cd,"IsTransformStream");function wd(a,l){Pt(a._readable._readableStreamController,l),pa(a,l)}p(wd,"TransformStreamError");function pa(a,l){Ls(a._transformStreamController),po(a._writable._writableStreamController,l),ga(a)}p(pa,"TransformStreamErrorWritableAndUnblockWrite");function ga(a){a._backpressure&&js(a,!1)}p(ga,"TransformStreamUnblockWrite");function js(a,l){a._backpressureChangePromise!==void 0&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=d(g=>{a._backpressureChangePromise_resolve=g}),a._backpressure=l}p(js,"TransformStreamSetBackpressure");let Oy=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Us(this))throw qs("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return ua(l)}enqueue(l=void 0){if(!Us(this))throw qs("enqueue");kd(this,l)}error(l=void 0){if(!Us(this))throw qs("error");Iy(this,l)}terminate(){if(!Us(this))throw qs("terminate");Ny(this)}};p(Oy,"TransformStreamDefaultController");let un=Oy;Object.defineProperties(un.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(un.prototype.enqueue,"enqueue"),i(un.prototype.error,"error"),i(un.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(un.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Us(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")?!1:a instanceof un}p(Us,"IsTransformStreamDefaultController");function Py(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(Py,"SetUpTransformStreamDefaultController");function Fy(a,l){let g=Object.create(un.prototype),E,F,q;l.transform!==void 0?E=p(H=>l.transform(H,g),"transformAlgorithm"):E=p(H=>{try{return kd(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"),Py(a,g,E,F,q)}p(Fy,"SetUpTransformStreamDefaultControllerFromTransformer");function Ls(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0,a._cancelAlgorithm=void 0}p(Ls,"TransformStreamDefaultControllerClearAlgorithms");function kd(a,l){let g=a._controlledTransformStream,E=g._readable._readableStreamController;if(!Mn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nn(E,l)}catch(F){throw pa(g,F),g._readable._storedError}ry(E)!==g._backpressure&&js(g,!0)}p(kd,"TransformStreamDefaultControllerEnqueue");function Iy(a,l){wd(a._controlledTransformStream,l)}p(Iy,"TransformStreamDefaultControllerError");function Sd(a,l){let g=a._transformAlgorithm(l);return _(g,void 0,E=>{throw wd(a._controlledTransformStream,E),E})}p(Sd,"TransformStreamDefaultControllerPerformTransform");function Ny(a){let l=a._controlledTransformStream,g=l._readable._readableStreamController;an(g);let E=new TypeError("TransformStream terminated");pa(l,E)}p(Ny,"TransformStreamDefaultControllerTerminate");function My(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 Sd(g,l)})}return Sd(g,l)}p(My,"TransformStreamDefaultSinkWriteAlgorithm");function By(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 Ls(g),b(F,()=>(E._state==="errored"?Bn(g,E._storedError):(Pt(E._readableStreamController,l),ma(g)),null),q=>(Pt(E._readableStreamController,q),Bn(g,q),null)),g._finishPromise}p(By,"TransformStreamDefaultSinkAbortAlgorithm");function jy(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 Ls(l),b(E,()=>(g._state==="errored"?Bn(l,g._storedError):(an(g._readableStreamController),ma(l)),null),F=>(Pt(g._readableStreamController,F),Bn(l,F),null)),l._finishPromise}p(jy,"TransformStreamDefaultSinkCloseAlgorithm");function Uy(a){return js(a,!1),a._backpressureChangePromise}p(Uy,"TransformStreamDefaultSourcePullAlgorithm");function Ly(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 Ls(g),b(F,()=>(E._state==="errored"?Bn(g,E._storedError):(po(E._writableStreamController,l),ga(a),ma(g)),null),q=>(po(E._writableStreamController,q),ga(a),Bn(g,q),null)),g._finishPromise}p(Ly,"TransformStreamDefaultSourceCancelAlgorithm");function qs(a){return new TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}p(qs,"defaultControllerBrandCheckException");function ma(a){a._finishPromise_resolve!==void 0&&(a._finishPromise_resolve(),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}p(ma,"defaultControllerFinishPromiseResolve");function Bn(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(Bn,"defaultControllerFinishPromiseReject");function Ed(a){return new TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}p(Ed,"streamBrandCheckException"),r.ByteLengthQueuingStrategy=da,r.CountQueuingStrategy=fa,r.ReadableByteStreamController=Dr,r.ReadableStream=it,r.ReadableStreamBYOBReader=tn,r.ReadableStreamBYOBRequest=On,r.ReadableStreamDefaultController=Or,r.ReadableStreamDefaultReader=_e,r.TransformStream=ha,r.TransformStreamDefaultController=un,r.WritableStream=nn,r.WritableStreamDefaultController=ho,r.WritableStreamDefaultWriter=xr})})(nc,nc.exports)),nc.exports}function L0(){if(U0)return B0;U0=1;let t=65536;if(!globalThis.ReadableStream)try{let e=te("node:process"),{emitWarning:r}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,te("node:stream/web")),e.emitWarning=r}catch(n){throw e.emitWarning=r,n}}catch{Object.assign(globalThis,X0())}try{let{Blob:e}=te("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 B0}async function*oc(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,q0),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+q0)).arrayBuffer();n+=s.byteLength,yield new Uint8Array(s)}}}function Z0(t,e=Xn){var r=`${$0()}${$0()}`.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+pf(i)+`"\r
28
29
  \r
29
30
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
30
31
  `)}\r
31
- `):n.push(o+Kc(a)+`"; filename="${Kc(s.name,1)}"\r
32
+ `):n.push(o+pf(i)+`"; filename="${pf(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})}var zo,yk,_k,Pg,bk,Ig,Kc,yn,Gr,Fi=qe(()=>{$o();Vc();({toStringTag:zo,iterator:yk,hasInstance:_k}=Symbol),Pg=Math.random,bk="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Ig=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[zo])?[(r=r!==void 0?r+"":e[zo]=="File"?e.name:"blob",t),e.name!==r||e[zo]=="blob"?new Wr([e],r,e):e]:[t,e+""]),Kc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
- `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),yn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Gr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[zo](){return"FormData"}[yk](){return this.entries()}static[_k](e){return e&&typeof e=="object"&&e[zo]==="FormData"&&!bk.some(r=>typeof e[r]!="function")}append(...e){yn("append",arguments,2),this.#e.push(Ig(...e))}delete(e){yn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){yn("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 yn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return yn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){yn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){yn("set",arguments,2);var r=[],n=!0;e=Ig(...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 kr,Pi=qe(()=>{kr=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,Yc=qe(()=>{Pi();it=class extends kr{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Ii,Xc,Ho,Bg,jg,Mg,Ni=qe(()=>{Ii=Symbol.toStringTag,Xc=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[Ii]==="URLSearchParams",Ho=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[Ii]),Bg=t=>typeof t=="object"&&(t[Ii]==="AbortSignal"||t[Ii]==="EventTarget"),jg=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},Mg=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Lg=J((iP,Ug)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=ee("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Ug.exports=globalThis.DOMException});import{statSync as qg,createReadStream as Ck,promises as wk}from"node:fs";import{basename as Ek}from"node:path";var $g,Qc,zg,Hg,Wg,Gg,Jg,Vg,Bi,Zc=qe(()=>{$g=Xt(Lg(),1);Vc();$o();({stat:Qc}=wk),zg=(t,e)=>Jg(qg(t),t,e),Hg=(t,e)=>Qc(t).then(r=>Jg(r,t,e)),Wg=(t,e)=>Qc(t).then(r=>Vg(r,t,e)),Gg=(t,e)=>Vg(qg(t),t,e),Jg=(t,e,r="")=>new qt([new Bi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),Vg=(t,e,r="")=>new Wr([new Bi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],Ek(e),{type:r,lastModified:t.mtimeMs}),Bi=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 Qc(this.#e);if(e>this.lastModified)throw new $g.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*Ck(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Yg={};Jh(Yg,{toFormData:()=>Rk});function vk(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 Rk(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 el(r[1]||r[2]),o,s,a,u,c,f,d=[],p=new Gr,y=m=>{a+=b.decode(m,{stream:!0})},A=m=>{d.push(m)},g=()=>{let m=new Wr(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=vk(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 er,Pe,Kg,Jr,ji,Mi,kk,Wo,Sk,Ak,Tk,Dk,_n,el,Xg=qe(()=>{Zc();Fi();er=0,Pe={START_BOUNDARY:er++,HEADER_FIELD_START:er++,HEADER_FIELD:er++,HEADER_VALUE_START:er++,HEADER_VALUE:er++,HEADER_VALUE_ALMOST_DONE:er++,HEADERS_ALMOST_DONE:er++,PART_DATA_START:er++,PART_DATA:er++,END:er++},Kg=1,Jr={PART_BOUNDARY:Kg,LAST_BOUNDARY:Kg*=2},ji=10,Mi=13,kk=32,Wo=45,Sk=58,Ak=97,Tk=122,Dk=t=>t|32,_n=()=>{},el=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=_n,this.onHeaderField=_n,this.onHeadersEnd=_n,this.onHeaderValue=_n,this.onPartBegin=_n,this.onPartData=_n,this.onPartEnd=_n,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=Pe.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 Pe.START_BOUNDARY:if(c===a.length-2){if(g===Wo)d|=Jr.LAST_BOUNDARY;else if(g!==Mi)return;c++;break}else if(c-1===a.length-2){if(d&Jr.LAST_BOUNDARY&&g===Wo)f=Pe.END,d=0;else if(!(d&Jr.LAST_BOUNDARY)&&g===ji)c=0,v("onPartBegin"),f=Pe.HEADER_FIELD_START;else return;break}g!==a[c+2]&&(c=-2),g===a[c+2]&&c++;break;case Pe.HEADER_FIELD_START:f=Pe.HEADER_FIELD,b("onHeaderField"),c=0;case Pe.HEADER_FIELD:if(g===Mi){m("onHeaderField"),f=Pe.HEADERS_ALMOST_DONE;break}if(c++,g===Wo)break;if(g===Sk){if(c===1)return;k("onHeaderField",!0),f=Pe.HEADER_VALUE_START;break}if(_=Dk(g),_<Ak||_>Tk)return;break;case Pe.HEADER_VALUE_START:if(g===kk)break;b("onHeaderValue"),f=Pe.HEADER_VALUE;case Pe.HEADER_VALUE:g===Mi&&(k("onHeaderValue",!0),v("onHeaderEnd"),f=Pe.HEADER_VALUE_ALMOST_DONE);break;case Pe.HEADER_VALUE_ALMOST_DONE:if(g!==ji)return;f=Pe.HEADER_FIELD_START;break;case Pe.HEADERS_ALMOST_DONE:if(g!==ji)return;v("onHeadersEnd"),f=Pe.PART_DATA_START;break;case Pe.PART_DATA_START:f=Pe.PART_DATA,b("onPartData");case Pe.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===Mi?d|=Jr.PART_BOUNDARY:g===Wo?d|=Jr.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(d&Jr.PART_BOUNDARY){if(c=0,g===ji){d&=~Jr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Pe.HEADER_FIELD_START;break}}else d&Jr.LAST_BOUNDARY&&g===Wo?(v("onPartEnd"),f=Pe.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 Pe.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===Pe.HEADER_FIELD_START&&this.index===0||this.state===Pe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Pe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Vr,{PassThrough as Qg}from"node:stream";import{types as Zg,deprecate as rl,promisify as xk}from"node:util";import{Buffer as xt}from"node:buffer";async function tl(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 xt.alloc(0);if(!(e instanceof Vr))return xt.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 kr?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")?xt.from(r.join("")):xt.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 Ok,dt,tr,Yn,Fk,Ui,em,tm,Li=qe(()=>{$o();Fi();Yc();Pi();Ni();Ok=xk(Vr.pipeline),dt=Symbol("Body internals"),tr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Xc(e)?e=xt.from(e.toString()):Ho(e)||xt.isBuffer(e)||(Zg.isAnyArrayBuffer(e)?e=xt.from(e):ArrayBuffer.isView(e)?e=xt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Vr||(e instanceof Gr?(e=Ng(e),n=e.type.split("=")[1]):e=xt.from(String(e))));let o=e;xt.isBuffer(e)?o=Vr.Readable.from(e):Ho(e)&&(o=Vr.Readable.from(e.stream())),this[dt]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Vr&&e.on("error",s=>{let a=s instanceof kr?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 tl(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 Gr,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(()=>(Xg(),Yg));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 qt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await tl(this);return new TextDecoder().decode(e)}buffer(){return tl(this)}};tr.prototype.buffer=rl(tr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(tr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:rl(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Yn=(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 Vr&&typeof o.getBoundary!="function"&&(r=new Qg({highWaterMark:e}),n=new Qg({highWaterMark:e}),o.pipe(r),o.pipe(n),t[dt].stream=r,o=n),o},Fk=rl(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"),Ui=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Xc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Ho(t)?t.type||null:xt.isBuffer(t)||Zg.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Gr?`multipart/form-data; boundary=${e[dt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Fk(t)}`:t instanceof Vr?null:"text/plain;charset=UTF-8",em=t=>{let{body:e}=t[dt];return e===null?0:Ho(e)?e.size:xt.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 Ok(e,t)}});import{types as rm}from"node:util";import $i from"node:http";function nm(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 qi(e),nl(e,String(r)),!0}catch{return!1}}))}var qi,nl,ht,zi=qe(()=>{qi=typeof $i.validateHeaderName=="function"?$i.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}},nl=typeof $i.validateHeaderValue=="function"?$i.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"&&!rm.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"||rm.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])=>(qi(n),nl(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)=>(qi(a),nl(a,String(u)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(qi(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 Pk,Go,ol=qe(()=>{Pk=new Set([301,302,303,307,308]),Go=t=>Pk.has(t)});var $t,yt,om=qe(()=>{zi();Li();ol();$t=Symbol("Response internals"),yt=class t extends tr{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=Ui(e,this);s&&o.append("Content-Type",s)}this[$t]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[$t].type}get url(){return this[$t].url||""}get status(){return this[$t].status}get ok(){return this[$t].status>=200&&this[$t].status<300}get redirected(){return this[$t].counter>0}get statusText(){return this[$t].statusText}get headers(){return this[$t].headers}get highWaterMark(){return this[$t].highWaterMark}clone(){return new t(Yn(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(!Go(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[$t].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(yt.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 sm,im=qe(()=>{sm=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]==="?"?"?":""}});import{isIP as Ik}from"node:net";function am(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 lm(t){if(!um.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Nk(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=Ik(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 Xn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Nk(t)}function fm(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=am(o),a=am(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 Xn(s)&&!Xn(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Xn(s)&&!Xn(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 Xn(s)&&!Xn(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function dm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&um.has(n)&&(r=n);return r}var um,cm,sl=qe(()=>{um=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),cm="strict-origin-when-cross-origin"});import{format as Bk}from"node:url";import{deprecate as jk}from"node:util";var Ye,Jo,Mk,Kr,hm,pm=qe(()=>{zi();Li();Ni();im();sl();Ye=Symbol("Request internals"),Jo=t=>typeof t=="object"&&typeof t[Ye]=="object",Mk=jk(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Kr=class t extends tr{constructor(e,r={}){let n;if(Jo(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()),!Jo(r)&&"data"in r&&Mk(),(r.body!=null||Jo(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:Jo(e)&&e.body!==null?Yn(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=Ui(s,this);f&&a.set("Content-Type",f)}let u=Jo(e)?e.signal:null;if("signal"in r&&(u=r.signal),u!=null&&!Bg(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[Ye]={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[Ye].method}get url(){return Bk(this[Ye].parsedURL)}get headers(){return this[Ye].headers}get redirect(){return this[Ye].redirect}get signal(){return this[Ye].signal}get referrer(){if(this[Ye].referrer==="no-referrer")return"";if(this[Ye].referrer==="client")return"about:client";if(this[Ye].referrer)return this[Ye].referrer.toString()}get referrerPolicy(){return this[Ye].referrerPolicy}set referrerPolicy(e){this[Ye].referrerPolicy=lm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Kr.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}});hm=t=>{let{parsedURL:e}=t[Ye],r=new ht(t[Ye].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=em(t);typeof u=="number"&&!Number.isNaN(u)&&(n=String(u))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=cm),t.referrer&&t.referrer!=="no-referrer"?t[Ye].referrer=fm(t):t[Ye].referrer="no-referrer",t[Ye].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=sm(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 Vo,gm=qe(()=>{Pi();Vo=class extends kr{constructor(e,r="aborted"){super(e,r)}}});var _m={};Jh(_m,{AbortError:()=>Vo,Blob:()=>qt,FetchError:()=>it,File:()=>Wr,FormData:()=>Gr,Headers:()=>ht,Request:()=>Kr,Response:()=>yt,blobFrom:()=>Hg,blobFromSync:()=>zg,default:()=>il,fileFrom:()=>Wg,fileFromSync:()=>Gg,isRedirect:()=>Go});import Uk from"node:http";import Lk from"node:https";import Qn from"node:zlib";import mm,{PassThrough as ym,pipeline as Zn}from"node:stream";import{Buffer as Hi}from"node:buffer";async function il(t,e){return new Promise((r,n)=>{let o=new Kr(t,e),{parsedURL:s,options:a}=hm(o);if(!qk.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=Tg(o.url),_=new yt(g,{headers:{"Content-Type":g.typeFull}});r(_);return}let u=(s.protocol==="https:"?Lk:Uk).request,{signal:c}=o,f=null,d=()=>{let g=new Vo("The operation was aborted.");n(g),o.body&&o.body instanceof mm.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()}),$k(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 _=nm(g.rawHeaders);if(Go(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:Yn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!jg(o.url,T)||!Mg(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 mm.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=dm(_);N&&(O.referrerPolicy=N),r(il(new Kr(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=Zn(g,new ym,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 yt(b,m),r(f);return}let k={flush:Qn.Z_SYNC_FLUSH,finishFlush:Qn.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){b=Zn(b,Qn.createGunzip(k),w=>{w&&n(w)}),f=new yt(b,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let w=Zn(g,new ym,T=>{T&&n(T)});w.once("data",T=>{(T[0]&15)===8?b=Zn(b,Qn.createInflate(),O=>{O&&n(O)}):b=Zn(b,Qn.createInflateRaw(),O=>{O&&n(O)}),f=new yt(b,m),r(f)}),w.once("end",()=>{f||(f=new yt(b,m),r(f))});return}if(v==="br"){b=Zn(b,Qn.createBrotliDecompress(),w=>{w&&n(w)}),f=new yt(b,m),r(f);return}f=new yt(b,m),r(f)}),tm(y,o).catch(n)})}function $k(t,e){let r=Hi.from(`0\r
36
+ `)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}async function sc(t){if(t[Ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[Ct].disturbed=!0,t[Ct].error)throw t[Ct].error;let{body:e}=t;if(e===null)return at.alloc(0);if(!(e instanceof pr))return at.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 jt(`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 mc?o:new jt(`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.from(r.join("")):at.concat(r,n)}catch(o){throw new jt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new jt(`Premature close of server response while trying to fetch ${t.url}`)}function ab(t=[]){return new $r(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return ic(e),mf(e,String(r)),!0}catch{return!1}}))}function yf(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 lb(t){if(!ub.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function db(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=Vv(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 Kn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:db(t)}function fb(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=yf(o),i=yf(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 Kn(s)&&!Kn(c)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:Kn(s)&&!Kn(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 Kn(s)&&!Kn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function hb(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&ub.has(n)&&(r=n);return r}function yb(){if(H0)return gf;if(H0=1,!globalThis.DOMException)try{let{MessageChannel:t}=te("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 gf=globalThis.DOMException,gf}async function vf(t,e){return new Promise((r,n)=>{let o=new oi(t,e),{parsedURL:s,options:i}=pR(o);if(!yR.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=Y0(o.url),y=new fr(b,{headers:{"Content-Type":b.typeFull}});r(y);return}let c=(s.protocol==="https:"?Wv:ni).request,{signal:u}=o,f=null,d=p(()=>{let b=new Af("The operation was aborted.");n(b),o.body&&o.body instanceof pr.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 jt(`request to ${o.url} failed, reason: ${b.message}`,"system",b)),S()}),vb(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=ab(b.rawHeaders);if(yc(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 jt(`uri requested responds with an invalid redirect URL: ${T}`,"invalid-redirect")),S();return}}switch(o.redirect){case"error":n(new jt(`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 jt(`maximum redirect reached at: ${o.url}`,"max-redirect")),S();return}let D={headers:new $r(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Ef(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!oR(o.url,O)||!sR(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 pr.Readable){n(new jt("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=hb(y);M&&(D.referrerPolicy=M),r(vf(new oi(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=Mo(b,new cc,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 fr(C,_),r(f);return}let k={flush:No.Z_SYNC_FLUSH,finishFlush:No.Z_SYNC_FLUSH};if(R==="gzip"||R==="x-gzip"){C=Mo(C,No.createGunzip(k),T=>{T&&n(T)}),f=new fr(C,_),r(f);return}if(R==="deflate"||R==="x-deflate"){let T=Mo(b,new cc,O=>{O&&n(O)});T.once("data",O=>{(O[0]&15)===8?C=Mo(C,No.createInflate(),D=>{D&&n(D)}):C=Mo(C,No.createInflateRaw(),D=>{D&&n(D)}),f=new fr(C,_),r(f)}),T.once("end",()=>{f||(f=new fr(C,_),r(f))});return}if(R==="br"){C=Mo(C,No.createBrotliDecompress(),T=>{T&&n(T)}),f=new fr(C,_),r(f);return}f=new fr(C,_),r(f)}),uR(m,o).catch(n)})}function vb(t,e){let r=at.from(`0\r
38
37
  \r
39
- `),n=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;n=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(n&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},c=f=>{o=Hi.compare(f.slice(-5),r)===0,!o&&s&&(o=Hi.compare(s.slice(-3),r.slice(0,3))===0&&Hi.compare(f.slice(-2),r.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",c),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",c)})})}var qk,bm=qe(()=>{Dg();Li();om();zi();pm();Yc();gm();ol();Fi();Ni();sl();Zc();qk=new Set(["data:","http:","https:"])});var Em=J(to=>{"use strict";var zk=to&&to.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},eo;Object.defineProperty(to,"__esModule",{value:!0});to.Gaxios=void 0;var Hk=zk(Pc()),Wk=ee("https"),bn=Bc(),Gk=eg(),Cm=ee("stream"),wm=Uc(),Jk=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Wi=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new wm.GaxiosInterceptorManager,response:new wm.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&&eo.mergeHeaders(s,r.headers),n&&eo.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 eo.#u(),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=bn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new bn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof bn.GaxiosError?n=r:r instanceof Error?n=new bn.GaxiosError(r.message,e,void 0,r):n=new bn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,Gk.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 bn.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 a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(n.toString()))return!1}else if(a instanceof URL){if(a.origin===n.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let u=a.replace(/^\*\./,".");if(n.hostname.endsWith(u))return!1}else if(a===n.origin||a===n.hostname||a===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);eo.mergeHeaders(r,e.headers);let n=(0,Hk.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 a=n.paramsSerializer(n.params);a.startsWith("?")&&(a=a.slice(1));let u=n.url.toString().includes("?")?"&":"?";n.url=n.url+u+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[u,c]of new URLSearchParams(n.params))a.searchParams.append(u,c);n.url=a}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 Cm.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 a=await Jk();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Cm.Readable.from(this.getMultipartRequest(n.multipart,a))}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 a=await eo.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new a(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 Wk.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=bn.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
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.compare(f.slice(-5),r)===0,!o&&s&&(o=at.compare(s.slice(-3),r.slice(0,3))===0&&at.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 Le(t){let e=Rb.get(t);return console.assert(e!=null,"'this' is expected an Event object, but got",t),e}function bf(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 Yn(t,e){Rb.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,Rf(o))}}function Rf(t){return{get(){return Le(this).event[t]},set(e){Le(this).event[t]=e},configurable:!0,enumerable:!0}}function Db(t){return{value(){let e=Le(this).event;return e[t].apply(e,arguments)},configurable:!0,enumerable:!0}}function xb(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?Db(s):Rf(s))}}return n}function Df(t){if(t==null||t===Object.prototype)return Yn;let e=_f.get(t);return e==null&&(e=xb(Df(Object.getPrototypeOf(t)),t),_f.set(t,e)),e}function Ob(t,e){let r=Df(Object.getPrototypeOf(e));return new r(t,e)}function Pb(t){return Le(t).immediateStopped}function Fb(t,e){Le(t).eventPhase=e}function Ib(t,e){Le(t).currentTarget=e}function Cf(t,e){Le(t).passiveListener=e}function ri(t){return t!==null&&typeof t=="object"}function Uo(t){let e=Nb.get(t);if(e==null)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return e}function Mb(t){return{get(){let e=Uo(this).get(t);for(;e!=null;){if(e.listenerType===ac)return e.listener;e=e.next}return null},set(e){typeof e!="function"&&!ri(e)&&(e=null);let r=Uo(this),n=null,o=r.get(t);for(;o!=null;)o.listenerType===ac?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:ac,passive:!1,once:!1,next:null};n===null?r.set(t,s):n.next=s}},configurable:!0,enumerable:!0}}function xf(t,e){Object.defineProperty(t,`on${e}`,Mb(e))}function wf(t){function e(){hr.call(this)}p(e,"CustomEventTarget"),e.prototype=Object.create(hr.prototype,{constructor:{value:e,configurable:!0,writable:!0}});for(let r=0;r<t.length;++r)xf(e.prototype,t[r]);return e}function hr(){if(this instanceof hr){Nb.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return wf(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 wf(t)}throw new TypeError("Cannot call a class as a function")}function jb(){let t=Object.create(hc.prototype);return hr.call(t),pc.set(t,!1),t}function Ub(t){pc.get(t)===!1&&(pc.set(t,!0),t.dispatchEvent({type:"abort"}))}function kf(t){let e=Lb.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 Sf(){!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 Hv,J0,p,V0,We,qr,Xt,bn,ec,Io,lf,Xs,tc,rc,df,Kt,ff,Bo,jo,hf,B0,nc,Qv,j0,U0,q0,Q0,Xn,Zv,Fo,ei,eR,tR,$0,rR,z0,pf,Vn,Jn,eb,mc,tb,jt,dc,rb,fc,nR,oR,sR,iR,Ct,nb,ti,Ef,aR,ob,cR,uR,ic,mf,sb,$r,lR,yc,Yt,cb,fr,dR,ub,fR,nt,Qs,hR,pb,oi,pR,mb,Af,gf,H0,gR,mR,Tf,_b,bb,Cb,wb,kb,Sb,Eb,Tb,yR,Rb,_f,Nb,W0,G0,ac,Bb,hc,pc,gc,Lb,_R,bR,qb,Za=dn(()=>{Ya();Hv=Object.defineProperty,J0=t=>{throw TypeError(t)},p=(t,e)=>Hv(t,"name",{value:e,configurable:!0}),V0=(t,e,r)=>e.has(t)||J0("Cannot "+r),We=(t,e,r)=>(V0(t,e,"read from private field"),r?r.call(t):e.get(t)),qr=(t,e,r)=>e.has(t)?J0("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Xt=(t,e,r,n)=>(V0(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);p(Y0,"dataUriToBuffer");B0={},nc={exports:{}};Qv=nc.exports;p(X0,"requirePonyfill_es2018");p(L0,"requireStreams"),L0();q0=65536;p(oc,"toIterator");Q0=(Xs=class{constructor(t=[],e={}){if(qr(this,bn,[]),qr(this,ec,""),qr(this,Io,0),qr(this,lf,"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 Xs?s=o:s=r.encode(`${o}`),Xt(this,Io,We(this,Io)+(ArrayBuffer.isView(s)?s.byteLength:s.size)),We(this,bn).push(s)}Xt(this,lf,`${e.endings===void 0?"transparent":e.endings}`);let n=e.type===void 0?"":String(e.type);Xt(this,ec,/^[\x20-\x7E]*$/.test(n)?n:"")}get size(){return We(this,Io)}get type(){return We(this,ec)}async text(){let t=new TextDecoder,e="";for await(let r of oc(We(this,bn),!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 oc(We(this,bn),!1))t.set(r,e),e+=r.length;return t.buffer}stream(){let t=oc(We(this,bn),!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,bn),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 Xs([],{type:String(r).toLowerCase()});return Xt(d,Io,i),Xt(d,bn,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])}},bn=new WeakMap,ec=new WeakMap,Io=new WeakMap,lf=new WeakMap,p(Xs,"Blob"),Xs);Object.defineProperties(Q0.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Xn=Q0,Zv=(df=class extends Xn{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),qr(this,tc,0),qr(this,rc,""),r===null&&(r={});let n=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(n)||Xt(this,tc,n),Xt(this,rc,String(e))}get name(){return We(this,rc)}get lastModified(){return We(this,tc)}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](t){return!!t&&t instanceof Xn&&/^(File)$/.test(t[Symbol.toStringTag])}},tc=new WeakMap,rc=new WeakMap,p(df,"File"),df),Fo=Zv;({toStringTag:ei,iterator:eR,hasInstance:tR}=Symbol),$0=Math.random,rR="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),z0=p((t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[ei])?[(r=r!==void 0?r+"":e[ei]=="File"?e.name:"blob",t),e.name!==r||e[ei]=="blob"?new Fo([e],r,e):e]:[t,e+""]),"f"),pf=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"),Vn=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"),Jn=(ff=class{constructor(...t){if(qr(this,Kt,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[ei](){return"FormData"}[eR](){return this.entries()}static[tR](t){return t&&typeof t=="object"&&t[ei]==="FormData"&&!rR.some(e=>typeof t[e]!="function")}append(...t){Vn("append",arguments,2),We(this,Kt).push(z0(...t))}delete(t){Vn("delete",arguments,1),t+="",Xt(this,Kt,We(this,Kt).filter(([e])=>e!==t))}get(t){Vn("get",arguments,1),t+="";for(var e=We(this,Kt),r=e.length,n=0;n<r;n++)if(e[n][0]===t)return e[n][1];return null}getAll(t,e){return Vn("getAll",arguments,1),e=[],t+="",We(this,Kt).forEach(r=>r[0]===t&&e.push(r[1])),e}has(t){return Vn("has",arguments,1),t+="",We(this,Kt).some(e=>e[0]===t)}forEach(t,e){Vn("forEach",arguments,1);for(var[r,n]of this)t.call(e,n,r,this)}set(...t){Vn("set",arguments,2);var e=[],r=!0;t=z0(...t),We(this,Kt).forEach(n=>{n[0]===t[0]?r&&(r=!e.push(t)):e.push(n)}),r&&e.push(t),Xt(this,Kt,e)}*entries(){yield*We(this,Kt)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},Kt=new WeakMap,p(ff,"FormData"),ff);p(Z0,"formDataToBlob");eb=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(eb,"FetchBaseError");mc=eb,tb=class extends mc{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}};p(tb,"FetchError");jt=tb,dc=Symbol.toStringTag,rb=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[dc]==="URLSearchParams","isURLSearchParameters"),fc=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[dc]),"isBlob"),nR=p(t=>typeof t=="object"&&(t[dc]==="AbortSignal"||t[dc]==="EventTarget"),"isAbortSignal"),oR=p((t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},"isDomainOrSubdomain"),sR=p((t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n},"isSameProtocol"),iR=Gv(pr.pipeline),Ct=Symbol("Body internals"),nb=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:rb(e)?e=at.from(e.toString()):fc(e)||at.isBuffer(e)||(uc.isAnyArrayBuffer(e)?e=at.from(e):ArrayBuffer.isView(e)?e=at.from(e.buffer,e.byteOffset,e.byteLength):e instanceof pr||(e instanceof Jn?(e=Z0(e),n=e.type.split("=")[1]):e=at.from(String(e))));let o=e;at.isBuffer(e)?o=pr.Readable.from(e):fc(e)&&(o=pr.Readable.from(e.stream())),this[Ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof pr&&e.on("error",s=>{let i=s instanceof mc?s:new jt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[Ct].error=i})}get body(){return this[Ct].stream}get bodyUsed(){return this[Ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await sc(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 Jn,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(()=>(M0(),N0));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[Ct].body&&this[Ct].body.type||"",r=await this.arrayBuffer();return new Xn([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await sc(this);return new TextDecoder().decode(e)}buffer(){return sc(this)}};p(nb,"Body");ti=nb;ti.prototype.buffer=lc(ti.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(ti.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:lc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});p(sc,"consumeBody");Ef=p((t,e)=>{let r,n,{body:o}=t[Ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof pr&&typeof o.getBoundary!="function"&&(r=new cc({highWaterMark:e}),n=new cc({highWaterMark:e}),o.pipe(r),o.pipe(n),t[Ct].stream=r,o=n),o},"clone"),aR=lc(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"),ob=p((t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":rb(t)?"application/x-www-form-urlencoded;charset=UTF-8":fc(t)?t.type||null:at.isBuffer(t)||uc.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Jn?`multipart/form-data; boundary=${e[Ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${aR(t)}`:t instanceof pr?null:"text/plain;charset=UTF-8","extractContentType"),cR=p(t=>{let{body:e}=t[Ct];return e===null?0:fc(e)?e.size:at.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},"getTotalBytes"),uR=p(async(t,{body:e})=>{e===null?t.end():await iR(e,t)},"writeToStream"),ic=typeof ni.validateHeaderName=="function"?ni.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}},mf=typeof ni.validateHeaderValue=="function"?ni.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}},sb=class ib extends URLSearchParams{constructor(e){let r=[];if(e instanceof ib){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"&&!uc.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"||uc.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])=>(ic(n),mf(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)=>(ic(i),mf(i,String(c)),URLSearchParams.prototype[o].call(n,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(ic(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(sb,"Headers");$r=sb;Object.defineProperties($r.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));p(ab,"fromRawHeaders");lR=new Set([301,302,303,307,308]),yc=p(t=>lR.has(t),"isRedirect"),Yt=Symbol("Response internals"),cb=class Zs extends ti{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new $r(r.headers);if(e!==null&&!o.has("Content-Type")){let s=ob(e,this);s&&o.append("Content-Type",s)}this[Yt]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Yt].type}get url(){return this[Yt].url||""}get status(){return this[Yt].status}get ok(){return this[Yt].status>=200&&this[Yt].status<300}get redirected(){return this[Yt].counter>0}get statusText(){return this[Yt].statusText}get headers(){return this[Yt].headers}get highWaterMark(){return this[Yt].highWaterMark}clone(){return new Zs(Ef(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(!yc(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new Zs(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new Zs(null,{status:0,statusText:""});return e[Yt].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 $r(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new Zs(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};p(cb,"Response");fr=cb;Object.defineProperties(fr.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}});dR=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(yf,"stripURLForUseAsAReferrer");ub=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),fR="strict-origin-when-cross-origin";p(lb,"validateReferrerPolicy");p(db,"isOriginPotentiallyTrustworthy");p(Kn,"isUrlPotentiallyTrustworthy");p(fb,"determineRequestsReferrer");p(hb,"parseReferrerPolicyFromHeader");nt=Symbol("Request internals"),Qs=p(t=>typeof t=="object"&&typeof t[nt]=="object","isRequest"),hR=lc(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),pb=class gb extends ti{constructor(e,r={}){let n;if(Qs(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()),!Qs(r)&&"data"in r&&hR(),(r.body!=null||Qs(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:Qs(e)&&e.body!==null?Ef(e):null;super(s,{size:r.size||e.size||0});let i=new $r(r.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let f=ob(s,this);f&&i.set("Content-Type",f)}let c=Qs(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!nR(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[nt]={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[nt].method}get url(){return Jv(this[nt].parsedURL)}get headers(){return this[nt].headers}get redirect(){return this[nt].redirect}get signal(){return this[nt].signal}get referrer(){if(this[nt].referrer==="no-referrer")return"";if(this[nt].referrer==="client")return"about:client";if(this[nt].referrer)return this[nt].referrer.toString()}get referrerPolicy(){return this[nt].referrerPolicy}set referrerPolicy(e){this[nt].referrerPolicy=lb(e)}clone(){return new gb(this)}get[Symbol.toStringTag](){return"Request"}};p(pb,"Request");oi=pb;Object.defineProperties(oi.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}});pR=p(t=>{let{parsedURL:e}=t[nt],r=new $r(t[nt].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=cR(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=fR),t.referrer&&t.referrer!=="no-referrer"?t[nt].referrer=fb(t):t[nt].referrer="no-referrer",t[nt].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=dR(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"),mb=class extends mc{constructor(e,r="aborted"){super(e,r)}};p(mb,"AbortError");Af=mb;p(yb,"requireNodeDomexception");gR=yb(),mR=uf(gR),{stat:Tf}=Kv,_b=p((t,e)=>kb(K0(t),t,e),"blobFromSync"),bb=p((t,e)=>Tf(t).then(r=>kb(r,t,e)),"blobFrom"),Cb=p((t,e)=>Tf(t).then(r=>Sb(r,t,e)),"fileFrom"),wb=p((t,e)=>Sb(K0(t),t,e),"fileFromSync"),kb=p((t,e,r="")=>new Xn([new Tb({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),"fromBlob"),Sb=p((t,e,r="")=>new Fo([new Tb({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],Xv(e),{type:r,lastModified:t.mtimeMs}),"fromFile"),Eb=class Ab{constructor(e){qr(this,Bo),qr(this,jo),Xt(this,Bo,e.path),Xt(this,jo,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new Ab({path:We(this,Bo),lastModified:this.lastModified,size:r-e,start:We(this,jo)+e})}async*stream(){let{mtimeMs:e}=await Tf(We(this,Bo));if(e>this.lastModified)throw new mR("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*Yv(We(this,Bo),{start:We(this,jo),end:We(this,jo)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};Bo=new WeakMap,jo=new WeakMap,p(Eb,"BlobDataItem");Tb=Eb,yR=new Set(["data:","http:","https:"]);p(vf,"fetch$1");p(vb,"fixResponseChunkedTransferBadEnding");Rb=new WeakMap,_f=new WeakMap;p(Le,"pd");p(bf,"setCancelFlag");p(Yn,"Event"),Yn.prototype={get type(){return Le(this).event.type},get target(){return Le(this).eventTarget},get currentTarget(){return Le(this).currentTarget},composedPath(){let t=Le(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 Le(this).eventPhase},stopPropagation(){let t=Le(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Le(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Le(this).event.bubbles},get cancelable(){return!!Le(this).event.cancelable},preventDefault(){bf(Le(this))},get defaultPrevented(){return Le(this).canceled},get composed(){return!!Le(this).event.composed},get timeStamp(){return Le(this).timeStamp},get srcElement(){return Le(this).eventTarget},get cancelBubble(){return Le(this).stopped},set cancelBubble(t){if(!t)return;let e=Le(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Le(this).canceled},set returnValue(t){t||bf(Le(this))},initEvent(){}},Object.defineProperty(Yn.prototype,"constructor",{value:Yn,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(Yn.prototype,window.Event.prototype),_f.set(window.Event.prototype,Yn));p(Rf,"defineRedirectDescriptor");p(Db,"defineCallDescriptor");p(xb,"defineWrapper");p(Df,"getWrapper");p(Ob,"wrapEvent");p(Pb,"isStopped");p(Fb,"setEventPhase");p(Ib,"setCurrentTarget");p(Cf,"setPassiveListener");Nb=new WeakMap,W0=1,G0=2,ac=3;p(ri,"isObject");p(Uo,"getListeners");p(Mb,"defineEventAttributeDescriptor");p(xf,"defineEventAttribute");p(wf,"defineCustomEventTarget");p(hr,"EventTarget"),hr.prototype={addEventListener(t,e,r){if(e==null)return;if(typeof e!="function"&&!ri(e))throw new TypeError("'listener' should be a function or an object.");let n=Uo(this),o=ri(r),s=(o?r.capture:r)?W0:G0,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=Uo(this),o=(ri(r)?r.capture:r)?W0:G0,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=Uo(this),r=t.type,n=e.get(r);if(n==null)return!0;let o=Ob(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,Cf(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!==ac&&typeof n.listener.handleEvent=="function"&&n.listener.handleEvent(o);if(Pb(o))break;n=n.next}return Cf(o,null),Fb(o,0),Ib(o,null),!o.defaultPrevented}},Object.defineProperty(hr.prototype,"constructor",{value:hr,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(hr.prototype,window.EventTarget.prototype);Bb=class extends hr{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=pc.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(Bb,"AbortSignal");hc=Bb;xf(hc.prototype,"abort");p(jb,"createAbortSignal");p(Ub,"abortSignal");pc=new WeakMap;Object.defineProperties(hc.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});gc=(hf=class{constructor(){Lb.set(this,jb())}get signal(){return kf(this)}abort(){Ub(kf(this))}},p(hf,"AbortController"),hf),Lb=new WeakMap;p(kf,"getSignal"),Object.defineProperties(gc.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});_R=Object.defineProperty,bR=p((t,e)=>_R(t,"name",{value:e,configurable:!0}),"e"),qb=vf;Sf();p(Sf,"s"),bR(Sf,"checkNodeEnvironment")});var $b={};qy($b,{AbortController:()=>vR,AbortError:()=>Af,Blob:()=>wR,FetchError:()=>jt,File:()=>kR,FormData:()=>SR,Headers:()=>ER,Request:()=>AR,Response:()=>TR,blobFrom:()=>bb,blobFromSync:()=>_b,default:()=>CR,fetch:()=>CR,fileFrom:()=>Cb,fileFromSync:()=>wb,isRedirect:()=>yc});var Cn,CR,wR,kR,SR,ER,AR,TR,vR,zb=dn(()=>{Za();Za();Ya();Cn=!!globalThis.process?.env?.FORCE_NODE_FETCH,CR=!Cn&&globalThis.fetch||qb,wR=!Cn&&globalThis.Blob||Xn,kR=!Cn&&globalThis.File||Fo,SR=!Cn&&globalThis.FormData||Jn,ER=!Cn&&globalThis.Headers||$r,AR=!Cn&&globalThis.Request||oi,TR=!Cn&&globalThis.Response||fr,vR=!Cn&&globalThis.AbortController||gc});var Gb=V(qo=>{"use strict";var RR=qo&&qo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Lo;Object.defineProperty(qo,"__esModule",{value:!0});qo.Gaxios=void 0;var DR=RR(Kd()),xR=te("https"),Qn=Qd(),OR=s0(),Hb=te("stream"),Wb=tf(),PR=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),_c=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Wb.GaxiosInterceptorManager,response:new Wb.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&&Lo.mergeHeaders(s,r.headers),n&&Lo.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 Lo.#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=Qn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new Qn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof Qn.GaxiosError?n=r:r instanceof Error?n=new Qn.GaxiosError(r.message,e,void 0,r):n=new Qn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,OR.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 Qn.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);Lo.mergeHeaders(r,e.headers);let n=(0,DR.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 Hb.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 PR();r.set("content-type",`multipart/related; boundary=${i}`),n.body=Hb.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 Lo.#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 xR.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=Qn.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(()=>Xt(Ag()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(bm(),_m))).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}};to.Gaxios=Wi;eo=Wi});var et=J(at=>{"use strict";var Vk=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]})),Kk=at&&at.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vk(e,t,r)};Object.defineProperty(at,"__esModule",{value:!0});at.instance=at.Gaxios=at.GaxiosError=void 0;at.request=Xk;var km=Em();Object.defineProperty(at,"Gaxios",{enumerable:!0,get:function(){return km.Gaxios}});var Yk=Bc();Object.defineProperty(at,"GaxiosError",{enumerable:!0,get:function(){return Yk.GaxiosError}});Kk(Uc(),at);at.instance=new km.Gaxios;async function Xk(t){return at.instance.request(t)}});var al=J((Sm,Gi)=>{(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,ie=4,be=-7,ye=21,fe=-1e7,ge=1e7,ae=!1,V=1,Y=0,Z={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Ae="0123456789abcdefghijklmnopqrstuvwxyz",Le=!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>ge?B.c=B.e=null:C.e<fe?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>ge?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,Ae.length,"Base"),S==10&&Le)return B=new W(C),Oe(B,K+B.e+1,ie);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=Ae.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)>ge)B.c=B.e=null;else if(I<fe)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),ie=D),C.hasOwnProperty(S="EXPONENTIAL_AT")&&(D=C[S],D&&D.pop?(m(D[0],-y,0,S),m(D[1],0,y,S),be=D[0],ye=D[1]):(m(D,-y,y,S),be=-(ye=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),fe=D[0],ge=D[1];else if(m(D,-y,y,S),D)fe=-(ge=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))ae=D;else throw ae=!D,Error(s+"crypto unavailable");else ae=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))Le=D.slice(0,10)=="0123456789",Ae=D;else throw Error(s+S+" invalid: "+D)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:K,ROUNDING_MODE:ie,EXPONENTIAL_AT:[be,ye],RANGE:[fe,ge],CRYPTO:ae,MODULO_MODE:V,POW_PRECISION:Y,FORMAT:Z,ALPHABET:Ae}},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 ne(arguments,-1)},W.minimum=W.min=function(){return ne(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),ae)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 ae=!1,Error(s+"crypto unavailable");if(!ae)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,te,re,ke,Ie=D.indexOf("."),Me=K,Ee=ie;for(Ie>=0&&(B=Y,Y=0,D=D.replace(".",""),ke=new W(j),te=ke.pow(D.length-Ie),Y=B,ke.c=S(w(_(te.c),te.e,"0"),10,F,C),ke.e=ke.c.length),re=S(D,j,F,L?(x=Ae,C):(x=C,Ae)),M=B=re.length;re[--B]==0;re.pop());if(!re[0])return x.charAt(0);if(Ie<0?--M:(te.c=re,te.e=M,te.s=I,te=O(te,ke,Me,Ee,F),re=te.c,z=te.r,M=te.e),P=M+Me+1,Ie=re[P],B=F/2,z=z||P<0||re[P+1]!=null,z=Ee<4?(Ie!=null||z)&&(Ee==0||Ee==(te.s<0?3:2)):Ie>B||Ie==B&&(Ee==4||z||Ee==6&&re[P-1]&1||Ee==(te.s<0?8:7)),P<1||!re[0])D=z?w(x.charAt(1),-Me,x.charAt(0)):x.charAt(0);else{if(re.length=P,z)for(--F;++re[--P]>F;)re[P]=0,P||(++M,re=[1].concat(re));for(B=re.length;!re[--B];);for(Ie=0,D="";Ie<=B;D+=x.charAt(re[Ie++]));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,te=F%p,re=F/p|0;for(j=j.slice();z--;)P=j[z]%p,M=j[z]/p|0,L=re*P+M*te,x=te*P+L%p*p+B,B=(x/I|0)+(L/p|0)+re*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,te,re,ke,Ie,Me,Ee,Te,He,Tn,Dn,vn,pt,dr,tt=j.s==F.s?1:-1,We=j.c,ve=F.c;if(!We||!We[0]||!ve||!ve[0])return new W(!j.s||!F.s||(We?ve&&We[0]==ve[0]:!ve)?NaN:We&&We[0]==0||!ve?tt*0:tt/0);for(Ie=new W(tt),Me=Ie.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;ve[B]==(We[B]||0);B++);if(ve[B]>(We[B]||0)&&M--,tt<0)Me.push(1),z=!0;else{for(Dn=We.length,pt=ve.length,B=0,tt+=2,te=o(x/(ve[0]+1)),te>1&&(ve=C(ve,te,x),We=C(We,te,x),pt=ve.length,Dn=We.length),Tn=pt,Ee=We.slice(0,pt),Te=Ee.length;Te<pt;Ee[Te++]=0);dr=ve.slice(),dr=[0].concat(dr),vn=ve[0],ve[1]>=x/2&&vn++;do{if(te=0,P=S(ve,Ee,pt,Te),P<0){if(He=Ee[0],pt!=Te&&(He=He*x+(Ee[1]||0)),te=o(He/vn),te>1)for(te>=x&&(te=x-1),re=C(ve,te,x),ke=re.length,Te=Ee.length;S(re,Ee,ke,Te)==1;)te--,D(re,pt<ke?dr:ve,ke,x),ke=re.length,P=1;else te==0&&(P=te=1),re=ve.slice(),ke=re.length;if(ke<Te&&(re=[0].concat(re)),D(Ee,re,Te,x),Te=Ee.length,P==-1)for(;S(ve,Ee,pt,Te)<1;)te++,D(Ee,pt<Te?dr:ve,Te,x),Te=Ee.length}else P===0&&(te++,Ee=[0]);Me[B++]=te,Ee[0]?Ee[Te++]=We[Tn]||0:(Ee=[We[Tn]],Te=1)}while((Tn++<Dn||Ee[0]!=null)&&tt--);z=Ee[0]!=null,Me[0]||Me.splice(0,1)}if(x==u){for(B=1,tt=Me[0];tt>=10;tt/=10,B++);Oe(Ie,I+(Ie.e=B+M*c-1)+1,L,z)}else Ie.e=M,Ie.r=+z;return Ie}})();function ce(C,S,D,j){var F,I,L,x,P;if(D==null?D=ie: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<=be||L>=ye)?k(P,L):w(P,L,"0");else if(C=Oe(new W(C),S,D),I=C.e,P=_(C.c),x=P.length,j==1||j==2&&(S<=I||I<=be)){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 ne(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 Se(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)>ge?C.c=C.e=null:D<fe?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,te,re){return M=(re=re.toLowerCase())=="x"?16:re=="b"?2:8,!P||P==M?te: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 Oe(C,S,D,j){var F,I,L,x,P,M,B,z=C.c,te=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/te[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/te[F-L-1]%10)}if(j=j||S<0||z[M+1]!=null||(L<0?P:P%te[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/te[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]=te[(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=te[c-I],z[M]=L>0?o(P/te[F-L]%te[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>ge?C.c=C.e=null:C.e<fe&&(C.c=[C.e=0])}return C}function je(C){var S,D=C.e;return D===null?C.toString():(S=_(C.c),S=D<=be||D>=ye?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=ie:m(S,0,8),Oe(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,ie)},$.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: "+je(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(+je(z),x?C.s*(2-v(C)):+je(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(+je(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),Oe(C,C.e+1,1),C.e>14)M=v(C);else{if(F=+je(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?Oe(B,Y,ie,L):B)},$.integerValue=function(C){var S=new W(this);return C==null?C=ie:m(C,0,8),Oe(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:ie==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]?Se(C,B,M):(C.s=ie==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,te,re,ke,Ie,Me,Ee=this,Te=Ee.c,He=(C=new W(C,S)).c;if(!Te||!He||!Te[0]||!He[0])return!Ee.s||!C.s||Te&&!Te[0]&&!He||He&&!He[0]&&!Te?C.c=C.e=C.s=null:(C.s*=Ee.s,!Te||!He?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(j=g(Ee.e/c)+g(C.e/c),C.s*=Ee.s,P=Te.length,z=He.length,P<z&&(ke=Te,Te=He,He=ke,F=P,P=z,z=F),F=P+z,ke=[];F--;ke.push(0));for(Ie=u,Me=p,F=z;--F>=0;){for(D=0,te=He[F]%Me,re=He[F]/Me|0,L=P,I=F+L;I>F;)M=Te[--L]%Me,B=Te[L]/Me|0,x=re*M+B*te,M=te*M+x%Me*Me+ke[I]+D,D=(M/Ie|0)+(x/Me|0)+re*B,ke[I--]=M%Ie;ke[I]=D}return D?++j:ke.splice(0,1),Se(C,ke,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),Se(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=ie:m(S,0,8),Oe(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(+je(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&&(Oe(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")&&(Oe(D,D.e+K+2,1),C=!D.times(D).eq(I));break}}return Oe(D,D.e+K+1,ie,C)},$.toExponential=function(C,S){return C!=null&&(m(C,0,y),C++),ce(this,C,S,1)},$.toFixed=function(C,S){return C!=null&&(m(C,0,y),C=C+this.e+1),ce(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],te=F.s<0,re=te?B.slice(1):B,ke=re.length;if(P&&(I=x,x=P,P=I,ke-=I),x>0&&ke>0){for(I=ke%x||x,B=re.substr(0,I);I<ke;I+=x)B+=M+re.substr(I,x);P>0&&(B+=M+re.slice(I)),te&&(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,te,re=this,ke=re.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: ")+je(x));if(!ke)return new W(re);for(S=new W(X),M=D=new W(X),j=P=new W(X),te=_(ke),I=S.e=te.length-re.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=ge,ge=1/0,x=new W(te),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=re.s,I=I*2,z=O(M,j,I,ie).minus(re).abs().comparedTo(O(P,D,I,ie).minus(re).abs())<1?[M,j]:[P,D],ge=L,z},$.toNumber=function(){return+je(this)},$.toPrecision=function(C,S){return C!=null&&m(C,1,y),ce(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<=be||F>=ye?k(_(D.c),F):w(_(D.c),F,"0"):C===10&&Le?(D=Oe(new W(D),K+F+1,ie),S=w(_(D.c),D.e,"0")):(m(C,2,Ae.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 je(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,ie=O.s,be=T.e,ye=O.e;if(!K||!ie)return null;if(N=$&&!$[0],G=X&&!X[0],N||G)return N?G?0:-ie:K;if(K!=ie)return K;if(N=K<0,G=be==ye,!$||!X)return G?0:!$^N?1:-1;if(!G)return be>ye^N?1:-1;for(ie=(be=$.length)<(ye=X.length)?be:ye,K=0;K<ie;K++)if($[K]!=X[K])return $[K]>X[K]^N?1:-1;return be==ye?0:be>ye^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 Gi<"u"&&Gi.exports?Gi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Sm)});var vm=J((cI,Dm)=>{var Am=al(),Tm=Dm.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 Am||Am.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+b.join(`,
43
+ `}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>fn(x0()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(zb(),$b))).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}};qo.Gaxios=_c;Lo=_c});var st=V(ht=>{"use strict";var FR=ht&&ht.__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]})),IR=ht&&ht.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&FR(e,t,r)};Object.defineProperty(ht,"__esModule",{value:!0});ht.instance=ht.Gaxios=ht.GaxiosError=void 0;ht.request=MR;var Jb=Gb();Object.defineProperty(ht,"Gaxios",{enumerable:!0,get:function(){return Jb.Gaxios}});var NR=Qd();Object.defineProperty(ht,"GaxiosError",{enumerable:!0,get:function(){return NR.GaxiosError}});IR(tf(),ht);ht.instance=new Jb.Gaxios;async function MR(t){return ht.instance.request(t)}});var Of=V((Vb,bc)=>{(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},se=new z(1),K=20,ne=4,Q=-7,ie=21,Se=-1e7,Ce=1e7,De=!1,X=1,ae=0,re={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},ve="0123456789abcdefghijklmnopqrstuvwxyz",be=!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>Ce?B.c=B.e=null:w.e<Se?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>Ce?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,ve.length,"Base"),A==10&&be)return B=new z(w),fe(B,K+B.e+1,ne);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=ve.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)>Ce)B.c=B.e=null;else if(I<Se)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),ne=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],ie=v[1]):(_(v,-m,m,A),Q=-(ie=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),Se=v[0],Ce=v[1];else if(_(v,-m,m,A),v)Se=-(Ce=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))De=v;else throw De=!v,Error(s+"crypto unavailable");else De=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),ae=v),w.hasOwnProperty(A="FORMAT"))if(v=w[A],typeof v=="object")re=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))be=v.slice(0,10)=="0123456789",ve=v;else throw Error(s+A+" invalid: "+v)}else throw Error(s+"Object expected: "+w);return{DECIMAL_PLACES:K,ROUNDING_MODE:ne,EXPONENTIAL_AT:[Q,ie],RANGE:[Se,Ce],CRYPTO:De,MODULO_MODE:X,POW_PRECISION:ae,FORMAT:re,ALPHABET:ve}},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 Ne(arguments,-1)},z.minimum=z.min=function(){return Ne(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(se);if(v==null?v=K:_(v,0,m),L=n(v/u),De)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 De=!1,Error(s+"crypto unavailable");if(!De)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,ce,we,_e=v.indexOf("."),pe=K,ge=ne;for(_e>=0&&(B=ae,ae=0,v=v.replace(".",""),we=new z(j),ee=we.pow(v.length-_e),ae=B,we.c=A(T(y(ee.c),ee.e,"0"),10,x,w),we.e=we.c.length),ce=A(v,j,x,L?(P=ve,w):(P=w,ve)),U=B=ce.length;ce[--B]==0;ce.pop());if(!ce[0])return P.charAt(0);if(_e<0?--U:(ee.c=ce,ee.e=U,ee.s=I,ee=D(ee,we,pe,ge,x),ce=ee.c,G=ee.r,U=ee.e),N=U+pe+1,_e=ce[N],B=x/2,G=G||N<0||ce[N+1]!=null,G=ge<4?(_e!=null||G)&&(ge==0||ge==(ee.s<0?3:2)):_e>B||_e==B&&(ge==4||G||ge==6&&ce[N-1]&1||ge==(ee.s<0?8:7)),N<1||!ce[0])v=G?T(P.charAt(1),-pe,P.charAt(0)):P.charAt(0);else{if(ce.length=N,G)for(--x;++ce[--N]>x;)ce[N]=0,N||(++U,ce=[1].concat(ce));for(B=ce.length;!ce[--B];);for(_e=0,v="";_e<=B;v+=P.charAt(ce[_e++]));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,ce=x/h|0;for(j=j.slice();G--;)N=j[G]%h,U=j[G]/h|0,L=ce*N+U*ee,P=ee*N+L%h*h+B,B=(P/I|0)+(L/h|0)+ce*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,ce,we,_e,pe,ge,Pe,Ve,cr,_s,ao,wt,Xr,ut=j.s==x.s?1:-1,Ye=j.c,je=x.c;if(!Ye||!Ye[0]||!je||!je[0])return new z(!j.s||!x.s||(Ye?je&&Ye[0]==je[0]:!je)?NaN:Ye&&Ye[0]==0||!je?ut*0:ut/0);for(_e=new z(ut),pe=_e.c=[],U=j.e-x.e,ut=I+U+1,P||(P=c,U=b(j.e/u)-b(x.e/u),ut=ut/u|0),B=0;je[B]==(Ye[B]||0);B++);if(je[B]>(Ye[B]||0)&&U--,ut<0)pe.push(1),G=!0;else{for(_s=Ye.length,wt=je.length,B=0,ut+=2,ee=o(P/(je[0]+1)),ee>1&&(je=w(je,ee,P),Ye=w(Ye,ee,P),wt=je.length,_s=Ye.length),cr=wt,ge=Ye.slice(0,wt),Pe=ge.length;Pe<wt;ge[Pe++]=0);Xr=je.slice(),Xr=[0].concat(Xr),ao=je[0],je[1]>=P/2&&ao++;do{if(ee=0,N=A(je,ge,wt,Pe),N<0){if(Ve=ge[0],wt!=Pe&&(Ve=Ve*P+(ge[1]||0)),ee=o(Ve/ao),ee>1)for(ee>=P&&(ee=P-1),ce=w(je,ee,P),we=ce.length,Pe=ge.length;A(ce,ge,we,Pe)==1;)ee--,v(ce,wt<we?Xr:je,we,P),we=ce.length,N=1;else ee==0&&(N=ee=1),ce=je.slice(),we=ce.length;if(we<Pe&&(ce=[0].concat(ce)),v(ge,ce,Pe,P),Pe=ge.length,N==-1)for(;A(je,ge,wt,Pe)<1;)ee++,v(ge,wt<Pe?Xr:je,Pe,P),Pe=ge.length}else N===0&&(ee++,ge=[0]);pe[B++]=ee,ge[0]?ge[Pe++]=Ye[cr]||0:(ge=[Ye[cr]],Pe=1)}while((cr++<_s||ge[0]!=null)&&ut--);G=ge[0]!=null,pe[0]||pe.splice(0,1)}if(P==c){for(B=1,ut=pe[0];ut>=10;ut/=10,B++);fe(_e,I+(_e.e=B+U*u-1)+1,L,G)}else _e.e=U,_e.r=+G;return _e}})();function ye(w,A,v,j){var x,I,L,P,N;if(v==null?v=ne:_(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>=ie)?k(N,L):T(N,L,"0");else if(w=fe(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 Ne(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)>Ce?w.c=w.e=null:v<Se?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,ce){return U=(ce=ce.toLowerCase())=="x"?16:ce=="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 fe(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>Ce?w.c=w.e=null:w.e<Se&&(w.c=[w.e=0])}return w}function oe(w){var A,v=w.e;return v===null?w.toString():(A=y(w.c),A=v<=Q||v>=ie?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=ne:_(A,0,8),fe(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,ne)},$.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: "+oe(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(+oe(G),P?w.s*(2-R(w)):+oe(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);ae&&(I=n(ae/u+2))}for(P?(v=new z(.5),N&&(w.s=1),U=R(w)):(x=Math.abs(+oe(w)),U=x%2),B=new z(se);;){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),fe(w,w.e+1,1),w.e>14)U=R(w);else{if(x=+oe(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=se.div(B)),A?B.mod(A):I?fe(B,ae,ne,L):B)},$.integerValue=function(w){var A=new z(this);return w==null?w=ne:_(w,0,8),fe(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:ne==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=ne==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,ce,we,_e,pe,ge=this,Pe=ge.c,Ve=(w=new z(w,A)).c;if(!Pe||!Ve||!Pe[0]||!Ve[0])return!ge.s||!w.s||Pe&&!Pe[0]&&!Ve||Ve&&!Ve[0]&&!Pe?w.c=w.e=w.s=null:(w.s*=ge.s,!Pe||!Ve?w.c=w.e=null:(w.c=[0],w.e=0)),w;for(j=b(ge.e/u)+b(w.e/u),w.s*=ge.s,N=Pe.length,G=Ve.length,N<G&&(we=Pe,Pe=Ve,Ve=we,x=N,N=G,G=x),x=N+G,we=[];x--;we.push(0));for(_e=c,pe=h,x=G;--x>=0;){for(v=0,ee=Ve[x]%pe,ce=Ve[x]/pe|0,L=N,I=x+L;I>x;)U=Pe[--L]%pe,B=Pe[L]/pe|0,P=ce*U+B*ee,U=ee*U+P%pe*pe+we[I]+v,v=(U/_e|0)+(P/pe|0)+ce*B,we[I--]=U%_e;we[I]=v}return v?++j:we.splice(0,1),Y(w,we,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=ne:_(A,0,8),fe(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(+oe(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&&(fe(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")&&(fe(v,v.e+K+2,1),w=!v.times(v).eq(I));break}}return fe(v,v.e+K+1,ne,w)},$.toExponential=function(w,A){return w!=null&&(_(w,0,m),w++),ye(this,w,A,1)},$.toFixed=function(w,A){return w!=null&&(_(w,0,m),w=w+this.e+1),ye(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=re;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,ce=ee?B.slice(1):B,we=ce.length;if(N&&(I=P,P=N,N=I,we-=I),P>0&&we>0){for(I=we%P||P,B=ce.substr(0,I);I<we;I+=P)B+=U+ce.substr(I,P);N>0&&(B+=U+ce.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,ce=this,we=ce.c;if(w!=null&&(P=new z(w),!P.isInteger()&&(P.c||P.s!==1)||P.lt(se)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+oe(P));if(!we)return new z(ce);for(A=new z(se),U=v=new z(se),j=N=new z(se),ee=y(we),I=A.e=ee.length-ce.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=Ce,Ce=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=ce.s,I=I*2,G=D(U,j,I,ne).minus(ce).abs().comparedTo(D(N,v,I,ne).minus(ce).abs())<1?[U,j]:[N,v],Ce=L,G},$.toNumber=function(){return+oe(this)},$.toPrecision=function(w,A){return w!=null&&_(w,1,m),ye(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>=ie?k(y(v.c),x):T(y(v.c),x,"0"):w===10&&be?(v=fe(new z(v),K+x+1,ne),A=T(y(v.c),v.e,"0")):(_(w,2,ve.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 oe(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,se=O[0]+"";W<$;){for(D=O[W++]+"",M=u-D.length;M--;D="0"+D);se+=D}for($=se.length;se.charCodeAt(--$)===48;);return se.slice(0,$+1||1)}function C(O,D){var M,W,$=O.c,se=D.c,K=O.s,ne=D.s,Q=O.e,ie=D.e;if(!K||!ne)return null;if(M=$&&!$[0],W=se&&!se[0],M||W)return M?W?0:-ne:K;if(K!=ne)return K;if(M=K<0,W=Q==ie,!$||!se)return W?0:!$^M?1:-1;if(!W)return Q>ie^M?1:-1;for(ne=(Q=$.length)<(ie=se.length)?Q:ie,K=0;K<ne;K++)if($[K]!=se[K])return $[K]>se[K]^M?1:-1;return Q==ie?0:Q>ie^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 bc<"u"&&bc.exports?bc.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Vb)});var Qb=V((wL,Xb)=>{var Kb=Of(),Yb=Xb.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 Kb||Kb.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
- `+_+"]":"["+b.join(",")+"]",n=_,A}if(a&&typeof a=="object")for(g=a.length,p=0;p<g;p+=1)typeof a[p]=="string"&&(y=a[p],A=c(y,m),A&&b.push(u(y)+(n?": ":":")+A));else Object.keys(m).forEach(function(k){var w=c(k,m);w&&b.push(u(k)+(n?": ":":")+w)});return A=b.length===0?"{}":n?`{
47
- `+n+b.join(`,
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
- `+_+"}":"{"+b.join(",")+"}",n=_,A}}typeof Tm.stringify!="function"&&(Tm.stringify=function(f,d,p){var y;if(n="",o="",typeof p=="number")for(y=0;y<p;y+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return c("",{"":f})})})()});var xm=J((lI,Rm)=>{var Ji=null,Qk=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,Zk=/(?: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)/,eS=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,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 Ji==null&&(Ji=al()),b.length>15?e.storeAsString?b:e.useNativeBigInt?BigInt(b):new Ji(b):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new Ji(_):_},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 "'+_+'"'),Qk.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():b[_]=y():Zk.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}};Rm.exports=eS});var Pm=J((fI,Vi)=>{var Om=vm().stringify,Fm=xm();Vi.exports=function(t){return{parse:Fm(t),stringify:Om}};Vi.exports.parse=Fm();Vi.exports.stringify=Om});var ul=J(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=Bm;zt.isGoogleComputeEngineLinux=jm;zt.isGoogleComputeEngineMACAddress=Mm;zt.isGoogleComputeEngine=Um;zt.detectGCPResidency=rS;var Im=ee("fs"),Nm=ee("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var tS=/^42:01/;function Bm(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function jm(){if((0,Nm.platform)()!=="linux")return!1;try{(0,Im.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Im.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Mm(){let t=(0,Nm.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(tS.test(r))return!0}return!1}function Um(){return jm()||Mm()}function rS(){return Bm()||Um()}});var Lm=J(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.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="")}};Ki.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 Hm=J(Re=>{"use strict";var nS=Re&&Re.__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]})),oS=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),qm=Re&&Re.__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"&&nS(r,e,n[o]);return oS(r,e),r}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=ll;Re.getDebugBackend=iS;Re.getStructuredBackend=aS;Re.setBackend=uS;Re.log=zm;var sS=ee("events"),Ko=qm(ee("process")),$m=qm(ee("util")),_t=Lm(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Yo=class extends sS.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(Ht.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Ht.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Ht.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Ht.ERROR,...n),this.func.sublog=n=>zm(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)}};Re.AdhocDebugLogger=Yo;Re.placeholder=new Yo("",()=>{}).func;var ro=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Ko.env[Re.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)}}};Re.DebugLogBackendBase=ro;var cl=class extends ro{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=`${_t.Colours.green}${e}${_t.Colours.reset}`,a=`${_t.Colours.yellow}${Ko.pid}${_t.Colours.reset}`,u;switch(r.severity){case Ht.ERROR:u=`${_t.Colours.red}${r.severity}${_t.Colours.reset}`;break;case Ht.INFO:u=`${_t.Colours.magenta}${r.severity}${_t.Colours.reset}`;break;case Ht.WARNING:u=`${_t.Colours.yellow}${r.severity}${_t.Colours.reset}`;break;default:u=(o=r.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let c=$m.formatWithOptions({colors:_t.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${_t.Colours.grey}${d}${_t.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 ll(){return new cl}var fl=class extends ro{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=Ko.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Ko.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function iS(t){return new fl(t)}var dl=class extends ro{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:Ht.INFO,c=Object.assign({severity:u,message:$m.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 aS(t){return new dl(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var hl=new Map,bt;function uS(t){bt=t,hl.clear()}function zm(t,e){if(!bt&&!Ko.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=hl.get(t);if(r)return r.func;if(bt===null)return Re.placeholder;bt===void 0&&(bt=ll());let n=(()=>{let o;return new Yo(t,(a,...u)=>{if(o!==bt){if(bt===null)return;bt===void 0&&(bt=ll()),o=bt}bt?.log(t,a,...u)})})();return hl.set(t,n),n.func}});var pl=J(Cn=>{"use strict";var cS=Cn&&Cn.__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=Cn&&Cn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&cS(e,t,r)};Object.defineProperty(Cn,"__esModule",{value:!0});lS(Hm(),Cn)});var Qo=J(le=>{"use strict";var Gm=le&&le.__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]})),fS=le&&le.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),dS=le&&le.__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"&&Gm(r,e,n[o]);return fS(r,e),r}})(),hS=le&&le.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gm(e,t,r)};Object.defineProperty(le,"__esModule",{value:!0});le.gcpResidencyCache=le.METADATA_SERVER_DETECTION=le.HEADERS=le.HEADER_VALUE=le.HEADER_NAME=le.SECONDARY_HOST_ADDRESS=le.HOST_ADDRESS=le.BASE_PATH=void 0;le.instance=bS;le.project=CS;le.universe=wS;le.bulk=ES;le.isAvailable=SS;le.resetIsAvailableCache=AS;le.getGCPResidency=yl;le.setGCPResidency=Jm;le.requestTimeout=Vm;var gl=et(),pS=Pm(),gS=ul(),mS=dS(pl());le.BASE_PATH="/computeMetadata/v1";le.HOST_ADDRESS="http://169.254.169.254";le.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";le.HEADER_NAME="Metadata-Flavor";le.HEADER_VALUE="Google";le.HEADERS=Object.freeze({[le.HEADER_NAME]:le.HEADER_VALUE});var Wm=mS.log("gcp-metadata");le.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 ml(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||le.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(le.BASE_PATH,t).href}function yS(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 Xo(t,e={},r=3,n=!1){let o=new Headers(le.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}`:(yS(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let u=n?_S:gl.request,c={url:`${ml()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:Vm()};Wm.info("instance request %j",c);let f=await u(c);Wm.info("instance metadata is %s",f.data);let d=f.headers.get(le.HEADER_NAME);if(d!==le.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${le.HEADER_NAME} header. Expected '${le.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return pS.parse(f.data)}catch{}return f.data}async function _S(t){let e={...t,url:t.url?.toString().replace(ml(),ml(le.SECONDARY_HOST_ADDRESS))},r=(0,gl.request)(t),n=(0,gl.request)(e);return Promise.any([r,n])}function bS(t){return Xo("instance",t)}function CS(t){return Xo("project",t)}function wS(t){return Xo("universe",t)}async function ES(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Xo(r),o=r.metadataKey;e[o]=n})())),e}function kS(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Yi;async function SS(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in le.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(le.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return yl();case"ping-only":}}try{return Yi===void 0&&(Yi=Xo("instance",void 0,kS(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Yi,!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 AS(){Yi=void 0}le.gcpResidencyCache=null;function yl(){return le.gcpResidencyCache===null&&Jm(),le.gcpResidencyCache}function Jm(t=null){le.gcpResidencyCache=t!==null?t:(0,gS.detectGCPResidency)()}function Vm(){return yl()?0:3e3}hS(ul(),le)});var Xm=J(Xi=>{"use strict";Xi.byteLength=DS;Xi.toByteArray=RS;Xi.fromByteArray=FS;var rr=[],Ot=[],TS=typeof Uint8Array<"u"?Uint8Array:Array,_l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(wn=0,Km=_l.length;wn<Km;++wn)rr[wn]=_l[wn],Ot[_l.charCodeAt(wn)]=wn;var wn,Km;Ot[45]=62;Ot[95]=63;function Ym(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 DS(t){var e=Ym(t),r=e[0],n=e[1];return(r+n)*3/4-n}function vS(t,e,r){return(e+r)*3/4-r}function RS(t){var e,r=Ym(t),n=r[0],o=r[1],s=new TS(vS(t,n,o)),a=0,u=o>0?n-4:n,c;for(c=0;c<u;c+=4)e=Ot[t.charCodeAt(c)]<<18|Ot[t.charCodeAt(c+1)]<<12|Ot[t.charCodeAt(c+2)]<<6|Ot[t.charCodeAt(c+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Ot[t.charCodeAt(c)]<<2|Ot[t.charCodeAt(c+1)]>>4,s[a++]=e&255),o===1&&(e=Ot[t.charCodeAt(c)]<<10|Ot[t.charCodeAt(c+1)]<<4|Ot[t.charCodeAt(c+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function xS(t){return rr[t>>18&63]+rr[t>>12&63]+rr[t>>6&63]+rr[t&63]}function OS(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(xS(n));return o.join("")}function FS(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(OS(t,a,a+s>u?u:a+s));return n===1?(e=t[r-1],o.push(rr[e>>2]+rr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(rr[e>>10]+rr[e>>4&63]+rr[e<<2&63]+"=")),o.join("")}});var Cl=J(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.fromArrayBufferToHex=PS;function PS(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Qm=J(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.BrowserCrypto=void 0;var no=Xm(),IS=Cl(),wl=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 no.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),no.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=no.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 no.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=no.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return no.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,IS.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))}};Qi.BrowserCrypto=wl});var Zm=J(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.NodeCrypto=void 0;var oo=ee("crypto"),El=class{async sha256DigestBase64(e){return oo.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return oo.randomBytes(e).toString("base64")}async verify(e,r,n){let o=oo.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=oo.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 oo.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:BS(e);return NS(oo.createHmac("sha256",n).update(r).digest())}};Zi.NodeCrypto=El;function NS(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function BS(t){return Buffer.from(t)}});var Zo=J(Sr=>{"use strict";var jS=Sr&&Sr.__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=Sr&&Sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jS(e,t,r)};Object.defineProperty(Sr,"__esModule",{value:!0});Sr.createCrypto=qS;Sr.hasBrowserCrypto=ey;var US=Qm(),LS=Zm();MS(Cl(),Sr);function qS(){return ey()?new US.BrowserCrypto:new LS.NodeCrypto}function ey(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var so=J((kl,ry)=>{var ea=ee("buffer"),nr=ea.Buffer;function ty(t,e){for(var r in t)e[r]=t[r]}nr.from&&nr.alloc&&nr.allocUnsafe&&nr.allocUnsafeSlow?ry.exports=ea:(ty(ea,kl),kl.Buffer=En);function En(t,e,r){return nr(t,e,r)}En.prototype=Object.create(nr.prototype);ty(nr,En);En.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return nr(t,e,r)};En.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=nr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};En.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return nr(t)};En.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ea.SlowBuffer(t)}});var oy=J((EI,ny)=>{"use strict";function Sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var $S={ES256:Sl(256),ES384:Sl(384),ES512:Sl(521)};function zS(t){var e=$S[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}ny.exports=zS});var Al=J((kI,ly)=>{"use strict";var ta=so().Buffer,iy=oy(),ra=128,ay=0,HS=32,WS=16,GS=2,uy=WS|HS|ay<<6,na=GS|ay<<6;function JS(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function cy(t){if(ta.isBuffer(t))return t;if(typeof t=="string")return ta.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function VS(t,e){t=cy(t);var r=iy(e),n=r+1,o=t.length,s=0;if(t[s++]!==uy)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ra|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==na)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++]!==na)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=ta.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=JS(A),A}function sy(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=ra;return o&&--n,n}function KS(t,e){t=cy(t);var r=iy(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=sy(t,0,r),s=sy(t,r,t.length),a=r-o,u=r-s,c=2+a+1+1+u,f=c<ra,d=ta.allocUnsafe((f?2:3)+c),p=0;return d[p++]=uy,f?d[p++]=c:(d[p++]=ra|1,d[p++]=c&255),d[p++]=na,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=na,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}ly.exports={derToJose:VS,joseToDer:KS}});var Wt=J(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.LRUCache=void 0;Ar.snakeToCamel=dy;Ar.originalOrCamelOptions=ZS;Ar.removeUndefinedValuesInObject=eA;Ar.isValidFile=tA;Ar.getWellKnownCertificateConfigFileLocation=rA;var YS=ee("fs"),XS=ee("os"),Tl=ee("path"),QS="certificate_config.json",fy="gcloud";function dy(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function ZS(t){function e(r){let n=t||{};return n[r]??n[dy(r)]}return{get:e}}var Dl=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()}};Ar.LRUCache=Dl;function eA(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function tA(t){try{return(await YS.promises.lstat(t)).isFile()}catch{return!1}}function rA(){let t=process.env.CLOUDSDK_CONFIG||(nA()?Tl.join(process.env.APPDATA||"",fy):Tl.join(process.env.HOME||"",".config",fy));return Tl.join(t,QS)}function nA(){return XS.platform().startsWith("win")}});var hy=J((AI,oA)=>{oA.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(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.USER_AGENT=Yr.PRODUCT_NAME=Yr.pkg=void 0;var py=hy();Yr.pkg=py;var gy="google-api-nodejs-client";Yr.PRODUCT_NAME=gy;var sA=`${gy}/${py.version}`;Yr.USER_AGENT=sA});var Ct=J(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var iA=ee("events"),Rl=et(),aA=Wt(),uA=pl(),xl=vl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Ol=class t extends iA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,aA.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")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Rl.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&&Rl.Gaxios.mergeHeaders(s,r.headers),n&&Rl.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,uA.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(`${xl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${xl.USER_AGENT}`):e.headers.set("User-Agent",xl.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"]}}}};Gt.AuthClient=Ol});var Pl=J(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.LoginTicket=void 0;var Fl=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()}}};oa.LoginTicket=Fl});var kn=J(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.OAuth2Client=or.ClientAuthentication=or.CertificateFormat=or.CodeChallengeMethod=void 0;var my=et(),cA=ee("querystring"),lA=ee("stream"),fA=Al(),yy=Wt(),Il=Zo(),io=Ct(),dA=Pl(),_y;(function(t){t.Plain="plain",t.S256="S256"})(_y||(or.CodeChallengeMethod=_y={}));var Tr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tr||(or.CertificateFormat=Tr={}));var es;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(es||(or.ClientAuthentication=es={}));var Nl=class t extends io.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Tr.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||es.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()+"?"+cA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Il.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===es.ClientSecretBasic){let c=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${c.toString("base64")}`)}this.clientAuthentication===es.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,yy.removeUndefinedValuesInObject)(o)),headers:n};io.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,yy.removeUndefinedValuesInObject)(n))};io.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof my.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(io.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=my.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 lA.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,Il.hasBrowserCrypto)()?Tr.JWK:Tr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Tr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Tr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};io.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 Tr.PEM:u=n.data;break;case Tr.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};io.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,Il.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=fA.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 dA.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}};or.OAuth2Client=Nl});var jl=J(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.Compute=void 0;var hA=et(),by=Qo(),pA=kn(),Bl=class extends pA.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 by.instance(o)}catch(o){throw o instanceof hA.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 by.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))}};sa.Compute=Bl});var Ul=J(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.IdTokenClient=void 0;var gA=kn(),Ml=class extends gA.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}};ia.IdTokenClient=Ml});var Ll=J(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.GCPEnv=void 0;ao.clear=mA;ao.getEnv=yA;var Cy=Qo(),sr;(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"})(sr||(ao.GCPEnv=sr={}));var ts;function mA(){ts=void 0}async function yA(){return ts||(ts=_A(),ts)}async function _A(){let t=sr.NONE;return bA()?t=sr.APP_ENGINE:CA()?t=sr.CLOUD_FUNCTIONS:await SA()?await kA()?t=sr.KUBERNETES_ENGINE:wA()?t=sr.CLOUD_RUN:EA()?t=sr.CLOUD_RUN_JOBS:t=sr.COMPUTE_ENGINE:t=sr.NONE,t}function bA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function CA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function wA(){return!!process.env.K_CONFIGURATION}function EA(){return!!process.env.CLOUD_RUN_JOB}async function kA(){try{return await Cy.instance("attributes/cluster-name"),!0}catch{return!1}}async function SA(){return Cy.isAvailable()}});var ql=J((PI,wy)=>{var aa=so().Buffer,AA=ee("stream"),TA=ee("util");function ua(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=aa.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=aa.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+")")}TA.inherits(ua,AA);ua.prototype.write=function(e){this.buffer=aa.concat([this.buffer,aa.from(e)]),this.emit("data",e)};ua.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};wy.exports=ua});var ky=J((II,Ey)=>{"use strict";var rs=ee("buffer").Buffer,$l=ee("buffer").SlowBuffer;Ey.exports=ca;function ca(t,e){if(!rs.isBuffer(t)||!rs.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}ca.install=function(){rs.prototype.equal=$l.prototype.equal=function(e){return ca(this,e)}};var DA=rs.prototype.equal,vA=$l.prototype.equal;ca.restore=function(){rs.prototype.equal=DA,$l.prototype.equal=vA}});var Gl=J((NI,Fy)=>{var co=so().Buffer,Ft=ee("crypto"),Ay=Al(),Sy=ee("util"),RA=`"%s" is not a valid algorithm.
49
+ `+y+"}":"{"+C.join(",")+"}",n=y,S}}typeof Yb.stringify!="function"&&(Yb.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 eC=V((kL,Zb)=>{var Cc=null,BR=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,jR=/(?: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)/,UR=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 Cc==null&&(Cc=Of()),C.length>15?e.storeAsString?C:e.useNativeBigInt?BigInt(C):new Cc(C):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Cc(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+'"'),BR.test(y)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():C[y]=m():jR.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)})({"":_},""):_}};Zb.exports=UR});var nC=V((SL,wc)=>{var tC=Qb().stringify,rC=eC();wc.exports=function(t){return{parse:rC(t),stringify:tC}};wc.exports.parse=rC();wc.exports.stringify=tC});var Pf=V(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GCE_LINUX_BIOS_PATHS=void 0;Qt.isGoogleCloudServerless=iC;Qt.isGoogleComputeEngineLinux=aC;Qt.isGoogleComputeEngineMACAddress=cC;Qt.isGoogleComputeEngine=uC;Qt.detectGCPResidency=qR;var oC=te("fs"),sC=te("os");Qt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var LR=/^42:01/;function iC(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function aC(){if((0,sC.platform)()!=="linux")return!1;try{(0,oC.statSync)(Qt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,oC.readFileSync)(Qt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function cC(){let t=(0,sC.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(LR.test(r))return!0}return!1}function uC(){return aC()||cC()}function qR(){return iC()||uC()}});var lC=V(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.Colours=void 0;var ct=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="")}};kc.Colours=ct;ct.enabled=!1;ct.reset="";ct.bright="";ct.dim="";ct.red="";ct.green="";ct.yellow="";ct.blue="";ct.magenta="";ct.cyan="";ct.white="";ct.grey="";ct.refresh()});var pC=V(Ie=>{"use strict";var $R=Ie&&Ie.__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]})),zR=Ie&&Ie.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),dC=Ie&&Ie.__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"&&$R(r,e,n[o]);return zR(r,e),r}})();Object.defineProperty(Ie,"__esModule",{value:!0});Ie.env=Ie.DebugLogBackendBase=Ie.placeholder=Ie.AdhocDebugLogger=Ie.LogSeverity=void 0;Ie.getNodeBackend=If;Ie.getDebugBackend=WR;Ie.getStructuredBackend=GR;Ie.setBackend=JR;Ie.log=hC;var HR=te("events"),si=dC(te("process")),fC=dC(te("util")),At=lC(),Zt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Zt||(Ie.LogSeverity=Zt={}));var ii=class extends HR.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(Zt.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Zt.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Zt.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Zt.ERROR,...n),this.func.sublog=n=>hC(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)}};Ie.AdhocDebugLogger=ii;Ie.placeholder=new ii("",()=>{}).func;var $o=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=si.env[Ie.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)}}};Ie.DebugLogBackendBase=$o;var Ff=class extends $o{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=`${At.Colours.green}${e}${At.Colours.reset}`,i=`${At.Colours.yellow}${si.pid}${At.Colours.reset}`,c;switch(r.severity){case Zt.ERROR:c=`${At.Colours.red}${r.severity}${At.Colours.reset}`;break;case Zt.INFO:c=`${At.Colours.magenta}${r.severity}${At.Colours.reset}`;break;case Zt.WARNING:c=`${At.Colours.yellow}${r.severity}${At.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:Zt.DEFAULT;break}let u=fC.formatWithOptions({colors:At.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",h=d?`${At.Colours.grey}${d}${At.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 If(){return new Ff}var Nf=class extends $o{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=si.env.NODE_DEBUG)!==null&&e!==void 0?e:"";si.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function WR(t){return new Nf(t)}var Mf=class extends $o{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:Zt.INFO,u=Object.assign({severity:c,message:fC.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 GR(t){return new Mf(t)}Ie.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Bf=new Map,Tt;function JR(t){Tt=t,Bf.clear()}function hC(t,e){if(!Tt&&!si.env[Ie.env.nodeEnables]||!t)return Ie.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Bf.get(t);if(r)return r.func;if(Tt===null)return Ie.placeholder;Tt===void 0&&(Tt=If());let n=(()=>{let o;return new ii(t,(i,...c)=>{if(o!==Tt){if(Tt===null)return;Tt===void 0&&(Tt=If()),o=Tt}Tt?.log(t,i,...c)})})();return Bf.set(t,n),n.func}});var jf=V(Zn=>{"use strict";var VR=Zn&&Zn.__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=Zn&&Zn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&VR(e,t,r)};Object.defineProperty(Zn,"__esModule",{value:!0});KR(pC(),Zn)});var ci=V(he=>{"use strict";var mC=he&&he.__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]})),YR=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),XR=he&&he.__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"&&mC(r,e,n[o]);return YR(r,e),r}})(),QR=he&&he.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mC(e,t,r)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=oD;he.project=sD;he.universe=iD;he.bulk=aD;he.isAvailable=uD;he.resetIsAvailableCache=lD;he.getGCPResidency=qf;he.setGCPResidency=yC;he.requestTimeout=_C;var Uf=st(),ZR=nC(),eD=Pf(),tD=XR(jf());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var gC=tD.log("gcp-metadata");he.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 Lf(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function rD(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 ai(t,e={},r=3,n=!1){let o=new Headers(he.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}`:(rD(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,m)=>o.set(m,h)),i=e.params||i);let c=n?nD:Uf.request,u={url:`${Lf()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:i,responseType:"text",timeout:_C()};gC.info("instance request %j",u);let f=await c(u);gC.info("instance metadata is %s",f.data);let d=f.headers.get(he.HEADER_NAME);if(d!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return ZR.parse(f.data)}catch{}return f.data}async function nD(t){let e={...t,url:t.url?.toString().replace(Lf(),Lf(he.SECONDARY_HOST_ADDRESS))},r=(0,Uf.request)(t),n=(0,Uf.request)(e);return Promise.any([r,n])}function oD(t){return ai("instance",t)}function sD(t){return ai("project",t)}function iD(t){return ai("universe",t)}async function aD(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await ai(r),o=r.metadataKey;e[o]=n})())),e}function cD(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Sc;async function uD(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return qf();case"ping-only":}}try{return Sc===void 0&&(Sc=ai("instance",void 0,cD(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Sc,!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 lD(){Sc=void 0}he.gcpResidencyCache=null;function qf(){return he.gcpResidencyCache===null&&yC(),he.gcpResidencyCache}function yC(t=null){he.gcpResidencyCache=t!==null?t:(0,eD.detectGCPResidency)()}function _C(){return qf()?0:3e3}QR(Pf(),he)});var wC=V(Ec=>{"use strict";Ec.byteLength=fD;Ec.toByteArray=pD;Ec.fromByteArray=yD;var gr=[],Ut=[],dD=typeof Uint8Array<"u"?Uint8Array:Array,$f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(eo=0,bC=$f.length;eo<bC;++eo)gr[eo]=$f[eo],Ut[$f.charCodeAt(eo)]=eo;var eo,bC;Ut[45]=62;Ut[95]=63;function CC(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 fD(t){var e=CC(t),r=e[0],n=e[1];return(r+n)*3/4-n}function hD(t,e,r){return(e+r)*3/4-r}function pD(t){var e,r=CC(t),n=r[0],o=r[1],s=new dD(hD(t,n,o)),i=0,c=o>0?n-4:n,u;for(u=0;u<c;u+=4)e=Ut[t.charCodeAt(u)]<<18|Ut[t.charCodeAt(u+1)]<<12|Ut[t.charCodeAt(u+2)]<<6|Ut[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=Ut[t.charCodeAt(u)]<<2|Ut[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=Ut[t.charCodeAt(u)]<<10|Ut[t.charCodeAt(u+1)]<<4|Ut[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function gD(t){return gr[t>>18&63]+gr[t>>12&63]+gr[t>>6&63]+gr[t&63]}function mD(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(gD(n));return o.join("")}function yD(t){for(var e,r=t.length,n=r%3,o=[],s=16383,i=0,c=r-n;i<c;i+=s)o.push(mD(t,i,i+s>c?c:i+s));return n===1?(e=t[r-1],o.push(gr[e>>2]+gr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(gr[e>>10]+gr[e>>4&63]+gr[e<<2&63]+"=")),o.join("")}});var Hf=V(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});zf.fromArrayBufferToHex=_D;function _D(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var kC=V(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.BrowserCrypto=void 0;var zo=wC(),bD=Hf(),Wf=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 zo.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),zo.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=zo.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 zo.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let r=zo.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return zo.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,bD.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))}};Ac.BrowserCrypto=Wf});var SC=V(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.NodeCrypto=void 0;var Ho=te("crypto"),Gf=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:wD(e);return CD(Ho.createHmac("sha256",n).update(r).digest())}};Tc.NodeCrypto=Gf;function CD(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function wD(t){return Buffer.from(t)}});var ui=V(zr=>{"use strict";var kD=zr&&zr.__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]})),SD=zr&&zr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kD(e,t,r)};Object.defineProperty(zr,"__esModule",{value:!0});zr.createCrypto=TD;zr.hasBrowserCrypto=EC;var ED=kC(),AD=SC();SD(Hf(),zr);function TD(){return EC()?new ED.BrowserCrypto:new AD.NodeCrypto}function EC(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Wo=V((Jf,TC)=>{var vc=te("buffer"),mr=vc.Buffer;function AC(t,e){for(var r in t)e[r]=t[r]}mr.from&&mr.alloc&&mr.allocUnsafe&&mr.allocUnsafeSlow?TC.exports=vc:(AC(vc,Jf),Jf.Buffer=to);function to(t,e,r){return mr(t,e,r)}to.prototype=Object.create(mr.prototype);AC(mr,to);to.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return mr(t,e,r)};to.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=mr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};to.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return mr(t)};to.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return vc.SlowBuffer(t)}});var RC=V((IL,vC)=>{"use strict";function Vf(t){var e=(t/8|0)+(t%8===0?0:1);return e}var vD={ES256:Vf(256),ES384:Vf(384),ES512:Vf(521)};function RD(t){var e=vD[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}vC.exports=RD});var Kf=V((NL,IC)=>{"use strict";var Rc=Wo().Buffer,xC=RC(),Dc=128,OC=0,DD=32,xD=16,OD=2,PC=xD|DD|OC<<6,xc=OD|OC<<6;function PD(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function FC(t){if(Rc.isBuffer(t))return t;if(typeof t=="string")return Rc.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function FD(t,e){t=FC(t);var r=xC(e),n=r+1,o=t.length,s=0;if(t[s++]!==PC)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(Dc|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==xc)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++]!==xc)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=Rc.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=PD(S),S}function DC(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Dc;return o&&--n,n}function ID(t,e){t=FC(t);var r=xC(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=DC(t,0,r),s=DC(t,r,t.length),i=r-o,c=r-s,u=2+i+1+1+c,f=u<Dc,d=Rc.allocUnsafe((f?2:3)+u),h=0;return d[h++]=PC,f?d[h++]=u:(d[h++]=Dc|1,d[h++]=u&255),d[h++]=xc,d[h++]=i,o<0?(d[h++]=0,h+=t.copy(d,h,0,r)):h+=t.copy(d,h,o,r),d[h++]=xc,d[h++]=c,s<0?(d[h++]=0,t.copy(d,h,r)):t.copy(d,h,r+s),d}IC.exports={derToJose:FD,joseToDer:ID}});var er=V(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.LRUCache=void 0;Hr.snakeToCamel=MC;Hr.originalOrCamelOptions=jD;Hr.removeUndefinedValuesInObject=UD;Hr.isValidFile=LD;Hr.getWellKnownCertificateConfigFileLocation=qD;var ND=te("fs"),MD=te("os"),Yf=te("path"),BD="certificate_config.json",NC="gcloud";function MC(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function jD(t){function e(r){let n=t||{};return n[r]??n[MC(r)]}return{get:e}}var Xf=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()}};Hr.LRUCache=Xf;function UD(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function LD(t){try{return(await ND.promises.lstat(t)).isFile()}catch{return!1}}function qD(){let t=process.env.CLOUDSDK_CONFIG||($D()?Yf.join(process.env.APPDATA||"",NC):Yf.join(process.env.HOME||"",".config",NC));return Yf.join(t,BD)}function $D(){return MD.platform().startsWith("win")}});var BC=V((BL,zD)=>{zD.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 Qf=V(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.USER_AGENT=wn.PRODUCT_NAME=wn.pkg=void 0;var jC=BC();wn.pkg=jC;var UC="google-api-nodejs-client";wn.PRODUCT_NAME=UC;var HD=`${UC}/${jC.version}`;wn.USER_AGENT=HD});var vt=V(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.AuthClient=tr.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=tr.DEFAULT_UNIVERSE=void 0;var WD=te("events"),Zf=st(),GD=er(),JD=jf(),eh=Qf();tr.DEFAULT_UNIVERSE="googleapis.com";tr.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var th=class t extends WD.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=tr.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=tr.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,GD.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")??tr.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Zf.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&&Zf.Gaxios.mergeHeaders(s,r.headers),n&&Zf.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,JD.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(`${eh.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${eh.USER_AGENT}`):e.headers.set("User-Agent",eh.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"]}}}};tr.AuthClient=th});var nh=V(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.LoginTicket=void 0;var rh=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()}}};Oc.LoginTicket=rh});var ro=V(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.OAuth2Client=yr.ClientAuthentication=yr.CertificateFormat=yr.CodeChallengeMethod=void 0;var LC=st(),VD=te("querystring"),KD=te("stream"),YD=Kf(),qC=er(),oh=ui(),Go=vt(),XD=nh(),$C;(function(t){t.Plain="plain",t.S256="S256"})($C||(yr.CodeChallengeMethod=$C={}));var Wr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Wr||(yr.CertificateFormat=Wr={}));var li;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(li||(yr.ClientAuthentication=li={}));var sh=class t extends Go.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Wr.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||li.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()+"?"+VD.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,oh.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===li.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===li.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,qC.removeUndefinedValuesInObject)(o)),headers:n};Go.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,qC.removeUndefinedValuesInObject)(n))};Go.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof LC.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(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=LC.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 KD.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,oh.hasBrowserCrypto)()?Wr.JWK:Wr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Wr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Wr.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"),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 Wr.PEM:c=n.data;break;case Wr.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};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 i=(0,oh.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=YD.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 XD.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}};yr.OAuth2Client=sh});var ah=V(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.Compute=void 0;var QD=st(),zC=ci(),ZD=ro(),ih=class extends ZD.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 zC.instance(o)}catch(o){throw o instanceof QD.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 zC.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))}};Pc.Compute=ih});var uh=V(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.IdTokenClient=void 0;var ex=ro(),ch=class extends ex.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}};Fc.IdTokenClient=ch});var lh=V(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.GCPEnv=void 0;Jo.clear=tx;Jo.getEnv=rx;var HC=ci(),_r;(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"})(_r||(Jo.GCPEnv=_r={}));var di;function tx(){di=void 0}async function rx(){return di||(di=nx(),di)}async function nx(){let t=_r.NONE;return ox()?t=_r.APP_ENGINE:sx()?t=_r.CLOUD_FUNCTIONS:await ux()?await cx()?t=_r.KUBERNETES_ENGINE:ix()?t=_r.CLOUD_RUN:ax()?t=_r.CLOUD_RUN_JOBS:t=_r.COMPUTE_ENGINE:t=_r.NONE,t}function ox(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function sx(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function ix(){return!!process.env.K_CONFIGURATION}function ax(){return!!process.env.CLOUD_RUN_JOB}async function cx(){try{return await HC.instance("attributes/cluster-name"),!0}catch{return!1}}async function ux(){return HC.isAvailable()}});var dh=V((WL,WC)=>{var Ic=Wo().Buffer,lx=te("stream"),dx=te("util");function Nc(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Ic.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Ic.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+")")}dx.inherits(Nc,lx);Nc.prototype.write=function(e){this.buffer=Ic.concat([this.buffer,Ic.from(e)]),this.emit("data",e)};Nc.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};WC.exports=Nc});var JC=V((GL,GC)=>{"use strict";var fi=te("buffer").Buffer,fh=te("buffer").SlowBuffer;GC.exports=Mc;function Mc(t,e){if(!fi.isBuffer(t)||!fi.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}Mc.install=function(){fi.prototype.equal=fh.prototype.equal=function(e){return Mc(this,e)}};var fx=fi.prototype.equal,hx=fh.prototype.equal;Mc.restore=function(){fi.prototype.equal=fx,fh.prototype.equal=hx}});var mh=V((JL,rw)=>{var Ko=Wo().Buffer,Lt=te("crypto"),KC=Kf(),VC=te("util"),px=`"%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".`,ns="secret must be a string or buffer",uo="key must be a string or a buffer",xA="key must be a string, a buffer or an object",Hl=typeof Ft.createPublicKey=="function";Hl&&(uo+=" or a KeyObject",ns+="or a KeyObject");function Ty(t){if(!co.isBuffer(t)&&typeof t!="string"&&(!Hl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(uo)}function Dy(t){if(!co.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(xA)}function OA(t){if(!co.isBuffer(t)){if(typeof t=="string")return t;if(!Hl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ns)}}function Wl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function vy(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 Jt(t){var e=[].slice.call(arguments,1),r=Sy.format.bind(Sy,t).apply(null,e);return new TypeError(r)}function FA(t){return co.isBuffer(t)||typeof t=="string"}function os(t){return FA(t)||(t=JSON.stringify(t)),t}function Ry(t){return function(r,n){OA(n),r=os(r);var o=Ft.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return Wl(s)}}var zl,PA="timingSafeEqual"in Ft?function(e,r){return e.byteLength!==r.byteLength?!1:Ft.timingSafeEqual(e,r)}:function(e,r){return zl||(zl=ky()),zl(e,r)};function IA(t){return function(r,n,o){var s=Ry(t)(r,o);return PA(co.from(n),co.from(s))}}function xy(t){return function(r,n){Dy(n),r=os(r);var o=Ft.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return Wl(s)}}function Oy(t){return function(r,n,o){Ty(o),r=os(r),n=vy(n);var s=Ft.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function NA(t){return function(r,n){Dy(n),r=os(r);var o=Ft.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ft.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ft.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Wl(s)}}function BA(t){return function(r,n,o){Ty(o),r=os(r),n=vy(n);var s=Ft.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ft.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ft.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function jA(t){var e=xy(t);return function(){var n=e.apply(null,arguments);return n=Ay.derToJose(n,"ES"+t),n}}function MA(t){var e=Oy(t);return function(n,o,s){o=Ay.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function UA(){return function(){return""}}function LA(){return function(e,r){return r===""}}Fy.exports=function(e){var r={hs:Ry,rs:xy,ps:NA,es:jA,none:UA},n={hs:IA,rs:Oy,ps:BA,es:MA,none:LA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(RA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var Jl=J((BI,Py)=>{var qA=ee("buffer").Buffer;Py.exports=function(e){return typeof e=="string"?e:typeof e=="number"||qA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Uy=J((jI,My)=>{var $A=so().Buffer,Iy=ql(),zA=Gl(),HA=ee("stream"),Ny=Jl(),Vl=ee("util");function By(t,e){return $A.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function WA(t,e,r){r=r||"utf8";var n=By(Ny(t),"binary"),o=By(Ny(e),r);return Vl.format("%s.%s",n,o)}function jy(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=zA(e.alg),a=WA(e,r,o),u=s.sign(a,n);return Vl.format("%s.%s",a,u)}function la(t){var e=t.secret||t.privateKey||t.key,r=new Iy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new Iy(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))}Vl.inherits(la,HA);la.prototype.sign=function(){try{var e=jy({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")}};la.sign=jy;My.exports=la});var Ky=J((MI,Vy)=>{var qy=so().Buffer,Ly=ql(),GA=Gl(),JA=ee("stream"),$y=Jl(),VA=ee("util"),KA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function YA(t){return Object.prototype.toString.call(t)==="[object Object]"}function XA(t){if(YA(t))return t;try{return JSON.parse(t)}catch{return}}function zy(t){var e=t.split(".",1)[0];return XA(qy.from(e,"base64").toString("binary"))}function QA(t){return t.split(".",2).join(".")}function Hy(t){return t.split(".")[2]}function ZA(t,e){e=e||"utf8";var r=t.split(".")[1];return qy.from(r,"base64").toString(e)}function Wy(t){return KA.test(t)&&!!zy(t)}function Gy(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=$y(t);var o=Hy(t),s=QA(t),a=GA(e);return a.verify(s,o,r)}function Jy(t,e){if(e=e||{},t=$y(t),!Wy(t))return null;var r=zy(t);if(!r)return null;var n=ZA(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Hy(t)}}function lo(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Ly(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Ly(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))}VA.inherits(lo,JA);lo.prototype.verify=function(){try{var e=Gy(this.signature.buffer,this.algorithm,this.key.buffer),r=Jy(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")}};lo.decode=Jy;lo.isValid=Wy;lo.verify=Gy;Vy.exports=lo});var Kl=J(Xr=>{var Yy=Uy(),fa=Ky(),eT=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Xr.ALGORITHMS=eT;Xr.sign=Yy.sign;Xr.verify=fa.verify;Xr.decode=fa.decode;Xr.isValid=fa.isValid;Xr.createSign=function(e){return new Yy(e)};Xr.createVerify=function(e){return new fa(e)}});var f_=J(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.GoogleToken=void 0;var Xy=da(ee("fs")),tT=et(),rT=da(Kl()),nT=da(ee("path")),oT=ee("util");function da(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(da=function(s,a){if(!a&&s&&s.__esModule)return s;var u,c,f={__proto__:null,default:s};if(s===null||Dr(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 Dr(t){"@babel/helpers - typeof";return Dr=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},Dr(t)}function sT(t,e){i_(t,e),e.add(t)}function iT(t,e,r){i_(t,e),e.set(t,r)}function i_(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Qy(t,e,r){return t.set(Vt(t,e),r),r}function Zy(t,e){return t.get(Vt(t,e))}function Vt(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 e_(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,c_(n.key),n)}}function a_(t,e,r){return e&&e_(t.prototype,e),r&&e_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function u_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aT(t,e,r){return e=us(e),uT(t,tf()?Reflect.construct(e,r||[],us(t).constructor):e.apply(t,r))}function uT(t,e){if(e&&(Dr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return cT(t)}function cT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function lT(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&&as(t,e)}function Yl(t){var e=typeof Map=="function"?new Map:void 0;return Yl=function(n){if(n===null||!dT(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 fT(n,arguments,us(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),as(o,n)},Yl(t)}function fT(t,e,r){if(tf())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&as(o,r.prototype),o}function tf(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(tf=function(){return!!t})()}function dT(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function as(t,e){return as=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},as(t,e)}function us(t){return us=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},us(t)}function wt(t,e,r){return(e=c_(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c_(t){var e=hT(t,"string");return Dr(e)=="symbol"?e:e+""}function hT(t,e){if(Dr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Dr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function kt(){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 Et(v,"_invoke",(function(k,w,T){var O,N,G,$=0,X=T||[],K=!1,ie={p:0,n:0,v:t,a:be,f:be.bind(t,4),d:function(fe,ge){return O=fe,N=0,G=t,ie.n=ge,a}};function be(ye,fe){for(N=ye,G=fe,e=0;!K&&$&&!ge&&e<X.length;e++){var ge,ae=X[e],V=ie.p,Y=ae[2];ye>3?(ge=Y===fe)&&(G=ae[(N=ae[4])?5:(N=3,3)],ae[4]=ae[5]=t):ae[0]<=V&&((ge=ye<2&&V<ae[1])?(N=0,ie.v=fe,ie.n=ae[1]):V<Y&&(ge=ye<3||ae[0]>fe||fe>Y)&&(ae[4]=ye,ae[5]=fe,ie.n=Y,N=0))}if(ge||ye>1)return a;throw K=!0,fe}return function(ye,fe,ge){if($>1)throw TypeError("Generator is already running");for(K&&fe===1&&be(fe,ge),N=fe,G=ge;(e=N<2?t:G)||!K;){O||(N?N<3?(N>1&&(ie.n=-1),be(N,G)):ie.n=G:ie.v=G);try{if($=2,O){if(N||(ye="next"),e=O[ye]){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 '"+ye+"' method"),N=1);O=t}else if((e=(K=ie.n<0)?G:k.call(w,ie))!==a)break}catch(ae){O=t,N=1,G=ae}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]())):(Et(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,Et(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return c.prototype=f,Et(p,"constructor",f),Et(f,"constructor",c),c.displayName="GeneratorFunction",Et(f,o,"GeneratorFunction"),Et(p),Et(p,o,"Generator"),Et(p,n,function(){return this}),Et(p,"toString",function(){return"[object Generator]"}),(kt=function(){return{w:s,m:y}})()}function Et(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Et=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){Et(a,y,function(g){return this._invoke(y,A,g)})};d("next",0),d("throw",1),d("return",2)}},Et(t,e,r,n)}function t_(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 fo(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(c){t_(s,n,o,a,u,"next",c)}function u(c){t_(s,n,o,a,u,"throw",c)}a(void 0)})}}var r_=Xy.readFile?(0,oT.promisify)(Xy.readFile):fo(kt().m(function t(){return kt().w(function(e){for(;;)switch(e.n){case 0:throw new is("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),n_="https://oauth2.googleapis.com/token",pT="https://oauth2.googleapis.com/revoke?token=",is=(function(t){function e(r,n){var o;return u_(this,e),o=aT(this,e,[r]),wt(o,"code",void 0),o.code=n,o}return lT(e,t),a_(e)})(Yl(Error)),ss=new WeakMap,ir=new WeakSet,LI=ha.GoogleToken=(function(){function t(e){u_(this,t),sT(this,ir),wt(this,"expiresAt",void 0),wt(this,"key",void 0),wt(this,"keyFile",void 0),wt(this,"iss",void 0),wt(this,"sub",void 0),wt(this,"scope",void 0),wt(this,"rawToken",void 0),wt(this,"tokenExpires",void 0),wt(this,"email",void 0),wt(this,"additionalClaims",void 0),wt(this,"eagerRefreshThresholdMillis",void 0),wt(this,"transporter",{request:function(n){return(0,tT.request)(n)}}),iT(this,ss,void 0),Vt(ir,this,l_).call(this,e)}return a_(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(Dr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Vt(ir,this,o_).call(this,n).then(function(s){return o(null,s)},r);return}return Vt(ir,this,o_).call(this,n)}},{key:"getCredentials",value:(function(){var e=fo(kt().m(function n(o){var s,a,u,c,f,d,p;return kt().w(function(y){for(;;)switch(y.n){case 0:s=nT.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 is("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 is("*.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 is("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){Vt(ir,this,s_).call(this).then(function(){return r()},r);return}return Vt(ir,this,s_).call(this)}}])})();function o_(t){return Xl.apply(this,arguments)}function Xl(){return Xl=fo(kt().m(function t(e){return kt().w(function(r){for(;;)switch(r.n){case 0:if(!(Zy(ss,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Zy(ss,this));case 1:return r.p=1,r.n=2,Qy(ss,this,Vt(ir,this,gT).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,Qy(ss,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Xl.apply(this,arguments)}function gT(t){return Ql.apply(this,arguments)}function Ql(){return Ql=fo(kt().m(function t(e){var r;return kt().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||Vt(ir,this,mT).call(this);case 4:return n.a(2,Vt(ir,this,yT).call(this))}},t,this)})),Ql.apply(this,arguments)}function mT(){if(!this.iss)throw new is("email is required.","MISSING_CREDENTIALS")}function s_(){return Zl.apply(this,arguments)}function Zl(){return Zl=fo(kt().m(function t(){var e;return kt().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=pT+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(ir,this,l_).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)})),Zl.apply(this,arguments)}function l_(){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,Dr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function yT(){return ef.apply(this,arguments)}function ef(){return ef=fo(kt().m(function t(){var e,r,n,o,s,a,u,c,f,d;return kt().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:n_,exp:e+3600,iat:e,sub:this.sub},r),o=rT.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:n_,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]])})),ef.apply(this,arguments)}});var nf=J(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.JWTAccess=void 0;var _T=Kl(),bT=Wt(),d_={alg:"RS256",typ:"JWT"},rf=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new bT.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?{...d_,kid:this.keyId}:d_,p=Object.assign(f,r),y=_T.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)}})})}};pa.JWTAccess=rf});var sf=J(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.JWT=void 0;var h_=f_(),CT=nf(),wT=kn(),ga=Ct(),of=class t extends wT.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!==ga.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ga.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ga.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 CT.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!==ga.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 h_.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 h_.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.")}};ma.JWT=of});var uf=J(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.UserRefreshClient=ho.USER_REFRESH_ACCOUNT_TYPE=void 0;var ET=kn(),kT=Ct();ho.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var af=class t extends ET.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 kT.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}};ho.UserRefreshClient=af});var lf=J(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.Impersonated=po.IMPERSONATED_ACCOUNT_TYPE=void 0;var p_=kn(),ST=et(),AT=Wt();po.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var cf=class t extends p_.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 p_.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,AT.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 ST.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}};po.Impersonated=cf});var df=J(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.OAuthClientAuthHandler=void 0;cs.getErrorFromOAuthErrorResponse=vT;var go=et(),TT=Zo(),DT=["PUT","POST","PATCH"],ff=class{#e=(0,TT.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new go.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new go.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=go.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=go.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=go.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);go.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!DT.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"]}}}};cs.OAuthClientAuthHandler=ff;function vT(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 _a=J(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.StsCredentials=void 0;var RT=et(),xT=Ct(),g_=df(),OT=Wt(),hf=class t extends g_.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,OT.removeUndefinedValuesInObject)(o))};xT.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 RT.GaxiosError&&a.response?(0,g_.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};ya.StsCredentials=hf});var Qr=J(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var FT=et(),PT=ee("stream"),pf=Ct(),IT=_a(),m_=Wt(),NT=vl(),BT="urn:ietf:params:oauth:grant-type:token-exchange",jT="urn:ietf:params:oauth:token-type:access_token",gf="https://www.googleapis.com/auth/cloud-platform",MT=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var UT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",LT="https://sts.{universeDomain}/v1/token",mf=class t extends pf.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,m_.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.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")??LT.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,m_.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 IT.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[gf],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(UT);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=MT),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}`};pf.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=FT.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 PT.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:BT,audience:this.audience,requestedTokenType:jT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[gf]: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"}};pf.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||[gf]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${NT.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=mf});var y_=J(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.FileSubjectTokenSupplier=void 0;var _f=ee("util"),bf=ee("fs"),qT=(0,_f.promisify)(bf.readFile??(()=>{})),$T=(0,_f.promisify)(bf.realpath??(()=>{})),zT=(0,_f.promisify)(bf.lstat??(()=>{})),yf=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 $T(e),!(await zT(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 qT(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}};ba.FileSubjectTokenSupplier=yf});var __=J(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.UrlSubjectTokenSupplier=void 0;var HT=Ct(),Cf=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};HT.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}};Ca.UrlSubjectTokenSupplier=Cf});var b_=J(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.CertificateSubjectTokenSupplier=St.InvalidConfigurationError=St.CertificateSourceUnavailableError=St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var wa=Wt(),Ea=ee("fs"),ka=ee("crypto"),WT=ee("https");St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ar=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};St.CertificateSourceUnavailableError=ar;var It=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};St.InvalidConfigurationError=It;var wf=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new It("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new It("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new It("Cannot create mTLS Agent with missing certificate or key");return new WT.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,wa.isValidFile)(e))return e;throw new ar(`Provided certificate config path is invalid: ${e}`)}let r=process.env[St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,wa.isValidFile)(r))return r;throw new ar(`Path from environment variable "${St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,wa.getWellKnownCertificateConfigFileLocation)();if(await(0,wa.isValidFile)(n))return n;throw new ar(`Could not find certificate configuration file. Searched override path, the "${St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await Ea.promises.readFile(e,"utf8")}catch{throw new ar(`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 It(`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 It?n:new It(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await Ea.promises.readFile(e),new ka.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read certificate file at ${e}: ${a}`)}try{o=await Ea.promises.readFile(r),(0,ka.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ka.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await Ea.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((c,f)=>{try{return new ka.X509Certificate(c)}catch(d){let p=d instanceof Error?d.message:String(d);throw new It(`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 It(`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 It)throw n;let o=n instanceof Error?n.message:String(n);throw new ar(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};St.CertificateSubjectTokenSupplier=wf});var Sf=J(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.IdentityPoolClient=void 0;var GT=Qr(),Ef=Wt(),JT=y_(),VT=__(),C_=b_(),KT=_a(),w_=et(),kf=class t extends GT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,Ef.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,Ef.originalOrCamelOptions)(n),a=(0,Ef.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 JT.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:c});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new VT.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:c,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new C_.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 C_.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new KT.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new w_.Gaxios({agent:r})}),this.transporter=new w_.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Sa.IdentityPoolClient=kf});var Tf=J(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.AwsRequestSigner=void 0;var Aa=et(),k_=Zo(),E_="AWS4-HMAC-SHA256",YT="aws4_request",Af=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,k_.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 QT({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=Aa.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:c.host},a||{});u.token&&Aa.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}};Ta.AwsRequestSigner=Af;async function ls(t,e,r){return await t.signWithHmacSha256(e,r)}async function XT(t,e,r,n,o){let s=await ls(t,`AWS4${e}`,r),a=await ls(t,s,n),u=await ls(t,a,o);return await ls(t,u,"aws4_request")}async function QT(t){let e=Aa.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=Aa.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(";"),p=await t.crypto.sha256DigestHex(r),y=`${t.method.toUpperCase()}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,hi="secret must be a string or buffer",Vo="key must be a string or a buffer",gx="key must be a string, a buffer or an object",ph=typeof Lt.createPublicKey=="function";ph&&(Vo+=" or a KeyObject",hi+="or a KeyObject");function YC(t){if(!Ko.isBuffer(t)&&typeof t!="string"&&(!ph||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw rr(Vo)}function XC(t){if(!Ko.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw rr(gx)}function mx(t){if(!Ko.isBuffer(t)){if(typeof t=="string")return t;if(!ph||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw rr(hi)}}function gh(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QC(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 rr(t){var e=[].slice.call(arguments,1),r=VC.format.bind(VC,t).apply(null,e);return new TypeError(r)}function yx(t){return Ko.isBuffer(t)||typeof t=="string"}function pi(t){return yx(t)||(t=JSON.stringify(t)),t}function ZC(t){return function(r,n){mx(n),r=pi(r);var o=Lt.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return gh(s)}}var hh,_x="timingSafeEqual"in Lt?function(e,r){return e.byteLength!==r.byteLength?!1:Lt.timingSafeEqual(e,r)}:function(e,r){return hh||(hh=JC()),hh(e,r)};function bx(t){return function(r,n,o){var s=ZC(t)(r,o);return _x(Ko.from(n),Ko.from(s))}}function ew(t){return function(r,n){XC(n),r=pi(r);var o=Lt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return gh(s)}}function tw(t){return function(r,n,o){YC(o),r=pi(r),n=QC(n);var s=Lt.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function Cx(t){return function(r,n){XC(n),r=pi(r);var o=Lt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Lt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Lt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return gh(s)}}function wx(t){return function(r,n,o){YC(o),r=pi(r),n=QC(n);var s=Lt.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Lt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Lt.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function kx(t){var e=ew(t);return function(){var n=e.apply(null,arguments);return n=KC.derToJose(n,"ES"+t),n}}function Sx(t){var e=tw(t);return function(n,o,s){o=KC.joseToDer(o,"ES"+t).toString("base64");var i=e(n,o,s);return i}}function Ex(){return function(){return""}}function Ax(){return function(e,r){return r===""}}rw.exports=function(e){var r={hs:ZC,rs:ew,ps:Cx,es:kx,none:Ex},n={hs:bx,rs:tw,ps:wx,es:Sx,none:Ax},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw rr(px,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:r[s](i),verify:n[s](i)}}});var yh=V((VL,nw)=>{var Tx=te("buffer").Buffer;nw.exports=function(e){return typeof e=="string"?e:typeof e=="number"||Tx.isBuffer(e)?e.toString():JSON.stringify(e)}});var uw=V((KL,cw)=>{var vx=Wo().Buffer,ow=dh(),Rx=mh(),Dx=te("stream"),sw=yh(),_h=te("util");function iw(t,e){return vx.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function xx(t,e,r){r=r||"utf8";var n=iw(sw(t),"binary"),o=iw(sw(e),r);return _h.format("%s.%s",n,o)}function aw(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=Rx(e.alg),i=xx(e,r,o),c=s.sign(i,n);return _h.format("%s.%s",i,c)}function Bc(t){var e=t.secret||t.privateKey||t.key,r=new ow(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new ow(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))}_h.inherits(Bc,Dx);Bc.prototype.sign=function(){try{var e=aw({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")}};Bc.sign=aw;cw.exports=Bc});var bw=V((YL,_w)=>{var dw=Wo().Buffer,lw=dh(),Ox=mh(),Px=te("stream"),fw=yh(),Fx=te("util"),Ix=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Nx(t){return Object.prototype.toString.call(t)==="[object Object]"}function Mx(t){if(Nx(t))return t;try{return JSON.parse(t)}catch{return}}function hw(t){var e=t.split(".",1)[0];return Mx(dw.from(e,"base64").toString("binary"))}function Bx(t){return t.split(".",2).join(".")}function pw(t){return t.split(".")[2]}function jx(t,e){e=e||"utf8";var r=t.split(".")[1];return dw.from(r,"base64").toString(e)}function gw(t){return Ix.test(t)&&!!hw(t)}function mw(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=fw(t);var o=pw(t),s=Bx(t),i=Ox(e);return i.verify(s,o,r)}function yw(t,e){if(e=e||{},t=fw(t),!gw(t))return null;var r=hw(t);if(!r)return null;var n=jx(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:pw(t)}}function Yo(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new lw(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new lw(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))}Fx.inherits(Yo,Px);Yo.prototype.verify=function(){try{var e=mw(this.signature.buffer,this.algorithm,this.key.buffer),r=yw(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")}};Yo.decode=yw;Yo.isValid=gw;Yo.verify=mw;_w.exports=Yo});var bh=V(kn=>{var Cw=uw(),jc=bw(),Ux=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];kn.ALGORITHMS=Ux;kn.sign=Cw.sign;kn.verify=jc.verify;kn.decode=jc.decode;kn.isValid=jc.isValid;kn.createSign=function(e){return new Cw(e)};kn.createVerify=function(e){return new jc(e)}});var Nw=V(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.GoogleToken=void 0;var ww=Uc(te("fs")),Lx=st(),qx=Uc(bh()),$x=Uc(te("path")),zx=te("util");function Uc(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Uc=function(s,i){if(!i&&s&&s.__esModule)return s;var c,u,f={__proto__:null,default:s};if(s===null||Gr(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 Gr(t){"@babel/helpers - typeof";return Gr=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},Gr(t)}function Hx(t,e){xw(t,e),e.add(t)}function Wx(t,e,r){xw(t,e),e.set(t,r)}function xw(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function kw(t,e,r){return t.set(nr(t,e),r),r}function Sw(t,e){return t.get(nr(t,e))}function nr(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 Ew(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,Fw(n.key),n)}}function Ow(t,e,r){return e&&Ew(t.prototype,e),r&&Ew(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Pw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gx(t,e,r){return e=_i(e),Jx(t,Ah()?Reflect.construct(e,r||[],_i(t).constructor):e.apply(t,r))}function Jx(t,e){if(e&&(Gr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Vx(t)}function Vx(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Kx(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&&yi(t,e)}function Ch(t){var e=typeof Map=="function"?new Map:void 0;return Ch=function(n){if(n===null||!Xx(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 Yx(n,arguments,_i(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),yi(o,n)},Ch(t)}function Yx(t,e,r){if(Ah())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&yi(o,r.prototype),o}function Ah(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ah=function(){return!!t})()}function Xx(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function yi(t,e){return yi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},yi(t,e)}function _i(t){return _i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_i(t)}function Rt(t,e,r){return(e=Fw(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Fw(t){var e=Qx(t,"string");return Gr(e)=="symbol"?e:e+""}function Qx(t,e){if(Gr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Gr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function xt(){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 Dt(R,"_invoke",(function(k,T,O){var D,M,W,$=0,se=O||[],K=!1,ne={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(Se,Ce){return D=Se,M=0,W=t,ne.n=Ce,i}};function Q(ie,Se){for(M=ie,W=Se,e=0;!K&&$&&!Ce&&e<se.length;e++){var Ce,De=se[e],X=ne.p,ae=De[2];ie>3?(Ce=ae===Se)&&(W=De[(M=De[4])?5:(M=3,3)],De[4]=De[5]=t):De[0]<=X&&((Ce=ie<2&&X<De[1])?(M=0,ne.v=Se,ne.n=De[1]):X<ae&&(Ce=ie<3||De[0]>Se||Se>ae)&&(De[4]=ie,De[5]=Se,ne.n=ae,M=0))}if(Ce||ie>1)return i;throw K=!0,Se}return function(ie,Se,Ce){if($>1)throw TypeError("Generator is already running");for(K&&Se===1&&Q(Se,Ce),M=Se,W=Ce;(e=M<2?t:W)||!K;){D||(M?M<3?(M>1&&(ne.n=-1),Q(M,W)):ne.n=W:ne.v=W);try{if($=2,D){if(M||(ie="next"),e=D[ie]){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 '"+ie+"' method"),M=1);D=t}else if((e=(K=ne.n<0)?W:k.call(T,ne))!==i)break}catch(De){D=t,M=1,W=De}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]())):(Dt(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,Dt(S,o,"GeneratorFunction")),S.prototype=Object.create(h),S}return u.prototype=f,Dt(h,"constructor",f),Dt(f,"constructor",u),u.displayName="GeneratorFunction",Dt(f,o,"GeneratorFunction"),Dt(h),Dt(h,o,"Generator"),Dt(h,n,function(){return this}),Dt(h,"toString",function(){return"[object Generator]"}),(xt=function(){return{w:s,m}})()}function Dt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Dt=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){Dt(i,m,function(b){return this._invoke(m,S,b)})};d("next",0),d("throw",1),d("return",2)}},Dt(t,e,r,n)}function Aw(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 Xo(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function i(u){Aw(s,n,o,i,c,"next",u)}function c(u){Aw(s,n,o,i,c,"throw",u)}i(void 0)})}}var Tw=ww.readFile?(0,zx.promisify)(ww.readFile):Xo(xt().m(function t(){return xt().w(function(e){for(;;)switch(e.n){case 0:throw new mi("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),vw="https://oauth2.googleapis.com/token",Zx="https://oauth2.googleapis.com/revoke?token=",mi=(function(t){function e(r,n){var o;return Pw(this,e),o=Gx(this,e,[r]),Rt(o,"code",void 0),o.code=n,o}return Kx(e,t),Ow(e)})(Ch(Error)),gi=new WeakMap,br=new WeakSet,QL=Lc.GoogleToken=(function(){function t(e){Pw(this,t),Hx(this,br),Rt(this,"expiresAt",void 0),Rt(this,"key",void 0),Rt(this,"keyFile",void 0),Rt(this,"iss",void 0),Rt(this,"sub",void 0),Rt(this,"scope",void 0),Rt(this,"rawToken",void 0),Rt(this,"tokenExpires",void 0),Rt(this,"email",void 0),Rt(this,"additionalClaims",void 0),Rt(this,"eagerRefreshThresholdMillis",void 0),Rt(this,"transporter",{request:function(n){return(0,Lx.request)(n)}}),Wx(this,gi,void 0),nr(br,this,Iw).call(this,e)}return Ow(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(Gr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;nr(br,this,Rw).call(this,n).then(function(s){return o(null,s)},r);return}return nr(br,this,Rw).call(this,n)}},{key:"getCredentials",value:(function(){var e=Xo(xt().m(function n(o){var s,i,c,u,f,d,h;return xt().w(function(m){for(;;)switch(m.n){case 0:s=$x.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,Tw(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 mi("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,Tw(o,"utf8");case 5:return d=m.v,m.a(2,{privateKey:d});case 6:throw new mi("*.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 mi("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){nr(br,this,Dw).call(this).then(function(){return r()},r);return}return nr(br,this,Dw).call(this)}}])})();function Rw(t){return wh.apply(this,arguments)}function wh(){return wh=Xo(xt().m(function t(e){return xt().w(function(r){for(;;)switch(r.n){case 0:if(!(Sw(gi,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Sw(gi,this));case 1:return r.p=1,r.n=2,kw(gi,this,nr(br,this,eO).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,kw(gi,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),wh.apply(this,arguments)}function eO(t){return kh.apply(this,arguments)}function kh(){return kh=Xo(xt().m(function t(e){var r;return xt().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||nr(br,this,tO).call(this);case 4:return n.a(2,nr(br,this,rO).call(this))}},t,this)})),kh.apply(this,arguments)}function tO(){if(!this.iss)throw new mi("email is required.","MISSING_CREDENTIALS")}function Dw(){return Sh.apply(this,arguments)}function Sh(){return Sh=Xo(xt().m(function t(){var e;return xt().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=Zx+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:nr(br,this,Iw).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)})),Sh.apply(this,arguments)}function Iw(){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,Gr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function rO(){return Eh.apply(this,arguments)}function Eh(){return Eh=Xo(xt().m(function t(){var e,r,n,o,s,i,c,u,f,d;return xt().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:vw,exp:e+3600,iat:e,sub:this.sub},r),o=qx.sign({header:{alg:"RS256"},payload:n,secret:this.key}),h.p=1,h.n=2,this.transporter.request({method:"POST",url:vw,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]])})),Eh.apply(this,arguments)}});var vh=V(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.JWTAccess=void 0;var nO=bh(),oO=er(),Mw={alg:"RS256",typ:"JWT"},Th=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new oO.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?{...Mw,kid:this.keyId}:Mw,h=Object.assign(f,r),m=nO.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)}})})}};qc.JWTAccess=Th});var Dh=V(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.JWT=void 0;var Bw=Nw(),sO=vh(),iO=ro(),$c=vt(),Rh=class t extends iO.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!==$c.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==$c.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${$c.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 sO.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!==$c.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 Bw.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 Bw.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.")}};zc.JWT=Rh});var Oh=V(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.UserRefreshClient=Qo.USER_REFRESH_ACCOUNT_TYPE=void 0;var aO=ro(),cO=vt();Qo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var xh=class t extends aO.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 cO.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}};Qo.UserRefreshClient=xh});var Fh=V(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Impersonated=Zo.IMPERSONATED_ACCOUNT_TYPE=void 0;var jw=ro(),uO=st(),lO=er();Zo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Ph=class t extends jw.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 jw.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,lO.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 uO.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}};Zo.Impersonated=Ph});var Nh=V(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.OAuthClientAuthHandler=void 0;bi.getErrorFromOAuthErrorResponse=hO;var es=st(),dO=ui(),fO=["PUT","POST","PATCH"],Ih=class{#e=(0,dO.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new es.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new es.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=es.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=es.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=es.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);es.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!fO.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"]}}}};bi.OAuthClientAuthHandler=Ih;function hO(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 Wc=V(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.StsCredentials=void 0;var pO=st(),gO=vt(),Uw=Nh(),mO=er(),Mh=class t extends Uw.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,mO.removeUndefinedValuesInObject)(o))};gO.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 pO.GaxiosError&&i.response?(0,Uw.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};Hc.StsCredentials=Mh});var Sn=V(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.BaseExternalAccountClient=qt.CLOUD_RESOURCE_MANAGER=qt.EXTERNAL_ACCOUNT_TYPE=qt.EXPIRATION_TIME_OFFSET=void 0;var yO=st(),_O=te("stream"),Bh=vt(),bO=Wc(),Lw=er(),CO=Qf(),wO="urn:ietf:params:oauth:grant-type:token-exchange",kO="urn:ietf:params:oauth:token-type:access_token",jh="https://www.googleapis.com/auth/cloud-platform",SO=3600;qt.EXPIRATION_TIME_OFFSET=300*1e3;qt.EXTERNAL_ACCOUNT_TYPE="external_account";qt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var EO="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",AO="https://sts.{universeDomain}/v1/token",Uh=class t extends Bh.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,Lw.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==qt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${qt.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")??AO.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,Lw.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 bO.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[jh],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=c;let h=new RegExp(EO);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=SO),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}`};Bh.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=yO.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 _O.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:wO,audience:this.audience,requestedTokenType:kO,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[jh]: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"}};Bh.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||[jh]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${CO.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};qt.BaseExternalAccountClient=Uh});var qw=V(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.FileSubjectTokenSupplier=void 0;var qh=te("util"),$h=te("fs"),TO=(0,qh.promisify)($h.readFile??(()=>{})),vO=(0,qh.promisify)($h.realpath??(()=>{})),RO=(0,qh.promisify)($h.lstat??(()=>{})),Lh=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 vO(e),!(await RO(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 TO(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}};Gc.FileSubjectTokenSupplier=Lh});var $w=V(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UrlSubjectTokenSupplier=void 0;var DO=vt(),zh=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};DO.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}};Jc.UrlSubjectTokenSupplier=zh});var zw=V(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.CertificateSubjectTokenSupplier=Ot.InvalidConfigurationError=Ot.CertificateSourceUnavailableError=Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Vc=er(),Kc=te("fs"),Yc=te("crypto"),xO=te("https");Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var Cr=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Ot.CertificateSourceUnavailableError=Cr;var $t=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Ot.InvalidConfigurationError=$t;var Hh=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new $t("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new $t("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new $t("Cannot create mTLS Agent with missing certificate or key");return new xO.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,Vc.isValidFile)(e))return e;throw new Cr(`Provided certificate config path is invalid: ${e}`)}let r=process.env[Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,Vc.isValidFile)(r))return r;throw new Cr(`Path from environment variable "${Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,Vc.getWellKnownCertificateConfigFileLocation)();if(await(0,Vc.isValidFile)(n))return n;throw new Cr(`Could not find certificate configuration file. Searched override path, the "${Ot.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await Kc.promises.readFile(e,"utf8")}catch{throw new Cr(`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 $t(`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 $t?n:new $t(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await Kc.promises.readFile(e),new Yc.X509Certificate(n)}catch(s){let i=s instanceof Error?s.message:String(s);throw new Cr(`Failed to read certificate file at ${e}: ${i}`)}try{o=await Kc.promises.readFile(r),(0,Yc.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new Cr(`Failed to read private key file at ${r}: ${i}`)}return{cert:n,key:o}}async#n(e){let r=new Yc.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await Kc.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,f)=>{try{return new Yc.X509Certificate(u)}catch(d){let h=d instanceof Error?d.message:String(d);throw new $t(`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 $t(`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 $t)throw n;let o=n instanceof Error?n.message:String(n);throw new Cr(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Ot.CertificateSubjectTokenSupplier=Hh});var Jh=V(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.IdentityPoolClient=void 0;var OO=Sn(),Wh=er(),PO=qw(),FO=$w(),Hw=zw(),IO=Wc(),Ww=st(),Gh=class t extends OO.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,Wh.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,Wh.originalOrCamelOptions)(n),i=(0,Wh.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 PO.FileSubjectTokenSupplier({filePath:f,formatType:c,subjectTokenFieldName:u});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new FO.UrlSubjectTokenSupplier({url:d,formatType:c,subjectTokenFieldName:u,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let S=new Hw.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 Hw.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new IO.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Ww.Gaxios({agent:r})}),this.transporter=new Ww.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Xc.IdentityPoolClient=Gh});var Kh=V(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.AwsRequestSigner=void 0;var Qc=st(),Jw=ui(),Gw="AWS4-HMAC-SHA256",NO="aws4_request",Vh=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,Jw.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 BO({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=Qc.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:u.host},i||{});c.token&&Qc.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}};Zc.AwsRequestSigner=Vh;async function Ci(t,e,r){return await t.signWithHmacSha256(e,r)}async function MO(t,e,r,n,o){let s=await Ci(t,`AWS4${e}`,r),i=await Ci(t,s,n),c=await Ci(t,i,o);return await Ci(t,c,"aws4_request")}async function BO(t){let e=Qc.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=Qc.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
- ${c}
56
+ ${u}
57
57
  ${d}
58
- ${p}`,A=`${a}/${t.region}/${n}/${YT}`,g=`${E_}
58
+ ${h}`,S=`${i}/${t.region}/${n}/${NO}`,b=`${Gw}
59
59
  ${s}
60
- ${A}
61
- `+await t.crypto.sha256DigestHex(y),_=await XT(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),b=await ls(t.crypto,_,g),m=`${E_} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,k_.fromArrayBufferToHex)(b)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var S_=J(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.DefaultAwsSecurityCredentialsSupplier=void 0;var Da=Ct(),Df=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};Da.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 Da.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 Da.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 Da.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}};va.DefaultAwsSecurityCredentialsSupplier=Df});var Rf=J(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.AwsClient=void 0;var ZT=Tf(),eD=Qr(),tD=S_(),A_=Wt(),rD=et(),vf=class t extends eD.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,A_.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,A_.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 tD.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 ZT.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 rD.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}))}};Ra.AwsClient=vf});var If=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 xa="urn:ietf:params:oauth:token-type:saml2",xf="urn:ietf:params:oauth:token-type:id_token",Of="urn:ietf:params:oauth:token-type:jwt",Ff=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Oa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Fa("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!==xa&&this.tokenType!==xf&&this.tokenType!==Of)throw new Pa(`Executable response must contain a 'token_type' field when successful and it must be one of ${xf}, ${Of}, or ${xa}.`);if(this.tokenType===xa){if(!e.saml_response)throw new fs(`Executable response must contain a 'saml_response' field when token_type=${xa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new fs(`Executable response must contain a 'id_token' field when token_type=${xf} or ${Of}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Ia("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Na("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=Ff;var ur=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};ze.ExecutableResponseError=ur;var Oa=class extends ur{};ze.InvalidVersionFieldError=Oa;var Fa=class extends ur{};ze.InvalidSuccessFieldError=Fa;var Pf=class extends ur{};ze.InvalidExpirationTimeFieldError=Pf;var Pa=class extends ur{};ze.InvalidTokenTypeFieldError=Pa;var Ia=class extends ur{};ze.InvalidCodeFieldError=Ia;var Na=class extends ur{};ze.InvalidMessageFieldError=Na;var fs=class extends ur{};ze.InvalidSubjectTokenError=fs});var jf=J(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthHandler=mo.ExecutableError=void 0;var Sn=If(),nD=ee("child_process"),Nf=ee("fs"),Ba=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)}};mo.ExecutableError=Ba;var Bf=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=nD.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 Sn.ExecutableResponse(c);return r(f)}catch(c){return c instanceof Sn.ExecutableResponseError?n(c):n(new Sn.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Ba(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Nf.promises.realpath(this.outputFile)}catch{return}if(!(await Nf.promises.lstat(e)).isFile())return;let r=await Nf.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new Sn.ExecutableResponse(n).isValid()?new Sn.ExecutableResponse(n):void 0}catch(n){throw n instanceof Sn.ExecutableResponseError?n:new Sn.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}};mo.PluggableAuthHandler=Bf});var Uf=J(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.PluggableAuthClient=yo.ExecutableError=void 0;var oD=Qr(),sD=If(),T_=jf(),iD=jf();Object.defineProperty(yo,"ExecutableError",{enumerable:!0,get:function(){return iD.ExecutableError}});var aD=30*1e3,D_=5*1e3,v_=120*1e3,uD="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",R_=1,Mf=class extends oD.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=aD;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<D_||this.timeoutMillis>v_)throw new Error(`Timeout must be between ${D_} and ${v_} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new T_.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[uD]!=="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>R_)throw new Error(`Version of executable is not currently supported, maximum supported version is ${R_}.`);if(!e.success)throw new T_.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new sD.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}};yo.PluggableAuthClient=Mf});var qf=J(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.ExternalAccountClient=void 0;var cD=Qr(),lD=Sf(),fD=Rf(),dD=Uf(),Lf=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===cD.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new fD.AwsClient(e):e.credential_source?.executable?new dD.PluggableAuthClient(e):new lD.IdentityPoolClient(e):null}};ja.ExternalAccountClient=Lf});var P_=J(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ExternalAccountAuthorizedUserClient=_o.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var O_=Ct(),x_=df(),F_=et(),hD=ee("stream"),pD=Qr();_o.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var gD="https://sts.{universeDomain}/v1/oauthtoken",$f=class t extends x_.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})};O_.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 F_.GaxiosError&&o.response?(0,x_.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},zf=class extends O_.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 $f({tokenRefreshEndpoint:e.token_url??gD.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=pD.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=F_.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 hD.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}};_o.ExternalAccountAuthorizedUserClient=zf});var j_=J(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var mD=ee("child_process"),ds=ee("fs"),yD=et(),hs=Qo(),_D=ee("os"),Hf=ee("path"),bD=Zo(),CD=jl(),wD=Ul(),ED=Ll(),bo=sf(),I_=uf(),Co=lf(),kD=qf(),ps=Qr(),Wf=Ct(),N_=P_(),B_=Wt();Kt.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 MO(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,n),C=await Ci(t.crypto,y,b),_=`${Gw} Credential=${t.securityCredentials.accessKeyId}/${S}, SignedHeaders=${d}, Signature=${(0,Jw.fromArrayBufferToHex)(C)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var Vw=V(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.DefaultAwsSecurityCredentialsSupplier=void 0;var eu=vt(),Yh=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};eu.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 eu.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 eu.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 eu.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}};tu.DefaultAwsSecurityCredentialsSupplier=Yh});var Qh=V(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.AwsClient=void 0;var jO=Kh(),UO=Sn(),LO=Vw(),Kw=er(),qO=st(),Xh=class t extends UO.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,Kw.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,Kw.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 LO.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 jO.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 qO.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}))}};ru.AwsClient=Xh});var np=V(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.InvalidSubjectTokenError=Ke.InvalidMessageFieldError=Ke.InvalidCodeFieldError=Ke.InvalidTokenTypeFieldError=Ke.InvalidExpirationTimeFieldError=Ke.InvalidSuccessFieldError=Ke.InvalidVersionFieldError=Ke.ExecutableResponseError=Ke.ExecutableResponse=void 0;var nu="urn:ietf:params:oauth:token-type:saml2",Zh="urn:ietf:params:oauth:token-type:id_token",ep="urn:ietf:params:oauth:token-type:jwt",tp=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new ou("Executable response must contain a 'version' field.");if(e.success===void 0)throw new su("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!==nu&&this.tokenType!==Zh&&this.tokenType!==ep)throw new iu(`Executable response must contain a 'token_type' field when successful and it must be one of ${Zh}, ${ep}, or ${nu}.`);if(this.tokenType===nu){if(!e.saml_response)throw new wi(`Executable response must contain a 'saml_response' field when token_type=${nu}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new wi(`Executable response must contain a 'id_token' field when token_type=${Zh} or ${ep}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new au("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new cu("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)}};Ke.ExecutableResponse=tp;var wr=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Ke.ExecutableResponseError=wr;var ou=class extends wr{};Ke.InvalidVersionFieldError=ou;var su=class extends wr{};Ke.InvalidSuccessFieldError=su;var rp=class extends wr{};Ke.InvalidExpirationTimeFieldError=rp;var iu=class extends wr{};Ke.InvalidTokenTypeFieldError=iu;var au=class extends wr{};Ke.InvalidCodeFieldError=au;var cu=class extends wr{};Ke.InvalidMessageFieldError=cu;var wi=class extends wr{};Ke.InvalidSubjectTokenError=wi});var ip=V(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.PluggableAuthHandler=ts.ExecutableError=void 0;var no=np(),$O=te("child_process"),op=te("fs"),uu=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)}};ts.ExecutableError=uu;var sp=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=$O.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 no.ExecutableResponse(u);return r(f)}catch(u){return u instanceof no.ExecutableResponseError?n(u):n(new no.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new uu(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await op.promises.realpath(this.outputFile)}catch{return}if(!(await op.promises.lstat(e)).isFile())return;let r=await op.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new no.ExecutableResponse(n).isValid()?new no.ExecutableResponse(n):void 0}catch(n){throw n instanceof no.ExecutableResponseError?n:new no.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}};ts.PluggableAuthHandler=sp});var cp=V(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.PluggableAuthClient=rs.ExecutableError=void 0;var zO=Sn(),HO=np(),Yw=ip(),WO=ip();Object.defineProperty(rs,"ExecutableError",{enumerable:!0,get:function(){return WO.ExecutableError}});var GO=30*1e3,Xw=5*1e3,Qw=120*1e3,JO="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",Zw=1,ap=class extends zO.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=GO;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Xw||this.timeoutMillis>Qw)throw new Error(`Timeout must be between ${Xw} and ${Qw} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new Yw.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[JO]!=="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>Zw)throw new Error(`Version of executable is not currently supported, maximum supported version is ${Zw}.`);if(!e.success)throw new Yw.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new HO.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};rs.PluggableAuthClient=ap});var lp=V(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});lu.ExternalAccountClient=void 0;var VO=Sn(),KO=Jh(),YO=Qh(),XO=cp(),up=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===VO.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new YO.AwsClient(e):e.credential_source?.executable?new XO.PluggableAuthClient(e):new KO.IdentityPoolClient(e):null}};lu.ExternalAccountClient=up});var nk=V(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.ExternalAccountAuthorizedUserClient=ns.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var tk=vt(),ek=Nh(),rk=st(),QO=te("stream"),ZO=Sn();ns.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var e1="https://sts.{universeDomain}/v1/oauthtoken",dp=class t extends ek.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})};tk.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 rk.GaxiosError&&o.response?(0,ek.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},fp=class extends tk.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 dp({tokenRefreshEndpoint:e.token_url??e1.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=ZO.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=rk.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 QO.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}};ns.ExternalAccountAuthorizedUserClient=fp});var ak=V(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.GoogleAuth=or.GoogleAuthExceptionMessages=void 0;var t1=te("child_process"),ki=te("fs"),r1=st(),Si=ci(),n1=te("os"),hp=te("path"),o1=ui(),s1=ah(),i1=uh(),a1=lh(),os=Dh(),ok=Oh(),ss=Fh(),c1=lp(),Ei=Sn(),pp=vt(),sk=nk(),ik=er();or.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 Gf=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(Kt.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===Kt.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(Kt.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 hs.universe("universe-domain"),e||=Wf.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=Wf.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,B_.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Wf.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 bo.JWT?r.scopes=this.scopes:r instanceof ps.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof bo.JWT?r.scopes=this.scopes:r instanceof ps.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new CD.Compute(e));throw new Error(Kt.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=hs.getGCPResidency()||await hs.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=Hf.join(o,".config"))}return r&&(r=Hf.join(r,"gcloud","application_default_credentials.json"),ds.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=ds.realpathSync(e),!ds.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=ds.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!==Co.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Co.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 Co.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,B_.originalOrCamelOptions)(r).get("universe_domain");return e.type===I_.USER_REFRESH_ACCOUNT_TYPE?(n=new I_.UserRefreshClient(r),n.fromJSON(e)):e.type===Co.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===ps.EXTERNAL_ACCOUNT_TYPE?(n=kD.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===N_.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new N_.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new bo.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 bo.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 bo.JWT({...r,apiKey:e})}_isWindows(){let e=_D.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,mD.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!==ps.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await hs.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 Co.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ps.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([hs.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Kt.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=Hf.resolve(this.keyFilename),r=ds.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 wD.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=yD.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,ED.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 Co.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,bD.createCrypto)();if(n instanceof bo.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}};Kt.GoogleAuth=Gf});var M_=J(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.IAMAuth=void 0;var Jf=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}}};Ma.IAMAuth=Jf});var U_=J(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DownscopedClient=cr.EXPIRATION_TIME_OFFSET=cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var SD=et(),AD=ee("stream"),Vf=Ct(),TD=_a(),DD="urn:ietf:params:oauth:grant-type:token-exchange",vD="urn:ietf:params:oauth:token-type:access_token",RD="urn:ietf:params:oauth:token-type:access_token";cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;cr.EXPIRATION_TIME_OFFSET=300*1e3;var Kf=class extends Vf.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Vf.AuthClient?{}:e),e instanceof Vf.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>cr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${cr.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 TD.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=SD.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 AD.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:DD,requestedTokenType:vD,subjectToken:e,subjectTokenType:RD},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}};cr.DownscopedClient=Kf});var L_=J(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.PassThroughClient=void 0;var xD=Ct(),Yf=class extends xD.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ua.PassThroughClient=Yf});var La=J(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.GoogleAuth=oe.auth=oe.PassThroughClient=oe.ExecutableError=oe.PluggableAuthClient=oe.DownscopedClient=oe.BaseExternalAccountClient=oe.ExternalAccountClient=oe.IdentityPoolClient=oe.AwsRequestSigner=oe.AwsClient=oe.UserRefreshClient=oe.LoginTicket=oe.ClientAuthentication=oe.OAuth2Client=oe.CodeChallengeMethod=oe.Impersonated=oe.JWT=oe.JWTAccess=oe.IdTokenClient=oe.IAMAuth=oe.GCPEnv=oe.Compute=oe.DEFAULT_UNIVERSE=oe.AuthClient=oe.gaxios=oe.gcpMetadata=void 0;var q_=j_();Object.defineProperty(oe,"GoogleAuth",{enumerable:!0,get:function(){return q_.GoogleAuth}});oe.gcpMetadata=Qo();oe.gaxios=et();var $_=Ct();Object.defineProperty(oe,"AuthClient",{enumerable:!0,get:function(){return $_.AuthClient}});Object.defineProperty(oe,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return $_.DEFAULT_UNIVERSE}});var OD=jl();Object.defineProperty(oe,"Compute",{enumerable:!0,get:function(){return OD.Compute}});var FD=Ll();Object.defineProperty(oe,"GCPEnv",{enumerable:!0,get:function(){return FD.GCPEnv}});var PD=M_();Object.defineProperty(oe,"IAMAuth",{enumerable:!0,get:function(){return PD.IAMAuth}});var ID=Ul();Object.defineProperty(oe,"IdTokenClient",{enumerable:!0,get:function(){return ID.IdTokenClient}});var ND=nf();Object.defineProperty(oe,"JWTAccess",{enumerable:!0,get:function(){return ND.JWTAccess}});var BD=sf();Object.defineProperty(oe,"JWT",{enumerable:!0,get:function(){return BD.JWT}});var jD=lf();Object.defineProperty(oe,"Impersonated",{enumerable:!0,get:function(){return jD.Impersonated}});var Xf=kn();Object.defineProperty(oe,"CodeChallengeMethod",{enumerable:!0,get:function(){return Xf.CodeChallengeMethod}});Object.defineProperty(oe,"OAuth2Client",{enumerable:!0,get:function(){return Xf.OAuth2Client}});Object.defineProperty(oe,"ClientAuthentication",{enumerable:!0,get:function(){return Xf.ClientAuthentication}});var MD=Pl();Object.defineProperty(oe,"LoginTicket",{enumerable:!0,get:function(){return MD.LoginTicket}});var UD=uf();Object.defineProperty(oe,"UserRefreshClient",{enumerable:!0,get:function(){return UD.UserRefreshClient}});var LD=Rf();Object.defineProperty(oe,"AwsClient",{enumerable:!0,get:function(){return LD.AwsClient}});var qD=Tf();Object.defineProperty(oe,"AwsRequestSigner",{enumerable:!0,get:function(){return qD.AwsRequestSigner}});var $D=Sf();Object.defineProperty(oe,"IdentityPoolClient",{enumerable:!0,get:function(){return $D.IdentityPoolClient}});var zD=qf();Object.defineProperty(oe,"ExternalAccountClient",{enumerable:!0,get:function(){return zD.ExternalAccountClient}});var HD=Qr();Object.defineProperty(oe,"BaseExternalAccountClient",{enumerable:!0,get:function(){return HD.BaseExternalAccountClient}});var WD=U_();Object.defineProperty(oe,"DownscopedClient",{enumerable:!0,get:function(){return WD.DownscopedClient}});var z_=Uf();Object.defineProperty(oe,"PluggableAuthClient",{enumerable:!0,get:function(){return z_.PluggableAuthClient}});Object.defineProperty(oe,"ExecutableError",{enumerable:!0,get:function(){return z_.ExecutableError}});var GD=L_();Object.defineProperty(oe,"PassThroughClient",{enumerable:!0,get:function(){return GD.PassThroughClient}});var JD=new q_.GoogleAuth;oe.auth=JD});var Tb=J((Q2,jd)=>{"use strict";var Q1=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,Z1=/(\w*(\.\w*)*)\..*/;jd.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,Ab(n.stack)}};function Ab(t){let e=t.match(Q1);return e?e[1].split(/[/\\]/).slice(-1)[0].match(Z1)[1]:"anonymous"}jd.exports.extractPluginName=Ab});var vb=J((Z2,Db)=>{"use strict";Db.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var Rb=J((eU,$u)=>{"use strict";var eO=Tb(),tO=vb(),rO=0;function Md(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=eO(t)+"-auto-"+rO++),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=tO(e.name);return!r&&!t[n]&&(t[n]=t),t}$u.exports=Md;$u.exports.default=Md;$u.exports.fastifyPlugin=Md});var Ds,Ud=qe(()=>{"use strict";Ds=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}`:""),u+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(u+=this.colors.reset)),u}toMarkdown(e,r=0){let n=" ".repeat(r);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${n}-
67
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var gp=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(or.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===or.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(or.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 Si.universe("universe-domain"),e||=pp.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=pp.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,ik.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=pp.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 os.JWT?r.scopes=this.scopes:r instanceof Ei.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof os.JWT?r.scopes=this.scopes:r instanceof Ei.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new s1.Compute(e));throw new Error(or.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=Si.getGCPResidency()||await Si.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=hp.join(o,".config"))}return r&&(r=hp.join(r,"gcloud","application_default_credentials.json"),ki.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=ki.realpathSync(e),!ki.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=ki.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!==ss.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${ss.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 ss.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,ik.originalOrCamelOptions)(r).get("universe_domain");return e.type===ok.USER_REFRESH_ACCOUNT_TYPE?(n=new ok.UserRefreshClient(r),n.fromJSON(e)):e.type===ss.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===Ei.EXTERNAL_ACCOUNT_TYPE?(n=c1.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===sk.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new sk.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new os.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 os.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 os.JWT({...r,apiKey:e})}_isWindows(){let e=n1.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,t1.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!==Ei.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Si.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 ss.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ei.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([Si.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(or.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=hp.resolve(this.keyFilename),r=ki.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 i1.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=r1.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,a1.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 ss.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,o1.createCrypto)();if(n instanceof os.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}};or.GoogleAuth=gp});var ck=V(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});du.IAMAuth=void 0;var mp=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}}};du.IAMAuth=mp});var uk=V(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.DownscopedClient=kr.EXPIRATION_TIME_OFFSET=kr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var u1=st(),l1=te("stream"),yp=vt(),d1=Wc(),f1="urn:ietf:params:oauth:grant-type:token-exchange",h1="urn:ietf:params:oauth:token-type:access_token",p1="urn:ietf:params:oauth:token-type:access_token";kr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;kr.EXPIRATION_TIME_OFFSET=300*1e3;var _p=class extends yp.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof yp.AuthClient?{}:e),e instanceof yp.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>kr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${kr.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 d1.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=u1.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 l1.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:f1,requestedTokenType:h1,subjectToken:e,subjectTokenType:p1},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}};kr.DownscopedClient=_p});var lk=V(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.PassThroughClient=void 0;var g1=vt(),bp=class extends g1.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};fu.PassThroughClient=bp});var hu=V(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.GoogleAuth=le.auth=le.PassThroughClient=le.ExecutableError=le.PluggableAuthClient=le.DownscopedClient=le.BaseExternalAccountClient=le.ExternalAccountClient=le.IdentityPoolClient=le.AwsRequestSigner=le.AwsClient=le.UserRefreshClient=le.LoginTicket=le.ClientAuthentication=le.OAuth2Client=le.CodeChallengeMethod=le.Impersonated=le.JWT=le.JWTAccess=le.IdTokenClient=le.IAMAuth=le.GCPEnv=le.Compute=le.DEFAULT_UNIVERSE=le.AuthClient=le.gaxios=le.gcpMetadata=void 0;var dk=ak();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return dk.GoogleAuth}});le.gcpMetadata=ci();le.gaxios=st();var fk=vt();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return fk.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return fk.DEFAULT_UNIVERSE}});var m1=ah();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return m1.Compute}});var y1=lh();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return y1.GCPEnv}});var _1=ck();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return _1.IAMAuth}});var b1=uh();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return b1.IdTokenClient}});var C1=vh();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return C1.JWTAccess}});var w1=Dh();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return w1.JWT}});var k1=Fh();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return k1.Impersonated}});var Cp=ro();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Cp.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Cp.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Cp.ClientAuthentication}});var S1=nh();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return S1.LoginTicket}});var E1=Oh();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return E1.UserRefreshClient}});var A1=Qh();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return A1.AwsClient}});var T1=Kh();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return T1.AwsRequestSigner}});var v1=Jh();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return v1.IdentityPoolClient}});var R1=lp();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return R1.ExternalAccountClient}});var D1=Sn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return D1.BaseExternalAccountClient}});var x1=uk();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return x1.DownscopedClient}});var hk=cp();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return hk.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return hk.ExecutableError}});var O1=lk();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return O1.PassThroughClient}});var P1=new dk.GoogleAuth;le.auth=P1});var HE=V((cz,jg)=>{"use strict";var bB=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,CB=/(\w*(\.\w*)*)\..*/;jg.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,zE(n.stack)}};function zE(t){let e=t.match(bB);return e?e[1].split(/[/\\]/).slice(-1)[0].match(CB)[1]:"anonymous"}jg.exports.extractPluginName=zE});var GE=V((uz,WE)=>{"use strict";WE.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var JE=V((lz,kl)=>{"use strict";var wB=HE(),kB=GE(),SB=0;function Ug(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=wB(t)+"-auto-"+SB++),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=kB(e.name);return!r&&!t[n]&&(t[n]=t),t}kl.exports=Ug;kl.exports.default=Ug;kl.exports.fastifyPlugin=Ug});var Li,Lg=dn(()=>{"use strict";Li=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 vs,Ld=qe(()=>{"use strict";vs=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}`)}}}});import{writeFileSync as nO,existsSync as oO,mkdirSync as sO}from"fs";import{join as xb}from"path";import{tmpdir as iO}from"os";var Rs,qd=qe(()=>{"use strict";Rs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=iO();this.baseDir=xb(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{oO(this.baseDir)||sO(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 xb(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 nO(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var $d,vo,Ob=qe(()=>{"use strict";Ud();Ld();qd();$d=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 Ds(e.config);break;case"webhook":r=new vs(e.config);break;case"temp-file":r=new Rs(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)}},vo=new $d});import aO from"fastify";import uO from"@fastify/cors";var ip=Xt(Ac(),1);import{readFileSync as xw,existsSync as op}from"fs";import{join as sp}from"path";import{config as Ow}from"dotenv";var Ln=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:sp(process.cwd(),this.options.jsonPath);if(op(e))try{let r=xw(e,"utf-8"),n=ip.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:sp(process.cwd(),this.options.envPath);if(op(e))try{let r=Ow({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 Fw="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function Er(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(`"(${Fw})"\\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 Pw(t,e){return t.split(`
73
- `).map(r=>Er(r)).filter(Boolean).join(`
74
- `).slice(0,e)}function gn(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:Er(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"?Pw(e.stack,4e3):void 0,cause:n?Er(n):void 0}}function ap(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 Dc(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 cp(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(Tc(n)){s(`${ct} (already destroyed)`);return}n.on("close",()=>{!n.writableEnded&&Tc(n)&&s(`${ct} (response close)`)}),n.on("error",u=>{(u?.code==="EPIPE"||u?.code==="ECONNRESET"||u?.code==="ERR_STREAM_PREMATURE_CLOSE"||Xe(u))&&s(`${ct} (response error)`)})}};return{signal:r.signal,arm:a}}function Iw(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 Nw(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function vc(t,e){let r=Iw(e);return r!==void 0&&r>0?r:Nw(t)}function lp(t,e){if(!t)return;let r=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(r)?r:void 0}var up=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 fp(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 Lr(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 Xe(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(fp(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 Tc(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function dp(t){return Tc(t.raw)}function Rc(t){if(!t||Xe(t))return!1;if(fp(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&up.has(e.code)||e.cause?.code&&up.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 hp(t){let e=t;return!e||Xe(e)?!1:e.code==="provider_response_error"||e.code==="provider_network_error"||Rc(e)}function Qe(t,e=500,r="internal_error",n="api_error",o){let s=new Error(Er(t)||t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function pp(t,e,r){if(Xe(t)||r.raw.destroyed||r.sent)return e.log.debug(gn(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(gn(t),"request error");let n=t.statusCode||500,o={error:{message:Er(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)}import{Readable as zw}from"stream";import{ProxyAgent as Bw}from"undici";function jw(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function Mw(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function gp(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 Uw(t,e){let[r,n]=e.split("/"),o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=gp(t),a=gp(r);if(s===null||a===null)return!1;let u=o===0?0:-1<<32-o>>>0;return(s&u)===(a&u)}function Lw(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let r=jw(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=qw(a);if(u.startsWith(".")){if(r.endsWith(u)||r===u.slice(1))return!0;continue}if(u.includes("/")&&Mw(r)){if(Uw(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 qw(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 mp(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&&!Lw(f);d&&(c.dispatcher=new Bw(new URL(r.httpsProxy).toString())),o?.debug({reqId:n?.req?.id,method:c.method,headers:ap(s),requestUrl:f,useProxy:d},"final request");try{return await fetch(f,c)}catch(p){if(Xe(p))throw typeof p=="string"?Lr(p):p;if(r.signal?.aborted&&Xe(r.signal.reason??ct))throw Lr(r.signal.reason??p);if(Rc(p)){let y=Qe(p?.message||"Provider network error",502,"provider_network_error");throw y.cause=p,y}throw p}}var yp="1.0.56";async function Hw(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s),u=cp(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 _p(o,a,n,t.headers,{req:t,provider:a,signal:c}),y=await bp(f,d,a,r,p,n,{req:t,signal:c}),A=await Cp(f,y,a,n,p,{req:t,signal:c});return await wp(A,e,o,c)}catch(f){if(Xe(f))throw typeof f=="string"?Lr(f):f;if(c.aborted)throw Lr(c.reason??f);if(hp(f)){let d=await Ww(t,e,r,n,f,c);if(d)return d;if(c.aborted)throw Lr(c.reason??ct)}throw f}}async function Ww(t,e,r,n,o,s){let a=t.scenarioType||"default",u=r.configService.get("fallback"),c=lp(u,a);if(!c?.length||s?.aborted||Xe(o))return null;t.log.warn({scenarioType:a,fallbackCount:c.length,error:gn(o)},`Request failed for ${a}, trying ${c.length} fallback models`);let f=0,d=vc(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 Dc(d,s)}catch(p){if(Xe(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 _p(A,m,n,t.headers,{req:b,provider:m,signal:s}),T=await bp(v,k,m,r,w,n,{req:b,signal:s}),O=await Cp(v,T,m,n,w,{req:b,signal:s});return t.log.info(`Fallback model ${y} succeeded`),await wp(O,e,A,s)}catch(A){if(Xe(A))throw A;if(s?.aborted)throw Lr(s.reason??ct);if(t.log.warn({fallbackModel:y,error:gn(A)},`Fallback model ${y} failed`),p<c.length-1){let _=vc(f,A?.headers?.["Retry-After"]??A?.headers?.["retry-after"]);if(f+=1,_>0){t.log.info(`Waiting ${_}ms before next fallback attempt`);try{await Dc(_,s)}catch(b){if(Xe(b)||s?.aborted)return null;throw b}}}continue}}return t.log.error(`All fallback models failed for ${a}`),null}async function _p(t,e,r,n,o){let s=t,a={},u=!1;u=Gw(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 Gw(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 bp(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 mp(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=Er(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),_=Er(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 Cp(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 wp(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=zw.fromWeb(t.body),a=!1,u=()=>{if(!a){a=!0;try{s.destroyed||s.destroy()}catch{}}},c=()=>{n&&n.removeEventListener("abort",u)};return dp(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"||Xe(d))&&u()}),e.raw.on("close",()=>{e.raw.writableEnded||u()}),s.on("error",d=>{d?.code==="ERR_STREAM_PREMATURE_CLOSE"||d?.code==="ABORT_ERR"||Xe(d)||e.log?.error?.(gn(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 xc=async t=>{t.get("/",async()=>({message:"LLMs API",version:yp})),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)=>Hw(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||!Jw(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 Jw(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 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 Ep(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()}import{randomFillSync as Vw}from"crypto";var li=new Uint8Array(256),ci=li.length;function Oc(){return ci>li.length-16&&(Vw(li),ci=0),li.slice(ci,ci+=16)}import{randomUUID as Kw}from"crypto";var Fc={randomUUID:Kw};function Yw(t,e,r){if(Fc.randomUUID&&!e&&!t)return Fc.randomUUID();t=t||{};let n=t.random??t.rng?.()??Oc();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 Ep(n)}var Qt=Yw;var kp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var $n=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
- `)||JSON.stringify(d.content),tool_call_id:d.tool_use_id,cache_control:d.cache_control};n.push(p)});let f=u.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"?kp(d.source.data,d.source.media_type):d.source.url},media_type:d.source.media_type}:d)})}else if(u.role==="assistant"){let c={role:"assistant",content:""},f=u.content.filter(y=>y.type==="text"&&y.text);f.length&&(c.content=f.map(y=>y.text).join(`
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
- data: ${JSON.stringify(K)}
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 qi,qg=dn(()=>{"use strict";qi=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}`)}}}});import{writeFileSync as EB,existsSync as AB,mkdirSync as TB}from"fs";import{join as VE}from"path";import{tmpdir as vB}from"os";var $i,$g=dn(()=>{"use strict";$i=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=vB();this.baseDir=VE(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{AB(this.baseDir)||TB(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 VE(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 EB(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var zg,ys,KE=dn(()=>{"use strict";Lg();qg();$g();zg=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 Li(e.config);break;case"webhook":r=new qi(e.config);break;case"temp-file":r=new $i(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)}},ys=new zg});import RB from"fastify";import DB from"@fastify/cors";var e_=fn(Nd(),1);import{readFileSync as _A,existsSync as Qy}from"fs";import{join as Zy}from"path";import{config as bA}from"dotenv";var wo=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:Zy(process.cwd(),this.options.jsonPath);if(Qy(e))try{let r=_A(e,"utf-8"),n=e_.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:Zy(process.cwd(),this.options.envPath);if(Qy(e))try{let r=bA({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 CA="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function mt(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(`"(${CA})"\\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 wA(t,e){return t.split(`
73
+ `).map(r=>mt(r)).filter(Boolean).join(`
74
+ `).slice(0,e)}function Ln(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:mt(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"?wA(e.stack,4e3):void 0,cause:n?mt(n):void 0}}var kA=/^(?:authorization|x-api-key|api-key|cookie|set-cookie)$|token|secret|password|passwd/i;function SA(t){return kA.test(t)}function EA(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 Md(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=EA(o);if(s!=null){if(SA(n)){e[n]="[redacted]";continue}e[n]=s}}return e}function AA(t,e){let r=Md(t),n=Md(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 yt="client disconnected";function jd(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=yt)=>{r.signal.aborted||r.abort(c)},i=()=>{if(!o&&(o=!0,!!n)){if(Bd(n)){s(`${yt} (already destroyed)`);return}n.on("close",()=>{!n.writableEnded&&Bd(n)&&s(`${yt} (response close)`)}),n.on("error",c=>{(c?.code==="EPIPE"||c?.code==="ECONNRESET"||c?.code==="ERR_STREAM_PREMATURE_CLOSE"||Qe(c))&&s(`${yt} (response error)`)})}};return{signal:r.signal,arm:i}}function TA(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 vA(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function Ud(t,e){let r=TA(e);return r!==void 0&&r>0?r:vA(t)}function n_(t,e){if(!t)return;let r=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(r)?r:void 0}var t_=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 o_(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 pn(t=yt){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:yt;return Object.assign(new Error(e),{name:"AbortError",code:"ABORT_ERR",reason:t})}function Qe(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(yt)||/client.*(closed|disconnect)|socket hang up/i.test(t);let e=t;if(o_(e))return!1;let r=e.reason??e.cause;if(typeof r=="string"&&r.startsWith(yt)||typeof e.message=="string"&&e.message.startsWith(yt)||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 Bd(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function s_(t){return Bd(t.raw)}function qn(t){if(!t||Qe(t))return!1;if(o_(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&t_.has(e.code)||e.cause?.code&&t_.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 i_(t){let e=t;return!e||Qe(e)?!1:e.code==="provider_response_error"||e.code==="provider_network_error"||qn(e)}function ze(t,e=500,r="internal_error",n="api_error",o){let s=new Error(mt(t)||t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function a_(t,e,r){if(Qe(t)||r.raw.destroyed||r.sent)return e.log.debug(Ln(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(Ln(t),"request error");let n=t.statusCode||500,o={error:{message:mt(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)}import{Readable as qA}from"stream";import{ProxyAgent as RA}from"undici";function DA(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function xA(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function c_(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 OA(t,e){let[r,n]=e.split("/"),o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=c_(t),i=c_(r);if(s===null||i===null)return!1;let c=o===0?0:-1<<32-o>>>0;return(s&c)===(i&c)}function PA(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let r=DA(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=FA(i);if(c.startsWith(".")){if(r.endsWith(c)||r===c.slice(1))return!0;continue}if(c.includes("/")&&xA(r)){if(OA(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 FA(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 ko(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&&!PA(f)&&(u.dispatcher=new RA(new URL(r.httpsProxy).toString()));try{return await fetch(f,u)}catch(h){if(Qe(h))throw typeof h=="string"?pn(h):h;if(r.signal?.aborted&&Qe(r.signal.reason??yt))throw pn(r.signal.reason??h);if(qn(h)){let m=ze(h?.message||"Provider network error",502,"provider_network_error");throw m.cause=h,m}throw h}}var u_="1.0.58";import{createHash as NA}from"crypto";var Ld={type:"ephemeral"};function Ge(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 Je(t){return Array.isArray(t)?t.map(e=>{if(!e.cache_control)return e;let{cache_control:r,...n}=e;return n}):t}function l_(t){return`ccr_${NA("sha256").update(t).digest("hex").slice(0,48)}`}function MA(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 BA(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 Vt(t,e){let r=t?.req?.sessionId||MA(e?.metadata?.user_id);if(typeof r=="string"&&r)return l_(r);let n=(e.messages||[]).find(i=>i.role==="system"||i.role==="user"),o=n?BA(n.content):"",s=[e.model||"",o].join(`
76
+ `);return s.trim()?l_(s):void 0}function $n(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}:Ld}return n}function zn(t){let e=Ge(t.messages||[]),r=Je(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:Ld}];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:Ld},{...t,messages:e,...r?{tools:r}:{}}}}return{...t,messages:e,...r?{tools:r}:{}}}function wa(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 d_(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 f_(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function jA(t){for(let e=t.length-1;e>=0;e-=1)if(f_(t[e]))return e;return-1}function Hs(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=Vt(r,t);if(o&&(n.prompt_cache_key=o),d_(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=jA(i.content);u>=0&&s.push({messageIndex:c,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,f)=>{u?.cache_control&&f_(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=Ge(n.messages),n.tools=Je(n.tools),n}function ka(t,e){return d_(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function UA(t){return String(t?.name||"").trim().toLowerCase()}function LA(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function qd(t,e){let r={...t,messages:Ge(t.messages||[]),tools:Je(t.tools)},n=Vt(e,t);return n&&(r.prompt_cache_key=n),r}function Sa(t,e,r){let n=UA(e),o=LA(e);return n==="openai"||n==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?Hs(t,e,r):n==="qwen"||n==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?zn(t):n==="mistral"||n==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?qd(t,r):{...t,messages:Ge(t.messages||[]),tools:Je(t.tools)}}async function h_(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 $A(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 ze(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:f,config:d,bypass:h}=await p_(o,i,n,t.headers,{req:t,provider:i,signal:u}),m=await g_(f,d,i,r,h,n,{req:t,signal:u}),S=await m_(f,m,i,n,h,{req:t,signal:u});return await y_(S,e,o,u)}catch(f){if(Qe(f))throw typeof f=="string"?pn(f):f;if(u.aborted)throw pn(u.reason??f);if(i_(f)){let d=await zA(t,e,r,n,f,u);if(d)return d;if(u.aborted)throw pn(u.reason??yt)}throw f}}async function zA(t,e,r,n,o,s){let i=t.scenarioType||"default",c=r.configService.get("fallback"),u=n_(c,i);if(!u?.length||s?.aborted||Qe(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:Ln(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let f=0,d=Ud(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 jd(d,s)}catch(h){if(Qe(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 p_(S,_,n,t.headers,{req:C,provider:_,signal:s}),O=await g_(R,k,_,r,T,n,{req:C,signal:s}),D=await m_(R,O,_,n,T,{req:C,signal:s});return t.log.info(`Fallback model ${m} succeeded`),await y_(D,e,S,s)}catch(S){if(Qe(S))throw S;if(s?.aborted)throw pn(s.reason??yt);if(t.log.warn({fallbackModel:m,error:Ln(S)},`Fallback model ${m} failed`),h<u.length-1){let y=Ud(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 jd(y,s)}catch(C){if(Qe(C)||s?.aborted)return null;throw C}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function p_(t,e,r,n,o){let s=t,i={},c=!1;c=HA(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=Sa(s,e,o)),{requestBody:s,config:i,bypass:c}}function HA(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 g_(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 h_(S=>ko(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=mt(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=mt(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 ze(`Error from provider(${r.name},${t.model}: ${m.status}): ${b}`,m.status,"provider_response_error","api_error",y)}return m}async function m_(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 y_(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=qA.fromWeb(t.body),i=!1,c=()=>{if(!i){i=!0;try{s.destroyed||s.destroy()}catch{}}},u=()=>{n&&n.removeEventListener("abort",c)};return s_(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"||Qe(d))&&c()}),e.raw.on("close",()=>{e.raw.writableEnded||c()}),s.on("error",d=>{d?.code==="ERR_STREAM_PREMATURE_CLOSE"||d?.code==="ABORT_ERR"||Qe(d)||e.log?.error?.(Ln(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 ze("Streaming response body is not a readable stream",502,"provider_response_error")}else{let s=await t.json();return e.send(s)}}var $d=async t=>{t.get("/",async()=>({message:"LLMs API",version:u_})),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)=>$A(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 ze("Provider name is required",400,"invalid_request");if(!s||!WA(s))throw ze("Valid base URL is required",400,"invalid_request");if(!i?.trim())throw ze("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw ze("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw ze(`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 ze("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 ze("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 ze("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 ze("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function WA(t){try{return new URL(t),!0}catch{return!1}}var So=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 ot=[];for(let t=0;t<256;++t)ot.push((t+256).toString(16).slice(1));function __(t,e=0){return(ot[t[e+0]]+ot[t[e+1]]+ot[t[e+2]]+ot[t[e+3]]+"-"+ot[t[e+4]]+ot[t[e+5]]+"-"+ot[t[e+6]]+ot[t[e+7]]+"-"+ot[t[e+8]]+ot[t[e+9]]+"-"+ot[t[e+10]]+ot[t[e+11]]+ot[t[e+12]]+ot[t[e+13]]+ot[t[e+14]]+ot[t[e+15]]).toLowerCase()}import{randomFillSync as GA}from"crypto";var Aa=new Uint8Array(256),Ea=Aa.length;function zd(){return Ea>Aa.length-16&&(GA(Aa),Ea=0),Aa.slice(Ea,Ea+=16)}import{randomUUID as JA}from"crypto";var Hd={randomUUID:JA};function VA(t,e,r){if(Hd.randomUUID&&!e&&!t)return Hd.randomUUID();t=t||{};let n=t.random??t.rng?.()??zd();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 __(n)}var ur=VA;var b_=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var KA=/^[a-zA-Z0-9_-]+$/,YA=/[^a-zA-Z0-9_-]+/g;function XA(t){return t.length>0&&t.length<=256&&KA.test(t)}function Ur(t){if(typeof t!="string"||t.length===0)return;if(XA(t))return t;let e=t.replace(YA,"_").slice(0,256).replace(/_+$/,"");return e.length?e:void 0}var Wd=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function QA(t){if(typeof t!="string")return!1;let e=t.trim();return Wd.some(r=>e===r)}function ZA(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 eT(t){return!t||typeof t!="object"?!1:t.type==="image"?!!t.source:t.type!=="tool_result"&&t.type!=="text"}function tT(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:ZA(o.content),isError:o.is_error===!0});continue}if(o?.type==="text"&&typeof o.text=="string"){n&&QA(o.text)?e.interruption="synthetic_client_interrupt":o.text.trim()&&(e.steering="meaningful");continue}eT(o)&&(e.steering="meaningful")}return e}function rT(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 C_(t){return{source:"anthropic",sourceSessionIdentity:rT(t.metadata),turnIntent:tT(t.messages)}}function Ta(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 Eo=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:$n(e),config:{headers:o}}}async transformRequestOut(e,r){r&&(r.unifiedRequest=C_(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:Ur(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"?b_(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:Ur(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:Ur(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:Ur(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),$n(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 ie=new TextDecoder().decode(Q);this.logger.debug({reqId:r.req.id,data:ie,type:"send data"})}catch(ie){if(ie instanceof TypeError&&ie.message.includes("Controller is already closed"))k=!0;else throw this.logger.debug({reqId:r.req.id,error:ie instanceof Error?ie.message:String(ie),type:"send data error"}),ie}},se=()=>{if(!k)try{if(D>=0){let ie={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
80
+ data: ${JSON.stringify(ie)}
78
81
 
79
- `)),w=-1}if(u)T>0&&(u.usage.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
80
- data: ${JSON.stringify(u)}
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
- `)),u=null;else{let K={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};T>0&&(K.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
83
- data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:K})}
85
+ `)),f=null;else{let ie={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};M>0&&(ie.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:ie})}
84
87
 
85
- `))}let X={type:"message_stop"};N(s.encode(`event: message_stop
86
- data: ${JSON.stringify(X)}
88
+ `))}let Q={type:"message_stop"};$(c.encode(`event: message_stop
89
+ data: ${JSON.stringify(Q)}
87
90
 
88
- `)),o.close(),m=!0}catch(X){if(X instanceof TypeError&&X.message.includes("Controller is already closed"))m=!0;else throw X}},$=null;try{$=e.getReader();let X=new TextDecoder,K="";for(;!m;){let{done:ie,value:be}=await $.read();if(ie)break;K+=X.decode(be,{stream:!0});let ye=K.split(`
89
- `);K=ye.pop()||"";for(let fe of ye){if(m||p)break;if(!fe.startsWith("data:"))continue;let ge=fe.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:ge}),ge!=="[DONE]")try{let ae=JSON.parse(ge);if(g++,this.logger.debug({reqId:r.req.id,response:ae,tppe:"Original Response"}),ae.error){let Y={type:"error",message:{type:"api_error",message:JSON.stringify(ae.error)}};N(s.encode(`event: error
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
- `));continue}if(c=ae.model||c,!f&&!m&&!p){f=!0;let Y={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:c,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}};N(s.encode(`event: message_start
93
- data: ${JSON.stringify(Y)}
94
+ `)),D=-1);let ie=Q&&typeof Q=="object"?Q:{},Se=typeof ie.type=="string"?ie.type:"api_error",Ce=Q instanceof Error?Q.message:typeof ie.message=="string"?ie.message:String(Q||"Upstream stream failed");$(c.encode(`event: error
95
+ data: ${JSON.stringify({type:"error",error:{type:Se,message:Ce}})}
94
96
 
95
- `))}let V=ae.choices?.[0];if(ae.usage&&(u?u.usage={input_tokens:(ae.usage?.prompt_tokens||0)-(ae.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ae.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:ae.usage?.prompt_tokens_details?.cached_tokens||0}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(ae.usage?.prompt_tokens||0)-(ae.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ae.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:ae.usage?.prompt_tokens_details?.cached_tokens||0}}),!V)continue;if(V?.delta?.thinking&&!m&&!p){if(!v){let Y=O(),Z={type:"content_block_start",index:Y,content_block:{type:"thinking",thinking:""}};N(s.encode(`event: content_block_start
96
- data: ${JSON.stringify(Z)}
97
+ `)),i.close(),k=!0}catch(ie){try{i.error(ie)}catch(Se){this.logger?.error(Se)}}},ne=null;try{ne=e.getReader(),n=ne;let Q=new TextDecoder,ie="";for(;!k;){let{done:Se,value:Ce}=await ne.read();if(Se)break;ie+=Q.decode(Ce,{stream:!0});let De=ie.split(`
98
+ `);ie=De.pop()||"";for(let X of De){if(k||S)break;if(!X.startsWith("data:"))continue;let ae=X.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:ae}),ae!=="[DONE]")try{let re=JSON.parse(ae);if(C++,this.logger.debug({reqId:r.req.id,response:re,tppe:"Original Response"}),re.error){let be={type:"error",message:{type:"api_error",message:JSON.stringify(re.error)}};$(c.encode(`event: error
99
+ data: ${JSON.stringify(be)}
97
100
 
98
- `)),w=Y,v=!0}if(V.delta.thinking.signature){let Y={type:"content_block_delta",index:w,delta:{type:"signature_delta",signature:V.delta.thinking.signature}};N(s.encode(`event: content_block_delta
99
- data: ${JSON.stringify(Y)}
101
+ `));continue}if(d=re.model||d,!h&&!k&&!S){h=!0;let be={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(be)}
100
103
 
101
- `));let Z={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
102
- data: ${JSON.stringify(Z)}
104
+ `))}let ve=re.choices?.[0];if(re.usage&&(f?f.usage=Ta(re.usage):f={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:Ta(re.usage)}),!ve)continue;if(ve?.delta?.thinking&&!k&&!S){if(D>=0&&!T){let be={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
105
+ data: ${JSON.stringify(be)}
103
106
 
104
- `)),w=-1,v=!1}else if(V.delta.thinking.content){let Y={type:"content_block_delta",index:w,delta:{type:"thinking_delta",thinking:V.delta.thinking.content||""}};N(s.encode(`event: content_block_delta
105
- data: ${JSON.stringify(Y)}
107
+ `)),D=-1,m=!1}if(!T){let be=W(),z={type:"content_block_start",index:be,content_block:{type:"thinking",thinking:""}};$(c.encode(`event: content_block_start
108
+ data: ${JSON.stringify(z)}
106
109
 
107
- `))}}if(V?.delta?.content&&!m&&!p){if(_++,w>=0&&!d){let Z={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
108
- data: ${JSON.stringify(Z)}
110
+ `)),D=be,T=!0}if(ve.delta.thinking.signature){let be={type:"content_block_delta",index:D,delta:{type:"signature_delta",signature:ve.delta.thinking.signature}};$(c.encode(`event: content_block_delta
111
+ data: ${JSON.stringify(be)}
109
112
 
110
- `)),w=-1}if(!d&&!p){d=!0;let Y=O(),Z={type:"content_block_start",index:Y,content_block:{type:"text",text:""}};N(s.encode(`event: content_block_start
111
- data: ${JSON.stringify(Z)}
113
+ `));let z={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
114
+ data: ${JSON.stringify(z)}
112
115
 
113
- `)),w=Y}if(!m&&!p){let Y={type:"content_block_delta",index:w,delta:{type:"text_delta",text:V.delta.content}};N(s.encode(`event: content_block_delta
114
- data: ${JSON.stringify(Y)}
116
+ `)),D=-1,T=!1}else if(ve.delta.thinking.content){let be={type:"content_block_delta",index:D,delta:{type:"thinking_delta",thinking:ve.delta.thinking.content||""}};$(c.encode(`event: content_block_delta
117
+ data: ${JSON.stringify(be)}
115
118
 
116
- `))}}if(V?.delta?.annotations?.length&&!m&&!p){if(T+=V.delta.annotations.length,w>=0&&d){let Y={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
117
- data: ${JSON.stringify(Y)}
119
+ `))}}if(ve?.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
- `)),w=-1,d=!1}V?.delta?.annotations.forEach(Y=>{let Z=O(),Ae={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Qt()}`,content:[{type:"web_search_result",title:Y.url_citation.title,url:Y.url_citation.url}]}};N(s.encode(`event: content_block_start
120
- data: ${JSON.stringify(Ae)}
122
+ `)),D=-1,T=!1}if(!m&&!S){m=!0;let be=W(),z={type:"content_block_start",index:be,content_block:{type:"text",text:""}};$(c.encode(`event: content_block_start
123
+ data: ${JSON.stringify(z)}
121
124
 
122
- `));let Le={type:"content_block_stop",index:Z};N(s.encode(`event: content_block_stop
123
- data: ${JSON.stringify(Le)}
125
+ `)),D=be}if(!k&&!S){let be={type:"content_block_delta",index:D,delta:{type:"text_delta",text:ve.delta.content}};$(c.encode(`event: content_block_delta
126
+ data: ${JSON.stringify(be)}
124
127
 
125
- `)),w=-1})}if(V?.delta?.tool_calls&&!m&&!p){b++;let Y=new Set;for(let Z of V.delta.tool_calls){if(m)break;let Ae=Z.index??0;if(Y.has(Ae))continue;if(Y.add(Ae),!A.has(Ae)){if(w>=0){let je={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
126
- data: ${JSON.stringify(je)}
128
+ `))}}if(ve?.delta?.annotations?.length&&!k&&!S){if(M+=ve.delta.annotations.length,D>=0&&m){let be={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
129
+ data: ${JSON.stringify(be)}
127
130
 
128
- `)),w=-1}let W=O();A.set(Ae,W);let ce=Z.id||`call_${Date.now()}_${Ae}`,ne=Z.function?.name||`tool_${Ae}`,Se={type:"content_block_start",index:W,content_block:{type:"tool_use",id:ce,name:ne,input:{}}};N(s.encode(`event: content_block_start
129
- data: ${JSON.stringify(Se)}
131
+ `)),D=-1,m=!1}ve?.delta?.annotations.forEach(be=>{let z=W(),ye={type:"content_block_start",index:z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${ur()}`,content:[{type:"web_search_result",title:be.url_citation.title,url:be.url_citation.url}]}};$(c.encode(`event: content_block_start
132
+ data: ${JSON.stringify(ye)}
130
133
 
131
- `)),w=W;let Oe={id:ce,name:ne,arguments:"",contentBlockIndex:W};y.set(Ae,Oe)}else if(Z.id&&Z.function?.name){let W=y.get(Ae);W.id.startsWith("call_")&&W.name.startsWith("tool_")&&(W.id=Z.id,W.name=Z.function.name)}if(Z.function?.arguments&&!m&&!p){let W=A.get(Ae);if(W===void 0)continue;let ce=y.get(Ae);ce&&(ce.arguments+=Z.function.arguments);try{let ne={type:"content_block_delta",index:W,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};N(s.encode(`event: content_block_delta
132
- data: ${JSON.stringify(ne)}
134
+ `));let Ne={type:"content_block_stop",index:z};$(c.encode(`event: content_block_stop
135
+ data: ${JSON.stringify(Ne)}
133
136
 
134
- `))}catch{try{let ne=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),Se={type:"content_block_delta",index:W,delta:{type:"input_json_delta",partial_json:ne}};N(s.encode(`event: content_block_delta
135
- data: ${JSON.stringify(Se)}
137
+ `))})}if(ve?.delta?.tool_calls&&!k&&!S){R++;let be=new Set;for(let z of ve.delta.tool_calls){if(k)break;let ye=z.index??0;if(be.has(ye))continue;if(be.add(ye),!y.has(ye)){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
- `))}catch(ne){this.logger?.error(ne)}}}}}if(V?.finish_reason&&!m&&!p){if(_===0&&b===0&&this.logger?.warn("No content in the stream response!"),w>=0){let Y={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
138
- data: ${JSON.stringify(Y)}
140
+ `)),D=-1}m=!1,T=!1;let Y=W();y.set(ye,Y);let fe=Ur(z.id)||`call_${Date.now()}_${ye}`,oe=z.function?.name||`tool_${ye}`,w={type:"content_block_start",index:Y,content_block:{type:"tool_use",id:fe,name:oe,input:{}}};$(c.encode(`event: content_block_start
141
+ data: ${JSON.stringify(w)}
139
142
 
140
- `)),w=-1}m||(u={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[V.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(ae.usage?.prompt_tokens||0)-(ae.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ae.usage?.completion_tokens||0,cache_read_input_tokens:ae.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(ae){this.logger?.error(`parseError: ${ae.name} message: ${ae.message} stack: ${ae.stack} data: ${ge}`)}}}G()}catch(X){if(G(),!m)try{o.error(X)}catch(K){this.logger?.error(K)}}finally{if($)try{$.releaseLock()}catch(X){this.logger?.error(X)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}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.annotations){let a=`srvtoolu_${Qt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content: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(a=>{let u={};try{let c=a.function.arguments||"{}";typeof c=="object"?u=c:typeof c=="string"&&(u=JSON.parse(c))}catch{u={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:u})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":n.finish_reason==="model_context_window_exceeded"?"model_context_window_exceeded":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0,...n.message.annotations?.length?{server_tool_use:{web_search_requests:n.message.annotations.length}}:{}}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw Qe(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Xw=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 qr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>qr(n,e));let r={};for(let n in t){if(e!=="properties"&&!Xw.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 a in o)s[a]=qr(o[a]);r[n]=s}else n==="items"?r[n]=qr(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>qr(s,n)):r[n]=o}return r}function fi(t){return!t||typeof t!="object"?t:qr(t)}var $r=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
141
- `);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}
143
+ `)),D=Y;let A={id:fe,name:oe,arguments:"",contentBlockIndex:Y};b.set(ye,A)}else if(z.id&&z.function?.name){let Y=b.get(ye);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(ye);if(Y===void 0)continue;let fe=b.get(ye);fe&&(fe.arguments+=z.function.arguments);try{let oe={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(oe)}
145
+
146
+ `))}catch{try{let oe=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:oe}};$(c.encode(`event: content_block_delta
147
+ data: ${JSON.stringify(w)}
148
+
149
+ `))}catch(oe){this.logger?.error(oe)}}}}}if(ve?.finish_reason&&!k&&!S){if(_===0&&R===0&&this.logger?.warn("No content in the stream response!"),D>=0){let be={type:"content_block_stop",index:D};$(c.encode(`event: content_block_stop
150
+ data: ${JSON.stringify(be)}
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"}[ve.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:Ta(re.usage)}}break}}catch(re){this.logger?.error(`parseError: ${re.name} message: ${re.message} stack: ${re.stack} data: ${ae}`)}}}se()}catch(Q){K(Q)}finally{if(n===ne&&(n=null),ne)try{ne.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_${ur()}`;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:Ur(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:{...Ta(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 ze(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var nT=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 gn(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>gn(n,e));let r={};for(let n in t){if(e!=="properties"&&!nT.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]=gn(o[i]);r[n]=s}else n==="items"?r[n]=gn(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>gn(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 Ao(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(Ao);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]=Ao(S[y]);e[m]=b}else m==="items"?e[m]=Ao(S):["anyOf","allOf","oneOf"].includes(m)&&Array.isArray(S)?e[m]=S.map(Ao):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 va(t){return!t||typeof t!="object"?t:gn(t)}var Ws=["minimal","low","medium","high"];function oT(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function sT(t){let e=oT(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:Ws}:{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 iT(t,e){let r=t.toLowerCase(),n=Ws.filter(s=>e.includes(s));if(!n.length)return"high";if(r==="xhigh"||r==="max")return n[n.length-1];let o=Ws.indexOf(r);return o<0?n[n.length-1]:n.find(s=>Ws.indexOf(s)>=o)??n[n.length-1]}function aT(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function cT(t,e,r){return Math.min(Math.max(t,e),r)}function w_(t){let e=t.reasoning,r=t.thinking?.type==="disabled";if(!e||r)return;let n=sT(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=Ws.filter(d=>n.levels.includes(d));return s?{includeThoughts:!1,thinkingLevel:f[0]}:o?{includeThoughts:!0,thinkingLevel:iT(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?aT(o,n.max):void 0;if(typeof c!="number")return{includeThoughts:!0};let u=cT(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 mn=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 To=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 Sp=(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 a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};function $e(t,e,r){let n=new TextEncoder,o=!1,s=new ReadableStream({async start(a){if(!t.body){a.close();return}let u={controller:a,encoder:n};try{let c=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new $r).pipeThrough(new zn).getReader();for(;;){let{done:f,value:d}=await c.read();if(f)break;if(!d)continue;let p=d.split(`
148
- `);for(let y of p)if(y.trim())try{e(y,u)}catch(A){(r?.logger?.error??console.error)("Error processing line:",y,A),a.enqueue(n.encode(y+`
149
- `))}}}catch(c){(r?.logger?.error??console.error)("Stream error:",c),o=!0,a.error(c)}finally{try{r?.onComplete?.(u)}catch(c){(r?.logger?.error??console.error)("Stream completion error:",c),o||(o=!0,a.error(c))}o||a.close()}}});return new Response(s,{status:t.status,statusText:t.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function Ue(t,e){return e.encode(`data: ${t}
159
+ `,r.enqueue(n)}})}};var k_=(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 uT(t){if(Qe(t)||!qn(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 He(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 mn).pipeThrough(new To).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=uT(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 Be(t,e){return e.encode(`data: ${t}
150
162
 
151
- `)}function De(t,e){return e.encode(t+`
152
- `)}var di=Xt(jp(),1),hi=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){this._sigSent||(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:r?.finishReason?.toLowerCase()||null}});return}this.flushBufferedContent({chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:r?.finishReason?.toLowerCase()||null})}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}};function pi(t,e){return e[t]||t}function gi(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 mi(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],a=n[e];Array.isArray(s)&&Array.isArray(a)&&s.push(...a)}else r.push({...n})}return r}function Hn(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 yi(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mime_type:t.mediaType,data:t.url.split(",").pop()||t.url}}:{file_data:{mime_type:t.mediaType,file_uri: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 Uo(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof di.default=="function"?di.default:di.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 Mp(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 Wn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function gE(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(Wn).includes(n)?n:Wn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Wn).includes(o)?o:Wn.TYPE_UNSPECIFIED})}}}function Lo(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)&&gE(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let c=u.toUpperCase();e.type=Object.values(Wn).includes(c)?c:Wn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Lo(u);else if(n.includes(a)){let c=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}c.push(Lo(f))}e[a]=c}else if(o.includes(a)){let c={};for(let[f,d]of Object.entries(u))c[f]=Lo(d);e[a]=c}else{if(a==="additionalProperties")continue;e[a]=u}return e}function mE(t){if(t.functionDeclarations)for(let e of t.functionDeclarations){if(e.parameters){let r=qr(e.parameters);e.parameters=Lo(r)}if(e.response){let r=qr(e.response);e.response=Lo(r)}}return t}function _i(t){let e=[],r=t.tools||[],n=r.filter(g=>Hn(g).name!=="web_search").map(g=>{let{name:_,description:b,parameters:m}=Hn(g);return{name:Mp(_),description:b,parameters:m}});n?.length&&e.push(mE({functionDeclarations:n})),r.find(g=>Hn(g).name==="web_search")&&e.push({googleSearch:{}});let s=[],a=t.messages||[],u=[],c=g=>{if(typeof g=="string")g&&u.push(g);else if(Array.isArray(g))for(let _ of g)_?.type==="text"&&_.text?u.push(_.text):typeof _=="string"&&_&&u.push(_)};t.system&&c(t.system);for(let g of a)g.role==="system"&&c(g.content);let f=a.filter(g=>g.role==="tool");a.filter(g=>g.role!=="tool"&&g.role!=="system").forEach(g=>{let _=pi(g.role,{assistant:"model"}),b=[],m=g.thinking?.signature&&!g.thinking.signature.startsWith("ccr_")?g.thinking.signature:void 0;if(m&&_==="model"&&b.push({thought:!0,text:g.thinking?.content||"",thought_signature:m}),typeof g.content=="string"?b.push({text:g.content}):Array.isArray(g.content)?(g.content.forEach(k=>{k.type==="text"&&b.push({text:k.text||""})}),gi(g.content).forEach(k=>{b.push(yi(k,"gemini"))})):g.content&&typeof g.content=="object"&&(g.content.text?b.push({text:g.content.text}):b.push({text:JSON.stringify(g.content)})),Array.isArray(g.tool_calls)&&b.push(...g.tool_calls.map(v=>{let k=v.thought_signature||m;return{functionCall:{id:v.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:v.function.name,args:JSON.parse(v.function.arguments||"{}")},...k&&{thought_signature:k}}})),b.length===0&&b.push({text:""}),s.push({role:_,parts:b}),_==="model"&&g.tool_calls){let v=g.tool_calls.map(k=>{let T=f.find(O=>O.tool_call_id===k.id)?.content;return Array.isArray(T)?T=T.filter(O=>O.type==="text").map(O=>O.text).join(`
153
- `):typeof T=="object"&&T!==null&&(T=JSON.stringify(T)),{functionResponse:{name:k?.function?.name,response:{result:T}}}});s.push({role:"user",parts:v})}});let p=mi(s,"parts"),y={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(y.thinking_config={include_thoughts:!0},t.model.includes("gemini-3"))y.thinking_config.thinking_level=t.reasoning.effort;else{let g=t.model.includes("pro")?[128,32768]:[0,24576],_,b=t.reasoning.max_tokens;typeof b<"u"&&(b>=g[0]&&b<=g[1]?_=b:b<g[0]?_=g[0]:b>g[1]&&(_=g[1]),y.thinking_config.thinking_budget=_)}t.max_tokens&&(y.max_output_tokens=t.max_tokens),t.temperature!==void 0&&(y.temperature=t.temperature);let A={contents:p.length?p:[{role:"user",parts:[{text:""}]}],tools:e.length?e:void 0,generation_config:y};if(u.length&&(A.systemInstruction={parts:[{text:u.join(`
163
+ `)}function Oe(t,e){return e.encode(t+`
164
+ `)}var Ra=fn(N_(),1),vT={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"},Gd="\u26A0\uFE0F Upstream ended the turn without a reply";function Gs(t){return t?vT[t.toUpperCase()]||t.toLowerCase():null}function Jd(t){let e=t?.finishReason;if(!e||String(e).toUpperCase()==="STOP")return null;let r=String(t?.finishMessage||"").trim();return`${Gd} (${String(e).toUpperCase()})`+(r?`: ${r}`:"")}var Da=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:Gs(r?.finishReason)}});return}this.flushBufferedContent({chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:Gs(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 xa(t,e){return e[t]||t}function Oa(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 Pa(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 vo(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 Fa(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 Js(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof Ra.default=="function"?Ra.default:Ra.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 M_(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 Hn=new Map,B_=(t,e)=>`${t||"default"}${e}`;function j_(t,e,r){if(!e||!r)return;let n=B_(t,e);for(Hn.delete(n),Hn.set(n,{signature:r,expiresAt:Date.now()+216e5});Hn.size>4096;){let o=Hn.keys().next();if(o.done)break;Hn.delete(o.value)}}function U_(t,e){if(!e)return;let r=B_(t,e),n=Hn.get(r);if(n){if(n.expiresAt<=Date.now()){Hn.delete(r);return}return n.signature}}function RT(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var Ro={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function DT(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(Ro).includes(n)?n:Ro.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Ro).includes(o)?o:Ro.TYPE_UNSPECIFIED})}}}function Vs(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)&&DT(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(Ro).includes(u)?u:Ro.TYPE_UNSPECIFIED}else if(r.includes(i))e[i]=Vs(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(Vs(f))}e[i]=u}else if(o.includes(i)){let u={};for(let[f,d]of Object.entries(c))u[f]=Vs(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 xT(t,e){let r=n=>e?.collapseUnions?Ao(n):n;if(t.functionDeclarations)for(let n of t.functionDeclarations){if(!n.parameters)n.parameters={type:"OBJECT",properties:{}};else{let o=gn(n.parameters);n.parameters=r(Vs(o))}if(n.response){let o=gn(n.response);n.response=r(Vs(o))}}return t}var q_="skip_thought_signature_validator";function Ia(t,e){let r=[],n=t.tools||[],o=n.filter(_=>vo(_).name!=="web_search").map(_=>{let{name:R,description:k,parameters:T}=vo(_);return{name:M_(R),description:k,parameters:T??{type:"object",properties:{}}}});o?.length&&r.push(xT({functionDeclarations:o},{collapseUnions:RT(t.model)})),n.find(_=>vo(_).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=xa(_.role,{assistant:"model"}),k=[],T=_.thinking?.signature,O=T?.startsWith("ccr_")?void 0:T,D=W=>R==="model"&&(W==="(no content)"||W.startsWith(Gd));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 se=$.text||"";se&&!D(se)&&k.push({text:se})}}),Oa(_.content).forEach($=>{k.push(Fa($,"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 se=W.id||`tool_${Math.random().toString(36).substring(2,15)}`,K=W.thought_signature||U_(e?.signatureScope,se);return!K&&$===0&&(K=O||(m?q_:void 0)),{toolCall:W,id:se,signature:K}}):[];if(M.length>0&&k.push(...M.map(({toolCall:W,id:$,signature:se})=>({functionCall:{id:$,name:W.function.name,args:JSON.parse(W.function.arguments||"{}")},...se&&{thoughtSignature:se}}))),k.length===0&&k.push({text:""}),i.push({role:R,parts:k}),R==="model"&&M.length>0){let W=M.map(({toolCall:$,id:se})=>{let ne=d.find(Q=>Q.tool_call_id===$.id)?.content;return Array.isArray(ne)?ne=ne.filter(Q=>Q.type==="text").map(Q=>Q.text).join(`
165
+ `):typeof ne=="object"&&ne!==null&&(ne=JSON.stringify(ne)),{functionResponse:{id:se,name:$?.function?.name,response:{result:ne}}}});i.push({role:"user",parts:W})}});let S=Pa(i,"parts"),b={},y=w_(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 g={functionCallingConfig:{}};t.tool_choice==="auto"?g.functionCallingConfig.mode="auto":t.tool_choice==="none"?g.functionCallingConfig.mode="none":t.tool_choice==="required"?g.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(g.functionCallingConfig.mode="any",g.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),A.toolConfig=g}return A}function bi(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,c={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?c.messages.push({role:"user",content:f}):typeof f.text=="string"?c.messages.push({role:"user",content:f.text||null}):f.role==="user"?c.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&c.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(c.tools=[],r.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{c.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),c}async function Ci(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();if(r?.debug({response:n},`${e} response:`),t.status>=400){let y=(n.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(g=>y.includes(g))){let g={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(g),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers})}if(!n.candidates||n.candidates.length===0)return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers});let o="",s="",a=n.candidates[0]?.content?.parts||[],u=[];for(let p of a)p.text&&p.thought===!0?o+=Uo(p.text):u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature,o&&!s&&(s=`ccr_${+new Date}`);let c=u?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})},thought_signature:p.thoughtSignature||p.thought_signature}))||[],f=u?.filter(p=>p.text)?.map(p=>Uo(p.text))?.join(`
156
- `)||"",d={id:n.responseId,choices:[{finish_reason:n.candidates[0]?.finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:c.length>0?c:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(d),{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=0,o=-1,s=null,a=null,u=null,c=(g,_)=>{g.controller.enqueue(g.encoder.encode(`data: ${JSON.stringify(_)}
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 Na(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 L_(t,e){e.forEach(r=>{let n=r.thought_signature;!n||n===q_||n.startsWith("ccr_")||j_(t,r.id,n)})}async function Ma(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+=Js(_.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),L_(o,d);let h=f?.filter(_=>_.text)?.map(_=>Js(_.text||""))?.join(`
168
+ `)||"",m=s.candidates[0],S=h&&h!=="(no content)"?h:"",b=!S&&d.length===0?Jd(m):null,y=Gs(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
- `))},f=g=>({completion_tokens:g?.usageMetadata?.candidatesTokenCount||0,prompt_tokens:g?.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:g?.usageMetadata?.cachedContentTokenCount||0},total_tokens:g?.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:g?.usageMetadata?.thoughtsTokenCount||0}}),d=g=>g?.groundingMetadata?.groundingChunks?.map((_,b)=>{let m=g?.groundingMetadata?.groundingSupports?.filter(v=>v.groundingChunkIndices?.includes(b));return{type:"url_citation",url_citation:{url:_?.web?.uri||"",title:_?.web?.title||"",content:m?.[0]?.segment?.text||"",start_index:m?.[0]?.segment?.startIndex||0,end_index:m?.[0]?.segment?.endIndex||0}}})||[],p=(g,_,b)=>{let m=b?.mode||"direct";m==="direct"&&n++;let v={choices:[{delta:{role:"assistant",content:_},finish_reason:b?.finishReason??((m==="direct"||m==="finish")&&b?.candidate?.finishReason?.toLowerCase()||null),index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b?.chunk?.responseId||"",model:b?.chunk?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m==="direct"||m==="finish"){v.usage=f(b?.chunk);let k=d(b?.candidate);k.length>0&&(v.choices[0].delta.annotations=k)}c(g,v)},y=new hi({thinking:(g,_)=>{s&&c(s,{choices:[{delta:{role:"assistant",content:null,thinking:{content:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(g,_)=>{s&&c(s,{choices:[{delta:{role:"assistant",content:null,thinking:{signature:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(g,_)=>{s&&p(s,g,_)}});return $e(t,(g,_)=>{if(s=_,g.startsWith("data: ")){let b=g.slice(6).trim();if(b){r?.debug({chunkStr:b},`${e} chunk:`);try{let m=JSON.parse(b);if(!m.candidates||!m.candidates[0]){r?.debug({chunkStr:b},"Invalid chunk structure");return}let v=m.candidates[0];a=m,u=v;let k=v.content?.parts||[];k.filter(G=>G.text&&G.thought===!0).forEach(G=>{y.processThinking(Uo(G.text),m)});let w=k.find(G=>G.thoughtSignature)?.thoughtSignature;w&&y.processSignatureWithMeta(w,m,{beforeFlush:()=>{n++},flushMeta:{chunk:m,candidate:v,mode:"buffered"}});let T=k.filter(G=>G.functionCall).map(G=>({id:G.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:G.functionCall?.name,arguments:JSON.stringify(G.functionCall?.args||{})},thought_signature:G.thoughtSignature||G.thought_signature})),O=k.filter(G=>G.text&&G.thought!==!0).map(G=>Uo(G.text)).join(`
159
- `);!O&&y.needsContentPlaceholder&&y.emitContentPlaceholder("(no content)",{chunk:m,candidate:v});let N=!!O||T.length>0||!!v.finishReason;if(O&&m.modelVersion?.includes("3")&&y.shouldDeferContent(!!v.finishReason,T.length>0)){y.bufferContent(O);return}if(y.hasThinkingContent&&!y.signatureSent&&N){let G=y.hasBufferedContent;y.processSignatureWithMeta(`ccr_${+new Date}`,m,{beforeFlush:G?()=>{n++}:void 0,flushMeta:G?{chunk:m,candidate:v,mode:"buffered",finishReason:null}:void 0})}O&&y.processContent(O,m,v),T.length>0&&T.forEach(G=>{n++,o++;let $={choices:[{delta:{role:"assistant",tool_calls:[{...G,index:o}]},finish_reason:v.finishReason?.toLowerCase()||null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:m.responseId||"",model:m.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:f(m)},X=d(v);X.length>0&&($.choices[0].delta.annotations=X),c(_,$)}),v.finishReason&&(y.hasBufferedContent?y.finalize(m,v,{beforeFlush:()=>{y.signatureSent||n++}}):!O&&T.length===0&&(n++,p(_,"",{chunk:m,candidate:v,mode:"finish"})))}catch(m){r?.error(`Error parsing ${e} stream chunk`,b,m.message)}}}},{onComplete:g=>{s=g,(y.hasBufferedContent||y.hasThinkingContent&&!y.signatureSent)&&y.finalize(a||void 0,u||void 0,{beforeFlush:()=>{y.signatureSent||n++}})}})}}var wi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r,n){let o=n?.req?.model||e.model||r.model||"";return{body:_i(e),config:{url:new URL(`./${o}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=bi;async transformResponseOut(e){return Ci(e,this.name,this.logger)}};async function VD(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Xt(La(),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:
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"?Gs(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 Da({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 He(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(Js(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=>Js(K.text||"")).join(`
171
+ `),W=O.find(K=>K.thoughtSignature)?.thoughtSignature;W&&D.length>0&&!D[0].thought_signature&&(D[0].thought_signature=W),L_(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 se=i<0&&D.length===0&&!M?Jd(T):null;if(!M&&D.length===0&&i<0&&T.finishReason&&!se&&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,ne)=>{s++,i++;let Q=T.finishReason!=null&&ne===D.length-1?"tool_calls":null,ie={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)},Se=m(T);Se.length>0&&(ie.choices[0].delta.annotations=Se),d(_,ie)}),T.finishReason&&(b.hasBufferedContent?b.finalize(k,T,{beforeFlush:()=>{b.signatureSent||s++}}):!M&&D.length===0&&(s++,S(_,se||"",{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}import{createHash as OT}from"crypto";var PT=15e3,FT=256,Lr=new Map,Vd=new Map;function $_(t){return OT("sha256").update(JSON.stringify(t)).digest("hex").slice(0,48)}function IT(t){return t.toLowerCase().includes("gemini-2.5")?2048:4096}function NT(t){return Math.floor(JSON.stringify(t).length/4)}function MT(t){return Object.fromEntries(["systemInstruction","tools","toolConfig"].filter(e=>t[e]!==void 0).map(e=>[e,t[e]]))}function z_(t,e){let r={...t,cachedContent:e};return delete r.systemInstruction,delete r.tools,delete r.toolConfig,r}function Ba(t,e){let r=Date.now();for(let[n,o]of Lr)o.expiresAt<=r&&Lr.delete(n);for(Lr.delete(t),Lr.set(t,e);Lr.size>FT;){let n=Lr.keys().next().value;if(n===void 0)break;Lr.delete(n)}}async function ja(t){let{body:e,modelResource:r,createUrl:n,headers:o}=t,s=MT(e);if(Object.keys(s).length===0||NT(s)<IT(r))return e;let i=$_(o),c=[String(n),i,r,$_(s)].join(":"),u=Date.now(),f=Lr.get(c);if(f&&f.expiresAt>u)return f.name?z_(e,f.name):e;f&&Lr.delete(c);let d=3600,h={model:r,...s,ttl:`${d}s`},m=Vd.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(PT)});if(!b.ok){t.logger?.debug?.({status:b.status},"Gemini cached-content create failed; using implicit cache"),Ba(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"),Ba(c,{expiresAt:Date.now()+300*1e3});return}return Ba(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"),Ba(c,{expiresAt:Date.now()+300*1e3});return}finally{Vd.delete(c)}})(),Vd.set(c,m));let S=await m;return S?z_(e,S):e}var Ua=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=Ia(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:r?.name||this.name});return{body:this.cachedContent?await ja({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 Na(e)}async transformResponseOut(e,r){return Ma(e,this.name,this.logger,r?.provider?.name||this.name)}};async function F1(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>fn(hu(),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 qa=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 VD(this.logger);return{body:_i(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 bi(e)}async transformResponseOut(e){return Ci(e,this.name)}};function $a(){return{content:"",isComplete:!1,hasContent:!1}}function za(t,e){t.content+=e,t.hasContent=!0}function Ha(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Zr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function wo(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 en(t){delete t.reasoning_content,delete t.reasoning}import{createHash as KD}from"node:crypto";var H_=360*60*1e3,YD=4096,Qf="__ccrDeepseekReasoning",Zf=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>H_){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>H_&&this.cache.delete(e);for(;this.cache.size>YD;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Wa=new Zf;function ed(t){return Array.isArray(t)?t.map(ed):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=ed(t[r]),e),{}):t}function An(t){return JSON.stringify(ed(t))}function Ga(t){return KD("sha256").update(t).digest("hex")}function G_(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||""):An(e)).join(""):An(t)}function td(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:An(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function J_(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function V_(t){let e=td(t);return Ga(An({...e,id:void 0}))}function K_(t){return Ga(An({content:G_(t.content),tool_calls:(t.tool_calls||[]).map(e=>td(e))}))}function XD(t){let e={role:t.role,content:G_(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=>td(r))),e}function W_(t,e){let r=t.filter(n=>n.role!=="system").map(n=>XD(n));return Ga(An({namespace:e,messages:r}))}function QD(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 Y_(t,e){if(t.role!=="assistant")return 0;let r=QD(t);if(!r)return 0;let n=[`scope:${e}:signature:${K_(t)}`];return n.push(...J_(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${V_(o)}`)),n.forEach(o=>Wa.put(o,r)),n.length}function ZD(t,e){let r=Wa.get(`scope:${e}:signature:${K_(t)}`);if(r)return r;for(let n of J_(t)){let o=Wa.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=Wa.get(`scope:${e}:tool_call_signature:${V_(n)}`);if(o)return o}}function ev(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 tv(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 rv(t,e){return Ga(An({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function Ja(t,e,r){if(!tv(t,e))return r?.req&&delete r.req[Qf],{restoredFromCache:0,restoredFromThinking:0};let n=rv(t,e),o=[],s=0,a=0;for(let u of t.messages){if(u.role==="assistant"){let c=W_(o,n);if(ev(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=ZD(u,c);y&&(u.reasoning_content=y,s++)}}Y_(u,c)}o.push(u)}return r?.req&&(r.req[Qf]={enabled:!0,namespace:n,requestScope:W_(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:a}}function X_(t){return t?.req?.[Qf]}function Va(t){return X_(t)?.enabled===!0}function Eo(t,e){if(!t)return 0;let r=X_(e);return r?Y_(t,r.requestScope):0}function Ka(){return{content:"",reasoning:"",toolCalls:new Map}}function ko(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 Ya(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 Xa=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),Ja(e,r,n),e}async transformResponseOut(e,r){let n=Va(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return n&&Eo({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=$a(),s=n?Ka():null;return $e(e,(a,u)=>{if(!a.trim()){u.controller.enqueue(De(a,u.encoder));return}if(!a.startsWith("data:")||a.trim()==="data: [DONE]"){u.controller.enqueue(De(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(De(a,u.encoder));return}let p=wo(d);if(p){s&&ko(s,d),za(o,p);let y=Zr(f,{content:p});en(y.choices[0].delta),u.controller.enqueue(Ue(JSON.stringify(y),u.encoder));return}if(s&&ko(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:y,signature:A}=Ha(o),g=Zr(f,{content:y,signature:A});en(g.choices[0].delta),g.choices[0].delta.content=null,u.controller.enqueue(Ue(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(Ue(JSON.stringify(f),u.encoder)))}catch{u.controller.enqueue(De(a,u.encoder))}},{onComplete:()=>{s&&Eo(Ya(s),r)}})}return e}};var Qa=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 pu=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 F1(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 ja({body:Ia(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 Na(e)}async transformResponseOut(e,r){return Ma(e,this.name,this.logger,r?.provider?.name||this.name)}};function gu(){return{content:"",isComplete:!1,hasContent:!1}}function mu(t,e){t.content+=e,t.hasContent=!0}function yu(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function En(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function is(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 An(t){delete t.reasoning_content,delete t.reasoning}import{createHash as I1}from"node:crypto";var pk=360*60*1e3,N1=4096,wp="__ccrDeepseekReasoning",kp=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>pk){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>pk&&this.cache.delete(e);for(;this.cache.size>N1;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},_u=new kp;function Sp(t){return Array.isArray(t)?t.map(Sp):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=Sp(t[r]),e),{}):t}function oo(t){return JSON.stringify(Sp(t))}function bu(t){return I1("sha256").update(t).digest("hex")}function mk(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||""):oo(e)).join(""):oo(t)}function Ep(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:oo(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function yk(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function _k(t){let e=Ep(t);return bu(oo({...e,id:void 0}))}function bk(t){return bu(oo({content:mk(t.content),tool_calls:(t.tool_calls||[]).map(e=>Ep(e))}))}function M1(t){let e={role:t.role,content:mk(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=>Ep(r))),e}function gk(t,e){let r=t.filter(n=>n.role!=="system").map(n=>M1(n));return bu(oo({namespace:e,messages:r}))}function B1(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 Ck(t,e){if(t.role!=="assistant")return 0;let r=B1(t);if(!r)return 0;let n=[`scope:${e}:signature:${bk(t)}`];return n.push(...yk(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${_k(o)}`)),n.forEach(o=>_u.put(o,r)),n.length}function j1(t,e){let r=_u.get(`scope:${e}:signature:${bk(t)}`);if(r)return r;for(let n of yk(t)){let o=_u.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=_u.get(`scope:${e}:tool_call_signature:${_k(n)}`);if(o)return o}}function U1(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 L1(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 q1(t,e){return bu(oo({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function Cu(t,e,r){if(!L1(t,e))return r?.req&&delete r.req[wp],{restoredFromCache:0,restoredFromThinking:0};let n=q1(t,e),o=[],s=0,i=0;for(let c of t.messages){if(c.role==="assistant"){let u=gk(o,n);if(U1(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=j1(c,u);m&&(c.reasoning_content=m,s++)}}Ck(c,u)}o.push(c)}return r?.req&&(r.req[wp]={enabled:!0,namespace:n,requestScope:gk(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:i}}function wk(t){return t?.req?.[wp]}function wu(t){return wk(t)?.enabled===!0}function as(t,e){if(!t)return 0;let r=wk(e);return r?Ck(t,r.requestScope):0}function ku(){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 Su(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 kk(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 Eu=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=Ge(e.messages),e.tools=Je(e.tools),Cu(e,r,n),e}async transformResponseOut(e,r){let n=wu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return kk(o),n&&as({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=gu(),s=n?ku():null;return He(e,(i,c)=>{if(!i.trim()){c.controller.enqueue(Oe(i,c.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){c.controller.enqueue(Oe(i,c.encoder));return}try{let u=i.slice(5).trim(),f=JSON.parse(u);kk(f);let d=f.choices?.[0]?.delta;if(!d){c.controller.enqueue(Be(JSON.stringify(f),c.encoder));return}let h=is(d);if(h){s&&cs(s,d),mu(o,h);let m=En(f,{content:h});An(m.choices[0].delta),c.controller.enqueue(Be(JSON.stringify(m),c.encoder));return}if(s&&cs(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:m,signature:S}=yu(o),b=En(f,{content:m,signature:S});An(b.choices[0].delta),b.choices[0].delta.content=null,c.controller.enqueue(Be(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(Be(JSON.stringify(f),c.encoder)))}catch{c.controller.enqueue(Oe(i,c.encoder))}},{onComplete:()=>{s&&as(Su(s),r)}})}return e}};var Au=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 $e(e,(u,c)=>{let{controller:f,encoder:d}=c;if(u.startsWith("data: ")&&u.trim()!=="data: [DONE]")try{let p=JSON.parse(u.slice(6));if(p.choices[0]?.delta?.tool_calls?.length){let y=p.choices[0].delta.tool_calls[0];if(y.function?.name==="ExitTool"){o=y.index;return}else if(o>-1&&y.index===o&&y.function.arguments){s+=y.function.arguments;try{let A=JSON.parse(s);p.choices=[{delta:{role:"assistant",content:A.response||""}}];let g=`data: ${JSON.stringify(p)}
167
-
168
- `;f.enqueue(d.encode(g))}catch{}return}}if(p.choices?.[0]?.delta&&Object.keys(p.choices[0].delta).length>0){let y=`data: ${JSON.stringify(p)}
169
-
170
- `;f.enqueue(d.encode(y))}}catch{f.enqueue(d.encode(u+`
171
- `))}else f.enqueue(d.encode(u+`
172
- `))})}return e}};function Za(t){let e={...t};return"cache_control"in e&&delete e.cache_control,e}function eu(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,r})}var tu=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):(e.messages=eu(e.messages),e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`${n.image_url.url}`),delete n.media_type)})})),Object.assign(e,this.options||{}),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=$a(),n=!1,o=!1;return $e(e,(s,a)=>{if(!s.trim()){a.controller.enqueue(De(s,a.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){a.controller.enqueue(De(s,a.encoder));return}try{let u=s.slice(6),c=JSON.parse(u);c.usage&&(this.logger?.debug({usage:c.usage,hasToolCall:o},"usage"),c.choices[0].finish_reason=o?"tool_calls":"stop"),c.choices?.[0]?.finish_reason==="error"&&a.controller.enqueue(Ue(JSON.stringify({error:c.choices?.[0]?.error}),a.encoder)),c.choices?.[0]?.delta?.content&&!n&&(n=!0);let f=c.choices?.[0]?.delta,d=f?wo(f):null;if(d){za(r,d);let p=Zr(c,{content:d});en(p.choices[0].delta),a.controller.enqueue(Ue(JSON.stringify(p),a.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:p,signature:y}=Ha(r),A=Zr(c,{content:p,signature:y});en(A.choices[0].delta),A.choices[0].delta.content=null,a.controller.enqueue(Ue(JSON.stringify(A),a.encoder))}f?.reasoning&&delete f.reasoning,f?.tool_calls?.length&&!Number.isNaN(parseInt(f.tool_calls[0].id,10))&&f.tool_calls.forEach(p=>{p.id=`call_${Qt()}`}),f?.tool_calls?.length&&!o&&(o=!0),f?.tool_calls?.length&&n&&(typeof c.choices[0].index=="number"?c.choices[0].index+=1:c.choices[0].index=1),a.controller.enqueue(Ue(JSON.stringify(c),a.encoder))}catch{a.controller.enqueue(De(s,a.encoder))}})}return e}};var ru=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 nu=class{name="groq";async transformRequestIn(e){return e.messages=eu(e.messages),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=fi(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 $e(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(De(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(De(n,o.encoder));return}try{let s=n.slice(5).trim(),a=JSON.parse(s);if(a.error)throw new Error(JSON.stringify(a));a.choices?.[0]?.delta?.content&&!r&&(r=!0),a.choices?.[0]?.delta?.tool_calls?.length&&a.choices[0].delta.tool_calls.forEach(u=>{u.id=`call_${Qt()}`}),a.choices?.[0]?.delta?.tool_calls?.length&&r&&(typeof a.choices[0].index=="number"?a.choices[0].index+=1:a.choices[0].index=1),o.controller.enqueue(Ue(JSON.stringify(a),o.encoder))}catch{o.controller.enqueue(De(n,o.encoder))}})}return e}};var ou=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}),e}};var s0=Xt(Ac());var vr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function Q_(t){return/^[0-9A-Fa-f]$/.test(t)}function rn(t){return t>="0"&&t<="9"}function Z_(t){return t>=" "}function gs(t){return`,:[]/{}()
173
- +`.includes(t)}function rd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function nd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var od=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,sd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function id(t){return`,[]/{}
174
- +`.includes(t)}function ad(t){return ms(t)||nv.test(t)}var nv=/^[[{\w-]$/;function e0(t){return t===`
175
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function tn(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function t0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function r0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function ms(t){return ud(t)||su(t)}function ud(t){return t==='"'||t==="\u201C"||t==="\u201D"}function cd(t){return t==='"'}function su(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function ld(t){return t==="'"}function So(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 Nt(t,e){let r=t.length;if(!tn(t,r-1))return t+e;for(;tn(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function n0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function o0(t){return/[,\n][ \t\r]*$/.test(t)}var ov={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},sv={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
176
- `,r:"\r",t:" "};function fd(t){let e=0,r="";f(["```","[```","{```"]),s()||ye(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),ad(t[e])&&o0(r)?(o||(r=Nt(r,",")),m()):o&&(r=So(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;be();function s(){a();let V=_()||b()||v()||w()||T()||N(!1)||G();return a(),V}function a(){let V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Y=e,Z=u(V);do Z=c(),Z&&(Z=u(V));while(Z);return e>Y}function u(V){let Y=V?tn:t0,Z="";for(;;)if(Y(t,e))Z+=t[e],e++;else if(r0(t,e))Z+=" ",e++;else break;return Z.length>0?(r+=Z,!0):!1}function c(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!iv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
177
- `;)e++;return!0}return!1}function f(V){if(d(V)){if(rd(t[e]))for(;e<t.length&&nd(t[e]);)e++;return a(),!0}return!1}function d(V){u(!0);for(let Y of V){let Z=e+Y.length;if(t.slice(e,Z)===Y)return e=Z,!0}return!1}function p(V){return t[e]===V?(r+=t[e],e++,!0):!1}function y(V){return t[e]===V?(e++,!0):!1}function A(){return y("\\")}function g(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),y(","),!0):!1}function _(){if(t[e]==="{"){r+="{",e++,a(),y(",")&&a();let V=!0;for(;e<t.length&&t[e]!=="}";){let Y;if(V?(Y=!0,V=!1):(Y=p(","),Y||(r=Nt(r,",")),a()),g(),!(v()||N(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=So(r,","):fe();break}a();let Ae=p(":"),Le=e>=t.length;Ae||(ad(t[e])||Le?r=Nt(r,":"):ge()),s()||(Ae||Le?r+="null":ge())}return t[e]==="}"?(r+="}",e++):r=Nt(r,"}"),!0}return!1}function b(){if(t[e]==="["){r+="[",e++,a(),y(",")&&a();let V=!0;for(;e<t.length&&t[e]!=="]";)if(V?V=!1:p(",")||(r=Nt(r,",")),g(),!s()){r=So(r,",");break}return t[e]==="]"?(r+="]",e++):r=Nt(r,"]"),!0}return!1}function m(){let V=!0,Y=!0;for(;Y;)V?V=!1:p(",")||(r=Nt(r,",")),Y=s();Y||(r=So(r,",")),r=`[
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 He(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 Tu=class{constructor(e){this.options=e}static TransformerName="openrouter";logger;async transformRequestIn(e,r,n){let o=Vt(n,e),s=(e.model||"").toLowerCase();return s.includes("anthropic/")||s.includes("claude")?e=$n(e):s.startsWith("openai/")||s.startsWith("gpt-")?e=Hs(e,r,n):s.includes("qwen")||s.includes("alibaba")?e=zn(e):s.includes("gemini")?e=zn(e):e={...e,messages:Ge(e.messages),tools:Je(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=gu(),n=!1,o=!1;return He(e,(s,i)=>{if(!s.trim()){i.controller.enqueue(Oe(s,i.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){i.controller.enqueue(Oe(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(Be(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?is(f):null;if(d){mu(r,d);let h=En(u,{content:d});An(h.choices[0].delta),i.controller.enqueue(Be(JSON.stringify(h),i.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:h,signature:m}=yu(r),S=En(u,{content:h,signature:m});An(S.choices[0].delta),S.choices[0].delta.content=null,i.controller.enqueue(Be(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_${ur()}`}),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(Be(JSON.stringify(u),i.encoder))}catch{i.controller.enqueue(Oe(s,i.encoder))}})}return e}};var vu=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 Ru=class{name="groq";async transformRequestIn(e){return e.messages=Ge(e.messages),e.tools=Je(e.tools),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=va(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 He(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Oe(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(Oe(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_${ur()}`}),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(Be(JSON.stringify(i),o.encoder))}catch{o.controller.enqueue(Oe(n,o.encoder))}})}return e}};var Du=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 xk=fn(Nd());var Jr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function Sk(t){return/^[0-9A-Fa-f]$/.test(t)}function vn(t){return t>="0"&&t<="9"}function Ek(t){return t>=" "}function Ai(t){return`,:[]/{}()
185
+ +`.includes(t)}function Ap(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Tp(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var vp=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Rp=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Dp(t){return`,[]/{}
186
+ +`.includes(t)}function xp(t){return Ti(t)||$1.test(t)}var $1=/^[[{\w-]$/;function Ak(t){return t===`
187
+ `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Tn(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function Tk(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function vk(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function Ti(t){return Op(t)||xu(t)}function Op(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Pp(t){return t==='"'}function xu(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Fp(t){return t==="'"}function us(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 zt(t,e){let r=t.length;if(!Tn(t,r-1))return t+e;for(;Tn(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function Rk(t,e,r){return t.substring(0,e)+t.substring(e+r)}function Dk(t){return/[,\n][ \t\r]*$/.test(t)}var z1={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},H1={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
188
+ `,r:"\r",t:" "};function Ip(t){let e=0,r="";f(["```","[```","{```"]),s()||ie(),f(["```","```]","```}"]);let o=h(",");for(o&&i(),xp(t[e])&&Dk(r)?(o||(r=zt(r,",")),_()):o&&(r=us(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,ae=e,re=c(X);do re=u(),re&&(re=c(X));while(re);return e>ae}function c(X){let ae=X?Tn:Tk,re="";for(;;)if(ae(t,e))re+=t[e],e++;else if(vk(t,e))re+=" ",e++;else break;return re.length>0?(r+=re,!0):!1}function u(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!W1(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(Ap(t[e]))for(;e<t.length&&Tp(t[e]);)e++;return i(),!0}return!1}function d(X){c(!0);for(let ae of X){let re=e+ae.length;if(t.slice(e,re)===ae)return e=re,!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 ae;if(X?(ae=!0,X=!1):(ae=h(","),ae||(r=zt(r,",")),i()),b(),!(R()||M(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=us(r,","):Se();break}i();let ve=h(":"),be=e>=t.length;ve||(xp(t[e])||be?r=zt(r,":"):Ce()),s()||(ve||be?r+="null":Ce())}return t[e]==="}"?(r+="}",e++):r=zt(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=zt(r,",")),b(),!s()){r=us(r,",");break}return t[e]==="]"?(r+="]",e++):r=zt(r,"]"),!0}return!1}function _(){let X=!0,ae=!0;for(;ae;)X?X=!1:h(",")||(r=zt(r,",")),ae=s();ae||(r=us(r,",")),r=`[
178
190
  ${r}
179
- ]`}function v(){let V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,Z=t[e]==="\\";if(Z&&(e++,Z=!0),ms(t[e])){let Ae=cd(t[e])?cd:ld(t[e])?ld:su(t[e])?su:ud,Le=e,W=r.length,ce='"';for(e++;;){if(e>=t.length){let ne=$(e-1);return!V&&gs(t.charAt(ne))?(e=Le,r=r.substring(0,W),v(!0)):(ce=Nt(ce,'"'),r+=ce,!0)}if(e===Y)return ce=Nt(ce,'"'),r+=ce,!0;if(Ae(t[e])){let ne=e,Se=ce.length;if(ce+='"',e++,r+=ce,a(!1),V||e>=t.length||gs(t[e])||ms(t[e])||rn(t[e]))return k(),!0;let Oe=$(ne-1),je=t.charAt(Oe);if(je===",")return e=Le,r=r.substring(0,W),v(!1,Oe);if(gs(je))return e=Le,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=ne+1,ce=`${ce.substring(0,Se)}\\${ce.substring(Se)}`}else if(V&&id(t[e])){if(t[e-1]===":"&&od.test(t.substring(Le+1,e+2)))for(;e<t.length&&sd.test(t[e]);)ce+=t[e],e++;return ce=Nt(ce,'"'),r+=ce,k(),!0}else if(t[e]==="\\"){let ne=t.charAt(e+1);if(sv[ne]!==void 0)ce+=t.slice(e,e+2),e+=2;else if(ne==="u"){let Oe=2;for(;Oe<6&&Q_(t[e+Oe]);)Oe++;Oe===6?(ce+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:ae()}else ce+=ne,e+=2}else{let ne=t.charAt(e);ne==='"'&&t[e-1]!=="\\"?(ce+=`\\${ne}`,e++):e0(ne)?(ce+=ov[ne],e++):(Z_(ne)||ie(ne),ce+=ne,e++)}Z&&A()}}return!1}function k(){let V=!1;for(a();t[e]==="+";){V=!0,e++,a(),r=So(r,'"',!0);let Y=r.length;v()?r=n0(r,Y,1):r=Nt(r,'"')}return V}function w(){let V=e;if(t[e]==="-"){if(e++,X())return K(V),!0;if(!rn(t[e]))return e=V,!1}for(;rn(t[e]);)e++;if(t[e]==="."){if(e++,X())return K(V),!0;if(!rn(t[e]))return e=V,!1;for(;rn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,X())return K(V),!0;if(!rn(t[e]))return e=V,!1;for(;rn(t[e]);)e++}if(!X())return e=V,!1;if(e>V){let Y=t.slice(V,e),Z=/^0\d/.test(Y);return r+=Z?`"${Y}"`:Y,!0}return!1}function T(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(V,Y){return t.slice(e,e+V.length)===V?(r+=Y,e+=V.length,!0):!1}function N(V){let Y=e;if(rd(t[e])){for(;e<t.length&&nd(t[e]);)e++;let Z=e;for(;tn(t,Z);)Z++;if(t[Z]==="(")return e=Z+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!id(t[e])&&!ms(t[e])&&(!V||t[e]!==":");)e++;if(t[e-1]===":"&&od.test(t.substring(Y,e+2)))for(;e<t.length&&sd.test(t[e]);)e++;if(e>Y){for(;tn(t,e-1)&&e>0;)e--;let Z=t.slice(Y,e);return r+=Z==="undefined"?"null":JSON.stringify(Z),t[e]==='"'&&e++,!0}}function G(){if(t[e]==="/"){let V=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(V,e)}"`,!0}}function $(V){let Y=V;for(;Y>0&&tn(t,Y);)Y--;return Y}function X(){return e>=t.length||gs(t[e])||tn(t,e)}function K(V){r+=`${t.slice(V,e)}0`}function ie(V){throw new vr(`Invalid character ${JSON.stringify(V)}`,e)}function be(){throw new vr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ye(){throw new vr("Unexpected end of json string",t.length)}function fe(){throw new vr("Object key expected",e)}function ge(){throw new vr("Colon expected",e)}function ae(){let V=t.slice(e,e+6);throw new vr(`Invalid unicode character "${V}"`,e)}}function iv(t,e){return t[e]==="*"&&t[e+1]==="/"}function dd(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=s0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=fd(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 iu=class{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=dd(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,a="",u=!1,c=!1,f="",d=new ReadableStream({async start(p){let y=e.body.getReader(),A=(b,m,v)=>{let k=b.split(`
180
- `);for(let w of k)w.trim()&&m.enqueue(v.encode(w+`
181
- `))},g=(b,m,v)=>{let k="";try{k=dd(o.arguments||"",this.logger)}catch(N){this.logger?.error(`${N.message} ${N.stack} Tool call argument parsing failed: ${JSON.stringify(o)}`),k=o.arguments||""}let w={role:"assistant",tool_calls:[{function:{name:o.name,arguments:k},id:o.id,index:o.index,type:"function"}]},T={...b,choices:[{...b.choices[0],delta:w}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let O=`data: ${JSON.stringify(T)}
191
+ ]`}function R(){let X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,re=t[e]==="\\";if(re&&(e++,re=!0),Ti(t[e])){let ve=Pp(t[e])?Pp:Fp(t[e])?Fp:xu(t[e])?xu:Op,be=e,z=r.length,ye='"';for(e++;;){if(e>=t.length){let Ne=$(e-1);return!X&&Ai(t.charAt(Ne))?(e=be,r=r.substring(0,z),R(!0)):(ye=zt(ye,'"'),r+=ye,!0)}if(e===ae)return ye=zt(ye,'"'),r+=ye,!0;if(ve(t[e])){let Ne=e,Y=ye.length;if(ye+='"',e++,r+=ye,i(!1),X||e>=t.length||Ai(t[e])||Ti(t[e])||vn(t[e]))return k(),!0;let fe=$(Ne-1),oe=t.charAt(fe);if(oe===",")return e=be,r=r.substring(0,z),R(!1,fe);if(Ai(oe))return e=be,r=r.substring(0,z),R(!0);r=r.substring(0,z),e=Ne+1,ye=`${ye.substring(0,Y)}\\${ye.substring(Y)}`}else if(X&&Dp(t[e])){if(t[e-1]===":"&&vp.test(t.substring(be+1,e+2)))for(;e<t.length&&Rp.test(t[e]);)ye+=t[e],e++;return ye=zt(ye,'"'),r+=ye,k(),!0}else if(t[e]==="\\"){let Ne=t.charAt(e+1);if(H1[Ne]!==void 0)ye+=t.slice(e,e+2),e+=2;else if(Ne==="u"){let fe=2;for(;fe<6&&Sk(t[e+fe]);)fe++;fe===6?(ye+=t.slice(e,e+6),e+=6):e+fe>=t.length?e=t.length:De()}else ye+=Ne,e+=2}else{let Ne=t.charAt(e);Ne==='"'&&t[e-1]!=="\\"?(ye+=`\\${Ne}`,e++):Ak(Ne)?(ye+=z1[Ne],e++):(Ek(Ne)||ne(Ne),ye+=Ne,e++)}re&&S()}}return!1}function k(){let X=!1;for(i();t[e]==="+";){X=!0,e++,i(),r=us(r,'"',!0);let ae=r.length;R()?r=Rk(r,ae,1):r=zt(r,'"')}return X}function T(){let X=e;if(t[e]==="-"){if(e++,se())return K(X),!0;if(!vn(t[e]))return e=X,!1}for(;vn(t[e]);)e++;if(t[e]==="."){if(e++,se())return K(X),!0;if(!vn(t[e]))return e=X,!1;for(;vn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,se())return K(X),!0;if(!vn(t[e]))return e=X,!1;for(;vn(t[e]);)e++}if(!se())return e=X,!1;if(e>X){let ae=t.slice(X,e),re=/^0\d/.test(ae);return r+=re?`"${ae}"`:ae,!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,ae){return t.slice(e,e+X.length)===X?(r+=ae,e+=X.length,!0):!1}function M(X){let ae=e;if(Ap(t[e])){for(;e<t.length&&Tp(t[e]);)e++;let re=e;for(;Tn(t,re);)re++;if(t[re]==="(")return e=re+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Dp(t[e])&&!Ti(t[e])&&(!X||t[e]!==":");)e++;if(t[e-1]===":"&&vp.test(t.substring(ae,e+2)))for(;e<t.length&&Rp.test(t[e]);)e++;if(e>ae){for(;Tn(t,e-1)&&e>0;)e--;let re=t.slice(ae,e);return r+=re==="undefined"?"null":JSON.stringify(re),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 ae=X;for(;ae>0&&Tn(t,ae);)ae--;return ae}function se(){return e>=t.length||Ai(t[e])||Tn(t,e)}function K(X){r+=`${t.slice(X,e)}0`}function ne(X){throw new Jr(`Invalid character ${JSON.stringify(X)}`,e)}function Q(){throw new Jr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ie(){throw new Jr("Unexpected end of json string",t.length)}function Se(){throw new Jr("Object key expected",e)}function Ce(){throw new Jr("Colon expected",e)}function De(){let X=t.slice(e,e+6);throw new Jr(`Invalid unicode character "${X}"`,e)}}function W1(t,e){return t[e]==="*"&&t[e+1]==="/"}function Np(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=xk.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=Ip(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 Ou=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=Np(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=Np(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
- `;m.enqueue(v.encode(O))},_=(b,m)=>{let{controller:v,encoder:k}=m;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let w=b.slice(6);try{let T=JSON.parse(w);if(T.choices?.[0]?.delta?.tool_calls?.length){let N=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""},N.function?.arguments&&(N.function.arguments="");let G=`data: ${JSON.stringify(T)}
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
- `;v.enqueue(k.encode(G));return}else if(o.index===N.index){N.function?.arguments&&(o.arguments+=N.function.arguments);return}else{g(T,v,k),o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){g(T,v,k),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let O=`data: ${JSON.stringify(T)}
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
- `;v.enqueue(k.encode(O))}catch{v.enqueue(k.encode(b+`
188
- `))}}else v.enqueue(k.encode(b+`
189
- `))};try{for(;;){let{done:b,value:m}=await y.read();if(b){f.trim()&&A(f,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(w){this.logger?.warn("Failed to decode chunk",w);continue}if(v.length===0)continue;if(f+=v,f.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let w=f.split(`
190
- `);f=w.pop()||"";for(let T of w)if(T.trim())try{_(T,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>u,setReasoningComplete:O=>u=O})}catch(O){this.logger?.error("Error processing line:",T,O),p.enqueue(n.encode(T+`
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 w of k)if(w.trim())try{_(w,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){this.logger?.error("Error processing line:",w,T),p.enqueue(n.encode(w+`
193
- `))}}}catch(b){this.logger?.error("Stream error:",b),p.error(b)}finally{try{y.releaseLock()}catch(b){this.logger?.error("Error releasing reader lock:",b)}p.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 au=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),Ja(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=Va(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&&Eo({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="",a=!1,u=n?Ka():null;return $e(e,(f,d)=>{let{controller:p,encoder:y}=d;if(f.startsWith("data: ")&&f.trim()!=="data: [DONE]")try{let A=JSON.parse(f.slice(6)),g=A.choices?.[0]?.delta;if(!g){p.enqueue(y.encode(f+`
194
- `));return}if(g.reasoning_content){s+=typeof g.reasoning_content=="string"?g.reasoning_content:JSON.stringify(g.reasoning_content),u&&ko(u,g);let _={...A,choices:[{...A.choices[0],delta:{...g,thinking:{content:g.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(_)}
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 Pu=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),Cu(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=wu(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&&as({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?ku():null;return He(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
- `;p.enqueue(y.encode(b));return}if(u&&ko(u,g),(g.content||g.tool_calls)&&s&&!a){a=!0;let _=Date.now().toString(),b={...A,choices:[{...A.choices[0],delta:{...A.choices[0].delta,content:null,thinking:{content:s,signature:_}}}]};delete b.choices[0].delta.reasoning_content;let m=`data: ${JSON.stringify(b)}
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
- `;p.enqueue(y.encode(m))}if(g.reasoning_content&&delete A.choices[0].delta.reasoning_content,A.choices?.[0]?.delta&&Object.keys(A.choices[0].delta).length>0){a&&A.choices[0].index++;let _=`data: ${JSON.stringify(A)}
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
- `;p.enqueue(y.encode(_))}}catch{p.enqueue(y.encode(f+`
201
- `))}else p.enqueue(y.encode(f+`
202
- `))},{onComplete:()=>{u&&Eo(Ya(u),r)}})}return e}};var uu=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 cu=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function i0(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],a=pi(s.role,{assistant:"assistant"}),u=[];if(s.role==="tool"){let c=s.content;Array.isArray(c)?c=c.filter(f=>f.type==="text").map(f=>f.text).join(`
203
- `):typeof c=="object"&&c!==null&&(c=JSON.stringify(c)),u.push({type:"tool_result",tool_use_id:s.tool_call_id,content:c})}else typeof s.content=="string"?u.push({type:"text",text:s.content}):Array.isArray(s.content)&&(s.content.forEach(f=>{f.type==="text"&&u.push({type:"text",text:f.text||""})}),gi(s.content).forEach(f=>{u.push(yi(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(c=>{u.push({type:"tool_use",id:c.id,name:c.function.name,input:JSON.parse(c.function.arguments||"{}")})});u.length>0&&e.push({role:a,content:u})}let n={anthropic_version:"vertex-2023-10-16",messages:mi(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=Hn(o);return{name:s.name,description:s.description,input_schema:s.parameters}})),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})),n}function a0(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.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 lu(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(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.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:{completion_tokens:n.usage?.output_tokens??0,prompt_tokens:n.usage?.input_tokens??0,total_tokens:(n.usage?.input_tokens??0)+(n.usage?.output_tokens??0)}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream"))return t.body?$e(t,(o,s)=>{let{controller:a,encoder:u}=s;if(o.startsWith("data: ")){let c=o.slice(6).trim();if(c){r?.debug({chunkStr:c},`${e} chunk:`);try{let f=JSON.parse(c);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let d={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
212
+ `;h.enqueue(m.encode(y))}}catch{h.enqueue(m.encode(f+`
213
+ `))}else h.enqueue(m.encode(f+`
214
+ `))},{onComplete:()=>{c&&as(Su(c),r)}})}return e}};var Fu=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 Iu=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function Mp(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 Ok(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],i=xa(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}:{}})}),Oa(s.content).forEach(f=>{c.push(Fa(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:Pa(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=vo(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})),$n(n)}function Pk(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 Nu(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:Mp(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 He(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:Mp(n)};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
204
216
 
205
- `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let d={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
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(f.type==="content_block_delta"&&f.delta?.type==="thinking_delta"){let d={choices:[{delta:{thinking:{content:f.delta.thinking||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
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(f.type==="content_block_delta"&&f.delta?.type==="signature_delta"){let d={choices:[{delta:{thinking:{signature:f.delta.signature||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
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(f.type==="content_block_start"&&f.content_block?.type==="tool_use"){let d={choices:[{delta:{tool_calls:[{index:f.index||0,id:f.content_block.id,type:"function",function:{name:f.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
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(f.type==="message_delta"){let d={choices:[{delta:{},finish_reason:f.delta?.stop_reason==="tool_use"?"tool_calls":f.delta?.stop_reason==="max_tokens"?"length":f.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
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(f.type==="message_stop")a.enqueue(u.encode(`data: [DONE]
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:Mp({...n,...d.usage})};c.enqueue(u.encode(`data: ${JSON.stringify(h)}
216
228
 
217
- `));else{let d={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
229
+ `))}else if(d.type==="message_stop")c.enqueue(u.encode(`data: [DONE]
218
230
 
219
- `))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,c,f.message)}}}}):t;return t}async function av(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Xt(La(),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:
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 G1(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>fn(hu(),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 fu=class{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 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 av(this.logger);return{body:i0(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 a0(e)}async transformResponseOut(e){return lu(e,this.name,this.logger)}};var u0=Xt(La(),1),du=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,`
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 u0.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,config:{headers:{Authorization:`Bearer ${n}`}}}}};var hu=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var pu=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var gu=class{name="OpenAI";endPoint="/v1/chat/completions"};var mu=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 yu=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),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="",a=!1,u=!1,c="",f=new ReadableStream({async start(d){let p=e.body.getReader(),y=(g,_,b)=>{let m=g.split(`
224
- `);for(let v of m)v.trim()&&_.enqueue(b.encode(v+`
225
- `))},A=(g,_)=>{let{controller:b,encoder:m}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let v=g.slice(6);try{let k=JSON.parse(v);if(k.usage&&(this.logger?.debug({usage:k.usage,hasToolCall:u},"usage"),k.choices[0].finish_reason=u?"tool_calls":"stop"),k.choices?.[0]?.finish_reason==="error"&&b.enqueue(m.encode(`data: ${JSON.stringify({error:k.choices?.[0].error})}
236
+ 3. Use Google Cloud environment with default service account`)}}var Mu=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 G1(this.logger);return{body:Ok(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 Pk(e)}async transformResponseOut(e){return Nu(e,this.name,this.logger)}};var Fk=fn(hu(),1);var Bu=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 Fk.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:Ge(e.messages),tools:Je(e.tools)},config:{headers:{Authorization:`Bearer ${n}`}}}}};var ju=class{name="cerebras";async transformRequestIn(e,r,n){let o=JSON.parse(JSON.stringify(e));o.messages=Ge(o.messages),o.tools=Je(o.tools);let s=Vt(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 Uu=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Lu=class{name="OpenAI";endPoint="/v1/chat/completions";async transformRequestIn(e,r,n){return Sa(e,r,n)}};var qu=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 $u=class{constructor(e){this.options=e}static TransformerName="vercel";logger;endPoint="/v1/chat/completions";async transformRequestIn(e,r,n){e={...e,messages:Ge(e.messages),tools:Je(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&&!_.hasTextContent()&&_.setHasTextContent(!0),k.choices?.[0]?.delta?.reasoning){_.appendReasoningContent(k.choices[0].delta.reasoning);let T={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,thinking:{content:k.choices[0].delta.reasoning}}}]};T.choices?.[0]?.delta&&delete T.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(T)}
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
- `;b.enqueue(m.encode(O));return}if(k.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let T=Date.now().toString(),O={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:T}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let N=`data: ${JSON.stringify(O)}
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
- `;b.enqueue(m.encode(N))}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(T=>{T.id=`call_${Qt()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),k.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof k.choices[0].index=="number"?k.choices[0].index+=1:k.choices[0].index=1);let w=`data: ${JSON.stringify(k)}
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_${ur()}`}),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
- `;b.enqueue(m.encode(w))}catch{b.enqueue(m.encode(g+`
234
- `))}}else b.enqueue(m.encode(g+`
235
- `))};try{for(;;){let{done:g,value:_}=await p.read();if(g){c.trim()&&y(c,d,n);break}if(!_||_.length===0)continue;let b;try{b=r.decode(_,{stream:!0})}catch(v){this.logger?.warn("Failed to decode chunk",v);continue}if(b.length===0)continue;if(c+=b,c.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let v=c.split(`
236
- `);c=v.pop()||"";for(let k of v)if(k.trim())try{A(k,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:w=>o=w,reasoningContent:()=>s,appendReasoningContent:w=>s+=w,isReasoningComplete:()=>a,setReasoningComplete:w=>a=w})}catch(w){this.logger?.error("Error processing line:",k,w),d.enqueue(n.encode(k+`
237
- `))}continue}let m=c.split(`
238
- `);c=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:k=>o=k,reasoningContent:()=>s,appendReasoningContent:k=>s+=k,isReasoningComplete:()=>a,setReasoningComplete:k=>a=k})}catch(k){this.logger?.error("Error processing line:",v,k),d.enqueue(n.encode(v+`
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 _u(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 bu(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 Cu=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=_u(e.messages);n=bu(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 $e(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(Ue("[DONE]",f.encoder));return}try{let p=JSON.parse(d),y=u.convertStreamEvent(p,a);y&&f.controller.enqueue(Ue(JSON.stringify(y),f.encoder))}catch{f.controller.enqueue(De(c,f.encoder))}}else f.controller.enqueue(De(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=Za(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}};import{randomUUID as gv}from"crypto";import{existsSync as l0,readFileSync as uv,writeFileSync as cv,mkdirSync as lv}from"fs";import{join as f0}from"path";import{homedir as d0}from"os";var hd=f0(d0(),".claude-code-router","codex_auth.json"),c0={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"};function fv(){try{if(!l0(hd))return null;let t=uv(hd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function dv(t){let e=f0(d0(),".claude-code-router");l0(e)||lv(e,{recursive:!0}),cv(hd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function hv(t,e=30){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function pv(t){let e=await fetch(c0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:c0.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 pd(){let t=fv();if(!t)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");if(hv(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 pv(t.refresh_token),dv(t)}return t}var h0=new Map,p0="x-codex-turn-metadata",mv="x-codex-window-id",yv="x-codex-parent-thread-id",_v="session_id",bv="thread_id",Cv="turn_id",wv="window_id";function Ev(t){return{session_id:t,thread_id:t,turn_id:gv(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function kv(t){return{[_v]:t.session_id,[bv]:t.thread_id,[Cv]:t.turn_id,[wv]:t.window_id,[p0]:JSON.stringify(t)}}function Sv(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function Av(t){return{[mv]:t.window_id,[p0]:JSON.stringify(t),[yv]:t.thread_id}}function Tv(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 Dv(t,e){return t?.req?.sessionId||Tv(e)}function vv(t,e,r){if(!r)return;let n=Ev(r);t.client_metadata=Sv(t.client_metadata,kv(n)),Object.assign(e,Av(n))}var wu=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 pd();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=_u(e.messages);A=bu(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
- `):w=k.content,w&&(e.instructions=w)}if(e.instructions||(e.instructions=""),e.messages.forEach(k=>{if(k.role!=="system"){if(Array.isArray(k.content)){let w=k.content.map(T=>this.normalizeRequestContent(T,k.role)).filter(T=>T!==null);w.length>0?k.content=w:delete k.content}if(k.role==="tool"){let w={...k};w.type="function_call_output",w.call_id=k.tool_call_id,w.output=k.content,delete w.cache_control,delete w.role,delete w.tool_call_id,delete w.content,g.push(w),_=!0;return}if(k.role==="assistant"&&Array.isArray(k.tool_calls)){_=!1,k.tool_calls.forEach(w=>{g.push({type:"function_call",arguments:w.function.arguments,name:w.function.name,call_id:w.id})});return}_&&k.role==="user"&&g.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),_=!1,typeof k.content=="string"?g.push({type:"message",role:k.role,content:[{type:k.role==="assistant"?"output_text":"input_text",text:k.content}]}):g.push({type:"message",role:k.role,content:k.content})}}),e.input=g,delete e.messages,e.store=!1,Array.isArray(e.tools)){let k=e.tools.find(w=>w.function.name==="web_search");e.tools=e.tools.filter(w=>w.function.name!=="web_search").map(w=>(w.function.name==="WebSearch"&&delete w.function.parameters.properties.allowed_domains,w.function.name==="Edit"?{type:w.type,name:w.function.name,description:w.function.description,parameters:{...w.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:w.type,name:w.function.name,description:w.function.description,parameters:w.function.parameters})),k&&e.tools.push({type:"web_search"})}e.parallel_tool_calls=r?.parallelToolCalls===!0,e.stream=!0;let m={Authorization:`Bearer ${u}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};c&&(m["ChatGPT-Account-ID"]=c),f&&(m["X-OpenAI-Fedramp"]="true"),vv(e,m,Dv(n,e));let v=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:`${v}/responses`,headers:m}}}async auth(e,r){let n=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,o=typeof n=="string"&&n.startsWith("at-"),s,a,u=!1;if(o){s=n;let d=await this.resolvePatAuth(n);a=d.accountId,u=d.isFedramp}else{let d=await pd();s=d.access_token,a=d.account_id}let c={Authorization:`Bearer ${s}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};return a&&(c["ChatGPT-Account-ID"]=a),u&&(c["X-OpenAI-Fedramp"]="true"),{config:{url:`${r?.baseUrl||"https://chatgpt.com/backend-api/codex"}/responses`,headers:c}}}async resolvePatAuth(e){let r=h0.get(e);if(r)return r;let n=await fetch("https://auth.openai.com/api/accounts/v1/user-auth-credential/whoami",{headers:{Authorization:`Bearer ${e}`}});if(!n.ok){let a=await n.text().catch(()=>"");throw new Error(`Codex PAT whoami failed (${n.status}): ${a}. Verify the api_key contains a valid PAT, or remove it to use OAuth authentication.`)}let o=await n.json();if(!o.chatgpt_account_id)throw new Error("Codex PAT whoami response missing chatgpt_account_id. The PAT may not have Codex access. Run `ccr codex-auth` for OAuth as a fallback.");let s={accountId:o.chatgpt_account_id,isFedramp:o.chatgpt_account_is_fedramp===!0};return h0.set(e,s),s}async transformResponseOut(e,r){let n=e.headers.get("Content-Type")||"",o=this,s=r?.req?.id,a=s?this.streamIntent.get(s):void 0;try{return await this.transformResponseOutInner(e,n,o,s,a)}finally{s&&this.streamIntent.delete(s)}}async transformResponseOutInner(e,r,n,o,s){let a=o?s!==!1:!0,u,c=f=>f?(u=f,f):u;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 a?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 w=k?.object==="response"&&k.output?this.convertResponseToChat(k):k,T=JSON.stringify(w);return a?new Response(this.jsonToSseStream(T),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(T,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}if(!a)try{let k=await this.collectSseIntoChatCompletion(e,c);return new Response(JSON.stringify(k),{status:e.status,statusText:e.statusText,headers:{"Content-Type":"application/json"}})}catch(k){throw k}let d=!1,p=-1,y="",A=k=>(k!==y&&(p++,y=k),p),_=$e(e,(k,w)=>{if(k.trim()&&!k.startsWith("event: "))if(k.startsWith("data: ")){let T=k.slice(5).trim();if(T==="[DONE]"){d=!0,w.controller.enqueue(Ue("[DONE]",w.encoder));return}try{let O=JSON.parse(T);O.response?.model&&(u=O.response.model);let N=n.convertStreamEvent(O,A,c);N&&w.controller.enqueue(Ue(JSON.stringify(N),w.encoder))}catch{w.controller.enqueue(De(k,w.encoder))}}else w.controller.enqueue(De(k,w.encoder))}).body,b=!1,m=null,v=new ReadableStream({start(k){m=_.getReader();let w=G=>{if(!b)try{k.enqueue(G)}catch{b=!0}},T=()=>{if(!b)try{k.close()}catch{}},O=G=>{if(!b)try{k.error(G)}catch{}},N=()=>{b||!m||m.read().then(({done:G,value:$})=>{if(G){T();return}$&&w($),N()}).catch(G=>{b||O(G)})};N()},cancel(){if(b=!0,m)try{m.cancel().catch(()=>{})}catch{}}});return new Response(v,{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,p=-1,y="",A=_=>(_!==y&&(p++,y=_),p),g=new ReadableStream({start(_){for(let b of f){b?.response?.model&&(u=b.response.model);let m=n.convertStreamEvent(b,A,c);m&&_.enqueue(d.encode(`data: ${JSON.stringify(m)}
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 zu=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=Hs(e,r,n);let s=wa(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,...ka(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 He(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(Be("[DONE]",f.encoder));return}try{let h=JSON.parse(d),m=c.convertStreamEvent(h,i);m&&f.controller.enqueue(Be(JSON.stringify(m),f.encoder))}catch{f.controller.enqueue(Oe(u,f.encoder))}}else f.controller.enqueue(Oe(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,...ka(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,...ka(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}};import{randomUUID as mP}from"crypto";import{execFileSync as yP}from"child_process";import{arch as Uk,platform as Gp,release as _P}from"os";import{closeSync as J1,existsSync as Ik,fstatSync as V1,mkdirSync as K1,openSync as Y1,readFileSync as X1,renameSync as Q1,statSync as Nk,unlinkSync as Lp,writeFileSync as Z1}from"fs";import{dirname as eP,join as tP}from"path";import{homedir as rP}from"os";var nP=tP(rP(),".claude-code-router","codex_auth.json"),oP=300,sP=11520*60,iP=2*6e4,aP=35e3,Mk={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},Hu=null;function qp(){return process.env.CCR_CODEX_AUTH_FILE||nP}function jp(){return`${qp()}.refresh.lock`}function cP(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||Mk.token_endpoint}function $p(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 Wu(t){let e=t.account_id?.trim();return e||$p(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function uP(t){return $p(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function Bk(t){let e=$p(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function Gu(t){let e=Wu(t),r=Bk(t);return{...t,...e?{account_id:e}:{},...r?{expires_at:r}:{}}}function Up(){try{let t=qp();if(!Ik(t))return null;let e=JSON.parse(X1(t,"utf8"));return e.access_token?Gu(e):null}catch{return null}}function lP(t){let e=qp();K1(eP(e),{recursive:!0});let r=Gu(t),n=`${e}.${process.pid}.${Date.now()}.tmp`;try{Z1(n,JSON.stringify(r,null,2),{mode:384,encoding:"utf8"}),Q1(n,e)}finally{try{Ik(n)&&Lp(n)}catch{}}}function jk(t,e=oP){let r=Bk(t);return r?Date.now()/1e3+e>=r:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+sP)}function Bp(t,e){let r=Wu(e);if(t&&t!==r)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function dP(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 fP(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(cP(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:Mk.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}): ${dP(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 Gu({...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 hP(){let t=jp();try{return Y1(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-Nk(t).mtimeMs>iP&&Lp(t)}catch{}return null}}async function pP(t){let e=Date.now()+aP,r=null;for(;r===null&&(r=hP(),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=V1(r).ino;J1(r);try{Nk(jp()).ino===n&&Lp(jp())}catch{}}}async function gP(t,e){return pP(async()=>{let r=Up();if(!r)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");Bp(e.expectedAccountId,r);let n=e.previousAccessToken||t.access_token;if(r.access_token!==n||!e.force&&!jk(r))return r;let o=await fP(r);Bp(e.expectedAccountId,o);let s=Up();return s&&s.access_token!==r.access_token?(Bp(e.expectedAccountId,s),s):(lP(o),o)})}async function zp(t={}){let e=Up();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!jk(e)?e:(Hu||(Hu=gP(e,{...t,expectedAccountId:t.expectedAccountId||Wu(e)}).finally(()=>{Hu=null})),Hu)}function Hp(t){let e=Gu(t);return{mode:"oauth",token:e.access_token,accountId:Wu(e),isFedramp:uP(e)}}var bP=300*1e3,Ju=new Map,Wp=new Map,qk="0.145.0",$k="codex_cli_rs",zk="x-codex-turn-metadata",CP="x-codex-window-id",wP="x-codex-parent-thread-id",kP="session_id",SP="thread_id",EP="turn_id",AP="window_id";function TP(){switch(Gp()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return Gp()||"unknown"}}function vP(){switch(Uk()){case"x64":return"x86_64";case"arm64":return"arm64";default:return Uk()||"unknown"}}function RP(){if(Gp()==="darwin")try{return yP("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return _P()||"unknown"}function DP(){return`${$k}/${qk} (${TP()} ${RP()}; ${vP()})`}function Lk(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",qk),e.toString()}function xP(t){return{session_id:t,thread_id:t,turn_id:mP(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function OP(t){return{[kP]:t.session_id,[SP]:t.thread_id,[EP]:t.turn_id,[AP]:t.window_id,[zk]:JSON.stringify(t)}}function PP(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function FP(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[CP]:t.window_id,[zk]:JSON.stringify(t),[wP]:t.thread_id}}function IP(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 NP(t,e){return t?.req?.sessionId||IP(e)}function MP(t,e,r){if(!r)return;let n=xP(r);t.client_metadata=PP(t.client_metadata,OP(n)),Object.assign(e,FP(n))}var Vu=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=qd(e,n);let u=wa(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);MP(e,m,e.prompt_cache_key||NP(n,e));let S=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:Lk(`${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:Lk(`${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):Hp(await zp())}buildAuthHeaders(e){let r={Authorization:`Bearer ${e.token}`,originator:$k,"User-Agent":DP()};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 Ju.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 zp({force:!0,previousAccessToken:r.token,expectedAccountId:r.accountId}),s=Hp(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=Ju.get(e);if(r&&r.expiresAt>Date.now())return r.value;Ju.delete(e);let n=Wp.get(e);if(n)return n;let o=this.requestPatAuth(e).finally(()=>{Wp.delete(e)});return Wp.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 Ju.set(e,{value:s,expiresAt:Date.now()+bP}),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=He(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(Be("[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(Be(JSON.stringify(M),T.encoder))}catch{T.controller.enqueue(Oe(k,T.encoder))}}else T.controller.enqueue(Oe(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
- `))}_.enqueue(d.encode(`data: [DONE]
256
+ `))}y.enqueue(d.encode(`data: [DONE]
243
257
 
244
- `)),_.close()}});return new Response(g,{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=a=>n?n(a):a,s=a=>a||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 a=[];(e.item.content||[]).forEach(c=>{c.type==="output_text"&&a.push({type:"text",text:c.text||""})});let u={role:"assistant"};return a.length===1&&a[0].type==="text"?u.content=a[0].text:a.length>0&&(u.content=a),u.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:u,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 a=e.response?.output?.some(c=>c.type==="function_call")?"tool_calls":"stop",u={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:a}]};return e.response?.usage&&(u.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}),u}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)}
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 a={id:n.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:n.created||Math.floor(Date.now()/1e3),model:n.model||"unknown"},u=n.choices?.[0];if(u){let c=u.message||{};if(typeof c.content=="string"&&c.content&&s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",content:c.content},finish_reason:null}]})),c.thinking?.content&&s.enqueue(o({...a,choices:[{index:0,delta:{thinking:{content:c.thinking.content}},finish_reason:null}]})),Array.isArray(c.tool_calls))for(let d of c.tool_calls)s.enqueue(o({...a,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={...a,choices:[{index:0,delta:{},finish_reason:u.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}),s.enqueue(o(f))}s.enqueue(r.encode(`data: [DONE]
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 a=n.decode(s.value,{stream:!0}),c=a.trimStart().charAt(0)||"";if(c!=="{"&&c!=="[")return o(),null;let f=a;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:c,text:f}}async collectSseIntoChatCompletion(e,r){let n=e.body.getReader(),o=new TextDecoder,s="",a="unknown",u="chatcmpl-"+Date.now(),c=Math.floor(Date.now()/1e3),f="",d="",p=[],y=new Map,A=null,g,_=-1,b="",m=w=>(w!==b&&(_++,b=w),_),v=()=>{let w={role:"assistant"};d&&(w.thinking={content:d,signature:""});let T=Array.from(y.values());T.length&&(w.tool_calls=T),p.length&&(w.annotations=p),f?w.content=f:T.length===0&&!d?w.content=null:w.content=f||null;let O={index:0,message:w,logprobs:null,finish_reason:T.length?"tool_calls":A||"stop"};return{id:u,object:"chat.completion",created:c,model:a||"unknown",choices:[O],usage:g||null}},k=w=>{if(!w)return;w.id&&(u=w.id),w.model&&(a=w.model),w.created&&(c=w.created),w.usage&&(g=w.usage);let T=w.choices?.[0];if(!T)return;T.finish_reason&&(A=T.finish_reason);let O=T.delta||{};if(O.role,typeof O.content=="string"&&O.content&&(f+=O.content),O.thinking?.content&&(d+=O.thinking.content),O.thinking?.signature,Array.isArray(O.annotations))for(let N of O.annotations)p.push(N);if(Array.isArray(O.tool_calls))for(let N of O.tool_calls){let G=N.index??0,$=y.get(G)||{index:G,id:N.id,type:"function",function:{name:N.function?.name||"",arguments:""}};N.id&&($.id=N.id),N.function?.name&&($.function.name=N.function.name),typeof N.function?.arguments=="string"&&($.function.arguments=($.function.arguments||"")+N.function.arguments),y.set(G,$)}};for(;;){let{done:w,value:T}=await n.read();if(w)break;s+=o.decode(T,{stream:!0});let O=s.split(`
249
- `);s=O.pop()||"";for(let N of O){if(!N.startsWith("data: "))continue;let G=N.slice(5).trim();if(!(!G||G==="[DONE]"))try{let $=JSON.parse(G);if($.response?.model){let K=r($.response.model);K&&(a=K)}let X=this.convertStreamEvent($,m,r);k(X)}catch{}}}return v()}normalizeRequestContent(e,r){let n=Za(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}};import{existsSync as g0,readFileSync as Rv,writeFileSync as xv,mkdirSync as Ov}from"fs";import{join as m0}from"path";import{homedir as y0}from"os";var gd=m0(y0(),".claude-code-router","qwen_auth.json"),Fv="https://qwen.aikit.club",Pv=1e4,Iv=120;function Nv(){try{if(!g0(gd))return null;let t=JSON.parse(Rv(gd,"utf-8"));return t.token?t:null}catch{return null}}function Bv(t){let e=m0(y0(),".claude-code-router");g0(e)||Ov(e,{recursive:!0}),xv(gd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function jv(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 Mv(t){try{let e=await fetch(`${Fv}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(Pv)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function _0(){let t=Nv();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+Iv*1e3>=t.expiresAt){let e=await Mv(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:jv(e),updatedAt:Date.now()},Bv(t)}return t}var Uv="https://qwen.aikit.club",b0=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,Eu=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await _0();return{url:e?.api_base_url||e?.baseUrl||Uv,headers:{Authorization:`Bearer ${r.token}`}}}async transformRequestIn(e,r){return{body: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?$e(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(De(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(De(n,o.encoder));return}let a=s.replace(b0,"");o.controller.enqueue(De(`data: ${a}`,o.encoder));return}o.controller.enqueue(De(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace(b0,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var md=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
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 se=this.convertStreamEvent($,_,r);k(se)}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}};import{existsSync as Hk,readFileSync as BP,writeFileSync as jP,mkdirSync as UP}from"fs";import{join as Wk}from"path";import{homedir as Gk}from"os";var Jp=Wk(Gk(),".claude-code-router","qwen_auth.json"),LP="https://qwen.aikit.club",qP=1e4,$P=120;function zP(){try{if(!Hk(Jp))return null;let t=JSON.parse(BP(Jp,"utf-8"));return t.token?t:null}catch{return null}}function HP(t){let e=Wk(Gk(),".claude-code-router");Hk(e)||UP(e,{recursive:!0}),jP(Jp,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function WP(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 GP(t){try{let e=await fetch(`${LP}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(qP)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function Jk(){let t=zP();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+$P*1e3>=t.expiresAt){let e=await GP(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:WP(e),updatedAt:Date.now()},HP(t)}return t}var JP="https://qwen.aikit.club",Vk=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,Ku=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await Jk();return{url:e?.api_base_url||e?.baseUrl||JP,headers:{Authorization:`Bearer ${r.token}`}}}async transformRequestIn(e,r){return{body:zn(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?He(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Oe(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(Oe(n,o.encoder));return}let i=s.replace(Vk,"");o.controller.enqueue(Oe(`data: ${i}`,o.encoder));return}o.controller.enqueue(Oe(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace(Vk,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var Vp=`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.`,Lv=10,ku=class{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<Lv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
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:md}):n.content=[{type:"text",text:md},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:md}]}),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,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[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,a=new TextEncoder,u=new ReadableStream({async start(c){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=(_,b)=>{if(typeof b!="string"){_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&!_.choices[0].delta.content&&(_.choices[0].index=o,c.enqueue(a.encode(`data: ${JSON.stringify(_)}
269
+ Your final answer must follow after the closing tag above.`,VP=10,Yu=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<VP)&&(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:Vp}):n.content=[{type:"text",text:Vp},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Vp}]}),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=y+b;for(y="";m.length>0;)if(p==="SEARCHING"){let v=m.indexOf(r);if(v!==-1)m=m.substring(v+r.length),p="REASONING";else{for(let k=r.length-1;k>0;k--)if(m.endsWith(r.substring(0,k))){y=m.substring(m.length-k);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let k=m.substring(0,v);if(k.length>0){let O={..._.choices[0].delta,thinking:{content:k}};delete O.content;let N={..._,choices:[{..._.choices[0],delta:O,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(N)}
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 w={..._.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete w.content;let T={..._,choices:[{..._.choices[0],delta:w,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
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++,m=m.substring(v+n.length),p="FINAL"}else{let k=m;for(let w=n.length-1;w>0;w--)if(m.endsWith(n.substring(0,w))){y=m.substring(m.length-w),k=m.substring(0,m.length-w);break}if(k.length>0){let w={..._.choices[0].delta,thinking:{content:k}};delete w.content;let T={..._,choices:[{..._.choices[0],delta:w,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
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
- `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let k=A+m,w={..._.choices[0].delta,content:k};w.thinking&&delete w.thinking;let T={..._,choices:[{..._.choices[0],delta:w}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
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
- `)),A=""}o++,m=""}};try{for(;;){let{done:_,value:b}=await f.read();if(_)break;let m=s.decode(b,{stream:!0});d+=m;let v=d.split(`
267
- `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){c.enqueue(a.encode(k+`
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 w=JSON.parse(k.slice(5));g(w,w.choices?.[0]?.delta?.content)}catch{c.enqueue(a.encode(k+`
270
- `))}else c.enqueue(a.encode(k+`
271
- `))}}}catch(_){this.logger?.error("Stream error:",_),c.error(_)}finally{try{f.releaseLock()}catch(_){this.logger?.error("Error releasing reader lock:",_)}if(p==="REASONING"){let b={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};c.enqueue(a.encode(`data: ${JSON.stringify(b)}
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
- `))}c.close()}}});return new Response(u,{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 Su=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 c=await e.json(),f=c?.choices?.[0]?.message?.content;if(typeof f=="string"){let d=f.match(/<think>([\s\S]*?)<\/think>/);d?.[1]&&(c.thinking={content:d[1]})}return new Response(JSON.stringify(c),{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,a=0,u=new ReadableStream({async start(c){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=b=>{c.enqueue(s.encode(`data: ${JSON.stringify(b)}
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 Xu=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
- `))},_=(b,m)=>{if(typeof m!="string"&&b?.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0&&!b.choices[0].delta.content){b.choices[0].index=a,g(b);return}if(typeof m!="string")return;let v=y+m;for(y="";v.length>0;){if(p==="SEARCHING"){let k=v.indexOf(r);if(k!==-1){v=v.substring(k+r.length),p="THINKING";continue}for(let w=r.length-1;w>0;w--)if(v.endsWith(r.substring(0,w))){y=v.substring(v.length-w);break}v="";continue}if(p==="THINKING"){let k=v.indexOf(n);if(k!==-1){let T=v.substring(0,k);if(T.length>0){let N={...b.choices[0].delta,thinking:{content:T}};delete N.content,g({...b,choices:[{...b.choices[0],delta:N,index:a}]})}let O={...b.choices[0].delta,thinking:{signature:Date.now().toString()}};delete O.content,g({...b,choices:[{...b.choices[0],delta:O,index:a}]}),a++,v=v.substring(k+n.length),p="FINAL";continue}let w=v;for(let T=n.length-1;T>0;T--)if(v.endsWith(n.substring(0,T))){y=v.substring(v.length-T),w=v.substring(0,v.length-T);break}if(w.length>0){let T={...b.choices[0].delta,thinking:{content:w}};delete T.content,g({...b,choices:[{...b.choices[0],delta:T,index:a}]})}v="";continue}if(v.length>0)if(/^\s*$/.test(v))A+=v;else{let k=A+v,w={...b.choices[0].delta,content:k};w.thinking&&delete w.thinking,g({...b,choices:[{...b.choices[0],delta:w}]}),A=""}a++,v=""}};try{for(;;){let{done:b,value:m}=await f.read();if(b)break;d+=o.decode(m,{stream:!0});let v=d.split(`
276
- `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){c.enqueue(s.encode(k+`
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 w=JSON.parse(k.slice(5));_(w,w?.choices?.[0]?.delta?.content)}catch{c.enqueue(s.encode(k+`
279
- `))}else c.enqueue(s.encode(k+`
280
- `))}}}catch(b){console.error("Stream error:",b),c.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}p==="THINKING"&&g({choices:[{delta:{thinking:{signature:Date.now().toString()}}}]}),c.close()}}});return new Response(u,{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 qv(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:a,...u}=s;return u}return s});else{let s=r.filter(a=>a.type==="text").map(a=>a.text).filter(a=>a&&a.length>0);e.content=s.join(`
281
- `)}}return e.cache_control&&delete e.cache_control,e}function $v(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 zv(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var C0=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function w0(t){let e={...t};if(Array.isArray(e.messages)&&(e.messages=e.messages.map(r=>qv(r))),e.stream===void 0&&(e.stream=!0),e.tool_choice&&(e.tool_choice=$v(e.tool_choice)),Array.isArray(e.tools)&&(e.tools=e.tools.map(r=>r?.function?.parameters?{...r,function:{...r.function,parameters:fi(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-")&&!C0.has(r)||r.startsWith("mistral-medium-")&&!C0.has(r))&&(e.reasoning_effort=zv(e.reasoning)),delete e.reasoning}return e}async function E0(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?$e(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(De(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(De(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(De(o,s.encoder));return}let f=wo(c);if(f){let d=Zr(u,{content:f});en(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(Ue(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(Ue(JSON.stringify(u),s.encoder))}catch{s.controller.enqueue(De(o,s.encoder))}}):t;return t}var Au=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:w0(e),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await E0(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var Hv="http://127.0.0.1:3457",Tu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||Hv;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}};import{randomBytes as Wv,createHash as Gv}from"crypto";var Jv="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Du=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 Gv("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=Wv(14),a="";for(let u=0;u<14;u++)a+=Jv[s[u]%62];return`${e}_${o.toString("hex")}${a}`}};import{existsSync as S0,readFileSync as Vv,writeFileSync as Kv,mkdirSync as Yv}from"fs";import{join as A0}from"path";import{homedir as T0}from"os";var yd=A0(T0(),".claude-code-router","claude_auth.json"),k0={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 Xv(){try{if(!S0(yd))return null;let t=Vv(yd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function Qv(t){let e=A0(T0(),".claude-code-router");S0(e)||Yv(e,{recursive:!0}),Kv(yd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function Zv(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function eR(t){let e=await fetch(k0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:k0.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 D0(){let t=Xv();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(Zv(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 eR(t.refresh_token),Qv(t)}return t}var tR="oauth-2025-04-20";function _d(t){return!t||typeof t!="object"?!1:Array.isArray(t)?t.some(e=>_d(e)):t.cache_control?!0:Object.values(t).some(e=>_d(e))}function rR(...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 vu=class{name="claude-auth";logger;async transformRequestIn(e,r){let n=await D0(),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=$n.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=_d(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"]=rR(p,tR),{body:u,config:{url:a.toString(),headers:c}}}async transformResponseOut(e){return lu(e,this.name,this.logger)}};import{Cursor as CR}from"@cursor/sdk";var nR=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function v0(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!nR.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"})}import{createHash as oR}from"crypto";import{homedir as sR}from"os";import{join as R0}from"path";var bd="cursor-sdk",Ru="bridge",iR=R0(sR(),".claude-code-router"),xu=R0(iR,"cursor-sdk-workspaces"),x0=900*1e3,Cd=32,O0=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],ys="custom-user-tools";function F0(t){return oR("sha256").update(t.filter(Boolean).join(`
282
- `)).digest("hex").slice(0,32)}function _s(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 P0(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function I0(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:_s(s)}},finish_reason:null}]}},thinkingSignature(s=`ccr_cursor_${Date.now()}`){return{...o(),choices:[{index:0,delta:{thinking:{signature:s}},finish_reason:null}]}},toolCall(s,a=0){return{...o(),choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:a,id:s.id,type:"function",function:{name:s.name,arguments:JSON.stringify(s.args??{})}}]},finish_reason:null}]}},finish(s,a){let u=Number(a?.prompt_tokens)||0,c=Number(a?.completion_tokens)||0,f=Number(a?.total_tokens)||u+c;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:u,completion_tokens:c,total_tokens:f,prompt_tokens_details:{cached_tokens:Number(a?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return Ue(JSON.stringify(s),e)},encodeDone(){return Ue("[DONE]",e)}}}function N0(t,e){let r="",n="",o="",s=[],a="stop",u=null,c=`chatcmpl-cursor-${Date.now()}`,f=Math.floor(Date.now()/1e3);for(let p of e){typeof p.id=="string"&&(c=p.id);let y=p.choices?.[0];if(!y)continue;y.finish_reason&&(a=y.finish_reason);let A=y.delta||{};if(typeof A.content=="string"&&(r+=A.content),A.thinking?.content&&(n+=_s(A.thinking.content)),typeof A.thinking?.signature=="string"&&A.thinking.signature&&(o=A.thinking.signature),Array.isArray(A.tool_calls))for(let g of A.tool_calls){let _=g.index??s.length;s[_]||(s[_]={id:g.id,type:"function",function:{name:g.function?.name||"",arguments:""}}),g.id&&(s[_].id=g.id),g.function?.name&&(s[_].function.name=g.function.name),typeof g.function?.arguments=="string"&&(s[_].function.arguments+=g.function.arguments)}p.usage&&(u=p.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),a="tool_calls"),{id:c,object:"chat.completion",created:f,model:t,choices:[{index:0,message:d,finish_reason:a}],usage:u}}function bs(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(`
283
- `):String(t)}function aR(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 uR(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(`
284
- `)}function cR(t,e){return["You are running inside the Claude Code Router Cursor SDK bridge.","Claude Code (the host) owns filesystem, shell, and project tools.","Cursor built-in tools are denied in this workspace \u2014 do not call them.",`Host tools are exposed via MCP server "${ys}" using bare tool names.`,`Isolated agent cwd (do not treat as the user project): ${e}`,"Pass absolute paths into host tools when referring to the user's real project files.","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:",uR(t)].join(`
285
- `)}var lR=[/^(?: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 fR(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:lR.some(o=>o.test(r))}function B0(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&fR(t.assistantText)}function j0(){return{text:["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."].join(" ")}}function M0(t,e){let r=t.messages||[],n=[];e.mode==="bridge"?(n.push(cR(t,e.workspaceDir)),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 o=r.filter(f=>f.role==="system");for(let f of o){let d=bs(f.content);d&&n.push(`[system]
286
- ${d}`)}let s=r.filter(f=>f.role!=="system"),a=e.followUpOnly?s.slice(-Math.max(1,dR(s)+1)):s,u=[];for(let f of a){if(f.role==="assistant"){let d=bs(f.content);if(d&&n.push(`[assistant]
287
- ${d}`),Array.isArray(f.tool_calls)&&f.tool_calls.length)for(let p of f.tool_calls)n.push(`[assistant tool_call id=${p.id} name=${p.function.name}]
288
- ${p.function.arguments||"{}"}`);continue}if(f.role==="tool"){n.push(`[tool_result id=${f.tool_call_id||"unknown"}]
289
- ${bs(f.content)}`);continue}if(f.role==="user"){let d=bs(f.content);u=[...u,...aR(f.content)],d&&n.push(`[user]
290
- ${d}`)}}let c=n.join(`
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 KP(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 YP(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 XP(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var Kk=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function Yk(t,e,r){let n={...t};Array.isArray(n.messages)&&(n.messages=n.messages.map(s=>KP(s))),n.stream===void 0&&(n.stream=!0);let o=Vt(e,t);if(o&&(n.prompt_cache_key=o),n.tool_choice&&(n.tool_choice=YP(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:va(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-")&&!Kk.has(s)||s.startsWith("mistral-medium-")&&!Kk.has(s))&&(n.reasoning_effort=XP(n.reasoning)),delete n.reasoning}return n}async function Xk(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?He(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Oe(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Oe(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(Oe(o,s.encoder));return}let f=is(u);if(f){let d=En(c,{content:f});An(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(Be(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(Be(JSON.stringify(c),s.encoder))}catch{s.controller.enqueue(Oe(o,s.encoder))}}):t;return t}var Qu=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:Yk(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 Xk(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var QP="http://127.0.0.1:3457",Zu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||QP;n?.req?.body&&(n.req.body.stream=!0);let s=Vt(n,e);return{body:{...e,messages:Ge(e.messages),tools:Je(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}};import{randomBytes as ZP,createHash as eF}from"crypto";var tF="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Qk=3,el=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<Qk;d++){let h=this.buildHeaders(r,n,s),m=await ko(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===Qk-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=mt(S)||S.slice(0,240);throw ze(`Error from provider(${n?.name},${f}: ${m.status}): ${y}`,m.status,"provider_response_error","api_error",this.retryAfterHeaders(m))}throw ze(`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 eF("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=ZP(14),i="";for(let c=0;c<14;c++)i+=tF[s[c]%62];return`${e}_${o.toString("hex")}${i}`}};import{existsSync as eS,readFileSync as rF,writeFileSync as nF,mkdirSync as oF}from"fs";import{join as tS}from"path";import{homedir as rS}from"os";var Kp=tS(rS(),".claude-code-router","claude_auth.json"),Zk={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 sF(){try{if(!eS(Kp))return null;let t=rF(Kp,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function iF(t){let e=tS(rS(),".claude-code-router");eS(e)||oF(e,{recursive:!0}),nF(Kp,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function aF(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function cF(t){let e=await fetch(Zk.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:Zk.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 nS(){let t=sF();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(aF(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 cF(t.refresh_token),iF(t)}return t}var oS="oauth-2025-04-20";function uF(...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 tl(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 lF(t){return t.clientBeta?.trim()?uF(t.clientBeta,oS):oS}var rl=class{name="claude-auth";logger;async transformRequestIn(e,r,n){let o=await nS(),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=Eo.buildAnthropicBody(e,this.logger),f=n?.req?.headers||{},d=tl(f,"user-agent"),h=d?.startsWith("claude-cli/")??!1,m=h?tl(f,"anthropic-beta"):void 0,S=lF({clientBeta:m}),b={Authorization:`Bearer ${o.access_token}`,"Content-Type":"application/json","anthropic-version":h&&tl(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=tl(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 Nu(e,this.name,this.logger)}};import{Cursor as aI}from"@cursor/sdk";var dF=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function sS(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!dF.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"})}import{createHash as fF}from"crypto";import{homedir as hF}from"os";import{basename as pF,dirname as gF,join as iS}from"path";var Yp="cursor-sdk",nl="bridge",mF=iS(hF(),".claude-code-router"),Sr=iS(mF,"cursor-sdk-workspaces"),aS=900*1e3,Xp=32,cS=1440*60*1e3,uS=3600*1e3,yF=/^[0-9a-f]{32}$/;function Qp(t,e=Sr){let r=t.replace(/[\\/]+$/,"");return gF(r)!==e.replace(/[\\/]+$/,"")?!1:yF.test(pF(r))}var lS=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],vi="custom-user-tools";function sr(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 ls(t){return fF("sha256").update(t.filter(Boolean).join(`
297
+ `)).digest("hex").slice(0,32)}function ds(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 Zp(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function dS(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:ds(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 Be(JSON.stringify(s),e)},encodeDone(){return Be("[DONE]",e)}}}function eg(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+=ds(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 Rn={additionalRoots:[],facts:[],known:!1,fingerprint:"none"},fS=/<(env|environment|system-info|system_info)>([\s\S]*?)<\/\1>/gi,_F=/^\s*[-*]?\s*([A-Za-z][A-Za-z0-9 _/'-]{2,48}?)\s*:\s*(\S.*?)\s*$/,bF=/working director|workspace root|project root|platform|os version|operating system|git repo/i,hS=[/^primary working director/i,/^current working director/i,/^working director/i,/^project root/i,/^workspace root/i,/^cwd$/i],pS=[/^additional working director/i,/^additional director/i,/^extra working director/i],gS=[/^platform$/i,/^operating system$/i,/^os$/i],mS=[/^os version$/i,/^system version$/i],CF=[...hS,...pS,...gS,...mS],wF=2e5,kF=16,SF=400;function EF(t){let e=[],r=wF,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=sr(o.content);if(s&&(e.push(s.slice(0,r)),r-=Math.min(s.length,r),r<=0))break}return e.join(`
298
+ `)}function AF(t){let e=[],r=new Set,n=i=>{if(e.length>=kF)return;let c=i.match(_F);if(!c)return;let u=c[1].trim(),f=c[2].trim().slice(0,SF);if(!u||!f)return;let d=u.toLowerCase();r.has(d)||(r.add(d),e.push({key:u,value:f}))},o=!1;fS.lastIndex=0;let s;for(;s=fS.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/))bF.test(i)&&n(i);return e}function ol(t,e){for(let r of e){let n=t.find(o=>r.test(o.key));if(n)return n.value}}function yS(t){return/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(t)}function TF(t){return t?t.split(/[,\n]/).map(e=>e.trim()).filter(e=>yS(e)):[]}function Ri(t){let e=AF(EF(t)),r=ol(e,hS),n=r&&yS(r)?r:void 0,o=TF(ol(e,pS)).filter(u=>u!==n),s=ol(e,gS),i=ol(e,mS),c=!!(n||s||i||e.length);return c?{projectRoot:n,additionalRoots:o,platform:s,osVersion:i,facts:e,known:c,fingerprint:ls([n||"",o.join("|"),s||"",i||"",e.map(u=>`${u.key}=${u.value}`).join("|")])}:Rn}function _S(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)CF.some(n=>n.test(r.key))||e.push(`- ${r.key}: ${r.value}`);return e}function so(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 vF(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 RF(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 CS(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=_S(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(so(e)),r.push(`Host tools are exposed via MCP server "${vi}" 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 DF(t,e,r=Ri(t)){return[...CS(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:",RF(t)].join(`
300
+ `)}function xF(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.`,so(e)].join(`
301
+ `)}function wS(t,e){return["# Agent rules","",...CS(t,e).map(r=>r.startsWith("- ")?r:`- ${r}`),""].join(`
302
+ `)}function kS(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.",so(t)].join(" ")}var OF=[/^(?: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 PF(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:OF.some(o=>o.test(r))}function SS(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&PF(t.assistantText)}function ES(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(so(t)),{text:e.join(" ")}}function bS(t){let e=t.trim();return Wd.some(r=>e===r)}function FF(t){if(!Array.isArray(t)){let e=sr(t);return e.trim().length>0&&!bS(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&&!bS(r)}return!0})}function AS(t,e){let r=t.messages||[],n=[],o=e.hostEnv||Ri(t);e.mode==="bridge"?(n.push(DF(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=sr(d.content);h&&n.push(`[system]
303
+ ${h}`)}let i=r.filter(d=>d.role!=="system"),c=e.followUpOnly?i.slice(-Math.max(1,IF(i,e.turnIntent)+1)):i,u=[];for(let d of c){if(d.role==="assistant"){let h=sr(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
+ ${sr(d.content)}`);continue}if(d.role==="user"){let h=sr(d.content);u=[...u,...vF(d.content)],h&&n.push(`[user]
307
+ ${h}`)}}e.mode==="bridge"&&n.push(xF(e.workspaceDir,o));let f=n.join(`
291
308
 
292
- `).trim()||"Continue.";return u.length?{text:c,images:u}:{text:c}}function dR(t){let e=0;for(let r=t.length-1;r>=0;r--){if(t[r].role==="tool"){e++;continue}break}return e}function U0(t){let e=[],r=t.messages||[];for(let n=r.length-1;n>=0;n--){let o=r[n];if(o.role!=="tool")break;e.unshift({toolCallId:String(o.tool_call_id||""),content:bs(o.content)})}return e}import{createHash as kd}from"crypto";import{existsSync as H0,mkdirSync as L0}from"fs";import{join as mR}from"path";import{Agent as q0}from"@cursor/sdk";import{chmodSync as hR,mkdirSync as pR,writeFileSync as wd}from"fs";import{join as Cs}from"path";var gR=`#!/usr/bin/env node
309
+ `).trim()||"Continue.";return u.length?{text:f,images:u}:{text:f}}function IF(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 TS(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||FF(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:sr(i.content)})}return{toolResults:r,hasTrailingUserInput:s}}import{createHash as rg}from"crypto";import{existsSync as OS,mkdirSync as vS,readdirSync as qF,rmSync as $F,statSync as zF}from"fs";import{join as PS}from"path";import{Agent as RS}from"@cursor/sdk";import{chmodSync as NF,mkdirSync as MF,readFileSync as BF,writeFileSync as jF}from"fs";import{join as Di}from"path";function UF(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(ys)})) {
333
+ if (server.includes(${JSON.stringify(vi)})) {
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 '${ys}' " +
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 Ed(t){let e=Cs(t,".cursor"),r=Cs(e,"hooks");pR(r,{recursive:!0});let n=Cs(r,"deny-builtin.cjs");wd(n,gR,{encoding:"utf-8",mode:448});try{hR(n,448)}catch{}let o=O0.join("|"),s=`node "${n}"`,a={version:1,hooks:{preToolUse:[{matcher:o,command:s}],beforeShellExecution:[{command:s}],beforeReadFile:[{command:s}],beforeMCPExecution:[{command:s}]}};wd(Cs(e,"hooks.json"),JSON.stringify(a,null,2),{encoding:"utf-8",mode:384}),wd(Cs(t,"AGENTS.md"),"",{encoding:"utf-8",mode:384})}async function ws(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 Ad(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 $0(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")||H0("/.dockerenv")||process.env.container==="docker")}function yR(t){H0(xu)||L0(xu,{recursive:!0});let e=mR(xu,t);return L0(e,{recursive:!0}),Ed(e),e}function W0(t){if(t.headerSession)return kd("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?kd("sha256").update(e[1]).digest("hex").slice(0,32):kd("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return F0([t.model||"",t.systemAndFirstUser||""])}function z0(t){return!!(t.streamIterator||t.parked.length>0||t.run?.status==="running")}function Ou(t){t.lastActiveAt=Date.now()}var Sd=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&&Ou(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:yR(e.key);e.mode==="bridge"&&Ed(n);let o=e.mode==="plan"?"plan":"agent",s=$0(e.sandboxEnabled),a=await q0.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=$0(e.sandboxEnabled),n=await q0.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"),Ou(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await ws(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>=Cd;){let e,r=1/0;for(let[n,o]of this.sessions)z0(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Cd},"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)z0(n)||e-n.lastActiveAt>x0&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r))}},Fu=new Sd;import{randomUUID as _R}from"crypto";function bR(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 G0(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:bR(n.function.parameters),async execute(s,a){let u=a.toolCallId||_R();return e.metrics.customToolCalls+=1,e.parkHostTool({id:u,name:o,args:s||{}})}})}return r}function V0(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function J0(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function K0(t){let e=[];t.system&&e.push(J0(t.system));for(let r of t.messages||[])e.push(J0(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)),V0(e.join(`
335
- `).length)}function Y0(t,e){let r=Math.max(0,Math.trunc(t)||0),n=V0(e);return{prompt_tokens:r,completion_tokens:n,total_tokens:r+n,prompt_tokens_details:{cached_tokens:0}}}function X0(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,a=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:a}}}var wR=900*1e3,Es=null;function ER(t){return`${t.length}:${t.slice(0,8)}:${t.slice(-4)}`}async function kR(t){let e=ER(t);if(Es&&Es.apiKeyFingerprint===e&&Date.now()-Es.fetchedAt<wR)return Es.models;let r=await CR.models.list({apiKey:t})||[];return Es={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function SR(t,e,r){let n=[];try{n=await kR(t)}catch{return{id:e}}let o=n.find(a=>a.id===e||a.displayName===e||Array.isArray(a.aliases)&&a.aliases.includes(e));if(!o)return{id:e};if(r&&Array.isArray(o.variants)&&o.variants.length){let a=o.variants.find(u=>u.params?.some(c=>/effort|reasoning/i.test(c.id)&&String(c.value).toLowerCase()===String(r).toLowerCase()))||o.variants.find(u=>(u.displayName||"").toLowerCase().includes(String(r).toLowerCase()));if(a)return{id:o.id,params:a.params}}let s=o.variants?.find(a=>a.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function AR(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(`
336
- `)}async function*TR(t,e){let r=t.streamIterator;if(!r){yield{kind:"end"};return}let n=r.next(),o=t.waitForEmit().then(()=>"emit");for(;;){let s=await Promise.race([n.then(c=>({type:"msg",r:c})),o.then(c=>({type:c}))]);if(s.type==="emit"){for(;t.pendingEmit.length;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};o=t.waitForEmit().then(()=>"emit");continue}let{r:a}=s;if(a.done){yield{kind:"end"};return}let u=a.value;u?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:u},n=r.next()}}async function Q0(t,e,r,n={}){let o=n.logger||e?.logger;o&&Fu.setLogger(o);let s=n.cursorMode||Ru,a=t.stream===!0,u=t.model||"composer-2",c;try{c=v0(e)}catch(X){throw Object.assign(X instanceof Error?X:new Error(String(X)),{statusCode:X?.statusCode||401,code:"provider_response_error",type:"api_error"})}let f=r?.req?.headers?.["x-ccr-cursor-session"]||r?.req?.headers?.["X-Ccr-Cursor-Session"],d=W0({headerSession:typeof f=="string"?f:void 0,metadataUserId:t?.metadata?.user_id,model:u,systemAndFirstUser:AR(t)}),p=P0(t),y=await SR(c,u,p),A=await Fu.getOrCreate({key:d,apiKey:c,model:y,mode:s,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled}),g=U0(t),_=A.parked.length>0;g.length&&_&&Fu.resolveParkedTools(A,g);let b=!A.streamIterator||!_,m=A.hasSentPrompt,v=s==="bridge"?G0(t,A):void 0,k={model:y,mode:s==="plan"?"plan":"agent",local:v?{customTools:v}:void 0};b&&(m&&g.length&&!A.streamIterator&&o?.warn?.({toolResultCount:g.length,hadParked:_},"cursor-sdk dead-run recovery: sending follow-up with tool results"),await Ad(A,async()=>{(A.run||A.streamIterator)&&await ws(A,{rejectParked:!0,reason:"cursor-sdk superseded by new prompt"});let X=M0(t,{mode:s,workspaceDir:A.workspaceDir,followUpOnly:m});try{let K=await A.agent.send(X,k);A.run=K,A.streamIterator=K.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0}catch(K){throw o?.error?.({err:K},"cursor-sdk agent.send failed"),Object.assign(new Error(`Cursor SDK error: ${K?.message||K}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}}));let w=I0(u,new TextEncoder),T=[],O=K0(t),N=0,G,$=new ReadableStream({async start(X){let K=fe=>{T.push(fe),a&&X.enqueue(w.encode(fe))},ie=fe=>{typeof fe=="string"&&fe.length&&(N+=fe.length)},be=()=>Y0(O,N),ye=fe=>{let ge=be();o?.debug?.({reason:fe,promptTokens:ge.prompt_tokens,completionTokens:ge.completion_tokens,outputChars:N,sdkUsageRaw:G,runUsage:A.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),K(w.finish(fe,ge))};try{let fe=0,ge=!1,ae=!0,V=!1,Y=!1,Z="",Ae=0,Le=()=>{!V||Y||(K(w.thinkingSignature()),Y=!0,ae=!1)};for(;;){let W=!1;for await(let ce of TR(A,s)){if(Ou(A),ce.kind==="host_tool"){if(s!=="bridge")continue;for(Le(),ae=!1,ie(ce.tool.name),ie(JSON.stringify(ce.tool.args??{})),K(w.toolCall(ce.tool,fe)),fe+=1;A.pendingEmit.length;){let Se=A.pendingEmit.shift();ie(Se.name),ie(JSON.stringify(Se.args??{})),K(w.toolCall(Se,fe)),fe+=1}ye("tool_calls"),a&&X.enqueue(w.encodeDone()),X.close();return}if(ce.kind==="end"){if(A.streamIterator=void 0,A.run=void 0,B0({mode:s,assistantText:Z,emittedHostTools:fe,continuationAttempts:Ae})){Ae+=1,o?.warn?.({assistantText:Z,attempt:Ae},"cursor-sdk continuing progress-only terminal turn");let Se=await Ad(A,()=>A.agent.send(j0(),k));A.run=Se,A.streamIterator=Se.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0,Z="",W=!0;break}Le(),ye("stop"),a&&X.enqueue(w.encodeDone()),X.close();return}let ne=ce.message;if(ne){if(ne.type==="assistant")for(let Se of ne.message?.content||[])Se.type==="text"&&Se.text&&(Le(),ae=!1,ge=!0,Z+=Se.text,ie(Se.text),K(w.content(Se.text)));else if(ne.type==="thinking"){if(!ae)continue;let Se=_s(ne.text);Se&&(V=!0,ie(Se),K(w.thinking(Se)))}else if(ne.type==="usage")G=X0(ne);else if(ne.type==="status"){if(ne.status==="ERROR"||ne.status==="CANCELLED")throw Object.assign(new Error(ne.message||`Cursor run ${ne.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ne.type==="tool_call"&&s!=="bridge"&&s==="agent"&&ne.name){Le(),ae=!1;let Se=`
337
- [cursor tool ${ne.status||"running"}: ${ne.name}]
338
- `;ie(Se),K(w.content(Se))}}}if(!W)break}!ge&&!fe&&(Le(),ye("stop")),a&&X.enqueue(w.encodeDone()),X.close()}catch(fe){o?.error?.({err:fe,metrics:A.metrics},"cursor-sdk stream failed"),ws(A,{rejectParked:!0,reason:"cursor-sdk stream failed"});try{X.error(fe)}catch{}}},cancel(){ws(A,{rejectParked:!0,reason:"cursor-sdk client cancelled stream"})}});if(!a){let X=$.getReader();for(;;){let{done:ie}=await X.read();if(ie)break}let K=N0(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 Pu=class{static TransformerName=bd;name=bd;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let s={cursorMode:this.options.cursorMode||Ru,cursorCwd:this.options.cursorCwd,sandboxEnabled:this.options.sandboxEnabled,logger:this.logger},a=await Q0(e,r,n,s);return{body:e,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:a}}}async transformResponseOut(e){return e}};var Z0={AnthropicTransformer:$n,GeminiTransformer:wi,VertexGeminiTransformer:qa,VertexClaudeTransformer:fu,VertexOpenaiTransformer:du,DeepseekTransformer:Xa,TooluseTransformer:Qa,OpenrouterTransformer:tu,OpenAITransformer:gu,MaxTokenTransformer:ru,GroqTransformer:nu,CleancacheTransformer:ou,EnhanceToolTransformer:iu,ReasoningTransformer:au,SamplingTransformer:uu,MaxCompletionTokens:cu,CerebrasTransformer:hu,StreamOptionsTransformer:pu,CustomParamsTransformer:mu,VercelTransformer:yu,OpenAIResponsesTransformer:Cu,CodexTransformer:wu,QwenAuthTransformer:Eu,ForceReasoningTransformer:ku,ExtraThinkTagTransformer:Su,MistralTransformer:Au,ChromeOnDeviceTransformer:Tu,OpencodeHeadersTransformer:Du,ClaudeAuthTransformer:vu,CursorSdkTransformer:Pu};var Ao=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=ee(ee.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 LF(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${vi}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,kS(t)].join(" ")}function tg(t,e,r){try{if(BF(t,"utf-8")===e)return}catch{}jF(t,e,{encoding:"utf-8",mode:r})}function xi(t,e=Rn){let r=Di(t,".cursor"),n=Di(r,"hooks");MF(n,{recursive:!0});let o=Di(n,"deny-builtin.cjs");tg(o,UF(LF(e)),448);try{NF(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}]}};tg(Di(r,"hooks.json"),JSON.stringify(c,null,2),384),tg(Di(t,"AGENTS.md"),wS(t,e),384)}function fs(t,e){t.poisoned=!0,t.poisonReason=e}async function og(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 sg(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&&fs(t,e.reason||"cursor-sdk run cancellation did not complete"),r}async function sg(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 il(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 Oi(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")||OS("/.dockerenv")||process.env.container==="docker")}function HF(t,e){OS(Sr)||vS(Sr,{recursive:!0});let r=PS(Sr,t);return vS(r,{recursive:!0}),xi(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 xi(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function DS(t,e,r=Sr){if(!Qp(t,r))return!1;try{return $F(t,{recursive:!0,force:!0}),!0}catch(n){return e?.debug?.({err:n,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function FS(t){if(t.headerSession)return rg("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?rg("sha256").update(e[1]).digest("hex").slice(0,32):rg("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return ls([t.model||"",t.systemAndFirstUser||""])}function xS(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function sl(t){t.lastActiveAt=Date.now()}var ng=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&&sl(r),r}async retireSession(e,r,n){fs(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||Rn,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:HF(e.key,o);e.mode==="bridge"&&xi(s,o);let i=e.mode==="plan"?"plan":"agent",c=Oi(e.sandboxEnabled),u=await RS.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=Oi(e.sandboxEnabled),n=e.hostEnv||Rn;e.mode==="bridge"&&xi(e.workspaceDir,n);let o=await RS.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"),sl(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await og(r,{rejectParked:!0,reason:"cursor-sdk session disposed"});try{r.agent.close()}catch{}DS(r.workspaceDir,this.logger)}}invalidate(e,r){let n=typeof e=="string"?this.sessions.get(e):e;if(n){if(fs(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>=Xp;){let e,r=1/0;for(let[n,o]of this.sessions)xS(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Xp},"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)xS(n)||e-n.lastActiveAt>aS&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),r=Sr){if(e-this.lastSweepAt<uS)return 0;this.lastSweepAt=e;let n;try{n=qF(r)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of n){let c=PS(r,i);if(!(o.has(c)||!Qp(c,r))){try{let u=zF(c);if(!u.isDirectory()||e-u.mtimeMs<=cS)continue}catch{continue}DS(c,this.logger,r)&&s++}}return s&&this.logger?.info?.({removed:s,root:r},"cursor-sdk orphan workspaces swept"),s}},Dn=new ng;var WF="Cursor SDK agent.send timed out";function ag(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 cg(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 GF(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 JF(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=GF(n),await sg(s?Promise.race([o,s.promise]):o,15e3,WF)}catch(i){throw o&&o.then(c=>c.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function ug(t,e,r,n={}){return JF(t,e,r,n.abortSignal)}import{randomUUID as ZF}from"crypto";var VF=6,KF=512,YF=4;function XF(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function QF(t,e){return t.length<8?!1:t.includes(e)||t.includes(Sr)}function IS(t,e){let r=[],n=0,o=(s,i,c)=>{if(!(r.length>=YF||n>=KF||c>VF)){if(n++,typeof s=="string"){QF(s,e)&&r.push({argPath:i||"(argument)",value:XF(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 NS(t){return t.projectRoot?!t.projectRoot.startsWith(Sr):!0}function MS(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.",so(n),"Retry the call with a host path."].join(`
350
+ `)}var eI=3;function tI(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 lg(){return{scratchViolations:0,scratchCorrections:0}}function BS(t,e,r,n=lg()){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:tI(s.function.parameters),async execute(c,u){let f=Ur(u.toolCallId)||ZF(),d=c||{},h=e.hostEnv||Rn,m=NS(h)?IS(d,e.workspaceDir):[];if(m.length){e.metrics.scratchPathViolations+=1,n.scratchViolations+=1;let S=e.metrics.scratchPathCorrections<eI;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,MS(m,i,e.workspaceDir,h)}return e.metrics.customToolCalls+=1,e.parkHostTool({id:f,name:i,args:d})}})}return o}function US(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function jS(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function LS(t){let e=[];t.system&&e.push(jS(t.system));for(let r of t.messages||[])e.push(jS(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)),US(e.join(`
351
+ `).length)}function qS(t,e,r=0){let n=Math.max(0,Math.trunc(t)||0),o=US(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 al(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function $S(t,e,r){let n=Math.max(0,Math.trunc(r)||0);if(!n||!t)return 0;let o=al(t.prompt_tokens),s=al(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=al(e?.prompt_tokens),c=al(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 zS(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}}}import{createHash as rI}from"crypto";var nI=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function Er(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=>Er(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=Er(t[r]);n!==void 0&&(e[r]=n)}return e}function fg(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=Er(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 Er(e);let r=e;return r.type==="text"?{text:String(r.text||""),type:"text"}:Er(r)}).filter(e=>e!==void 0)}function oI(t){if(typeof t!="string")return Er(t)??null;try{return Er(JSON.parse(t))??null}catch{return t}}function hg(t){let e=t,r={content:fg(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:oI(n.function.arguments),name:n.function.name},id:n.id,type:n.type}))),r}function HS(t){return Array.isArray(t)?t.map(e=>Er(e)).filter(e=>e!==void 0).sort((e,r)=>dg(e).localeCompare(dg(r))):[]}function dg(t){return JSON.stringify(t)}function pg(t){return rI("sha256").update(dg(t)).digest("hex")}function WS(t){return{system:fg(t.system),messages:(t.messages||[]).map(hg)}}function sI(t){let e=t,r={};for(let n of Object.keys(e).sort()){if(nI.has(n)||n==="cache_control")continue;let o;n==="messages"?o=(t.messages||[]).map(hg):n==="system"?o=fg(t.system):n==="tools"?o=HS(t.tools):o=Er(e[n]),o!==void 0&&(r[n]=o)}return r}function GS(t,e={}){return pg({compatibilityStamp:e.compatibilityStamp||"",request:sI(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 gg(t){return pg({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:Er(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:HS(t.tools),workspaceDir:t.workspaceDir})}function JS(t,e){return pg({messages:e,system:t})}function VS(t,e){if(e&&e.role!=="assistant")throw new TypeError("Cursor transcript commits require an assistant message");let r=WS(t);return e&&r.messages.push(hg(e)),Object.freeze({transcriptHash:JS(r.system,r.messages),messageCount:r.messages.length})}function KS(t,e){if(!Number.isInteger(t.messageCount)||t.messageCount<0||typeof t.transcriptHash!="string")return;let r=WS(e);if(!(r.messages.length<=t.messageCount)&&JS(r.system,r.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function iI(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 Vr=t=>({action:"retire-and-replay-full",reason:t});function YS(t){let{session:e,turn:r}=t;if(e.poisoned)return Vr("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:Vr("inconsistent-unused-session");if(e.alignment==="unknown")return Vr("unknown-context-alignment");if(e.alignment==="divergent")return Vr("divergent-context-alignment");if(e.run.kind==="active-different-turn")return Vr("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return Vr("dead-parked-run");if(r.hasMeaningfulSteering)return Vr("parked-turn-has-steering");let n=iI(e.run.tools,r.toolResults);return n?{action:"resume-parked",reason:"exact-parked-tool-results",matches:n}:Vr("parked-tool-results-mismatch")}return r.toolResults.length>0?Vr("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function ir(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 mg(t,e){let r;try{await Promise.race([t,new Promise(n=>{r=setTimeout(n,e)})])}finally{r&&clearTimeout(r)}}var yg=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 _g(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(ir(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 mg(this.settled,3e3);return}this.phase="aborting";let r=ir(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 mg(o,3e3),this.finishFailed(r)}await mg(this.settled,3e3)}async responseFor(e,r){if(await this.ready,!this.interests.has(e))throw ir(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(ir(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,ir(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||ir("Cursor turn ended before subscription"))},cancel:o=>n!==void 0?this.removeSubscriber(n,ir(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(ir(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"))}},_g=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}}},bg=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 ir(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 ir(e.signal.reason);for(;;){if(e.signal?.aborted)throw ir(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 yg(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()}},XS=new bg;var cI=900*1e3,Pi=null;function Cg(t){return ls([t])}async function uI(t){let e=Cg(t);if(Pi&&Pi.apiKeyFingerprint===e&&Date.now()-Pi.fetchedAt<cI)return Pi.models;let r=await aI.models.list({apiKey:t})||[];return Pi={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function lI(t,e,r){let n=[];try{n=await uI(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 dI(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 fI(t){return t.length===1&&t[0]?.role==="user"}function hI(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||sr(i.content)!==c.content)return!1}return!n||t[t.length-1]?.role==="user"}function ar(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*pI(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 gI(t,e){if(!e||e.type!=="thinking-delta")return;let r=ds(e.text);if(r)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:r}}async function Fi(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:Dn.retireSession(t,e.reason,()=>il(t,async()=>(await og(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),Dn.invalidate(t,e.reason),!0)))}function mI(t,e,r,n){let o=n.cursorMode||nl,s=t.model||"composer-2",i;try{i=sS(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=FS({headerSession:typeof c=="string"?c:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:dI(t)});return{apiKey:i,hostEnv:Ri(t),mode:o,modelId:s,sessionKey:f,turnIntent:n.turnIntent||r?.unifiedRequest?.turnIntent}}async function QS(t,e,r,n={}){let o=mI(t,e,r,n),s=n.cursorCwd||`managed-session:${o.sessionKey}`,i=gg({credentialFingerprint:Cg(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:Zp(t)||""},sandboxEnabled:Oi(n.sandboxEnabled),tools:t.tools,workspaceDir:s}),c=GS(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await XS.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 yI(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 yI(t,e,r,n,o){ar(n.abortSignal);let s=n.logger||e?.logger;s&&Dn.setLogger(s);let i=o.mode,c=t.stream===!0,u=o.modelId,f=o.apiKey,d=o.sessionKey,h=Zp(t),m=await lI(f,u,h);ar(n.abortSignal);let S=o.hostEnv,b={key:d,apiKey:f,model:m,mode:i,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled,hostEnv:S};ar(n.abortSignal);let y=await Dn.getOrCreate(b);ar(n.abortSignal);let C=Y=>!S.known&&Y.hostEnv?.known?Y.hostEnv:S,_=Y=>gg({credentialFingerprint:Cg(f),guidanceFingerprint:C(Y).fingerprint,mode:i,model:m,sandboxEnabled:Oi(n.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),R=C(y),k=_(y),T=TS(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?KS(y.transcriptCommit,t):void 0,W=M===void 0?!1:D.kind==="parked"?hI(M,T,n.turnIntent):D.kind==="idle"?fI(M):!0,$=!y.hasSentPrompt||!y.transcriptCommit?"unknown":W?"strict":"divergent",se=YS({session:{alignment:$,hasSentPrompt:y.hasSentPrompt,poisoned:y.poisoned===!0,run:D},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:O}});if(se.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:y.key,agentId:y.agentId,alignment:$,lifecycleReason:se.reason,toolResultCount:O.length},"cursor-sdk retiring session before full transcript replay"),await Fi(y,{reason:`cursor-sdk lifecycle: ${se.reason}`,onlyRunToken:y.activeRunToken}),ar(n.abortSignal),y=await Dn.getOrCreate(b),ar(n.abortSignal),R=C(y),k=_(y),se={action:"send-full",reason:"unused-session"}),ar(n.abortSignal),ig(y,R),se.action==="resume-parked"&&(ar(n.abortSignal),Dn.resolveParkedTools(y,O)!==O.length||y.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let K=se.action!=="resume-parked",ne=se.action==="send-incremental",Q=y.activeRunToken,ie=(Y,fe)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(oe=>oe.runToken!==fe),Y.notifySdkMessage()},Se=(Y,fe)=>{let oe=i==="bridge"?BS(t,Y,s,Ce):void 0;return{model:m,mode:i==="plan"?"plan":"agent",local:oe?{customTools:oe}:void 0,onDelta:({update:w})=>{let A=gI(Y,w);A&&Y.enqueueSdkMessage(A,fe)}}},Ce=lg(),De=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),X=(Y,fe)=>fe.hasSentPrompt&&!n.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||ag(Y)||cg(Y)),ae=async(Y,fe)=>{let oe;if(await il(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 fs(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=AS(t,{mode:i,workspaceDir:Y.workspaceDir,followUpOnly:fe,hostEnv:R,turnIntent:n.turnIntent});oe=Symbol("cursor-sdk-run"),Y.activeRunToken=oe;try{let A=await ug(Y,w,Se(Y,oe),{abortSignal:n.abortSignal,logger:s});Y.run=A,Y.activeRunToken=oe,Y.streamIterator=A.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,ar(n.abortSignal)}catch(A){throw oe&&Y.activeRunToken===oe&&(Y.activeRunToken=void 0,ie(Y,oe)),(n.abortSignal?.aborted||cg(A)||ag(A))&&fs(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}}),!oe)throw new Error("cursor-sdk agent.send did not produce a run token");return oe};if(K)try{Q=await ae(y,ne)}catch(Y){let fe=X(Y,y);if(await Fi(y,{reason:"cursor-sdk prompt send failed before streaming"}),!fe)throw De(Y);ar(n.abortSignal),s?.warn?.({err:Y,sessionKey:y.key,agentId:y.agentId},"cursor-sdk retrying failed resumed send with fresh session"),y=await Dn.getOrCreate(b),ar(n.abortSignal),R=C(y),k=_(y),ig(y,R);try{Q=await ae(y,!1)}catch(oe){throw await Fi(y,{reason:"cursor-sdk fresh replay send failed before streaming"}),De(oe)}}Q||(Q=Symbol("cursor-sdk-run"),y.activeRunToken=Q);let re=dS(u,new TextEncoder),ve=[],be=LS(t),z=0,ye,Ne=new ReadableStream({async start(Y){let fe=()=>{Ce.scratchViolations<=0||s?.warn?.({sessionKey:y.key,model:u,scratchViolations:Ce.scratchViolations,scratchCorrections:Ce.scratchCorrections,metrics:y.metrics,hostProjectRoot:R.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},oe=x=>{ve.push(x),c&&Y.enqueue(re.encode(x))},w=x=>{typeof x=="string"&&x.length&&(z+=x.length)},A=()=>{let x=$S(ye,y.lastSdkUsageRaw,be),I=qS(be,z,x);return ye&&(y.lastSdkUsageRaw=ye),I},v=()=>{if(y.activeRunToken!==Q)return;let I=eg(u,ve)?.choices?.[0]?.message;!I||I.role!=="assistant"||(y.transcriptCommit=VS(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:ye,runUsage:y.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),oe(re.finish(x,I)),v()};try{let x=0,I=!1,L=!0,P=!1,N=!1,U,B="",G=0,ee=()=>{!P||N||(oe(re.thinkingSignature()),N=!0,L=!1)};for(;;){let ce=!1;for await(let we of pI(y,i,Q,n.abortSignal)){if(sl(y),we.kind==="host_tool"){if(i!=="bridge")continue;for(ee(),L=!1,w(we.tool.name),w(JSON.stringify(we.tool.args??{})),oe(re.toolCall(we.tool,x)),x+=1;y.pendingEmit.length;){let pe=y.pendingEmit.shift();w(pe.name),w(JSON.stringify(pe.args??{})),oe(re.toolCall(pe,x)),x+=1}j("tool_calls"),c&&Y.enqueue(re.encodeDone()),Y.close();return}if(we.kind==="end"){if(we.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(SS({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 pe=Symbol("cursor-sdk-run");Q=pe,y.activeRunToken=pe;try{await il(y,async()=>{if(y.poisoned||n.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let ge=await ug(y,ES(R),Se(y,pe),{abortSignal:n.abortSignal,logger:s});if(y.run=ge,y.activeRunToken=pe,y.streamIterator=ge.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(ge){throw ge}B="",ce=!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(re.encodeDone()),Y.close();return}let _e=we.message;if(_e){if(_e.type==="assistant")for(let pe of _e.message?.content||[])pe.type==="text"&&pe.text&&(ee(),L=!1,I=!0,B+=pe.text,w(pe.text),oe(re.content(pe.text)));else if(_e.type==="thinking"){if(!L)continue;let pe=we.source||"stream";if(U&&U!==pe)continue;U=pe;let ge=ds(_e.text);ge&&(P=!0,w(ge),oe(re.thinking(ge)))}else if(_e.type==="usage")ye=zS(_e);else if(_e.type==="status"){if(_e.status==="ERROR"||_e.status==="CANCELLED")throw Object.assign(new Error(_e.message||`Cursor run ${_e.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(_e.type==="tool_call"&&i!=="bridge"&&i==="agent"&&_e.name){ee(),L=!1;let pe=`
353
+ [cursor tool ${_e.status||"running"}: ${_e.name}]
354
+ `;w(pe),oe(re.content(pe))}}}if(!ce)break}!I&&!x&&(ee(),j("stop")),c&&Y.enqueue(re.encodeDone()),Y.close()}catch(x){s?.error?.({err:x,metrics:y.metrics},"cursor-sdk stream failed"),await Fi(y,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Q});try{Y.error(x)}catch{}}finally{fe()}},async cancel(){await Fi(y,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Q})}});if(!c){let Y=Ne.getReader();for(;;){let{done:oe}=await Y.read();if(oe)break}let fe=eg(u,ve);return new Response(JSON.stringify(fe),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Ne,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function _I(t,e,r){return{cursorMode:t.cursorMode||nl,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:r,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var cl=class{static TransformerName=Yp;name=Yp;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let o=_I(this.options,n,this.logger),s={...e,messages:Ge(e.messages),tools:Je(e.tools)},i=await QS(s,r,n,o);return{body:s,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};import{randomUUID as HI}from"crypto";import{existsSync as eE,mkdirSync as bI,readFileSync as CI,renameSync as wI,unlinkSync as kI,writeFileSync as SI}from"fs";import{dirname as EI,join as AI}from"path";import{homedir as TI}from"os";import{randomUUID as vI}from"crypto";var kg="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",Sg="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",tE="http://localhost:51121/oauth-callback",RI=["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"],Eg="https://daily-cloudcode-pa.sandbox.googleapis.com",rE="https://autopush-cloudcode-pa.sandbox.googleapis.com",nE="https://cloudcode-pa.googleapis.com",DI=[Eg,rE,nE],wg=[nE,Eg,rE],xI="1.18.3",OI=AI(TI(),".claude-code-router","antigravity_auth.json"),PI=12e4,oE="https://oauth2.googleapis.com/token",FI="https://www.googleapis.com/oauth2/v2/userinfo",ul=null,sE=null;function iE(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||OI}function Ii(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${xI} 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 ll(){try{let t=iE();if(!eE(t))return null;let e=JSON.parse(CI(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function Ag(t){let e=iE();bI(EI(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{SI(r,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),wI(r,e)}finally{try{eE(r)&&kI(r)}catch{}}}function II(t){return Date.now()+PI>=t.expires_at}async function NI(t){let e=new URLSearchParams({client_id:kg,client_secret:Sg,refresh_token:t.refresh_token,grant_type:"refresh_token"}),r=await fetch(oE,{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 Ag(o),o}async function dl(t){let e=ll();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!II(e)?e:(ul||(ul=NI(e).finally(()=>{ul=null})),ul)}function hs(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 MI(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 aE(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function ZS(t){await new Promise(e=>setTimeout(e,t))}async function BI(t,e,r){let n=r.startsWith("http")?r:`${e}/${r.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ii()};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 ZS(2e3);continue}let c=await i.json();if(c?.done===!0)return hs(c?.response)||hs(c)||void 0}catch{}await ZS(2e3)}}async function jI(t,e,r){try{let n=await fetch(`${r}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ii()},body:JSON.stringify({tierId:e,metadata:aE()}),signal:AbortSignal.timeout(3e4)});if(!n.ok)return;let o=await n.json(),s=hs(o?.response)||hs(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?BI(t,r,o.name.trim()):void 0}catch{return}}function UI(t){let e=MI(t),r=["free-tier","FREE"];return[...new Set([e,...r].filter(Boolean))]}async function LI(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Ii()},r=JSON.stringify({metadata:aE()}),n;for(let o of wg)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=hs(i);if(c)return c}catch{}for(let o of UI(n))for(let s of wg){let i=await jI(t,o,s);if(i)return i}for(let o of wg)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:r,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=hs(await s.json());if(i)return i}catch{}}async function Tg(t,e){let r=t?.project_id?.trim();if(r)return r;let n=ll();if(n?.project_id?.trim())return n.project_id.trim();let o=await LI(e);if(o){let s=ll();return s&&Ag({...s,project_id:o}),o}}function Ni(){return sE||Eg}function cE(t){sE=t}var uE=new Set;function lE(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function dE(t){uE.add(t.replace(/\/$/,""))}function qI(t){return uE.has(t.replace(/\/$/,""))}function fE(t,e){return e?t===404||t===403||t>=500:!1}function hE(t){let e=t?.replace(/\/$/,"")||Ni(),r=[...new Set([e,...DI])],n=r.filter(o=>!qI(o));return n.length?n:r}function fl(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function pE(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:vI()}}async function $I(t){try{let e=await fetch(FI,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function zI(t,e){let r=new URLSearchParams({client_id:kg,client_secret:Sg,code:t,grant_type:"authorization_code",redirect_uri:tE,code_verifier:e}),n=await fetch(oE,{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 gE(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 mE(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function WI(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 GI(t){return t?.req?.body?.stream===!0}function JI(t){return hE(t)}var hl=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,r,n,o){let s=await dl({force:o?.forceRefresh}),i=await Tg(r,s.access_token),c=WI(n,r),u=GI(n),f=pE({...i?{project:i}:{},model:c,request:e});return f.requestId=f.requestId||HI(),{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,...Ii(),...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||Ni(),d=JI(f),h;for(let m=0;m<d.length;m++){let S=d[m],b=fl(S,n),y=this.buildHeaders(r,n);try{let C=await ko(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 dl({force:!0});return this.sendWithFallback(e,_.access_token,n,o,s,!0)}if(C.status===429){let _=await C.clone().text().catch(()=>""),R=gE(_),k={};throw R!=null&&(k["Retry-After"]=String(Math.ceil(R/1e3))),ze(mt(_)||"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(_)&&(dE(S),u?.warn?.({endpoint:S},"Antigravity endpoint is not enabled for this project; skipping it")),fE(C.status,m<d.length-1)){h=ze(`Antigravity endpoint ${S} returned ${C.status}`,C.status,"provider_error");continue}throw ze(mt(_)||`Antigravity request failed with ${C.status}`,C.status,C.status===403?"permission_error":"provider_error")}return cE(S),C}catch(C){if(C?.statusCode===429||C?.status===429||!qn(C))throw C;if(h=C,m<d.length-1)continue;throw C}}throw h||ze("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:fl(Ni(),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:fl(r?.baseUrl||Ni(),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?He(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Oe(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(6);if(s.trim()==="[DONE]"){o.controller.enqueue(Be("[DONE]",o.encoder));return}try{let i=JSON.parse(s),c=mE(i);o.controller.enqueue(Be(JSON.stringify(c),o.encoder))}catch{o.controller.enqueue(Oe(n,o.encoder))}return}o.controller.enqueue(Oe(n,o.encoder))},{logger:this.logger}):e;if(r.includes("application/json")){let n=await e.text();try{let o=JSON.parse(n),s=mE(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:Eo,GeminiTransformer:Ua,VertexGeminiTransformer:pu,VertexClaudeTransformer:Mu,VertexOpenaiTransformer:Bu,DeepseekTransformer:Eu,TooluseTransformer:Au,OpenrouterTransformer:Tu,OpenAITransformer:Lu,MaxTokenTransformer:vu,GroqTransformer:Ru,CleancacheTransformer:Du,EnhanceToolTransformer:Ou,ReasoningTransformer:Pu,SamplingTransformer:Fu,MaxCompletionTokens:Iu,CerebrasTransformer:ju,StreamOptionsTransformer:Uu,CustomParamsTransformer:qu,VercelTransformer:$u,OpenAIResponsesTransformer:zu,CodexTransformer:Vu,QwenAuthTransformer:Ku,ForceReasoningTransformer:Yu,ExtraThinkTagTransformer:Xu,MistralTransformer:Qu,ChromeOnDeviceTransformer:Zu,OpencodeHeadersTransformer:el,ClaudeAuthTransformer:rl,CursorSdkTransformer:cl,AntigravityAuthTransformer:hl};var ps=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=te(te.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(Z0).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)}};import{get_encoding as DR}from"tiktoken";var ks=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=DR(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=c=>this.encoding.encode(c,void 0,[]),o=0,{messages:s,system:a,tools:u}=e;return Array.isArray(s)&&s.forEach(c=>{typeof c.content=="string"?o+=n(c.content).length:Array.isArray(c.content)&&c.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 a=="string"?o+=n(a).length:Array.isArray(a)&&a.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?o+=n(c.text).length:Array.isArray(c.text)&&c.text.forEach(f=>{o+=n(f||"").length}))}),u&&u.forEach(c=>{c.description&&(o+=n(c.name+c.description).length),c.input_schema&&(o+=n(JSON.stringify(c.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)}};import{join as ju}from"path";import{homedir as j1}from"os";import{existsSync as Rd,mkdirSync as M1}from"fs";import{promises as Mu}from"fs";var vR=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,a=null,u=o;for(;u<r&&(s=s[t[u]]);)s.end&&(a=s.end),++u;a?(o>n&&e.push(t.slice(n,o)),e.push(a),o+=a.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},RR=vR,xR=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}},OR=xR,ib=(()=>{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]]))})(),FR=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),PR=FR(ib),eb=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",IR=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|[${eb}])]+`,` ?[^\\s${eb}]+`]]),Ss="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",TM=new RegExp(`^[${Ss}]+$`,"gu"),Dd=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"),Iu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of IR)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=NR(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},NR=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),BR=(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},jR=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,MR=t=>Number.isInteger(t)||typeof t=="bigint",UR=t=>{let e=0;for(let r of t)++e;return e},LR=t=>ab(t.toLowerCase()),Bt=(...t)=>Array.prototype.concat.apply([],t),vd=t=>new Map(Object.entries(t)),qR=(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},ab=t=>t.replace(new RegExp("\\p{M}","gu"),""),tb=(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},$R=t=>t.match(/\S+/g)||[],zR=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},As=zR,HR=class extends As{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rr=HR,WR=class extends Rr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);jR(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`
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}},GR=WR,JR=class extends Rr{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}},VR=JR,KR=class extends Rr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>ub(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},YR=KR,XR=class extends Rr{normalize(t){let e=Iu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},QR=XR,ZR=class extends Rr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Nu=ZR,ex=class extends Nu{constructor(){super(...arguments),this.form="NFC"}},tx=ex,rx=class extends Nu{constructor(){super(...arguments),this.form="NFD"}},nx=rx,ox=class extends Nu{constructor(){super(...arguments),this.form="NFKC"}},sx=ox,ix=class extends Nu{constructor(){super(...arguments),this.form="NFKD"}},ax=ix,ux=class extends Rr{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}},cx=ux,lx=class extends Rr{normalize(t){return ab(t)}},fx=lx,dx=class extends Rr{normalize(t){return t.toLowerCase()}},hx=dx,px=class extends Rr{normalize(t){return t=this.config.prepend+t,t}},gx=px;function mx(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new GR(t);case"Precompiled":return new VR(t);case"Sequence":return new YR(t);case"Replace":return new QR(t);case"NFC":return new tx(t);case"NFD":return new nx(t);case"NFKC":return new sx(t);case"NFKD":return new ax(t);case"Strip":return new cx(t);case"StripAccents":return new fx(t);case"Lowercase":return new hx(t);case"Prepend":return new gx(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var ub=mx,yx=class extends As{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)}},lr=yx,_x=class extends lr{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=ib,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(""))}},bx=_x,Cx=class extends lr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},wx=Cx,Ex=class extends lr{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]}},kx=Ex,Sx=class extends lr{constructor(t){super(),this.config=t,this.pattern=Iu(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):qR(t,this.pattern)}},Ax=Sx,Tx=class extends lr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Ss}]+|[${Ss}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Dx=Tx,vx=class extends lr{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)||[]}},Rx=vx,xx=class extends lr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Ss}]+|[${Ss}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},Ox=xx,Fx=class extends lr{constructor(t){super(),this.config=t,this.pattern=Iu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},Px=Fx,Ix=class extends lr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>cb(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},Nx=Ix,Bx=class extends lr{pre_tokenize_text(t){return $R(t)}},jx=Bx;function Mx(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new Ox;case"Sequence":return new Nx(t);case"Whitespace":return new wx;case"WhitespaceSplit":return new jx;case"Metaspace":return new kx(t);case"ByteLevel":return new bx(t);case"Split":return new Ax(t);case"Punctuation":return new Dx(t);case"Digits":return new Rx(t);case"Replace":return new Px(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var cb=Mx,Ux=class extends As{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=BR(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)}},Bu=Ux,Lx=class extends Bu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=vd(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}},rb=Lx,nb=class lb{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new lb(!1,new Map)}},qx=class{constructor(){this.root=nb.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=nb.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)}}},$x=qx,Td=class fb{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 fb(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},zx=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 Td(this.bos_token_id??0,0,0,0,0),o=new Td(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 Td(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)}},Hx=zx;function Wx(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 Gx=class extends Bu{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=Wx(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new $x,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=UR(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 Hx(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}},ob=Gx,Jx=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}},Vx=Jx,Kx=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()}},Yx=Kx,Xx=class extends Bu{constructor(t){super(t),this.tokens_to_ids=vd(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 Yx(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 Vx((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}},sb=Xx,Qx=class extends Bu{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=vd(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}},Zx=Qx;function e1(t,e){switch(t.type){case"WordPiece":return new rb(t);case"Unigram":return new ob(t,e.eos_token);case"BPE":return new sb(t);default:if(t.vocab)return Array.isArray(t.vocab)?new ob(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new sb(t):new rb(t):new Zx(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 t1=e1,r1=class extends As{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Ts=r1,n1=class extends Ts{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=Bt(o,t),s=Bt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Bt(o,e),s=Bt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},o1=n1,s1=class extends Ts{post_process(t,e=null){return{tokens:e?Bt(t,e):t}}},i1=s1,a1=class extends Ts{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Bt([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=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},u1=a1,c1=class extends Ts{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Bt([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=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},l1=c1,f1=class extends Ts{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>db(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}},d1=f1;function h1(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new o1(t);case"ByteLevel":return new i1(t);case"BertProcessing":return new u1(t);case"RobertaProcessing":return new l1(t);case"Sequence":return new d1(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var db=h1,p1=class extends As{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("")}},fr=p1,g1=class extends fr{constructor(t){super(t),this.byte_decoder=PR,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}},m1=g1,y1=class extends fr{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=Dd(e)),e})}},_1=y1,b1=class extends fr{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}},C1=b1,w1=class extends fr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},E1=w1,k1=class extends fr{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=Dd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},S1=k1,A1=class extends fr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>hb(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},T1=A1,D1=class extends fr{decode_chain(t){let e=Iu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},v1=D1,R1=class extends fr{decode_chain(t){return[t.join("")]}},x1=R1,O1=class extends fr{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)})}},F1=O1,P1=class extends fr{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}},I1=P1;function N1(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new m1(t);case"WordPiece":return new _1(t);case"Metaspace":return new C1(t);case"BPEDecoder":return new E1(t);case"CTC":return new S1(t);case"Sequence":return new T1(t);case"Replace":return new v1(t);case"Fuse":return new x1(t);case"Strip":return new F1(t);case"ByteFallback":return new I1(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var hb=N1,B1=class{constructor(t,e){let r=tb(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=tb(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=ub(this.tokenizer.normalizer),this.pre_tokenizer=cb(this.tokenizer.pre_tokenizer),this.model=t1(this.tokenizer.model,this.config),this.post_processor=db(this.tokenizer.post_processor),this.decoder=hb(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new OR(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 RR(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||!MR(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=Dd(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=LR(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:Bt(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}},pb=B1;var Uu=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||ju(j1(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=ju(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:ju(e,"tokenizer.json"),tokenizerConfig:ju(e,"tokenizer_config.json")}}ensureDir(e){Rd(e)||M1(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Rd(e.tokenizerJson)||!Rd(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Mu.readFile(e.tokenizerJson,"utf-8"),Mu.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([Mu.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),Mu.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 pb(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 Lu=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 To=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 ks("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 ks(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Uu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Lu(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)}`}}};import{get_encoding as U1}from"tiktoken";var xd=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())}},Od=new xd(100);import{readFile as Pd}from"fs/promises";import{opendir as L1,stat as gb}from"fs/promises";import{join as Id}from"path";import{CLAUDE_PROJECTS_DIR as Fd,HOME_DIR as mb}from"@caeliq/ccr-shared";import{LRUCache as q1}from"lru-cache";var $1=U1("cl100k_base"),xr=t=>$1.encode(t,void 0,[]),yb="<CCR-SUBAGENT-MODEL>",_b="</CCR-SUBAGENT-MODEL>",bb="x-anthropic-billing-header",Do=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Cb(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 z1(t){let e=`${bb}:`;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 Do(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 H1(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return!1;let r=e[0],n=typeof r=="string"?r:Do(r)&&r.type==="text"&&typeof r.text=="string"?r.text:void 0;if(!n?.startsWith(bb))return!1;let o=z1(n);return e.shift(),e.length===0&&delete t.system,o}function qu(t,e){let r=t.indexOf(yb);if(r<0)return;let n=r+yb.length,o=t.indexOf(_b,n);if(o<0)return;let s=Cb(t.slice(n,o));if(s)return e(`${t.slice(0,r)}${t.slice(o+_b.length)}`),s}function wb(t,e){if(typeof t=="string")return qu(t,e);if(!(!Do(t)||typeof t.text!="string"))return qu(t.text,e)}function W1(t){let e=t?.system;if(typeof e=="string")return qu(e,r=>{t.system=r});if(Array.isArray(e))for(let r=0;r<e.length;r+=1){let n=e[r],o=wb(n,s=>{typeof n=="string"?e[r]=s:Do(n)&&(n.text=s)});if(o)return o}}function G1(t){if(typeof t.content=="string")return qu(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=wb(n,s=>{typeof n=="string"?e[r]=s:Do(n)&&(n.text=s)});if(o)return o}}function J1(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(!Do(n)||n.role!=="user")continue;let o=G1(n);if(o)return o}}function V1(t){return W1(t)||J1(t)}var Eb=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=xr(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=xr(s.text).length:s.type==="tool_use"?n+=xr(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=xr(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=xr(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=xr(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=xr(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=xr(o.name+o.description).length),o.input_schema&&(n+=xr(JSON.stringify(o.input_schema)).length)}),n},K1=async(t,e)=>{if(t.sessionId){let r=await kb(t.sessionId);if(r){let n=Id(mb,r,"config.json"),o=Id(mb,r,`${t.sessionId}.json`);try{let s=JSON.parse(await Pd(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await Pd(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},Y1=async(t,e,r,n)=>{let o=await K1(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=H1(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=Cb(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"}},X1=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{}},Nd=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=X1(t.body.metadata?.user_id);let s=Od.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 Pd(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=Eb(a,u,c);let g,_=n.get("CUSTOM_ROUTER_PATH");if(_)try{let b=ee(_);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 Y1(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"}},nn=new q1({max:1e3}),kb=async(t,e)=>{if(nn.has(t)){let r=nn.get(t);return!r||r===""?null:r}try{if(!(await gb(Fd)).isDirectory())return nn.set(t,""),null}catch(r){return r?.code==="ENOENT"?(nn.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),nn.set(t,""),null)}try{let r=await L1(Fd),n=[];for await(let a of r)a.isDirectory()&&n.push(a.name);let o=n.map(async a=>{let u=Id(Fd,a,`${t}.jsonl`);try{return(await gb(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return nn.set(t,a),a;return nn.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),nn.set(t,""),null}};var Bd=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()}},Sb=new Bd;var Pb=Xt(Rb(),1);Ud();Ld();qd();Ob();var xs=new Map,zd=new Map,Ib={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,Pb.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)vo.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&&vo.registerHandlers(s)}r.outputOptions&&vo.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(zd.has(f))return zd.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 zd.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){xs.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=xs.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 Fb(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 $r).getReader();for(m=setInterval(async()=>{xs.get(f)&&await v(!1)},1e3);;){let{done:T,value:O}=await w.read();if(T)break;let N=O,G=xs.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 ie=p&&p.encodeText?p.encodeText(K).length:Os(K);G.tokenCount+=ie,G.lastTokenTime=$;for(let be=0;be<ie;be++)G.tokenTimestamps.push($)}}N.event==="message_stop"&&(m&&(clearInterval(m),m=null),await v(!0),xs.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:Os(v))}return b},0):typeof _=="string"&&(A=p.encodeText?p.encodeText(_).length:Os(_));else{let b=Array.isArray(_)?_.map(m=>m.text).join(""):_;A=Os(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 Fb(_,n,r.outputOptions,!0,t.log)}return u})})};function Os(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function Fb(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 vo.outputToType(c,a,u)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${c}:`,f)}}function cO(t={}){let e=aO({bodyLimit:52428800,...t});return e.setErrorHandler(pp),e.register(uO),e}var Hd=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=cO({...n,logger:n.logger??!0}),this.configService=new Ln({...e,logger:this.app.log}),this.transformerService=new Ao(this.configService,this.app.log),this.tokenizerService=new To(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 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 Nd(c,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await xc(u)});return}if(!r)throw new Error("options is required");let n=new Ln({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new Ao(n,this.app.log);await o.initialize();let s=new qn(n,o,this.app.log),a=new To(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 Nd(c,f,{configService:n,tokenizerService:a})}),await xc(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)}}},dL=Hd;export{Ln as ConfigService,qn as ProviderService,$r as SSEParserTransform,zn as SSESerializerTransform,To as TokenizerService,Ao as TransformerService,Eb as calculateTokenCount,dL as default,Xe as isClientAbortError,Sb as pluginManager,Sp as rewriteStream,Nd as router,kb as searchProjectBySession,Od as sessionUsageCache,Ib as 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)}};import{get_encoding as VI}from"tiktoken";var Mi=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=VI(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)}};import{join as yl}from"path";import{homedir as oB}from"os";import{existsSync as xg,mkdirSync as sB}from"fs";import{promises as _l}from"fs";var KI=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}},YI=KI,XI=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}},QI=XI,EE=(()=>{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]]))})(),ZI=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),eN=ZI(EE),_E=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",tN=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|[${_E}])]+`,` ?[^\\s${_E}]+`]]),Bi="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",M6=new RegExp(`^[${Bi}]+$`,"gu"),Rg=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"),pl=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of tN)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=rN(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},rN=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),nN=(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},oN=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,sN=t=>Number.isInteger(t)||typeof t=="bigint",iN=t=>{let e=0;for(let r of t)++e;return e},aN=t=>AE(t.toLowerCase()),Ht=(...t)=>Array.prototype.concat.apply([],t),Dg=t=>new Map(Object.entries(t)),cN=(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},AE=t=>t.replace(new RegExp("\\p{M}","gu"),""),bE=(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},uN=t=>t.match(/\S+/g)||[],lN=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ji=lN,dN=class extends ji{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Kr=dN,fN=class extends Kr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);oN(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}},hN=fN,pN=class extends Kr{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}},gN=pN,mN=class extends Kr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>TE(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},yN=mN,_N=class extends Kr{normalize(t){let e=pl(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},bN=_N,CN=class extends Kr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},gl=CN,wN=class extends gl{constructor(){super(...arguments),this.form="NFC"}},kN=wN,SN=class extends gl{constructor(){super(...arguments),this.form="NFD"}},EN=SN,AN=class extends gl{constructor(){super(...arguments),this.form="NFKC"}},TN=AN,vN=class extends gl{constructor(){super(...arguments),this.form="NFKD"}},RN=vN,DN=class extends Kr{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}},xN=DN,ON=class extends Kr{normalize(t){return AE(t)}},PN=ON,FN=class extends Kr{normalize(t){return t.toLowerCase()}},IN=FN,NN=class extends Kr{normalize(t){return t=this.config.prepend+t,t}},MN=NN;function BN(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new hN(t);case"Precompiled":return new gN(t);case"Sequence":return new yN(t);case"Replace":return new bN(t);case"NFC":return new kN(t);case"NFD":return new EN(t);case"NFKC":return new TN(t);case"NFKD":return new RN(t);case"Strip":return new xN(t);case"StripAccents":return new PN(t);case"Lowercase":return new IN(t);case"Prepend":return new MN(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var TE=BN,jN=class extends ji{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)}},Ar=jN,UN=class extends Ar{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=EE,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(""))}},LN=UN,qN=class extends Ar{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},$N=qN,zN=class extends Ar{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]}},HN=zN,WN=class extends Ar{constructor(t){super(),this.config=t,this.pattern=pl(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):cN(t,this.pattern)}},GN=WN,JN=class extends Ar{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Bi}]+|[${Bi}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},VN=JN,KN=class extends Ar{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)||[]}},YN=KN,XN=class extends Ar{constructor(){super(),this.pattern=new RegExp(`[^\\s${Bi}]+|[${Bi}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},QN=XN,ZN=class extends Ar{constructor(t){super(),this.config=t,this.pattern=pl(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},eM=ZN,tM=class extends Ar{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>vE(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},rM=tM,nM=class extends Ar{pre_tokenize_text(t){return uN(t)}},oM=nM;function sM(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new QN;case"Sequence":return new rM(t);case"Whitespace":return new $N;case"WhitespaceSplit":return new oM;case"Metaspace":return new HN(t);case"ByteLevel":return new LN(t);case"Split":return new GN(t);case"Punctuation":return new VN(t);case"Digits":return new YN(t);case"Replace":return new eM(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var vE=sM,iM=class extends ji{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=nN(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)}},ml=iM,aM=class extends ml{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Dg(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}},CE=aM,wE=class RE{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new RE(!1,new Map)}},cM=class{constructor(){this.root=wE.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=wE.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)}}},uM=cM,vg=class DE{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 DE(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},lM=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 vg(this.bos_token_id??0,0,0,0,0),o=new vg(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 vg(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)}},dM=lM;function fM(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 hM=class extends ml{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=fM(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new uM,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=iN(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 dM(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}},kE=hM,pM=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}},gM=pM,mM=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()}},yM=mM,_M=class extends ml{constructor(t){super(t),this.tokens_to_ids=Dg(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 yM(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 gM((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}},SE=_M,bM=class extends ml{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=Dg(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}},CM=bM;function wM(t,e){switch(t.type){case"WordPiece":return new CE(t);case"Unigram":return new kE(t,e.eos_token);case"BPE":return new SE(t);default:if(t.vocab)return Array.isArray(t.vocab)?new kE(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new SE(t):new CE(t):new CM(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 kM=wM,SM=class extends ji{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Ui=SM,EM=class extends Ui{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=Ht(o,t),s=Ht(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=Ht(o,e),s=Ht(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},AM=EM,TM=class extends Ui{post_process(t,e=null){return{tokens:e?Ht(t,e):t}}},vM=TM,RM=class extends Ui{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Ht([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=Ht(t,o,e,s),n=Ht(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},DM=RM,xM=class extends Ui{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Ht([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=Ht(t,o,e,s),n=Ht(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},OM=xM,PM=class extends Ui{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>xE(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}},FM=PM;function IM(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new AM(t);case"ByteLevel":return new vM(t);case"BertProcessing":return new DM(t);case"RobertaProcessing":return new OM(t);case"Sequence":return new FM(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var xE=IM,NM=class extends ji{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("")}},Tr=NM,MM=class extends Tr{constructor(t){super(t),this.byte_decoder=eN,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}},BM=MM,jM=class extends Tr{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=Rg(e)),e})}},UM=jM,LM=class extends Tr{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}},qM=LM,$M=class extends Tr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},zM=$M,HM=class extends Tr{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=Rg(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},WM=HM,GM=class extends Tr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>OE(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},JM=GM,VM=class extends Tr{decode_chain(t){let e=pl(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},KM=VM,YM=class extends Tr{decode_chain(t){return[t.join("")]}},XM=YM,QM=class extends Tr{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)})}},ZM=QM,eB=class extends Tr{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}},tB=eB;function rB(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new BM(t);case"WordPiece":return new UM(t);case"Metaspace":return new qM(t);case"BPEDecoder":return new zM(t);case"CTC":return new WM(t);case"Sequence":return new JM(t);case"Replace":return new KM(t);case"Fuse":return new XM(t);case"Strip":return new ZM(t);case"ByteFallback":return new tB(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var OE=rB,nB=class{constructor(t,e){let r=bE(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=bE(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=TE(this.tokenizer.normalizer),this.pre_tokenizer=vE(this.tokenizer.pre_tokenizer),this.model=kM(this.tokenizer.model,this.config),this.post_processor=xE(this.tokenizer.post_processor),this.decoder=OE(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new QI(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 YI(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||!sN(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=Rg(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=aN(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:Ht(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}},PE=nB;var bl=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||yl(oB(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=yl(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:yl(e,"tokenizer.json"),tokenizerConfig:yl(e,"tokenizer_config.json")}}ensureDir(e){xg(e)||sB(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!xg(e.tokenizerJson)||!xg(e.tokenizerConfig))return null;let[r,n]=await Promise.all([_l.readFile(e.tokenizerJson,"utf-8"),_l.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([_l.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),_l.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 PE(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 Cl=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 gs=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 Mi("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 Mi(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new bl(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Cl(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)}`}}};import{get_encoding as iB}from"tiktoken";var Og=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())}},Pg=new Og(100);import{readFile as Ig}from"fs/promises";import{opendir as aB,stat as FE}from"fs/promises";import{join as Ng}from"path";import{CLAUDE_PROJECTS_DIR as Fg,HOME_DIR as IE}from"@caeliq/ccr-shared";import{LRUCache as cB}from"lru-cache";var uB=iB("cl100k_base"),Yr=t=>uB.encode(t,void 0,[]),NE="<CCR-SUBAGENT-MODEL>",ME="</CCR-SUBAGENT-MODEL>",BE="x-anthropic-billing-header",ms=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function jE(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 lB(t){let e=`${BE}:`;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 ms(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 dB(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return!1;let r=e[0],n=typeof r=="string"?r:ms(r)&&r.type==="text"&&typeof r.text=="string"?r.text:void 0;if(!n?.startsWith(BE))return!1;let o=lB(n);return e.shift(),e.length===0&&delete t.system,o}function wl(t,e){let r=t.indexOf(NE);if(r<0)return;let n=r+NE.length,o=t.indexOf(ME,n);if(o<0)return;let s=jE(t.slice(n,o));if(s)return e(`${t.slice(0,r)}${t.slice(o+ME.length)}`),s}function UE(t,e){if(typeof t=="string")return wl(t,e);if(!(!ms(t)||typeof t.text!="string"))return wl(t.text,e)}function fB(t){let e=t?.system;if(typeof e=="string")return wl(e,r=>{t.system=r});if(Array.isArray(e))for(let r=0;r<e.length;r+=1){let n=e[r],o=UE(n,s=>{typeof n=="string"?e[r]=s:ms(n)&&(n.text=s)});if(o)return o}}function hB(t){if(typeof t.content=="string")return wl(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=UE(n,s=>{typeof n=="string"?e[r]=s:ms(n)&&(n.text=s)});if(o)return o}}function pB(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(!ms(n)||n.role!=="user")continue;let o=hB(n);if(o)return o}}function gB(t){return fB(t)||pB(t)}var LE=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Yr(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Yr(s.text).length:s.type==="tool_use"?n+=Yr(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Yr(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Yr(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Yr(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Yr(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Yr(o.name+o.description).length),o.input_schema&&(n+=Yr(JSON.stringify(o.input_schema)).length)}),n},mB=async(t,e)=>{if(t.sessionId){let r=await qE(t.sessionId);if(r){let n=Ng(IE,r,"config.json"),o=Ng(IE,r,`${t.sessionId}.json`);try{let s=JSON.parse(await Ig(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await Ig(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},yB=async(t,e,r,n)=>{let o=await mB(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=dB(t.body),h=gB(t.body);if(h)return t.log.info(`Using CCR subagent tag model: ${h}`),{model:h,scenarioType:"subagent"};if(d){let S=jE(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"}},_B=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{}},Mg=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=_B(t.body.metadata?.user_id);let s=Pg.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 Ig(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=LE(i,c,u);let b,y=n.get("CUSTOM_ROUTER_PATH");if(y)try{let C=te(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 yB(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"}},xn=new cB({max:1e3}),qE=async(t,e)=>{if(xn.has(t)){let r=xn.get(t);return!r||r===""?null:r}try{if(!(await FE(Fg)).isDirectory())return xn.set(t,""),null}catch(r){return r?.code==="ENOENT"?(xn.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),xn.set(t,""),null)}try{let r=await aB(Fg),n=[];for await(let i of r)i.isDirectory()&&n.push(i.name);let o=n.map(async i=>{let c=Ng(Fg,i,`${t}.jsonl`);try{return(await FE(c)).isFile()?i:null}catch{return null}}),s=await Promise.all(o);for(let i of s)if(i)return xn.set(t,i),i;return xn.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),xn.set(t,""),null}};var Bg=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()}},$E=new Bg;var XE=fn(JE(),1);Lg();qg();$g();KE();var io=new Map;function QE(t){let e=io.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function ZE(){return Array.from(io.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var Hg=new Map,eA={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,XE.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)ys.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&&ys.registerHandlers(s)}r.outputOptions&&ys.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(Hg.has(f))return Hg.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 Hg.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){io.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=io.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 YE(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 mn).getReader();for(_=setInterval(async()=>{io.get(f)&&await R(!1)},1e3);;){let{done:O,value:D}=await T.read();if(O)break;let M=D,W=io.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 se=M.data.delta.type,K="";if(se==="text_delta"?K=M.data.delta.text||"":se==="input_json_delta"?K=M.data.delta.partial_json||"":se==="thinking_delta"&&(K=M.data.delta.thinking||""),K){let ne=h&&h.encodeText?h.encodeText(K).length:zi(K);W.tokenCount+=ne,W.lastTokenTime=$;for(let Q=0;Q<ne;Q++)W.tokenTimestamps.push($)}}M.event==="message_stop"&&(_&&(clearInterval(_),_=null),await R(!0),io.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:zi(R))}return C},0):typeof y=="string"&&(S=h.encodeText?h.encodeText(y).length:zi(y));else{let C=Array.isArray(y)?y.map(_=>_.text).join(""):y;S=zi(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 YE(y,n,r.outputOptions,!0,t.log)}return c})})};function zi(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function YE(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 ys.outputToType(u,i,c)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,f)}}function xB(t={}){let e=RB({bodyLimit:52428800,...t});return e.setErrorHandler(a_),e.register(DB),e}var Wg=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=xB({...n,logger:n.logger??!0}),this.configService=new wo({...e,logger:this.app.log}),this.transformerService=new ps(this.configService,this.app.log),this.tokenizerService=new gs(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new So(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 Mg(u,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await $d(c)});return}if(!r)throw new Error("options is required");let n=new wo({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new ps(n,this.app.log);await o.initialize();let s=new So(n,o,this.app.log),i=new gs(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 Mg(u,f,{configService:n,tokenizerService:i})}),await $d(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)}}},CH=Wg;export{kg as ANTIGRAVITY_CLIENT_ID,Sg as ANTIGRAVITY_CLIENT_SECRET,tE as ANTIGRAVITY_REDIRECT_URI,RI as ANTIGRAVITY_SCOPES,wo as ConfigService,So as ProviderService,mn as SSEParserTransform,To as SSESerializerTransform,gs as TokenizerService,ps as TransformerService,LE as calculateTokenCount,CH as default,AA as diffHeadersForLog,zI as exchangeAuthorizationCode,$I as fetchUserEmail,ZE as getGlobalTokenSpeedStats,QE as getTokenSpeedStats,dl as getValidAccessToken,Qe as isClientAbortError,ll as loadTokens,$E as pluginManager,Tg as resolveProjectId,k_ as rewriteStream,Mg as router,Md as sanitizeHeadersForLog,Ag as saveTokens,qE as searchProjectBySession,Pg as sessionUsageCache,eA as tokenSpeedPlugin};
343
359
  /*! Bundled license information:
344
360
 
345
- web-streams-polyfill/dist/ponyfill.es2018.js:
361
+ node-fetch-native/dist/node.mjs:
346
362
  (**
347
- * @license
348
- * web-streams-polyfill v3.3.3
349
- * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
350
- * This code is released under the MIT license.
351
- * SPDX-License-Identifier: MIT
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: