@caeliq/llms 1.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1051 -0
- package/dist/cjs/server.cjs +368 -0
- package/dist/cjs/server.cjs.map +7 -0
- package/dist/esm/server.mjs +368 -0
- package/dist/esm/server.mjs.map +7 -0
- package/package.json +66 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
var HC=Object.create;var cc=Object.defineProperty;var WC=Object.getOwnPropertyDescriptor;var GC=Object.getOwnPropertyNames;var JC=Object.getPrototypeOf,VC=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 Ue=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Nh=(t,e)=>{for(var r in e)cc(t,r,{get:e[r],enumerable:!0})},KC=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of GC(e))!VC.call(t,o)&&o!==r&&cc(t,o,{get:()=>e[o],enumerable:!(n=WC(e,o))||n.enumerable});return t};var Kt=(t,e,r)=>(r=t!=null?HC(JC(t)):{},KC(e||!t||!t.__esModule?cc(r,"default",{value:t,enumerable:!0}):r,t));var Bh=V((C1,Zs)=>{Zs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Zs.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]/;Zs.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 fc=V((w1,jh)=>{var lc=Bh();jh.exports={isSpaceSeparator(t){return typeof t=="string"&&lc.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||lc.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"||lc.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 $h=V((k1,qh)=>{var He=fc(),hc,rt,_r,ti,Br,Mt,We,mc,Fo;qh.exports=function(e,r){hc=String(e),rt="start",_r=[],ti=0,Br=1,Mt=0,We=void 0,mc=void 0,Fo=void 0;do We=YC(),ZC[rt]();while(We.type!=="eof");return typeof r=="function"?pc({"":Fo},"",r):Fo};function pc(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=pc(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=pc(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 ye,he,Oo,yr,Ce;function YC(){for(ye="default",he="",Oo=!1,yr=1;;){Ce=br();let t=Uh[ye]();if(t)return t}}function br(){if(hc[ti])return String.fromCodePoint(hc.codePointAt(ti))}function W(){let t=br();return t===`
|
|
2
|
+
`?(Br++,Mt=0):t?Mt+=t.length:Mt++,t&&(ti+=t.length),t}var Uh={default(){switch(Ce){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
3
|
+
`:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),ye="comment";return;case void 0:return W(),Ie("eof")}if(He.isSpaceSeparator(Ce)){W();return}return Uh[rt]()},comment(){switch(Ce){case"*":W(),ye="multiLineComment";return;case"/":W(),ye="singleLineComment";return}throw Ne(W())},multiLineComment(){switch(Ce){case"*":W(),ye="multiLineCommentAsterisk";return;case void 0:throw Ne(W())}W()},multiLineCommentAsterisk(){switch(Ce){case"*":W();return;case"/":W(),ye="default";return;case void 0:throw Ne(W())}W(),ye="multiLineComment"},singleLineComment(){switch(Ce){case`
|
|
4
|
+
`:case"\r":case"\u2028":case"\u2029":W(),ye="default";return;case void 0:return W(),Ie("eof")}W()},value(){switch(Ce){case"{":case"[":return Ie("punctuator",W());case"n":return W(),cn("ull"),Ie("null",null);case"t":return W(),cn("rue"),Ie("boolean",!0);case"f":return W(),cn("alse"),Ie("boolean",!1);case"-":case"+":W()==="-"&&(yr=-1),ye="sign";return;case".":he=W(),ye="decimalPointLeading";return;case"0":he=W(),ye="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=W(),ye="decimalInteger";return;case"I":return W(),cn("nfinity"),Ie("numeric",1/0);case"N":return W(),cn("aN"),Ie("numeric",NaN);case'"':case"'":Oo=W()==='"',he="",ye="string";return}throw Ne(W())},identifierNameStartEscape(){if(Ce!=="u")throw Ne(W());W();let t=gc();switch(t){case"$":case"_":break;default:if(!He.isIdStartChar(t))throw Mh();break}he+=t,ye="identifierName"},identifierName(){switch(Ce){case"$":case"_":case"\u200C":case"\u200D":he+=W();return;case"\\":W(),ye="identifierNameEscape";return}if(He.isIdContinueChar(Ce)){he+=W();return}return Ie("identifier",he)},identifierNameEscape(){if(Ce!=="u")throw Ne(W());W();let t=gc();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!He.isIdContinueChar(t))throw Mh();break}he+=t,ye="identifierName"},sign(){switch(Ce){case".":he=W(),ye="decimalPointLeading";return;case"0":he=W(),ye="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=W(),ye="decimalInteger";return;case"I":return W(),cn("nfinity"),Ie("numeric",yr*(1/0));case"N":return W(),cn("aN"),Ie("numeric",NaN)}throw Ne(W())},zero(){switch(Ce){case".":he+=W(),ye="decimalPoint";return;case"e":case"E":he+=W(),ye="decimalExponent";return;case"x":case"X":he+=W(),ye="hexadecimal";return}return Ie("numeric",yr*0)},decimalInteger(){switch(Ce){case".":he+=W(),ye="decimalPoint";return;case"e":case"E":he+=W(),ye="decimalExponent";return}if(He.isDigit(Ce)){he+=W();return}return Ie("numeric",yr*Number(he))},decimalPointLeading(){if(He.isDigit(Ce)){he+=W(),ye="decimalFraction";return}throw Ne(W())},decimalPoint(){switch(Ce){case"e":case"E":he+=W(),ye="decimalExponent";return}if(He.isDigit(Ce)){he+=W(),ye="decimalFraction";return}return Ie("numeric",yr*Number(he))},decimalFraction(){switch(Ce){case"e":case"E":he+=W(),ye="decimalExponent";return}if(He.isDigit(Ce)){he+=W();return}return Ie("numeric",yr*Number(he))},decimalExponent(){switch(Ce){case"+":case"-":he+=W(),ye="decimalExponentSign";return}if(He.isDigit(Ce)){he+=W(),ye="decimalExponentInteger";return}throw Ne(W())},decimalExponentSign(){if(He.isDigit(Ce)){he+=W(),ye="decimalExponentInteger";return}throw Ne(W())},decimalExponentInteger(){if(He.isDigit(Ce)){he+=W();return}return Ie("numeric",yr*Number(he))},hexadecimal(){if(He.isHexDigit(Ce)){he+=W(),ye="hexadecimalInteger";return}throw Ne(W())},hexadecimalInteger(){if(He.isHexDigit(Ce)){he+=W();return}return Ie("numeric",yr*Number(he))},string(){switch(Ce){case"\\":W(),he+=XC();return;case'"':if(Oo)return W(),Ie("string",he);he+=W();return;case"'":if(!Oo)return W(),Ie("string",he);he+=W();return;case`
|
|
5
|
+
`:case"\r":throw Ne(W());case"\u2028":case"\u2029":ew(Ce);break;case void 0:throw Ne(W())}he+=W()},start(){switch(Ce){case"{":case"[":return Ie("punctuator",W())}ye="value"},beforePropertyName(){switch(Ce){case"$":case"_":he=W(),ye="identifierName";return;case"\\":W(),ye="identifierNameStartEscape";return;case"}":return Ie("punctuator",W());case'"':case"'":Oo=W()==='"',ye="string";return}if(He.isIdStartChar(Ce)){he+=W(),ye="identifierName";return}throw Ne(W())},afterPropertyName(){if(Ce===":")return Ie("punctuator",W());throw Ne(W())},beforePropertyValue(){ye="value"},afterPropertyValue(){switch(Ce){case",":case"}":return Ie("punctuator",W())}throw Ne(W())},beforeArrayValue(){if(Ce==="]")return Ie("punctuator",W());ye="value"},afterArrayValue(){switch(Ce){case",":case"]":return Ie("punctuator",W())}throw Ne(W())},end(){throw Ne(W())}};function Ie(t,e){return{type:t,value:e,line:Br,column:Mt}}function cn(t){for(let e of t){if(br()!==e)throw Ne(W());W()}}function XC(){switch(br()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
|
|
6
|
+
`;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),He.isDigit(br()))throw Ne(W());return"\0";case"x":return W(),QC();case"u":return W(),gc();case`
|
|
7
|
+
`:case"\u2028":case"\u2029":return W(),"";case"\r":return W(),br()===`
|
|
8
|
+
`&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Ne(W());case void 0:throw Ne(W())}return W()}function QC(){let t="",e=br();if(!He.isHexDigit(e)||(t+=W(),e=br(),!He.isHexDigit(e)))throw Ne(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function gc(){let t="",e=4;for(;e-- >0;){let r=br();if(!He.isHexDigit(r))throw Ne(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var ZC={start(){if(We.type==="eof")throw ln();dc()},beforePropertyName(){switch(We.type){case"identifier":case"string":mc=We.value,rt="afterPropertyName";return;case"punctuator":ei();return;case"eof":throw ln()}},afterPropertyName(){if(We.type==="eof")throw ln();rt="beforePropertyValue"},beforePropertyValue(){if(We.type==="eof")throw ln();dc()},beforeArrayValue(){if(We.type==="eof")throw ln();if(We.type==="punctuator"&&We.value==="]"){ei();return}dc()},afterPropertyValue(){if(We.type==="eof")throw ln();switch(We.value){case",":rt="beforePropertyName";return;case"}":ei()}},afterArrayValue(){if(We.type==="eof")throw ln();switch(We.value){case",":rt="beforeArrayValue";return;case"]":ei()}},end(){}};function dc(){let t;switch(We.type){case"punctuator":switch(We.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=We.value;break}if(Fo===void 0)Fo=t;else{let e=_r[_r.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,mc,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")_r.push(t),Array.isArray(t)?rt="beforeArrayValue":rt="beforePropertyName";else{let e=_r[_r.length-1];e==null?rt="end":Array.isArray(e)?rt="afterArrayValue":rt="afterPropertyValue"}}function ei(){_r.pop();let t=_r[_r.length-1];t==null?rt="end":Array.isArray(t)?rt="afterArrayValue":rt="afterPropertyValue"}function Ne(t){return ri(t===void 0?`JSON5: invalid end of input at ${Br}:${Mt}`:`JSON5: invalid character '${Lh(t)}' at ${Br}:${Mt}`)}function ln(){return ri(`JSON5: invalid end of input at ${Br}:${Mt}`)}function Mh(){return Mt-=5,ri(`JSON5: invalid identifier character at ${Br}:${Mt}`)}function ew(t){console.warn(`JSON5: '${Lh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Lh(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 ri(t){let e=new SyntaxError(t);return e.lineNumber=Br,e.columnNumber=Mt,e}});var Hh=V((S1,zh)=>{var yc=fc();zh.exports=function(e,r,n){let o=[],s="",a,u,l="",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 C of r){let b;typeof C=="string"?b=C:(typeof C=="number"||C instanceof String||C instanceof Number)&&(b=String(C)),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)),l=" ".substr(0,n)):typeof n=="string"&&(l=n.substr(0,10)),d("",{"":e});function d(C,b){let m=b[C];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(C):typeof m.toJSON=="function"&&(m=m.toJSON(C))),u&&(m=u.call(b,C,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(C){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 S=0;S<C.length;S++){let T=C[S];switch(T){case"'":case'"':b[T]++,v+=T;continue;case"\0":if(yc.isDigit(C[S+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((S,T)=>b[S]<b[T]?S:T);return v=v.replace(new RegExp(k,"g"),m[k]),k+v+k}function y(C){if(o.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");o.push(C);let b=s;s=s+l;let m=a||Object.keys(C),v=[];for(let S of m){let T=d(S,C);if(T!==void 0){let O=A(S)+":";l!==""&&(O+=" "),O+=T,v.push(O)}}let k;if(v.length===0)k="{}";else{let S;if(l==="")S=v.join(","),k="{"+S+"}";else{let T=`,
|
|
9
|
+
`+s;S=v.join(T),k=`{
|
|
10
|
+
`+s+S+`,
|
|
11
|
+
`+b+"}"}}return o.pop(),s=b,k}function A(C){if(C.length===0)return p(C,!0);let b=String.fromCodePoint(C.codePointAt(0));if(!yc.isIdStartChar(b))return p(C,!0);for(let m=b.length;m<C.length;m++)if(!yc.isIdContinueChar(String.fromCodePoint(C.codePointAt(m))))return p(C,!0);return C}function g(C){if(o.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");o.push(C);let b=s;s=s+l;let m=[];for(let k=0;k<C.length;k++){let S=d(String(k),C);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let k=`,
|
|
12
|
+
`+s,S=m.join(k);v=`[
|
|
13
|
+
`+s+S+`,
|
|
14
|
+
`+b+"]"}return o.pop(),s=b,v}}});var _c=V((E1,Wh)=>{var tw=$h(),rw=Hh(),nw={parse:tw,stringify:rw};Wh.exports=nw});var sp=V((fO,yw)=>{yw.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 ip=V((dO,_w)=>{_w.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 ap=V((hO,bw)=>{bw.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 up=V((pO,Cw)=>{Cw.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 cp=V((gO,ww)=>{ww.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 lp=V((mO,kw)=>{kw.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 fp=V((yO,Sw)=>{Sw.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 dp=V((_O,Ew)=>{Ew.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 hp=V((bO,Aw)=>{Aw.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 yp=V((CO,mp)=>{var Tw=sp(),Dw=ip(),pp=ap(),vw=up(),Rw=cp(),xw=lp(),Ow=fp(),Fw=dp(),Pw=hp(),gp=function(t,e){return t[e]!==void 0?t[e]:e};function Ur(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+=gp(r,a),o="normal";continue}else if(o==="long"&&a==="}"){o="normal";continue}o==="normal"?n+=a:n+=gp(r,a)}return n}mp.exports=function(t){return Object.keys(pp).forEach(function(e){var r=pp[e];t=t.replace(e,r)}),t=Ur(t,"^",Dw),t=Ur(t,"_",Tw),t=Ur(t,"\\bb",vw),t=Ur(t,"\\bf",Rw),t=Ur(t,"\\it",Fw),t=Ur(t,"\\cal",xw),t=Ur(t,"\\frak",Ow),t=Ur(t,"\\mono",Pw),t}});var kc=V((RO,Tp)=>{"use strict";var mi=Object.prototype.hasOwnProperty,Ap=Object.prototype.toString,bp=Object.defineProperty,Cp=Object.getOwnPropertyDescriptor,wp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ap.call(e)==="[object Array]"},kp=function(e){if(!e||Ap.call(e)!=="[object Object]")return!1;var r=mi.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&mi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||mi.call(e,o)},Sp=function(e,r){bp&&r.name==="__proto__"?bp(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Ep=function(e,r){if(r==="__proto__")if(mi.call(e,r)){if(Cp)return Cp(e,r).value}else return;return e[r]};Tp.exports=function t(){var e,r,n,o,s,a,u=arguments[0],l=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<f;++l)if(e=arguments[l],e!=null)for(r in e)n=Ep(u,r),o=Ep(e,r),u!==o&&(d&&o&&(kp(o)||(s=wp(o)))?(s?(s=!1,a=n&&wp(n)?n:[]):a=n&&kp(n)?n:{},Sp(u,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&Sp(u,{name:r,newValue:o}));return u}});var Dp=V((xO,Bw)=>{Bw.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 Rp=V((OO,vp)=>{"use strict";var jw=Dp();vp.exports={pkg:jw}});var Ac=V(At=>{"use strict";var Op=At&&At.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(At,"__esModule",{value:!0});At.GaxiosError=At.GAXIOS_ERROR_SYMBOL=void 0;At.defaultErrorRedactor=Fp;var xp=Op(kc()),Mw=Op(Rp()),Sc=Mw.default.pkg;At.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Sc.name}-gaxios-error`);var Ec=class t extends Error{config;response;code;status;error;[At.GAXIOS_ERROR_SYMBOL]=Sc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&At.GAXIOS_ERROR_SYMBOL in e&&e[At.GAXIOS_ERROR_SYMBOL]===Sc.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,xp.default)(!0,{},r),this.response&&(this.response.config=(0,xp.default)(!0,{},this.response.config)),this.response){try{this.response.data=Uw(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}}};At.GaxiosError=Ec;function Uw(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 Fp(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&&(Fp({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Ip=V(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.getRetryConfig=Lw;async function Lw(t){let e=Pp(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||qw)(t))return{shouldRetry:!1,config:t.config};let o=$w(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 qw(t){let e=Pp(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 Pp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function $w(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 vc=V(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.GaxiosInterceptorManager=void 0;var Dc=class extends Set{};yi.GaxiosInterceptorManager=Dc});var Bp=V((NO,Np)=>{var qn=1e3,$n=qn*60,zn=$n*60,fn=zn*24,zw=fn*7,Hw=fn*365.25;Np.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Ww(t);if(r==="number"&&isFinite(t))return e.long?Jw(t):Gw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Ww(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*Hw;case"weeks":case"week":case"w":return r*zw;case"days":case"day":case"d":return r*fn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*zn;case"minutes":case"minute":case"mins":case"min":case"m":return r*$n;case"seconds":case"second":case"secs":case"sec":case"s":return r*qn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Gw(t){var e=Math.abs(t);return e>=fn?Math.round(t/fn)+"d":e>=zn?Math.round(t/zn)+"h":e>=$n?Math.round(t/$n)+"m":e>=qn?Math.round(t/qn)+"s":t+"ms"}function Jw(t){var e=Math.abs(t);return e>=fn?_i(t,e,fn,"day"):e>=zn?_i(t,e,zn,"hour"):e>=$n?_i(t,e,$n,"minute"):e>=qn?_i(t,e,qn,"second"):t+" ms"}function _i(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Rc=V((BO,jp)=>{function Vw(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=u,r.humanize=Bp(),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 C(...b){if(!C.enabled)return;let m=C,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 S=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(O,N)=>{if(O==="%%")return"%";S++;let q=r.formatters[N];if(typeof q=="function"){let z=b[S];O=q.call(m,z),b.splice(S,1),S--}return O}),r.formatArgs.call(m,b),(m.log||r.log).apply(m,b)}return C.namespace=d,C.useColors=r.useColors(),C.color=r.selectColor(d),C.extend=n,C.destroy=r.destroy,Object.defineProperty(C,"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(C),C}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,C=0;for(;y<d.length;)if(A<p.length&&(p[A]===d[y]||p[A]==="*"))p[A]==="*"?(g=A,C=y,A++):(y++,A++);else if(g!==-1)A=g+1,C++,y=C;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 l(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}jp.exports=Vw});var Mp=V((at,bi)=>{at.formatArgs=Yw;at.save=Xw;at.load=Qw;at.useColors=Kw;at.storage=Zw();at.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`."))}})();at.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 Kw(){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 Yw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+bi.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)}at.log=console.debug||console.log||(()=>{});function Xw(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function Qw(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Zw(){try{return localStorage}catch{}}bi.exports=Rc()(at);var{formatters:ek}=bi.exports;ek.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Lp=V((jO,Up)=>{"use strict";Up.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 zp=V((MO,$p)=>{"use strict";var tk=ee("os"),qp=ee("tty"),Tt=Lp(),{env:Ge}=process,Lr;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?Lr=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&(Lr=1);"FORCE_COLOR"in Ge&&(Ge.FORCE_COLOR==="true"?Lr=1:Ge.FORCE_COLOR==="false"?Lr=0:Lr=Ge.FORCE_COLOR.length===0?1:Math.min(parseInt(Ge.FORCE_COLOR,10),3));function xc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Oc(t,e){if(Lr===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&Lr===void 0)return 0;let r=Lr||0;if(Ge.TERM==="dumb")return r;if(process.platform==="win32"){let n=tk.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ge)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ge)||Ge.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ge)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ge.TEAMCITY_VERSION)?1:0;if(Ge.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ge){let n=parseInt((Ge.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ge.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ge.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ge.TERM)||"COLORTERM"in Ge?1:r}function rk(t){let e=Oc(t,t&&t.isTTY);return xc(e)}$p.exports={supportsColor:rk,stdout:xc(Oc(!0,qp.isatty(1))),stderr:xc(Oc(!0,qp.isatty(2)))}});var Wp=V((Je,wi)=>{var nk=ee("tty"),Ci=ee("util");Je.init=lk;Je.log=ak;Je.formatArgs=sk;Je.save=uk;Je.load=ck;Je.useColors=ok;Je.destroy=Ci.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Je.colors=[6,2,3,4,5,1];try{let t=zp();t&&(t.stderr||t).level>=2&&(Je.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{}Je.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 ok(){return"colors"in Je.inspectOpts?!!Je.inspectOpts.colors:nk.isatty(process.stderr.fd)}function sk(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
|
+
`).join(`
|
|
17
|
+
`+s),t.push(o+"m+"+wi.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=ik()+e+" "+t[0]}function ik(){return Je.inspectOpts.hideDate?"":new Date().toISOString()+" "}function ak(...t){return process.stderr.write(Ci.formatWithOptions(Je.inspectOpts,...t)+`
|
|
18
|
+
`)}function uk(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function ck(){return process.env.DEBUG}function lk(t){t.inspectOpts={};let e=Object.keys(Je.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Je.inspectOpts[e[r]]}wi.exports=Rc()(Je);var{formatters:Hp}=wi.exports;Hp.o=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts).split(`
|
|
19
|
+
`).map(e=>e.trim()).join(" ")};Hp.O=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts)}});var Pc=V((UO,Fc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Fc.exports=Mp():Fc.exports=Wp()});var Vp=V(ut=>{"use strict";var fk=ut&&ut.__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]})),dk=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Gp=ut&&ut.__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)&&fk(e,t,r);return dk(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var hk=Gp(ee("http")),pk=Gp(ee("https"));async function Jp(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=Jp;async function gk(t){let r=(await Jp(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=gk;function mk(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?pk:hk).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ut.req=mk});var Qp=V(pt=>{"use strict";var Yp=pt&&pt.__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]})),yk=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Xp=pt&&pt.__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)&&Yp(e,t,r);return yk(e,t),e},_k=pt&&pt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yp(e,t,r)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var bk=Xp(ee("net")),Kp=Xp(ee("http")),Ck=ee("https");_k(Vp(),pt);var Xt=Symbol("AgentBaseInternalState"),Ic=class extends Kp.Agent{constructor(e){super(e),this[Xt]={}}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 bk.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)?Ck.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 Kp.Agent)try{return u.addRequest(e,o)}catch(l){return n(l)}this[Xt].currentSocket=u,super.createSocket(e,r,n)},u=>{this.decrementSockets(s,a),n(u)})}createConnection(){let e=this[Xt].currentSocket;if(this[Xt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Xt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Xt]&&(this[Xt].defaultPort=e)}get protocol(){return this[Xt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Xt]&&(this[Xt].protocol=e)}};pt.Agent=Ic});var Zp=V(Hn=>{"use strict";var wk=Hn&&Hn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hn,"__esModule",{value:!0});Hn.parseProxyResponse=void 0;var kk=wk(Pc()),ki=(0,kk.default)("https-proxy-agent:parse-proxy-response");function Sk(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",l),t.removeListener("readable",s)}function u(){a(),ki("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(d){a(),ki("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let p=Buffer.concat(o,n),y=p.indexOf(`\r
|
|
21
|
+
\r
|
|
22
|
+
`);if(y===-1){ki("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 C=g.split(" "),b=+C[1],m=C.slice(2).join(" "),v={};for(let k of A){if(!k)continue;let S=k.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let T=k.slice(0,S).toLowerCase(),O=k.slice(S+1).trimStart(),N=v[T];typeof N=="string"?v[T]=[N,O]:Array.isArray(N)?N.push(O):v[T]=O}ki("got proxy server response: %o %o",g,v),a(),e({connect:{statusCode:b,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",u),s()})}Hn.parseProxyResponse=Sk});var sg=V(Dt=>{"use strict";var Ek=Dt&&Dt.__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]})),Ak=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),ng=Dt&&Dt.__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)&&Ek(e,t,r);return Ak(e,t),e},og=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var Si=ng(ee("net")),eg=ng(ee("tls")),Tk=og(ee("assert")),Dk=og(Pc()),vk=Qp(),Rk=ee("url"),xk=Zp(),No=(0,Dk.default)("https-proxy-agent"),tg=t=>t.servername===void 0&&t.host&&!Si.isIP(t.host)?{...t,servername:t.host}:t,Ei=class extends vk.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Rk.URL(e):e,this.proxyHeaders=r?.headers??{},No("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?rg(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:"?(No("Creating `tls.Socket`: %o",this.connectOpts),o=eg.connect(tg(this.connectOpts))):(No("Creating `net.Socket`: %o",this.connectOpts),o=Si.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Si.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 l=(0,xk.parseProxyResponse)(o);o.write(`${u}\r
|
|
26
|
+
`);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",Ok),r.secureEndpoint?(No("Upgrading socket connection to TLS"),eg.connect({...rg(tg(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Si.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{No("Replaying proxy buffer for failed request"),(0,Tk.default)(y.listenerCount("data")>0),y.push(d),y.push(null)}),p}};Ei.protocols=["http","https"];Dt.HttpsProxyAgent=Ei;function Ok(t){t.resume()}function rg(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function Fk(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",l=unescape(t.substring(e+1)),f=Buffer.from(l,u);return f.type=s,f.typeFull=a,f.charset=n,f}var ig,ag=Ue(()=>{ig=Fk});var cg=V((Ai,ug)=>{(function(t,e){typeof Ai=="object"&&typeof ug<"u"?e(Ai):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ai,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(c=>c(i))}function d(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function y(i,c,h){p(p(i,c,h),void 0,n)}function A(i,c){y(i,c)}function g(i,c){y(i,void 0,c)}function C(i,c,h){return p(i,c,h)}function b(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let c=f(void 0);m=h=>p(c,h)}return m(i)};function v(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function k(i,c,h){try{return f(v(i,c,h))}catch(w){return d(w)}}let S=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(c){let h=this._back,w=h;h._elements.length===S-1&&(w={_elements:[],_next:void 0}),h._elements.push(c),w!==h&&(this._back=w,h._next=w),++this._size}shift(){let c=this._front,h=c,w=this._cursor,R=w+1,U=c._elements,$=U[w];return R===S&&(h=c._next,R=0),--this._size,this._cursor=R,c!==h&&(this._front=h),U[w]=void 0,$}forEach(c){let h=this._cursor,w=this._front,R=w._elements;for(;(h!==R.length||w._next!==void 0)&&!(h===R.length&&(w=w._next,R=w._elements,h=0,R.length===0));)c(R[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let O=Symbol("[[AbortSteps]]"),N=Symbol("[[ErrorSteps]]"),q=Symbol("[[CancelSteps]]"),z=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function X(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?we(i):c._state==="closed"?Z(i):me(i,c._storedError)}function ce(i,c){let h=i._ownerReadableStream;return Bt(h,c)}function oe(i){let c=i._ownerReadableStream;c._state==="readable"?J(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),c._readableStreamController[Y](),c._reader=void 0,i._ownerReadableStream=void 0}function pe(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function we(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function me(i,c){we(i),J(i,c)}function Z(i){we(i),re(i)}function J(i,c){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,c){me(i,c)}function re(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Te=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Xe=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function G(i){return typeof i=="object"||typeof i=="function"}function fe(i,c){if(i!==void 0&&!G(i))throw new TypeError(`${c} is not an object.`)}function ge(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function ft(i){return typeof i=="object"&&i!==null||typeof i=="function"}function xe(i,c){if(!ft(i))throw new TypeError(`${c} is not an object.`)}function Be(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function _(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function E(i){return Number(i)}function D(i){return i===0?0:i}function j(i){return D(Xe(i))}function F(i,c){let w=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=D(R),!Te(R))throw new TypeError(`${c} is not a finite number`);if(R=j(R),R<0||R>w)throw new TypeError(`${c} is outside the accepted range of 0 to ${w}, inclusive`);return!Te(R)||R===0?0:R}function I(i,c){if(!Fr(i))throw new TypeError(`${c} is not a ReadableStream.`)}function L(i){return new H(i)}function x(i,c){i._reader._readRequests.push(c)}function P(i,c,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(c)}function M(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!te(c))}class H{constructor(c){if(Be(c,1,"ReadableStreamDefaultReader"),I(c,"First parameter"),Pr(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");X(this,c),this._readRequests=new T}get closed(){return te(this)?this._closedPromise:d(je("closed"))}cancel(c=void 0){return te(this)?this._ownerReadableStream===void 0?d(pe("cancel")):ce(this,c):d(je("cancel"))}read(){if(!te(this))return d(je("read"));if(this._ownerReadableStream===void 0)return d(pe("read from"));let c,h,w=l((U,$)=>{c=U,h=$});return ne(this,{_chunkSteps:U=>c({value:U,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:U=>h(U)}),w}releaseLock(){if(!te(this))throw je("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function te(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ne(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[z](c)}function Se(i){oe(i);let c=new TypeError("Reader was released");Pe(i,c)}function Pe(i,c){let h=i._readRequests;i._readRequests=new T,h.forEach(w=>{w._errorSteps(c)})}function je(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let ke=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Ee{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?C(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?C(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,w,R=l(($,Q)=>{h=$,w=Q});return ne(c,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,oe(c),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,oe(c),w($)}}),R}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let w=ce(h,c);return oe(h),C(w,()=>({value:c,done:!0}))}return oe(h),f({value:c,done:!0})}}let $e={next(){return kn(this)?this._asyncIteratorImpl.next():d(Sn("next"))},return(i){return kn(this)?this._asyncIteratorImpl.return(i):d(Sn("return"))}};Object.setPrototypeOf($e,ke);function wn(i,c){let h=L(i),w=new Ee(h,c),R=Object.create($e);return R._asyncIteratorImpl=w,R}function kn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Ee}catch{return!1}}function Sn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var lr,Qe,ze;function De(i){return i.slice()}function Pd(i,c,h,w,R){new Uint8Array(i).set(new Uint8Array(h,w,R),c)}let fr=i=>(typeof i.transfer=="function"?fr=c=>c.transfer():typeof structuredClone=="function"?fr=c=>structuredClone(c,{transfer:[c]}):fr=c=>c,fr(i)),vr=i=>(typeof i.detached=="boolean"?vr=c=>c.detached:vr=c=>c.byteLength===0,vr(i));function Id(i,c,h){if(i.slice)return i.slice(c,h);let w=h-c,R=new ArrayBuffer(w);return Pd(R,0,i,c,w),R}function Ts(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function cb(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),w=h.next;return{iterator:h,nextMethod:w,done:!1}}let Bu=(ze=(lr=Symbol.asyncIterator)!==null&&lr!==void 0?lr:(Qe=Symbol.for)===null||Qe===void 0?void 0:Qe.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function Nd(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=Ts(i,Bu),h===void 0){let U=Ts(i,Symbol.iterator),$=Nd(i,"sync",U);return cb($)}}else h=Ts(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let w=v(h,i,[]);if(!r(w))throw new TypeError("The iterator method must return an object");let R=w.next;return{iterator:w,nextMethod:R,done:!1}}function lb(i){let c=v(i.nextMethod,i.iterator,[]);if(!r(c))throw new TypeError("The iterator.next() method must return an object");return c}function fb(i){return!!i.done}function db(i){return i.value}function hb(i){return!(typeof i!="number"||dt(i)||i<0)}function Bd(i){let c=Id(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function ju(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function Mu(i,c,h){if(!hb(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function pb(i){return i._queue.peek().value}function Rr(i){i._queue=new T,i._queueTotalSize=0}function jd(i){return i===DataView}function gb(i){return jd(i.constructor)}function mb(i){return jd(i)?1:i.BYTES_PER_ELEMENT}class en{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Uu(this))throw Hu("view");return this._view}respond(c){if(!Uu(this))throw Hu("respond");if(Be(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(vr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");xs(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!Uu(this))throw Hu("respondWithNewView");if(Be(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))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(vr(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Os(this._associatedReadableByteStreamController,c)}}Object.defineProperties(en.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(en.prototype.respond,"respond"),o(en.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(en.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class dr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!tn(this))throw Eo("byobRequest");return zu(this)}get desiredSize(){if(!tn(this))throw Eo("desiredSize");return Jd(this)}close(){if(!tn(this))throw Eo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);So(this)}enqueue(c){if(!tn(this))throw Eo("enqueue");if(Be(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.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`);Rs(this,c)}error(c=void 0){if(!tn(this))throw Eo("error");St(this,c)}[q](c){Md(this),Rr(this);let h=this._cancelAlgorithm(c);return vs(this),h}[z](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Gd(this,c);return}let w=this._autoAllocateChunkSize;if(w!==void 0){let R;try{R=new ArrayBuffer(w)}catch($){c._errorSteps($);return}let U={buffer:R,bufferByteLength:w,byteOffset:0,byteLength:w,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(U)}x(h,c),rn(this)}[Y](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(c)}}}Object.defineProperties(dr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(dr.prototype.close,"close"),o(dr.prototype.enqueue,"enqueue"),o(dr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function tn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof dr}function Uu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof en}function rn(i){if(!wb(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,rn(i)),null),w=>(St(i,w),null))}function Md(i){qu(i),i._pendingPullIntos=new T}function Lu(i,c){let h=!1;i._state==="closed"&&(h=!0);let w=Ud(c);c.readerType==="default"?P(i,w,h):Db(i,w,h)}function Ud(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function Ds(i,c,h,w){i._queue.push({buffer:c,byteOffset:h,byteLength:w}),i._queueTotalSize+=w}function Ld(i,c,h,w){let R;try{R=Id(c,h,h+w)}catch(U){throw St(i,U),U}Ds(i,R,0,w)}function qd(i,c){c.bytesFilled>0&&Ld(i,c.buffer,c.byteOffset,c.bytesFilled),En(i)}function $d(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),w=c.bytesFilled+h,R=h,U=!1,$=w%c.elementSize,Q=w-$;Q>=c.minimumFill&&(R=Q-c.bytesFilled,U=!0);let le=i._queue;for(;R>0;){let ie=le.peek(),de=Math.min(R,ie.byteLength),_e=c.byteOffset+c.bytesFilled;Pd(c.buffer,_e,ie.buffer,ie.byteOffset,de),ie.byteLength===de?le.shift():(ie.byteOffset+=de,ie.byteLength-=de),i._queueTotalSize-=de,zd(i,de,c),R-=de}return U}function zd(i,c,h){h.bytesFilled+=c}function Hd(i){i._queueTotalSize===0&&i._closeRequested?(vs(i),xo(i._controlledReadableByteStream)):rn(i)}function qu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function $u(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();$d(i,c)&&(En(i),Lu(i._controlledReadableByteStream,c))}}function yb(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();Gd(i,h)}}function _b(i,c,h,w){let R=i._controlledReadableByteStream,U=c.constructor,$=mb(U),{byteOffset:Q,byteLength:le}=c,ie=h*$,de;try{de=fr(c.buffer)}catch(Re){w._errorSteps(Re);return}let _e={buffer:de,bufferByteLength:de.byteLength,byteOffset:Q,byteLength:le,bytesFilled:0,minimumFill:ie,elementSize:$,viewConstructor:U,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(_e),Yd(R,w);return}if(R._state==="closed"){let Re=new U(_e.buffer,_e.byteOffset,0);w._closeSteps(Re);return}if(i._queueTotalSize>0){if($d(i,_e)){let Re=Ud(_e);Hd(i),w._chunkSteps(Re);return}if(i._closeRequested){let Re=new TypeError("Insufficient bytes to fill elements in the given buffer");St(i,Re),w._errorSteps(Re);return}}i._pendingPullIntos.push(_e),Yd(R,w),rn(i)}function bb(i,c){c.readerType==="none"&&En(i);let h=i._controlledReadableByteStream;if(Wu(h))for(;Xd(h)>0;){let w=En(i);Lu(h,w)}}function Cb(i,c,h){if(zd(i,c,h),h.readerType==="none"){qd(i,h),$u(i);return}if(h.bytesFilled<h.minimumFill)return;En(i);let w=h.bytesFilled%h.elementSize;if(w>0){let R=h.byteOffset+h.bytesFilled;Ld(i,h.buffer,R-w,w)}h.bytesFilled-=w,Lu(i._controlledReadableByteStream,h),$u(i)}function Wd(i,c){let h=i._pendingPullIntos.peek();qu(i),i._controlledReadableByteStream._state==="closed"?bb(i,h):Cb(i,c,h),rn(i)}function En(i){return i._pendingPullIntos.shift()}function wb(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&M(c)>0||Wu(c)&&Xd(c)>0||Jd(i)>0)}function vs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function So(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._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 w=new TypeError("Insufficient bytes to fill elements in the given buffer");throw St(i,w),w}}vs(i),xo(c)}}function Rs(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:w,byteOffset:R,byteLength:U}=c;if(vr(w))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=fr(w);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(vr(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");qu(i),Q.buffer=fr(Q.buffer),Q.readerType==="none"&&qd(i,Q)}if(B(h))if(yb(i),M(h)===0)Ds(i,$,R,U);else{i._pendingPullIntos.length>0&&En(i);let Q=new Uint8Array($,R,U);P(h,Q,!1)}else Wu(h)?(Ds(i,$,R,U),$u(i)):Ds(i,$,R,U);rn(i)}function St(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(Md(i),Rr(i),vs(i),wh(h,c))}function Gd(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Hd(i);let w=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(w)}function zu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),w=Object.create(en.prototype);Sb(w,i,h),i._byobRequest=w}return i._byobRequest}function Jd(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function xs(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=fr(h.buffer),Wd(i,c)}function Os(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.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!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=c.byteLength;h.buffer=fr(c.buffer),Wd(i,R)}function Vd(i,c,h,w,R,U,$){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,Rr(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=U,c._pullAlgorithm=w,c._cancelAlgorithm=R,c._autoAllocateChunkSize=$,c._pendingPullIntos=new T,i._readableStreamController=c;let Q=h();y(f(Q),()=>(c._started=!0,rn(c),null),le=>(St(c,le),null))}function kb(i,c,h){let w=Object.create(dr.prototype),R,U,$;c.start!==void 0?R=()=>c.start(w):R=()=>{},c.pull!==void 0?U=()=>c.pull(w):U=()=>f(void 0),c.cancel!==void 0?$=le=>c.cancel(le):$=()=>f(void 0);let Q=c.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Vd(i,w,R,U,$,h,Q)}function Sb(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function Hu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Eo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function Eb(i,c){fe(i,c);let h=i?.mode;return{mode:h===void 0?void 0:Ab(h,`${c} has member 'mode' that`)}}function Ab(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function Tb(i,c){var h;fe(i,c);let w=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(w,`${c} has member 'min' that`)}}function Kd(i){return new xr(i)}function Yd(i,c){i._reader._readIntoRequests.push(c)}function Db(i,c,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(c):R._chunkSteps(c)}function Xd(i){return i._reader._readIntoRequests.length}function Wu(i){let c=i._reader;return!(c===void 0||!nn(c))}class xr{constructor(c){if(Be(c,1,"ReadableStreamBYOBReader"),I(c,"First parameter"),Pr(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!tn(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");X(this,c),this._readIntoRequests=new T}get closed(){return nn(this)?this._closedPromise:d(Fs("closed"))}cancel(c=void 0){return nn(this)?this._ownerReadableStream===void 0?d(pe("cancel")):ce(this,c):d(Fs("cancel"))}read(c,h={}){if(!nn(this))return d(Fs("read"));if(!ArrayBuffer.isView(c))return d(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(vr(c.buffer))return d(new TypeError("view's buffer has been detached"));let w;try{w=Tb(h,"options")}catch(ie){return d(ie)}let R=w.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(gb(c)){if(R>c.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>c.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(pe("read from"));let U,$,Q=l((ie,de)=>{U=ie,$=de});return Qd(this,c,R,{_chunkSteps:ie=>U({value:ie,done:!1}),_closeSteps:ie=>U({value:ie,done:!0}),_errorSteps:ie=>$(ie)}),Q}releaseLock(){if(!nn(this))throw Fs("releaseLock");this._ownerReadableStream!==void 0&&vb(this)}}Object.defineProperties(xr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(xr.prototype.cancel,"cancel"),o(xr.prototype.read,"read"),o(xr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(xr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof xr}function Qd(i,c,h,w){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?w._errorSteps(R._storedError):_b(R._readableStreamController,c,h,w)}function vb(i){oe(i);let c=new TypeError("Reader was released");Zd(i,c)}function Zd(i,c){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(w=>{w._errorSteps(c)})}function Fs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Ao(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Ps(i){let{size:c}=i;return c||(()=>1)}function Is(i,c){fe(i,c);let h=i?.highWaterMark,w=i?.size;return{highWaterMark:h===void 0?void 0:E(h),size:w===void 0?void 0:Rb(w,`${c} has member 'size' that`)}}function Rb(i,c){return ge(i,c),h=>E(i(h))}function xb(i,c){fe(i,c);let h=i?.abort,w=i?.close,R=i?.start,U=i?.type,$=i?.write;return{abort:h===void 0?void 0:Ob(h,i,`${c} has member 'abort' that`),close:w===void 0?void 0:Fb(w,i,`${c} has member 'close' that`),start:R===void 0?void 0:Pb(R,i,`${c} has member 'start' that`),write:$===void 0?void 0:Ib($,i,`${c} has member 'write' that`),type:U}}function Ob(i,c,h){return ge(i,h),w=>k(i,c,[w])}function Fb(i,c,h){return ge(i,h),()=>k(i,c,[])}function Pb(i,c,h){return ge(i,h),w=>v(i,c,[w])}function Ib(i,c,h){return ge(i,h),(w,R)=>k(i,c,[w,R])}function eh(i,c){if(!An(i))throw new TypeError(`${c} is not a WritableStream.`)}function Nb(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let Bb=typeof AbortController=="function";function jb(){if(Bb)return new AbortController}class Or{constructor(c={},h={}){c===void 0?c=null:xe(c,"First parameter");let w=Is(h,"Second parameter"),R=xb(c,"First parameter");if(rh(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=Ps(w),Q=Ao(w,1);Xb(this,R,Q,$)}get locked(){if(!An(this))throw Us("locked");return Tn(this)}abort(c=void 0){return An(this)?Tn(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Ns(this,c):d(Us("abort"))}close(){return An(this)?Tn(this)?d(new TypeError("Cannot close a stream that already has a writer")):Vt(this)?d(new TypeError("Cannot close an already-closing stream")):nh(this):d(Us("close"))}getWriter(){if(!An(this))throw Us("getWriter");return th(this)}}Object.defineProperties(Or.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Or.prototype.abort,"abort"),o(Or.prototype.close,"close"),o(Or.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Or.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function th(i){return new hr(i)}function Mb(i,c,h,w,R=1,U=()=>1){let $=Object.create(Or.prototype);rh($);let Q=Object.create(Dn.prototype);return ch($,Q,i,c,h,w,R,U),$}function rh(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 An(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Or}function Tn(i){return i._writer!==void 0}function Ns(i,c){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let w=i._state;if(w==="closed"||w==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;w==="erroring"&&(R=!0,c=void 0);let U=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:c,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=U,R||Ju(i,c),U}function nh(i){let c=i._state;if(c==="closed"||c==="errored")return d(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((R,U)=>{let $={_resolve:R,_reject:U};i._closeRequest=$}),w=i._writer;return w!==void 0&&i._backpressure&&c==="writable"&&tc(w),Qb(i._writableStreamController),h}function Ub(i){return l((h,w)=>{let R={_resolve:h,_reject:w};i._writeRequests.push(R)})}function Gu(i,c){if(i._state==="writable"){Ju(i,c);return}Vu(i)}function Ju(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let w=i._writer;w!==void 0&&sh(w,c),!Hb(i)&&h._started&&Vu(i)}function Vu(i){i._state="errored",i._writableStreamController[N]();let c=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(c)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){Bs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Bs(i);return}let w=i._writableStreamController[O](h._reason);y(w,()=>(h._resolve(),Bs(i),null),R=>(h._reject(R),Bs(i),null))}function Lb(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function qb(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,Gu(i,c)}function $b(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&&hh(h)}function zb(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),Gu(i,c)}function Vt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function Hb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function Wb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function Gb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Bs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&Zu(c,i._storedError)}function Ku(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?sC(h):tc(h)),i._backpressure=c}class hr{constructor(c){if(Be(c,1,"WritableStreamDefaultWriter"),eh(c,"First parameter"),Tn(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let h=c._state;if(h==="writable")!Vt(c)&&c._backpressure?qs(this):ph(this),Ls(this);else if(h==="erroring")ec(this,c._storedError),Ls(this);else if(h==="closed")ph(this),nC(this);else{let w=c._storedError;ec(this,w),dh(this,w)}}get closed(){return on(this)?this._closedPromise:d(sn("closed"))}get desiredSize(){if(!on(this))throw sn("desiredSize");if(this._ownerWritableStream===void 0)throw Do("desiredSize");return Yb(this)}get ready(){return on(this)?this._readyPromise:d(sn("ready"))}abort(c=void 0){return on(this)?this._ownerWritableStream===void 0?d(Do("abort")):Jb(this,c):d(sn("abort"))}close(){if(!on(this))return d(sn("close"));let c=this._ownerWritableStream;return c===void 0?d(Do("close")):Vt(c)?d(new TypeError("Cannot close an already-closing stream")):oh(this)}releaseLock(){if(!on(this))throw sn("releaseLock");this._ownerWritableStream!==void 0&&ih(this)}write(c=void 0){return on(this)?this._ownerWritableStream===void 0?d(Do("write to")):ah(this,c):d(sn("write"))}}Object.defineProperties(hr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(hr.prototype.abort,"abort"),o(hr.prototype.close,"close"),o(hr.prototype.releaseLock,"releaseLock"),o(hr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function on(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof hr}function Jb(i,c){let h=i._ownerWritableStream;return Ns(h,c)}function oh(i){let c=i._ownerWritableStream;return nh(c)}function Vb(i){let c=i._ownerWritableStream,h=c._state;return Vt(c)||h==="closed"?f(void 0):h==="errored"?d(c._storedError):oh(i)}function Kb(i,c){i._closedPromiseState==="pending"?Zu(i,c):oC(i,c)}function sh(i,c){i._readyPromiseState==="pending"?gh(i,c):iC(i,c)}function Yb(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:lh(c._writableStreamController)}function ih(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");sh(i,h),Kb(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function ah(i,c){let h=i._ownerWritableStream,w=h._writableStreamController,R=Zb(w,c);if(h!==i._ownerWritableStream)return d(Do("write to"));let U=h._state;if(U==="errored")return d(h._storedError);if(Vt(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 $=Ub(h);return eC(w,c,R),$}let uh={};class Dn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Yu(this))throw Qu("abortReason");return this._abortReason}get signal(){if(!Yu(this))throw Qu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!Yu(this))throw Qu("error");this._controlledWritableStream._state==="writable"&&fh(this,c)}[O](c){let h=this._abortAlgorithm(c);return js(this),h}[N](){Rr(this)}}Object.defineProperties(Dn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Dn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Yu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Dn}function ch(i,c,h,w,R,U,$,Q){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,Rr(c),c._abortReason=void 0,c._abortController=jb(),c._started=!1,c._strategySizeAlgorithm=Q,c._strategyHWM=$,c._writeAlgorithm=w,c._closeAlgorithm=R,c._abortAlgorithm=U;let le=Xu(c);Ku(i,le);let ie=h(),de=f(ie);y(de,()=>(c._started=!0,Ms(c),null),_e=>(c._started=!0,Gu(i,_e),null))}function Xb(i,c,h,w){let R=Object.create(Dn.prototype),U,$,Q,le;c.start!==void 0?U=()=>c.start(R):U=()=>{},c.write!==void 0?$=ie=>c.write(ie,R):$=()=>f(void 0),c.close!==void 0?Q=()=>c.close():Q=()=>f(void 0),c.abort!==void 0?le=ie=>c.abort(ie):le=()=>f(void 0),ch(i,R,U,$,Q,le,h,w)}function js(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function Qb(i){Mu(i,uh,0),Ms(i)}function Zb(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return To(i,h),1}}function lh(i){return i._strategyHWM-i._queueTotalSize}function eC(i,c,h){try{Mu(i,c,h)}catch(R){To(i,R);return}let w=i._controlledWritableStream;if(!Vt(w)&&w._state==="writable"){let R=Xu(i);Ku(w,R)}Ms(i)}function Ms(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){Vu(c);return}if(i._queue.length===0)return;let w=pb(i);w===uh?tC(i):rC(i,w)}function To(i,c){i._controlledWritableStream._state==="writable"&&fh(i,c)}function tC(i){let c=i._controlledWritableStream;Wb(c),ju(i);let h=i._closeAlgorithm();js(i),y(h,()=>($b(c),null),w=>(zb(c,w),null))}function rC(i,c){let h=i._controlledWritableStream;Gb(h);let w=i._writeAlgorithm(c);y(w,()=>{Lb(h);let R=h._state;if(ju(i),!Vt(h)&&R==="writable"){let U=Xu(i);Ku(h,U)}return Ms(i),null},R=>(h._state==="writable"&&js(i),qb(h,R),null))}function Xu(i){return lh(i)<=0}function fh(i,c){let h=i._controlledWritableStream;js(i),Ju(h,c)}function Us(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Qu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function sn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Do(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ls(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function dh(i,c){Ls(i),Zu(i,c)}function nC(i){Ls(i),hh(i)}function Zu(i,c){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function oC(i,c){dh(i,c)}function hh(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 qs(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function ec(i,c){qs(i),gh(i,c)}function ph(i){qs(i),tc(i)}function gh(i,c){i._readyPromise_reject!==void 0&&(b(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function sC(i){qs(i)}function iC(i,c){ec(i,c)}function tc(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function aC(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let rc=aC();function uC(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function cC(){let i=rc?.DOMException;return uC(i)?i:void 0}function lC(){let i=function(h,w){this.message=h||"",this.name=w||"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 fC=cC()||lC();function mh(i,c,h,w,R,U){let $=L(i),Q=th(c);i._disturbed=!0;let le=!1,ie=f(void 0);return l((de,_e)=>{let Re;if(U!==void 0){if(Re=()=>{let ae=U.reason!==void 0?U.reason:new fC("Aborted","AbortError"),be=[];w||be.push(()=>c._state==="writable"?Ns(c,ae):f(void 0)),R||be.push(()=>i._state==="readable"?Bt(i,ae):f(void 0)),st(()=>Promise.all(be.map(Oe=>Oe())),!0,ae)},U.aborted){Re();return}U.addEventListener("abort",Re)}function jt(){return l((ae,be)=>{function Oe(ht){ht?ae():p(On(),Oe,be)}Oe(!1)})}function On(){return le?f(!0):p(Q._readyPromise,()=>l((ae,be)=>{ne($,{_chunkSteps:Oe=>{ie=p(ah(Q,Oe),void 0,e),ae(!1)},_closeSteps:()=>ae(!0),_errorSteps:be})}))}if(gr(i,$._closedPromise,ae=>(w?Et(!0,ae):st(()=>Ns(c,ae),!0,ae),null)),gr(c,Q._closedPromise,ae=>(R?Et(!0,ae):st(()=>Bt(i,ae),!0,ae),null)),tt(i,$._closedPromise,()=>(h?Et():st(()=>Vb(Q)),null)),Vt(c)||c._state==="closed"){let ae=new TypeError("the destination writable stream closed before all data could be piped to it");R?Et(!0,ae):st(()=>Bt(i,ae),!0,ae)}b(jt());function Nr(){let ae=ie;return p(ie,()=>ae!==ie?Nr():void 0)}function gr(ae,be,Oe){ae._state==="errored"?Oe(ae._storedError):g(be,Oe)}function tt(ae,be,Oe){ae._state==="closed"?Oe():A(be,Oe)}function st(ae,be,Oe){if(le)return;le=!0,c._state==="writable"&&!Vt(c)?A(Nr(),ht):ht();function ht(){return y(ae(),()=>mr(be,Oe),Fn=>mr(!0,Fn)),null}}function Et(ae,be){le||(le=!0,c._state==="writable"&&!Vt(c)?A(Nr(),()=>mr(ae,be)):mr(ae,be))}function mr(ae,be){return ih(Q),oe($),U!==void 0&&U.removeEventListener("abort",Re),ae?_e(be):de(void 0),null}})}class pr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!$s(this))throw Hs("desiredSize");return nc(this)}close(){if(!$s(this))throw Hs("close");if(!Rn(this))throw new TypeError("The stream is not in a state that permits close");an(this)}enqueue(c=void 0){if(!$s(this))throw Hs("enqueue");if(!Rn(this))throw new TypeError("The stream is not in a state that permits enqueue");return vn(this,c)}error(c=void 0){if(!$s(this))throw Hs("error");Nt(this,c)}[q](c){Rr(this);let h=this._cancelAlgorithm(c);return zs(this),h}[z](c){let h=this._controlledReadableStream;if(this._queue.length>0){let w=ju(this);this._closeRequested&&this._queue.length===0?(zs(this),xo(h)):vo(this),c._chunkSteps(w)}else x(h,c),vo(this)}[Y](){}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{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:"ReadableStreamDefaultController",configurable:!0});function $s(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof pr}function vo(i){if(!yh(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,vo(i)),null),w=>(Nt(i,w),null))}function yh(i){let c=i._controlledReadableStream;return!Rn(i)||!i._started?!1:!!(Pr(c)&&M(c)>0||nc(i)>0)}function zs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function an(i){if(!Rn(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(zs(i),xo(c))}function vn(i,c){if(!Rn(i))return;let h=i._controlledReadableStream;if(Pr(h)&&M(h)>0)P(h,c,!1);else{let w;try{w=i._strategySizeAlgorithm(c)}catch(R){throw Nt(i,R),R}try{Mu(i,c,w)}catch(R){throw Nt(i,R),R}}vo(i)}function Nt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(Rr(i),zs(i),wh(h,c))}function nc(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function dC(i){return!yh(i)}function Rn(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function _h(i,c,h,w,R,U,$){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,Rr(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=$,c._strategyHWM=U,c._pullAlgorithm=w,c._cancelAlgorithm=R,i._readableStreamController=c;let Q=h();y(f(Q),()=>(c._started=!0,vo(c),null),le=>(Nt(c,le),null))}function hC(i,c,h,w){let R=Object.create(pr.prototype),U,$,Q;c.start!==void 0?U=()=>c.start(R):U=()=>{},c.pull!==void 0?$=()=>c.pull(R):$=()=>f(void 0),c.cancel!==void 0?Q=le=>c.cancel(le):Q=()=>f(void 0),_h(i,R,U,$,Q,h,w)}function Hs(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function pC(i,c){return tn(i._readableStreamController)?mC(i):gC(i)}function gC(i,c){let h=L(i),w=!1,R=!1,U=!1,$=!1,Q,le,ie,de,_e,Re=l(tt=>{_e=tt});function jt(){return w?(R=!0,f(void 0)):(w=!0,ne(h,{_chunkSteps:st=>{m(()=>{R=!1;let Et=st,mr=st;U||vn(ie._readableStreamController,Et),$||vn(de._readableStreamController,mr),w=!1,R&&jt()})},_closeSteps:()=>{w=!1,U||an(ie._readableStreamController),$||an(de._readableStreamController),(!U||!$)&&_e(void 0)},_errorSteps:()=>{w=!1}}),f(void 0))}function On(tt){if(U=!0,Q=tt,$){let st=De([Q,le]),Et=Bt(i,st);_e(Et)}return Re}function Nr(tt){if($=!0,le=tt,U){let st=De([Q,le]),Et=Bt(i,st);_e(Et)}return Re}function gr(){}return ie=Ro(gr,jt,On),de=Ro(gr,jt,Nr),g(h._closedPromise,tt=>(Nt(ie._readableStreamController,tt),Nt(de._readableStreamController,tt),(!U||!$)&&_e(void 0),null)),[ie,de]}function mC(i){let c=L(i),h=!1,w=!1,R=!1,U=!1,$=!1,Q,le,ie,de,_e,Re=l(ae=>{_e=ae});function jt(ae){g(ae._closedPromise,be=>(ae!==c||(St(ie._readableStreamController,be),St(de._readableStreamController,be),(!U||!$)&&_e(void 0)),null))}function On(){nn(c)&&(oe(c),c=L(i),jt(c)),ne(c,{_chunkSteps:be=>{m(()=>{w=!1,R=!1;let Oe=be,ht=be;if(!U&&!$)try{ht=Bd(be)}catch(Fn){St(ie._readableStreamController,Fn),St(de._readableStreamController,Fn),_e(Bt(i,Fn));return}U||Rs(ie._readableStreamController,Oe),$||Rs(de._readableStreamController,ht),h=!1,w?gr():R&&tt()})},_closeSteps:()=>{h=!1,U||So(ie._readableStreamController),$||So(de._readableStreamController),ie._readableStreamController._pendingPullIntos.length>0&&xs(ie._readableStreamController,0),de._readableStreamController._pendingPullIntos.length>0&&xs(de._readableStreamController,0),(!U||!$)&&_e(void 0)},_errorSteps:()=>{h=!1}})}function Nr(ae,be){te(c)&&(oe(c),c=Kd(i),jt(c));let Oe=be?de:ie,ht=be?ie:de;Qd(c,ae,1,{_chunkSteps:Pn=>{m(()=>{w=!1,R=!1;let In=be?$:U;if(be?U:$)In||Os(Oe._readableStreamController,Pn);else{let Ih;try{Ih=Bd(Pn)}catch(uc){St(Oe._readableStreamController,uc),St(ht._readableStreamController,uc),_e(Bt(i,uc));return}In||Os(Oe._readableStreamController,Pn),Rs(ht._readableStreamController,Ih)}h=!1,w?gr():R&&tt()})},_closeSteps:Pn=>{h=!1;let In=be?$:U,Qs=be?U:$;In||So(Oe._readableStreamController),Qs||So(ht._readableStreamController),Pn!==void 0&&(In||Os(Oe._readableStreamController,Pn),!Qs&&ht._readableStreamController._pendingPullIntos.length>0&&xs(ht._readableStreamController,0)),(!In||!Qs)&&_e(void 0)},_errorSteps:()=>{h=!1}})}function gr(){if(h)return w=!0,f(void 0);h=!0;let ae=zu(ie._readableStreamController);return ae===null?On():Nr(ae._view,!1),f(void 0)}function tt(){if(h)return R=!0,f(void 0);h=!0;let ae=zu(de._readableStreamController);return ae===null?On():Nr(ae._view,!0),f(void 0)}function st(ae){if(U=!0,Q=ae,$){let be=De([Q,le]),Oe=Bt(i,be);_e(Oe)}return Re}function Et(ae){if($=!0,le=ae,U){let be=De([Q,le]),Oe=Bt(i,be);_e(Oe)}return Re}function mr(){}return ie=Ch(mr,gr,st),de=Ch(mr,tt,Et),jt(c),[ie,de]}function yC(i){return r(i)&&typeof i.getReader<"u"}function _C(i){return yC(i)?CC(i.getReader()):bC(i)}function bC(i){let c,h=Nd(i,"async"),w=e;function R(){let $;try{$=lb(h)}catch(le){return d(le)}let Q=f($);return C(Q,le=>{if(!r(le))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(fb(le))an(c._readableStreamController);else{let de=db(le);vn(c._readableStreamController,de)}})}function U($){let Q=h.iterator,le;try{le=Ts(Q,"return")}catch(_e){return d(_e)}if(le===void 0)return f(void 0);let ie;try{ie=v(le,Q,[$])}catch(_e){return d(_e)}let de=f(ie);return C(de,_e=>{if(!r(_e))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=Ro(w,R,U,0),c}function CC(i){let c,h=e;function w(){let U;try{U=i.read()}catch($){return d($)}return C(U,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)an(c._readableStreamController);else{let Q=$.value;vn(c._readableStreamController,Q)}})}function R(U){try{return f(i.cancel(U))}catch($){return d($)}}return c=Ro(h,w,R,0),c}function wC(i,c){fe(i,c);let h=i,w=h?.autoAllocateChunkSize,R=h?.cancel,U=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:w===void 0?void 0:F(w,`${c} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:kC(R,h,`${c} has member 'cancel' that`),pull:U===void 0?void 0:SC(U,h,`${c} has member 'pull' that`),start:$===void 0?void 0:EC($,h,`${c} has member 'start' that`),type:Q===void 0?void 0:AC(Q,`${c} has member 'type' that`)}}function kC(i,c,h){return ge(i,h),w=>k(i,c,[w])}function SC(i,c,h){return ge(i,h),w=>k(i,c,[w])}function EC(i,c,h){return ge(i,h),w=>v(i,c,[w])}function AC(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function TC(i,c){return fe(i,c),{preventCancel:!!i?.preventCancel}}function bh(i,c){fe(i,c);let h=i?.preventAbort,w=i?.preventCancel,R=i?.preventClose,U=i?.signal;return U!==void 0&&DC(U,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!w,preventClose:!!R,signal:U}}function DC(i,c){if(!Nb(i))throw new TypeError(`${c} is not an AbortSignal.`)}function vC(i,c){fe(i,c);let h=i?.readable;_(h,"readable","ReadableWritablePair"),I(h,`${c} has member 'readable' that`);let w=i?.writable;return _(w,"writable","ReadableWritablePair"),eh(w,`${c} has member 'writable' that`),{readable:h,writable:w}}class Ze{constructor(c={},h={}){c===void 0?c=null:xe(c,"First parameter");let w=Is(h,"Second parameter"),R=wC(c,"First parameter");if(oc(this),R.type==="bytes"){if(w.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let U=Ao(w,0);kb(this,R,U)}else{let U=Ps(w),$=Ao(w,1);hC(this,R,$,U)}}get locked(){if(!Fr(this))throw un("locked");return Pr(this)}cancel(c=void 0){return Fr(this)?Pr(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Bt(this,c):d(un("cancel"))}getReader(c=void 0){if(!Fr(this))throw un("getReader");return Eb(c,"First parameter").mode===void 0?L(this):Kd(this)}pipeThrough(c,h={}){if(!Fr(this))throw un("pipeThrough");Be(c,1,"pipeThrough");let w=vC(c,"First parameter"),R=bh(h,"Second parameter");if(Pr(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Tn(w.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let U=mh(this,w.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return b(U),w.readable}pipeTo(c,h={}){if(!Fr(this))return d(un("pipeTo"));if(c===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!An(c))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let w;try{w=bh(h,"Second parameter")}catch(R){return d(R)}return Pr(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Tn(c)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):mh(this,c,w.preventClose,w.preventAbort,w.preventCancel,w.signal)}tee(){if(!Fr(this))throw un("tee");let c=pC(this);return De(c)}values(c=void 0){if(!Fr(this))throw un("values");let h=TC(c,"First parameter");return wn(this,h.preventCancel)}[Bu](c){return this.values(c)}static from(c){return _C(c)}}Object.defineProperties(Ze,{from:{enumerable:!0}}),Object.defineProperties(Ze.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Ze.from,"from"),o(Ze.prototype.cancel,"cancel"),o(Ze.prototype.getReader,"getReader"),o(Ze.prototype.pipeThrough,"pipeThrough"),o(Ze.prototype.pipeTo,"pipeTo"),o(Ze.prototype.tee,"tee"),o(Ze.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ze.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Ze.prototype,Bu,{value:Ze.prototype.values,writable:!0,configurable:!0});function Ro(i,c,h,w=1,R=()=>1){let U=Object.create(Ze.prototype);oc(U);let $=Object.create(pr.prototype);return _h(U,$,i,c,h,w,R),U}function Ch(i,c,h){let w=Object.create(Ze.prototype);oc(w);let R=Object.create(dr.prototype);return Vd(w,R,i,c,h,0,void 0),w}function oc(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Fr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Ze}function Pr(i){return i._reader!==void 0}function Bt(i,c){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);xo(i);let h=i._reader;if(h!==void 0&&nn(h)){let R=h._readIntoRequests;h._readIntoRequests=new T,R.forEach(U=>{U._closeSteps(void 0)})}let w=i._readableStreamController[q](c);return C(w,e)}function xo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(re(c),te(c))){let h=c._readRequests;c._readRequests=new T,h.forEach(w=>{w._closeSteps()})}}function wh(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(J(h,c),te(h)?Pe(h,c):Zd(h,c))}function un(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function kh(i,c){fe(i,c);let h=i?.highWaterMark;return _(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:E(h)}}let Sh=i=>i.byteLength;o(Sh,"size");class Ws{constructor(c){Be(c,1,"ByteLengthQueuingStrategy"),c=kh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!Ah(this))throw Eh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ah(this))throw Eh("size");return Sh}}Object.defineProperties(Ws.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ws.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Eh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function Ah(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Ws}let Th=()=>1;o(Th,"size");class Gs{constructor(c){Be(c,1,"CountQueuingStrategy"),c=kh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!vh(this))throw Dh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!vh(this))throw Dh("size");return Th}}Object.defineProperties(Gs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Gs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Dh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function vh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Gs}function RC(i,c){fe(i,c);let h=i?.cancel,w=i?.flush,R=i?.readableType,U=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:PC(h,i,`${c} has member 'cancel' that`),flush:w===void 0?void 0:xC(w,i,`${c} has member 'flush' that`),readableType:R,start:U===void 0?void 0:OC(U,i,`${c} has member 'start' that`),transform:$===void 0?void 0:FC($,i,`${c} has member 'transform' that`),writableType:Q}}function xC(i,c,h){return ge(i,h),w=>k(i,c,[w])}function OC(i,c,h){return ge(i,h),w=>v(i,c,[w])}function FC(i,c,h){return ge(i,h),(w,R)=>k(i,c,[w,R])}function PC(i,c,h){return ge(i,h),w=>k(i,c,[w])}class Js{constructor(c={},h={},w={}){c===void 0&&(c=null);let R=Is(h,"Second parameter"),U=Is(w,"Third parameter"),$=RC(c,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Ao(U,0),le=Ps(U),ie=Ao(R,1),de=Ps(R),_e,Re=l(jt=>{_e=jt});IC(this,Re,ie,de,Q,le),BC(this,$),$.start!==void 0?_e($.start(this._transformStreamController)):_e(void 0)}get readable(){if(!Rh(this))throw Ph("readable");return this._readable}get writable(){if(!Rh(this))throw Ph("writable");return this._writable}}Object.defineProperties(Js.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Js.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function IC(i,c,h,w,R,U){function $(){return c}function Q(Re){return UC(i,Re)}function le(Re){return LC(i,Re)}function ie(){return qC(i)}i._writable=Mb($,Q,ie,le,h,w);function de(){return $C(i)}function _e(Re){return zC(i,Re)}i._readable=Ro($,de,_e,R,U),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Vs(i,!0),i._transformStreamController=void 0}function Rh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Js}function xh(i,c){Nt(i._readable._readableStreamController,c),sc(i,c)}function sc(i,c){Ys(i._transformStreamController),To(i._writable._writableStreamController,c),ic(i)}function ic(i){i._backpressure&&Vs(i,!1)}function Vs(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Ir{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ks(this))throw Xs("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return nc(c)}enqueue(c=void 0){if(!Ks(this))throw Xs("enqueue");Oh(this,c)}error(c=void 0){if(!Ks(this))throw Xs("error");jC(this,c)}terminate(){if(!Ks(this))throw Xs("terminate");MC(this)}}Object.defineProperties(Ir.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Ir.prototype.enqueue,"enqueue"),o(Ir.prototype.error,"error"),o(Ir.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ir.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Ks(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Ir}function NC(i,c,h,w,R){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=w,c._cancelAlgorithm=R,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function BC(i,c){let h=Object.create(Ir.prototype),w,R,U;c.transform!==void 0?w=$=>c.transform($,h):w=$=>{try{return Oh(h,$),f(void 0)}catch(Q){return d(Q)}},c.flush!==void 0?R=()=>c.flush(h):R=()=>f(void 0),c.cancel!==void 0?U=$=>c.cancel($):U=()=>f(void 0),NC(i,h,w,R,U)}function Ys(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Oh(i,c){let h=i._controlledTransformStream,w=h._readable._readableStreamController;if(!Rn(w))throw new TypeError("Readable side is not in a state that permits enqueue");try{vn(w,c)}catch(U){throw sc(h,U),h._readable._storedError}dC(w)!==h._backpressure&&Vs(h,!0)}function jC(i,c){xh(i._controlledTransformStream,c)}function Fh(i,c){let h=i._transformAlgorithm(c);return C(h,void 0,w=>{throw xh(i._controlledTransformStream,w),w})}function MC(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;an(h);let w=new TypeError("TransformStream terminated");sc(c,w)}function UC(i,c){let h=i._transformStreamController;if(i._backpressure){let w=i._backpressureChangePromise;return C(w,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return Fh(h,c)})}return Fh(h,c)}function LC(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._readable;h._finishPromise=l((U,$)=>{h._finishPromise_resolve=U,h._finishPromise_reject=$});let R=h._cancelAlgorithm(c);return Ys(h),y(R,()=>(w._state==="errored"?xn(h,w._storedError):(Nt(w._readableStreamController,c),ac(h)),null),U=>(Nt(w._readableStreamController,U),xn(h,U),null)),h._finishPromise}function qC(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((R,U)=>{c._finishPromise_resolve=R,c._finishPromise_reject=U});let w=c._flushAlgorithm();return Ys(c),y(w,()=>(h._state==="errored"?xn(c,h._storedError):(an(h._readableStreamController),ac(c)),null),R=>(Nt(h._readableStreamController,R),xn(c,R),null)),c._finishPromise}function $C(i){return Vs(i,!1),i._backpressureChangePromise}function zC(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._writable;h._finishPromise=l((U,$)=>{h._finishPromise_resolve=U,h._finishPromise_reject=$});let R=h._cancelAlgorithm(c);return Ys(h),y(R,()=>(w._state==="errored"?xn(h,w._storedError):(To(w._writableStreamController,c),ic(i),ac(h)),null),U=>(To(w._writableStreamController,U),ic(i),xn(h,U),null)),h._finishPromise}function Xs(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function ac(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function xn(i,c){i._finishPromise_reject!==void 0&&(b(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Ph(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Ws,t.CountQueuingStrategy=Gs,t.ReadableByteStreamController=dr,t.ReadableStream=Ze,t.ReadableStreamBYOBReader=xr,t.ReadableStreamBYOBRequest=en,t.ReadableStreamDefaultController=pr,t.ReadableStreamDefaultReader=H,t.TransformStream=Js,t.TransformStreamDefaultController=Ir,t.WritableStream=Or,t.WritableStreamDefaultController=Dn,t.WritableStreamDefaultWriter=hr}))});var lg=V(()=>{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,cg())}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*Nc(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,fg),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+fg)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var JO,fg,dg,Pk,Ut,Bo=Ue(()=>{JO=Kt(lg(),1);fg=65536;dg=class Bc{#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 Bc?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 Nc(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 Nc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=Nc(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),l=this.#e,f=[],d=0;for(let y of l){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 Bc([],{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(dg.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Pk=dg,Ut=Pk});var Ik,Nk,qr,jc=Ue(()=>{Bo();Ik=class extends Ut{#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 Ut&&/^(File)$/.test(e[Symbol.toStringTag])}},Nk=Ik,qr=Nk});function gg(t,e=Ut){var r=`${hg()}${hg()}`.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+Mc(a)+`"\r
|
|
28
|
+
\r
|
|
29
|
+
${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
30
|
+
`)}\r
|
|
31
|
+
`):n.push(o+Mc(a)+`"; filename="${Mc(s.name,1)}"\r
|
|
32
|
+
Content-Type: ${s.type||"application/octet-stream"}\r
|
|
33
|
+
\r
|
|
34
|
+
`,s,`\r
|
|
35
|
+
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var jo,Bk,jk,hg,Mk,pg,Mc,dn,$r,Ti=Ue(()=>{Bo();jc();({toStringTag:jo,iterator:Bk,hasInstance:jk}=Symbol),hg=Math.random,Mk="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),pg=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[jo])?[(r=r!==void 0?r+"":e[jo]=="File"?e.name:"blob",t),e.name!==r||e[jo]=="blob"?new qr([e],r,e):e]:[t,e+""]),Mc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
36
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),dn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},$r=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[jo](){return"FormData"}[Bk](){return this.entries()}static[jk](e){return e&&typeof e=="object"&&e[jo]==="FormData"&&!Mk.some(r=>typeof e[r]!="function")}append(...e){dn("append",arguments,2),this.#e.push(pg(...e))}delete(e){dn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){dn("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 dn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return dn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){dn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){dn("set",arguments,2);var r=[],n=!0;e=pg(...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 Cr,Di=Ue(()=>{Cr=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 nt,Uc=Ue(()=>{Di();nt=class extends Cr{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var vi,Lc,Mo,mg,yg,_g,Ri=Ue(()=>{vi=Symbol.toStringTag,Lc=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[vi]==="URLSearchParams",Mo=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[vi]),mg=t=>typeof t=="object"&&(t[vi]==="AbortSignal"||t[vi]==="EventTarget"),yg=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},_g=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Cg=V((iF,bg)=>{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)}bg.exports=globalThis.DOMException});import{statSync as wg,createReadStream as Uk,promises as Lk}from"node:fs";import{basename as qk}from"node:path";var kg,qc,Sg,Eg,Ag,Tg,Dg,vg,xi,$c=Ue(()=>{kg=Kt(Cg(),1);jc();Bo();({stat:qc}=Lk),Sg=(t,e)=>Dg(wg(t),t,e),Eg=(t,e)=>qc(t).then(r=>Dg(r,t,e)),Ag=(t,e)=>qc(t).then(r=>vg(r,t,e)),Tg=(t,e)=>vg(wg(t),t,e),Dg=(t,e,r="")=>new Ut([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),vg=(t,e,r="")=>new qr([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],qk(e),{type:r,lastModified:t.mtimeMs}),xi=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 kg.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*Uk(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var xg={};Nh(xg,{toFormData:()=>Vk});function Jk(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 Vk(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 zc(r[1]||r[2]),o,s,a,u,l,f,d=[],p=new $r,y=m=>{a+=b.decode(m,{stream:!0})},A=m=>{d.push(m)},g=()=>{let m=new qr(d,f,{type:l});p.append(u,m)},C=()=>{p.append(u,a)},b=new TextDecoder("utf-8");b.decode(),n.onPartBegin=function(){n.onPartData=y,n.onPartEnd=C,o="",s="",a="",u="",l="",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=Jk(s),f&&(n.onPartData=A,n.onPartEnd=g)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var Qt,Fe,Rg,zr,Oi,Fi,$k,Uo,zk,Hk,Wk,Gk,hn,zc,Og=Ue(()=>{$c();Ti();Qt=0,Fe={START_BOUNDARY:Qt++,HEADER_FIELD_START:Qt++,HEADER_FIELD:Qt++,HEADER_VALUE_START:Qt++,HEADER_VALUE:Qt++,HEADER_VALUE_ALMOST_DONE:Qt++,HEADERS_ALMOST_DONE:Qt++,PART_DATA_START:Qt++,PART_DATA:Qt++,END:Qt++},Rg=1,zr={PART_BOUNDARY:Rg,LAST_BOUNDARY:Rg*=2},Oi=10,Fi=13,$k=32,Uo=45,zk=58,Hk=97,Wk=122,Gk=t=>t|32,hn=()=>{},zc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=hn,this.onHeaderField=hn,this.onHeadersEnd=hn,this.onHeaderValue=hn,this.onPartBegin=hn,this.onPartData=hn,this.onPartEnd=hn,this.boundaryChars={},e=`\r
|
|
37
|
+
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:f,flags:d}=this,p=this.boundary.length,y=p-1,A=e.length,g,C,b=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,T,O,N)=>{(T===void 0||T!==O)&&this[S](N&&N.subarray(T,O))},k=(S,T)=>{let O=S+"Mark";O in this&&(T?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(g=e[r],f){case Fe.START_BOUNDARY:if(l===a.length-2){if(g===Uo)d|=zr.LAST_BOUNDARY;else if(g!==Fi)return;l++;break}else if(l-1===a.length-2){if(d&zr.LAST_BOUNDARY&&g===Uo)f=Fe.END,d=0;else if(!(d&zr.LAST_BOUNDARY)&&g===Oi)l=0,v("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}g!==a[l+2]&&(l=-2),g===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,b("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(g===Fi){m("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(l++,g===Uo)break;if(g===zk){if(l===1)return;k("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(C=Gk(g),C<Hk||C>Wk)return;break;case Fe.HEADER_VALUE_START:if(g===$k)break;b("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:g===Fi&&(k("onHeaderValue",!0),v("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(g!==Oi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(g!==Oi)return;v("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,b("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(r+=y;r<A&&!(e[r]in u);)r+=p;r-=y,g=e[r]}if(l<a.length)a[l]===g?(l===0&&k("onPartData",!0),l++):l=0;else if(l===a.length)l++,g===Fi?d|=zr.PART_BOUNDARY:g===Uo?d|=zr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&zr.PART_BOUNDARY){if(l=0,g===Oi){d&=~zr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&zr.LAST_BOUNDARY&&g===Uo?(v("onPartEnd"),f=Fe.END,d=0):l=0;if(l>0)s[l-1]=g;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,b("onPartData"),r--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}k("onHeaderField"),k("onHeaderValue"),k("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Hr,{PassThrough as Fg}from"node:stream";import{types as Pg,deprecate as Wc,promisify as Kk}from"node:util";import{Buffer as vt}from"node:buffer";async function Hc(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 vt.alloc(0);if(!(e instanceof Hr))return vt.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 nt(`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 Cr?o:new nt(`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")?vt.from(r.join("")):vt.concat(r,n)}catch(o){throw new nt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new nt(`Premature close of server response while trying to fetch ${t.url}`)}var Yk,ct,Zt,Wn,Xk,Pi,Ig,Ng,Ii=Ue(()=>{Bo();Ti();Uc();Di();Ri();Yk=Kk(Hr.pipeline),ct=Symbol("Body internals"),Zt=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Lc(e)?e=vt.from(e.toString()):Mo(e)||vt.isBuffer(e)||(Pg.isAnyArrayBuffer(e)?e=vt.from(e):ArrayBuffer.isView(e)?e=vt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Hr||(e instanceof $r?(e=gg(e),n=e.type.split("=")[1]):e=vt.from(String(e))));let o=e;vt.isBuffer(e)?o=Hr.Readable.from(e):Mo(e)&&(o=Hr.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Hr&&e.on("error",s=>{let a=s instanceof Cr?s:new nt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Hc(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 $r,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(()=>(Og(),xg));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 Ut([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Hc(this);return new TextDecoder().decode(e)}buffer(){return Hc(this)}};Zt.prototype.buffer=Wc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Wc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Wn=(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 Hr&&typeof o.getBoundary!="function"&&(r=new Fg({highWaterMark:e}),n=new Fg({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Xk=Wc(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"),Pi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Lc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Mo(t)?t.type||null:vt.isBuffer(t)||Pg.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof $r?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Xk(t)}`:t instanceof Hr?null:"text/plain;charset=UTF-8",Ig=t=>{let{body:e}=t[ct];return e===null?0:Mo(e)?e.size:vt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Ng=async(t,{body:e})=>{e===null?t.end():await Yk(e,t)}});import{types as Bg}from"node:util";import Bi from"node:http";function jg(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Ni(e),Gc(e,String(r)),!0}catch{return!1}}))}var Ni,Gc,lt,ji=Ue(()=>{Ni=typeof Bi.validateHeaderName=="function"?Bi.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}},Gc=typeof Bi.validateHeaderValue=="function"?Bi.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}},lt=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"&&!Bg.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"||Bg.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])=>(Ni(n),Gc(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)=>(Ni(a),Gc(a,String(u)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ni(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(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Qk,Lo,Jc=Ue(()=>{Qk=new Set([301,302,303,307,308]),Lo=t=>Qk.has(t)});var Lt,gt,Mg=Ue(()=>{ji();Ii();Jc();Lt=Symbol("Response internals"),gt=class t extends Zt{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=Pi(e,this);s&&o.append("Content-Type",s)}this[Lt]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Lt].type}get url(){return this[Lt].url||""}get status(){return this[Lt].status}get ok(){return this[Lt].status>=200&&this[Lt].status<300}get redirected(){return this[Lt].counter>0}get statusText(){return this[Lt].statusText}get headers(){return this[Lt].headers}get highWaterMark(){return this[Lt].highWaterMark}clone(){return new t(Wn(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(!Lo(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[Lt].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 lt(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(gt.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 Ug,Lg=Ue(()=>{Ug=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 Zk}from"node:net";function qg(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 Hg(t){if(!$g.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function eS(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=Zk(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 Gn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:eS(t)}function Wg(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=qg(o),a=qg(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 Gn(s)&&!Gn(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Gn(s)&&!Gn(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 Gn(s)&&!Gn(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function Gg(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&$g.has(n)&&(r=n);return r}var $g,zg,Vc=Ue(()=>{$g=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),zg="strict-origin-when-cross-origin"});import{format as tS}from"node:url";import{deprecate as rS}from"node:util";var Ve,qo,nS,Wr,Jg,Vg=Ue(()=>{ji();Ii();Ri();Lg();Vc();Ve=Symbol("Request internals"),qo=t=>typeof t=="object"&&typeof t[Ve]=="object",nS=rS(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Wr=class t extends Zt{constructor(e,r={}){let n;if(qo(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()),!qo(r)&&"data"in r&&nS(),(r.body!=null||qo(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:qo(e)&&e.body!==null?Wn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=Pi(s,this);f&&a.set("Content-Type",f)}let u=qo(e)?e.signal:null;if("signal"in r&&(u=r.signal),u!=null&&!mg(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Ve]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:u,referrer:l},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[Ve].method}get url(){return tS(this[Ve].parsedURL)}get headers(){return this[Ve].headers}get redirect(){return this[Ve].redirect}get signal(){return this[Ve].signal}get referrer(){if(this[Ve].referrer==="no-referrer")return"";if(this[Ve].referrer==="client")return"about:client";if(this[Ve].referrer)return this[Ve].referrer.toString()}get referrerPolicy(){return this[Ve].referrerPolicy}set referrerPolicy(e){this[Ve].referrerPolicy=Hg(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Wr.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}});Jg=t=>{let{parsedURL:e}=t[Ve],r=new lt(t[Ve].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=Ig(t);typeof u=="number"&&!Number.isNaN(u)&&(n=String(u))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=zg),t.referrer&&t.referrer!=="no-referrer"?t[Ve].referrer=Wg(t):t[Ve].referrer="no-referrer",t[Ve].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=Ug(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 $o,Kg=Ue(()=>{Di();$o=class extends Cr{constructor(e,r="aborted"){super(e,r)}}});var Qg={};Nh(Qg,{AbortError:()=>$o,Blob:()=>Ut,FetchError:()=>nt,File:()=>qr,FormData:()=>$r,Headers:()=>lt,Request:()=>Wr,Response:()=>gt,blobFrom:()=>Eg,blobFromSync:()=>Sg,default:()=>Kc,fileFrom:()=>Ag,fileFromSync:()=>Tg,isRedirect:()=>Lo});import oS from"node:http";import sS from"node:https";import Jn from"node:zlib";import Yg,{PassThrough as Xg,pipeline as Vn}from"node:stream";import{Buffer as Mi}from"node:buffer";async function Kc(t,e){return new Promise((r,n)=>{let o=new Wr(t,e),{parsedURL:s,options:a}=Jg(o);if(!iS.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=ig(o.url),C=new gt(g,{headers:{"Content-Type":g.typeFull}});r(C);return}let u=(s.protocol==="https:"?sS:oS).request,{signal:l}=o,f=null,d=()=>{let g=new $o("The operation was aborted.");n(g),o.body&&o.body instanceof Yg.Readable&&o.body.destroy(g),!(!f||!f.body)&&f.body.emit("error",g)};if(l&&l.aborted){d();return}let p=()=>{d(),A()},y=u(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{y.abort(),l&&l.removeEventListener("abort",p)};y.on("error",g=>{n(new nt(`request to ${o.url} failed, reason: ${g.message}`,"system",g)),A()}),aS(y,g=>{f&&f.body&&f.body.destroy(g)}),process.version<"v14"&&y.on("socket",g=>{let C;g.prependListener("end",()=>{C=g._eventsCount}),g.prependListener("close",b=>{if(f&&C<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 C=jg(g.rawHeaders);if(Lo(g.statusCode)){let S=C.get("Location"),T=null;try{T=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new nt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new nt(`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 nt(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Wn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!yg(o.url,T)||!_g(o.url,T))for(let q of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(q);if(g.statusCode!==303&&o.body&&e.body instanceof Yg.Readable){n(new nt("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=Gg(C);N&&(O.referrerPolicy=N),r(Kc(new Wr(T,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&g.once("end",()=>{l.removeEventListener("abort",p)});let b=Vn(g,new Xg,S=>{S&&n(S)});process.version<"v12.10"&&g.on("aborted",p);let m={url:o.url,status:g.statusCode,statusText:g.statusMessage,headers:C,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=C.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||g.statusCode===204||g.statusCode===304){f=new gt(b,m),r(f);return}let k={flush:Jn.Z_SYNC_FLUSH,finishFlush:Jn.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){b=Vn(b,Jn.createGunzip(k),S=>{S&&n(S)}),f=new gt(b,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let S=Vn(g,new Xg,T=>{T&&n(T)});S.once("data",T=>{(T[0]&15)===8?b=Vn(b,Jn.createInflate(),O=>{O&&n(O)}):b=Vn(b,Jn.createInflateRaw(),O=>{O&&n(O)}),f=new gt(b,m),r(f)}),S.once("end",()=>{f||(f=new gt(b,m),r(f))});return}if(v==="br"){b=Vn(b,Jn.createBrotliDecompress(),S=>{S&&n(S)}),f=new gt(b,m),r(f);return}f=new gt(b,m),r(f)}),Ng(y,o).catch(n)})}function aS(t,e){let r=Mi.from(`0\r
|
|
38
|
+
\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)}},l=f=>{o=Mi.compare(f.slice(-5),r)===0,!o&&s&&(o=Mi.compare(s.slice(-3),r.slice(0,3))===0&&Mi.compare(f.slice(-2),r.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var iS,Zg=Ue(()=>{ag();Ii();Mg();ji();Vg();Uc();Kg();Jc();Ti();Ri();Vc();$c();iS=new Set(["data:","http:","https:"])});var rm=V(Yn=>{"use strict";var uS=Yn&&Yn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Kn;Object.defineProperty(Yn,"__esModule",{value:!0});Yn.Gaxios=void 0;var cS=uS(kc()),lS=ee("https"),pn=Ac(),fS=Ip(),em=ee("stream"),tm=vc(),dS=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Ui=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new tm.GaxiosInterceptorManager,response:new tm.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&&Kn.mergeHeaders(s,r.headers),n&&Kn.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 Kn.#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=pn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new pn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof pn.GaxiosError?n=r:r instanceof Error?n=new pn.GaxiosError(r.message,e,void 0,r):n=new pn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,fS.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 pn.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);Kn.mergeHeaders(r,e.headers);let n=(0,cS.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,l]of new URLSearchParams(n.params))a.searchParams.append(u,l);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 em.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 dS();r.set("content-type",`multipart/related; boundary=${a}`),n.body=em.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 Kn.#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 lS.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=pn.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
|
+
Content-Type: ${s}\r
|
|
41
|
+
\r
|
|
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(()=>Kt(sg()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Zg(),Qg))).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}};Yn.Gaxios=Ui;Kn=Ui});var Ye=V(ot=>{"use strict";var hS=ot&&ot.__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]})),pS=ot&&ot.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hS(e,t,r)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=mS;var nm=rm();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return nm.Gaxios}});var gS=Ac();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return gS.GaxiosError}});pS(vc(),ot);ot.instance=new nm.Gaxios;async function mS(t){return ot.instance.request(t)}});var Yc=V((om,Li)=>{(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,l=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,q,z=G.prototype={constructor:G,toString:null,valueOf:null},Y=new G(1),X=20,ce=4,oe=-7,pe=21,we=-1e7,me=1e7,Z=!1,J=1,K=0,re={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Te="0123456789abcdefghijklmnopqrstuvwxyz",Xe=!0;function G(_,E){var D,j,F,I,L,x,P,M,B=this;if(!(B instanceof G))return new G(_,E);if(E==null){if(_&&_._isBigNumber===!0){B.s=_.s,!_.c||_.e>me?B.c=B.e=null:_.e<we?B.c=[B.e=0]:(B.e=_.e,B.c=_.c.slice());return}if((x=typeof _=="number")&&_*0==0){if(B.s=1/_<0?(_=-_,-1):1,_===~~_){for(I=0,L=_;L>=10;L/=10,I++);I>me?B.c=B.e=null:(B.e=I,B.c=[_]);return}M=String(_)}else{if(!r.test(M=String(_)))return q(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(E,2,Te.length,"Base"),E==10&&Xe)return B=new G(_),xe(B,X+B.e+1,ce);if(M=String(_),x=typeof _=="number"){if(_*0!=0)return q(B,M,x,E);if(B.s=1/_<0?(M=M.slice(1),-1):1,G.DEBUG&&M.replace(/^0\.0*|\./,"").length>15)throw Error(a+_)}else B.s=M.charCodeAt(0)===45?(M=M.slice(1),-1):1;for(D=Te.slice(0,E),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 q(B,String(_),x,E)}x=!1,M=N(M,E,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&&G.DEBUG&&P>15&&(_>f||_!==o(_)))throw Error(a+B.s*_);if((I=I-L-1)>me)B.c=B.e=null;else if(I<we)B.c=[B.e=0];else{if(B.e=I,B.c=[],L=(I+1)%l,I<0&&(L+=l),L<P){for(L&&B.c.push(+M.slice(0,L)),P-=l;L<P;)B.c.push(+M.slice(L,L+=l));L=l-(M=M.slice(L)).length}else L-=P;for(;L--;M+="0");B.c.push(+M)}}else B.c=[B.e=0]}G.clone=A,G.ROUND_UP=0,G.ROUND_DOWN=1,G.ROUND_CEIL=2,G.ROUND_FLOOR=3,G.ROUND_HALF_UP=4,G.ROUND_HALF_DOWN=5,G.ROUND_HALF_EVEN=6,G.ROUND_HALF_CEIL=7,G.ROUND_HALF_FLOOR=8,G.EUCLID=9,G.config=G.set=function(_){var E,D;if(_!=null)if(typeof _=="object"){if(_.hasOwnProperty(E="DECIMAL_PLACES")&&(D=_[E],m(D,0,y,E),X=D),_.hasOwnProperty(E="ROUNDING_MODE")&&(D=_[E],m(D,0,8,E),ce=D),_.hasOwnProperty(E="EXPONENTIAL_AT")&&(D=_[E],D&&D.pop?(m(D[0],-y,0,E),m(D[1],0,y,E),oe=D[0],pe=D[1]):(m(D,-y,y,E),oe=-(pe=D<0?-D:D))),_.hasOwnProperty(E="RANGE"))if(D=_[E],D&&D.pop)m(D[0],-y,-1,E),m(D[1],1,y,E),we=D[0],me=D[1];else if(m(D,-y,y,E),D)we=-(me=D<0?-D:D);else throw Error(s+E+" cannot be zero: "+D);if(_.hasOwnProperty(E="CRYPTO"))if(D=_[E],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))Z=D;else throw Z=!D,Error(s+"crypto unavailable");else Z=D;else throw Error(s+E+" not true or false: "+D);if(_.hasOwnProperty(E="MODULO_MODE")&&(D=_[E],m(D,0,9,E),J=D),_.hasOwnProperty(E="POW_PRECISION")&&(D=_[E],m(D,0,y,E),K=D),_.hasOwnProperty(E="FORMAT"))if(D=_[E],typeof D=="object")re=D;else throw Error(s+E+" not an object: "+D);if(_.hasOwnProperty(E="ALPHABET"))if(D=_[E],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Xe=D.slice(0,10)=="0123456789",Te=D;else throw Error(s+E+" invalid: "+D)}else throw Error(s+"Object expected: "+_);return{DECIMAL_PLACES:X,ROUNDING_MODE:ce,EXPONENTIAL_AT:[oe,pe],RANGE:[we,me],CRYPTO:Z,MODULO_MODE:J,POW_PRECISION:K,FORMAT:re,ALPHABET:Te}},G.isBigNumber=function(_){if(!_||_._isBigNumber!==!0)return!1;if(!G.DEBUG)return!0;var E,D,j=_.c,F=_.e,I=_.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(E=(F+1)%l,E<1&&(E+=l),String(j[0]).length==E){for(E=0;E<j.length;E++)if(D=j[E],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: "+_)},G.maximum=G.max=function(){return ge(arguments,-1)},G.minimum=G.min=function(){return ge(arguments,1)},G.random=(function(){var _=9007199254740992,E=Math.random()*_&2097151?function(){return o(Math.random()*_)}: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 G(Y);if(D==null?D=X:m(D,0,y),L=n(D/l),Z)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 Z=!1,Error(s+"crypto unavailable");if(!Z)for(;P<L;)x=E(),x<9e15&&(M[P++]=x%1e14);for(L=M[--P],D%=l,L&&D&&(x=d[l-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-=l);for(P=1,x=M[0];x>=10;x/=10,P++);P<l&&(I-=l-P)}return B.e=I,B.c=M,B}})(),G.sum=function(){for(var _=1,E=arguments,D=new G(E[0]);_<E.length;)D=D.plus(E[_++]);return D},N=(function(){var _="0123456789";function E(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,H,te,ne,Se,Pe=D.indexOf("."),je=X,ke=ce;for(Pe>=0&&(B=K,K=0,D=D.replace(".",""),Se=new G(j),te=Se.pow(D.length-Pe),K=B,Se.c=E(S(C(te.c),te.e,"0"),10,F,_),Se.e=Se.c.length),ne=E(D,j,F,L?(x=Te,_):(x=_,Te)),M=B=ne.length;ne[--B]==0;ne.pop());if(!ne[0])return x.charAt(0);if(Pe<0?--M:(te.c=ne,te.e=M,te.s=I,te=O(te,Se,je,ke,F),ne=te.c,H=te.r,M=te.e),P=M+je+1,Pe=ne[P],B=F/2,H=H||P<0||ne[P+1]!=null,H=ke<4?(Pe!=null||H)&&(ke==0||ke==(te.s<0?3:2)):Pe>B||Pe==B&&(ke==4||H||ke==6&&ne[P-1]&1||ke==(te.s<0?8:7)),P<1||!ne[0])D=H?S(x.charAt(1),-je,x.charAt(0)):x.charAt(0);else{if(ne.length=P,H)for(--F;++ne[--P]>F;)ne[P]=0,P||(++M,ne=[1].concat(ne));for(B=ne.length;!ne[--B];);for(Pe=0,D="";Pe<=B;D+=x.charAt(ne[Pe++]));D=S(D,M,x.charAt(0))}return D}})(),O=(function(){function _(j,F,I){var L,x,P,M,B=0,H=j.length,te=F%p,ne=F/p|0;for(j=j.slice();H--;)P=j[H]%p,M=j[H]/p|0,L=ne*P+M*te,x=te*P+L%p*p+B,B=(x/I|0)+(L/p|0)+ne*M,j[H]=x%I;return B&&(j=[B].concat(j)),j}function E(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,H,te,ne,Se,Pe,je,ke,Ee,$e,wn,kn,Sn,dt,lr,Qe=j.s==F.s?1:-1,ze=j.c,De=F.c;if(!ze||!ze[0]||!De||!De[0])return new G(!j.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Qe*0:Qe/0);for(Pe=new G(Qe),je=Pe.c=[],M=j.e-F.e,Qe=I+M+1,x||(x=u,M=g(j.e/l)-g(F.e/l),Qe=Qe/l|0),B=0;De[B]==(ze[B]||0);B++);if(De[B]>(ze[B]||0)&&M--,Qe<0)je.push(1),H=!0;else{for(kn=ze.length,dt=De.length,B=0,Qe+=2,te=o(x/(De[0]+1)),te>1&&(De=_(De,te,x),ze=_(ze,te,x),dt=De.length,kn=ze.length),wn=dt,ke=ze.slice(0,dt),Ee=ke.length;Ee<dt;ke[Ee++]=0);lr=De.slice(),lr=[0].concat(lr),Sn=De[0],De[1]>=x/2&&Sn++;do{if(te=0,P=E(De,ke,dt,Ee),P<0){if($e=ke[0],dt!=Ee&&($e=$e*x+(ke[1]||0)),te=o($e/Sn),te>1)for(te>=x&&(te=x-1),ne=_(De,te,x),Se=ne.length,Ee=ke.length;E(ne,ke,Se,Ee)==1;)te--,D(ne,dt<Se?lr:De,Se,x),Se=ne.length,P=1;else te==0&&(P=te=1),ne=De.slice(),Se=ne.length;if(Se<Ee&&(ne=[0].concat(ne)),D(ke,ne,Ee,x),Ee=ke.length,P==-1)for(;E(De,ke,dt,Ee)<1;)te++,D(ke,dt<Ee?lr:De,Ee,x),Ee=ke.length}else P===0&&(te++,ke=[0]);je[B++]=te,ke[0]?ke[Ee++]=ze[wn]||0:(ke=[ze[wn]],Ee=1)}while((wn++<kn||ke[0]!=null)&&Qe--);H=ke[0]!=null,je[0]||je.splice(0,1)}if(x==u){for(B=1,Qe=je[0];Qe>=10;Qe/=10,B++);xe(Pe,I+(Pe.e=B+M*l-1)+1,L,H)}else Pe.e=M,Pe.r=+H;return Pe}})();function fe(_,E,D,j){var F,I,L,x,P;if(D==null?D=ce:m(D,0,8),!_.c)return _.toString();if(F=_.c[0],L=_.e,E==null)P=C(_.c),P=j==1||j==2&&(L<=oe||L>=pe)?k(P,L):S(P,L,"0");else if(_=xe(new G(_),E,D),I=_.e,P=C(_.c),x=P.length,j==1||j==2&&(E<=I||I<=oe)){for(;x<E;P+="0",x++);P=k(P,I)}else if(E-=L+(j===2&&I>L),P=S(P,I,"0"),I+1>x){if(--E>0)for(P+=".";E--;P+="0");}else if(E+=I-x,E>0)for(I+1==x&&(P+=".");E--;P+="0");return _.s<0&&F?"-"+P:P}function ge(_,E){for(var D,j,F=1,I=new G(_[0]);F<_.length;F++)j=new G(_[F]),(!j.s||(D=b(I,j))===E||D===0&&I.s===E)&&(I=j);return I}function ft(_,E,D){for(var j=1,F=E.length;!E[--F];E.pop());for(F=E[0];F>=10;F/=10,j++);return(D=j+D*l-1)>me?_.c=_.e=null:D<we?_.c=[_.e=0]:(_.e=D,_.c=E),_}q=(function(){var _=/^(-?)0([xbo])(?=\w[\w.]*$)/i,E=/^([^.]+)\.$/,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(_,function(H,te,ne){return M=(ne=ne.toLowerCase())=="x"?16:ne=="b"?2:8,!P||P==M?te:H}),P&&(M=P,B=B.replace(E,"$1").replace(D,"0.$1")),L!=B))return new G(B,M);if(G.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+L);I.s=null}I.c=I.e=null}})();function xe(_,E,D,j){var F,I,L,x,P,M,B,H=_.c,te=d;if(H){e:{for(F=1,x=H[0];x>=10;x/=10,F++);if(I=E-F,I<0)I+=l,L=E,P=H[M=0],B=o(P/te[F-L-1]%10);else if(M=n((I+1)/l),M>=H.length)if(j){for(;H.length<=M;H.push(0));P=B=0,F=1,I%=l,L=I-l+1}else break e;else{for(P=x=H[M],F=1;x>=10;x/=10,F++);I%=l,L=I-l+F,B=L<0?0:o(P/te[F-L-1]%10)}if(j=j||E<0||H[M+1]!=null||(L<0?P:P%te[F-L-1]),j=D<4?(B||j)&&(D==0||D==(_.s<0?3:2)):B>5||B==5&&(D==4||j||D==6&&(I>0?L>0?P/te[F-L]:0:H[M-1])%10&1||D==(_.s<0?8:7)),E<1||!H[0])return H.length=0,j?(E-=_.e+1,H[0]=te[(l-E%l)%l],_.e=-E||0):H[0]=_.e=0,_;if(I==0?(H.length=M,x=1,M--):(H.length=M+1,x=te[l-I],H[M]=L>0?o(P/te[F-L]%te[L])*x:0),j)for(;;)if(M==0){for(I=1,L=H[0];L>=10;L/=10,I++);for(L=H[0]+=x,x=1;L>=10;L/=10,x++);I!=x&&(_.e++,H[0]==u&&(H[0]=1));break}else{if(H[M]+=x,H[M]!=u)break;H[M--]=0,x=1}for(I=H.length;H[--I]===0;H.pop());}_.e>me?_.c=_.e=null:_.e<we&&(_.c=[_.e=0])}return _}function Be(_){var E,D=_.e;return D===null?_.toString():(E=C(_.c),E=D<=oe||D>=pe?k(E,D):S(E,D,"0"),_.s<0?"-"+E:E)}return z.absoluteValue=z.abs=function(){var _=new G(this);return _.s<0&&(_.s=1),_},z.comparedTo=function(_,E){return b(this,new G(_,E))},z.decimalPlaces=z.dp=function(_,E){var D,j,F,I=this;if(_!=null)return m(_,0,y),E==null?E=ce:m(E,0,8),xe(new G(I),_+I.e+1,E);if(!(D=I.c))return null;if(j=((F=D.length-1)-g(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,j--);return j<0&&(j=0),j},z.dividedBy=z.div=function(_,E){return O(this,new G(_,E),X,ce)},z.dividedToIntegerBy=z.idiv=function(_,E){return O(this,new G(_,E),0,1)},z.exponentiatedBy=z.pow=function(_,E){var D,j,F,I,L,x,P,M,B,H=this;if(_=new G(_),_.c&&!_.isInteger())throw Error(s+"Exponent not an integer: "+Be(_));if(E!=null&&(E=new G(E)),x=_.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!_.c||!_.c[0])return B=new G(Math.pow(+Be(H),x?_.s*(2-v(_)):+Be(_))),E?B.mod(E):B;if(P=_.s<0,E){if(E.c?!E.c[0]:!E.s)return new G(NaN);j=!P&&H.isInteger()&&E.isInteger(),j&&(H=H.mod(E))}else{if(_.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||x&&H.c[1]>=24e7:H.c[0]<8e13||x&&H.c[0]<=9999975e7)))return I=H.s<0&&v(_)?-0:0,H.e>-1&&(I=1/I),new G(P?1/I:I);K&&(I=n(K/l+2))}for(x?(D=new G(.5),P&&(_.s=1),M=v(_)):(F=Math.abs(+Be(_)),M=F%2),B=new G(Y);;){if(M){if(B=B.times(H),!B.c)break;I?B.c.length>I&&(B.c.length=I):j&&(B=B.mod(E))}if(F){if(F=o(F/2),F===0)break;M=F%2}else if(_=_.times(D),xe(_,_.e+1,1),_.e>14)M=v(_);else{if(F=+Be(_),F===0)break;M=F%2}H=H.times(H),I?H.c&&H.c.length>I&&(H.c.length=I):j&&(H=H.mod(E))}return j?B:(P&&(B=Y.div(B)),E?B.mod(E):I?xe(B,K,ce,L):B)},z.integerValue=function(_){var E=new G(this);return _==null?_=ce:m(_,0,8),xe(E,E.e+1,_)},z.isEqualTo=z.eq=function(_,E){return b(this,new G(_,E))===0},z.isFinite=function(){return!!this.c},z.isGreaterThan=z.gt=function(_,E){return b(this,new G(_,E))>0},z.isGreaterThanOrEqualTo=z.gte=function(_,E){return(E=b(this,new G(_,E)))===1||E===0},z.isInteger=function(){return!!this.c&&g(this.e/l)>this.c.length-2},z.isLessThan=z.lt=function(_,E){return b(this,new G(_,E))<0},z.isLessThanOrEqualTo=z.lte=function(_,E){return(E=b(this,new G(_,E)))===-1||E===0},z.isNaN=function(){return!this.s},z.isNegative=function(){return this.s<0},z.isPositive=function(){return this.s>0},z.isZero=function(){return!!this.c&&this.c[0]==0},z.minus=function(_,E){var D,j,F,I,L=this,x=L.s;if(_=new G(_,E),E=_.s,!x||!E)return new G(NaN);if(x!=E)return _.s=-E,L.plus(_);var P=L.e/l,M=_.e/l,B=L.c,H=_.c;if(!P||!M){if(!B||!H)return B?(_.s=-E,_):new G(H?L:NaN);if(!B[0]||!H[0])return H[0]?(_.s=-E,_):new G(B[0]?L:ce==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=H),F.reverse(),E=x;E--;F.push(0));F.reverse()}else for(j=(I=(x=B.length)<(E=H.length))?x:E,x=E=0;E<j;E++)if(B[E]!=H[E]){I=B[E]<H[E];break}if(I&&(F=B,B=H,H=F,_.s=-_.s),E=(j=H.length)-(D=B.length),E>0)for(;E--;B[D++]=0);for(E=u-1;j>x;){if(B[--j]<H[j]){for(D=j;D&&!B[--D];B[D]=E);--B[D],B[j]+=u}B[j]-=H[j]}for(;B[0]==0;B.splice(0,1),--M);return B[0]?ft(_,B,M):(_.s=ce==3?-1:1,_.c=[_.e=0],_)},z.modulo=z.mod=function(_,E){var D,j,F=this;return _=new G(_,E),!F.c||!_.s||_.c&&!_.c[0]?new G(NaN):!_.c||F.c&&!F.c[0]?new G(F):(J==9?(j=_.s,_.s=1,D=O(F,_,0,3),_.s=j,D.s*=j):D=O(F,_,0,J),_=F.minus(D.times(_)),!_.c[0]&&J==1&&(_.s=F.s),_)},z.multipliedBy=z.times=function(_,E){var D,j,F,I,L,x,P,M,B,H,te,ne,Se,Pe,je,ke=this,Ee=ke.c,$e=(_=new G(_,E)).c;if(!Ee||!$e||!Ee[0]||!$e[0])return!ke.s||!_.s||Ee&&!Ee[0]&&!$e||$e&&!$e[0]&&!Ee?_.c=_.e=_.s=null:(_.s*=ke.s,!Ee||!$e?_.c=_.e=null:(_.c=[0],_.e=0)),_;for(j=g(ke.e/l)+g(_.e/l),_.s*=ke.s,P=Ee.length,H=$e.length,P<H&&(Se=Ee,Ee=$e,$e=Se,F=P,P=H,H=F),F=P+H,Se=[];F--;Se.push(0));for(Pe=u,je=p,F=H;--F>=0;){for(D=0,te=$e[F]%je,ne=$e[F]/je|0,L=P,I=F+L;I>F;)M=Ee[--L]%je,B=Ee[L]/je|0,x=ne*M+B*te,M=te*M+x%je*je+Se[I]+D,D=(M/Pe|0)+(x/je|0)+ne*B,Se[I--]=M%Pe;Se[I]=D}return D?++j:Se.splice(0,1),ft(_,Se,j)},z.negated=function(){var _=new G(this);return _.s=-_.s||null,_},z.plus=function(_,E){var D,j=this,F=j.s;if(_=new G(_,E),E=_.s,!F||!E)return new G(NaN);if(F!=E)return _.s=-E,j.minus(_);var I=j.e/l,L=_.e/l,x=j.c,P=_.c;if(!I||!L){if(!x||!P)return new G(F/0);if(!x[0]||!P[0])return P[0]?_:new G(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,E=P.length,F-E<0&&(D=P,P=x,x=D,E=F),F=0;E;)F=(x[--E]=x[E]+P[E]+F)/u|0,x[E]=u===x[E]?0:x[E]%u;return F&&(x=[F].concat(x),++L),ft(_,x,L)},z.precision=z.sd=function(_,E){var D,j,F,I=this;if(_!=null&&_!==!!_)return m(_,1,y),E==null?E=ce:m(E,0,8),xe(new G(I),_,E);if(!(D=I.c))return null;if(F=D.length-1,j=F*l+1,F=D[F]){for(;F%10==0;F/=10,j--);for(F=D[0];F>=10;F/=10,j++);}return _&&I.e+1>j&&(j=I.e+1),j},z.shiftedBy=function(_){return m(_,-f,f),this.times("1e"+_)},z.squareRoot=z.sqrt=function(){var _,E,D,j,F,I=this,L=I.c,x=I.s,P=I.e,M=X+4,B=new G("0.5");if(x!==1||!L||!L[0])return new G(!x||x<0&&(!L||L[0])?NaN:L?I:1/0);if(x=Math.sqrt(+Be(I)),x==0||x==1/0?(E=C(L),(E.length+P)%2==0&&(E+="0"),x=Math.sqrt(+E),P=g((P+1)/2)-(P<0||P%2),x==1/0?E="5e"+P:(E=x.toExponential(),E=E.slice(0,E.indexOf("e")+1)+P),D=new G(E)):D=new G(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))),C(F.c).slice(0,x)===(E=C(D.c)).slice(0,x))if(D.e<P&&--x,E=E.slice(x-3,x+1),E=="9999"||!j&&E=="4999"){if(!j&&(xe(F,F.e+X+2,0),F.times(F).eq(I))){D=F;break}M+=4,x+=4,j=1}else{(!+E||!+E.slice(1)&&E.charAt(0)=="5")&&(xe(D,D.e+X+2,1),_=!D.times(D).eq(I));break}}return xe(D,D.e+X+1,ce,_)},z.toExponential=function(_,E){return _!=null&&(m(_,0,y),_++),fe(this,_,E,1)},z.toFixed=function(_,E){return _!=null&&(m(_,0,y),_=_+this.e+1),fe(this,_,E)},z.toFormat=function(_,E,D){var j,F=this;if(D==null)_!=null&&E&&typeof E=="object"?(D=E,E=null):_&&typeof _=="object"?(D=_,_=E=null):D=re;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(j=F.toFixed(_,E),F.c){var I,L=j.split("."),x=+D.groupSize,P=+D.secondaryGroupSize,M=D.groupSeparator||"",B=L[0],H=L[1],te=F.s<0,ne=te?B.slice(1):B,Se=ne.length;if(P&&(I=x,x=P,P=I,Se-=I),x>0&&Se>0){for(I=Se%x||x,B=ne.substr(0,I);I<Se;I+=x)B+=M+ne.substr(I,x);P>0&&(B+=M+ne.slice(I)),te&&(B="-"+B)}j=H?B+(D.decimalSeparator||"")+((P=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+j+(D.suffix||"")},z.toFraction=function(_){var E,D,j,F,I,L,x,P,M,B,H,te,ne=this,Se=ne.c;if(_!=null&&(x=new G(_),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+Be(x));if(!Se)return new G(ne);for(E=new G(Y),M=D=new G(Y),j=P=new G(Y),te=C(Se),I=E.e=te.length-ne.e-1,E.c[0]=d[(L=I%l)<0?l+L:L],_=!_||x.comparedTo(E)>0?I>0?E:M:x,L=me,me=1/0,x=new G(te),P.c[0]=0;B=O(x,E,0,1),F=D.plus(B.times(j)),F.comparedTo(_)!=1;)D=j,j=F,M=P.plus(B.times(F=M)),P=F,E=x.minus(B.times(F=E)),x=F;return F=O(_.minus(D),j,0,1),P=P.plus(F.times(M)),D=D.plus(F.times(j)),P.s=M.s=ne.s,I=I*2,H=O(M,j,I,ce).minus(ne).abs().comparedTo(O(P,D,I,ce).minus(ne).abs())<1?[M,j]:[P,D],me=L,H},z.toNumber=function(){return+Be(this)},z.toPrecision=function(_,E){return _!=null&&m(_,1,y),fe(this,_,E,2)},z.toString=function(_){var E,D=this,j=D.s,F=D.e;return F===null?j?(E="Infinity",j<0&&(E="-"+E)):E="NaN":(_==null?E=F<=oe||F>=pe?k(C(D.c),F):S(C(D.c),F,"0"):_===10&&Xe?(D=xe(new G(D),X+F+1,ce),E=S(C(D.c),D.e,"0")):(m(_,2,Te.length,"Base"),E=N(S(C(D.c),F,"0"),10,_,j,!0)),j<0&&D.c[0]&&(E="-"+E)),E},z.valueOf=z.toJSON=function(){return Be(this)},z._isBigNumber=!0,T!=null&&G.set(T),G}function g(T){var O=T|0;return T>0||T===O?O:O-1}function C(T){for(var O,N,q=1,z=T.length,Y=T[0]+"";q<z;){for(O=T[q++]+"",N=l-O.length;N--;O="0"+O);Y+=O}for(z=Y.length;Y.charCodeAt(--z)===48;);return Y.slice(0,z+1||1)}function b(T,O){var N,q,z=T.c,Y=O.c,X=T.s,ce=O.s,oe=T.e,pe=O.e;if(!X||!ce)return null;if(N=z&&!z[0],q=Y&&!Y[0],N||q)return N?q?0:-ce:X;if(X!=ce)return X;if(N=X<0,q=oe==pe,!z||!Y)return q?0:!z^N?1:-1;if(!q)return oe>pe^N?1:-1;for(ce=(oe=z.length)<(pe=Y.length)?oe:pe,X=0;X<ce;X++)if(z[X]!=Y[X])return z[X]>Y[X]^N?1:-1;return oe==pe?0:oe>pe^N?1:-1}function m(T,O,N,q){if(T<O||T>N||T!==o(T))throw Error(s+(q||"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/l)==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 S(T,O,N){var q,z;if(O<0){for(z=N+".";++O;z+=N);T=z+T}else if(q=T.length,++O>q){for(z=N,O-=q;--O;z+=N);T+=z}else O<q&&(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 Li<"u"&&Li.exports?Li.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(om)});var um=V((cP,am)=>{var sm=Yc(),im=am.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 l(f,d){var p,y,A,g,C=n,b,m=d[f],v=m!=null&&(m instanceof sm||sm.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]=l(p,m)||"null";return A=b.length===0?"[]":n?`[
|
|
44
|
+
`+n+b.join(`,
|
|
45
|
+
`+n)+`
|
|
46
|
+
`+C+"]":"["+b.join(",")+"]",n=C,A}if(a&&typeof a=="object")for(g=a.length,p=0;p<g;p+=1)typeof a[p]=="string"&&(y=a[p],A=l(y,m),A&&b.push(u(y)+(n?": ":":")+A));else Object.keys(m).forEach(function(k){var S=l(k,m);S&&b.push(u(k)+(n?": ":":")+S)});return A=b.length===0?"{}":n?`{
|
|
47
|
+
`+n+b.join(`,
|
|
48
|
+
`+n)+`
|
|
49
|
+
`+C+"}":"{"+b.join(",")+"}",n=C,A}}typeof im.stringify!="function"&&(im.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 l("",{"":f})})})()});var lm=V((lP,cm)=>{var qi=null,yS=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,_S=/(?: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)/,bS=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(C){throw{name:"SyntaxError",message:C,at:r,text:s}},u=function(C){return C&&C!==n&&a("Expected '"+C+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var C,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(C=+b,!isFinite(C))a("Bad number");else return qi==null&&(qi=Yc()),b.length>15?e.storeAsString?b:e.useNativeBigInt?BigInt(b):new qi(b):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(C):new qi(C):C},f=function(){var C,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&&(C=parseInt(u(),16),!!isFinite(C));b+=1)v=v*16+C;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 C=[];if(n==="["){if(u("["),d(),n==="]")return u("]"),C;for(;n;){if(C.push(y()),d(),n==="]")return u("]"),C;u(","),d()}}a("Bad array")},g=function(){var C,b=Object.create(null);if(n==="{"){if(u("{"),d(),n==="}")return u("}"),b;for(;n;){if(C=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(b,C)&&a('Duplicate key "'+C+'"'),yS.test(C)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():b[C]=y():_S.test(C)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?y():b[C]=y():b[C]=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 l();default:return n>="0"&&n<="9"?l():p()}},function(C,b){var m;return s=C+"",r=0,n=" ",m=y(),d(),n&&a("Syntax error"),typeof b=="function"?(function v(k,S){var T,O,N=k[S];return N&&typeof N=="object"&&Object.keys(N).forEach(function(q){O=v(N,q),O!==void 0?N[q]=O:delete N[q]}),b.call(k,S,N)})({"":m},""):m}};cm.exports=bS});var hm=V((fP,$i)=>{var fm=um().stringify,dm=lm();$i.exports=function(t){return{parse:dm(t),stringify:fm}};$i.exports.parse=dm();$i.exports.stringify=fm});var Xc=V(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.GCE_LINUX_BIOS_PATHS=void 0;qt.isGoogleCloudServerless=mm;qt.isGoogleComputeEngineLinux=ym;qt.isGoogleComputeEngineMACAddress=_m;qt.isGoogleComputeEngine=bm;qt.detectGCPResidency=wS;var pm=ee("fs"),gm=ee("os");qt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var CS=/^42:01/;function mm(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function ym(){if((0,gm.platform)()!=="linux")return!1;try{(0,pm.statSync)(qt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,pm.readFileSync)(qt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function _m(){let t=(0,gm.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(CS.test(r))return!0}return!1}function bm(){return ym()||_m()}function wS(){return mm()||bm()}});var Cm=V(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Colours=void 0;var et=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="")}};zi.Colours=et;et.enabled=!1;et.reset="";et.bright="";et.dim="";et.red="";et.green="";et.yellow="";et.blue="";et.magenta="";et.cyan="";et.white="";et.grey="";et.refresh()});var Em=V(ve=>{"use strict";var kS=ve&&ve.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),SS=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wm=ve&&ve.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&kS(r,e,n[o]);return SS(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=Zc;ve.getDebugBackend=AS;ve.getStructuredBackend=TS;ve.setBackend=DS;ve.log=Sm;var ES=ee("events"),zo=wm(ee("process")),km=wm(ee("util")),mt=Cm(),$t;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})($t||(ve.LogSeverity=$t={}));var Ho=class extends ES.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($t.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity($t.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity($t.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity($t.ERROR,...n),this.func.sublog=n=>Sm(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};ve.AdhocDebugLogger=Ho;ve.placeholder=new Ho("",()=>{}).func;var Xn=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=zo.env[ve.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};ve.DebugLogBackendBase=Xn;var Qc=class extends Xn{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=`${mt.Colours.green}${e}${mt.Colours.reset}`,a=`${mt.Colours.yellow}${zo.pid}${mt.Colours.reset}`,u;switch(r.severity){case $t.ERROR:u=`${mt.Colours.red}${r.severity}${mt.Colours.reset}`;break;case $t.INFO:u=`${mt.Colours.magenta}${r.severity}${mt.Colours.reset}`;break;case $t.WARNING:u=`${mt.Colours.yellow}${r.severity}${mt.Colours.reset}`;break;default:u=(o=r.severity)!==null&&o!==void 0?o:$t.DEFAULT;break}let l=km.formatWithOptions({colors:mt.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${mt.Colours.grey}${d}${mt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,d?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Zc(){return new Qc}var el=class extends Xn{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=zo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";zo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function AS(t){return new el(t)}var tl=class extends Xn{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:$t.INFO,l=Object.assign({severity:u,message:km.format(...s)},o),f=JSON.stringify(l);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function TS(t){return new tl(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var rl=new Map,yt;function DS(t){yt=t,rl.clear()}function Sm(t,e){if(!yt&&!zo.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=rl.get(t);if(r)return r.func;if(yt===null)return ve.placeholder;yt===void 0&&(yt=Zc());let n=(()=>{let o;return new Ho(t,(a,...u)=>{if(o!==yt){if(yt===null)return;yt===void 0&&(yt=Zc()),o=yt}yt?.log(t,a,...u)})})();return rl.set(t,n),n.func}});var nl=V(gn=>{"use strict";var vS=gn&&gn.__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]})),RS=gn&&gn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vS(e,t,r)};Object.defineProperty(gn,"__esModule",{value:!0});RS(Em(),gn)});var Go=V(ue=>{"use strict";var Tm=ue&&ue.__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]})),xS=ue&&ue.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),OS=ue&&ue.__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"&&Tm(r,e,n[o]);return xS(r,e),r}})(),FS=ue&&ue.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Tm(e,t,r)};Object.defineProperty(ue,"__esModule",{value:!0});ue.gcpResidencyCache=ue.METADATA_SERVER_DETECTION=ue.HEADERS=ue.HEADER_VALUE=ue.HEADER_NAME=ue.SECONDARY_HOST_ADDRESS=ue.HOST_ADDRESS=ue.BASE_PATH=void 0;ue.instance=MS;ue.project=US;ue.universe=LS;ue.bulk=qS;ue.isAvailable=zS;ue.resetIsAvailableCache=HS;ue.getGCPResidency=il;ue.setGCPResidency=Dm;ue.requestTimeout=vm;var ol=Ye(),PS=hm(),IS=Xc(),NS=OS(nl());ue.BASE_PATH="/computeMetadata/v1";ue.HOST_ADDRESS="http://169.254.169.254";ue.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ue.HEADER_NAME="Metadata-Flavor";ue.HEADER_VALUE="Google";ue.HEADERS=Object.freeze({[ue.HEADER_NAME]:ue.HEADER_VALUE});var Am=NS.log("gcp-metadata");ue.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 sl(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ue.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ue.BASE_PATH,t).href}function BS(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 Wo(t,e={},r=3,n=!1){let o=new Headers(ue.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}`:(BS(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let u=n?jS:ol.request,l={url:`${sl()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:vm()};Am.info("instance request %j",l);let f=await u(l);Am.info("instance metadata is %s",f.data);let d=f.headers.get(ue.HEADER_NAME);if(d!==ue.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ue.HEADER_NAME} header. Expected '${ue.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return PS.parse(f.data)}catch{}return f.data}async function jS(t){let e={...t,url:t.url?.toString().replace(sl(),sl(ue.SECONDARY_HOST_ADDRESS))},r=(0,ol.request)(t),n=(0,ol.request)(e);return Promise.any([r,n])}function MS(t){return Wo("instance",t)}function US(t){return Wo("project",t)}function LS(t){return Wo("universe",t)}async function qS(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Wo(r),o=r.metadataKey;e[o]=n})())),e}function $S(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Hi;async function zS(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ue.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ue.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return il();case"ping-only":}}try{return Hi===void 0&&(Hi=Wo("instance",void 0,$S(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Hi,!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 HS(){Hi=void 0}ue.gcpResidencyCache=null;function il(){return ue.gcpResidencyCache===null&&Dm(),ue.gcpResidencyCache}function Dm(t=null){ue.gcpResidencyCache=t!==null?t:(0,IS.detectGCPResidency)()}function vm(){return il()?0:3e3}FS(Xc(),ue)});var Om=V(Wi=>{"use strict";Wi.byteLength=GS;Wi.toByteArray=VS;Wi.fromByteArray=XS;var er=[],Rt=[],WS=typeof Uint8Array<"u"?Uint8Array:Array,al="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(mn=0,Rm=al.length;mn<Rm;++mn)er[mn]=al[mn],Rt[al.charCodeAt(mn)]=mn;var mn,Rm;Rt[45]=62;Rt[95]=63;function xm(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 GS(t){var e=xm(t),r=e[0],n=e[1];return(r+n)*3/4-n}function JS(t,e,r){return(e+r)*3/4-r}function VS(t){var e,r=xm(t),n=r[0],o=r[1],s=new WS(JS(t,n,o)),a=0,u=o>0?n-4:n,l;for(l=0;l<u;l+=4)e=Rt[t.charCodeAt(l)]<<18|Rt[t.charCodeAt(l+1)]<<12|Rt[t.charCodeAt(l+2)]<<6|Rt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Rt[t.charCodeAt(l)]<<2|Rt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Rt[t.charCodeAt(l)]<<10|Rt[t.charCodeAt(l+1)]<<4|Rt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function KS(t){return er[t>>18&63]+er[t>>12&63]+er[t>>6&63]+er[t&63]}function YS(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(KS(n));return o.join("")}function XS(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(YS(t,a,a+s>u?u:a+s));return n===1?(e=t[r-1],o.push(er[e>>2]+er[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(er[e>>10]+er[e>>4&63]+er[e<<2&63]+"=")),o.join("")}});var cl=V(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.fromArrayBufferToHex=QS;function QS(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Fm=V(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.BrowserCrypto=void 0;var Qn=Om(),ZS=cl(),ll=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 Qn.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),Qn.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=Qn.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 Qn.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=Qn.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return Qn.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,ZS.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))}};Gi.BrowserCrypto=ll});var Pm=V(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.NodeCrypto=void 0;var Zn=ee("crypto"),fl=class{async sha256DigestBase64(e){return Zn.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Zn.randomBytes(e).toString("base64")}async verify(e,r,n){let o=Zn.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=Zn.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 Zn.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:tE(e);return eE(Zn.createHmac("sha256",n).update(r).digest())}};Ji.NodeCrypto=fl;function eE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function tE(t){return Buffer.from(t)}});var Jo=V(wr=>{"use strict";var rE=wr&&wr.__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]})),nE=wr&&wr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rE(e,t,r)};Object.defineProperty(wr,"__esModule",{value:!0});wr.createCrypto=iE;wr.hasBrowserCrypto=Im;var oE=Fm(),sE=Pm();nE(cl(),wr);function iE(){return Im()?new oE.BrowserCrypto:new sE.NodeCrypto}function Im(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var eo=V((dl,Bm)=>{var Vi=ee("buffer"),tr=Vi.Buffer;function Nm(t,e){for(var r in t)e[r]=t[r]}tr.from&&tr.alloc&&tr.allocUnsafe&&tr.allocUnsafeSlow?Bm.exports=Vi:(Nm(Vi,dl),dl.Buffer=yn);function yn(t,e,r){return tr(t,e,r)}yn.prototype=Object.create(tr.prototype);Nm(tr,yn);yn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tr(t,e,r)};yn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=tr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};yn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tr(t)};yn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Vi.SlowBuffer(t)}});var Mm=V((kP,jm)=>{"use strict";function hl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var aE={ES256:hl(256),ES384:hl(384),ES512:hl(521)};function uE(t){var e=aE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}jm.exports=uE});var pl=V((SP,Hm)=>{"use strict";var Ki=eo().Buffer,Lm=Mm(),Yi=128,qm=0,cE=32,lE=16,fE=2,$m=lE|cE|qm<<6,Xi=fE|qm<<6;function dE(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function zm(t){if(Ki.isBuffer(t))return t;if(typeof t=="string")return Ki.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function hE(t,e){t=zm(t);var r=Lm(e),n=r+1,o=t.length,s=0;if(t[s++]!==$m)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Yi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Xi)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 l=s;if(s+=u,t[s++]!==Xi)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=Ki.allocUnsafe(p+u+y+f);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+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=dE(A),A}function Um(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Yi;return o&&--n,n}function pE(t,e){t=zm(t);var r=Lm(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=Um(t,0,r),s=Um(t,r,t.length),a=r-o,u=r-s,l=2+a+1+1+u,f=l<Yi,d=Ki.allocUnsafe((f?2:3)+l),p=0;return d[p++]=$m,f?d[p++]=l:(d[p++]=Yi|1,d[p++]=l&255),d[p++]=Xi,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=Xi,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}Hm.exports={derToJose:hE,joseToDer:pE}});var zt=V(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.LRUCache=void 0;kr.snakeToCamel=Gm;kr.originalOrCamelOptions=_E;kr.removeUndefinedValuesInObject=bE;kr.isValidFile=CE;kr.getWellKnownCertificateConfigFileLocation=wE;var gE=ee("fs"),mE=ee("os"),gl=ee("path"),yE="certificate_config.json",Wm="gcloud";function Gm(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function _E(t){function e(r){let n=t||{};return n[r]??n[Gm(r)]}return{get:e}}var ml=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};kr.LRUCache=ml;function bE(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function CE(t){try{return(await gE.promises.lstat(t)).isFile()}catch{return!1}}function wE(){let t=process.env.CLOUDSDK_CONFIG||(kE()?gl.join(process.env.APPDATA||"",Wm):gl.join(process.env.HOME||"",".config",Wm));return gl.join(t,yE)}function kE(){return mE.platform().startsWith("win")}});var Jm=V((AP,SE)=>{SE.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 yl=V(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.USER_AGENT=Gr.PRODUCT_NAME=Gr.pkg=void 0;var Vm=Jm();Gr.pkg=Vm;var Km="google-api-nodejs-client";Gr.PRODUCT_NAME=Km;var EE=`${Km}/${Vm.version}`;Gr.USER_AGENT=EE});var _t=V(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.AuthClient=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Ht.DEFAULT_UNIVERSE=void 0;var AE=ee("events"),_l=Ye(),TE=zt(),DE=nl(),bl=yl();Ht.DEFAULT_UNIVERSE="googleapis.com";Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Cl=class t extends AE.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Ht.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,TE.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")??Ht.DEFAULT_UNIVERSE,this.transporter=e.transporter??new _l.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&&_l.Gaxios.mergeHeaders(s,r.headers),n&&_l.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,DE.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(`${bl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${bl.USER_AGENT}`):e.headers.set("User-Agent",bl.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"]}}}};Ht.AuthClient=Cl});var kl=V(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.LoginTicket=void 0;var wl=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()}}};Qi.LoginTicket=wl});var _n=V(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.OAuth2Client=rr.ClientAuthentication=rr.CertificateFormat=rr.CodeChallengeMethod=void 0;var Ym=Ye(),vE=ee("querystring"),RE=ee("stream"),xE=pl(),Xm=zt(),Sl=Jo(),to=_t(),OE=kl(),Qm;(function(t){t.Plain="plain",t.S256="S256"})(Qm||(rr.CodeChallengeMethod=Qm={}));var Sr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Sr||(rr.CertificateFormat=Sr={}));var Vo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Vo||(rr.ClientAuthentication=Vo={}));var El=class t extends to.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Sr.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||Vo.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()+"?"+vE.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Sl.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===Vo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Vo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Xm.removeUndefinedValuesInObject)(o)),headers:n};to.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,Xm.removeUndefinedValuesInObject)(n))};to.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof Ym.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 l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(u){let l=u;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}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(to.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=Ym.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,l=o.config.data instanceof RE.Readable,f=s===401||s===403;if(!r&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!l&&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,Sl.hasBrowserCrypto)()?Sr.JWK:Sr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Sr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Sr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};to.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 Sr.PEM:u=n.data;break;case Sr.JWK:for(let f of n.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.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};to.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,Sl.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 l=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=xE.joseToDer(f,"ES256").toString("base64")),!await a.verify(y,l,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 C=Number(p.exp);if(isNaN(C))throw new Error("exp field using invalid format");let b=new Date().getTime()/1e3;if(C>=b+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=g-t.CLOCK_SKEW_SECS_,v=C+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,S=!1;if(n.constructor===Array?S=n.indexOf(k)>-1:S=k===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new OE.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}};rr.OAuth2Client=El});var Tl=V(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Compute=void 0;var FE=Ye(),Zm=Go(),PE=_n(),Al=class extends PE.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 Zm.instance(o)}catch(o){throw o instanceof FE.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 Zm.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))}};Zi.Compute=Al});var vl=V(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.IdTokenClient=void 0;var IE=_n(),Dl=class extends IE.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}};ea.IdTokenClient=Dl});var Rl=V(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.GCPEnv=void 0;ro.clear=NE;ro.getEnv=BE;var ey=Go(),nr;(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"})(nr||(ro.GCPEnv=nr={}));var Ko;function NE(){Ko=void 0}async function BE(){return Ko||(Ko=jE(),Ko)}async function jE(){let t=nr.NONE;return ME()?t=nr.APP_ENGINE:UE()?t=nr.CLOUD_FUNCTIONS:await zE()?await $E()?t=nr.KUBERNETES_ENGINE:LE()?t=nr.CLOUD_RUN:qE()?t=nr.CLOUD_RUN_JOBS:t=nr.COMPUTE_ENGINE:t=nr.NONE,t}function ME(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function UE(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function LE(){return!!process.env.K_CONFIGURATION}function qE(){return!!process.env.CLOUD_RUN_JOB}async function $E(){try{return await ey.instance("attributes/cluster-name"),!0}catch{return!1}}async function zE(){return ey.isAvailable()}});var xl=V((PP,ty)=>{var ta=eo().Buffer,HE=ee("stream"),WE=ee("util");function ra(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ta.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ta.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+")")}WE.inherits(ra,HE);ra.prototype.write=function(e){this.buffer=ta.concat([this.buffer,ta.from(e)]),this.emit("data",e)};ra.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ty.exports=ra});var ny=V((IP,ry)=>{"use strict";var Yo=ee("buffer").Buffer,Ol=ee("buffer").SlowBuffer;ry.exports=na;function na(t,e){if(!Yo.isBuffer(t)||!Yo.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}na.install=function(){Yo.prototype.equal=Ol.prototype.equal=function(e){return na(this,e)}};var GE=Yo.prototype.equal,JE=Ol.prototype.equal;na.restore=function(){Yo.prototype.equal=GE,Ol.prototype.equal=JE}});var Nl=V((NP,dy)=>{var oo=eo().Buffer,xt=ee("crypto"),sy=pl(),oy=ee("util"),VE=`"%s" is not a valid algorithm.
|
|
51
|
+
Supported algorithms are:
|
|
52
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Xo="secret must be a string or buffer",no="key must be a string or a buffer",KE="key must be a string, a buffer or an object",Pl=typeof xt.createPublicKey=="function";Pl&&(no+=" or a KeyObject",Xo+="or a KeyObject");function iy(t){if(!oo.isBuffer(t)&&typeof t!="string"&&(!Pl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Wt(no)}function ay(t){if(!oo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Wt(KE)}function YE(t){if(!oo.isBuffer(t)){if(typeof t=="string")return t;if(!Pl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Wt(Xo)}}function Il(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function uy(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 Wt(t){var e=[].slice.call(arguments,1),r=oy.format.bind(oy,t).apply(null,e);return new TypeError(r)}function XE(t){return oo.isBuffer(t)||typeof t=="string"}function Qo(t){return XE(t)||(t=JSON.stringify(t)),t}function cy(t){return function(r,n){YE(n),r=Qo(r);var o=xt.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return Il(s)}}var Fl,QE="timingSafeEqual"in xt?function(e,r){return e.byteLength!==r.byteLength?!1:xt.timingSafeEqual(e,r)}:function(e,r){return Fl||(Fl=ny()),Fl(e,r)};function ZE(t){return function(r,n,o){var s=cy(t)(r,o);return QE(oo.from(n),oo.from(s))}}function ly(t){return function(r,n){ay(n),r=Qo(r);var o=xt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return Il(s)}}function fy(t){return function(r,n,o){iy(o),r=Qo(r),n=uy(n);var s=xt.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function eA(t){return function(r,n){ay(n),r=Qo(r);var o=xt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Il(s)}}function tA(t){return function(r,n,o){iy(o),r=Qo(r),n=uy(n);var s=xt.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function rA(t){var e=ly(t);return function(){var n=e.apply(null,arguments);return n=sy.derToJose(n,"ES"+t),n}}function nA(t){var e=fy(t);return function(n,o,s){o=sy.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function oA(){return function(){return""}}function sA(){return function(e,r){return r===""}}dy.exports=function(e){var r={hs:cy,rs:ly,ps:eA,es:rA,none:oA},n={hs:ZE,rs:fy,ps:tA,es:nA,none:sA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Wt(VE,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var Bl=V((BP,hy)=>{var iA=ee("buffer").Buffer;hy.exports=function(e){return typeof e=="string"?e:typeof e=="number"||iA.isBuffer(e)?e.toString():JSON.stringify(e)}});var by=V((jP,_y)=>{var aA=eo().Buffer,py=xl(),uA=Nl(),cA=ee("stream"),gy=Bl(),jl=ee("util");function my(t,e){return aA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function lA(t,e,r){r=r||"utf8";var n=my(gy(t),"binary"),o=my(gy(e),r);return jl.format("%s.%s",n,o)}function yy(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=uA(e.alg),a=lA(e,r,o),u=s.sign(a,n);return jl.format("%s.%s",a,u)}function oa(t){var e=t.secret||t.privateKey||t.key,r=new py(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new py(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))}jl.inherits(oa,cA);oa.prototype.sign=function(){try{var e=yy({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")}};oa.sign=yy;_y.exports=oa});var Ry=V((MP,vy)=>{var wy=eo().Buffer,Cy=xl(),fA=Nl(),dA=ee("stream"),ky=Bl(),hA=ee("util"),pA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function gA(t){return Object.prototype.toString.call(t)==="[object Object]"}function mA(t){if(gA(t))return t;try{return JSON.parse(t)}catch{return}}function Sy(t){var e=t.split(".",1)[0];return mA(wy.from(e,"base64").toString("binary"))}function yA(t){return t.split(".",2).join(".")}function Ey(t){return t.split(".")[2]}function _A(t,e){e=e||"utf8";var r=t.split(".")[1];return wy.from(r,"base64").toString(e)}function Ay(t){return pA.test(t)&&!!Sy(t)}function Ty(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=ky(t);var o=Ey(t),s=yA(t),a=fA(e);return a.verify(s,o,r)}function Dy(t,e){if(e=e||{},t=ky(t),!Ay(t))return null;var r=Sy(t);if(!r)return null;var n=_A(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Ey(t)}}function so(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Cy(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Cy(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))}hA.inherits(so,dA);so.prototype.verify=function(){try{var e=Ty(this.signature.buffer,this.algorithm,this.key.buffer),r=Dy(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")}};so.decode=Dy;so.isValid=Ay;so.verify=Ty;vy.exports=so});var Ml=V(Jr=>{var xy=by(),sa=Ry(),bA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Jr.ALGORITHMS=bA;Jr.sign=xy.sign;Jr.verify=sa.verify;Jr.decode=sa.decode;Jr.isValid=sa.isValid;Jr.createSign=function(e){return new xy(e)};Jr.createVerify=function(e){return new sa(e)}});var Wy=V(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.GoogleToken=void 0;var Oy=ia(ee("fs")),CA=Ye(),wA=ia(Ml()),kA=ia(ee("path")),SA=ee("util");function ia(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(ia=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,f={__proto__:null,default:s};if(s===null||Er(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)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?u(f,d,l):f[d]=s[d]);return f})(t,e)}function Er(t){"@babel/helpers - typeof";return Er=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},Er(t)}function EA(t,e){Ly(t,e),e.add(t)}function AA(t,e,r){Ly(t,e),e.set(t,r)}function Ly(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Fy(t,e,r){return t.set(Gt(t,e),r),r}function Py(t,e){return t.get(Gt(t,e))}function Gt(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 Iy(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,zy(n.key),n)}}function qy(t,e,r){return e&&Iy(t.prototype,e),r&&Iy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function $y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function TA(t,e,r){return e=rs(e),DA(t,Hl()?Reflect.construct(e,r||[],rs(t).constructor):e.apply(t,r))}function DA(t,e){if(e&&(Er(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vA(t)}function vA(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function RA(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&&ts(t,e)}function Ul(t){var e=typeof Map=="function"?new Map:void 0;return Ul=function(n){if(n===null||!OA(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 xA(n,arguments,rs(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ts(o,n)},Ul(t)}function xA(t,e,r){if(Hl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&ts(o,r.prototype),o}function Hl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Hl=function(){return!!t})()}function OA(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ts(t,e){return ts=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ts(t,e)}function rs(t){return rs=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},rs(t)}function bt(t,e,r){return(e=zy(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function zy(t){var e=FA(t,"string");return Er(e)=="symbol"?e:e+""}function FA(t,e){if(Er(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Er(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function wt(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,g,C,b){var m=g&&g.prototype instanceof u?g:u,v=Object.create(m.prototype);return Ct(v,"_invoke",(function(k,S,T){var O,N,q,z=0,Y=T||[],X=!1,ce={p:0,n:0,v:t,a:oe,f:oe.bind(t,4),d:function(we,me){return O=we,N=0,q=t,ce.n=me,a}};function oe(pe,we){for(N=pe,q=we,e=0;!X&&z&&!me&&e<Y.length;e++){var me,Z=Y[e],J=ce.p,K=Z[2];pe>3?(me=K===we)&&(q=Z[(N=Z[4])?5:(N=3,3)],Z[4]=Z[5]=t):Z[0]<=J&&((me=pe<2&&J<Z[1])?(N=0,ce.v=we,ce.n=Z[1]):J<K&&(me=pe<3||Z[0]>we||we>K)&&(Z[4]=pe,Z[5]=we,ce.n=K,N=0))}if(me||pe>1)return a;throw X=!0,we}return function(pe,we,me){if(z>1)throw TypeError("Generator is already running");for(X&&we===1&&oe(we,me),N=we,q=me;(e=N<2?t:q)||!X;){O||(N?N<3?(N>1&&(ce.n=-1),oe(N,q)):ce.n=q:ce.v=q);try{if(z=2,O){if(N||(pe="next"),e=O[pe]){if(!(e=e.call(O,q)))throw TypeError("iterator result is not an object");if(!e.done)return e;q=e.value,N<2&&(N=0)}else N===1&&(e=O.return)&&e.call(O),N<2&&(q=TypeError("The iterator does not provide a '"+pe+"' method"),N=1);O=t}else if((e=(X=ce.n<0)?q:k.call(S,ce))!==a)break}catch(Z){O=t,N=1,q=Z}finally{z=1}}return{value:e,done:X}}})(A,C,b),!0),v}var a={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(Ct(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,Ct(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=f,Ct(p,"constructor",f),Ct(f,"constructor",l),l.displayName="GeneratorFunction",Ct(f,o,"GeneratorFunction"),Ct(p),Ct(p,o,"Generator"),Ct(p,n,function(){return this}),Ct(p,"toString",function(){return"[object Generator]"}),(wt=function(){return{w:s,m:y}})()}function Ct(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ct=function(a,u,l,f){if(u)o?o(a,u,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[u]=l;else{var d=function(y,A){Ct(a,y,function(g){return this._invoke(y,A,g)})};d("next",0),d("throw",1),d("return",2)}},Ct(t,e,r,n)}function Ny(t,e,r,n,o,s,a){try{var u=t[s](a),l=u.value}catch(f){return void r(f)}u.done?e(l):Promise.resolve(l).then(n,o)}function io(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){Ny(s,n,o,a,u,"next",l)}function u(l){Ny(s,n,o,a,u,"throw",l)}a(void 0)})}}var By=Oy.readFile?(0,SA.promisify)(Oy.readFile):io(wt().m(function t(){return wt().w(function(e){for(;;)switch(e.n){case 0:throw new es("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),jy="https://oauth2.googleapis.com/token",PA="https://oauth2.googleapis.com/revoke?token=",es=(function(t){function e(r,n){var o;return $y(this,e),o=TA(this,e,[r]),bt(o,"code",void 0),o.code=n,o}return RA(e,t),qy(e)})(Ul(Error)),Zo=new WeakMap,or=new WeakSet,LP=aa.GoogleToken=(function(){function t(e){$y(this,t),EA(this,or),bt(this,"expiresAt",void 0),bt(this,"key",void 0),bt(this,"keyFile",void 0),bt(this,"iss",void 0),bt(this,"sub",void 0),bt(this,"scope",void 0),bt(this,"rawToken",void 0),bt(this,"tokenExpires",void 0),bt(this,"email",void 0),bt(this,"additionalClaims",void 0),bt(this,"eagerRefreshThresholdMillis",void 0),bt(this,"transporter",{request:function(n){return(0,CA.request)(n)}}),AA(this,Zo,void 0),Gt(or,this,Hy).call(this,e)}return qy(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(Er(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Gt(or,this,My).call(this,n).then(function(s){return o(null,s)},r);return}return Gt(or,this,My).call(this,n)}},{key:"getCredentials",value:(function(){var e=io(wt().m(function n(o){var s,a,u,l,f,d,p;return wt().w(function(y){for(;;)switch(y.n){case 0:s=kA.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,By(o,"utf8");case 2:if(a=y.v,u=JSON.parse(a),l=u.private_key,f=u.client_email,!(!l||!f)){y.n=3;break}throw new es("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return y.a(2,{privateKey:l,clientEmail:f});case 4:return y.n=5,By(o,"utf8");case 5:return d=y.v,y.a(2,{privateKey:d});case 6:throw new es("*.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 es("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){Gt(or,this,Uy).call(this).then(function(){return r()},r);return}return Gt(or,this,Uy).call(this)}}])})();function My(t){return Ll.apply(this,arguments)}function Ll(){return Ll=io(wt().m(function t(e){return wt().w(function(r){for(;;)switch(r.n){case 0:if(!(Py(Zo,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Py(Zo,this));case 1:return r.p=1,r.n=2,Fy(Zo,this,Gt(or,this,IA).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,Fy(Zo,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Ll.apply(this,arguments)}function IA(t){return ql.apply(this,arguments)}function ql(){return ql=io(wt().m(function t(e){var r;return wt().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||Gt(or,this,NA).call(this);case 4:return n.a(2,Gt(or,this,BA).call(this))}},t,this)})),ql.apply(this,arguments)}function NA(){if(!this.iss)throw new es("email is required.","MISSING_CREDENTIALS")}function Uy(){return $l.apply(this,arguments)}function $l(){return $l=io(wt().m(function t(){var e;return wt().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=PA+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Gt(or,this,Hy).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)})),$l.apply(this,arguments)}function Hy(){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,Er(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function BA(){return zl.apply(this,arguments)}function zl(){return zl=io(wt().m(function t(){var e,r,n,o,s,a,u,l,f,d;return wt().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:jy,exp:e+3600,iat:e,sub:this.sub},r),o=wA.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:jy,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,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),zl.apply(this,arguments)}});var Gl=V(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.JWTAccess=void 0;var jA=Ml(),MA=zt(),Gy={alg:"RS256",typ:"JWT"},Wl=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new MA.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),l=t.getExpirationTime(u),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:l,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:l,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?{...Gy,kid:this.keyId}:Gy,p=Object.assign(f,r),y=jA.sign({header:d,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${y}`});return this.cache.set(o,{expiration:l*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)}})})}};ua.JWTAccess=Wl});var Vl=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWT=void 0;var Jy=Wy(),UA=Gl(),LA=_n(),ca=_t(),Jl=class t extends LA.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!==ca.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ca.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ca.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 UA.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!==ca.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 Jy.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 Jy.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.")}};la.JWT=Jl});var Yl=V(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.UserRefreshClient=ao.USER_REFRESH_ACCOUNT_TYPE=void 0;var qA=_n(),$A=_t();ao.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Kl=class t extends qA.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 $A.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}};ao.UserRefreshClient=Kl});var Ql=V(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Impersonated=uo.IMPERSONATED_ACCOUNT_TYPE=void 0;var Vy=_n(),zA=Ye(),HA=zt();uo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Xl=class t extends Vy.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 Vy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,HA.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 zA.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}};uo.Impersonated=Xl});var ef=V(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.OAuthClientAuthHandler=void 0;ns.getErrorFromOAuthErrorResponse=JA;var co=Ye(),WA=Jo(),GA=["PUT","POST","PATCH"],Zl=class{#e=(0,WA.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new co.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new co.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=co.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=co.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=co.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);co.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!GA.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"]}}}};ns.OAuthClientAuthHandler=Zl;function JA(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(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var da=V(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.StsCredentials=void 0;var VA=Ye(),KA=_t(),Ky=ef(),YA=zt(),tf=class t extends Ky.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,YA.removeUndefinedValuesInObject)(o))};KA.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 VA.GaxiosError&&a.response?(0,Ky.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};fa.StsCredentials=tf});var Vr=V(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.BaseExternalAccountClient=Ot.CLOUD_RESOURCE_MANAGER=Ot.EXTERNAL_ACCOUNT_TYPE=Ot.EXPIRATION_TIME_OFFSET=void 0;var XA=Ye(),QA=ee("stream"),rf=_t(),ZA=da(),Yy=zt(),eT=yl(),tT="urn:ietf:params:oauth:grant-type:token-exchange",rT="urn:ietf:params:oauth:token-type:access_token",nf="https://www.googleapis.com/auth/cloud-platform",nT=3600;Ot.EXPIRATION_TIME_OFFSET=300*1e3;Ot.EXTERNAL_ACCOUNT_TYPE="external_account";Ot.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var oT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",sT="https://sts.{universeDomain}/v1/token",of=class t extends rf.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,Yy.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Ot.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ot.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")??sT.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),u=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,Yy.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 ZA.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[nf],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(oT);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=nT),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}`};rf.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=XA.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 QA.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:tT,audience:this.audience,requestedTokenType:rT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[nf]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};rf.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[nf]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${eT.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ot.BaseExternalAccountClient=of});var Xy=V(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.FileSubjectTokenSupplier=void 0;var af=ee("util"),uf=ee("fs"),iT=(0,af.promisify)(uf.readFile??(()=>{})),aT=(0,af.promisify)(uf.realpath??(()=>{})),uT=(0,af.promisify)(uf.lstat??(()=>{})),sf=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 aT(e),!(await uT(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 iT(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}};ha.FileSubjectTokenSupplier=sf});var Qy=V(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UrlSubjectTokenSupplier=void 0;var cT=_t(),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};cT.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}};pa.UrlSubjectTokenSupplier=cf});var Zy=V(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.CertificateSubjectTokenSupplier=kt.InvalidConfigurationError=kt.CertificateSourceUnavailableError=kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ga=zt(),ma=ee("fs"),ya=ee("crypto"),lT=ee("https");kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sr=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};kt.CertificateSourceUnavailableError=sr;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};kt.InvalidConfigurationError=Ft;var lf=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new lT.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,ga.isValidFile)(e))return e;throw new sr(`Provided certificate config path is invalid: ${e}`)}let r=process.env[kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,ga.isValidFile)(r))return r;throw new sr(`Path from environment variable "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,ga.getWellKnownCertificateConfigFileLocation)();if(await(0,ga.isValidFile)(n))return n;throw new sr(`Could not find certificate configuration file. Searched override path, the "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await ma.promises.readFile(e,"utf8")}catch{throw new sr(`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 Ft(`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 Ft?n:new Ft(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await ma.promises.readFile(e),new ya.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read certificate file at ${e}: ${a}`)}try{o=await ma.promises.readFile(r),(0,ya.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ya.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await ma.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new ya.X509Certificate(l)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Ft(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),u;if(a===-1)u=[r,...s];else if(a===0)u=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Ft)throw n;let o=n instanceof Error?n.message:String(n);throw new sr(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};kt.CertificateSubjectTokenSupplier=lf});var hf=V(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.IdentityPoolClient=void 0;var fT=Vr(),ff=zt(),dT=Xy(),hT=Qy(),e_=Zy(),pT=da(),t_=Ye(),df=class t extends fT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,ff.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,ff.originalOrCamelOptions)(n),a=(0,ff.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)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 dT.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new hT.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:l,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new e_.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 e_.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new pT.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new t_.Gaxios({agent:r})}),this.transporter=new t_.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};_a.IdentityPoolClient=df});var gf=V(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.AwsRequestSigner=void 0;var ba=Ye(),n_=Jo(),r_="AWS4-HMAC-SHA256",gT="aws4_request",pf=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,n_.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(),l=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 yT({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=ba.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});u.token&&ba.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}};Ca.AwsRequestSigner=pf;async function os(t,e,r){return await t.signWithHmacSha256(e,r)}async function mT(t,e,r,n,o){let s=await os(t,`AWS4${e}`,r),a=await os(t,s,n),u=await os(t,a,o);return await os(t,u,"aws4_request")}async function yT(t){let e=ba.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=ba.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...u.keys()].sort();f.forEach(v=>{l+=`${v}:${u.get(v)}
|
|
53
|
+
`});let d=f.join(";"),p=await t.crypto.sha256DigestHex(r),y=`${t.method.toUpperCase()}
|
|
54
|
+
${t.canonicalUri}
|
|
55
|
+
${t.canonicalQuerystring}
|
|
56
|
+
${l}
|
|
57
|
+
${d}
|
|
58
|
+
${p}`,A=`${a}/${t.region}/${n}/${gT}`,g=`${r_}
|
|
59
|
+
${s}
|
|
60
|
+
${A}
|
|
61
|
+
`+await t.crypto.sha256DigestHex(y),C=await mT(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),b=await os(t.crypto,C,g),m=`${r_} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,n_.fromArrayBufferToHex)(b)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var o_=V(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.DefaultAwsSecurityCredentialsSupplier=void 0;var wa=_t(),mf=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};wa.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 wa.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 wa.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 wa.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}};ka.DefaultAwsSecurityCredentialsSupplier=mf});var _f=V(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.AwsClient=void 0;var _T=gf(),bT=Vr(),CT=o_(),s_=zt(),wT=Ye(),yf=class t extends bT.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,s_.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,s_.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new CT.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:l}),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 _T.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 wT.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}))}};Sa.AwsClient=yf});var Sf=V(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.InvalidSubjectTokenError=qe.InvalidMessageFieldError=qe.InvalidCodeFieldError=qe.InvalidTokenTypeFieldError=qe.InvalidExpirationTimeFieldError=qe.InvalidSuccessFieldError=qe.InvalidVersionFieldError=qe.ExecutableResponseError=qe.ExecutableResponse=void 0;var Ea="urn:ietf:params:oauth:token-type:saml2",bf="urn:ietf:params:oauth:token-type:id_token",Cf="urn:ietf:params:oauth:token-type:jwt",wf=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Aa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Ta("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!==Ea&&this.tokenType!==bf&&this.tokenType!==Cf)throw new Da(`Executable response must contain a 'token_type' field when successful and it must be one of ${bf}, ${Cf}, or ${Ea}.`);if(this.tokenType===Ea){if(!e.saml_response)throw new ss(`Executable response must contain a 'saml_response' field when token_type=${Ea}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new ss(`Executable response must contain a 'id_token' field when token_type=${bf} or ${Cf}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new va("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ra("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)}};qe.ExecutableResponse=wf;var ir=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};qe.ExecutableResponseError=ir;var Aa=class extends ir{};qe.InvalidVersionFieldError=Aa;var Ta=class extends ir{};qe.InvalidSuccessFieldError=Ta;var kf=class extends ir{};qe.InvalidExpirationTimeFieldError=kf;var Da=class extends ir{};qe.InvalidTokenTypeFieldError=Da;var va=class extends ir{};qe.InvalidCodeFieldError=va;var Ra=class extends ir{};qe.InvalidMessageFieldError=Ra;var ss=class extends ir{};qe.InvalidSubjectTokenError=ss});var Tf=V(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.PluggableAuthHandler=lo.ExecutableError=void 0;var bn=Sf(),kT=ee("child_process"),Ef=ee("fs"),xa=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)}};lo.ExecutableError=xa;var Af=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=kT.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 l=JSON.parse(s),f=new bn.ExecutableResponse(l);return r(f)}catch(l){return l instanceof bn.ExecutableResponseError?n(l):n(new bn.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new xa(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Ef.promises.realpath(this.outputFile)}catch{return}if(!(await Ef.promises.lstat(e)).isFile())return;let r=await Ef.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new bn.ExecutableResponse(n).isValid()?new bn.ExecutableResponse(n):void 0}catch(n){throw n instanceof bn.ExecutableResponseError?n:new bn.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}};lo.PluggableAuthHandler=Af});var vf=V(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.PluggableAuthClient=fo.ExecutableError=void 0;var ST=Vr(),ET=Sf(),i_=Tf(),AT=Tf();Object.defineProperty(fo,"ExecutableError",{enumerable:!0,get:function(){return AT.ExecutableError}});var TT=30*1e3,a_=5*1e3,u_=120*1e3,DT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",c_=1,Df=class extends ST.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=TT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<a_||this.timeoutMillis>u_)throw new Error(`Timeout must be between ${a_} and ${u_} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new i_.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[DT]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let 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>c_)throw new Error(`Version of executable is not currently supported, maximum supported version is ${c_}.`);if(!e.success)throw new i_.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new ET.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}};fo.PluggableAuthClient=Df});var xf=V(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ExternalAccountClient=void 0;var vT=Vr(),RT=hf(),xT=_f(),OT=vf(),Rf=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===vT.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new xT.AwsClient(e):e.credential_source?.executable?new OT.PluggableAuthClient(e):new RT.IdentityPoolClient(e):null}};Oa.ExternalAccountClient=Rf});var h_=V(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.ExternalAccountAuthorizedUserClient=ho.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var f_=_t(),l_=ef(),d_=Ye(),FT=ee("stream"),PT=Vr();ho.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var IT="https://sts.{universeDomain}/v1/oauthtoken",Of=class t extends l_.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})};f_.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 d_.GaxiosError&&o.response?(0,l_.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Ff=class extends f_.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 Of({tokenRefreshEndpoint:e.token_url??IT.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=PT.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=d_.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 FT.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}};ho.ExternalAccountAuthorizedUserClient=Ff});var y_=V(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.GoogleAuth=Jt.GoogleAuthExceptionMessages=void 0;var NT=ee("child_process"),is=ee("fs"),BT=Ye(),as=Go(),jT=ee("os"),Pf=ee("path"),MT=Jo(),UT=Tl(),LT=vl(),qT=Rl(),po=Vl(),p_=Yl(),go=Ql(),$T=xf(),us=Vr(),If=_t(),g_=h_(),m_=zt();Jt.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
|
+
To learn more about authentication and Google APIs, visit:
|
|
63
|
+
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
64
|
+
To learn more about authentication and Google APIs, visit:
|
|
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
|
+
To learn more about Universe Domain retrieval, visit:
|
|
67
|
+
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Nf=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(Jt.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===Jt.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(Jt.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 as.universe("universe-domain"),e||=If.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=If.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,m_.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=If.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 po.JWT?r.scopes=this.scopes:r instanceof us.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof po.JWT?r.scopes=this.scopes:r instanceof us.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new UT.Compute(e));throw new Error(Jt.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=as.getGCPResidency()||await as.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=Pf.join(o,".config"))}return r&&(r=Pf.join(r,"gcloud","application_default_credentials.json"),is.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=is.realpathSync(e),!is.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=is.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!==go.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${go.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 go.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,m_.originalOrCamelOptions)(r).get("universe_domain");return e.type===p_.USER_REFRESH_ACCOUNT_TYPE?(n=new p_.UserRefreshClient(r),n.fromJSON(e)):e.type===go.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===us.EXTERNAL_ACCOUNT_TYPE?(n=$T.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===g_.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new g_.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new po.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 po.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 po.JWT({...r,apiKey:e})}_isWindows(){let e=jT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,NT.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!==us.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await as.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 go.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof us.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([as.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Jt.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=Pf.resolve(this.keyFilename),r=is.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 LT.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=BT.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,qT.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 go.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,MT.createCrypto)();if(n instanceof po.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}};Jt.GoogleAuth=Nf});var __=V(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.IAMAuth=void 0;var Bf=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}}};Fa.IAMAuth=Bf});var b_=V(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.DownscopedClient=ar.EXPIRATION_TIME_OFFSET=ar.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var zT=Ye(),HT=ee("stream"),jf=_t(),WT=da(),GT="urn:ietf:params:oauth:grant-type:token-exchange",JT="urn:ietf:params:oauth:token-type:access_token",VT="urn:ietf:params:oauth:token-type:access_token";ar.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;ar.EXPIRATION_TIME_OFFSET=300*1e3;var Mf=class extends jf.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof jf.AuthClient?{}:e),e instanceof jf.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>ar.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${ar.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 WT.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=zT.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 HT.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:GT,requestedTokenType:JT,subjectToken:e,subjectTokenType:VT},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}};ar.DownscopedClient=Mf});var C_=V(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.PassThroughClient=void 0;var KT=_t(),Uf=class extends KT.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Pa.PassThroughClient=Uf});var Ia=V(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.GoogleAuth=se.auth=se.PassThroughClient=se.ExecutableError=se.PluggableAuthClient=se.DownscopedClient=se.BaseExternalAccountClient=se.ExternalAccountClient=se.IdentityPoolClient=se.AwsRequestSigner=se.AwsClient=se.UserRefreshClient=se.LoginTicket=se.ClientAuthentication=se.OAuth2Client=se.CodeChallengeMethod=se.Impersonated=se.JWT=se.JWTAccess=se.IdTokenClient=se.IAMAuth=se.GCPEnv=se.Compute=se.DEFAULT_UNIVERSE=se.AuthClient=se.gaxios=se.gcpMetadata=void 0;var w_=y_();Object.defineProperty(se,"GoogleAuth",{enumerable:!0,get:function(){return w_.GoogleAuth}});se.gcpMetadata=Go();se.gaxios=Ye();var k_=_t();Object.defineProperty(se,"AuthClient",{enumerable:!0,get:function(){return k_.AuthClient}});Object.defineProperty(se,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return k_.DEFAULT_UNIVERSE}});var YT=Tl();Object.defineProperty(se,"Compute",{enumerable:!0,get:function(){return YT.Compute}});var XT=Rl();Object.defineProperty(se,"GCPEnv",{enumerable:!0,get:function(){return XT.GCPEnv}});var QT=__();Object.defineProperty(se,"IAMAuth",{enumerable:!0,get:function(){return QT.IAMAuth}});var ZT=vl();Object.defineProperty(se,"IdTokenClient",{enumerable:!0,get:function(){return ZT.IdTokenClient}});var eD=Gl();Object.defineProperty(se,"JWTAccess",{enumerable:!0,get:function(){return eD.JWTAccess}});var tD=Vl();Object.defineProperty(se,"JWT",{enumerable:!0,get:function(){return tD.JWT}});var rD=Ql();Object.defineProperty(se,"Impersonated",{enumerable:!0,get:function(){return rD.Impersonated}});var Lf=_n();Object.defineProperty(se,"CodeChallengeMethod",{enumerable:!0,get:function(){return Lf.CodeChallengeMethod}});Object.defineProperty(se,"OAuth2Client",{enumerable:!0,get:function(){return Lf.OAuth2Client}});Object.defineProperty(se,"ClientAuthentication",{enumerable:!0,get:function(){return Lf.ClientAuthentication}});var nD=kl();Object.defineProperty(se,"LoginTicket",{enumerable:!0,get:function(){return nD.LoginTicket}});var oD=Yl();Object.defineProperty(se,"UserRefreshClient",{enumerable:!0,get:function(){return oD.UserRefreshClient}});var sD=_f();Object.defineProperty(se,"AwsClient",{enumerable:!0,get:function(){return sD.AwsClient}});var iD=gf();Object.defineProperty(se,"AwsRequestSigner",{enumerable:!0,get:function(){return iD.AwsRequestSigner}});var aD=hf();Object.defineProperty(se,"IdentityPoolClient",{enumerable:!0,get:function(){return aD.IdentityPoolClient}});var uD=xf();Object.defineProperty(se,"ExternalAccountClient",{enumerable:!0,get:function(){return uD.ExternalAccountClient}});var cD=Vr();Object.defineProperty(se,"BaseExternalAccountClient",{enumerable:!0,get:function(){return cD.BaseExternalAccountClient}});var lD=b_();Object.defineProperty(se,"DownscopedClient",{enumerable:!0,get:function(){return lD.DownscopedClient}});var S_=vf();Object.defineProperty(se,"PluggableAuthClient",{enumerable:!0,get:function(){return S_.PluggableAuthClient}});Object.defineProperty(se,"ExecutableError",{enumerable:!0,get:function(){return S_.ExecutableError}});var fD=C_();Object.defineProperty(se,"PassThroughClient",{enumerable:!0,get:function(){return fD.PassThroughClient}});var dD=new w_.GoogleAuth;se.auth=dD});var eb=V((Q2,Ad)=>{"use strict";var a1=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,u1=/(\w*(\.\w*)*)\..*/;Ad.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,Z0(n.stack)}};function Z0(t){let e=t.match(a1);return e?e[1].split(/[/\\]/).slice(-1)[0].match(u1)[1]:"anonymous"}Ad.exports.extractPluginName=Z0});var rb=V((Z2,tb)=>{"use strict";tb.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var nb=V((eM,Nu)=>{"use strict";var c1=eb(),l1=rb(),f1=0;function Td(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=c1(t)+"-auto-"+f1++),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=l1(e.name);return!r&&!t[n]&&(t[n]=t),t}Nu.exports=Td;Nu.exports.default=Td;Nu.exports.fastifyPlugin=Td});var ws,Dd=Ue(()=>{"use strict";ws=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 l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}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}-
|
|
69
|
+
${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
|
|
70
|
+
`):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
|
|
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 ks,vd=Ue(()=>{"use strict";ks=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 l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(u),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let u=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(u=f,l===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,l-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${l}/${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 d1,existsSync as h1,mkdirSync as p1}from"fs";import{join as ob}from"path";import{tmpdir as g1}from"os";var Ss,Rd=Ue(()=>{"use strict";Ss=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=g1();this.baseDir=ob(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{h1(this.baseDir)||p1(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 ob(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 d1(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var xd,ko,sb=Ue(()=>{"use strict";Dd();vd();Rd();xd=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 ws(e.config);break;case"webhook":r=new ks(e.config);break;case"temp-file":r=new Ss(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(l){(this.logger?.error??console.error)(`[OutputManager] Handler ${a} failed:`,l),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 l=this.handlers.get(u);if(!l){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await l.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)}},ko=new xd});import m1 from"fastify";import y1 from"@fastify/cors";var Vh=Kt(_c(),1);import{readFileSync as ow,existsSync as Gh}from"fs";import{join as Jh}from"path";import{config as sw}from"dotenv";var Nn=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:Jh(process.cwd(),this.options.jsonPath);if(Gh(e))try{let r=ow(e,"utf-8"),n=Vh.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:Jh(process.cwd(),this.options.envPath);if(Gh(e))try{let r=sw({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(", ")}`}};function it(t,e=500,r="internal_error",n="api_error",o){let s=new Error(t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function Kh(t,e,r){e.log.error(t);let n=t.statusCode||500,o={error:{message:t.message+(t.stack?`
|
|
73
|
+
`+t.stack:""),type:t.type||"api_error",code:t.code||"internal_error"}};return t.headers&&r.headers(t.headers),r.header("Content-Type","application/json"),r.code(n).send(o)}import{Readable as uw}from"stream";import{ProxyAgent as iw}from"undici";function Yh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([f,d])=>{d&&s.set(f,d)});let a,u=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let f=new AbortController,d=()=>f.abort();r.signal.addEventListener("abort",d),u.addEventListener("abort",d),a=f.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new iw(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var Xh="1.0.54";async function cw(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw it(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:u,config:l,bypass:f}=await Qh(o,a,n,t.headers,{req:t,provider:a}),d=await Zh(u,l,a,r,f,n,{req:t}),p=await ep(u,d,a,n,f,{req:t});return await tp(p,e,o)}catch(u){if(u.code==="provider_response_error"){let l=await lw(t,e,r,n,u);if(l)return l}throw u}}async function lw(t,e,r,n,o){let s=t.scenarioType||"default",a=r.configService.get("fallback");if(!a||!a[s])return null;let u=a[s];if(!Array.isArray(u)||u.length===0)return null;t.log.warn(`Request failed for ${t.scenarioType}, trying ${u.length} fallback models`);for(let l of u)try{t.log.info(`Trying fallback model: ${l}`);let f={...t.body},[d,...p]=l.split(",");f.model=p.join(",");let y={...t,provider:d,body:f},A=r.providerService.getProvider(d);if(!A){t.log.warn(`Fallback provider '${d}' not found, skipping`);continue}let{requestBody:g,config:C,bypass:b}=await Qh(f,A,n,t.headers,{req:y,provider:A}),m=await Zh(g,C,A,r,b,n,{req:y}),v=await ep(g,m,A,n,b,{req:y});return t.log.info(`Fallback model ${l} succeeded`),await tp(v,e,f)}catch(f){t.log.warn(`Fallback model ${l} failed: ${f.message}`);continue}return t.log.error(`All fallback models failed for yichu ${s}`),null}async function Qh(t,e,r,n,o){let s=t,a={},u=!1;u=fw(e,r,t);let l=u||e.transformer?.passthrough;if(u&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!l&&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 fw(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 Zh(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 l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};l["x-api-key"]&&delete l.Authorization;for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];let f=await Yh(u,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!f.ok){let d=await f.text(),p,y=f.headers.get("retry-after");if(y)p={"Retry-After":y};else if(f.status===429)try{let A=JSON.parse(d),g=A?.error?.details||A?.details;if(Array.isArray(g)){let C=g.find(b=>b["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(C?.retryDelay){let b=parseInt(C.retryDelay,10);isNaN(b)||(p={"Retry-After":b.toString()})}}}catch{}try{let A=JSON.parse(d);n.log.error({error:A,status:f.status,provider:r.name,model:t.model},`[provider_response_error] ${r.name},${t.model}: ${A?.error?.message||d}`)}catch{n.log.error({errorText:d,status:f.status,provider:r.name,model:t.model},`[provider_response_error] ${r.name},${t.model}: ${d}`)}throw it(`Error from provider(${r.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error","api_error",p)}return f}async function ep(t,e,r,n,o,s){let a=e,u=o||r.transformer?.passthrough;if(!o&&r.transformer?.use?.length)for(let l of Array.from(r.transformer.use).reverse())!l||typeof l.transformResponseOut!="function"||(a=await l.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let l of Array.from(r.transformer[t.model].use).reverse())!l||typeof l.transformResponseOut!="function"||(a=await l.transformResponseOut(a,s));return!u&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}async function tp(t,e,r){if(t.ok||e.code(t.status),r.stream===!0&&t.ok)return e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.getReader=="function"?e.send(uw.fromWeb(t.body)):e.send(t.body);{let o=await t.json();return e.send(o)}}var bc=async t=>{t.get("/",async()=>({message:"LLMs API",version:Xh})),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)=>cw(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 it("Provider name is required",400,"invalid_request");if(!s||!dw(s))throw it("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw it("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw it("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw it(`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 it("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 it("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 it("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 it("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function dw(t){try{return new URL(t),!0}catch{return!1}}var Bn=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 Ke=[];for(let t=0;t<256;++t)Ke.push((t+256).toString(16).slice(1));function rp(t,e=0){return(Ke[t[e+0]]+Ke[t[e+1]]+Ke[t[e+2]]+Ke[t[e+3]]+"-"+Ke[t[e+4]]+Ke[t[e+5]]+"-"+Ke[t[e+6]]+Ke[t[e+7]]+"-"+Ke[t[e+8]]+Ke[t[e+9]]+"-"+Ke[t[e+10]]+Ke[t[e+11]]+Ke[t[e+12]]+Ke[t[e+13]]+Ke[t[e+14]]+Ke[t[e+15]]).toLowerCase()}import{randomFillSync as hw}from"crypto";var oi=new Uint8Array(256),ni=oi.length;function Cc(){return ni>oi.length-16&&(hw(oi),ni=0),oi.slice(ni,ni+=16)}import{randomUUID as pw}from"crypto";var wc={randomUUID:pw};function gw(t,e,r){if(wc.randomUUID&&!e&&!t)return wc.randomUUID();t=t||{};let n=t.random??t.rng?.()??Cc();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 rp(n)}var Yt=gw;var np=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var jn=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(l=>l.type==="text"&&l.text).map(l=>({type:"text",text:l.text,cache_control:l.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 l=u.content.filter(d=>d.type==="tool_result"&&d.tool_use_id);l.length&&l.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(`
|
|
74
|
+
`)||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"?np(d.source.data,d.source.media_type):d.source.url},media_type:d.source.media_type}:d)})}else if(u.role==="assistant"){let l={role:"assistant",content:""},f=u.content.filter(y=>y.type==="text"&&y.text);f.length&&(l.content=f.map(y=>y.text).join(`
|
|
75
|
+
`));let d=u.content.filter(y=>y.type==="tool_use"&&y.id);d.length&&(l.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&&(l.thinking={content:p.thinking,signature:p.signature}),n.push(l)}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(l=>({type:"text",text:l.text,...l.cache_control?{cache_control:l.cache_control}:{}}))));let o=[];for(let l of e.messages){if(l.role==="system"){if(!n){if(typeof l.content=="string")n=l.content;else if(Array.isArray(l.content)){let f=l.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(l.role==="tool"){let f={type:"tool_result",tool_use_id:l.tool_call_id,content:typeof l.content=="string"?l.content:JSON.stringify(l.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(l.role==="assistant"){let f=[];if(l.thinking&&f.push({type:"thinking",thinking:l.thinking.content,signature:l.thinking.signature}),typeof l.content=="string"&&l.content&&f.push({type:"text",text:l.content}),l.tool_calls?.length)for(let d of l.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(l.role==="user"){let f=[];if(typeof l.content=="string")f.push({type:"text",text:l.content});else if(Array.isArray(l.content)){for(let d of l.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(l=>({name:l.function.name,description:l.function.description||"",input_schema:l.function.parameters})));let a;if(e.tool_choice){let l=e.tool_choice;l==="auto"?a={type:"auto"}:l==="required"?a={type:"any"}:typeof l=="string"?a={type:"tool",name:l}:l.type==="function"&&(a={type:"tool",name:l.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,l="unknown",f=!1,d=!1,p=!1,y=new Map,A=new Map,g=0,C=0,b=0,m=!1,v=!1,k=0,S=-1,T=0,O=()=>{let Y=k;return k++,Y},N=Y=>{if(!m)try{o.enqueue(Y);let X=new TextDecoder().decode(Y);this.logger.debug({reqId:r.req.id,data:X,type:"send data"})}catch(X){if(X instanceof TypeError&&X.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:X instanceof Error?X.message:String(X),type:"send data error"}),X}},q=()=>{if(!m)try{if(S>=0){let X={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
76
|
+
data: ${JSON.stringify(X)}
|
|
77
|
+
|
|
78
|
+
`)),S=-1}if(u)T>0&&(u.usage.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
|
|
79
|
+
data: ${JSON.stringify(u)}
|
|
80
|
+
|
|
81
|
+
`)),u=null;else{let X={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};T>0&&(X.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
|
|
82
|
+
data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:X})}
|
|
83
|
+
|
|
84
|
+
`))}let Y={type:"message_stop"};N(s.encode(`event: message_stop
|
|
85
|
+
data: ${JSON.stringify(Y)}
|
|
86
|
+
|
|
87
|
+
`)),o.close(),m=!0}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw Y}},z=null;try{z=e.getReader();let Y=new TextDecoder,X="";for(;!m;){let{done:ce,value:oe}=await z.read();if(ce)break;X+=Y.decode(oe,{stream:!0});let pe=X.split(`
|
|
88
|
+
`);X=pe.pop()||"";for(let we of pe){if(m||p)break;if(!we.startsWith("data:"))continue;let me=we.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:me}),me!=="[DONE]")try{let Z=JSON.parse(me);if(g++,this.logger.debug({reqId:r.req.id,response:Z,tppe:"Original Response"}),Z.error){let K={type:"error",message:{type:"api_error",message:JSON.stringify(Z.error)}};N(s.encode(`event: error
|
|
89
|
+
data: ${JSON.stringify(K)}
|
|
90
|
+
|
|
91
|
+
`));continue}if(l=Z.model||l,!f&&!m&&!p){f=!0;let K={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,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
|
|
92
|
+
data: ${JSON.stringify(K)}
|
|
93
|
+
|
|
94
|
+
`))}let J=Z.choices?.[0];if(Z.usage&&(u?u.usage={input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}}),!J)continue;if(J?.delta?.thinking&&!m&&!p){if(!v){let K=O(),re={type:"content_block_start",index:K,content_block:{type:"thinking",thinking:""}};N(s.encode(`event: content_block_start
|
|
95
|
+
data: ${JSON.stringify(re)}
|
|
96
|
+
|
|
97
|
+
`)),S=K,v=!0}if(J.delta.thinking.signature){let K={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:J.delta.thinking.signature}};N(s.encode(`event: content_block_delta
|
|
98
|
+
data: ${JSON.stringify(K)}
|
|
99
|
+
|
|
100
|
+
`));let re={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
101
|
+
data: ${JSON.stringify(re)}
|
|
102
|
+
|
|
103
|
+
`)),S=-1,v=!1}else if(J.delta.thinking.content){let K={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:J.delta.thinking.content||""}};N(s.encode(`event: content_block_delta
|
|
104
|
+
data: ${JSON.stringify(K)}
|
|
105
|
+
|
|
106
|
+
`))}}if(J?.delta?.content&&!m&&!p){if(C++,S>=0&&!d){let re={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
107
|
+
data: ${JSON.stringify(re)}
|
|
108
|
+
|
|
109
|
+
`)),S=-1}if(!d&&!p){d=!0;let K=O(),re={type:"content_block_start",index:K,content_block:{type:"text",text:""}};N(s.encode(`event: content_block_start
|
|
110
|
+
data: ${JSON.stringify(re)}
|
|
111
|
+
|
|
112
|
+
`)),S=K}if(!m&&!p){let K={type:"content_block_delta",index:S,delta:{type:"text_delta",text:J.delta.content}};N(s.encode(`event: content_block_delta
|
|
113
|
+
data: ${JSON.stringify(K)}
|
|
114
|
+
|
|
115
|
+
`))}}if(J?.delta?.annotations?.length&&!m&&!p){if(T+=J.delta.annotations.length,S>=0&&d){let K={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
116
|
+
data: ${JSON.stringify(K)}
|
|
117
|
+
|
|
118
|
+
`)),S=-1,d=!1}J?.delta?.annotations.forEach(K=>{let re=O(),Te={type:"content_block_start",index:re,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Yt()}`,content:[{type:"web_search_result",title:K.url_citation.title,url:K.url_citation.url}]}};N(s.encode(`event: content_block_start
|
|
119
|
+
data: ${JSON.stringify(Te)}
|
|
120
|
+
|
|
121
|
+
`));let Xe={type:"content_block_stop",index:re};N(s.encode(`event: content_block_stop
|
|
122
|
+
data: ${JSON.stringify(Xe)}
|
|
123
|
+
|
|
124
|
+
`)),S=-1})}if(J?.delta?.tool_calls&&!m&&!p){b++;let K=new Set;for(let re of J.delta.tool_calls){if(m)break;let Te=re.index??0;if(K.has(Te))continue;if(K.add(Te),!A.has(Te)){if(S>=0){let Be={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
125
|
+
data: ${JSON.stringify(Be)}
|
|
126
|
+
|
|
127
|
+
`)),S=-1}let G=O();A.set(Te,G);let fe=re.id||`call_${Date.now()}_${Te}`,ge=re.function?.name||`tool_${Te}`,ft={type:"content_block_start",index:G,content_block:{type:"tool_use",id:fe,name:ge,input:{}}};N(s.encode(`event: content_block_start
|
|
128
|
+
data: ${JSON.stringify(ft)}
|
|
129
|
+
|
|
130
|
+
`)),S=G;let xe={id:fe,name:ge,arguments:"",contentBlockIndex:G};y.set(Te,xe)}else if(re.id&&re.function?.name){let G=y.get(Te);G.id.startsWith("call_")&&G.name.startsWith("tool_")&&(G.id=re.id,G.name=re.function.name)}if(re.function?.arguments&&!m&&!p){let G=A.get(Te);if(G===void 0)continue;let fe=y.get(Te);fe&&(fe.arguments+=re.function.arguments);try{let ge={type:"content_block_delta",index:G,delta:{type:"input_json_delta",partial_json:re.function.arguments}};N(s.encode(`event: content_block_delta
|
|
131
|
+
data: ${JSON.stringify(ge)}
|
|
132
|
+
|
|
133
|
+
`))}catch{try{let ge=re.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),ft={type:"content_block_delta",index:G,delta:{type:"input_json_delta",partial_json:ge}};N(s.encode(`event: content_block_delta
|
|
134
|
+
data: ${JSON.stringify(ft)}
|
|
135
|
+
|
|
136
|
+
`))}catch(ge){this.logger?.error(ge)}}}}}if(J?.finish_reason&&!m&&!p){if(C===0&&b===0&&this.logger?.warn("No content in the stream response!"),S>=0){let K={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
|
|
137
|
+
data: ${JSON.stringify(K)}
|
|
138
|
+
|
|
139
|
+
`)),S=-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"}[J.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(Z){this.logger?.error(`parseError: ${Z.name} message: ${Z.message} stack: ${Z.stack} data: ${me}`)}}}q()}catch(Y){if(q(),!m)try{o.error(Y)}catch(X){this.logger?.error(X)}}finally{if(z)try{z.releaseLock()}catch(Y){this.logger?.error(Y)}}},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_${Yt()}`;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 l=a.function.arguments||"{}";typeof l=="object"?u=l:typeof l=="string"&&(u=JSON.parse(l))}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 it(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var mw=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 jr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>jr(n,e));let r={};for(let n in t){if(e!=="properties"&&!mw.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]=jr(o[a]);r[n]=s}else n==="items"?r[n]=jr(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>jr(s,n)):r[n]=o}return r}function si(t){return!t||typeof t!="object"?t:jr(t)}var Mr=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
|
|
140
|
+
`);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 Mn=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
|
|
141
|
+
`),e.id&&(n+=`id: ${e.id}
|
|
142
|
+
`),e.retry&&(n+=`retry: ${e.retry}
|
|
143
|
+
`),e.data&&(e.data.type==="done"?n+=`data: [DONE]
|
|
144
|
+
`:n+=`data: ${JSON.stringify(e.data)}
|
|
145
|
+
`),n+=`
|
|
146
|
+
`,r.enqueue(n)}})}};var op=(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 Le(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 l=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new Mr).pipeThrough(new Mn).getReader();for(;;){let{done:f,value:d}=await l.read();if(f)break;if(!d)continue;let p=d.split(`
|
|
147
|
+
`);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+`
|
|
148
|
+
`))}}}catch(l){(r?.logger?.error??console.error)("Stream error:",l),o=!0,a.error(l)}finally{try{r?.onComplete?.(u)}catch(l){(r?.logger?.error??console.error)("Stream completion error:",l),o||(o=!0,a.error(l))}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 Me(t,e){return e.encode(`data: ${t}
|
|
149
|
+
|
|
150
|
+
`)}function Ae(t,e){return e.encode(t+`
|
|
151
|
+
`)}var ii=Kt(yp(),1),ai=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 ui(t,e){return e[t]||t}function ci(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 li(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 Un(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 fi(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 Po(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof ii.default=="function"?ii.default:ii.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 _p(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 Ln={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function Iw(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(Ln).includes(n)?n:Ln.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Ln).includes(o)?o:Ln.TYPE_UNSPECIFIED})}}}function Io(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)&&Iw(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 l=u.toUpperCase();e.type=Object.values(Ln).includes(l)?l:Ln.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Io(u);else if(n.includes(a)){let l=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}l.push(Io(f))}e[a]=l}else if(o.includes(a)){let l={};for(let[f,d]of Object.entries(u))l[f]=Io(d);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Nw(t){if(t.functionDeclarations)for(let e of t.functionDeclarations){if(e.parameters){let r=jr(e.parameters);e.parameters=Io(r)}if(e.response){let r=jr(e.response);e.response=Io(r)}}return t}function di(t){let e=[],r=t.tools||[],n=r.filter(g=>Un(g).name!=="web_search").map(g=>{let{name:C,description:b,parameters:m}=Un(g);return{name:_p(C),description:b,parameters:m}});n?.length&&e.push(Nw({functionDeclarations:n})),r.find(g=>Un(g).name==="web_search")&&e.push({googleSearch:{}});let s=[],a=t.messages||[],u=[],l=g=>{if(typeof g=="string")g&&u.push(g);else if(Array.isArray(g))for(let C of g)C?.type==="text"&&C.text?u.push(C.text):typeof C=="string"&&C&&u.push(C)};t.system&&l(t.system);for(let g of a)g.role==="system"&&l(g.content);let f=a.filter(g=>g.role==="tool");a.filter(g=>g.role!=="tool"&&g.role!=="system").forEach(g=>{let C=ui(g.role,{assistant:"model"}),b=[],m=g.thinking?.signature&&!g.thinking.signature.startsWith("ccr_")?g.thinking.signature:void 0;if(m&&C==="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||""})}),ci(g.content).forEach(k=>{b.push(fi(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:C,parts:b}),C==="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(`
|
|
152
|
+
`):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=li(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],C,b=t.reasoning.max_tokens;typeof b<"u"&&(b>=g[0]&&b<=g[1]?C=b:b<g[0]?C=g[0]:b>g[1]&&(C=g[1]),y.thinking_config.thinking_budget=C)}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(`
|
|
153
|
+
|
|
154
|
+
`)}]}),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 hi(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,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?l.messages.push({role:"user",content:f}):typeof f.text=="string"?l.messages.push({role:"user",content:f.text||null}):f.role==="user"?l.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&l.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{l.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),l}async function pi(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+=Po(p.text):u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature,o&&!s&&(s=`ccr_${+new Date}`);let l=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=>Po(p.text))?.join(`
|
|
155
|
+
`)||"",d={id:n.responseId,choices:[{finish_reason:n.candidates[0]?.finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:l.length>0?l: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,l=(g,C)=>{g.controller.enqueue(g.encoder.encode(`data: ${JSON.stringify(C)}
|
|
156
|
+
|
|
157
|
+
`))},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((C,b)=>{let m=g?.groundingMetadata?.groundingSupports?.filter(v=>v.groundingChunkIndices?.includes(b));return{type:"url_citation",url_citation:{url:C?.web?.uri||"",title:C?.web?.title||"",content:m?.[0]?.segment?.text||"",start_index:m?.[0]?.segment?.startIndex||0,end_index:m?.[0]?.segment?.endIndex||0}}})||[],p=(g,C,b)=>{let m=b?.mode||"direct";m==="direct"&&n++;let v={choices:[{delta:{role:"assistant",content:C},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)}l(g,v)},y=new ai({thinking:(g,C)=>{s&&l(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:C?.responseId||"",model:C?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(g,C)=>{s&&l(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:C?.responseId||"",model:C?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(g,C)=>{s&&p(s,g,C)}});return Le(t,(g,C)=>{if(s=C,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(q=>q.text&&q.thought===!0).forEach(q=>{y.processThinking(Po(q.text),m)});let S=k.find(q=>q.thoughtSignature)?.thoughtSignature;S&&y.processSignatureWithMeta(S,m,{beforeFlush:()=>{n++},flushMeta:{chunk:m,candidate:v,mode:"buffered"}});let T=k.filter(q=>q.functionCall).map(q=>({id:q.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:q.functionCall?.name,arguments:JSON.stringify(q.functionCall?.args||{})},thought_signature:q.thoughtSignature||q.thought_signature})),O=k.filter(q=>q.text&&q.thought!==!0).map(q=>Po(q.text)).join(`
|
|
158
|
+
`);!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 q=y.hasBufferedContent;y.processSignatureWithMeta(`ccr_${+new Date}`,m,{beforeFlush:q?()=>{n++}:void 0,flushMeta:q?{chunk:m,candidate:v,mode:"buffered",finishReason:null}:void 0})}O&&y.processContent(O,m,v),T.length>0&&T.forEach(q=>{n++,o++;let z={choices:[{delta:{role:"assistant",tool_calls:[{...q,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)},Y=d(v);Y.length>0&&(z.choices[0].delta.annotations=Y),l(C,z)}),v.finishReason&&(y.hasBufferedContent?y.finalize(m,v,{beforeFlush:()=>{y.signatureSent||n++}}):!O&&T.length===0&&(n++,p(C,"",{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 gi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r,n){let o=n?.req?.model||e.model||r.model||"";return{body:di(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=hi;async transformResponseOut(e){return pi(e,this.name,this.logger)}};async function hD(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Kt(Ia(),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:
|
|
159
|
+
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
160
|
+
2. Run "gcloud auth application-default login"
|
|
161
|
+
3. Use Google Cloud environment with default service account`)}}var Na=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"),l=JSON.parse(u);l&&l.project_id&&(n=l.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 hD(this.logger);return{body:di(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 hi(e)}async transformResponseOut(e){return pi(e,this.name)}};function Ba(){return{content:"",isComplete:!1,hasContent:!1}}function ja(t,e){t.content+=e,t.hasContent=!0}function Ma(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Kr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function mo(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 Yr(t){delete t.reasoning_content,delete t.reasoning}import{createHash as pD}from"node:crypto";var E_=360*60*1e3,gD=4096,qf="__ccrDeepseekReasoning",$f=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>E_){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>E_&&this.cache.delete(e);for(;this.cache.size>gD;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Ua=new $f;function zf(t){return Array.isArray(t)?t.map(zf):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=zf(t[r]),e),{}):t}function Cn(t){return JSON.stringify(zf(t))}function La(t){return pD("sha256").update(t).digest("hex")}function T_(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||""):Cn(e)).join(""):Cn(t)}function Hf(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:Cn(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function D_(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function v_(t){let e=Hf(t);return La(Cn({...e,id:void 0}))}function R_(t){return La(Cn({content:T_(t.content),tool_calls:(t.tool_calls||[]).map(e=>Hf(e))}))}function mD(t){let e={role:t.role,content:T_(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=>Hf(r))),e}function A_(t,e){let r=t.filter(n=>n.role!=="system").map(n=>mD(n));return La(Cn({namespace:e,messages:r}))}function yD(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 x_(t,e){if(t.role!=="assistant")return 0;let r=yD(t);if(!r)return 0;let n=[`scope:${e}:signature:${R_(t)}`];return n.push(...D_(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=>Ua.put(o,r)),n.length}function _D(t,e){let r=Ua.get(`scope:${e}:signature:${R_(t)}`);if(r)return r;for(let n of D_(t)){let o=Ua.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=Ua.get(`scope:${e}:tool_call_signature:${v_(n)}`);if(o)return o}}function bD(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 CD(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 wD(t,e){return La(Cn({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function qa(t,e,r){if(!CD(t,e))return r?.req&&delete r.req[qf],{restoredFromCache:0,restoredFromThinking:0};let n=wD(t,e),o=[],s=0,a=0;for(let u of t.messages){if(u.role==="assistant"){let l=A_(o,n);if(bD(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=_D(u,l);y&&(u.reasoning_content=y,s++)}}x_(u,l)}o.push(u)}return r?.req&&(r.req[qf]={enabled:!0,namespace:n,requestScope:A_(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:a}}function O_(t){return t?.req?.[qf]}function $a(t){return O_(t)?.enabled===!0}function yo(t,e){if(!t)return 0;let r=O_(e);return r?x_(t,r.requestScope):0}function za(){return{content:"",reasoning:"",toolCalls:new Map}}function _o(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 Ha(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 Wa=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),qa(e,r,n),e}async transformResponseOut(e,r){let n=$a(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return n&&yo({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=Ba(),s=n?za():null;return Le(e,(a,u)=>{if(!a.trim()){u.controller.enqueue(Ae(a,u.encoder));return}if(!a.startsWith("data:")||a.trim()==="data: [DONE]"){u.controller.enqueue(Ae(a,u.encoder));return}try{let l=a.slice(5).trim(),f=JSON.parse(l),d=f.choices?.[0]?.delta;if(!d){u.controller.enqueue(Ae(a,u.encoder));return}let p=mo(d);if(p){s&&_o(s,d),ja(o,p);let y=Kr(f,{content:p});Yr(y.choices[0].delta),u.controller.enqueue(Me(JSON.stringify(y),u.encoder));return}if(s&&_o(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:y,signature:A}=Ma(o),g=Kr(f,{content:y,signature:A});Yr(g.choices[0].delta),g.choices[0].delta.content=null,u.controller.enqueue(Me(JSON.stringify(g),u.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,u.controller.enqueue(Me(JSON.stringify(f),u.encoder)))}catch{u.controller.enqueue(Ae(a,u.encoder))}},{onComplete:()=>{s&&yo(Ha(s),r)}})}return e}};var Ga=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.
|
|
162
|
+
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.
|
|
163
|
+
Examples:
|
|
164
|
+
1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
|
|
165
|
+
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 Le(e,(u,l)=>{let{controller:f,encoder:d}=l;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)}
|
|
166
|
+
|
|
167
|
+
`;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)}
|
|
168
|
+
|
|
169
|
+
`;f.enqueue(d.encode(y))}}catch{f.enqueue(d.encode(u+`
|
|
170
|
+
`))}else f.enqueue(d.encode(u+`
|
|
171
|
+
`))})}return e}};function Ja(t){let e={...t};return"cache_control"in e&&delete e.cache_control,e}function Va(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 Ka=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=Va(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=Ba(),n=!1,o=!1;return Le(e,(s,a)=>{if(!s.trim()){a.controller.enqueue(Ae(s,a.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){a.controller.enqueue(Ae(s,a.encoder));return}try{let u=s.slice(6),l=JSON.parse(u);l.usage&&(this.logger?.debug({usage:l.usage,hasToolCall:o},"usage"),l.choices[0].finish_reason=o?"tool_calls":"stop"),l.choices?.[0]?.finish_reason==="error"&&a.controller.enqueue(Me(JSON.stringify({error:l.choices?.[0]?.error}),a.encoder)),l.choices?.[0]?.delta?.content&&!n&&(n=!0);let f=l.choices?.[0]?.delta,d=f?mo(f):null;if(d){ja(r,d);let p=Kr(l,{content:d});Yr(p.choices[0].delta),a.controller.enqueue(Me(JSON.stringify(p),a.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:p,signature:y}=Ma(r),A=Kr(l,{content:p,signature:y});Yr(A.choices[0].delta),A.choices[0].delta.content=null,a.controller.enqueue(Me(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_${Yt()}`}),f?.tool_calls?.length&&!o&&(o=!0),f?.tool_calls?.length&&n&&(typeof l.choices[0].index=="number"?l.choices[0].index+=1:l.choices[0].index=1),a.controller.enqueue(Me(JSON.stringify(l),a.encoder))}catch{a.controller.enqueue(Ae(s,a.encoder))}})}return e}};var Ya=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 Xa=class{name="groq";async transformRequestIn(e){return e.messages=Va(e.messages),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=si(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 Le(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Ae(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(Ae(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_${Yt()}`}),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(Me(JSON.stringify(a),o.encoder))}catch{o.controller.enqueue(Ae(n,o.encoder))}})}return e}};var Qa=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 U_=Kt(_c());var Ar=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function F_(t){return/^[0-9A-Fa-f]$/.test(t)}function Qr(t){return t>="0"&&t<="9"}function P_(t){return t>=" "}function cs(t){return`,:[]/{}()
|
|
172
|
+
+`.includes(t)}function Wf(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Gf(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Jf=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Vf=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Kf(t){return`,[]/{}
|
|
173
|
+
+`.includes(t)}function Yf(t){return ls(t)||kD.test(t)}var kD=/^[[{\w-]$/;function I_(t){return t===`
|
|
174
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Xr(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function N_(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function B_(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function ls(t){return Xf(t)||Za(t)}function Xf(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Qf(t){return t==='"'}function Za(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Zf(t){return t==="'"}function bo(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 Pt(t,e){let r=t.length;if(!Xr(t,r-1))return t+e;for(;Xr(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function j_(t,e,r){return t.substring(0,e)+t.substring(e+r)}function M_(t){return/[,\n][ \t\r]*$/.test(t)}var SD={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},ED={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
175
|
+
`,r:"\r",t:" "};function ed(t){let e=0,r="";f(["```","[```","{```"]),s()||pe(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),Yf(t[e])&&M_(r)?(o||(r=Pt(r,",")),m()):o&&(r=bo(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;oe();function s(){a();let J=C()||b()||v()||S()||T()||N(!1)||q();return a(),J}function a(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,re=u(J);do re=l(),re&&(re=u(J));while(re);return e>K}function u(J){let K=J?Xr:N_,re="";for(;;)if(K(t,e))re+=t[e],e++;else if(B_(t,e))re+=" ",e++;else break;return re.length>0?(r+=re,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!AD(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
176
|
+
`;)e++;return!0}return!1}function f(J){if(d(J)){if(Wf(t[e]))for(;e<t.length&&Gf(t[e]);)e++;return a(),!0}return!1}function d(J){u(!0);for(let K of J){let re=e+K.length;if(t.slice(e,re)===K)return e=re,!0}return!1}function p(J){return t[e]===J?(r+=t[e],e++,!0):!1}function y(J){return t[e]===J?(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 C(){if(t[e]==="{"){r+="{",e++,a(),y(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="}";){let K;if(J?(K=!0,J=!1):(K=p(","),K||(r=Pt(r,",")),a()),g(),!(v()||N(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=bo(r,","):we();break}a();let Te=p(":"),Xe=e>=t.length;Te||(Yf(t[e])||Xe?r=Pt(r,":"):me()),s()||(Te||Xe?r+="null":me())}return t[e]==="}"?(r+="}",e++):r=Pt(r,"}"),!0}return!1}function b(){if(t[e]==="["){r+="[",e++,a(),y(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="]";)if(J?J=!1:p(",")||(r=Pt(r,",")),g(),!s()){r=bo(r,",");break}return t[e]==="]"?(r+="]",e++):r=Pt(r,"]"),!0}return!1}function m(){let J=!0,K=!0;for(;K;)J?J=!1:p(",")||(r=Pt(r,",")),K=s();K||(r=bo(r,",")),r=`[
|
|
177
|
+
${r}
|
|
178
|
+
]`}function v(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,re=t[e]==="\\";if(re&&(e++,re=!0),ls(t[e])){let Te=Qf(t[e])?Qf:Zf(t[e])?Zf:Za(t[e])?Za:Xf,Xe=e,G=r.length,fe='"';for(e++;;){if(e>=t.length){let ge=z(e-1);return!J&&cs(t.charAt(ge))?(e=Xe,r=r.substring(0,G),v(!0)):(fe=Pt(fe,'"'),r+=fe,!0)}if(e===K)return fe=Pt(fe,'"'),r+=fe,!0;if(Te(t[e])){let ge=e,ft=fe.length;if(fe+='"',e++,r+=fe,a(!1),J||e>=t.length||cs(t[e])||ls(t[e])||Qr(t[e]))return k(),!0;let xe=z(ge-1),Be=t.charAt(xe);if(Be===",")return e=Xe,r=r.substring(0,G),v(!1,xe);if(cs(Be))return e=Xe,r=r.substring(0,G),v(!0);r=r.substring(0,G),e=ge+1,fe=`${fe.substring(0,ft)}\\${fe.substring(ft)}`}else if(J&&Kf(t[e])){if(t[e-1]===":"&&Jf.test(t.substring(Xe+1,e+2)))for(;e<t.length&&Vf.test(t[e]);)fe+=t[e],e++;return fe=Pt(fe,'"'),r+=fe,k(),!0}else if(t[e]==="\\"){let ge=t.charAt(e+1);if(ED[ge]!==void 0)fe+=t.slice(e,e+2),e+=2;else if(ge==="u"){let xe=2;for(;xe<6&&F_(t[e+xe]);)xe++;xe===6?(fe+=t.slice(e,e+6),e+=6):e+xe>=t.length?e=t.length:Z()}else fe+=ge,e+=2}else{let ge=t.charAt(e);ge==='"'&&t[e-1]!=="\\"?(fe+=`\\${ge}`,e++):I_(ge)?(fe+=SD[ge],e++):(P_(ge)||ce(ge),fe+=ge,e++)}re&&A()}}return!1}function k(){let J=!1;for(a();t[e]==="+";){J=!0,e++,a(),r=bo(r,'"',!0);let K=r.length;v()?r=j_(r,K,1):r=Pt(r,'"')}return J}function S(){let J=e;if(t[e]==="-"){if(e++,Y())return X(J),!0;if(!Qr(t[e]))return e=J,!1}for(;Qr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return X(J),!0;if(!Qr(t[e]))return e=J,!1;for(;Qr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return X(J),!0;if(!Qr(t[e]))return e=J,!1;for(;Qr(t[e]);)e++}if(!Y())return e=J,!1;if(e>J){let K=t.slice(J,e),re=/^0\d/.test(K);return r+=re?`"${K}"`:K,!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(J,K){return t.slice(e,e+J.length)===J?(r+=K,e+=J.length,!0):!1}function N(J){let K=e;if(Wf(t[e])){for(;e<t.length&&Gf(t[e]);)e++;let re=e;for(;Xr(t,re);)re++;if(t[re]==="(")return e=re+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Kf(t[e])&&!ls(t[e])&&(!J||t[e]!==":");)e++;if(t[e-1]===":"&&Jf.test(t.substring(K,e+2)))for(;e<t.length&&Vf.test(t[e]);)e++;if(e>K){for(;Xr(t,e-1)&&e>0;)e--;let re=t.slice(K,e);return r+=re==="undefined"?"null":JSON.stringify(re),t[e]==='"'&&e++,!0}}function q(){if(t[e]==="/"){let J=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(J,e)}"`,!0}}function z(J){let K=J;for(;K>0&&Xr(t,K);)K--;return K}function Y(){return e>=t.length||cs(t[e])||Xr(t,e)}function X(J){r+=`${t.slice(J,e)}0`}function ce(J){throw new Ar(`Invalid character ${JSON.stringify(J)}`,e)}function oe(){throw new Ar(`Unexpected character ${JSON.stringify(t[e])}`,e)}function pe(){throw new Ar("Unexpected end of json string",t.length)}function we(){throw new Ar("Object key expected",e)}function me(){throw new Ar("Colon expected",e)}function Z(){let J=t.slice(e,e+6);throw new Ar(`Invalid unicode character "${J}"`,e)}}function AD(t,e){return t[e]==="*"&&t[e+1]==="/"}function td(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=U_.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=ed(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 eu=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=td(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,l=!1,f="",d=new ReadableStream({async start(p){let y=e.body.getReader(),A=(b,m,v)=>{let k=b.split(`
|
|
179
|
+
`);for(let S of k)S.trim()&&m.enqueue(v.encode(S+`
|
|
180
|
+
`))},g=(b,m,v)=>{let k="";try{k=td(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 S={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:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let O=`data: ${JSON.stringify(T)}
|
|
181
|
+
|
|
182
|
+
`;m.enqueue(v.encode(O))},C=(b,m)=>{let{controller:v,encoder:k}=m;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let S=b.slice(6);try{let T=JSON.parse(S);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 q=`data: ${JSON.stringify(T)}
|
|
183
|
+
|
|
184
|
+
`;v.enqueue(k.encode(q));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)}
|
|
185
|
+
|
|
186
|
+
`;v.enqueue(k.encode(O))}catch{v.enqueue(k.encode(b+`
|
|
187
|
+
`))}}else v.enqueue(k.encode(b+`
|
|
188
|
+
`))};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(S){this.logger?.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(f+=v,f.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let S=f.split(`
|
|
189
|
+
`);f=S.pop()||"";for(let T of S)if(T.trim())try{C(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+`
|
|
190
|
+
`))}continue}let k=f.split(`
|
|
191
|
+
`);f=k.pop()||"";for(let S of k)if(S.trim())try{C(S,{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:",S,T),p.enqueue(n.encode(S+`
|
|
192
|
+
`))}}}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 tu=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),qa(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=$a(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&&yo({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?za():null;return Le(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+`
|
|
193
|
+
`));return}if(g.reasoning_content){s+=typeof g.reasoning_content=="string"?g.reasoning_content:JSON.stringify(g.reasoning_content),u&&_o(u,g);let C={...A,choices:[{...A.choices[0],delta:{...g,thinking:{content:g.reasoning_content}}}]};delete C.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(C)}
|
|
194
|
+
|
|
195
|
+
`;p.enqueue(y.encode(b));return}if(u&&_o(u,g),(g.content||g.tool_calls)&&s&&!a){a=!0;let C=Date.now().toString(),b={...A,choices:[{...A.choices[0],delta:{...A.choices[0].delta,content:null,thinking:{content:s,signature:C}}}]};delete b.choices[0].delta.reasoning_content;let m=`data: ${JSON.stringify(b)}
|
|
196
|
+
|
|
197
|
+
`;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 C=`data: ${JSON.stringify(A)}
|
|
198
|
+
|
|
199
|
+
`;p.enqueue(y.encode(C))}}catch{p.enqueue(y.encode(f+`
|
|
200
|
+
`))}else p.enqueue(y.encode(f+`
|
|
201
|
+
`))},{onComplete:()=>{u&&yo(Ha(u),r)}})}return e}};var ru=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 nu=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function L_(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],a=ui(s.role,{assistant:"assistant"}),u=[];if(s.role==="tool"){let l=s.content;Array.isArray(l)?l=l.filter(f=>f.type==="text").map(f=>f.text).join(`
|
|
202
|
+
`):typeof l=="object"&&l!==null&&(l=JSON.stringify(l)),u.push({type:"tool_result",tool_use_id:s.tool_call_id,content:l})}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||""})}),ci(s.content).forEach(f=>{u.push(fi(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(l=>{u.push({type:"tool_use",id:l.id,name:l.function.name,input:JSON.parse(l.function.arguments||"{}")})});u.length>0&&e.push({role:a,content:u})}let n={anthropic_version:"vertex-2023-10-16",messages:li(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=Un(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 q_(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 ou(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?Le(t,(o,s)=>{let{controller:a,encoder:u}=s;if(o.startsWith("data: ")){let l=o.slice(6).trim();if(l){r?.debug({chunkStr:l},`${e} chunk:`);try{let f=JSON.parse(l);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)}
|
|
203
|
+
|
|
204
|
+
`))}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)}
|
|
205
|
+
|
|
206
|
+
`))}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)}
|
|
207
|
+
|
|
208
|
+
`))}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)}
|
|
209
|
+
|
|
210
|
+
`))}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)}
|
|
211
|
+
|
|
212
|
+
`))}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)}
|
|
213
|
+
|
|
214
|
+
`))}else if(f.type==="message_stop")a.enqueue(u.encode(`data: [DONE]
|
|
215
|
+
|
|
216
|
+
`));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)}
|
|
217
|
+
|
|
218
|
+
`))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,l,f.message)}}}}):t;return t}async function TD(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Kt(Ia(),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:
|
|
219
|
+
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
220
|
+
2. Run "gcloud auth application-default login"
|
|
221
|
+
3. Use Google Cloud environment with default service account`)}}var su=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"),l=JSON.parse(u);l&&l.project_id&&(n=l.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 TD(this.logger);return{body:L_(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 q_(e)}async transformResponseOut(e){return ou(e,this.name,this.logger)}};var $_=Kt(Ia(),1),iu=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,`
|
|
222
|
+
`)}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 $_.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 au=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 uu=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var cu=class{name="OpenAI";endPoint="/v1/chat/completions"};var lu=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 fu=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,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),y=(g,C,b)=>{let m=g.split(`
|
|
223
|
+
`);for(let v of m)v.trim()&&C.enqueue(b.encode(v+`
|
|
224
|
+
`))},A=(g,C)=>{let{controller:b,encoder:m}=C;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})}
|
|
225
|
+
|
|
226
|
+
`)),k.choices?.[0]?.delta?.content&&!C.hasTextContent()&&C.setHasTextContent(!0),k.choices?.[0]?.delta?.reasoning){C.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)}
|
|
227
|
+
|
|
228
|
+
`;b.enqueue(m.encode(O));return}if(k.choices?.[0]?.delta?.content&&C.reasoningContent()&&!C.isReasoningComplete()){C.setReasoningComplete(!0);let T=Date.now().toString(),O={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,content:null,thinking:{content:C.reasoningContent(),signature:T}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let N=`data: ${JSON.stringify(O)}
|
|
229
|
+
|
|
230
|
+
`;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_${Yt()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),k.choices?.[0]?.delta?.tool_calls?.length&&C.hasTextContent()&&(typeof k.choices[0].index=="number"?k.choices[0].index+=1:k.choices[0].index=1);let S=`data: ${JSON.stringify(k)}
|
|
231
|
+
|
|
232
|
+
`;b.enqueue(m.encode(S))}catch{b.enqueue(m.encode(g+`
|
|
233
|
+
`))}}else b.enqueue(m.encode(g+`
|
|
234
|
+
`))};try{for(;;){let{done:g,value:C}=await p.read();if(g){l.trim()&&y(l,d,n);break}if(!C||C.length===0)continue;let b;try{b=r.decode(C,{stream:!0})}catch(v){this.logger?.warn("Failed to decode chunk",v);continue}if(b.length===0)continue;if(l+=b,l.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
|
|
235
|
+
`);l=v.pop()||"";for(let k of v)if(k.trim())try{A(k,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){this.logger?.error("Error processing line:",k,S),d.enqueue(n.encode(k+`
|
|
236
|
+
`))}continue}let m=l.split(`
|
|
237
|
+
`);l=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+`
|
|
238
|
+
`))}}}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 du(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(l=>{a.some(d=>d.tool_call_id===l.id)?o.push(l):s.push(l.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 hu(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 pu=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=du(e.messages);n=hu(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(l=>{let f="";typeof l=="string"?f=l:l&&typeof l=="object"&&"text"in l&&(f=l.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 l=u.content.map(f=>this.normalizeRequestContent(f,u.role)).filter(f=>f!==null);l.length>0?u.content=l:delete u.content}if(u.role==="tool"){let l={...u};l.type="function_call_output",l.call_id=u.tool_call_id,l.output=u.content,delete l.cache_control,delete l.role,delete l.tool_call_id,delete l.content,o.push(l),s=!0;return}if(u.role==="assistant"&&Array.isArray(u.tool_calls)){let l=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(l=>l.function.name==="web_search");e.tools=e.tools.filter(l=>l.function.name!=="web_search").map(l=>(l.function.name==="WebSearch"&&delete l.function.parameters.properties.allowed_domains,l.function.name==="Edit"?{type:l.type,name:l.function.name,description:l.function.description,parameters:{...l.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:l.type,name:l.function.name,description:l.function.description,parameters:l.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=l=>(l!==s&&(o++,s=l),o),u=this;return Le(e,(l,f)=>{if(l.trim()&&!l.startsWith("event: "))if(l.startsWith("data: ")){let d=l.slice(5).trim();if(d==="[DONE]"){n=!0,f.controller.enqueue(Me("[DONE]",f.encoder));return}try{let p=JSON.parse(d),y=u.convertStreamEvent(p,a);y&&f.controller.enqueue(Me(JSON.stringify(y),f.encoder))}catch{f.controller.enqueue(Ae(l,f.encoder))}}else f.controller.enqueue(Ae(l,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=Ja(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(l=>l.type==="message"),n=e.output?.find(l=>l.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(l=>({type:"url_citation",url_citation:{url:l.url||"",title:l.title||"",content:"",start_index:l.start_index||0,end_index:l.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 l=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")l.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=[];l.length>0&&d.push({type:"text",text:l.join("")}),d.push(...f),s=d}else s=l.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 ID}from"crypto";import{existsSync as H_,readFileSync as DD,writeFileSync as vD,mkdirSync as RD}from"fs";import{join as W_}from"path";import{homedir as G_}from"os";var rd=W_(G_(),".claude-code-router","codex_auth.json"),z_={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"};function xD(){try{if(!H_(rd))return null;let t=DD(rd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function OD(t){let e=W_(G_(),".claude-code-router");H_(e)||RD(e,{recursive:!0}),vD(rd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function FD(t,e=30){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function PD(t){let e=await fetch(z_.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:z_.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 nd(){let t=xD();if(!t)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");if(FD(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 PD(t.refresh_token),OD(t)}return t}var J_=new Map,V_="x-codex-turn-metadata",ND="x-codex-window-id",BD="x-codex-parent-thread-id",jD="session_id",MD="thread_id",UD="turn_id",LD="window_id";function qD(t){return{session_id:t,thread_id:t,turn_id:ID(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function $D(t){return{[jD]:t.session_id,[MD]:t.thread_id,[UD]:t.turn_id,[LD]:t.window_id,[V_]:JSON.stringify(t)}}function zD(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function HD(t){return{[ND]:t.window_id,[V_]:JSON.stringify(t),[BD]:t.thread_id}}function WD(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 GD(t,e){return t?.req?.sessionId||WD(e)}function JD(t,e,r){if(!r)return;let n=qD(r);t.client_metadata=zD(t.client_metadata,$D(n)),Object.assign(e,HD(n))}var gu=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,l,f=!1;if(a){u=s;let k=await this.resolvePatAuth(s);l=k.accountId,f=k.isFedramp}else{let k=await nd();u=k.access_token,l=k.account_id}delete e.temperature,delete e.max_tokens;let d=e.reasoning?.effort||r?.reasoningEffort;if(d){let k={effort:d},S=["auto","detailed","none"],T=r?.reasoningSummary;T&&S.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=du(e.messages);A=hu(A,y),e.messages=A;let g=[],C=!1,b=e.messages.filter(k=>k.role==="system");if(b.length>0){let k=b[0],S="";Array.isArray(k.content)?S=k.content.map(T=>typeof T=="string"?T:T&&typeof T=="object"&&"text"in T?T.text:"").filter(Boolean).join(`
|
|
239
|
+
`):S=k.content,S&&(e.instructions=S)}if(e.instructions||(e.instructions=""),e.messages.forEach(k=>{if(k.role!=="system"){if(Array.isArray(k.content)){let S=k.content.map(T=>this.normalizeRequestContent(T,k.role)).filter(T=>T!==null);S.length>0?k.content=S:delete k.content}if(k.role==="tool"){let S={...k};S.type="function_call_output",S.call_id=k.tool_call_id,S.output=k.content,delete S.cache_control,delete S.role,delete S.tool_call_id,delete S.content,g.push(S),C=!0;return}if(k.role==="assistant"&&Array.isArray(k.tool_calls)){C=!1,k.tool_calls.forEach(S=>{g.push({type:"function_call",arguments:S.function.arguments,name:S.function.name,call_id:S.id})});return}C&&k.role==="user"&&g.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),C=!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(S=>S.function.name==="web_search");e.tools=e.tools.filter(S=>S.function.name!=="web_search").map(S=>(S.function.name==="WebSearch"&&delete S.function.parameters.properties.allowed_domains,S.function.name==="Edit"?{type:S.type,name:S.function.name,description:S.function.description,parameters:{...S.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:S.type,name:S.function.name,description:S.function.description,parameters:S.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"};l&&(m["ChatGPT-Account-ID"]=l),f&&(m["X-OpenAI-Fedramp"]="true"),JD(e,m,GD(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 nd();s=d.access_token,a=d.account_id}let l={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&&(l["ChatGPT-Account-ID"]=a),u&&(l["X-OpenAI-Fedramp"]="true"),{config:{url:`${r?.baseUrl||"https://chatgpt.com/backend-api/codex"}/responses`,headers:l}}}async resolvePatAuth(e){let r=J_.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 J_.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,l=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 S=k?.object==="response"&&k.output?this.convertResponseToChat(k):k,T=JSON.stringify(S);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,l);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),C=Le(e,(k,S)=>{if(k.trim()&&!k.startsWith("event: "))if(k.startsWith("data: ")){let T=k.slice(5).trim();if(T==="[DONE]"){d=!0,S.controller.enqueue(Me("[DONE]",S.encoder));return}try{let O=JSON.parse(T);O.response?.model&&(u=O.response.model);let N=n.convertStreamEvent(O,A,l);N&&S.controller.enqueue(Me(JSON.stringify(N),S.encoder))}catch{S.controller.enqueue(Ae(k,S.encoder))}}else S.controller.enqueue(Ae(k,S.encoder))}).body,b=!1,m=null,v=new ReadableStream({start(k){m=C.getReader();let S=q=>{if(!b)try{k.enqueue(q)}catch{b=!0}},T=()=>{if(!b)try{k.close()}catch{}},O=q=>{if(!b)try{k.error(q)}catch{}},N=()=>{b||!m||m.read().then(({done:q,value:z})=>{if(q){T();return}z&&S(z),N()}).catch(q=>{b||O(q)})};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=C=>(C!==y&&(p++,y=C),p),g=new ReadableStream({start(C){for(let b of f){b?.response?.model&&(u=b.response.model);let m=n.convertStreamEvent(b,A,l);m&&C.enqueue(d.encode(`data: ${JSON.stringify(m)}
|
|
240
|
+
|
|
241
|
+
`))}C.enqueue(d.encode(`data: [DONE]
|
|
242
|
+
|
|
243
|
+
`)),C.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(l=>{l.type==="output_text"&&a.push({type:"text",text:l.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(l=>l.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)}
|
|
244
|
+
|
|
245
|
+
`);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 l=u.message||{};if(typeof l.content=="string"&&l.content&&s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",content:l.content},finish_reason:null}]})),l.thinking?.content&&s.enqueue(o({...a,choices:[{index:0,delta:{thinking:{content:l.thinking.content}},finish_reason:null}]})),Array.isArray(l.tool_calls))for(let d of l.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]
|
|
246
|
+
|
|
247
|
+
`)),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}),l=a.trimStart().charAt(0)||"";if(l!=="{"&&l!=="[")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:l,text:f}}async collectSseIntoChatCompletion(e,r){let n=e.body.getReader(),o=new TextDecoder,s="",a="unknown",u="chatcmpl-"+Date.now(),l=Math.floor(Date.now()/1e3),f="",d="",p=[],y=new Map,A=null,g,C=-1,b="",m=S=>(S!==b&&(C++,b=S),C),v=()=>{let S={role:"assistant"};d&&(S.thinking={content:d,signature:""});let T=Array.from(y.values());T.length&&(S.tool_calls=T),p.length&&(S.annotations=p),f?S.content=f:T.length===0&&!d?S.content=null:S.content=f||null;let O={index:0,message:S,logprobs:null,finish_reason:T.length?"tool_calls":A||"stop"};return{id:u,object:"chat.completion",created:l,model:a||"unknown",choices:[O],usage:g||null}},k=S=>{if(!S)return;S.id&&(u=S.id),S.model&&(a=S.model),S.created&&(l=S.created),S.usage&&(g=S.usage);let T=S.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 q=N.index??0,z=y.get(q)||{index:q,id:N.id,type:"function",function:{name:N.function?.name||"",arguments:""}};N.id&&(z.id=N.id),N.function?.name&&(z.function.name=N.function.name),typeof N.function?.arguments=="string"&&(z.function.arguments=(z.function.arguments||"")+N.function.arguments),y.set(q,z)}};for(;;){let{done:S,value:T}=await n.read();if(S)break;s+=o.decode(T,{stream:!0});let O=s.split(`
|
|
248
|
+
`);s=O.pop()||"";for(let N of O){if(!N.startsWith("data: "))continue;let q=N.slice(5).trim();if(!(!q||q==="[DONE]"))try{let z=JSON.parse(q);if(z.response?.model){let X=r(z.response.model);X&&(a=X)}let Y=this.convertStreamEvent(z,m,r);k(Y)}catch{}}}return v()}normalizeRequestContent(e,r){let n=Ja(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(l=>l.type==="message"),n=e.output?.find(l=>l.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(l=>({type:"url_citation",url_citation:{url:l.url||"",title:l.title||"",content:"",start_index:l.start_index||0,end_index:l.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 l=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")l.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=[];l.length>0&&d.push({type:"text",text:l.join("")}),d.push(...f),s=d}else s=l.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 K_,readFileSync as VD,writeFileSync as KD,mkdirSync as YD}from"fs";import{join as Y_}from"path";import{homedir as X_}from"os";var od=Y_(X_(),".claude-code-router","qwen_auth.json"),XD="https://qwen.aikit.club",QD=1e4,ZD=120;function ev(){try{if(!K_(od))return null;let t=JSON.parse(VD(od,"utf-8"));return t.token?t:null}catch{return null}}function tv(t){let e=Y_(X_(),".claude-code-router");K_(e)||YD(e,{recursive:!0}),KD(od,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function rv(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 nv(t){try{let e=await fetch(`${XD}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(QD)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function Q_(){let t=ev();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+ZD*1e3>=t.expiresAt){let e=await nv(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:rv(e),updatedAt:Date.now()},tv(t)}return t}var ov="https://qwen.aikit.club",Z_=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,mu=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await Q_();return{url:e?.api_base_url||e?.baseUrl||ov,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?Le(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Ae(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(Ae(n,o.encoder));return}let a=s.replace(Z_,"");o.controller.enqueue(Ae(`data: ${a}`,o.encoder));return}o.controller.enqueue(Ae(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace(Z_,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var sd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
|
|
249
|
+
|
|
250
|
+
Output format:
|
|
251
|
+
<reasoning_content>
|
|
252
|
+
Your detailed thinking process goes here
|
|
253
|
+
</reasoning_content>
|
|
254
|
+
Your final answer must follow after the closing tag above.`,sv=10,yu=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<sv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
|
|
255
|
+
${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:sd}):n.content=[{type:"text",text:sd},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:sd}]}),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(l){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=(C,b)=>{if(typeof b!="string"){C.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0&&!C.choices[0].delta.content&&(C.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(C)}
|
|
256
|
+
|
|
257
|
+
`)));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={...C.choices[0].delta,thinking:{content:k}};delete O.content;let N={...C,choices:[{...C.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(N)}
|
|
258
|
+
|
|
259
|
+
`))}let S={...C.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let T={...C,choices:[{...C.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
260
|
+
|
|
261
|
+
`)),o++,m=m.substring(v+n.length),p="FINAL"}else{let k=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){y=m.substring(m.length-S),k=m.substring(0,m.length-S);break}if(k.length>0){let S={...C.choices[0].delta,thinking:{content:k}};delete S.content;let T={...C,choices:[{...C.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
262
|
+
|
|
263
|
+
`))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let k=A+m,S={...C.choices[0].delta,content:k};S.thinking&&delete S.thinking;let T={...C,choices:[{...C.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
|
|
264
|
+
|
|
265
|
+
`)),A=""}o++,m=""}};try{for(;;){let{done:C,value:b}=await f.read();if(C)break;let m=s.decode(b,{stream:!0});d+=m;let v=d.split(`
|
|
266
|
+
`);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){l.enqueue(a.encode(k+`
|
|
267
|
+
|
|
268
|
+
`));break}if(k.startsWith("data:"))try{let S=JSON.parse(k.slice(5));g(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(k+`
|
|
269
|
+
`))}else l.enqueue(a.encode(k+`
|
|
270
|
+
`))}}}catch(C){this.logger?.error("Stream error:",C),l.error(C)}finally{try{f.releaseLock()}catch(C){this.logger?.error("Error releasing reader lock:",C)}if(p==="REASONING"){let b={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(b)}
|
|
271
|
+
|
|
272
|
+
`))}l.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 _u=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 l=await e.json(),f=l?.choices?.[0]?.message?.content;if(typeof f=="string"){let d=f.match(/<think>([\s\S]*?)<\/think>/);d?.[1]&&(l.thinking={content:d[1]})}return new Response(JSON.stringify(l),{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(l){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=b=>{l.enqueue(s.encode(`data: ${JSON.stringify(b)}
|
|
273
|
+
|
|
274
|
+
`))},C=(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 S=r.length-1;S>0;S--)if(v.endsWith(r.substring(0,S))){y=v.substring(v.length-S);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 S=v;for(let T=n.length-1;T>0;T--)if(v.endsWith(n.substring(0,T))){y=v.substring(v.length-T),S=v.substring(0,v.length-T);break}if(S.length>0){let T={...b.choices[0].delta,thinking:{content:S}};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,S={...b.choices[0].delta,content:k};S.thinking&&delete S.thinking,g({...b,choices:[{...b.choices[0],delta:S}]}),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(`
|
|
275
|
+
`);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){l.enqueue(s.encode(k+`
|
|
276
|
+
|
|
277
|
+
`));continue}if(k.startsWith("data:"))try{let S=JSON.parse(k.slice(5));C(S,S?.choices?.[0]?.delta?.content)}catch{l.enqueue(s.encode(k+`
|
|
278
|
+
`))}else l.enqueue(s.encode(k+`
|
|
279
|
+
`))}}}catch(b){console.error("Stream error:",b),l.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()}}}]}),l.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 iv(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(`
|
|
280
|
+
`)}}return e.cache_control&&delete e.cache_control,e}function av(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 uv(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var e0=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function t0(t){let e={...t};if(Array.isArray(e.messages)&&(e.messages=e.messages.map(r=>iv(r))),e.stream===void 0&&(e.stream=!0),e.tool_choice&&(e.tool_choice=av(e.tool_choice)),Array.isArray(e.tools)&&(e.tools=e.tools.map(r=>r?.function?.parameters?{...r,function:{...r.function,parameters:si(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-")&&!e0.has(r)||r.startsWith("mistral-medium-")&&!e0.has(r))&&(e.reasoning_effort=uv(e.reasoning)),delete e.reasoning}return e}async function r0(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 l=a.reasoning_content;u+=typeof l=="string"?l:typeof l?.text=="string"?l.text:JSON.stringify(l),delete a.reasoning_content}if(Array.isArray(a.content)){let l="";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"&&(l+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));a.content=l}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?Le(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Ae(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Ae(o,s.encoder));return}try{let a=o.slice(5).trim(),u=JSON.parse(a),l=u.choices?.[0]?.delta;if(!l){s.controller.enqueue(Ae(o,s.encoder));return}let f=mo(l);if(f){let d=Kr(u,{content:f});Yr(d.choices[0].delta);let p=l.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 C=Array.isArray(g.thinking)?g.thinking:[g.thinking];y+=C.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete d.choices[0].delta.content,(y||f)&&(d.choices[0].delta.thinking={content:y||f}),A&&(d.choices[0].delta.content=A)}s.controller.enqueue(Me(JSON.stringify(d),s.encoder));return}if(Array.isArray(l.content)){let d="",p=l.content.filter(y=>y.type==="text").map(y=>typeof y.text=="string"?y.text:JSON.stringify(y.text??"")).join("");for(let y of l.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 l.content,d&&(l.thinking={content:d}),p&&(l.content=p)}s.controller.enqueue(Me(JSON.stringify(u),s.encoder))}catch{s.controller.enqueue(Ae(o,s.encoder))}}):t;return t}var bu=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:t0(e),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await r0(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var cv="http://127.0.0.1:3457",Cu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||cv;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 lv,createHash as fv}from"crypto";var dv="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",wu=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||"",l=r?.req?.headers?.["user-agent"]||"";return fv("sha256").update(`${o}|${u}|${l}|${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=lv(14),a="";for(let u=0;u<14;u++)a+=dv[s[u]%62];return`${e}_${o.toString("hex")}${a}`}};import{existsSync as o0,readFileSync as hv,writeFileSync as pv,mkdirSync as gv}from"fs";import{join as s0}from"path";import{homedir as i0}from"os";var id=s0(i0(),".claude-code-router","claude_auth.json"),n0={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 mv(){try{if(!o0(id))return null;let t=hv(id,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function yv(t){let e=s0(i0(),".claude-code-router");o0(e)||gv(e,{recursive:!0}),pv(id,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function _v(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function bv(t){let e=await fetch(n0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:n0.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 a0(){let t=mv();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(_v(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 bv(t.refresh_token),yv(t)}return t}function ad(t){return!t||typeof t!="object"?!1:Array.isArray(t)?t.some(e=>ad(e)):t.cache_control?!0:Object.values(t).some(e=>ad(e))}var ku=class{name="claude-auth";logger;async transformRequestIn(e,r){let n=await a0(),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=jn.buildAnthropicBody(e,this.logger),l={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=ad(u);return(f||d)&&(l["anthropic-beta"]="interleaved-thinking-2025-05-14,effort-2025-11-24,prompt-caching-scope-2026-01-05"),{body:u,config:{url:a.toString(),headers:l}}}async transformResponseOut(e){return ou(e,this.name,this.logger)}};import{Cursor as Nv}from"@cursor/sdk";var Cv=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function u0(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!Cv.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 wv}from"crypto";import{homedir as kv}from"os";import{join as c0}from"path";var ud="cursor-sdk",Su="bridge",Sv=c0(kv(),".claude-code-router"),Eu=c0(Sv,"cursor-sdk-workspaces"),l0=900*1e3,cd=32,f0=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],fs="custom-user-tools";function d0(t){return wv("sha256").update(t.filter(Boolean).join(`
|
|
281
|
+
`)).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 h0(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function p0(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}]}},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,l=Number(a?.completion_tokens)||0,f=Number(a?.total_tokens)||u+l;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:u,completion_tokens:l,total_tokens:f,prompt_tokens_details:{cached_tokens:Number(a?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return Me(JSON.stringify(s),e)},encodeDone(){return Me("[DONE]",e)}}}function g0(t,e){let r="",n="",o=[],s="stop",a=null,u=`chatcmpl-cursor-${Date.now()}`,l=Math.floor(Date.now()/1e3);for(let d of e){typeof d.id=="string"&&(u=d.id);let p=d.choices?.[0];if(!p)continue;p.finish_reason&&(s=p.finish_reason);let y=p.delta||{};if(typeof y.content=="string"&&(r+=y.content),y.thinking?.content&&(n+=ds(y.thinking.content)),Array.isArray(y.tool_calls))for(let A of y.tool_calls){let g=A.index??o.length;o[g]||(o[g]={id:A.id,type:"function",function:{name:A.function?.name||"",arguments:""}}),A.id&&(o[g].id=A.id),A.function?.name&&(o[g].function.name=A.function.name),typeof A.function?.arguments=="string"&&(o[g].function.arguments+=A.function.arguments)}d.usage&&(a=d.usage)}let f={role:"assistant",content:r||null};return n&&(f.thinking={content:n,signature:""}),o.length&&(f.tool_calls=o.filter(Boolean),s="tool_calls"),{id:u,object:"chat.completion",created:l,model:t,choices:[{index:0,message:f,finish_reason:s}],usage:a}}function hs(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(`
|
|
282
|
+
`):String(t)}function Ev(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 Av(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(`
|
|
283
|
+
`)}function Tv(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 "${fs}" 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.","Available host tools:",Av(t)].join(`
|
|
284
|
+
`)}function m0(t,e){let r=t.messages||[],n=[];e.mode==="bridge"?(n.push(Tv(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=hs(f.content);d&&n.push(`[system]
|
|
285
|
+
${d}`)}let s=r.filter(f=>f.role!=="system"),a=e.followUpOnly?s.slice(-Math.max(1,Dv(s)+1)):s,u=[];for(let f of a){if(f.role==="assistant"){let d=hs(f.content);if(d&&n.push(`[assistant]
|
|
286
|
+
${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}]
|
|
287
|
+
${p.function.arguments||"{}"}`);continue}if(f.role==="tool"){n.push(`[tool_result id=${f.tool_call_id||"unknown"}]
|
|
288
|
+
${hs(f.content)}`);continue}if(f.role==="user"){let d=hs(f.content);u=[...u,...Ev(f.content)],d&&n.push(`[user]
|
|
289
|
+
${d}`)}}let l=n.join(`
|
|
290
|
+
|
|
291
|
+
`).trim()||"Continue.";return u.length?{text:l,images:u}:{text:l}}function Dv(t){let e=0;for(let r=t.length-1;r>=0;r--){if(t[r].role==="tool"){e++;continue}break}return e}function y0(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:hs(o.content)})}return e}import{createHash as dd}from"crypto";import{existsSync as k0,mkdirSync as _0}from"fs";import{join as Ov}from"path";import{Agent as b0}from"@cursor/sdk";import{chmodSync as vv,mkdirSync as Rv,writeFileSync as ld}from"fs";import{join as ps}from"path";var xv=`#!/usr/bin/env node
|
|
292
|
+
const chunks = [];
|
|
293
|
+
process.stdin.on("data", (c) => chunks.push(c));
|
|
294
|
+
process.stdin.on("end", () => {
|
|
295
|
+
let input = {};
|
|
296
|
+
try {
|
|
297
|
+
const raw = Buffer.concat(chunks).toString("utf8").trim();
|
|
298
|
+
input = raw ? JSON.parse(raw) : {};
|
|
299
|
+
} catch {
|
|
300
|
+
input = {};
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
const server = String(
|
|
304
|
+
input.server ||
|
|
305
|
+
input.providerIdentifier ||
|
|
306
|
+
input.mcpServer ||
|
|
307
|
+
input.mcp_server ||
|
|
308
|
+
""
|
|
309
|
+
);
|
|
310
|
+
const toolName = String(
|
|
311
|
+
input.tool_name || input.toolName || input.name || input.tool || ""
|
|
312
|
+
);
|
|
313
|
+
|
|
314
|
+
// Always allow the SDK synthetic MCP host tools Claude Code bridges through.
|
|
315
|
+
if (server.includes(${JSON.stringify(fs)})) {
|
|
316
|
+
process.stdout.write(JSON.stringify({ permission: "allow" }));
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
const denyMessage =
|
|
321
|
+
"CCR Cursor SDK bridge: do not use Cursor built-in tools. " +
|
|
322
|
+
"Call host tools via MCP server '${fs}' " +
|
|
323
|
+
"using the bare Claude Code tool names (Read, Bash, Edit, \u2026).";
|
|
324
|
+
|
|
325
|
+
process.stdout.write(
|
|
326
|
+
JSON.stringify({
|
|
327
|
+
permission: "deny",
|
|
328
|
+
agentMessage: denyMessage,
|
|
329
|
+
userMessage: denyMessage + (toolName ? \` (blocked: \${toolName})\` : ""),
|
|
330
|
+
})
|
|
331
|
+
);
|
|
332
|
+
});
|
|
333
|
+
`;function fd(t){let e=ps(t,".cursor"),r=ps(e,"hooks");Rv(r,{recursive:!0});let n=ps(r,"deny-builtin.cjs");ld(n,xv,{encoding:"utf-8",mode:448});try{vv(n,448)}catch{}let o=f0.join("|"),s=`node "${n}"`,a={version:1,hooks:{preToolUse:[{matcher:o,command:s}],beforeShellExecution:[{command:s}],beforeReadFile:[{command:s}],beforeMCPExecution:[{command:s}]}};ld(ps(e,"hooks.json"),JSON.stringify(a,null,2),{encoding:"utf-8",mode:384}),ld(ps(t,"AGENTS.md"),"",{encoding:"utf-8",mode:384})}async function gs(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 S0(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 C0(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")||k0("/.dockerenv")||process.env.container==="docker")}function Fv(t){k0(Eu)||_0(Eu,{recursive:!0});let e=Ov(Eu,t);return _0(e,{recursive:!0}),fd(e),e}function E0(t){if(t.headerSession)return dd("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?dd("sha256").update(e[1]).digest("hex").slice(0,32):dd("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return d0([t.model||"",t.systemAndFirstUser||""])}function w0(t){return!!(t.streamIterator||t.parked.length>0||t.run?.status==="running")}function Au(t){t.lastActiveAt=Date.now()}var hd=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&&Au(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:Fv(e.key);e.mode==="bridge"&&fd(n);let o=e.mode==="plan"?"plan":"agent",s=C0(e.sandboxEnabled),a=await b0.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=C0(e.sandboxEnabled),n=await b0.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(l=>l.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"),Au(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await gs(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,l=new Promise((f,d)=>{a=f,u=d});return r.parked.push({id:n,name:o,args:s,resolve:a,reject:u,promise:l}),r.pendingEmit.push({id:n,name:o,args:s}),r.notifyEmit(),l},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)w0(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)w0(n)||e-n.lastActiveAt>l0&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r))}},Tu=new hd;import{randomUUID as Pv}from"crypto";function Iv(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 A0(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:Iv(n.function.parameters),async execute(s,a){let u=a.toolCallId||Pv();return e.metrics.customToolCalls+=1,e.parkHostTool({id:u,name:o,args:s||{}})}})}return r}function D0(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function T0(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function v0(t){let e=[];t.system&&e.push(T0(t.system));for(let r of t.messages||[])e.push(T0(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)),D0(e.join(`
|
|
334
|
+
`).length)}function R0(t,e){let r=Math.max(0,Math.trunc(t)||0),n=D0(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 Bv=900*1e3,ms=null;function jv(t){return`${t.length}:${t.slice(0,8)}:${t.slice(-4)}`}async function Mv(t){let e=jv(t);if(ms&&ms.apiKeyFingerprint===e&&Date.now()-ms.fetchedAt<Bv)return ms.models;let r=await Nv.models.list({apiKey:t})||[];return ms={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function Uv(t,e,r){let n=[];try{n=await Mv(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(l=>/effort|reasoning/i.test(l.id)&&String(l.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 Lv(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(`
|
|
335
|
+
`)}async function*qv(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(l=>({type:"msg",r:l})),o.then(l=>({type:l}))]);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 O0(t,e,r,n={}){let o=n.logger||e?.logger;o&&Tu.setLogger(o);let s=n.cursorMode||Su,a=t.stream===!0,u=t.model||"composer-2",l;try{l=u0(e)}catch(q){throw Object.assign(q instanceof Error?q:new Error(String(q)),{statusCode:q?.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=E0({headerSession:typeof f=="string"?f:void 0,metadataUserId:t?.metadata?.user_id,model:u,systemAndFirstUser:Lv(t)}),p=h0(t),y=await Uv(l,u,p),A=await Tu.getOrCreate({key:d,apiKey:l,model:y,mode:s,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled}),g=y0(t),C=A.parked.length>0;g.length&&C&&Tu.resolveParkedTools(A,g);let b=!A.streamIterator||!C,m=A.hasSentPrompt;b&&(m&&g.length&&!A.streamIterator&&o?.warn?.({toolResultCount:g.length,hadParked:C},"cursor-sdk dead-run recovery: sending follow-up with tool results"),await S0(A,async()=>{(A.run||A.streamIterator)&&await gs(A,{rejectParked:!0,reason:"cursor-sdk superseded by new prompt"});let q=s==="bridge"?A0(t,A):void 0,z=m0(t,{mode:s,workspaceDir:A.workspaceDir,followUpOnly:m});try{let Y=await A.agent.send(z,{model:y,mode:s==="plan"?"plan":"agent",local:q?{customTools:q}:void 0});A.run=Y,A.streamIterator=Y.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0}catch(Y){throw o?.error?.({err:Y},"cursor-sdk agent.send failed"),Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}}));let v=p0(u,new TextEncoder),k=[],S=v0(t),T=0,O,N=new ReadableStream({async start(q){let z=oe=>{k.push(oe),a&&q.enqueue(v.encode(oe))},Y=oe=>{typeof oe=="string"&&oe.length&&(T+=oe.length)},X=()=>R0(S,T),ce=oe=>{let pe=X();o?.debug?.({reason:oe,promptTokens:pe.prompt_tokens,completionTokens:pe.completion_tokens,outputChars:T,sdkUsageRaw:O,runUsage:A.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),z(v.finish(oe,pe))};try{let oe=0,pe=!1,we=!0;for await(let me of qv(A,s)){if(Au(A),me.kind==="host_tool"){if(s!=="bridge")continue;for(we=!1,Y(me.tool.name),Y(JSON.stringify(me.tool.args??{})),z(v.toolCall(me.tool,oe)),oe+=1;A.pendingEmit.length;){let J=A.pendingEmit.shift();Y(J.name),Y(JSON.stringify(J.args??{})),z(v.toolCall(J,oe)),oe+=1}ce("tool_calls"),a&&q.enqueue(v.encodeDone()),q.close();return}if(me.kind==="end"){ce("stop"),a&&q.enqueue(v.encodeDone()),q.close(),A.streamIterator=void 0,A.run=void 0;return}let Z=me.message;if(Z){if(Z.type==="assistant")for(let J of Z.message?.content||[])J.type==="text"&&J.text&&(we=!1,pe=!0,Y(J.text),z(v.content(J.text)));else if(Z.type==="thinking"){if(!we)continue;let J=ds(Z.text);J&&(Y(J),z(v.thinking(J)))}else if(Z.type==="usage")O=x0(Z);else if(Z.type==="status"){if(Z.status==="ERROR"||Z.status==="CANCELLED")throw Object.assign(new Error(Z.message||`Cursor run ${Z.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"});if(Z.status==="FINISHED"&&!oe){ce("stop"),a&&q.enqueue(v.encodeDone()),q.close(),A.streamIterator=void 0,A.run=void 0;return}}else if(Z.type==="tool_call"&&s!=="bridge"&&s==="agent"&&Z.name){we=!1;let J=`
|
|
336
|
+
[cursor tool ${Z.status||"running"}: ${Z.name}]
|
|
337
|
+
`;Y(J),z(v.content(J))}}}!pe&&!oe&&ce("stop"),a&&q.enqueue(v.encodeDone()),q.close()}catch(oe){o?.error?.({err:oe,metrics:A.metrics},"cursor-sdk stream failed"),gs(A,{rejectParked:!0,reason:"cursor-sdk stream failed"});try{q.error(oe)}catch{}}},cancel(){gs(A,{rejectParked:!0,reason:"cursor-sdk client cancelled stream"})}});if(!a){let q=N.getReader();for(;;){let{done:Y}=await q.read();if(Y)break}let z=g0(u,k);return new Response(JSON.stringify(z),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(N,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}var Du=class{static TransformerName=ud;name=ud;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let s={cursorMode:this.options.cursorMode||Su,cursorCwd:this.options.cursorCwd,sandboxEnabled:this.options.sandboxEnabled,logger:this.logger},a=await O0(e,r,n,s);return{body:e,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:a}}}async transformResponseOut(e){return e}};var F0={AnthropicTransformer:jn,GeminiTransformer:gi,VertexGeminiTransformer:Na,VertexClaudeTransformer:su,VertexOpenaiTransformer:iu,DeepseekTransformer:Wa,TooluseTransformer:Ga,OpenrouterTransformer:Ka,OpenAITransformer:cu,MaxTokenTransformer:Ya,GroqTransformer:Xa,CleancacheTransformer:Qa,EnhanceToolTransformer:eu,ReasoningTransformer:tu,SamplingTransformer:ru,MaxCompletionTokens:nu,CerebrasTransformer:au,StreamOptionsTransformer:uu,CustomParamsTransformer:lu,VercelTransformer:fu,OpenAIResponsesTransformer:pu,CodexTransformer:gu,QwenAuthTransformer:mu,ForceReasoningTransformer:yu,ExtraThinkTagTransformer:_u,MistralTransformer:bu,ChromeOnDeviceTransformer:Cu,OpencodeHeadersTransformer:wu,ClaudeAuthTransformer:ku,CursorSdkTransformer:Du};var Co=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];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})
|
|
338
|
+
error: ${r.message}
|
|
339
|
+
stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
|
|
340
|
+
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(F0).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 $v}from"tiktoken";var ys=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=$v(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=l=>this.encoding.encode(l,void 0,[]),o=0,{messages:s,system:a,tools:u}=e;return Array.isArray(s)&&s.forEach(l=>{typeof l.content=="string"?o+=n(l.content).length:Array.isArray(l.content)&&l.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(l=>{l.type==="text"&&(typeof l.text=="string"?o+=n(l.text).length:Array.isArray(l.text)&&l.text.forEach(f=>{o+=n(f||"").length}))}),u&&u.forEach(l=>{l.description&&(o+=n(l.name+l.description).length),l.input_schema&&(o+=n(JSON.stringify(l.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 Ou}from"path";import{homedir as Qx}from"os";import{existsSync as yd,mkdirSync as Zx}from"fs";import{promises as Fu}from"fs";var zv=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}},Hv=zv,Wv=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}},Gv=Wv,U0=(()=>{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]]))})(),Jv=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),Vv=Jv(U0),P0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",Kv=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|[${P0}])]+`,` ?[^\\s${P0}]+`]]),_s="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",Tj=new RegExp(`^[${_s}]+$`,"gu"),gd=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"),vu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of Kv)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=Yv(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},Yv=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Xv=(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},Qv=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,Zv=t=>Number.isInteger(t)||typeof t=="bigint",eR=t=>{let e=0;for(let r of t)++e;return e},tR=t=>L0(t.toLowerCase()),It=(...t)=>Array.prototype.concat.apply([],t),md=t=>new Map(Object.entries(t)),rR=(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},L0=t=>t.replace(new RegExp("\\p{M}","gu"),""),I0=(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},nR=t=>t.match(/\S+/g)||[],oR=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},bs=oR,sR=class extends bs{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Tr=sR,iR=class extends Tr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);Qv(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`
|
|
341
|
+
`: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}},aR=iR,uR=class extends Tr{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}},cR=uR,lR=class extends Tr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>q0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},fR=lR,dR=class extends Tr{normalize(t){let e=vu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},hR=dR,pR=class extends Tr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Ru=pR,gR=class extends Ru{constructor(){super(...arguments),this.form="NFC"}},mR=gR,yR=class extends Ru{constructor(){super(...arguments),this.form="NFD"}},_R=yR,bR=class extends Ru{constructor(){super(...arguments),this.form="NFKC"}},CR=bR,wR=class extends Ru{constructor(){super(...arguments),this.form="NFKD"}},kR=wR,SR=class extends Tr{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}},ER=SR,AR=class extends Tr{normalize(t){return L0(t)}},TR=AR,DR=class extends Tr{normalize(t){return t.toLowerCase()}},vR=DR,RR=class extends Tr{normalize(t){return t=this.config.prepend+t,t}},xR=RR;function OR(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new aR(t);case"Precompiled":return new cR(t);case"Sequence":return new fR(t);case"Replace":return new hR(t);case"NFC":return new mR(t);case"NFD":return new _R(t);case"NFKC":return new CR(t);case"NFKD":return new kR(t);case"Strip":return new ER(t);case"StripAccents":return new TR(t);case"Lowercase":return new vR(t);case"Prepend":return new xR(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var q0=OR,FR=class extends bs{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)}},ur=FR,PR=class extends ur{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=U0,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(""))}},IR=PR,NR=class extends ur{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},BR=NR,jR=class extends ur{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]}},MR=jR,UR=class extends ur{constructor(t){super(),this.config=t,this.pattern=vu(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):rR(t,this.pattern)}},LR=UR,qR=class extends ur{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${_s}]+|[${_s}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},$R=qR,zR=class extends ur{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)||[]}},HR=zR,WR=class extends ur{constructor(){super(),this.pattern=new RegExp(`[^\\s${_s}]+|[${_s}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},GR=WR,JR=class extends ur{constructor(t){super(),this.config=t,this.pattern=vu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},VR=JR,KR=class extends ur{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>$0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},YR=KR,XR=class extends ur{pre_tokenize_text(t){return nR(t)}},QR=XR;function ZR(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new GR;case"Sequence":return new YR(t);case"Whitespace":return new BR;case"WhitespaceSplit":return new QR;case"Metaspace":return new MR(t);case"ByteLevel":return new IR(t);case"Split":return new LR(t);case"Punctuation":return new $R(t);case"Digits":return new HR(t);case"Replace":return new VR(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var $0=ZR,ex=class extends bs{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=Xv(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)}},xu=ex,tx=class extends xu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=md(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,l=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)){l=f;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},N0=tx,B0=class z0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new z0(!1,new Map)}},rx=class{constructor(){this.root=B0.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=B0.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)}}},nx=rx,pd=class H0{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 H0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},ox=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 pd(this.bos_token_id??0,0,0,0,0),o=new pd(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 pd(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 l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(u===null||f>a)&&(u=l.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)}},sx=ox;function ix(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 ax=class extends xu{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=ix(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new nx,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 l of u){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],p=eR(l);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 sx(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}},j0=ax,ux=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}},cx=ux,lx=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()}},fx=lx,dx=class extends xu{constructor(t){super(t),this.tokens_to_ids=md(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 fx(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 cx((u,l)=>u.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<r.length;++u){let l={bias:u/r.length,token:r[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}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 l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}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}},M0=dx,hx=class extends xu{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=md(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}},px=hx;function gx(t,e){switch(t.type){case"WordPiece":return new N0(t);case"Unigram":return new j0(t,e.eos_token);case"BPE":return new M0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new j0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new M0(t):new N0(t):new px(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 mx=gx,yx=class extends bs{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Cs=yx,_x=class extends Cs{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=It(o,t),s=It(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=It(o,e),s=It(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},bx=_x,Cx=class extends Cs{post_process(t,e=null){return{tokens:e?It(t,e):t}}},wx=Cx,kx=class extends Cs{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=It([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=It(t,o,e,s),n=It(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Sx=kx,Ex=class extends Cs{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=It([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=It(t,o,e,s),n=It(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Ax=Ex,Tx=class extends Cs{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>W0(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}},Dx=Tx;function vx(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new bx(t);case"ByteLevel":return new wx(t);case"BertProcessing":return new Sx(t);case"RobertaProcessing":return new Ax(t);case"Sequence":return new Dx(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var W0=vx,Rx=class extends bs{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("")}},cr=Rx,xx=class extends cr{constructor(t){super(t),this.byte_decoder=Vv,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}},Ox=xx,Fx=class extends cr{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=gd(e)),e})}},Px=Fx,Ix=class extends cr{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}},Nx=Ix,Bx=class extends cr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},jx=Bx,Mx=class extends cr{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=gd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},Ux=Mx,Lx=class extends cr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>G0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},qx=Lx,$x=class extends cr{decode_chain(t){let e=vu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},zx=$x,Hx=class extends cr{decode_chain(t){return[t.join("")]}},Wx=Hx,Gx=class extends cr{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)})}},Jx=Gx,Vx=class extends cr{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}},Kx=Vx;function Yx(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new Ox(t);case"WordPiece":return new Px(t);case"Metaspace":return new Nx(t);case"BPEDecoder":return new jx(t);case"CTC":return new Ux(t);case"Sequence":return new qx(t);case"Replace":return new zx(t);case"Fuse":return new Wx(t);case"Strip":return new Jx(t);case"ByteFallback":return new Kx(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var G0=Yx,Xx=class{constructor(t,e){let r=I0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=I0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=q0(this.tokenizer.normalizer),this.pre_tokenizer=$0(this.tokenizer.pre_tokenizer),this.model=mx(this.tokenizer.model,this.config),this.post_processor=W0(this.tokenizer.post_processor),this.decoder=G0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new Gv(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 Hv(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||!Zv(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=gd(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=tR(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:It(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}},J0=Xx;var Pu=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||Ou(Qx(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=Ou(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:Ou(e,"tokenizer.json"),tokenizerConfig:Ou(e,"tokenizer_config.json")}}ensureDir(e){yd(e)||Zx(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!yd(e.tokenizerJson)||!yd(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Fu.readFile(e.tokenizerJson,"utf-8"),Fu.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,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Fu.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),Fu.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,tokenizerConfig:l}}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 J0(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 Iu=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 wo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new ys("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 ys(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Pu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Iu(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 e1}from"tiktoken";var _d=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())}},bd=new _d(100);import{readFile as wd}from"fs/promises";import{opendir as t1,stat as V0}from"fs/promises";import{join as kd}from"path";import{CLAUDE_PROJECTS_DIR as Cd,HOME_DIR as K0}from"@caeliq/ccr-shared";import{LRUCache as r1}from"lru-cache";var n1=e1("cl100k_base"),Dr=t=>n1.encode(t,void 0,[]),Y0=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Dr(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Dr(s.text).length:s.type==="tool_use"?n+=Dr(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Dr(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Dr(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Dr(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Dr(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Dr(o.name+o.description).length),o.input_schema&&(n+=Dr(JSON.stringify(o.input_schema)).length)}),n},o1=async(t,e)=>{if(t.sessionId){let r=await X0(t.sessionId);if(r){let n=kd(K0,r,"config.json"),o=kd(K0,r,`${t.sessionId}.json`);try{let s=JSON.parse(await wd(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await wd(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},s1=async(t,e,r,n)=>{let o=await o1(t,r),s=r.get("providers")||[],a=o||r.get("Router");if(t.body.model.includes(",")){let[p,y]=t.body.model.split(","),A=s.find(C=>C.name.toLowerCase()===p),g=A?.models?.find(C=>C.toLowerCase()===y);return A&&g?{model:`${A.name},${g}`,scenarioType:"default"}:{model:t.body.model,scenarioType:"default"}}let u=a?.longContextThreshold||6e4,l=n&&n.input_tokens>u&&e>2e4,f=e>u;if((l||f)&&a?.longContext)return t.log.info(`Using long context model due to token count: ${e}, threshold: ${u}`),{model:a.longContext,scenarioType:"longContext"};if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let p=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(p)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${p[1]}</CCR-SUBAGENT-MODEL>`,""),{model:p[1],scenarioType:"default"}}let d=r.get("Router");return t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&d?.background?(t.log.info(`Using background model for ${t.body.model}`),{model:d.background,scenarioType:"background"}):Array.isArray(t.body.tools)&&t.body.tools.some(p=>p.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"}},i1=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{}},Sd=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=i1(t.body.metadata?.user_id);let s=bd.get(t.sessionId),{messages:a,system:u=[],tools:l}=t.body,f=n.get("REWRITE_SYSTEM_PROMPT");if(f&&u.length>1&&u[1]?.text?.includes("<env>")){let d=await wd(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:l},y)).tokenCount:A=Y0(a,u,l);let g,C=n.get("CUSTOM_ROUTER_PATH");if(C)try{let b=ee(C);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 s1(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"}},Zr=new r1({max:1e3}),X0=async(t,e)=>{if(Zr.has(t)){let r=Zr.get(t);return!r||r===""?null:r}try{if(!(await V0(Cd)).isDirectory())return Zr.set(t,""),null}catch(r){return r?.code==="ENOENT"?(Zr.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),Zr.set(t,""),null)}try{let r=await t1(Cd),n=[];for await(let a of r)a.isDirectory()&&n.push(a.name);let o=n.map(async a=>{let u=kd(Cd,a,`${t}.jsonl`);try{return(await V0(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return Zr.set(t,a),a;return Zr.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),Zr.set(t,""),null}};var Ed=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()}},Q0=new Ed;var ab=Kt(nb(),1);Dd();vd();Rd();sb();var Es=new Map,Od=new Map,ub={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,ab.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)ko.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&&ko.registerHandlers(s)}r.outputOptions&&ko.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,l=s.model,f=`${u}:${l}`;if(Od.has(f))return Od.get(f);let d=a.getTokenizerConfigForModel(u,l);if(!d)return t.log?.debug(`No tokenizer config for ${u}:${l}, using fallback`),null;try{let p=await a.getTokenizer(d);return Od.set(f,p),t.log?.info(`Created tokenizer for ${u}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${u}:${l}: ${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 l=s.requestStartTime;if(!l)return;let f=s.id||Date.now().toString(),d;try{let g=s.body?.metadata?.user_id;if(g&&typeof g=="string"){let C=g.match(/_session_([a-f0-9-]+)/i);d=C?C[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(u instanceof ReadableStream){Es.set(f,{requestId:f,sessionId:d,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,C]=u.tee();return(async()=>{let m=null,v=async k=>{let S=Es.get(f);if(!S)return;let T=performance.now();if(k){let O=(S.lastTokenTime-S.startTime)/1e3;O>0&&(S.tokensPerSecond=Math.round(S.tokenCount/O))}else{let O=T-1e3;S.tokenTimestamps=S.tokenTimestamps.filter(N=>N>O),S.tokensPerSecond=S.tokenTimestamps.length}await ib(S,n,r.outputOptions,k,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let S=C.pipeThrough(new TextDecoderStream).pipeThrough(new Mr).getReader();for(m=setInterval(async()=>{Es.get(f)&&await v(!1)},1e3);;){let{done:T,value:O}=await S.read();if(T)break;let N=O,q=Es.get(f);if(!q)continue;let z=performance.now();if(!q.firstTokenTime&&(N.event==="content_block_start"||N.event==="content_block_delta"||N.event==="text_block"||N.event==="content_block")&&(q.firstTokenTime=z,q.timeToFirstToken=Math.round(z-q.startTime)),N.event==="content_block_delta"&&N.data?.delta){let Y=N.data.delta.type,X="";if(Y==="text_delta"?X=N.data.delta.text||"":Y==="input_json_delta"?X=N.data.delta.partial_json||"":Y==="thinking_delta"&&(X=N.data.delta.thinking||""),X){let ce=p&&p.encodeText?p.encodeText(X).length:As(X);q.tokenCount+=ce,q.lastTokenTime=z;for(let oe=0;oe<ce;oe++)q.tokenTimestamps.push(z)}}N.event==="message_stop"&&(m&&(clearInterval(m),m=null),await v(!0),Es.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 C=g.content||g.message?.content||"";if(p)Array.isArray(C)?A=C.reduce((b,m)=>{if(m.type==="text"){let v=m.text||"";return b+(p.encodeText?p.encodeText(v).length:As(v))}return b},0):typeof C=="string"&&(A=p.encodeText?p.encodeText(C).length:As(C));else{let b=Array.isArray(C)?C.map(m=>m.text).join(""):C;A=As(b)}}}catch{}if(A>0){let g=(y-l)/1e3,C={requestId:f,sessionId:d,startTime:l,lastTokenTime:y,tokenCount:A,tokensPerSecond:g>0?Math.round(A/g):0,timeToFirstToken:Math.round(y-l),stream:!1,tokenTimestamps:[]};await ib(C,n,r.outputOptions,!0,t.log)}return u})})};function As(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function ib(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 l of e)try{await ko.outputToType(l,a,u)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${l}:`,f)}}function _1(t={}){let e=m1({bodyLimit:52428800,...t});return e.setErrorHandler(Kh),e.register(y1),e}var Fd=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=_1({...n,logger:n.logger??!0}),this.configService=new Nn({...e,logger:this.app.log}),this.transformerService=new Co(this.configService,this.app.log),this.tokenizerService=new wo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Bn(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(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Sd(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await bc(u)});return}if(!r)throw new Error("options is required");let n=new Nn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new Co(n,this.app.log);await o.initialize();let s=new Bn(n,o,this.app.log),a=new wo(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(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Sd(l,f,{configService:n,tokenizerService:a})}),await bc(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,...l]=a.model.split(",");a.model=l.join(","),n.provider=u,n.model=l;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)}}},dU=Fd;export{Nn as ConfigService,Bn as ProviderService,Mr as SSEParserTransform,Mn as SSESerializerTransform,wo as TokenizerService,Co as TransformerService,Y0 as calculateTokenCount,dU as default,Q0 as pluginManager,op as rewriteStream,Sd as router,X0 as searchProjectBySession,bd as sessionUsageCache,ub as tokenSpeedPlugin};
|
|
342
|
+
/*! Bundled license information:
|
|
343
|
+
|
|
344
|
+
web-streams-polyfill/dist/ponyfill.es2018.js:
|
|
345
|
+
(**
|
|
346
|
+
* @license
|
|
347
|
+
* web-streams-polyfill v3.3.3
|
|
348
|
+
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
349
|
+
* This code is released under the MIT license.
|
|
350
|
+
* SPDX-License-Identifier: MIT
|
|
351
|
+
*)
|
|
352
|
+
|
|
353
|
+
fetch-blob/index.js:
|
|
354
|
+
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
355
|
+
|
|
356
|
+
formdata-polyfill/esm.min.js:
|
|
357
|
+
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
358
|
+
|
|
359
|
+
node-domexception/index.js:
|
|
360
|
+
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
361
|
+
|
|
362
|
+
safe-buffer/index.js:
|
|
363
|
+
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
364
|
+
|
|
365
|
+
gtoken/build/cjs/src/index.cjs:
|
|
366
|
+
(*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
|
|
367
|
+
*/
|
|
368
|
+
//# sourceMappingURL=server.mjs.map
|