@zuplo/cli 6.70.21 → 6.70.23
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/node_modules/@zuplo/core/customer.cli.minified.js +2 -2
- package/node_modules/@zuplo/core/index.minified.js +2 -2
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-2ZQVIVZ3.js → chunk-GDWI24KD.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-YGYFQCBA.js → chunk-JAEQKE5H.js} +3 -3
- package/node_modules/@zuplo/runtime/out/esm/{chunk-YGYFQCBA.js.map → chunk-JAEQKE5H.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-ZS34EO4B.js → chunk-NW4YQXGC.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-UMZORQLU.js → chunk-RQLHORT4.js} +4 -4
- package/node_modules/@zuplo/runtime/out/esm/{chunk-UMZORQLU.js.map → chunk-RQLHORT4.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +20 -1372
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/types/index.d.ts +3 -2
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +6 -6
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-2ZQVIVZ3.js.map → chunk-GDWI24KD.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-YGYFQCBA.js.LEGAL.txt → chunk-JAEQKE5H.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-ZS34EO4B.js.map → chunk-NW4YQXGC.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-UMZORQLU.js.LEGAL.txt → chunk-RQLHORT4.js.LEGAL.txt} +0 -0
|
@@ -568,7 +568,7 @@ globstar while`,s,de,o,ae,Ye),this.matchOne(s.slice(de),o.slice(ae),f))return th
|
|
|
568
568
|
`],[102,"\f"],[114,"\r"],[116," "]]),woe=new Map([...EV,[118,"\v"],[48,"\0"]]),gXt=new Map([[jPe,jPe],["\\","\\"],["/","/"],["\b","b"],[`
|
|
569
569
|
`,"n"],["\f","f"],["\r","r"],[" ","t"]]),dCr=new Map([...gXt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),koe=new Map([[aXt,"LBracket"],[oXt,"RBracket"],[cXt,"LBrace"],[lXt,"RBrace"],[uXt,"Colon"],[fXt,"Comma"],[_Xt,"Boolean"],[pXt,"Boolean"],[dXt,"Null"]]),Coe=new Map([...koe,[mXt,"Number"],[hXt,"Number"]]),BPe=new Set([10,13,8232,8233]),zP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},UPe=class extends zP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},zPe=class extends zP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},mO=class extends zP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Doe=class extends zP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},yXt=/[\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]/,vXt=/[\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]/,bXt=13,Unt=10,$Pe=class{static{t(this,"CharCodeReader")}#e="";#n=1;#t=0;#r=-1;#s=!1;#m=-1;#c=!1;constructor(o){this.#e=o}#u(){this.#c||(this.#t++,this.#r++,this.#m=-1,this.#c=!0)}locate(){return{line:this.#n,column:this.#t,offset:this.#r}}next(){if(this.#r>=this.#e.length-1)return this.#u(),-1;this.#r++;let o=this.#e.charCodeAt(this.#r);return this.#s?(this.#n++,this.#t=1,this.#s=!1):this.#t++,o===bXt?(this.#s=!0,this.peek()===Unt&&this.#r++):o===Unt&&(this.#s=!0),this.#m=o,o}peek(){return this.#r===this.#e.length-1?-1:this.#e.charCodeAt(this.#r+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#m}},SXt="Infinity",TXt="NaN",xXt=new Set([116,102,110]),JPe=new Set([32,9,10,13]),znt=new Set([...JPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),EXt={mode:"json",ranges:!1},CXt=new Set(["true","false","null"]),y_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function UP(s){return s>=48&&s<=57}t(UP,"isDigit");function MPe(s){return UP(s)||s>=65&&s<=70||s>=97&&s<=102}t(MPe,"isHexDigit");function kXt(s){return s>=49&&s<=57}t(kXt,"isPositiveDigit");function wXt(s){return xXt.has(s)}t(wXt,"isKeywordStart");function Jnt(s){return UP(s)||s===46||s===45}t(Jnt,"isNumberStart");function DXt(s){return Jnt(s)||s===43}t(DXt,"isJSON5NumberStart");function $nt(s,o){return s===34||o&&s===39}t($nt,"isStringStart");function Wnt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return yXt.test(o)}t(Wnt,"isJSON5IdentifierStart");function PXt(s){if(Wnt(s)||UP(s))return!0;let o=String.fromCharCode(s);return vXt.test(o)}t(PXt,"isJSON5IdentifierPart");var WPe=class{static{t(this,"Tokenizer")}#e;#n;#t;#r;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#n=o,this.#e={...EXt,...f},this.#t=new $Pe(o),this.#r=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#r?woe.has.bind(woe):EV.has.bind(EV),this.#f=this.#r?BPe.has.bind(BPe):()=>!1,this.#p=this.#r?d=>d===120:()=>!1,this.#a=this.#r?znt.has.bind(znt):JPe.has.bind(JPe)}#i(o,f=this.#t.locate()){throw new UPe(o,f)}#o(o,f=this.#t.locate()){throw new zPe(o,f)}#h(){throw new Doe(this.#t.locate())}#d(o,f,d,y){let E=d.offset+f,P=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...P}}#_(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),MPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#y(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#_(4)),o=this.#t.peek(),!PXt(o))break;this.#t.next()}while(!0);return f}#b(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#_(4);d+=y.length}else if(this.#p(o)){this.#t.next(),d++;let y=this.#_(2);d+=y.length}else this.#r?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#v(o){let f=1;if(o===45||this.#r&&o===43){if(o=this.#t.peek(),this.#r&&(o===73||o===78)){this.#t.next();let d=this.#y(o);return d!==SXt&&d!==TXt&&this.#i(o),f+d.length}UP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#r&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),MPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(MPe(o))}else UP(o)&&this.#i(o);else if(!this.#r||o!==46)for(kXt(o)||this.#i(o),o=this.#t.peek();UP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();UP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#r&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),UP(o)||(this.#t.next(),this.#i(o));UP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#C(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#a(o);)o=this.#t.next();if(o===-1)return y_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#r)if(Coe.has(d))this.#c=this.#d(Coe.get(d),1,f);else if(Wnt(o)){let y=this.#y(o);Coe.has(y)?this.#c=this.#d(Coe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(DXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if($nt(o,this.#r)){let y=this.#b(o),E=this.#t.locate();this.#c=this.#d("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(koe.has(d))this.#c=this.#d(koe.get(d),1,f);else if(wXt(o)){let y=this.#y(o);CXt.has(y)||this.#o(y,f),this.#c=this.#d(koe.get(y),y.length,f)}else if(Jnt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if($nt(o,this.#r)){let y=this.#b(o);this.#c=this.#d("String",y,f)}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return y_[this.#c.type]}get token(){return this.#c}};var cT={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},AXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function NXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let P=s.charAt(y+1),F=P.charCodeAt(0);if(f&&woe.has(F))d+=woe.get(F),E=y+2;else if(EV.has(F))d+=EV.get(F),E=y+2;else if(P==="u"){let J=s.slice(y+2,y+6);if(J.length<4||/[^0-9a-f]/i.test(J))throw new zP(`Invalid unicode escape \\u${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+6}else if(f&&P==="x"){let J=s.slice(y+2,y+4);if(J.length<2||/[^0-9a-f]/i.test(J))throw new zP(`Invalid hex escape \\x${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+4}else if(f&&BPe.has(F))E=y+2,P==="\r"&&s.charAt(E)===`
|
|
570
570
|
`&&E++;else if(f)d+=P,E=y+2;else throw new zP(`Invalid escape \\${P}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(NXt,"getStringValue");function IXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return NXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(IXt,"getLiteralValue");function qnt(s,o){o=Object.freeze({...AXt,...o});let f=[],d=new WPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function P(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr}t(P,"nextNoComments");function F(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr>=y_.LineComment?F():wr}t(F,"nextSkipComments");let J=o.mode==="json"?P:F;function V(wr,Sr){if(wr!==Sr)throw new mO(d.token)}t(V,"assertTokenType");function Te(wr,Sr){if(!Sr.includes(wr))throw new mO(d.token)}t(Te,"assertTokenTypes");function de(wr,Sr){return o.ranges?{range:[wr.offset,Sr.offset]}:void 0}t(de,"createRange");function ae(wr){let Sr=d.token,us=de(Sr.loc.start,Sr.loc.end),Fi=IXt(s.slice(Sr.loc.start.offset,Sr.loc.end.offset),Sr,y),bi={loc:{start:{...Sr.loc.start},end:{...Sr.loc.end}},...us};switch(wr){case y_.String:return cT.string(Fi,bi);case y_.Number:return cT.number(Fi,bi);case y_.Boolean:return cT.boolean(Fi,bi);default:throw new TypeError(`Unknown token type ${Sr.type}.`)}}t(ae,"createLiteralNode");function Ye(wr){let Sr=de(wr.loc.start,wr.loc.end),us=s.slice(wr.loc.start.offset,wr.loc.end.offset),cc={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr};if(wr.type!=="Identifier"){let bi="";return(us[0]==="+"||us[0]==="-")&&(bi=us[0]),cT[us.includes("NaN")?"nan":"infinity"](bi,cc)}return cT.identifier(us,cc)}t(Ye,"createJSON5IdentifierNode");function Ue(wr){let Sr=de(wr.loc.start,wr.loc.end);return cT.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr})}t(Ue,"createNullNode");function je(wr){y?Te(wr,[y_.String,y_.Identifier,y_.Number]):V(wr,y_.String);let Sr=d.token,us=wr===y_.String?ae(wr):Ye(Sr);if(y&&(us.type==="NaN"||us.type==="Infinity")){if(us.sign!=="")throw new mO(d.token);us=cT.identifier(us.type,{loc:us.loc,...de(us.loc.start,us.loc.end)})}wr=J(),V(wr,y_.Colon);let Fi=kr(),cc=de(us.loc.start,Fi.loc.end);return cT.member(us,Fi,{loc:{start:{...us.loc.start},end:{...Fi.loc.end}},...cc})}t(je,"parseProperty");function Kt(wr){V(wr,y_.LBrace);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBrace)do{if(us.push(je(Fi)),Fi=J(),!Fi)throw new Doe(us[us.length-1].loc.end);if(Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBrace)break}else break}while(Fi);V(Fi,y_.RBrace);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return cT.object(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Kt,"parseObject");function Ut(wr){V(wr,y_.LBracket);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBracket)do{let Qf=kr(Fi);if(us.push(cT.element(Qf,{loc:Qf.loc})),Fi=J(),Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBracket)break}else break}while(Fi);V(Fi,y_.RBracket);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return cT.array(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Ut,"parseArray");function kr(wr){wr=wr??J();let Sr=d.token;switch(wr){case y_.String:case y_.Boolean:return ae(wr);case y_.Number:if(y){let us=s.slice(Sr.loc.start.offset,Sr.loc.end.offset);if((us[0]==="+"||us[0]==="-")&&(us=us.slice(1)),us==="NaN"||us==="Infinity")return Ye(Sr)}return ae(wr);case y_.Null:return Ue(Sr);case y_.LBrace:return Kt(wr);case y_.LBracket:return Ut(wr);default:throw new mO(Sr)}}t(kr,"parseValue");let An=kr();if(J())throw new mO(d.token);let Pn={loc:{start:{line:1,column:1,offset:0},end:{...An.loc.end}}};return o.tokens&&(Pn.tokens=f),o.ranges&&(Pn.range=[Pn.loc.start.offset,Pn.loc.end.offset]),cT.document(An,Pn)}t(qnt,"parse");var OXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function Vnt(s){return s&&typeof s=="object"}t(Vnt,"isObject");function FXt(s){return Vnt(s)&&typeof s.type=="string"}t(FXt,"isNode");function LXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of OXt.get(d.type)){let P=d[E];Vnt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):FXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(LXt,"traverse");function Hnt(s,o=()=>!0){let f=[];return LXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Hnt,"iterator");import RXt from"node:fs/promises";var CV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Poe=t(async s=>{try{return await RXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),kV=t(async s=>{try{return qnt(s)}catch(o){if(o.column&&o.line&&o.message){let f=CV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var Gnt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Poe(d),E=await MXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),MXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await kV(s);if(E){for(let{node:P}of Hnt(E))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=CV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:P,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import Ynt from"node:fs/promises";import bE from"node:path";var qPe="schemas",VPe=".oas.json";var hO=t(async s=>(await Ynt.readdir(s)).map(f=>bE.join(s,f)).filter(f=>f.endsWith(VPe)).sort(),"getOpenApiFilesByAlphabetical"),W9=t(async s=>{let o=bE.resolve(s,"config");return(await Ynt.readdir(o)).filter(d=>d.endsWith(VPe)).length>=1},"oasFileInProject");function wV(s,o,f,d,y,E,P){if(E.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new k1({text:`Failed to resolve reference: ${f}`,detail:Ue.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let J=Noe(f),V=bE.basename(J,bE.extname(J)),Te=f.indexOf("#"),de=Te>=0?f.substring(0,Te):f,ae=Te>=0?f.substring(Te+1):"",Ye=d.get(de);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(Ye=Ye[je],Ye===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(Ye&&typeof Ye=="object"&&"$ref"in Ye&&typeof Ye.$ref=="string"&&!Ye.$ref.startsWith("#")){let Ue=bE.resolve(bE.dirname(de),Ye.$ref);if(J=Ue,V=bE.basename(J,bE.extname(J)),de=Ue,E.has(de)){let Kt=E.get(de);if(Kt===void 0)throw new Error(`Expected to find ${de} in refsVisited map`);E.set(f,Kt);return}let je=y.length;E.set(f,je),E.set(de,je),y.push(de),Aoe(J,V,F,d,y,E,P)}else E.set(f,y.length),y.push(f),Aoe(Noe(f),o,F,d,y,E,P)}t(wV,"chaseRefs");function Aoe(s,o,f,d,y,E,P){if(Array.isArray(f))for(let F of f)Aoe(s,o,F,d,y,E,P);else if(typeof f=="object")for(let F in f){if(F==="$ref"){let J=f[F];P&&(f[F]=P(o,J,s)),wV(s,o,KN(s,J),d,y,E,P)}Aoe(s,o,f[F],d,y,E,P)}}t(Aoe,"lookForRefs");function KN(s,o){let f=o.indexOf("#");return f>=0?`${bE.resolve(s,o.substring(0,f))}${o.substring(f)}`:bE.resolve(bE.dirname(s),o)}t(KN,"getFullyQualifiedRefName");function Noe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Noe,"getFilePathNameFromRefName");import sle from"node:path";function jXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let V=0;V<o.length;V++)o[V]=255;for(let V=0;V<s.length;V++){let Te=s.charAt(V),de=Te.charCodeAt(0);if(o[de]!==255)throw new TypeError(Te+" is ambiguous");o[de]=V}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function P(V){if(V instanceof Uint8Array||(ArrayBuffer.isView(V)?V=new Uint8Array(V.buffer,V.byteOffset,V.byteLength):Array.isArray(V)&&(V=Uint8Array.from(V))),!(V instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(V.length===0)return"";let Te=0,de=0,ae=0,Ye=V.length;for(;ae!==Ye&&V[ae]===0;)ae++,Te++;let Ue=(Ye-ae)*E+1>>>0,je=new Uint8Array(Ue);for(;ae!==Ye;){let kr=V[ae],An=0;for(let nn=Ue-1;(kr!==0||An<de)&&nn!==-1;nn--,An++)kr+=256*je[nn]>>>0,je[nn]=kr%f>>>0,kr=kr/f>>>0;if(kr!==0)throw new Error("Non-zero carry");de=An,ae++}let Kt=Ue-de;for(;Kt!==Ue&&je[Kt]===0;)Kt++;let Ut=d.repeat(Te);for(;Kt<Ue;++Kt)Ut+=s.charAt(je[Kt]);return Ut}t(P,"encode");function F(V){if(typeof V!="string")throw new TypeError("Expected String");if(V.length===0)return new Uint8Array;let Te=0,de=0,ae=0;for(;V[Te]===d;)de++,Te++;let Ye=(V.length-Te)*y+1>>>0,Ue=new Uint8Array(Ye);for(;V[Te];){let kr=o[V.charCodeAt(Te)];if(kr===255)return;let An=0;for(let nn=Ye-1;(kr!==0||An<ae)&&nn!==-1;nn--,An++)kr+=f*Ue[nn]>>>0,Ue[nn]=kr%256>>>0,kr=kr/256>>>0;if(kr!==0)throw new Error("Non-zero carry");ae=An,Te++}let je=Ye-ae;for(;je!==Ye&&Ue[je]===0;)je++;let Kt=new Uint8Array(de+(Ye-je)),Ut=de;for(;je!==Ye;)Kt[Ut++]=Ue[je++];return Kt}t(F,"decodeUnsafe");function J(V){let Te=F(V);if(Te)return Te;throw new Error("Non-base"+f+" character")}return t(J,"decode"),{encode:P,decodeUnsafe:F,decode:J}}t(jXt,"base");var Knt=jXt;var BXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Ioe=Knt(BXt);var UXt=!1;function q9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(q9,"code");function V9(s,o){return UXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(V9,"run");function zXt(s){return V9(s,q9([31],39))}t(zXt,"red");function $Xt(s){return V9(s,q9([32],39))}t($Xt,"green");function JXt(s){return V9(s,q9([33],39))}t(JXt,"yellow");function WXt(s){return V9(s,q9([34],39))}t(WXt,"blue");function qXt(s){return V9(s,q9([35],39))}t(qXt,"magenta");function VXt(s){return V9(s,q9([36],39))}t(VXt,"cyan");var RCr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var Xnt=[zXt,$Xt,JXt,WXt,qXt,VXt];function HXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(HXt,"hashCode");function Znt(s){let o=Math.abs(HXt(s));return Xnt[o%Xnt.length]}t(Znt,"generateColor");import{inspect as GXt}from"node:util";function Qnt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,P=>{if(P==="%%")return"%";if(d>=y)return P;switch(P){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
|
|
571
|
-
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Qnt,"format");var eit=t((s,...o)=>Qnt(GXt,s,o),"format");var HPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Znt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=eit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},GPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function YXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(YXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new GPe(YXt(process.env.DEBUG)));let o=new HPe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var tit="zp-local-service";var KCr=Symbol("zuplo_meters"),XCr=Symbol("zuplo_dynamic_meters");var $P=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var XN=Foe("zuplo:runtime:external-service");function KXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(KXt,"getServiceAuth");async function rit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return DV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new $P(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let V=P?E.slice(0,-d.length):E,Te=KXt();if(!Te)throw XN("There is no external service auth configured for this zup."),new $P("There are no external services configured for this zup.");XN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[V])Ye=`https://${Te.customServiceMapping[V]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await XXt(V,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=iit(Kt.ENVIRONMENT_TYPE),An=await YPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw XN("Cannot use sha256 service routing, missing build variables"),new $P("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new $P("Could not connect to secure tunnel.");return je}else throw XN("Cannot call external service with Request object"),new $P("Currently, we only support fetch(<some_string>, ...).")}t(rit,"externalServiceHandler");async function nit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(tit,d),y.headers=F,await DV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(nit,"clusterServiceHandler");async function XXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=iit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await YPe(`${E}-${y}`),V=await YPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(XXt,"hashServiceName");async function YPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(YPe,"hashSegment");function iit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(iit,"sanitizeEnvironmentType");var KPe=new Map;KPe.set("service:",rit);KPe.set("local:",nit);var DV=globalThis.fetch;function XPe(s,o){let{transformedInit:f,mtlsCertificate:d}=ZXt(o);if(typeof s=="string"){let y=new URL(s),E=KPe.get(y.protocol);return E?E(s,f):sit(s,f,d)}else return sit(s,f,d)}t(XPe,"internalFetch");globalThis.fetch=XPe;function sit(s,o,f){if(!f)return DV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(sit,"performFetch");var ZXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var QXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:XPe},PV=QXt;var ZPe="2025-02-06",ait=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function oit(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:ZPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:ait[ZPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"mock-bucket-id"}})}t(oit,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=oit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var eZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function cit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!eZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(cit,"isRestrictedEnvVariableName");function lit(s){return!!s.startsWith("ZUPLO_")}t(lit,"isZuploReadableEnvVariableName");var kkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(cit(f)&&!lit(f)))return Em.instance.runtime[f]}});function AV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function QPe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(QPe,"getIdForParameterSchema");function eAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(eAe,"getIdForRequestBodySchema");function NV(s,o){return`_${JP(s)}_${JP(o)}`}t(NV,"getIdForRefSchema");function JP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(JP,"sanitizedIdentifierName");var rAe={};Mtt(rAe,{UnsafePathError:()=>Loe,deleteFolder:()=>dZt,dirExists:()=>tAe,fileExists:()=>iZt,getParentDirFilename:()=>fZt,isNotFileOrDirectory:()=>aZt,listFolderContents:()=>_it,listFolders:()=>cZt,mkDirTemp:()=>sZt,mkdirForFilePathIfNotExits:()=>lZt,mkdirIfNotExists:()=>pit,safePath:()=>uZt,tarFolder:()=>_Zt,untarFile:()=>pZt});import{spawn as uit}from"node:child_process";import{randomUUID as tZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as rZt,tmpdir as nZt}from"node:os";import N1 from"node:path";var fit=[".git","node_modules",".yarn",".DS_Store"];async function iZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(iZt,"fileExists");async function sZt(){let s=process.env.BUILD_FILE_PATH??nZt(),o=tZt().replaceAll("-",""),f=N1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(sZt,"mkDirTemp");async function tAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(tAe,"dirExists");async function aZt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(aZt,"isNotFileOrDirectory");function oZt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(oZt,"getParentDirectory");async function cZt(s){if(!await tAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)fit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(cZt,"listFolders");async function _it(s,o,f=!0){let d=oZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!fit.includes(P.name)||!f)if(P.isDirectory()){let F=await _it(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(_it,"listFolderContents");var pit=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),lZt=t(async s=>{let o=N1.dirname(s);return pit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function uZt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(uZt,"safePath");function fZt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(fZt,"getParentDirFilename");async function _Zt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=uit("tar",[...f.flatMap(Te=>["--exclude",Te]),...rZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);V.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),V.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),V.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),V.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
571
|
+
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Qnt,"format");var eit=t((s,...o)=>Qnt(GXt,s,o),"format");var HPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Znt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=eit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},GPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function YXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(YXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new GPe(YXt(process.env.DEBUG)));let o=new HPe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var tit="zp-local-service";var KCr=Symbol("zuplo_meters"),XCr=Symbol("zuplo_dynamic_meters");var $P=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var XN=Foe("zuplo:runtime:external-service");function KXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(KXt,"getServiceAuth");async function rit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return DV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new $P(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let V=P?E.slice(0,-d.length):E,Te=KXt();if(!Te)throw XN("There is no external service auth configured for this zup."),new $P("There are no external services configured for this zup.");XN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[V])Ye=`https://${Te.customServiceMapping[V]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await XXt(V,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=iit(Kt.ENVIRONMENT_TYPE),An=await YPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw XN("Cannot use sha256 service routing, missing build variables"),new $P("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new $P("Could not connect to secure tunnel.");return je}else throw XN("Cannot call external service with Request object"),new $P("Currently, we only support fetch(<some_string>, ...).")}t(rit,"externalServiceHandler");async function nit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(tit,d),y.headers=F,await DV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(nit,"clusterServiceHandler");async function XXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=iit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await YPe(`${E}-${y}`),V=await YPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(XXt,"hashServiceName");async function YPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(YPe,"hashSegment");function iit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(iit,"sanitizeEnvironmentType");var KPe=new Map;KPe.set("service:",rit);KPe.set("local:",nit);var DV=globalThis.fetch;function XPe(s,o){let{transformedInit:f,mtlsCertificate:d}=ZXt(o);if(typeof s=="string"){let y=new URL(s),E=KPe.get(y.protocol);return E?E(s,f):sit(s,f,d)}else return sit(s,f,d)}t(XPe,"internalFetch");globalThis.fetch=XPe;function sit(s,o,f){if(!f)return DV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(sit,"performFetch");var ZXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var QXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:XPe},PV=QXt;var ZPe="2025-02-06",ait=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function oit(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:ZPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:ait[ZPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(oit,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=oit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var eZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function cit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!eZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(cit,"isRestrictedEnvVariableName");function lit(s){return!!s.startsWith("ZUPLO_")}t(lit,"isZuploReadableEnvVariableName");var kkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(cit(f)&&!lit(f)))return Em.instance.runtime[f]}});function AV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function QPe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(QPe,"getIdForParameterSchema");function eAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(eAe,"getIdForRequestBodySchema");function NV(s,o){return`_${JP(s)}_${JP(o)}`}t(NV,"getIdForRefSchema");function JP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(JP,"sanitizedIdentifierName");var rAe={};Mtt(rAe,{UnsafePathError:()=>Loe,deleteFolder:()=>dZt,dirExists:()=>tAe,fileExists:()=>iZt,getParentDirFilename:()=>fZt,isNotFileOrDirectory:()=>aZt,listFolderContents:()=>_it,listFolders:()=>cZt,mkDirTemp:()=>sZt,mkdirForFilePathIfNotExits:()=>lZt,mkdirIfNotExists:()=>pit,safePath:()=>uZt,tarFolder:()=>_Zt,untarFile:()=>pZt});import{spawn as uit}from"node:child_process";import{randomUUID as tZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as rZt,tmpdir as nZt}from"node:os";import N1 from"node:path";var fit=[".git","node_modules",".yarn",".DS_Store"];async function iZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(iZt,"fileExists");async function sZt(){let s=process.env.BUILD_FILE_PATH??nZt(),o=tZt().replaceAll("-",""),f=N1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(sZt,"mkDirTemp");async function tAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(tAe,"dirExists");async function aZt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(aZt,"isNotFileOrDirectory");function oZt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(oZt,"getParentDirectory");async function cZt(s){if(!await tAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)fit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(cZt,"listFolders");async function _it(s,o,f=!0){let d=oZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!fit.includes(P.name)||!f)if(P.isDirectory()){let F=await _it(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(_it,"listFolderContents");var pit=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),lZt=t(async s=>{let o=N1.dirname(s);return pit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function uZt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(uZt,"safePath");function fZt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(fZt,"getParentDirFilename");async function _Zt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=uit("tar",[...f.flatMap(Te=>["--exclude",Te]),...rZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);V.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),V.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),V.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),V.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
572
572
|
`),stderr:E.join(`
|
|
573
573
|
`),exitCode:P},"Tar process logs")}}t(_Zt,"tarFolder");async function pZt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((P,F)=>{let J=uit("sh",["-c",`tar -xvf ${s} -C ${o};`]);J.stdout.on("data",V=>{let Te=V.toString().trim();Te.length>0&&d.push(Te.trim())}),J.stderr.on("data",V=>{let Te=V.toString().trim();Te.length>0&&y.push(Te.trim())}),J.on("close",V=>{E=V,V===0?P():F(new Error(`tar process exited with code ${V}`))}),J.on("error",V=>{F(V)})})}catch(P){throw new Error("Failed to untar file",{cause:P})}finally{f.info({stdout:d.join(`
|
|
574
574
|
`),stderr:y.join(`
|
|
@@ -601,7 +601,7 @@ globstar while`,s,de,o,ae,Ye),this.matchOne(s.slice(de),o.slice(ae),f))return th
|
|
|
601
601
|
`,P):(s.write("/*"),Kpr(s,P.value,f,d),s.write("*/"+d))}}t(R1,"formatComments");function Xpr(s){let o=s;for(;o!=null;){let{type:f}=o;if(f[0]==="C"&&f[1]==="a")return!0;if(f[0]==="M"&&f[1]==="e"&&f[2]==="m")o=o.object;else return!1}}t(Xpr,"hasCallExpression");function x4e(s,o){let{generator:f}=s,{declarations:d}=o;s.write(o.kind+" ");let{length:y}=d;if(y>0){f.VariableDeclarator(d[0],s);for(let E=1;E<y;E++)s.write(", "),f.VariableDeclarator(d[E],s)}}t(x4e,"formatVariableDeclaration");var Hft,Gft,Yft,Kft,Xft,Zft,Zpr={Program(s,o){let f=o.indent.repeat(o.indentLevel),{lineEnd:d,writeComments:y}=o;y&&s.comments!=null&&R1(o,s.comments,f,d);let E=s.body,{length:P}=E;for(let F=0;F<P;F++){let J=E[F];y&&J.comments!=null&&R1(o,J.comments,f,d),o.write(f),this[J.type](J,o),o.write(d)}y&&s.trailingComments!=null&&R1(o,s.trailingComments,f,d)},BlockStatement:Zft=t(function(s,o){let f=o.indent.repeat(o.indentLevel++),{lineEnd:d,writeComments:y}=o,E=f+o.indent;o.write("{");let P=s.body;if(P!=null&&P.length>0){o.write(d),y&&s.comments!=null&&R1(o,s.comments,E,d);let{length:F}=P;for(let J=0;J<F;J++){let V=P[J];y&&V.comments!=null&&R1(o,V.comments,E,d),o.write(E),this[V.type](V,o),o.write(d)}o.write(f)}else y&&s.comments!=null&&(o.write(d),R1(o,s.comments,E,d),o.write(f));y&&s.trailingComments!=null&&R1(o,s.trailingComments,E,d),o.write("}"),o.indentLevel--},"BlockStatement"),ClassBody:Zft,StaticBlock(s,o){o.write("static "),this.BlockStatement(s,o)},EmptyStatement(s,o){o.write(";")},ExpressionStatement(s,o){let f=o.expressionsPrecedence[s.expression.type];f===LE||f===3&&s.expression.left.type[0]==="O"?(o.write("("),this[s.expression.type](s.expression,o),o.write(")")):this[s.expression.type](s.expression,o),o.write(";")},IfStatement(s,o){o.write("if ("),this[s.test.type](s.test,o),o.write(") "),this[s.consequent.type](s.consequent,o),s.alternate!=null&&(o.write(" else "),this[s.alternate.type](s.alternate,o))},LabeledStatement(s,o){this[s.label.type](s.label,o),o.write(": "),this[s.body.type](s.body,o)},BreakStatement(s,o){o.write("break"),s.label!=null&&(o.write(" "),this[s.label.type](s.label,o)),o.write(";")},ContinueStatement(s,o){o.write("continue"),s.label!=null&&(o.write(" "),this[s.label.type](s.label,o)),o.write(";")},WithStatement(s,o){o.write("with ("),this[s.object.type](s.object,o),o.write(") "),this[s.body.type](s.body,o)},SwitchStatement(s,o){let f=o.indent.repeat(o.indentLevel++),{lineEnd:d,writeComments:y}=o;o.indentLevel++;let E=f+o.indent,P=E+o.indent;o.write("switch ("),this[s.discriminant.type](s.discriminant,o),o.write(") {"+d);let{cases:F}=s,{length:J}=F;for(let V=0;V<J;V++){let Te=F[V];y&&Te.comments!=null&&R1(o,Te.comments,E,d),Te.test?(o.write(E+"case "),this[Te.test.type](Te.test,o),o.write(":"+d)):o.write(E+"default:"+d);let{consequent:de}=Te,{length:ae}=de;for(let Ye=0;Ye<ae;Ye++){let Ue=de[Ye];y&&Ue.comments!=null&&R1(o,Ue.comments,P,d),o.write(P),this[Ue.type](Ue,o),o.write(d)}}o.indentLevel-=2,o.write(f+"}")},ReturnStatement(s,o){o.write("return"),s.argument&&(o.write(" "),this[s.argument.type](s.argument,o)),o.write(";")},ThrowStatement(s,o){o.write("throw "),this[s.argument.type](s.argument,o),o.write(";")},TryStatement(s,o){if(o.write("try "),this[s.block.type](s.block,o),s.handler){let{handler:f}=s;f.param==null?o.write(" catch "):(o.write(" catch ("),this[f.param.type](f.param,o),o.write(") ")),this[f.body.type](f.body,o)}s.finalizer&&(o.write(" finally "),this[s.finalizer.type](s.finalizer,o))},WhileStatement(s,o){o.write("while ("),this[s.test.type](s.test,o),o.write(") "),this[s.body.type](s.body,o)},DoWhileStatement(s,o){o.write("do "),this[s.body.type](s.body,o),o.write(" while ("),this[s.test.type](s.test,o),o.write(");")},ForStatement(s,o){if(o.write("for ("),s.init!=null){let{init:f}=s;f.type[0]==="V"?x4e(o,f):this[f.type](f,o)}o.write("; "),s.test&&this[s.test.type](s.test,o),o.write("; "),s.update&&this[s.update.type](s.update,o),o.write(") "),this[s.body.type](s.body,o)},ForInStatement:Hft=t(function(s,o){o.write(`for ${s.await?"await ":""}(`);let{left:f}=s;f.type[0]==="V"?x4e(o,f):this[f.type](f,o),o.write(s.type[3]==="I"?" in ":" of "),this[s.right.type](s.right,o),o.write(") "),this[s.body.type](s.body,o)},"ForInStatement"),ForOfStatement:Hft,DebuggerStatement(s,o){o.write("debugger;",s)},FunctionDeclaration:Gft=t(function(s,o){o.write((s.async?"async ":"")+(s.generator?"function* ":"function ")+(s.id?s.id.name:""),s),LM(o,s.params),o.write(" "),this[s.body.type](s.body,o)},"FunctionDeclaration"),FunctionExpression:Gft,VariableDeclaration(s,o){x4e(o,s),o.write(";")},VariableDeclarator(s,o){this[s.id.type](s.id,o),s.init!=null&&(o.write(" = "),this[s.init.type](s.init,o))},ClassDeclaration(s,o){if(o.write("class "+(s.id?`${s.id.name} `:""),s),s.superClass){o.write("extends ");let{superClass:f}=s,{type:d}=f,y=o.expressionsPrecedence[d];(d[0]!=="C"||d[1]!=="l"||d[5]!=="E")&&(y===LE||y<o.expressionsPrecedence.ClassExpression)?(o.write("("),this[s.superClass.type](f,o),o.write(")")):this[f.type](f,o),o.write(" ")}this.ClassBody(s.body,o)},ImportDeclaration(s,o){o.write("import ");let{specifiers:f,attributes:d}=s,{length:y}=f,E=0;if(y>0){for(;E<y;){E>0&&o.write(", ");let P=f[E],F=P.type[6];if(F==="D")o.write(P.local.name,P),E++;else if(F==="N")o.write("* as "+P.local.name,P),E++;else break}if(E<y){for(o.write("{");;){let P=f[E],{name:F}=P.imported;if(o.write(F,P),F!==P.local.name&&o.write(" as "+P.local.name),++E<y)o.write(", ");else break}o.write("}")}o.write(" from ")}if(this.Literal(s.source,o),d&&d.length>0){o.write(" with { ");for(let P=0;P<d.length;P++)this.ImportAttribute(d[P],o),P<d.length-1&&o.write(", ");o.write(" }")}o.write(";")},ImportAttribute(s,o){this.Identifier(s.key,o),o.write(": "),this.Literal(s.value,o)},ImportExpression(s,o){o.write("import("),this[s.source.type](s.source,o),o.write(")")},ExportDefaultDeclaration(s,o){o.write("export default "),this[s.declaration.type](s.declaration,o),o.expressionsPrecedence[s.declaration.type]!=null&&s.declaration.type[0]!=="F"&&o.write(";")},ExportNamedDeclaration(s,o){if(o.write("export "),s.declaration)this[s.declaration.type](s.declaration,o);else{o.write("{");let{specifiers:f}=s,{length:d}=f;if(d>0)for(let y=0;;){let E=f[y],{name:P}=E.local;if(o.write(P,E),P!==E.exported.name&&o.write(" as "+E.exported.name),++y<d)o.write(", ");else break}if(o.write("}"),s.source&&(o.write(" from "),this.Literal(s.source,o)),s.attributes&&s.attributes.length>0){o.write(" with { ");for(let y=0;y<s.attributes.length;y++)this.ImportAttribute(s.attributes[y],o),y<s.attributes.length-1&&o.write(", ");o.write(" }")}o.write(";")}},ExportAllDeclaration(s,o){if(s.exported!=null?o.write("export * as "+s.exported.name+" from "):o.write("export * from "),this.Literal(s.source,o),s.attributes&&s.attributes.length>0){o.write(" with { ");for(let f=0;f<s.attributes.length;f++)this.ImportAttribute(s.attributes[f],o),f<s.attributes.length-1&&o.write(", ");o.write(" }")}o.write(";")},MethodDefinition(s,o){s.static&&o.write("static ");let f=s.kind[0];(f==="g"||f==="s")&&o.write(s.kind+" "),s.value.async&&o.write("async "),s.value.generator&&o.write("*"),s.computed?(o.write("["),this[s.key.type](s.key,o),o.write("]")):this[s.key.type](s.key,o),LM(o,s.value.params),o.write(" "),this[s.value.body.type](s.value.body,o)},ClassExpression(s,o){this.ClassDeclaration(s,o)},ArrowFunctionExpression(s,o){o.write(s.async?"async ":"",s);let{params:f}=s;f!=null&&(f.length===1&&f[0].type[0]==="I"?o.write(f[0].name,f[0]):LM(o,s.params)),o.write(" => "),s.body.type[0]==="O"?(o.write("("),this.ObjectExpression(s.body,o),o.write(")")):this[s.body.type](s.body,o)},ThisExpression(s,o){o.write("this",s)},Super(s,o){o.write("super",s)},RestElement:Yft=t(function(s,o){o.write("..."),this[s.argument.type](s.argument,o)},"RestElement"),SpreadElement:Yft,YieldExpression(s,o){o.write(s.delegate?"yield*":"yield"),s.argument&&(o.write(" "),this[s.argument.type](s.argument,o))},AwaitExpression(s,o){o.write("await ",s),Fle(o,s.argument,s)},TemplateLiteral(s,o){let{quasis:f,expressions:d}=s;o.write("`");let{length:y}=d;for(let P=0;P<y;P++){let F=d[P],J=f[P];o.write(J.value.raw,J),o.write("${"),this[F.type](F,o),o.write("}")}let E=f[f.length-1];o.write(E.value.raw,E),o.write("`")},TemplateElement(s,o){o.write(s.value.raw,s)},TaggedTemplateExpression(s,o){Fle(o,s.tag,s),this[s.quasi.type](s.quasi,o)},ArrayExpression:Xft=t(function(s,o){if(o.write("["),s.elements.length>0){let{elements:f}=s,{length:d}=f;for(let y=0;;){let E=f[y];if(E!=null&&this[E.type](E,o),++y<d)o.write(", ");else{E==null&&o.write(", ");break}}}o.write("]")},"ArrayExpression"),ArrayPattern:Xft,ObjectExpression(s,o){let f=o.indent.repeat(o.indentLevel++),{lineEnd:d,writeComments:y}=o,E=f+o.indent;if(o.write("{"),s.properties.length>0){o.write(d),y&&s.comments!=null&&R1(o,s.comments,E,d);let P=","+d,{properties:F}=s,{length:J}=F;for(let V=0;;){let Te=F[V];if(y&&Te.comments!=null&&R1(o,Te.comments,E,d),o.write(E),this[Te.type](Te,o),++V<J)o.write(P);else break}o.write(d),y&&s.trailingComments!=null&&R1(o,s.trailingComments,E,d),o.write(f+"}")}else y?s.comments!=null?(o.write(d),R1(o,s.comments,E,d),s.trailingComments!=null&&R1(o,s.trailingComments,E,d),o.write(f+"}")):s.trailingComments!=null?(o.write(d),R1(o,s.trailingComments,E,d),o.write(f+"}")):o.write("}"):o.write("}");o.indentLevel--},Property(s,o){s.method||s.kind[0]!=="i"?this.MethodDefinition(s,o):(s.shorthand||(s.computed?(o.write("["),this[s.key.type](s.key,o),o.write("]")):this[s.key.type](s.key,o),o.write(": ")),this[s.value.type](s.value,o))},PropertyDefinition(s,o){if(s.static&&o.write("static "),s.computed&&o.write("["),this[s.key.type](s.key,o),s.computed&&o.write("]"),s.value==null){s.key.type[0]!=="F"&&o.write(";");return}o.write(" = "),this[s.value.type](s.value,o),o.write(";")},ObjectPattern(s,o){if(o.write("{"),s.properties.length>0){let{properties:f}=s,{length:d}=f;for(let y=0;this[f[y].type](f[y],o),++y<d;)o.write(", ")}o.write("}")},SequenceExpression(s,o){LM(o,s.expressions)},UnaryExpression(s,o){if(s.prefix){let{operator:f,argument:d,argument:{type:y}}=s;o.write(f);let E=Qft(o,d,s);!E&&(f.length>1||y[0]==="U"&&(y[1]==="n"||y[1]==="p")&&d.prefix&&d.operator[0]===f&&(f==="+"||f==="-"))&&o.write(" "),E?(o.write(f.length>1?" (":"("),this[y](d,o),o.write(")")):this[y](d,o)}else this[s.argument.type](s.argument,o),o.write(s.operator)},UpdateExpression(s,o){s.prefix?(o.write(s.operator),this[s.argument.type](s.argument,o)):(this[s.argument.type](s.argument,o),o.write(s.operator))},AssignmentExpression(s,o){this[s.left.type](s.left,o),o.write(" "+s.operator+" "),this[s.right.type](s.right,o)},AssignmentPattern(s,o){this[s.left.type](s.left,o),o.write(" = "),this[s.right.type](s.right,o)},BinaryExpression:Kft=t(function(s,o){let f=s.operator==="in";f&&o.write("("),Fle(o,s.left,s,!1),o.write(" "+s.operator+" "),Fle(o,s.right,s,!0),f&&o.write(")")},"BinaryExpression"),LogicalExpression:Kft,ConditionalExpression(s,o){let{test:f}=s,d=o.expressionsPrecedence[f.type];d===LE||d<=o.expressionsPrecedence.ConditionalExpression?(o.write("("),this[f.type](f,o),o.write(")")):this[f.type](f,o),o.write(" ? "),this[s.consequent.type](s.consequent,o),o.write(" : "),this[s.alternate.type](s.alternate,o)},NewExpression(s,o){o.write("new ");let f=o.expressionsPrecedence[s.callee.type];f===LE||f<o.expressionsPrecedence.CallExpression||Xpr(s.callee)?(o.write("("),this[s.callee.type](s.callee,o),o.write(")")):this[s.callee.type](s.callee,o),LM(o,s.arguments)},CallExpression(s,o){let f=o.expressionsPrecedence[s.callee.type];f===LE||f<o.expressionsPrecedence.CallExpression?(o.write("("),this[s.callee.type](s.callee,o),o.write(")")):this[s.callee.type](s.callee,o),s.optional&&o.write("?."),LM(o,s.arguments)},ChainExpression(s,o){this[s.expression.type](s.expression,o)},MemberExpression(s,o){let f=o.expressionsPrecedence[s.object.type];f===LE||f<o.expressionsPrecedence.MemberExpression?(o.write("("),this[s.object.type](s.object,o),o.write(")")):this[s.object.type](s.object,o),s.computed?(s.optional&&o.write("?."),o.write("["),this[s.property.type](s.property,o),o.write("]")):(s.optional?o.write("?."):o.write("."),this[s.property.type](s.property,o))},MetaProperty(s,o){o.write(s.meta.name+"."+s.property.name,s)},Identifier(s,o){o.write(s.name,s)},PrivateIdentifier(s,o){o.write(`#${s.name}`,s)},Literal(s,o){s.raw!=null?o.write(s.raw,s):s.regex!=null?this.RegExpLiteral(s,o):s.bigint!=null?o.write(s.bigint+"n",s):o.write(Gpr(s.value),s)},RegExpLiteral(s,o){let{regex:f}=s;o.write(`/${f.pattern}/${f.flags}`,s)}},Qpr={};var E4e=class{static{t(this,"State")}constructor(o){let f=o??Qpr;this.output="",f.output!=null?(this.output=f.output,this.write=this.writeToStream):this.output="",this.generator=f.generator!=null?f.generator:Zpr,this.expressionsPrecedence=f.expressionsPrecedence!=null?f.expressionsPrecedence:Ypr,this.indent=f.indent!=null?f.indent:" ",this.lineEnd=f.lineEnd!=null?f.lineEnd:`
|
|
602
602
|
`,this.indentLevel=f.startingIndentLevel!=null?f.startingIndentLevel:0,this.writeComments=f.comments?f.comments:!1,f.sourceMap!=null&&(this.write=f.output==null?this.writeAndMap:this.writeToStreamAndMap,this.sourceMap=f.sourceMap,this.line=1,this.column=0,this.lineEndSize=this.lineEnd.split(`
|
|
603
603
|
`).length-1,this.mapping={original:null,generated:this,name:void 0,source:f.sourceMap.file||f.sourceMap._file})}write(o){this.output+=o}writeToStream(o){this.output.write(o)}writeAndMap(o,f){this.output+=o,this.map(o,f)}writeToStreamAndMap(o,f){this.output.write(o),this.map(o,f)}map(o,f){if(f!=null){let{type:E}=f;if(E[0]==="L"&&E[2]==="n"){this.column=0,this.line++;return}if(f.loc!=null){let{mapping:P}=this;P.original=f.loc.start,P.name=f.name,this.sourceMap.addMapping(P)}if(E[0]==="T"&&E[8]==="E"||E[0]==="L"&&E[1]==="i"&&typeof f.value=="string"){let{length:P}=o,{column:F,line:J}=this;for(let V=0;V<P;V++)o[V]===`
|
|
604
|
-
`?(F=0,J++):F++;this.column=F,this.line=J;return}}let{length:d}=o,{lineEnd:y}=this;d>0&&(this.lineEndSize>0&&(y.length===1?o[d-1]===y:o.endsWith(y))?(this.line+=this.lineEndSize,this.column=0):this.column+=d)}toString(){return this.output}};function e_t(s,o){let f=new E4e(o);return f.generator[s.type](s,f),f.output}t(e_t,"generate");async function C4e({oasFiles:s,sourceDirectory:o,logger:f}){let d=await rdr({oasFiles:s,sourceDirectory:o,logger:f});return e_t(d)}t(C4e,"generateRawRouteSource");async function rdr({oasFiles:s,sourceDirectory:o,logger:f}){let d=new bI(o,f),y=[];for(let P of s){let F=tdr.basename(P,".oas.json"),J=await d.resolve(P),V=[],Te=new Map,de=await edr.readFile(P,"utf-8"),ae=JSON.parse(de);for(let Ye in ae.paths){let Ue=ae.paths[Ye],je=Ue.parameters||[],Kt={};Ue.summary&&(Kt.pathSummary=Ue.summary),Ue.description&&(Kt.pathDescription=Ue.description),Ue.servers&&(Kt.pathServers=Ue.servers);for(let Ut in Ue){if(!ile(Ut))continue;let kr=Ue[Ut],An=[...je,...kr.parameters||[]],nn={...kr,...An.length>0&&{parameters:An},...Kt,...kr.description&&{description:kr.description.length>350?`${kr.description.substring(0,350).trim()}...`:kr.description}},Pn=AV(F,Ye,Ut),wr=Lle(P,F,nn,J,V,Te);y.unshift(r_t(Pn,wr))}}y.unshift(...ndr(F,J,V,Te).reverse())}return{type:"Program",body:y,sourceType:"module"}}t(rdr,"generateAst");function Lle(s,o,f,d,y,E){let P=[];for(let F in f){let J=f[F];if(F==="$ref")return wV(s,o,KN(s,J),d,y,E),{type:"Identifier",name:n_t(o,E.get(KN(s,J)))};let V;switch(typeof J){case"string":case"number":case"boolean":V={type:"Literal",value:J};break;default:Array.isArray(J)?V=t_t(J,s,o,d,y,E):typeof J=="object"&&J!==null&&(V=Lle(s,o,J,d,y,E));break}if(V){let Te=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(F),de=Te?{type:"Identifier",name:F}:{type:"Literal",value:F};P.push({type:"Property",key:de,value:V,kind:"init",method:!1,shorthand:!1,computed:!Te})}}return{type:"ObjectExpression",properties:P}}t(Lle,"processNode");function t_t(s,o,f,d,y,E){return{type:"ArrayExpression",elements:s.map(P=>{if(Array.isArray(P))return t_t(P,o,f,d,y,E);if(typeof P=="object"&&P!==null){let F=Lle(o,f,P,d,y,E);return F.type==="Identifier"?F:{type:"ObjectExpression",properties:F.properties||[]}}else return{type:"Literal",value:P}})}}t(t_t,"processArray");function r_t(s,o){return{type:"ExportNamedDeclaration",declaration:{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:s},init:o}],kind:"var"},specifiers:[],source:null}}t(r_t,"createExportedConstAssignment");function ndr(s,o,f,d){let y=[];for(let E=0;E<f.length;E++){let P=n_t(s,E),F=o.get(f[E]),J=Lle(Noe(f[E]),s,F,o,f,d);y.push(r_t(P,J))}return y}t(ndr,"generateRefs");function n_t(s,o){return`${JP(s)}__ref__${o}`}t(n_t,"getRefIdentifierName");import i_t from"node:path";var s_t=t(s=>{let o=null;if(s.value.type==="Object"&&s.value.members.length>0)for(let f of s.value.members){let d=s_t(f);if(d!==null&&(o=d),f.name.value==="enum"&&f.value.type==="Array"&&f.value.elements.length===0){let y=f.value,E=y.loc.start.line,P=y.loc.start.column,F=y.loc.end.column;o={line:E,column:P,length:F-P,lineText:""}}}return o},"findEmptyEnums"),idr=t(s=>{if(s.startsWith("schema with key or id")&&s.endsWith("already exists"))return"Update your schema's '$id' to be unique across your project.";if(s.includes("All JSON schemas must use version 2020-12"))return"All JSON schemas must use version 2020-12. See release notes for changes: https://json-schema.org/draft/2020-12/release-notes.html";if(s==='"nullable" cannot be used without "type"')return'Property "nullable" can only be used when property "type" value is "object".';if(s==='NOT SUPPORTED: keyword "id", use "$id" for schema ID')return'Replace keyword "id" with "$id" when defining a schema Id.';if(s.startsWith("can't resolve reference http"))return"Cannot resolve remote references, try adding them directly to the schema file or as a schema file in the project.";if(s.startsWith("can't resolve reference"))return"Make sure all references are defined in the schema.";if(s.includes("oneOf must NOT have fewer than 1 items"))return'Property "oneOf" must have at least 1 item configured.';if(s.includes("enum must have non-empty array"))return'Property "enum" must be configured with at least one value.';if(s.includes("Unexpected")&&s.includes("in JSON at position"))return"Update your schema to only use valid properties."},"getSuggestions"),k4e=t(async(s,o,f)=>{if(!s)return null;let d={file:i_t.join(qPe,s),suggestion:idr(f)},y=i_t.join(o,qPe),E=tu.safePath(o).resolve(y,s),P=await Poe(E);if(f.includes("enum must have non-empty array")){if(P){let F=await kV(P);if(F&&F.body.members!==null)for(let J of F.body.members){let V=s_t(J);V&&V!==null&&(d=Object.assign(d??{},V))}if(d){let J=d.line?d.line:0;d.lineText=CV(P,J)}}}else if(f.includes("Unexpected")&&f.includes("in JSON at position")&&P){let F=await kV(P);F&&"lineText"in F&&(d=Object.assign(d??{},F))}return d},"getLocation");import*as K_t from"esbuild";import q4e,{dirname as H_t}from"node:path";import{fileURLToPath as G_t}from"node:url";var w4e=class{static{t(this,"Environment")}get DEV_SERVER_PORT(){return process.env.DEV_SERVER_PORT?parseInt(process.env.DEV_SERVER_PORT,10):3e3}get DEBUG_BUILD_MODE(){return!!process.env.DEBUG_BUILD_MODE}get USE_MONOREPO_PACKAGES(){return process.env.USE_MONOREPO_PACKAGES==="true"}get EXPERIMENTAL_CODEGEN(){return!!process.env.EXPERIMENTAL_CODEGEN}get NODE_ENV(){return process.env.NODE_ENV}isProduction(){return this.NODE_ENV==="production"}isLocalDevelopment(){return process.env.ZUPLO_IS_LOCAL_DEVELOPMENT==="true"}},sdr=new w4e,km=sdr;var D4e="no-remote-module";function a_t({logger:s}){return{name:D4e,async setup(o){o.onResolve({filter:/^https?:\/\//},f=>(s.error(f,"User attempted to load a remote module"),{errors:[{text:`Remote modules are not supported. Attempted to load module ${f.path}`,detail:"InvalidRemoteModule",pluginName:D4e,location:{line:0,column:0,file:""}}],pluginName:D4e}))}}}t(a_t,"blockRemoteModulePlugin");import o_t from"node:path";var c_t="legacy-environment",l_t="legacy-environment",adr=`import { environment } from "@zuplo/runtime";
|
|
604
|
+
`?(F=0,J++):F++;this.column=F,this.line=J;return}}let{length:d}=o,{lineEnd:y}=this;d>0&&(this.lineEndSize>0&&(y.length===1?o[d-1]===y:o.endsWith(y))?(this.line+=this.lineEndSize,this.column=0):this.column+=d)}toString(){return this.output}};function e_t(s,o){let f=new E4e(o);return f.generator[s.type](s,f),f.output}t(e_t,"generate");async function C4e({oasFiles:s,sourceDirectory:o,logger:f}){let d=await rdr({oasFiles:s,sourceDirectory:o,logger:f});return e_t(d)}t(C4e,"generateRawRouteSource");async function rdr({oasFiles:s,sourceDirectory:o,logger:f}){let d=new bI(o,f),y=[];for(let P of s){let F=tdr.basename(P,".oas.json"),J=await d.resolve(P),V=[],Te=new Map,de=await edr.readFile(P,"utf-8"),ae=JSON.parse(de);for(let Ye in ae.paths){let Ue=ae.paths[Ye],je=Ue.parameters||[],Kt={};Ue.summary&&(Kt.pathSummary=Ue.summary),Ue.description&&(Kt.pathDescription=Ue.description),Ue.servers&&(Kt.pathServers=Ue.servers);for(let Ut in Ue){if(!ile(Ut))continue;let kr=Ue[Ut],An=[...je,...kr.parameters||[]],nn={...kr,...An.length>0&&{parameters:An},...Kt,...kr.description&&{description:kr.description.length>350?`${kr.description.substring(0,350).trim()}...`:kr.description}},Pn=AV(F,Ye,Ut),wr=Lle(P,F,nn,J,V,Te);y.unshift(r_t(Pn,wr))}}y.unshift(...ndr(F,J,V,Te).reverse())}return{type:"Program",body:y,sourceType:"module"}}t(rdr,"generateAst");function Lle(s,o,f,d,y,E){let P=[];for(let F in f){let J=f[F];if(F==="$ref")return wV(s,o,KN(s,J),d,y,E),{type:"Identifier",name:n_t(o,E.get(KN(s,J)))};let V;switch(typeof J){case"string":case"number":case"boolean":V={type:"Literal",value:J};break;default:Array.isArray(J)?V=t_t(J,s,o,d,y,E):typeof J=="object"&&J!==null&&(V=Lle(s,o,J,d,y,E));break}if(V){let Te=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(F),de=Te?{type:"Identifier",name:F}:{type:"Literal",value:F};P.push({type:"Property",key:de,value:V,kind:"init",method:!1,shorthand:!1,computed:!Te})}}return{type:"ObjectExpression",properties:P}}t(Lle,"processNode");function t_t(s,o,f,d,y,E){return{type:"ArrayExpression",elements:s.map(P=>{if(Array.isArray(P))return t_t(P,o,f,d,y,E);if(typeof P=="object"&&P!==null){let F=Lle(o,f,P,d,y,E);return F.type==="Identifier"?F:{type:"ObjectExpression",properties:F.properties||[]}}else return{type:"Literal",value:P}})}}t(t_t,"processArray");function r_t(s,o){return{type:"ExportNamedDeclaration",declaration:{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:s},init:o}],kind:"var"},specifiers:[],source:null,attributes:[]}}t(r_t,"createExportedConstAssignment");function ndr(s,o,f,d){let y=[];for(let E=0;E<f.length;E++){let P=n_t(s,E),F=o.get(f[E]),J=Lle(Noe(f[E]),s,F,o,f,d);y.push(r_t(P,J))}return y}t(ndr,"generateRefs");function n_t(s,o){return`${JP(s)}__ref__${o}`}t(n_t,"getRefIdentifierName");import i_t from"node:path";var s_t=t(s=>{let o=null;if(s.value.type==="Object"&&s.value.members.length>0)for(let f of s.value.members){let d=s_t(f);if(d!==null&&(o=d),f.name.value==="enum"&&f.value.type==="Array"&&f.value.elements.length===0){let y=f.value,E=y.loc.start.line,P=y.loc.start.column,F=y.loc.end.column;o={line:E,column:P,length:F-P,lineText:""}}}return o},"findEmptyEnums"),idr=t(s=>{if(s.startsWith("schema with key or id")&&s.endsWith("already exists"))return"Update your schema's '$id' to be unique across your project.";if(s.includes("All JSON schemas must use version 2020-12"))return"All JSON schemas must use version 2020-12. See release notes for changes: https://json-schema.org/draft/2020-12/release-notes.html";if(s==='"nullable" cannot be used without "type"')return'Property "nullable" can only be used when property "type" value is "object".';if(s==='NOT SUPPORTED: keyword "id", use "$id" for schema ID')return'Replace keyword "id" with "$id" when defining a schema Id.';if(s.startsWith("can't resolve reference http"))return"Cannot resolve remote references, try adding them directly to the schema file or as a schema file in the project.";if(s.startsWith("can't resolve reference"))return"Make sure all references are defined in the schema.";if(s.includes("oneOf must NOT have fewer than 1 items"))return'Property "oneOf" must have at least 1 item configured.';if(s.includes("enum must have non-empty array"))return'Property "enum" must be configured with at least one value.';if(s.includes("Unexpected")&&s.includes("in JSON at position"))return"Update your schema to only use valid properties."},"getSuggestions"),k4e=t(async(s,o,f)=>{if(!s)return null;let d={file:i_t.join(qPe,s),suggestion:idr(f)},y=i_t.join(o,qPe),E=tu.safePath(o).resolve(y,s),P=await Poe(E);if(f.includes("enum must have non-empty array")){if(P){let F=await kV(P);if(F&&F.body.members!==null)for(let J of F.body.members){let V=s_t(J);V&&V!==null&&(d=Object.assign(d??{},V))}if(d){let J=d.line?d.line:0;d.lineText=CV(P,J)}}}else if(f.includes("Unexpected")&&f.includes("in JSON at position")&&P){let F=await kV(P);F&&"lineText"in F&&(d=Object.assign(d??{},F))}return d},"getLocation");import*as K_t from"esbuild";import q4e,{dirname as H_t}from"node:path";import{fileURLToPath as G_t}from"node:url";var w4e=class{static{t(this,"Environment")}get DEV_SERVER_PORT(){return process.env.DEV_SERVER_PORT?parseInt(process.env.DEV_SERVER_PORT,10):3e3}get DEBUG_BUILD_MODE(){return!!process.env.DEBUG_BUILD_MODE}get USE_MONOREPO_PACKAGES(){return process.env.USE_MONOREPO_PACKAGES==="true"}get EXPERIMENTAL_CODEGEN(){return!!process.env.EXPERIMENTAL_CODEGEN}get NODE_ENV(){return process.env.NODE_ENV}isProduction(){return this.NODE_ENV==="production"}isLocalDevelopment(){return process.env.ZUPLO_IS_LOCAL_DEVELOPMENT==="true"}},sdr=new w4e,km=sdr;var D4e="no-remote-module";function a_t({logger:s}){return{name:D4e,async setup(o){o.onResolve({filter:/^https?:\/\//},f=>(s.error(f,"User attempted to load a remote module"),{errors:[{text:`Remote modules are not supported. Attempted to load module ${f.path}`,detail:"InvalidRemoteModule",pluginName:D4e,location:{line:0,column:0,file:""}}],pluginName:D4e}))}}}t(a_t,"blockRemoteModulePlugin");import o_t from"node:path";var c_t="legacy-environment",l_t="legacy-environment",adr=`import { environment } from "@zuplo/runtime";
|
|
605
605
|
export default environment;`;function u_t(s){return{name:"environment",setup(o){o.onResolve({filter:/@app\/environment$/},()=>({namespace:l_t,pluginName:c_t,path:o_t.join(s.sourceDirectory,Ng,"environment.js")})),o.onLoad({filter:/.*/,namespace:l_t},async f=>({contents:adr,loader:"ts",resolveDir:o_t.dirname(f.path),pluginName:c_t}))}}}t(u_t,"environmentPlugin");import Ddr from"node:fs/promises";import ST from"node:path";var C_t=ep(EH(),1),k_t=ep(Gce(),1),w_t=ep(P4e(),1),D_t=ep(M4e(),1);import{performance as jE}from"node:perf_hooks";var GH=[];async function Cdr(s,o){let f=jE.now();try{return await o()}finally{let d=jE.now()-f;GH.push({name:s,duration:d})}}t(Cdr,"timeFn");var kdr={mark:t(s=>{jE.mark(s)},"mark"),measure:t((s,o,f)=>{try{jE.measure(s,o,f)}finally{jE.clearMarks(o),jE.clearMarks(f),jE.clearMeasures(s)}},"measure"),timeFn:Cdr,report:t(()=>{if(GH.length>0){let s=GH.reduce((o,{name:f,duration:d})=>(o[f]=`${d.toFixed(0)}ms`,o),{});console.table(s),GH.length=0}},"report"),getDuration:t(s=>{let o=jE.getEntriesByName(s);if(o.length===0)return 0;let f=o[0].duration;return jE.clearMeasures(s),f},"getDuration"),clear:t(()=>{GH.length=0,jE.clearMarks(),jE.clearMeasures()},"clear")},Ou=kdr;import{writeFile as wdr}from"node:fs/promises";async function Vk(s,o){await tu.mkdirForFilePathIfNotExits(s);let f=await import("prettier"),d=o;try{d=await f.format(o,{parser:"babel"})}catch{}await wdr(s,d,"utf-8")}t(Vk,"writeDebugSourceFile");var Hk="schemas",Mle="json-schema";function P_t(s){return{name:Hk,async setup(o){let f=new k_t.Ajv2020({code:{source:!0},allErrors:!0,strict:!1,verbose:!0,meta:!0}),d=ST.join(s.sourceDirectory,cV),y=[],E=[],P;await Ou.timeFn("Initializing schema validation",async()=>{if((0,D_t.default)(f,{mode:"fast"}),f.opts.code.formats=C_t._`require("ajv-formats/dist/formats").fastFormats`,await tu.dirExists(d)&&(f.addKeyword("faker"),P=(await tu.listFolderContents(d,cV)).sort(),await Promise.all(P.map(async F=>{try{let J=tu.safePath(s.sourceDirectory).resolve(d,F);if(!J.startsWith(d))throw new Error("All schemas must be in the schemas directory");let V=await Ddr.readFile(J,"utf-8");if(V===""||V===void 0)throw new Error(`Schema 'schemas/${F}' is empty and will be ignored.`);let Te=JSON.parse(V);if(Te.$schema&&Te.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error(`Error in ${F}: All JSON schemas must use version 2020-12. See release notes for changes: https://json-schema.org/draft/2020-12/release-notes.html`);if(f.addSchema(Te,F),f.errors?.length){let de=f.errors[0];y.push({id:"json-schema-validation-error",pluginName:Hk,text:`Error: ${de.message}`,location:{file:ST.join(cV,F)},detail:{params:de.params,propertyName:de.propertyName,schemaPath:de.schemaPath,data:de.data}})}}catch(J){if(J.message.endsWith("is empty and will be ignored.")){E.push({id:"empty-json-schema-file",pluginName:Hk,text:`Schema 'schemas/${F}' is empty and will be ignored.`,location:{file:`schemas/${F}`,suggestion:"Add schema details or remove the file from the project."},detail:"EmptyJSONSchemaFile",notes:[{text:`Schema 'schemas/${F}' is empty and will be ignored.`,location:{file:`schemas/${F}`,suggestion:"Add schema details or remove the file from the project."}}]});return}let V=await k4e(F,s.sourceDirectory,J.message);y.push({id:"json-schema-add-error",pluginName:Hk,text:`Error: ${J.message}`,location:V,detail:"InvalidAddSchemaError",notes:[{text:J.message}]})}})),await Promise.all(P.map(async F=>{try{let J=f.getSchema(F);J&&f.compile(J.schema).errors?.forEach(Te=>{y.push({text:`Failed to compile ${F}: ${Te.message}`})})}catch(J){let V=await k4e(F,s.sourceDirectory,J.message);y.push({id:"json-schema-compile-error",pluginName:Hk,text:`The schema file '${F}' is not valid. Error: ${J.message}`,location:V,detail:"InvalidSchemaError",notes:[{text:J.message}]})}})),km.DEBUG_BUILD_MODE)){let F=ST.resolve(s.outputDirectory,cV);await tu.mkdirIfNotExists(F)}}),o.onStart(async()=>{if(P)return{errors:y,warnings:E}}),o.onResolve({filter:/schemas\/.*\.json$/},async F=>Ou.timeFn("Generating JSON schemas...",async()=>{let J=ST.isAbsolute(F.path)?F.path:ST.join(F.resolveDir,F.path);if(F.importer&&F.namespace!=="open-api-routes-json")return{path:J};if(!await tu.fileExists(J)){let V="policies.json";return{errors:[{id:"json-schema-build-error",text:`Unable to resolve reference to '${F.path}' from ${V}`,location:{file:ST.join(F.resolveDir,V),namespace:Mle,line:1,column:0,length:0,lineText:`Invalid JSON schema reference in ${V}`,suggestion:""},detail:"RouteReferenceError",pluginName:Hk,notes:[{text:`Unable to resolve reference to '${F.path}' from ${V}`,location:null}]}],namespace:Mle,path:J,pluginName:Hk}}return{path:J,namespace:Mle,pluginName:Hk}})),o.onLoad({filter:/.*/,namespace:Mle},async F=>Ou.timeFn(`Generating json schema data: ${ST.basename(F.path)}`,async()=>{let J=[],V;try{let Te=ST.relative(d,F.path),de=f.getSchema(Te);if(!de)throw new Error(`Could not load schema at ${F.path}`);V=de.source?.validateCode;let ae=f.compile(de.schema);V=(0,w_t.default)(f,ae)}catch(Te){J.push({pluginName:Hk,text:`Cannot parse project's schemas/${ST.basename(F.path)} file. Error: ${Te.message}`,location:null,notes:[{text:Te.message,location:null}],detail:Te})}if(km.DEBUG_BUILD_MODE&&V){let Te=ST.relative(d,F.path),de=ST.join(s.sourceDirectory,Ng,`${Te}.js`);await Vk(de,V)}return{contents:V,errors:J,pluginName:Hk,resolveDir:ST.dirname(F.path),watchFiles:[F.path]}}))}}}t(P_t,"jsonSchemaPlugin");import{relative as Pdr}from"node:path";var A_t=["node:assert","node:async_hooks","node:buffer","node:crypto","node:diagnostics_channel","node:events","node:path","node:process","node:stream","node:string_decoder","node:util"],Adr="nodejs-compat-plugin";function N_t({sourceDirectory:s}){return{name:Adr,setup(o){let f=new Set;o.onStart(()=>{f.clear()}),o.onResolve({filter:/node:.*/},async({path:d,kind:y,resolveDir:E,...P})=>{let F=`${d}:${y}:${E}:${P.importer}`;if(f.has(F))return;f.add(F);let J=await o.resolve(d,{kind:y,resolveDir:E,importer:P.importer});return J.errors.length>0?A_t.includes(d)||d.includes("/")&&A_t.includes(d.split("/")[0])?{external:!0}:{external:!0,warnings:J.errors.map(Te=>({...Te,location:{file:Pdr(s,P.importer),line:0,column:0,namespace:"",length:0,lineText:"",suggestion:"Remove the imported node module"},detail:`The package "${d}" wasn't found on the file system but is built into node. If this code is executed it will fail.`}))}:J})}}}t(N_t,"nodejsCompatPlugin");import I_t from"node:fs/promises";import BE from"node:path";var TI="open-api-routes-plugin",YH="open-api-routes-json";function O_t(s){return{name:"open-api-routes-plugin",setup(o){o.onResolve({filter:/zuplo:routes$/},f=>({watchFiles:[...j4e(BE.join(s.sourceDirectory,xy),[".oas.json"],!0),BE.join(s.sourceDirectory,xy,noe)],namespace:YH,path:BE.isAbsolute(f.path)?f.path:BE.join(f.resolveDir,f.path),pluginName:TI})),o.onResolve({filter:/^\.\.\/modules\/.*/,namespace:YH},async f=>Ou.timeFn("Generating route data...",async()=>{async function d(){let E=BE.resolve(s.sourceDirectory,"config"),P=await hO(E),F=`$import(.${f.path.replace(/^../,"")})`;return{location:await Gnt(P,F,"Update your route configuration to use code from the 'modules' folder"),originalImportValue:F}}t(d,"getLocation");let y=BE.join(f.resolveDir,`${f.path}.ts`);if(f.path.endsWith(".ts")){let{location:E,originalImportValue:P}=await d();return{errors:[{id:"route-build-error",text:`Invalid handler reference '${P}' in ${E?.file??"OpenAPI file"}. Imports must NOT include the '.ts' file extension.`,location:E,detail:"RouteReferenceError",pluginName:TI}],namespace:YH,path:f.path,pluginName:TI}}else if(!await tu.fileExists(y)){let{location:E,originalImportValue:P}=await d();return{errors:[{id:"route-build-error",text:`Invalid handler reference in route. Unable to resolve reference to '${P}' in ${E?.file??"OpenAPI file"}`,location:E,detail:"RouteReferenceError",pluginName:TI}],namespace:YH,path:f.path,pluginName:TI}}})),o.onLoad({filter:/.*/,namespace:YH},async f=>Ou.timeFn("Generating route.json data",async()=>{let d=BE.resolve(s.sourceDirectory,"config"),y=await hO(d),E=await Promise.all(y.map(async V=>({content:await I_t.readFile(V,"utf-8"),fileName:V}))),P=BE.resolve(d,"policies.json");if(!await tu.fileExists(P))return{errors:[{text:"The project must include a policies file ('/config/policies.json')",detail:"OASPoliciesFileMissing",pluginName:TI,location:{line:0,column:0,file:"/config/policies.json"}}],pluginName:TI};let F={content:await I_t.readFile(P,"utf-8"),fileName:P},J;try{J=await aIe({sourceDirectory:s.sourceDirectory,oasContent:E,policiesContent:F,compatibilityDate:s.config.compatibilityDate,allowDuplicateRoutes:s.config.allowDuplicateRoutes})}catch(V){throw new Error(`Error compiling routes: ${V.message}`)}if(km.DEBUG_BUILD_MODE&&J.content){let V=BE.join(s.sourceDirectory,Ng),Te=BE.resolve(V,"routes.js");await Vk(Te,J.content)}return{contents:J.content,errors:J.errors,pluginName:TI,resolveDir:BE.dirname(f.path),watchFiles:[f.path]}}))}}}t(O_t,"openApiRoutesPlugin");import jle from"node:path";var KH="raw-route-plugin",F_t="raw-route";function L_t(s){return{name:"raw-route-plugin",setup(o){o.onResolve({filter:/zuplo:raw-routes$/},f=>({namespace:F_t,path:f.path,pluginName:KH})),o.onLoad({filter:/.*/,namespace:F_t},async f=>Ou.timeFn("Building route data",async()=>{let d=jle.resolve(s.sourceDirectory,xy);if(!await tu.dirExists(d))return{loader:"js",resolveDir:jle.dirname(f.path),pluginName:KH};let y=await hO(d);try{let E=await C4e({oasFiles:y,sourceDirectory:s.sourceDirectory,logger:s.logger});if(km.DEBUG_BUILD_MODE&&E){let P=jle.join(s.sourceDirectory,Ng,"raw-routes.js");await Vk(P,E)}return{contents:E,loader:"js",resolveDir:jle.dirname(f.path),pluginName:KH}}catch(E){if(E instanceof k1)return{contents:"",loader:"ts",errors:[{id:"route-build-error",text:E.issue.text,location:E.issue.location,detail:E.issue.detail,pluginName:KH}],pluginName:KH};throw E}}))}}}t(L_t,"rawRoutePlugin");import Ndr from"node:fs/promises";import R_t from"node:path";var Ble="runtime-extensions-plugin",M_t="runtime-extensions";function j_t(s){return{name:Ble,setup(o){o.onResolve({filter:/zuplo:runtime-extension$/},f=>({namespace:M_t,path:f.path,pluginName:Ble})),o.onLoad({filter:/.*/,namespace:M_t},async()=>Ou.timeFn("Generating zuplo.runtime.ts data",async()=>{let f="export const runtimeInit = undefined;",d=R_t.resolve(s.sourceDirectory,srt,"zuplo.runtime.ts"),y=[];return await tu.fileExists(d)?(f=await Ndr.readFile(d,"utf-8"),{contents:f,loader:"ts",resolveDir:R_t.dirname(d),errors:y,pluginName:Ble,watchFiles:[d]}):{contents:f,loader:"ts",errors:y,pluginName:Ble}}))}}}t(j_t,"runtimeExtensionsPlugin");import B_t from"node:path";import{readFile as Idr}from"node:fs/promises";import xI from"node:path";var jM=class extends Error{static{t(this,"DevPortalConfigError")}filename;constructor(o,f){super(o,f),this.name="DevPortalConfigError",this.filename=f?.filename}};async function B4e(s){let o=["zudoku.config.tsx","zudoku.config.ts","zudoku.config.js","zudoku.config.jsx","zudoku.config.mjs"];for(;o.length;){let P=o.pop();if(P){let F=xI.join("docs",P),J=xI.join(s,F);try{if(await tu.fileExists(J))return{enabled:!0,type:"zudoku",basePath:void 0,filepath:F}}catch(V){throw new jM("Failed to read dev portal configuration file.",{cause:V,filename:F})}}}let f=xI.join(xy,ort),d=xI.join(s,f),y=!0,E;if(await tu.fileExists(d)){try{let P=await Idr(d,"utf-8"),F=JSON.parse(P);F.enabled===!1&&(y=!1),E=F.sitePathname}catch(P){throw new jM("Failed to parse dev-portal.json file.",{cause:P,filename:f})}return{enabled:y,type:"legacy",basePath:E,filepath:f}}return{enabled:!1,type:void 0,basePath:void 0,filepath:void 0}}t(B4e,"getDevPortalConfig");function BM(s,o){let f=xI.resolve(s,uO);return Object.keys(o?.outputs??{}).map(E=>{let P=xI.normalize(E);return`./${xI.relative(f,P).split(xI.sep).join("/")}`})}t(BM,"getBuildModules");var U_t="/docs",Odr="/__zuplo/dev-portal";function Fdr(s){let o=s.trim().toLowerCase();return o.endsWith("/")&&(o=o.slice(0,-1)),o}t(Fdr,"normalizePathname");function Ldr(s,o){let d={developerPortal:{basePath:s?.basePath===Odr?U_t:s?.basePath?Fdr(s.basePath):U_t,enabled:s?s.enabled??!0:!1,type:s?.type??void 0,urls:s?.urls?{defaultUrl:s.urls.defaultUrl,urls:s.urls.urls.map(E=>new URL(E).origin)}:void 0},api:o};return`const runtimeSettings = ${JSON.stringify(d)};
|
|
606
606
|
export default runtimeSettings;`}t(Ldr,"generateSource");var XH="runtime-settings-plugin",Ule="runtime-settings";function z_t(s){return{name:XH,setup(o){o.onResolve({filter:/zuplo:runtime-settings$/},f=>({namespace:Ule,path:f.path,pluginName:XH})),o.onLoad({filter:/.*/,namespace:Ule},async()=>Ou.timeFn("Generating runtime settings",async()=>{let f=[],d,y;try{let F=await B4e(s.sourceDirectory);y=F.filepath,d={...F,urls:s.urls?.devPortal}}catch(F){let J="Failed to load dev portal config",V="config/dev-portal.json";F instanceof jM&&(J=F.message,V=F.filename??V),f.push({id:"dev-portal-build-error",text:J,location:{file:V,namespace:Ule,line:1,column:0,length:0,lineText:"",suggestion:""},detail:"DevPortalValidationError",pluginName:XH,notes:[{text:F.message,location:null}]})}let E={urls:s.urls?.api},P;try{if(P=Ldr(d,E),km.DEBUG_BUILD_MODE&&P){let F=B_t.join(s.sourceDirectory,Ng,"dev-portal.js");await Vk(F,P)}}catch(F){f.push({id:"dev-portal-build-error",text:F.message,location:{file:"dev-portal.json",namespace:Ule,line:1,column:0,length:0,lineText:"issue",suggestion:""},detail:"DevPortalValidationError",pluginName:XH,notes:[{text:F.message,location:null}]})}return{contents:P,errors:f,pluginName:XH,loader:"js",resolveDir:y?B_t.dirname(y):void 0}}))}}}t(z_t,"runtimeSettingsPlugin");import W4e from"node:fs/promises";import $O from"node:path";var J_t=ep(EH(),1),z4e=ep(Gce(),1),$4e=ep(P4e(),1),W_t=ep(M4e(),1);var U4e="schema-validation-plugin",$_t="schema-validation",Rdr="module.exports = {}";function q_t(s){return{name:"schema-validation-plugin",setup(o){o.onResolve({filter:/zuplo:schema-validations$/},f=>({namespace:$_t,path:f.path,pluginName:U4e})),o.onLoad({filter:/.*/,namespace:$_t},async()=>Ou.timeFn("Validating schemas",async()=>{let f=$O.resolve(s.sourceDirectory,xy,"policies.json");if(!await tu.fileExists(f))return{contents:Rdr,loader:"js",resolveDir:$O.dirname(f),pluginName:U4e};let d=await jdr(s.sourceDirectory),y=$O.resolve(s.sourceDirectory,xy),E=await hO(y),P=await $dr(E,d),F=await Mdr({oasFiles:E,routesWithSchemaValidation:P,sourceDirectory:s.sourceDirectory,logger:s.logger});if(km.DEBUG_BUILD_MODE&&F){let J=$O.join(s.sourceDirectory,Ng,"schema-validation.js");await Vk(J,F)}return{contents:F,loader:"js",resolveDir:$O.dirname(f),pluginName:U4e}}))}}}t(q_t,"schemaValidationPlugin");async function Mdr({oasFiles:s,routesWithSchemaValidation:o,sourceDirectory:f,logger:d}){let y="",E=new bI(f,d);if(o.length===0)return y;let P={code:{source:!0},allErrors:!0,strict:!1,verbose:!0,meta:!0},F=new z4e.Ajv2020(P),J=new z4e.Ajv2020({...P,coerceTypes:"array"});(0,W_t.default)(J,{mode:"fast"}),J.opts.code.formats=J_t._`require("ajv-formats/dist/formats").fastFormats`;for(let V of s){let Te=await W4e.readFile(V,"utf-8"),de=$O.basename(V,".oas.json"),ae=o.filter(Ut=>Ut.fileName===de),Ye=await E.resolve(V),Ue=JSON.parse(Te),je=[],Kt=new Map;ae.forEach(Ut=>{let kr=Ue.paths[Ut.path][Ut.method];if(kr.requestBody){let An;if(kr.requestBody.$ref){let nn=kr.requestBody.$ref;An=Ye.get(nn)?.content}else kr.requestBody.content&&(An=kr.requestBody.content);if(An)for(let nn in An){let Pn=An[nn].schema,wr=eAe(Ut.path,Ut.method,nn);Pn.$id=wr,F.addSchema(Pn),J4e(Pn,V,de,F,Ye,je,Kt)}}if(kr.parameters)for(let An of kr.parameters){let nn=An.$ref?Ye.get(An.$ref):An,Pn=nn.schema.$ref?Ye.get(nn.schema.$ref):nn.schema,wr=QPe(Ut.path,Ut.method,nn.in,nn.name);Pn.$id=wr,J.addSchema(Pn),J4e(nn,V,de,J,Ye,je,Kt)}});for(let Ut of je){let kr=Ye.get(Ut),An=NV(de,Ut);F.addSchema(kr,An),J.addSchema(kr,An)}}return y=`"use strict";
|
|
607
607
|
const __paramExports = (function () {
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{Z as i,a as n}from"./chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
import{Z as i,a as n}from"./chunk-JAEQKE5H.js";var g=(o=>(o.Build="build-data",o.CorsPreflight="cors-preflight",o.DeveloperPortal="developer-portal",o.ZudokuPortal="zudoku-portal",o.DeveloperPortalLegacy="developer-portal-legacy",o.EmptyGatewayCatchall="empty-gateway-catchall",o.Ping="ping",o.UnmatchedPath="unmatched-path",o))(g||{});var p=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function l(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!p.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):e.startsWith("ZUDOKU_")?!e.startsWith("ZUDOKU_PUBLIC_"):!1}n(l,"isRestrictedEnvVariableName");function _(e){return!!e.startsWith("ZUPLO_")}n(_,"isZuploReadableEnvVariableName");var u=new Proxy({},{get(e,t){let r=String(t);switch(r){case"ZUPLO_ENVIRONMENT_TYPE":return i.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return i.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return i.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return i.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return i.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return i.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return i.instance.build.COMPATIBILITY_DATE}if(!(l(r)&&!_(r)))return i.instance.runtime[r]}});function f(e,t,r){return`_${a(`${e}_${t}_${r}`)}`}n(f,"getRawOperationDataIdentifierName");function L(e,t,r,s){return`_${a(e.toLowerCase())}_${t.toLowerCase()}_${r.toLowerCase()}_${s.toLowerCase()}`}n(L,"getIdForParameterSchema");function E(e,t,r){return`_${a(e.toLowerCase())}_${t.toLowerCase()}_rb_${a(r.toLowerCase())}`}n(E,"getIdForRequestBodySchema");function C(e,t){return`_${a(e)}_${a(t)}`}n(C,"getIdForRefSchema");function a(e){let t=e.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(t)||(t=`_${t}`),t}n(a,"sanitizedIdentifierName");export{g as a,l as b,_ as c,u as d,f as e,L as f,E as g,C as h,a as i};
|
|
26
|
+
//# sourceMappingURL=chunk-GDWI24KD.js.map
|
|
@@ -32,6 +32,6 @@ var ge=Object.create;var S=Object.defineProperty;var _e=Object.getOwnPropertyDes
|
|
|
32
32
|
`))):u=e.stylize("[Circular]","special")),ee(s)){if(l&&o.match(/^\d+$/))return u;s=JSON.stringify(""+o),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}r(z,"formatProperty");function Qe(e,t){if(ee(t))return e.stylize("undefined","undefined");if(te(t)){let n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(Je(t))return e.stylize(""+t,"number");if(qe(t))return e.stylize(""+t,"boolean");if(ne(t))return e.stylize("null","null")}r(Qe,"formatPrimitive");function et(e,t,n){let i=0;return e.reduce(function(l,s){return i++,s.indexOf(`
|
|
33
33
|
`)>=0&&i++,l+s.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(t===""?"":t+`
|
|
34
34
|
`)+" "+e.join(`,
|
|
35
|
-
`)+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}r(et,"reduceToSingleString");var oe=r((e,...t)=>X(x,e,t),"format");var $=class{static{r(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,n){this.manager=t,this.ns=n,this.color=K(n),this.last=0,this.enabled=t.enabled.some(i=>i.test(n))}log(...t){if(!this.enabled)return;let n,i=t[0];typeof i=="function"?n=i():n=String(i);let o=Date.now()-(this.last||Date.now());n=oe(n,...t);let l=`${this.color(this.ns)} ${n} ${this.color(`+${o}ms`)}`;console.log(l),this.last=Date.now()}},k=class{static{r(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function tt(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}r(tt,"extract");var U;function ie(e){let t=globalThis.DEBUG;U||(U=new k(tt(t)));let n=new $(U,e);return U.debuggers.set(e,n),Object.assign(n.log.bind(n),{self:n})}r(ie,"debug");function nt(e){if(e.length>=255)throw new TypeError("Alphabet too long");let t=new Uint8Array(256);for(let c=0;c<t.length;c++)t[c]=255;for(let c=0;c<e.length;c++){let a=e.charAt(c),m=a.charCodeAt(0);if(t[m]!==255)throw new TypeError(a+" is ambiguous");t[m]=c}let n=e.length,i=e.charAt(0),o=Math.log(n)/Math.log(256),l=Math.log(256)/Math.log(n);function s(c){if(c instanceof Uint8Array||(ArrayBuffer.isView(c)?c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength):Array.isArray(c)&&(c=Uint8Array.from(c))),!(c instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(c.length===0)return"";let a=0,m=0,_=0,g=c.length;for(;_!==g&&c[_]===0;)_++,a++;let E=(g-_)*l+1>>>0,h=new Uint8Array(E);for(;_!==g;){let d=c[_],y=0;for(let A=E-1;(d!==0||y<m)&&A!==-1;A--,y++)d+=256*h[A]>>>0,h[A]=d%n>>>0,d=d/n>>>0;if(d!==0)throw new Error("Non-zero carry");m=y,_++}let p=E-m;for(;p!==E&&h[p]===0;)p++;let O=i.repeat(a);for(;p<E;++p)O+=e.charAt(h[p]);return O}r(s,"encode");function u(c){if(typeof c!="string")throw new TypeError("Expected String");if(c.length===0)return new Uint8Array;let a=0,m=0,_=0;for(;c[a]===i;)m++,a++;let g=(c.length-a)*o+1>>>0,E=new Uint8Array(g);for(;c[a];){let d=t[c.charCodeAt(a)];if(d===255)return;let y=0;for(let A=g-1;(d!==0||y<_)&&A!==-1;A--,y++)d+=n*E[A]>>>0,E[A]=d%256>>>0,d=d/256>>>0;if(d!==0)throw new Error("Non-zero carry");_=y,a++}let h=g-_;for(;h!==g&&E[h]===0;)h++;let p=new Uint8Array(m+(g-h)),O=m;for(;h!==g;)p[O++]=E[h++];return p}r(u,"decodeUnsafe");function f(c){let a=u(c);if(a)return a;throw new Error("Non-base"+n+" character")}return r(f,"decode"),{encode:s,decodeUnsafe:u,decode:f}}r(nt,"base");var se=nt;var rt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",ce=se(rt);var L=ie("zuplo:runtime:external-service");function ot(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=R.instance.runtime;if(t&&t!=="undefined")try{let n=atob(t);e=JSON.parse(n)}catch{}return e}r(ot,"getServiceAuth");async function le(e,t){let n=".proxy",i=".tunnel";if(typeof e=="string"){let o=new URL(e),l=o.hostname;if(l.endsWith(n)){let p=l.slice(0,-n.length),O=new URL(`http://${p}${o.pathname}${o.search}`);L(`Routing to proxy: ${O.toString()}`);let d=t??{};return P(O.toString(),d)}let s=l.endsWith(i),u=l.indexOf(".")===-1;if(!(s||u))throw new b(`Invalid service hostname suffix: ${l}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let c=s?l.slice(0,-i.length):l,a=ot();if(!a)throw L("There is no external service auth configured for this zup."),new b("There are no external services configured for this zup.");L(`Using external service auth. ClientId: ${a.clientId})`);let m=t??{},_=new Headers(m.headers||{});_.set("CF-Access-Client-Id",a.clientId),_.set("CF-Access-Client-Secret",a.clientSecret),m.headers=_;let g;if(a.customServiceMapping?.[c])g=`https://${a.customServiceMapping[c]}`;else if(R.instance.useLegacyServiceRouting)g=`https://${c}.zuptunnel.com`;else{L("Using sha256 service routing");let p=R.instance.build;if(p.ACCOUNT_NAME&&p.PROJECT_NAME&&p.ENVIRONMENT_TYPE){let O=await it(c,p.ACCOUNT_NAME,p.PROJECT_NAME,p.ENVIRONMENT_TYPE),d=ae(p.ENVIRONMENT_TYPE),y=await G(`${p.ACCOUNT_NAME}-${p.PROJECT_NAME}-${d}`);y==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||y==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?g=`https://${O}.zuptunnel.com`:g=`https://${O}.t.zuplo.app`}else throw L("Cannot use sha256 service routing, missing build variables"),new b("Failed to generate fully qualified tunnel url.")}let E=new URL(`${g}${o.pathname}${o.search}`);L(`Calling external service: ${E.toString()}`);let h=await P(E.toString(),m);if(h.status===403&&h.headers.get("cf-access-domain")!==null)throw w.console.error("403 Forbidden when calling external service.",{clientId:a.clientId,tunnelHost:g}),new b("Could not connect to secure tunnel.");return h}else throw L("Cannot call external service with Request object"),new b("Currently, we only support fetch(<some_string>, ...).")}r(le,"externalServiceHandler");async function ue(e,t){if(typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},l=`http://${i}.zuplo.svc.cluster.local:9000`,s=new URL(`${l}${n.pathname}${n.search}`),u=new Headers(o.headers||{});return u.set(N,i),o.headers=u,await P(s.toString(),o)}else throw new b("Currently, we only support fetch(<some_string>, ...).")}r(ue,"clusterServiceHandler");async function it(e,t,n,i){let o=e.toLowerCase(),l=t.toLowerCase(),s=n.toLowerCase(),u=ae(i);L(`Hashing service name: ${l}-${o}.${l}-${s}-${u}`);let f=await G(`${l}-${o}`),c=await G(`${l}-${s}-${u}`);return`${f}.${c}`}r(it,"hashServiceName");async function G(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(l=>l.toString(16).padStart(2,"0")).join("").slice(0,-1)}r(G,"hashSegment");function ae(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}r(ae,"sanitizeEnvironmentType");var B=new Map;B.set("service:",le);B.set("local:",ue);var P=globalThis.fetch;function V(e,t){let{transformedInit:n,mtlsCertificate:i}=st(t);if(typeof e=="string"){let o=new URL(e),l=B.get(o.protocol);return l?l(e,n):fe(e,n,i)}else return fe(e,n,i)}r(V,"internalFetch");globalThis.fetch=V;function fe(e,t,n){if(!n)return P(e,t);if(R.instance.isCloudflare){let o=R.instance.runtime[n];if(!o)throw new Error(`mTLS certificate binding '${n}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof o!="object"||typeof o.fetch!="function")throw new Error(`mTLS certificate binding '${n}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return o.fetch(e,t)}else if(R.instance.isDeno){let i=globalThis.managedDedicatedMtlsBindings?.[n];if(!i)throw new Error(`mTLS certificate binding '${n}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof i.fetch!="function")throw new Error(`mTLS certificate binding '${n}' is not a valid mTLS certificate binding.`);return i.fetch(e,t)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}r(fe,"performFetch");var st=r(e=>{if(!e||e instanceof Request)return{transformedInit:e,mtlsCertificate:void 0};let t=e;if(!t.zuplo)return{transformedInit:e,mtlsCertificate:void 0};let n=t.zuplo.mtlsCertificate,i=e;return i.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,{transformedInit:e,mtlsCertificate:n}},"transformInit");var ct={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:V},w=ct;var Y="2025-02-06",pe=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function de(){return new R({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:Y,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:pe[Y]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"mock-bucket-id"}})}r(de,"getMockEnvironment");var R=class e{static{r(this,"Environment")}config;static#e;static#t=!1;static initialize(t){e.#e||(e.#e=new e(t),e.#t=!0)}static get instance(){return e.#t||(w.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),e.#e=de()),e.#e}constructor({build:t,runtime:n}){let i;try{if(n.ZUPLO_SYSTEM_CONFIGURATIONS){let o=new TextDecoder().decode(ce.decode(n.ZUPLO_SYSTEM_CONFIGURATIONS)),l=JSON.parse(o);for(let s of Object.keys(l))n[s]||(n[s]=l[s])}if(n.__ZUPLO_CONFIG){let o=atob(n.__ZUPLO_CONFIG);i=JSON.parse(o)}}catch(o){w.console.error("Failed to parse runtime configuration",o)}this.config=i??{},this.build=t,this.runtime=n,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let t=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&t}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let t=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,n=this.config.rate_limit_service_timeout_ms,i=t??n;if(!i)return 500;let o=Number(i);return Number.isFinite(o)&&o>0?o:500}};export{r as a,lt as b,ut as c,at as d,ft as e,pt as f,ie as g,gt as h,Re as i,Oe as j,ye as k,_t as l,ht as m,mt as n,be as o,Ae as p,xe as q,Le as r,Te as s,Et as t,Rt as u,Ot as v,yt as w,bt as x,At as y,xt as z,Lt as A,Tt as B,It as C,Ie as D,Se as E,Pe as F,we as G,Ce as H,Ue as I,Ne as J,De as K,He as L,Me as M,ve as N,St as O,N as P,ze as Q,Pt as R,wt as S,Ct as T,Ut as U,Ht as V,q as W,b as X,W as Y,R as Z,w as _};
|
|
36
|
-
/*! For license information please see chunk-
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
`)+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}r(et,"reduceToSingleString");var oe=r((e,...t)=>X(x,e,t),"format");var $=class{static{r(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,n){this.manager=t,this.ns=n,this.color=K(n),this.last=0,this.enabled=t.enabled.some(i=>i.test(n))}log(...t){if(!this.enabled)return;let n,i=t[0];typeof i=="function"?n=i():n=String(i);let o=Date.now()-(this.last||Date.now());n=oe(n,...t);let l=`${this.color(this.ns)} ${n} ${this.color(`+${o}ms`)}`;console.log(l),this.last=Date.now()}},k=class{static{r(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function tt(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}r(tt,"extract");var U;function ie(e){let t=globalThis.DEBUG;U||(U=new k(tt(t)));let n=new $(U,e);return U.debuggers.set(e,n),Object.assign(n.log.bind(n),{self:n})}r(ie,"debug");function nt(e){if(e.length>=255)throw new TypeError("Alphabet too long");let t=new Uint8Array(256);for(let c=0;c<t.length;c++)t[c]=255;for(let c=0;c<e.length;c++){let a=e.charAt(c),m=a.charCodeAt(0);if(t[m]!==255)throw new TypeError(a+" is ambiguous");t[m]=c}let n=e.length,i=e.charAt(0),o=Math.log(n)/Math.log(256),l=Math.log(256)/Math.log(n);function s(c){if(c instanceof Uint8Array||(ArrayBuffer.isView(c)?c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength):Array.isArray(c)&&(c=Uint8Array.from(c))),!(c instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(c.length===0)return"";let a=0,m=0,_=0,g=c.length;for(;_!==g&&c[_]===0;)_++,a++;let E=(g-_)*l+1>>>0,h=new Uint8Array(E);for(;_!==g;){let d=c[_],y=0;for(let A=E-1;(d!==0||y<m)&&A!==-1;A--,y++)d+=256*h[A]>>>0,h[A]=d%n>>>0,d=d/n>>>0;if(d!==0)throw new Error("Non-zero carry");m=y,_++}let p=E-m;for(;p!==E&&h[p]===0;)p++;let O=i.repeat(a);for(;p<E;++p)O+=e.charAt(h[p]);return O}r(s,"encode");function u(c){if(typeof c!="string")throw new TypeError("Expected String");if(c.length===0)return new Uint8Array;let a=0,m=0,_=0;for(;c[a]===i;)m++,a++;let g=(c.length-a)*o+1>>>0,E=new Uint8Array(g);for(;c[a];){let d=t[c.charCodeAt(a)];if(d===255)return;let y=0;for(let A=g-1;(d!==0||y<_)&&A!==-1;A--,y++)d+=n*E[A]>>>0,E[A]=d%256>>>0,d=d/256>>>0;if(d!==0)throw new Error("Non-zero carry");_=y,a++}let h=g-_;for(;h!==g&&E[h]===0;)h++;let p=new Uint8Array(m+(g-h)),O=m;for(;h!==g;)p[O++]=E[h++];return p}r(u,"decodeUnsafe");function f(c){let a=u(c);if(a)return a;throw new Error("Non-base"+n+" character")}return r(f,"decode"),{encode:s,decodeUnsafe:u,decode:f}}r(nt,"base");var se=nt;var rt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",ce=se(rt);var L=ie("zuplo:runtime:external-service");function ot(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=R.instance.runtime;if(t&&t!=="undefined")try{let n=atob(t);e=JSON.parse(n)}catch{}return e}r(ot,"getServiceAuth");async function le(e,t){let n=".proxy",i=".tunnel";if(typeof e=="string"){let o=new URL(e),l=o.hostname;if(l.endsWith(n)){let p=l.slice(0,-n.length),O=new URL(`http://${p}${o.pathname}${o.search}`);L(`Routing to proxy: ${O.toString()}`);let d=t??{};return P(O.toString(),d)}let s=l.endsWith(i),u=l.indexOf(".")===-1;if(!(s||u))throw new b(`Invalid service hostname suffix: ${l}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let c=s?l.slice(0,-i.length):l,a=ot();if(!a)throw L("There is no external service auth configured for this zup."),new b("There are no external services configured for this zup.");L(`Using external service auth. ClientId: ${a.clientId})`);let m=t??{},_=new Headers(m.headers||{});_.set("CF-Access-Client-Id",a.clientId),_.set("CF-Access-Client-Secret",a.clientSecret),m.headers=_;let g;if(a.customServiceMapping?.[c])g=`https://${a.customServiceMapping[c]}`;else if(R.instance.useLegacyServiceRouting)g=`https://${c}.zuptunnel.com`;else{L("Using sha256 service routing");let p=R.instance.build;if(p.ACCOUNT_NAME&&p.PROJECT_NAME&&p.ENVIRONMENT_TYPE){let O=await it(c,p.ACCOUNT_NAME,p.PROJECT_NAME,p.ENVIRONMENT_TYPE),d=ae(p.ENVIRONMENT_TYPE),y=await G(`${p.ACCOUNT_NAME}-${p.PROJECT_NAME}-${d}`);y==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||y==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?g=`https://${O}.zuptunnel.com`:g=`https://${O}.t.zuplo.app`}else throw L("Cannot use sha256 service routing, missing build variables"),new b("Failed to generate fully qualified tunnel url.")}let E=new URL(`${g}${o.pathname}${o.search}`);L(`Calling external service: ${E.toString()}`);let h=await P(E.toString(),m);if(h.status===403&&h.headers.get("cf-access-domain")!==null)throw w.console.error("403 Forbidden when calling external service.",{clientId:a.clientId,tunnelHost:g}),new b("Could not connect to secure tunnel.");return h}else throw L("Cannot call external service with Request object"),new b("Currently, we only support fetch(<some_string>, ...).")}r(le,"externalServiceHandler");async function ue(e,t){if(typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},l=`http://${i}.zuplo.svc.cluster.local:9000`,s=new URL(`${l}${n.pathname}${n.search}`),u=new Headers(o.headers||{});return u.set(N,i),o.headers=u,await P(s.toString(),o)}else throw new b("Currently, we only support fetch(<some_string>, ...).")}r(ue,"clusterServiceHandler");async function it(e,t,n,i){let o=e.toLowerCase(),l=t.toLowerCase(),s=n.toLowerCase(),u=ae(i);L(`Hashing service name: ${l}-${o}.${l}-${s}-${u}`);let f=await G(`${l}-${o}`),c=await G(`${l}-${s}-${u}`);return`${f}.${c}`}r(it,"hashServiceName");async function G(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(l=>l.toString(16).padStart(2,"0")).join("").slice(0,-1)}r(G,"hashSegment");function ae(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}r(ae,"sanitizeEnvironmentType");var B=new Map;B.set("service:",le);B.set("local:",ue);var P=globalThis.fetch;function V(e,t){let{transformedInit:n,mtlsCertificate:i}=st(t);if(typeof e=="string"){let o=new URL(e),l=B.get(o.protocol);return l?l(e,n):fe(e,n,i)}else return fe(e,n,i)}r(V,"internalFetch");globalThis.fetch=V;function fe(e,t,n){if(!n)return P(e,t);if(R.instance.isCloudflare){let o=R.instance.runtime[n];if(!o)throw new Error(`mTLS certificate binding '${n}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof o!="object"||typeof o.fetch!="function")throw new Error(`mTLS certificate binding '${n}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return o.fetch(e,t)}else if(R.instance.isDeno){let i=globalThis.managedDedicatedMtlsBindings?.[n];if(!i)throw new Error(`mTLS certificate binding '${n}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof i.fetch!="function")throw new Error(`mTLS certificate binding '${n}' is not a valid mTLS certificate binding.`);return i.fetch(e,t)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}r(fe,"performFetch");var st=r(e=>{if(!e||e instanceof Request)return{transformedInit:e,mtlsCertificate:void 0};let t=e;if(!t.zuplo)return{transformedInit:e,mtlsCertificate:void 0};let n=t.zuplo.mtlsCertificate,i=e;return i.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,{transformedInit:e,mtlsCertificate:n}},"transformInit");var ct={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:V},w=ct;var Y="2025-02-06",pe=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function de(){return new R({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:Y,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:pe[Y]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}r(de,"getMockEnvironment");var R=class e{static{r(this,"Environment")}config;static#e;static#t=!1;static initialize(t){e.#e||(e.#e=new e(t),e.#t=!0)}static get instance(){return e.#t||(w.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),e.#e=de()),e.#e}constructor({build:t,runtime:n}){let i;try{if(n.ZUPLO_SYSTEM_CONFIGURATIONS){let o=new TextDecoder().decode(ce.decode(n.ZUPLO_SYSTEM_CONFIGURATIONS)),l=JSON.parse(o);for(let s of Object.keys(l))n[s]||(n[s]=l[s])}if(n.__ZUPLO_CONFIG){let o=atob(n.__ZUPLO_CONFIG);i=JSON.parse(o)}}catch(o){w.console.error("Failed to parse runtime configuration",o)}this.config=i??{},this.build=t,this.runtime=n,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let t=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&t}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let t=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,n=this.config.rate_limit_service_timeout_ms,i=t??n;if(!i)return 500;let o=Number(i);return Number.isFinite(o)&&o>0?o:500}};export{r as a,lt as b,ut as c,at as d,ft as e,pt as f,ie as g,gt as h,Re as i,Oe as j,ye as k,_t as l,ht as m,mt as n,be as o,Ae as p,xe as q,Le as r,Te as s,Et as t,Rt as u,Ot as v,yt as w,bt as x,At as y,xt as z,Lt as A,Tt as B,It as C,Ie as D,Se as E,Pe as F,we as G,Ce as H,Ue as I,Ne as J,De as K,He as L,Me as M,ve as N,St as O,N as P,ze as Q,Pt as R,wt as S,Ct as T,Ut as U,Ht as V,q as W,b as X,W as Y,R as Z,w as _};
|
|
36
|
+
/*! For license information please see chunk-JAEQKE5H.js.LEGAL.txt */
|
|
37
|
+
//# sourceMappingURL=chunk-JAEQKE5H.js.map
|