@zuplo/cli 6.71.20 → 6.71.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/node_modules/@posthog/core/dist/error-tracking/exception-steps.d.ts.map +1 -1
  2. package/node_modules/@posthog/core/dist/error-tracking/exception-steps.js +6 -24
  3. package/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs +7 -25
  4. package/node_modules/@posthog/core/dist/featureFlagUtils.d.ts +2 -1
  5. package/node_modules/@posthog/core/dist/featureFlagUtils.d.ts.map +1 -1
  6. package/node_modules/@posthog/core/dist/featureFlagUtils.js +13 -0
  7. package/node_modules/@posthog/core/dist/featureFlagUtils.mjs +11 -1
  8. package/node_modules/@posthog/core/dist/index.d.ts +1 -1
  9. package/node_modules/@posthog/core/dist/index.d.ts.map +1 -1
  10. package/node_modules/@posthog/core/dist/index.js +15 -6
  11. package/node_modules/@posthog/core/dist/index.mjs +2 -2
  12. package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts +2 -0
  13. package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts.map +1 -1
  14. package/node_modules/@posthog/core/dist/posthog-core-stateless.js +34 -8
  15. package/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +35 -9
  16. package/node_modules/@posthog/core/dist/posthog-core.d.ts +5 -0
  17. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  18. package/node_modules/@posthog/core/dist/posthog-core.js +3 -0
  19. package/node_modules/@posthog/core/dist/posthog-core.mjs +4 -1
  20. package/node_modules/@posthog/core/dist/types.d.ts +7 -0
  21. package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
  22. package/node_modules/@posthog/core/dist/utils/string-utils.d.ts +1 -0
  23. package/node_modules/@posthog/core/dist/utils/string-utils.d.ts.map +1 -1
  24. package/node_modules/@posthog/core/dist/utils/string-utils.js +21 -0
  25. package/node_modules/@posthog/core/dist/utils/string-utils.mjs +19 -1
  26. package/node_modules/@posthog/core/package.json +2 -2
  27. package/node_modules/@posthog/core/src/error-tracking/exception-steps.ts +5 -42
  28. package/node_modules/@posthog/core/src/featureFlagUtils.ts +14 -0
  29. package/node_modules/@posthog/core/src/index.ts +7 -1
  30. package/node_modules/@posthog/core/src/posthog-core-stateless.ts +57 -11
  31. package/node_modules/@posthog/core/src/posthog-core.ts +9 -0
  32. package/node_modules/@posthog/core/src/types.ts +7 -0
  33. package/node_modules/@posthog/core/src/utils/string-utils.spec.ts +38 -1
  34. package/node_modules/@posthog/core/src/utils/string-utils.ts +42 -0
  35. package/node_modules/@posthog/types/dist/posthog-config.d.ts +16 -0
  36. package/node_modules/@posthog/types/dist/posthog-config.d.ts.map +1 -1
  37. package/node_modules/@posthog/types/package.json +1 -1
  38. package/node_modules/@posthog/types/src/posthog-config.ts +17 -0
  39. package/node_modules/@zuplo/core/customer.cli.minified.js +2 -2
  40. package/node_modules/@zuplo/core/index.minified.js +2 -2
  41. package/node_modules/@zuplo/core/package.json +1 -1
  42. package/node_modules/@zuplo/graphql/out/esm/index.js +34 -34
  43. package/node_modules/@zuplo/graphql/out/esm/index.js.map +1 -1
  44. package/node_modules/@zuplo/graphql/out/types/index.d.ts +109 -0
  45. package/node_modules/@zuplo/graphql/package.json +1 -1
  46. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  47. package/node_modules/@zuplo/otel/package.json +1 -1
  48. package/node_modules/@zuplo/runtime/out/esm/{chunk-S4J2WCVZ.js → chunk-36XLJ4X6.js} +143 -111
  49. package/node_modules/@zuplo/runtime/out/esm/chunk-36XLJ4X6.js.map +1 -0
  50. package/node_modules/@zuplo/runtime/out/esm/{chunk-DQ4ANJLR.js → chunk-4MNJC7E2.js} +2 -2
  51. package/node_modules/@zuplo/runtime/out/esm/chunk-4MNJC7E2.js.map +1 -0
  52. package/node_modules/@zuplo/runtime/out/esm/{chunk-2Y72LML3.js → chunk-54PA7VDV.js} +2 -2
  53. package/node_modules/@zuplo/runtime/out/esm/{chunk-2Y72LML3.js.map → chunk-54PA7VDV.js.map} +1 -1
  54. package/node_modules/@zuplo/runtime/out/esm/{chunk-L3MZGNQA.js → chunk-DSZS6PZJ.js} +10 -10
  55. package/node_modules/@zuplo/runtime/out/esm/chunk-DSZS6PZJ.js.map +1 -0
  56. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  57. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  58. package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
  59. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  60. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
  61. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  62. package/node_modules/@zuplo/runtime/out/types/index.d.ts +1007 -4
  63. package/node_modules/@zuplo/runtime/package.json +1 -1
  64. package/node_modules/brace-expansion/dist/commonjs/index.js +24 -14
  65. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  66. package/node_modules/brace-expansion/dist/esm/index.js +24 -14
  67. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  68. package/node_modules/brace-expansion/package.json +2 -2
  69. package/node_modules/fast-uri/index.js +1 -1
  70. package/node_modules/fast-uri/package.json +1 -1
  71. package/node_modules/fast-uri/test/security.test.js +28 -0
  72. package/node_modules/range-parser/README.md +13 -12
  73. package/node_modules/range-parser/index.js +27 -8
  74. package/node_modules/range-parser/package.json +12 -8
  75. package/package.json +6 -6
  76. package/node_modules/@zuplo/runtime/out/esm/chunk-DQ4ANJLR.js.map +0 -1
  77. package/node_modules/@zuplo/runtime/out/esm/chunk-L3MZGNQA.js.map +0 -1
  78. package/node_modules/@zuplo/runtime/out/esm/chunk-S4J2WCVZ.js.map +0 -1
  79. /package/node_modules/@zuplo/runtime/out/esm/{chunk-S4J2WCVZ.js.LEGAL.txt → chunk-36XLJ4X6.js.LEGAL.txt} +0 -0
  80. /package/node_modules/@zuplo/runtime/out/esm/{chunk-L3MZGNQA.js.LEGAL.txt → chunk-DSZS6PZJ.js.LEGAL.txt} +0 -0
@@ -568,11 +568,11 @@ globstar while`,s,de,o,ae,He),this.matchOne(s.slice(de),o.slice(ae),f))return th
568
568
  `],[102,"\f"],[114,"\r"],[116," "]]),Poe=new Map([...CV,[118,"\v"],[48,"\0"]]),xXt=new Map([['"','"'],["\\","\\"],["/","/"],["\b","b"],[`
569
569
  `,"n"],["\f","f"],["\r","r"],[" ","t"]]),CCr=new Map([...xXt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),Doe=new Map([["[","LBracket"],["]","RBracket"],["{","LBrace"],["}","RBrace"],[":","Colon"],[",","Comma"],[vXt,"Boolean"],[bXt,"Boolean"],[SXt,"Null"]]),woe=new Map([...Doe,["NaN","Number"],[TXt,"Number"]]),$Pe=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}},JPe=class extends zP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},WPe=class extends zP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},hO=class extends zP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Aoe=class extends zP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},EXt=/[\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]/,CXt=/[\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]/,kXt=13,Wnt=10,qPe=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===kXt?(this.#s=!0,this.peek()===Wnt&&this.#r++):o===Wnt&&(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}},wXt="Infinity",DXt="NaN",PXt=new Set([116,102,110]),VPe=new Set([32,9,10,13]),qnt=new Set([...VPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),AXt={mode:"json",ranges:!1},NXt=new Set(["true","false","null"]),b_={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 zPe(s){return UP(s)||s>=65&&s<=70||s>=97&&s<=102}t(zPe,"isHexDigit");function IXt(s){return s>=49&&s<=57}t(IXt,"isPositiveDigit");function OXt(s){return PXt.has(s)}t(OXt,"isKeywordStart");function Hnt(s){return UP(s)||s===46||s===45}t(Hnt,"isNumberStart");function FXt(s){return Hnt(s)||s===43}t(FXt,"isJSON5NumberStart");function Vnt(s,o){return s===34||o&&s===39}t(Vnt,"isStringStart");function Gnt(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 EXt.test(o)}t(Gnt,"isJSON5IdentifierStart");function LXt(s){if(Gnt(s)||UP(s))return!0;let o=String.fromCharCode(s);return CXt.test(o)}t(LXt,"isJSON5IdentifierPart");var HPe=class{static{t(this,"Tokenizer")}#e;#n;#t;#r;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#n=o,this.#e={...AXt,...f},this.#t=new qPe(o),this.#r=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#r?Poe.has.bind(Poe):CV.has.bind(CV),this.#f=this.#r?$Pe.has.bind($Pe):()=>!1,this.#p=this.#r?d=>d===120:()=>!1,this.#a=this.#r?qnt.has.bind(qnt):VPe.has.bind(VPe)}#i(o,f=this.#t.locate()){throw new JPe(o,f)}#o(o,f=this.#t.locate()){throw new WPe(o,f)}#h(){throw new Aoe(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(),zPe(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(),!LXt(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!==wXt&&d!==DXt&&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(),zPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(zPe(o))}else UP(o)&&this.#i(o);else if(!this.#r||o!==46)for(IXt(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 b_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#r)if(woe.has(d))this.#c=this.#d(woe.get(d),1,f);else if(Gnt(o)){let y=this.#y(o);woe.has(y)?this.#c=this.#d(woe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(FXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Vnt(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(Doe.has(d))this.#c=this.#d(Doe.get(d),1,f);else if(OXt(o)){let y=this.#y(o);NXt.has(y)||this.#o(y,f),this.#c=this.#d(Doe.get(y),y.length,f)}else if(Hnt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Vnt(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 b_[this.#c.type]}get token(){return this.#c}};var lT={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}}},RXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function MXt(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&&Poe.has(F))d+=Poe.get(F),E=y+2;else if(CV.has(F))d+=CV.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&&$Pe.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(MXt,"getStringValue");function jXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return MXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(jXt,"getLiteralValue");function Ynt(s,o){o=Object.freeze({...RXt,...o});let f=[],d=new HPe(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>=b_.LineComment?F():wr}t(F,"nextSkipComments");let J=o.mode==="json"?P:F;function V(wr,yr){if(wr!==yr)throw new hO(d.token)}t(V,"assertTokenType");function Te(wr,yr){if(!yr.includes(wr))throw new hO(d.token)}t(Te,"assertTokenTypes");function de(wr,yr){return o.ranges?{range:[wr.offset,yr.offset]}:void 0}t(de,"createRange");function ae(wr){let yr=d.token,xs=de(yr.loc.start,yr.loc.end),bi=jXt(s.slice(yr.loc.start.offset,yr.loc.end.offset),yr,y),Ci={loc:{start:{...yr.loc.start},end:{...yr.loc.end}},...xs};switch(wr){case b_.String:return lT.string(bi,Ci);case b_.Number:return lT.number(bi,Ci);case b_.Boolean:return lT.boolean(bi,Ci);default:throw new TypeError(`Unknown token type ${yr.type}.`)}}t(ae,"createLiteralNode");function He(wr){let yr=de(wr.loc.start,wr.loc.end),xs=s.slice(wr.loc.start.offset,wr.loc.end.offset),fc={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...yr};if(wr.type!=="Identifier"){let Ci="";return(xs[0]==="+"||xs[0]==="-")&&(Ci=xs[0]),lT[xs.includes("NaN")?"nan":"infinity"](Ci,fc)}return lT.identifier(xs,fc)}t(He,"createJSON5IdentifierNode");function Ue(wr){let yr=de(wr.loc.start,wr.loc.end);return lT.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...yr})}t(Ue,"createNullNode");function je(wr){y?Te(wr,[b_.String,b_.Identifier,b_.Number]):V(wr,b_.String);let yr=d.token,xs=wr===b_.String?ae(wr):He(yr);if(y&&(xs.type==="NaN"||xs.type==="Infinity")){if(xs.sign!=="")throw new hO(d.token);xs=lT.identifier(xs.type,{loc:xs.loc,...de(xs.loc.start,xs.loc.end)})}wr=J(),V(wr,b_.Colon);let bi=Sr(),fc=de(xs.loc.start,bi.loc.end);return lT.member(xs,bi,{loc:{start:{...xs.loc.start},end:{...bi.loc.end}},...fc})}t(je,"parseProperty");function Yt(wr){V(wr,b_.LBrace);let yr=d.token,xs=[],bi=J();if(bi!==b_.RBrace)do{if(xs.push(je(bi)),bi=J(),!bi)throw new Aoe(xs[xs.length-1].loc.end);if(bi===b_.Comma){if(bi=J(),E&&bi===b_.RBrace)break}else break}while(bi);V(bi,b_.RBrace);let fc=d.token,Ci=de(yr.loc.start,fc.loc.end);return lT.object(xs,{loc:{start:{...yr.loc.start},end:{...fc.loc.end}},...Ci})}t(Yt,"parseObject");function zt(wr){V(wr,b_.LBracket);let yr=d.token,xs=[],bi=J();if(bi!==b_.RBracket)do{let bf=Sr(bi);if(xs.push(lT.element(bf,{loc:bf.loc})),bi=J(),bi===b_.Comma){if(bi=J(),E&&bi===b_.RBracket)break}else break}while(bi);V(bi,b_.RBracket);let fc=d.token,Ci=de(yr.loc.start,fc.loc.end);return lT.array(xs,{loc:{start:{...yr.loc.start},end:{...fc.loc.end}},...Ci})}t(zt,"parseArray");function Sr(wr){wr=wr??J();let yr=d.token;switch(wr){case b_.String:case b_.Boolean:return ae(wr);case b_.Number:if(y){let xs=s.slice(yr.loc.start.offset,yr.loc.end.offset);if((xs[0]==="+"||xs[0]==="-")&&(xs=xs.slice(1)),xs==="NaN"||xs==="Infinity")return He(yr)}return ae(wr);case b_.Null:return Ue(yr);case b_.LBrace:return Yt(wr);case b_.LBracket:return zt(wr);default:throw new hO(yr)}}t(Sr,"parseValue");let wn=Sr();if(J())throw new hO(d.token);let Jn={loc:{start:{line:1,column:1,offset:0},end:{...wn.loc.end}}};return o.tokens&&(Jn.tokens=f),o.ranges&&(Jn.range=[Jn.loc.start.offset,Jn.loc.end.offset]),lT.document(wn,Jn)}t(Ynt,"parse");var BXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function Knt(s){return s&&typeof s=="object"}t(Knt,"isObject");function UXt(s){return Knt(s)&&typeof s.type=="string"}t(UXt,"isNode");function zXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of BXt.get(d.type)){let P=d[E];Knt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):UXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(zXt,"traverse");function Xnt(s,o=()=>!0){let f=[];return zXt(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(Xnt,"iterator");import $Xt from"node:fs/promises";var kV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Noe=t(async s=>{try{return await $Xt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),wV=t(async s=>{try{return Ynt(s)}catch(o){if(o.column&&o.line&&o.message){let f=kV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var Znt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Noe(d),E=await JXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),JXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await wV(s);if(E){for(let{node:P}of Xnt(E))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=kV(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 Qnt from"node:fs/promises";import SE from"node:path";var GPe="schemas",YPe=".oas.json";var gO=t(async s=>(await Qnt.readdir(s)).map(f=>SE.join(s,f)).filter(f=>f.endsWith(YPe)).sort(),"getOpenApiFilesByAlphabetical"),W9=t(async s=>{let o=SE.resolve(s,"config");return(await Qnt.readdir(o)).filter(d=>d.endsWith(YPe)).length>=1},"oasFileInProject");function DV(s,o,f,d,y,E,P){if(E.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new P1({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=Ooe(f),V=SE.basename(J,SE.extname(J)),Te=f.indexOf("#"),de=Te>=0?f.substring(0,Te):f,ae=Te>=0?f.substring(Te+1):"",He=d.get(de);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(He=He[je],He===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(He&&typeof He=="object"&&"$ref"in He&&typeof He.$ref=="string"&&!He.$ref.startsWith("#")){let Ue=SE.resolve(SE.dirname(de),He.$ref);if(J=Ue,V=SE.basename(J,SE.extname(J)),de=Ue,E.has(de)){let Yt=E.get(de);if(Yt===void 0)throw new Error(`Expected to find ${de} in refsVisited map`);E.set(f,Yt);return}let je=y.length;E.set(f,je),E.set(de,je),y.push(de),Ioe(J,V,F,d,y,E,P)}else E.set(f,y.length),y.push(f),Ioe(Ooe(f),o,F,d,y,E,P)}t(DV,"chaseRefs");function Ioe(s,o,f,d,y,E,P){if(Array.isArray(f))for(let F of f)Ioe(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)),DV(s,o,KN(s,J),d,y,E,P)}Ioe(s,o,f[F],d,y,E,P)}}t(Ioe,"lookForRefs");function KN(s,o){let f=o.indexOf("#");return f>=0?`${SE.resolve(s,o.substring(0,f))}${o.substring(f)}`:SE.resolve(SE.dirname(s),o)}t(KN,"getFullyQualifiedRefName");function Ooe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Ooe,"getFilePathNameFromRefName");import ole from"node:path";function WXt(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,He=V.length;for(;ae!==He&&V[ae]===0;)ae++,Te++;let Ue=(He-ae)*E+1>>>0,je=new Uint8Array(Ue);for(;ae!==He;){let Sr=V[ae],wn=0;for(let sn=Ue-1;(Sr!==0||wn<de)&&sn!==-1;sn--,wn++)Sr+=256*je[sn]>>>0,je[sn]=Sr%f>>>0,Sr=Sr/f>>>0;if(Sr!==0)throw new Error("Non-zero carry");de=wn,ae++}let Yt=Ue-de;for(;Yt!==Ue&&je[Yt]===0;)Yt++;let zt=d.repeat(Te);for(;Yt<Ue;++Yt)zt+=s.charAt(je[Yt]);return zt}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 He=(V.length-Te)*y+1>>>0,Ue=new Uint8Array(He);for(;V[Te];){let Sr=o[V.charCodeAt(Te)];if(Sr===255)return;let wn=0;for(let sn=He-1;(Sr!==0||wn<ae)&&sn!==-1;sn--,wn++)Sr+=f*Ue[sn]>>>0,Ue[sn]=Sr%256>>>0,Sr=Sr/256>>>0;if(Sr!==0)throw new Error("Non-zero carry");ae=wn,Te++}let je=He-ae;for(;je!==He&&Ue[je]===0;)je++;let Yt=new Uint8Array(de+(He-je)),zt=de;for(;je!==He;)Yt[zt++]=Ue[je++];return Yt}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(WXt,"base");var eit=WXt;var qXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Foe=eit(qXt);var VXt=!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 VXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(V9,"run");function HXt(s){return V9(s,q9([31],39))}t(HXt,"red");function GXt(s){return V9(s,q9([32],39))}t(GXt,"green");function YXt(s){return V9(s,q9([33],39))}t(YXt,"yellow");function KXt(s){return V9(s,q9([34],39))}t(KXt,"blue");function XXt(s){return V9(s,q9([35],39))}t(XXt,"magenta");function ZXt(s){return V9(s,q9([36],39))}t(ZXt,"cyan");var HCr=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 tit=[HXt,GXt,YXt,KXt,XXt,ZXt];function QXt(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(QXt,"hashCode");function rit(s){let o=Math.abs(QXt(s));return tit[o%tit.length]}t(rit,"generateColor");import{inspect as eZt}from"node:util";function nit(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(nit,"format");var iit=t((s,...o)=>nit(eZt,s,o),"format");var KPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=rit(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=iit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},XPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function tZt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(tZt,"extract");var Loe;function Roe(s){Loe||(Loe=new XPe(tZt(process.env.DEBUG)));let o=new KPe(Loe,s);return Loe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Roe,"debug");var sit="zp-local-service";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=Roe("zuplo:runtime:external-service");function rZt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(rZt,"getServiceAuth");async function ait(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Yt=E.slice(0,-f.length),zt=new URL(`http://${Yt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${zt.toString()}`);let Sr=o??{};return PV(zt.toString(),Sr)}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=rZt();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 He;if(Te.customServiceMapping?.[V])He=`https://${Te.customServiceMapping[V]}`;else if(Cm.instance.useLegacyServiceRouting)He=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Yt=Cm.instance.build;if(Yt.ACCOUNT_NAME&&Yt.PROJECT_NAME&&Yt.ENVIRONMENT_TYPE){let zt=await nZt(V,Yt.ACCOUNT_NAME,Yt.PROJECT_NAME,Yt.ENVIRONMENT_TYPE),Sr=cit(Yt.ENVIRONMENT_TYPE),wn=await ZPe(`${Yt.ACCOUNT_NAME}-${Yt.PROJECT_NAME}-${Sr}`);wn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||wn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?He=`https://${zt}.zuptunnel.com`:He=`https://${zt}.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(`${He}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await PV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw AV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:He}),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(ait,"externalServiceHandler");async function oit(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(sit,d),y.headers=F,await PV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(oit,"clusterServiceHandler");async function nZt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=cit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await ZPe(`${E}-${y}`),V=await ZPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(nZt,"hashServiceName");async function ZPe(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(ZPe,"hashSegment");function cit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(cit,"sanitizeEnvironmentType");var QPe=new Map;QPe.set("service:",ait);QPe.set("local:",oit);var PV=globalThis.fetch;function eAe(s,o){let{transformedInit:f,mtlsCertificate:d}=iZt(o);if(typeof s=="string"){let y=new URL(s),E=QPe.get(y.protocol);return E?E(s,f):lit(s,f,d)}else return lit(s,f,d)}t(eAe,"internalFetch");globalThis.fetch=eAe;function lit(s,o,f){if(!f)return PV(s,o);if(Cm.instance.isCloudflare){let y=Cm.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(Cm.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(lit,"performFetch");var iZt=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 sZt={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:eAe},AV=sZt;var tAe="2025-02-06",uit=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 fit(){return new Cm({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:tAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:uit[tAe]},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(fit,"getMockEnvironment");var Cm=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||(AV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e??=fit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Foe.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){AV.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 aZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function _it(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!aZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(_it,"isRestrictedEnvVariableName");function pit(s){return!!s.startsWith("ZUPLO_")}t(pit,"isZuploReadableEnvVariableName");var Lkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Cm.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(_it(f)&&!pit(f)))return Cm.instance.runtime[f]}});function NV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(NV,"getRawOperationDataIdentifierName");function rAe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(rAe,"getIdForParameterSchema");function nAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(nAe,"getIdForRequestBodySchema");function IV(s,o){return`_${JP(s)}_${JP(o)}`}t(IV,"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 sAe={};ztt(sAe,{UnsafePathError:()=>Moe,deleteFolder:()=>bZt,dirExists:()=>iAe,fileExists:()=>uZt,getParentDirFilename:()=>gZt,isNotFileOrDirectory:()=>_Zt,listFolderContents:()=>hit,listFolders:()=>dZt,mkDirTemp:()=>fZt,mkdirForFilePathIfNotExits:()=>mZt,mkdirIfNotExists:()=>git,safePath:()=>hZt,tarFolder:()=>yZt,untarFile:()=>vZt});import{spawn as dit}from"node:child_process";import{randomUUID as oZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as cZt,tmpdir as lZt}from"node:os";import O1 from"node:path";var mit=[".git","node_modules",".yarn",".DS_Store"];async function uZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(uZt,"fileExists");async function fZt(){let s=process.env.BUILD_FILE_PATH??lZt(),o=oZt().replaceAll("-",""),f=O1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(fZt,"mkDirTemp");async function iAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(iAe,"dirExists");async function _Zt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(_Zt,"isNotFileOrDirectory");function pZt(s,o){let f=O1.sep==="\\"?"\\\\":O1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":O1.join(O1.sep,E[1])}t(pZt,"getParentDirectory");async function dZt(s){if(!await iAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)mit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(dZt,"listFolders");async function hit(s,o,f=!0){let d=pZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!mit.includes(P.name)||!f)if(P.isDirectory()){let F=await hit(O1.join(s,P.name),o,f);E.push(...F)}else E.push(O1.join(d,P.name));return E}t(hit,"listFolderContents");var git=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),mZt=t(async s=>{let o=O1.dirname(s);return git(o)},"mkdirForFilePathIfNotExits"),Moe=class extends Error{static{t(this,"UnsafePathError")}};function hZt(s){let o=O1.normalize(s),f=t(d=>{let y=O1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Moe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(O1.resolve(...d)),"resolve")}}t(hZt,"safePath");function gZt(s){return O1.join(O1.basename(O1.dirname(s)),O1.basename(s))}t(gZt,"getParentDirFilename");async function yZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=dit("tar",[...f.flatMap(Te=>["--exclude",Te]),...cZt()!=="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(nit,"format");var iit=t((s,...o)=>nit(eZt,s,o),"format");var KPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=rit(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=iit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},XPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function tZt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(tZt,"extract");var Loe;function Roe(s){Loe||(Loe=new XPe(tZt(process.env.DEBUG)));let o=new KPe(Loe,s);return Loe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Roe,"debug");var sit="zp-local-service";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=Roe("zuplo:runtime:external-service");function rZt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(rZt,"getServiceAuth");async function ait(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Yt=E.slice(0,-f.length),zt=new URL(`http://${Yt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${zt.toString()}`);let Sr=o??{};return PV(zt.toString(),Sr)}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=rZt();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 He;if(Te.customServiceMapping?.[V])He=`https://${Te.customServiceMapping[V]}`;else if(Cm.instance.useLegacyServiceRouting)He=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Yt=Cm.instance.build;if(Yt.ACCOUNT_NAME&&Yt.PROJECT_NAME&&Yt.ENVIRONMENT_TYPE){let zt=await nZt(V,Yt.ACCOUNT_NAME,Yt.PROJECT_NAME,Yt.ENVIRONMENT_TYPE),Sr=cit(Yt.ENVIRONMENT_TYPE),wn=await ZPe(`${Yt.ACCOUNT_NAME}-${Yt.PROJECT_NAME}-${Sr}`);wn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||wn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?He=`https://${zt}.zuptunnel.com`:He=`https://${zt}.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(`${He}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await PV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw AV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:He}),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(ait,"externalServiceHandler");async function oit(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(sit,d),y.headers=F,await PV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(oit,"clusterServiceHandler");async function nZt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=cit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await ZPe(`${E}-${y}`),V=await ZPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(nZt,"hashServiceName");async function ZPe(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(ZPe,"hashSegment");function cit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(cit,"sanitizeEnvironmentType");var QPe=new Map;QPe.set("service:",ait);QPe.set("local:",oit);var PV=globalThis.fetch;function eAe(s,o){let{transformedInit:f,mtlsCertificate:d}=iZt(o);if(typeof s=="string"){let y=new URL(s),E=QPe.get(y.protocol);return E?E(s,f):lit(s,f,d)}else return lit(s,f,d)}t(eAe,"internalFetch");globalThis.fetch=eAe;function lit(s,o,f){if(!f)return PV(s,o);if(Cm.instance.isCloudflare){let y=Cm.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(Cm.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(lit,"performFetch");var iZt=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 sZt={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:eAe},AV=sZt;var tAe="2025-02-06",uit=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 fit(){return new Cm({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:tAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:uit[tAe]},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(fit,"getMockEnvironment");var Cm=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||(AV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e??=fit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Foe.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){AV.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 accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_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 aZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function _it(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!aZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(_it,"isRestrictedEnvVariableName");function pit(s){return!!s.startsWith("ZUPLO_")}t(pit,"isZuploReadableEnvVariableName");var Lkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(_it(f)&&!pit(f)))return Cm.instance.runtime[f]}});function NV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(NV,"getRawOperationDataIdentifierName");function rAe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(rAe,"getIdForParameterSchema");function nAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(nAe,"getIdForRequestBodySchema");function IV(s,o){return`_${JP(s)}_${JP(o)}`}t(IV,"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 sAe={};ztt(sAe,{UnsafePathError:()=>Moe,deleteFolder:()=>bZt,dirExists:()=>iAe,fileExists:()=>uZt,getParentDirFilename:()=>gZt,isNotFileOrDirectory:()=>_Zt,listFolderContents:()=>hit,listFolders:()=>dZt,mkDirTemp:()=>fZt,mkdirForFilePathIfNotExits:()=>mZt,mkdirIfNotExists:()=>git,safePath:()=>hZt,tarFolder:()=>yZt,untarFile:()=>vZt});import{spawn as dit}from"node:child_process";import{randomUUID as oZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as cZt,tmpdir as lZt}from"node:os";import O1 from"node:path";var mit=[".git","node_modules",".yarn",".DS_Store"];async function uZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(uZt,"fileExists");async function fZt(){let s=process.env.BUILD_FILE_PATH??lZt(),o=oZt().replaceAll("-",""),f=O1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(fZt,"mkDirTemp");async function iAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(iAe,"dirExists");async function _Zt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(_Zt,"isNotFileOrDirectory");function pZt(s,o){let f=O1.sep==="\\"?"\\\\":O1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":O1.join(O1.sep,E[1])}t(pZt,"getParentDirectory");async function dZt(s){if(!await iAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)mit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(dZt,"listFolders");async function hit(s,o,f=!0){let d=pZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!mit.includes(P.name)||!f)if(P.isDirectory()){let F=await hit(O1.join(s,P.name),o,f);E.push(...F)}else E.push(O1.join(d,P.name));return E}t(hit,"listFolderContents");var git=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),mZt=t(async s=>{let o=O1.dirname(s);return git(o)},"mkdirForFilePathIfNotExits"),Moe=class extends Error{static{t(this,"UnsafePathError")}};function hZt(s){let o=O1.normalize(s),f=t(d=>{let y=O1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Moe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(O1.resolve(...d)),"resolve")}}t(hZt,"safePath");function gZt(s){return O1.join(O1.basename(O1.dirname(s)),O1.basename(s))}t(gZt,"getParentDirFilename");async function yZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=dit("tar",[...f.flatMap(Te=>["--exclude",Te]),...cZt()!=="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(yZt,"tarFolder");async function vZt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((P,F)=>{let J=dit("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(`
575
- `),exitCode:E},"Untar process logs")}}t(vZt,"untarFile");async function bZt(s){if(await iAe(s))return await ZN.rm(s,{recursive:!0})}t(bZt,"deleteFolder");var eu=sAe;var blt=tp(jst(),1);var Bst=["ai-gateway-semantic-cache-inbound","ai-gateway-semantic-cache-outbound","akamai-ai-firewall","akamai-firewall-for-ai-inbound","akamai-firewall-for-ai-outbound","prompt-injection-outbound","semantic-cache-inbound"];var qV=class{static{t(this,"R")}type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(s,o,f,d,y,E){this.type=s,this.name=o,this.prefix=f,this.value=d,this.suffix=y,this.modifier=E}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},Her=/[$_\p{ID_Start}]/u,Ger=/[$_\u200C\u200D\p{ID_Continue}]/u,BAe=".*";function Yer(s,o){return(o?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(s)}t(Yer,"Re");function $st(s,o=!1){let f=[],d=0;for(;d<s.length;){let y=s[d],E=t(function(P){if(!o)throw new TypeError(P);f.push({type:"INVALID_CHAR",index:d,value:s[d++]})},"c");if(y==="*"){f.push({type:"ASTERISK",index:d,value:s[d++]});continue}if(y==="+"||y==="?"){f.push({type:"OTHER_MODIFIER",index:d,value:s[d++]});continue}if(y==="\\"){f.push({type:"ESCAPED_CHAR",index:d++,value:s[d++]});continue}if(y==="{"){f.push({type:"OPEN",index:d,value:s[d++]});continue}if(y==="}"){f.push({type:"CLOSE",index:d,value:s[d++]});continue}if(y===":"){let P="",F=d+1;for(;F<s.length;){let J=s.substr(F,1);if(F===d+1&&Her.test(J)||F!==d+1&&Ger.test(J)){P+=s[F++];continue}break}if(!P){E(`Missing parameter name at ${d}`);continue}f.push({type:"NAME",index:d,value:P}),d=F;continue}if(y==="("){let P=1,F="",J=d+1,V=!1;if(s[J]==="?"){E(`Pattern cannot start with "?" at ${J}`);continue}for(;J<s.length;){if(!Yer(s[J],!1)){E(`Invalid character '${s[J]}' at ${J}.`),V=!0;break}if(s[J]==="\\"){F+=s[J++]+s[J++];continue}if(s[J]===")"){if(P--,P===0){J++;break}}else if(s[J]==="("&&(P++,s[J+1]!=="?")){E(`Capturing groups are not allowed at ${J}`),V=!0;break}F+=s[J++]}if(V)continue;if(P){E(`Unbalanced pattern at ${d}`);continue}if(!F){E(`Missing pattern at ${d}`);continue}f.push({type:"REGEX",index:d,value:F}),d=J;continue}f.push({type:"CHAR",index:d,value:s[d++]})}return f.push({type:"END",index:d,value:""}),f}t($st,"v");function Jst(s,o={}){let f=$st(s);o.delimiter??="/#?",o.prefixes??="./";let d=`[^${_T(o.delimiter)}]+?`,y=[],E=0,P=0,F="",J=new Set,V=t(wn=>{if(P<f.length&&f[P].type===wn)return f[P++].value},"a"),Te=t(()=>V("OTHER_MODIFIER")??V("ASTERISK"),"f"),de=t(wn=>{let sn=V(wn);if(sn!==void 0)return sn;let{type:Jn,index:wr}=f[P];throw new TypeError(`Unexpected ${Jn} at ${wr}, expected ${wn}`)},"d"),ae=t(()=>{let wn="",sn;for(;sn=V("CHAR")??V("ESCAPED_CHAR");)wn+=sn;return wn},"T"),He=t(wn=>wn,"Se"),Ue=o.encodePart||He,je="",Yt=t(wn=>{je+=wn},"U"),zt=t(()=>{je.length&&(y.push(new qV(3,"","",Ue(je),"",3)),je="")},"$"),Sr=t((wn,sn,Jn,wr,yr)=>{let xs=3;switch(yr){case"?":xs=1;break;case"*":xs=0;break;case"+":xs=2;break}if(!sn&&!Jn&&xs===3){Yt(wn);return}if(zt(),!sn&&!Jn){if(!wn)return;y.push(new qV(3,"","",Ue(wn),"",xs));return}let bi;Jn?Jn==="*"?bi=BAe:bi=Jn:bi=d;let fc=2;bi===d?(fc=1,bi=""):bi===BAe&&(fc=0,bi="");let Ci;if(sn?Ci=sn:Jn&&(Ci=E++),J.has(Ci))throw new TypeError(`Duplicate name '${Ci}'.`);J.add(Ci),y.push(new qV(fc,Ci,Ue(wn),bi,Ue(wr),xs))},"V");for(;P<f.length;){let wn=V("CHAR"),sn=V("NAME"),Jn=V("REGEX");if(!sn&&!Jn&&(Jn=V("ASTERISK")),sn||Jn){let yr=wn??"";o.prefixes.indexOf(yr)===-1&&(Yt(yr),yr=""),zt();let xs=Te();Sr(yr,sn,Jn,"",xs);continue}let wr=wn??V("ESCAPED_CHAR");if(wr){Yt(wr);continue}if(V("OPEN")){let yr=ae(),xs=V("NAME"),bi=V("REGEX");!xs&&!bi&&(bi=V("ASTERISK"));let fc=ae();de("CLOSE");let Ci=Te();Sr(yr,xs,bi,fc,Ci);continue}zt(),de("END")}return y}t(Jst,"D");function _T(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(_T,"S");function Ust(s){return s&&s.ignoreCase?"ui":"u"}t(Ust,"X");function Ker(s,o,f){return Wst(Jst(s,f),o,f)}t(Ker,"Z");function X9(s){switch(s){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}t(X9,"k");function Wst(s,o,f={}){f.delimiter??="/#?",f.prefixes??="./",f.sensitive??=!1,f.strict??=!1,f.end??=!0,f.start??=!0,f.endsWith="";let d=f.start?"^":"";for(let F of s){if(F.type===3){F.modifier===3?d+=_T(F.value):d+=`(?:${_T(F.value)})${X9(F.modifier)}`;continue}o&&o.push(F.name);let J=`[^${_T(f.delimiter)}]+?`,V=F.value;if(F.type===1?V=J:F.type===0&&(V=BAe),!F.prefix.length&&!F.suffix.length){F.modifier===3||F.modifier===1?d+=`(${V})${X9(F.modifier)}`:d+=`((?:${V})${X9(F.modifier)})`;continue}if(F.modifier===3||F.modifier===1){d+=`(?:${_T(F.prefix)}(${V})${_T(F.suffix)})`,d+=X9(F.modifier);continue}d+=`(?:${_T(F.prefix)}`,d+=`((?:${V})(?:`,d+=_T(F.suffix),d+=_T(F.prefix),d+=`(?:${V}))*)${_T(F.suffix)})`,F.modifier===0&&(d+="?")}let y=`[${_T(f.endsWith)}]|$`,E=`[${_T(f.delimiter)}]`;if(f.end)return f.strict||(d+=`${E}?`),f.endsWith.length?d+=`(?=${y})`:d+="$",new RegExp(d,Ust(f));f.strict||(d+=`(?:${E}(?=${y}))?`);let P=!1;if(s.length){let F=s[s.length-1];F.type===3&&F.modifier===3&&(P=f.delimiter.indexOf(F)>-1)}return P||(d+=`(?=${E}|${y})`),new RegExp(d,Ust(f))}t(Wst,"F");var rI={delimiter:"",prefixes:"",sensitive:!0,strict:!0},Xer={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Zer={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function Qer(s,o){return s.length?s[0]==="/"?!0:!o||s.length<2?!1:(s[0]=="\\"||s[0]=="{")&&s[1]=="/":!1}t(Qer,"J");function qst(s,o){return s.startsWith(o)?s.substring(o.length,s.length):s}t(qst,"Q");function etr(s,o){return s.endsWith(o)?s.substr(0,s.length-o.length):s}t(etr,"Ee");function Vst(s){return!s||s.length<2?!1:s[0]==="["||(s[0]==="\\"||s[0]==="{")&&s[1]==="["}t(Vst,"W");var Hst=["ftp","file","http","https","ws","wss"];function Gst(s){if(!s)return!0;for(let o of Hst)if(s.test(o))return!0;return!1}t(Gst,"N");function ttr(s,o){if(s=qst(s,"#"),o||s==="")return s;let f=new URL("https://example.com");return f.hash=s,f.hash?f.hash.substring(1,f.hash.length):""}t(ttr,"te");function rtr(s,o){if(s=qst(s,"?"),o||s==="")return s;let f=new URL("https://example.com");return f.search=s,f.search?f.search.substring(1,f.search.length):""}t(rtr,"re");function ntr(s,o){return o||s===""?s:Vst(s)?Xst(s):Kst(s)}t(ntr,"ne");function itr(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.password=s,f.password}t(itr,"se");function str(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.username=s,f.username}t(str,"ie");function atr(s,o,f){if(f||s==="")return s;if(o&&!Hst.includes(o))return new URL(`${o}:${s}`).pathname;let d=s[0]=="/";return s=new URL(d?s:"/-"+s,"https://example.com").pathname,d||(s=s.substring(2,s.length)),s}t(atr,"ae");function otr(s,o,f){return Yst(o)===s&&(s=""),f||s===""?s:Zst(s)}t(otr,"oe");function ctr(s,o){return s=etr(s,":"),o||s===""?s:UAe(s)}t(ctr,"ce");function Yst(s){switch(s){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}t(Yst,"_");function UAe(s){if(s==="")return s;if(/^[-+.A-Za-z0-9]*$/.test(s))return s.toLowerCase();throw new TypeError(`Invalid protocol '${s}'.`)}t(UAe,"y");function ltr(s){if(s==="")return s;let o=new URL("https://example.com");return o.username=s,o.username}t(ltr,"le");function utr(s){if(s==="")return s;let o=new URL("https://example.com");return o.password=s,o.password}t(utr,"fe");function Kst(s){if(s==="")return s;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(s))throw new TypeError(`Invalid hostname '${s}'`);let o=new URL("https://example.com");return o.hostname=s,o.hostname}t(Kst,"z");function Xst(s){if(s==="")return s;if(/[^0-9a-fA-F[\]:]/g.test(s))throw new TypeError(`Invalid IPv6 hostname '${s}'`);return s.toLowerCase()}t(Xst,"j");function Zst(s){if(s===""||/^[0-9]*$/.test(s)&&parseInt(s)<=65535)return s;throw new TypeError(`Invalid port '${s}'.`)}t(Zst,"K");function ftr(s){if(s==="")return s;let o=new URL("https://example.com");return o.pathname=s[0]!=="/"?"/-"+s:s,s[0]!=="/"?o.pathname.substring(2,o.pathname.length):o.pathname}t(ftr,"he");function _tr(s){return s===""?s:new URL(`data:${s}`).pathname}t(_tr,"ue");function ptr(s){if(s==="")return s;let o=new URL("https://example.com");return o.search=s,o.search.substring(1,o.search.length)}t(ptr,"de");function dtr(s){if(s==="")return s;let o=new URL("https://example.com");return o.hash=s,o.hash.substring(1,o.hash.length)}t(dtr,"pe");var mtr=class{static{t(this,"H")}#e;#n=[];#t={};#r=0;#s=1;#m=0;#c=0;#u=0;#f=0;#p=!1;constructor(s){this.#e=s}get result(){return this.#t}parse(){for(this.#n=$st(this.#e,!0);this.#r<this.#n.length;this.#r+=this.#s){if(this.#s=1,this.#n[this.#r].type==="END"){if(this.#c===0){this.#o(),this.#g()?this.#a(9,1):this.#E()?this.#a(8,1):this.#a(7,0);continue}else if(this.#c===2){this.#h(5);continue}this.#a(10,0);break}if(this.#u>0)if(this.#l())this.#u-=1;else continue;if(this.#A()){this.#u+=1;continue}switch(this.#c){case 0:this.#y()&&this.#h(1);break;case 1:if(this.#y()){this.#D();let s=7,o=1;this.#b()?(s=2,o=3):this.#p&&(s=2),this.#a(s,o)}break;case 2:this.#v()?this.#h(3):(this.#S()||this.#E()||this.#g())&&this.#h(5);break;case 3:this.#C()?this.#a(4,1):this.#v()&&this.#a(5,1);break;case 4:this.#v()&&this.#a(5,1);break;case 5:this.#O()?this.#f+=1:this.#N()&&(this.#f-=1),this.#k()&&!this.#f?this.#a(6,1):this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 6:this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 7:this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 8:this.#g()&&this.#a(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#a(s,o){switch(this.#c){case 0:break;case 1:this.#t.protocol=this.#w();break;case 2:break;case 3:this.#t.username=this.#w();break;case 4:this.#t.password=this.#w();break;case 5:this.#t.hostname=this.#w();break;case 6:this.#t.port=this.#w();break;case 7:this.#t.pathname=this.#w();break;case 8:this.#t.search=this.#w();break;case 9:this.#t.hash=this.#w();break;case 10:break}this.#c!==0&&s!==10&&([1,2,3,4].includes(this.#c)&&[6,7,8,9].includes(s)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#c)&&[8,9].includes(s)&&(this.#t.pathname??=this.#p?"/":""),[1,2,3,4,5,6,7].includes(this.#c)&&s===9&&(this.#t.search??="")),this.#i(s,o)}#i(s,o){this.#c=s,this.#m=this.#r+o,this.#r+=o,this.#s=0}#o(){this.#r=this.#m,this.#s=0}#h(s){this.#o(),this.#c=s}#d(s){return s<0&&(s=this.#n.length-s),s<this.#n.length?this.#n[s]:this.#n[this.#n.length-1]}#_(s,o){let f=this.#d(s);return f.value===o&&(f.type==="CHAR"||f.type==="ESCAPED_CHAR"||f.type==="INVALID_CHAR")}#y(){return this.#_(this.#r,":")}#b(){return this.#_(this.#r+1,"/")&&this.#_(this.#r+2,"/")}#v(){return this.#_(this.#r,"@")}#C(){return this.#_(this.#r,":")}#k(){return this.#_(this.#r,":")}#S(){return this.#_(this.#r,"/")}#E(){if(this.#_(this.#r,"?"))return!0;if(this.#n[this.#r].value!=="?")return!1;let s=this.#d(this.#r-1);return s.type!=="NAME"&&s.type!=="REGEX"&&s.type!=="CLOSE"&&s.type!=="ASTERISK"}#g(){return this.#_(this.#r,"#")}#A(){return this.#n[this.#r].type=="OPEN"}#l(){return this.#n[this.#r].type=="CLOSE"}#O(){return this.#_(this.#r,"[")}#N(){return this.#_(this.#r,"]")}#w(){let s=this.#n[this.#r],o=this.#d(this.#m).index;return this.#e.substring(o,s.index)}#D(){let s={};Object.assign(s,rI),s.encodePart=UAe;let o=Ker(this.#w(),void 0,s);this.#p=Gst(o)}},jAe=["protocol","username","password","hostname","port","pathname","search","hash"],tI="*";function zst(s,o){if(typeof s!="string")throw new TypeError("parameter 1 is not of type 'string'.");let f=new URL(s,o);return{protocol:f.protocol.substring(0,f.protocol.length-1),username:f.username,password:f.password,hostname:f.hostname,port:f.port,pathname:f.pathname,search:f.search!==""?f.search.substring(1,f.search.length):void 0,hash:f.hash!==""?f.hash.substring(1,f.hash.length):void 0}}t(zst,"ge");function HP(s,o){return o?WV(s):s}t(HP,"b");function JV(s,o,f){let d;if(typeof o.baseURL=="string")try{d=new URL(o.baseURL),o.protocol===void 0&&(s.protocol=HP(d.protocol.substring(0,d.protocol.length-1),f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&(s.username=HP(d.username,f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&o.password===void 0&&(s.password=HP(d.password,f)),o.protocol===void 0&&o.hostname===void 0&&(s.hostname=HP(d.hostname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&(s.port=HP(d.port,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&(s.pathname=HP(d.pathname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&(s.search=HP(d.search.substring(1,d.search.length),f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&o.hash===void 0&&(s.hash=HP(d.hash.substring(1,d.hash.length),f))}catch{throw new TypeError(`invalid baseURL '${o.baseURL}'.`)}if(typeof o.protocol=="string"&&(s.protocol=ctr(o.protocol,f)),typeof o.username=="string"&&(s.username=str(o.username,f)),typeof o.password=="string"&&(s.password=itr(o.password,f)),typeof o.hostname=="string"&&(s.hostname=ntr(o.hostname,f)),typeof o.port=="string"&&(s.port=otr(o.port,s.protocol,f)),typeof o.pathname=="string"){if(s.pathname=o.pathname,d&&!Qer(s.pathname,f)){let y=d.pathname.lastIndexOf("/");y>=0&&(s.pathname=HP(d.pathname.substring(0,y+1),f)+s.pathname)}s.pathname=atr(s.pathname,s.protocol,f)}return typeof o.search=="string"&&(s.search=rtr(o.search,f)),typeof o.hash=="string"&&(s.hash=ttr(o.hash,f)),s}t(JV,"w");function WV(s){return s.replace(/([+*?:{}()\\])/g,"\\$1")}t(WV,"C");function htr(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(htr,"Oe");function gtr(s,o){o.delimiter??="/#?",o.prefixes??="./",o.sensitive??=!1,o.strict??=!1,o.end??=!0,o.start??=!0,o.endsWith="";let f=".*",d=`[^${htr(o.delimiter)}]+?`,y=/[$_\u200C\u200D\p{ID_Continue}]/u,E="";for(let P=0;P<s.length;++P){let F=s[P];if(F.type===3){if(F.modifier===3){E+=WV(F.value);continue}E+=`{${WV(F.value)}}${X9(F.modifier)}`;continue}let J=F.hasCustomName(),V=!!F.suffix.length||!!F.prefix.length&&(F.prefix.length!==1||!o.prefixes.includes(F.prefix)),Te=P>0?s[P-1]:null,de=P<s.length-1?s[P+1]:null;if(!V&&J&&F.type===1&&F.modifier===3&&de&&!de.prefix.length&&!de.suffix.length)if(de.type===3){let ae=de.value.length>0?de.value[0]:"";V=y.test(ae)}else V=!de.hasCustomName();if(!V&&!F.prefix.length&&Te&&Te.type===3){let ae=Te.value[Te.value.length-1];V=o.prefixes.includes(ae)}V&&(E+="{"),E+=WV(F.prefix),J&&(E+=`:${F.name}`),F.type===2?E+=`(${F.value})`:F.type===1?J||(E+=`(${d})`):F.type===0&&(!J&&(!Te||Te.type===3||Te.modifier!==3||V||F.prefix!=="")?E+="*":E+=`(${f})`),F.type===1&&J&&F.suffix.length&&y.test(F.suffix[0])&&(E+="\\"),E+=WV(F.suffix),V&&(E+="}"),F.modifier!==3&&(E+=X9(F.modifier))}return E}t(gtr,"ke");var Qst=class{static{t(this,"me")}#e;#n={};#t={};#r={};#s={};#m=!1;constructor(s={},o,f){try{let d;if(typeof o=="string"?d=o:f=o,typeof s=="string"){let F=new mtr(s);if(F.parse(),s=F.result,d===void 0&&typeof s.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");s.baseURL=d}else{if(!s||typeof s!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(d)throw new TypeError("parameter 1 is not of type 'string'.")}typeof f>"u"&&(f={ignoreCase:!1});let y={ignoreCase:f.ignoreCase===!0},E={pathname:tI,protocol:tI,username:tI,password:tI,hostname:tI,port:tI,search:tI,hash:tI};this.#e=JV(E,s,!0),Yst(this.#e.protocol)===this.#e.port&&(this.#e.port="");let P;for(P of jAe){if(!(P in this.#e))continue;let F={},J=this.#e[P];switch(this.#t[P]=[],P){case"protocol":Object.assign(F,rI),F.encodePart=UAe;break;case"username":Object.assign(F,rI),F.encodePart=ltr;break;case"password":Object.assign(F,rI),F.encodePart=utr;break;case"hostname":Object.assign(F,Xer),Vst(J)?F.encodePart=Xst:F.encodePart=Kst;break;case"port":Object.assign(F,rI),F.encodePart=Zst;break;case"pathname":Gst(this.#n.protocol)?(Object.assign(F,Zer,y),F.encodePart=ftr):(Object.assign(F,rI,y),F.encodePart=_tr);break;case"search":Object.assign(F,rI,y),F.encodePart=ptr;break;case"hash":Object.assign(F,rI,y),F.encodePart=dtr;break}try{this.#s[P]=Jst(J,F),this.#n[P]=Wst(this.#s[P],this.#t[P],F),this.#r[P]=gtr(this.#s[P],F),this.#m=this.#m||this.#s[P].some(V=>V.type===2)}catch{throw new TypeError(`invalid ${P} pattern '${this.#e[P]}'.`)}}}catch(d){throw new TypeError(`Failed to construct 'URLPattern': ${d.message}`)}}test(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return!1;try{typeof s=="object"?f=JV(f,s,!1):f=JV(f,zst(s,o),!1)}catch{return!1}let d;for(d of jAe)if(!this.#n[d].exec(f[d]))return!1;return!0}exec(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return;try{typeof s=="object"?f=JV(f,s,!1):f=JV(f,zst(s,o),!1)}catch{return null}let d={};o?d.inputs=[s,o]:d.inputs=[s];let y;for(y of jAe){let E=this.#n[y].exec(f[y]);if(!E)return null;let P={};for(let[F,J]of this.#t[y].entries())if(typeof J=="string"||typeof J=="number"){let V=E[F+1];P[J]=V}d[y]={input:f[y]??"",groups:P}}return d}static compareComponent(s,o,f){let d=t((F,J)=>{for(let V of["type","modifier","prefix","value","suffix"]){if(F[V]<J[V])return-1;if(F[V]!==J[V])return 1}return 0},"o"),y=new qV(3,"","","","",3),E=new qV(0,"","","","",3),P=t((F,J)=>{let V=0;for(;V<Math.min(F.length,J.length);++V){let Te=d(F[V],J[V]);if(Te)return Te}return F.length===J.length?0:d(F[V]??y,J[V]??y)},"s");return!o.#r[s]&&!f.#r[s]?0:o.#r[s]&&!f.#r[s]?P(o.#s[s],[E]):!o.#r[s]&&f.#r[s]?P([E],f.#s[s]):P(o.#s[s],f.#s[s])}get protocol(){return this.#r.protocol}get username(){return this.#r.username}get password(){return this.#r.password}get hostname(){return this.#r.hostname}get port(){return this.#r.port}get pathname(){return this.#r.pathname}get search(){return this.#r.search}get hash(){return this.#r.hash}get hasRegExpGroups(){return this.#m}};globalThis.URLPattern||(globalThis.URLPattern=Qst);import{AssertionError as ytr}from"node:assert";function GP(s,o){if(s===!1)throw new ytr({message:o})}t(GP,"assert");var Wo;(function(s){s.Object="Object",s.Property="Property",s.Array="Array",s.Literal="Literal",s.TemplateString="TemplateString",s.Identifier="Identifier",s.FunctionCall="FunctionCall",s.Raw="Raw"})(Wo||(Wo={}));function Z9(s){return s.type===Wo.Object}t(Z9,"isAstObject");function YP(s){return s.type===Wo.Property}t(YP,"isAstProperty");function zAe(s){return s.type===Wo.Array}t(zAe,"isAstArray");function TO(s){return s.type===Wo.Literal}t(TO,"isAstLiteral");function nI(s){if(s===void 0)throw new Error("Node is undefined");if(!Z9(s))throw new Error("Node is not object")}t(nI,"assertAstObject");import{findNodeAtLocation as vtr,getNodeValue as btr,printParseErrorCode as Str,visit as Ttr}from"jsonc-parser";var xtr={DEFAULT:{allowTrailingComma:!1}};function VV(s,o=[],f=xtr.DEFAULT){let d={type:"array",offset:-1,length:-1,line:-1,column:-1,children:[],parent:void 0};function y(J){d.type==="property"&&(d.length=J-d.offset,d=d.parent)}t(y,"ensurePropertyComplete");function E(J){return d.children?.push(J),J}t(E,"onValue"),Ttr(s,{onObjectBegin:t((J,V,Te)=>{d=E({type:"object",offset:J,length:-1,line:V+1,column:Te+1,parent:d,children:[]})},"onObjectBegin"),onObjectProperty:t((J,V,Te,de,ae)=>{d=E({type:"property",offset:V,length:-1,line:de+1,column:ae+1,parent:d,children:[]}),d.children?.push({type:"string",value:J,offset:V,length:Te,line:de,column:ae,parent:d})},"onObjectProperty"),onObjectEnd:t((J,V)=>{y(J+V),d.length=J+V-d.offset,d=d.parent,y(J+V)},"onObjectEnd"),onArrayBegin:t((J,V,Te,de)=>{d=E({type:"array",offset:J,length:-1,line:Te+1,column:de+1,parent:d,children:[]})},"onArrayBegin"),onArrayEnd:t((J,V)=>{d.length=J+V-d.offset,d=d.parent,y(J+V)},"onArrayEnd"),onLiteralValue:t((J,V,Te,de,ae)=>{E({type:Etr(J),offset:V,length:Te,line:de+1,column:ae+1,parent:d,value:J}),y(V+Te)},"onLiteralValue"),onSeparator:t((J,V)=>{d.type==="property"&&(J===":"?d.colonOffset=V:J===","&&y(V))},"onSeparator"),onError:t((J,V,Te,de,ae)=>{o.push({error:J,offset:V,length:Te,line:de+1,column:ae+1})},"onError")},f);let F=d.children?.[0];return F&&delete F.parent,F}t(VV,"parse");function Etr(s){switch(typeof s){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(s){if(Array.isArray(s))return"array"}else return"null";return"object"}default:return"null"}}t(Etr,"getNodeType");function $Ae(s,o){return vtr(s,o)}t($Ae,"findNodeAtLocation");function HV(s){return btr(s)}t(HV,"getNodeValue");function eat(s){return Str(s)}t(eat,"printParseErrorCode");var GV=class{static{t(this,"AstAdapter")}parse(o){let d=VV(o,[]);if(d)return this.parseNode(d,void 0);throw new Error("Failed to parse JSON")}convert(o){return this.parseNode(o,void 0)}parseNode(o,f){switch(o.type){case"object":return this.createObject(o,f);case"array":return this.createArray(o,f);case"property":return this.createProperty(o,f);case"string":return this.createLiteral(o,f);case"number":return this.createLiteral(o,f);case"boolean":return this.createLiteral(o,f);case"null":return this.createLiteral(o,f)}}createLiteral(o,f){return{type:Wo.Literal,location:{line:o.line,column:o.column},parent:f,value:o.type==="null"?null:o.value}}createObject(o,f){let d={type:Wo.Object,children:[],parent:f,location:{line:o.line,column:o.column}};return o.children?.forEach(y=>{d.children.push(this.parseNode(y,d))}),d}createProperty(o,f){GP(o.children?.length===2,"Invalid property node");let d={type:Wo.Property,location:{line:o.line,column:o.column},parent:f,name:null,value:null};return d.name={value:o.children[0].value,location:{line:o.line,column:o.column},type:Wo.Identifier,parent:d},d.value=this.parseNode(o.children[1],d),d}createArray(o,f){let d={type:Wo.Array,location:{line:o.line,column:o.column},parent:f,children:[]};return o.children?.forEach(y=>d.children.push(this.parseNode(y,d))),d}};var DS={createLiteral:t((s,o)=>({type:Wo.Literal,parent:o,value:s}),"createLiteral"),createTemplateString:t((s,o)=>({type:Wo.TemplateString,parent:o,value:s}),"createTemplateString"),createIdentifier:t((s,o)=>({type:Wo.Identifier,value:s,parent:o}),"createIdentifier"),createProperty:t((s,o,f)=>{let d={type:Wo.Property,parent:f,name:null,value:o};return d.name={value:s,type:Wo.Identifier,parent:d},d.value.parent=d,d},"createProperty"),createArrayOfLiterals:t((s,o)=>{let f={type:Wo.Array,parent:o,children:[]};for(let d of s)f.children.push(DS.createLiteral(d,f));return f},"createArrayOfLiterals")};var Ctr=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,YV=class{static{t(this,"SourceGenerator")}generate(o){let f=[];return this.generateSource(f,o),f.join("")}generateSource(o,f){switch(f.type){case Wo.Array:return this.generateArray(o,f);case Wo.Object:return this.generateObject(o,f);case Wo.Property:return this.generateProperty(o,f);case Wo.Literal:return this.generateLiteral(o,f);case Wo.FunctionCall:return this.generateFunctionCall(o,f);case Wo.Identifier:return this.generateIdentifier(o,f);case Wo.Raw:return this.generateRaw(o,f);case Wo.TemplateString:return this.generateTemplateString(o,f)}}generateArray(o,f){o.push("["),f.children.map(d=>{this.generateSource(o,d),o.push(",")}),o.push("]")}generateObject(o,f){o.push("{"),f.children.forEach(d=>{this.generateSource(o,d),o.push(",")}),o.push("}")}generateProperty(o,f){this.generateIdentifier(o,f.name),o.push(":"),this.generateSource(o,f.value)}generateFunctionCall(o,f){o.push(f.name.value),o.push("("),f.children.forEach((d,y,E)=>{this.generateSource(o,d),y<E.length&&o.push(",")}),o.push(")")}generateRaw(o,f){o.push(f.value)}generateTemplateString(o,f){o.push("`"),o.push(f.value.replaceAll("`","\\`")),o.push("`")}generateLiteral(o,f){if(f.value===null)return o.push("null");switch(typeof f.value){case"number":case"boolean":return o.push(`${f.value}`);case"string":{let d=f.value,y=JSON.stringify(d);return o.push(`${y}`)}}}generateIdentifier(o,f){let d=Ctr.test(f.value)?f.value:`'${f.value}'`;o.push(d)}};import ktr from"node:fs/promises";import{parse as wtr}from"@swc/core";var tat=t(async s=>{let o=new Set;try{let f=await ktr.readFile(s,"utf-8");(await wtr(f,{syntax:"typescript"})).body.forEach(y=>{y.type==="ExportDefaultDeclaration"||y.type==="ExportDefaultExpression"?o.add("default"):y.type==="ExportDeclaration"&&y.declaration.type==="FunctionDeclaration"?o.add(y.declaration.identifier.value):y.type==="ExportDeclaration"&&y.declaration.type==="VariableDeclaration"&&y.declaration.declarations[0].id.type==="Identifier"&&o.add(y.declaration.declarations[0].id.value)})}catch{return null}return o},"getJSFileExports");var rat={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/fragments.schema.json",$defs:{corsPolicyConfiguration:{type:"object",required:["name","allowedOrigins"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},allowCredentials:{type:"boolean"},maxAge:{type:"number"},allowedOrigins:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},allowedMethods:{oneOf:[{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},{type:"string"}]},allowedHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},exposeHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]}}},handlerDefinition:{type:"object",properties:{module:{type:"string",pattern:"^\\$import\\([^ )]*?\\)$"},export:{type:"string"},options:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["module","export"]},httpMethod:{type:"string",enum:["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]}}};var JAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policies.schema.json",title:"Policies Config File",type:"object",additionalProperties:!1,properties:{policies:{type:"array",items:{$ref:"policy-configuration.schema.json"}},corsPolicies:{type:"array",items:{$ref:"fragments.schema.json#/$defs/corsPolicyConfiguration"}}}};var nat={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policy-configuration.schema.json",title:"Policy Configuration Fragment",type:"object",required:["name","policyType","handler"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},policyType:{type:"string"},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},options:{type:"object",additionalProperties:!0}}};var WAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration.schema.json",title:"Route Configuration Fragment",description:"",type:"object",required:["path","methods","handler"],additionalProperties:!1,$defs:{corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"}},properties:{operationId:{type:"string"},path:{type:"string",pattern:"^/[^\\s]*$"},methods:{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},label:{type:"string",description:"An internal user-friendly identifier of the route."},enforceOpenApi:{type:"boolean",description:"If true, schema validation found in the OpenAPI spec will be enforced on requests/responses."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{$ref:"#/$defs/corsPolicy"},custom:{},mcp:{type:"object",additionalProperties:!1,properties:{enabled:{type:"boolean"}}},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},summary:{type:"string"},description:{type:"string"},excludeFromOpenApi:{type:"boolean"},tags:{type:"array",items:{type:"string"}}}};var qAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration-open-api.schema.json",title:"Open API Route Configuration Fragment",description:"These are the properties that can appear under the x-zuplo-route extension in a PathObject in Open API. It's a subset of what can appear in Zuplo's routes.json.",type:"object",required:["handler"],additionalProperties:!1,properties:{label:{type:"string",description:"An internal user-friendly identifier of the route."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"},custom:{},mcp:{oneOf:[{type:"object",additionalProperties:!1,properties:{type:{const:"tool"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"},includeOutputSchema:{type:"boolean"},includeStructuredContent:{type:"boolean"},annotations:{type:"object",additionalProperties:!1,properties:{title:{type:"string"},readOnlyHint:{type:"boolean"},destructiveHint:{type:"boolean"},idempotentHint:{type:"boolean"},openWorldHint:{type:"boolean"}}},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"prompt"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"resource"},name:{type:"string"},description:{type:"string"},uri:{type:"string"},mimeType:{type:"string"},enabled:{type:"boolean"},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"graphql"},enabled:{type:"boolean"},introspectionTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}},executeTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}}},required:["type"]}]},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},tags:{type:"array",items:{type:"string"}}}};var llt=tp(Kce(),1),ult=tp(clt(),1);var Qce=class s{static{t(this,"JsonValidator")}static#e=new s;static get instance(){return s.#e}ajv;constructor(){this.ajv=new llt.Ajv2020({allErrors:!0,allowUnionTypes:!0}),this.ajv.addKeyword("faker"),(0,ult.default)(this.ajv,{mode:"fast"})}addSchema(o,f){this.ajv.addSchema(o,f)}compile(o){let f=this.ajv.compile(o);return t(y=>({isValid:f(y),errors:this.toSimpleErrors(f.errors,y),warnings:[]}),"validator")}toSimpleErrors(o,f){let d=[];return o?.forEach(y=>{y.keyword==="enum"&&y.params.allowedValues&&Array.isArray(y.params.allowedValues)&&(y.message+=`; ${y.params.allowedValues.join(", ")}`),y.instancePath&&(y.instancePath=y.instancePath.replaceAll(/(\/)?(~1)(\/)?/gm,"/"));let E={details:{}},P=y.instancePath.split("/");if(P.length>2){let J=P[1],V=P[2]?parseInt(P[2],10):0,Te=P[3],de=Number.isNaN(V)?void 0:f[J][V][Te];E={details:{property:J,index:V,field:Te,fieldValue:de}}}if(y.keyword==="required"&&y.params.missingProperty&&y.instancePath&&(y.message=`A 'path' is missing required property '${y.params.missingProperty}'`),y.keyword==="additionalProperties"&&y.params.additionalProperty&&y.instancePath&&(y.message=`A 'path' should NOT include property '${y.params.additionalProperty}'`),y.keyword==="type"&&y.params.type&&y.instancePath){let J=y.instancePath.split("/"),V=J[J.length-1];y.message=`Value of property '${V}' must be '${y.params.type}'`}let F=Object.assign(y,E);d.push(F)}),d}};var pI=Qce.instance;pI.addSchema(WAe,"route-configuration.schema.json");pI.addSchema(nat,"policy-configuration.schema.json");pI.addSchema(JAe,"policies.schema.json");pI.addSchema(qAe,"open-api-route-configuration.schema.json");pI.addSchema(rat,"fragments.schema.json");var T6r=pI.compile(WAe),flt=pI.compile(qAe),aIe=pI.compile(JAe);var ele=class{static{t(this,"PoliciesConfigurationValidator")}results;validate(o){return this.results=aIe(o),this.results}};var tle=class{static{t(this,"OpenAPILocalizedValidator")}results;validate(o){return this.results=flt(o),this.results}};import Mcr from"node:path";var oIe=/\$import\((.*)\)/,wH=/\$env\((.*?)\)/g;var zk=class extends Error{static{t(this,"CodeGenError")}location;constructor(o,f,d,y){super(o),this.location={file:f,namespace:"",line:d?d.line:0,column:d?d.column:0,length:0,lineText:y??"",suggestion:""}}},Rcr=t(s=>{let o=[],f=s;for(;f.parent;)o.push(f),f=f.parent;return o.reverse()},"invertTree"),eA=t((s,o)=>{if(!s)return!1;let f=Rcr(s);return o.split("/").every((E,P)=>{let F=f[P];return F?E==="*"||YP(F)&&F.name.value===E?!0:E==="{}"?F.type===Wo.Object:E==="[]"?F.type===Wo.Array:!1:!1})},"testPosition");var rle=class{static{t(this,"AstTransformer")}errors=[];transform(o){return this.visitor(o),o}visitor(o){this.visit(o),Z9(o)?o.children.forEach(f=>{this.visitor(f)}):zAe(o)?o.children.forEach(f=>{this.visitor(f)}):YP(o)&&this.visitor(o.value)}},_lt=t(s=>{let o=new RegExp(wH).exec(s);if(o?.length===2&&o[0]===s)return{type:"raw",value:`environment["${o[1]}"]`};{let f=s.replaceAll(new RegExp(wH),(d,y)=>`\${environment["${y}"] ? environment["${y}"] : ""}`);if(f!==s)return{type:"template",value:f}}return null},"replaceEnvInString"),plt=t((s,o,f)=>d=>{if(TO(d)&&typeof d.value=="string"&&d.parent&&zAe(d.parent)){if(!s.some(P=>eA(d.parent,P))){wH.test(d.value)&&o.push(new zk("An $env() statement is not expected at this location.",f,d.location,d.value));return}let E=_lt(d.value);if(E){let P=d.parent,F=P.children.indexOf(d);if(F!==-1)if(E.type==="raw"){let J={type:Wo.Raw,parent:P,value:E.value};P.children[F]=J}else P.children[F]=DS.createTemplateString(E.value,d)}return}if(!YP(d)||!TO(d.value)||typeof d.value.value!="string")return;if(!s.some(E=>eA(d,E))){wH.test(d.value.value)&&o.push(new zk("An $env() statement is not expected at this location.",f,d.location,d.value.value));return}let y=_lt(d.value.value);if(y)if(y.type==="raw"){let E={type:Wo.Raw,parent:null,value:y.value};d.value=E}else d.value=DS.createTemplateString(y.value,d)},"getEnvStatementTransformer");var DH="config/routes.json",jcr=["handler/{}/options/*","handler/{}/options/*/[]","policies/[]/{}/handler/{}/options/*","policies/[]/{}/handler/{}/options/*/[]","corsPolicies/[]/{}/*","corsPolicies/[]/{}/*/[]"],Bcr=["handler/{}/module","handler/{}/options/{}/policies/{}/inbound/[]/{}/module","handler/{}/options/{}/policies/{}/outbound/[]/{}/module","policies/[]/{}/handler/{}/module","policies/[]/{}/handler/{}/options/{}/identifier/{}/module","policies/[]/{}/handler/{}/options/{}/validator"],dlt=["handler/{}/options/*","policies/[]/{}/handler/{}/options/*"],Ucr="handler/{}/options/{}/rewritePattern",zcr="handler/{}/options/{}/baseUrl",nle=class extends rle{static{t(this,"OpenAPIRoutesFragmentAstTransformer")}importCount=0;addedImports=new Map;getImportName(o){this.addedImports.has(o)||this.addedImports.set(o,`__import${this.importCount++}`);let f=this.addedImports.get(o);if(!f)throw new Error("Import name is undefined. This should not happen.");return f}getImports(){let o=[];return this.addedImports.forEach((f,d)=>{o.push({name:f,path:d})}),o}visit(o){this.rewriteHandlerFunction(o),this.rewriteForwardFunction(o),this.replaceImportStatements(o),this.replaceEnvStatements(o)}rewriteHandlerFunction(o){if(!(!YP(o)||!TO(o.value)||typeof o.value.value!="string")&&eA(o,Ucr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new zk("Invalid node, expected object",DH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:mlt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}rewriteForwardFunction(o){if(!(!YP(o)||!TO(o.value)||typeof o.value.value!="string")&&eA(o,zcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new zk("Invalid node, expected object",DH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:mlt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}replaceImportStatements(o){if(!YP(o)||!TO(o.value))return;let f=o.value.value;if(typeof f!="string")return;if(!Bcr.some(F=>eA(o,F))&&!dlt.some(F=>eA(o,F))){if(oIe.test(f)){if(o.name.value==="$ref")return;this.errors.push(new zk("An $import() statement is not expected at this location.",DH,o.location,f))}return}let d=oIe.exec(f);if(dlt.some(F=>eA(o,F))&&!d)return;if(!d){this.errors.push(new zk("Invalid $import() statement",DH,o.location,f));return}let y=d[1];y=y.replace(/\\/g,"/"),y.startsWith(".")&&(y=Mcr.posix.join("..",y));let E=this.getImportName(y),P={type:Wo.Identifier,parent:o.parent,value:E};o.value=P}replaceEnvStatements=plt(jcr,this.errors,DH)};function mlt(s){return`(request, context) => {
575
+ `),exitCode:E},"Untar process logs")}}t(vZt,"untarFile");async function bZt(s){if(await iAe(s))return await ZN.rm(s,{recursive:!0})}t(bZt,"deleteFolder");var eu=sAe;var blt=tp(jst(),1);var Bst=["ai-gateway-semantic-cache-inbound","ai-gateway-semantic-cache-inbound-v2","ai-gateway-semantic-cache-outbound","akamai-ai-firewall","akamai-ai-firewall-inbound-v2","akamai-firewall-for-ai-inbound","akamai-firewall-for-ai-outbound","comet-opik-tracing-inbound-v2","galileo-tracing-inbound-v2","prompt-injection-outbound","semantic-cache-inbound"];var qV=class{static{t(this,"R")}type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(s,o,f,d,y,E){this.type=s,this.name=o,this.prefix=f,this.value=d,this.suffix=y,this.modifier=E}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},Her=/[$_\p{ID_Start}]/u,Ger=/[$_\u200C\u200D\p{ID_Continue}]/u,BAe=".*";function Yer(s,o){return(o?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(s)}t(Yer,"Re");function $st(s,o=!1){let f=[],d=0;for(;d<s.length;){let y=s[d],E=t(function(P){if(!o)throw new TypeError(P);f.push({type:"INVALID_CHAR",index:d,value:s[d++]})},"c");if(y==="*"){f.push({type:"ASTERISK",index:d,value:s[d++]});continue}if(y==="+"||y==="?"){f.push({type:"OTHER_MODIFIER",index:d,value:s[d++]});continue}if(y==="\\"){f.push({type:"ESCAPED_CHAR",index:d++,value:s[d++]});continue}if(y==="{"){f.push({type:"OPEN",index:d,value:s[d++]});continue}if(y==="}"){f.push({type:"CLOSE",index:d,value:s[d++]});continue}if(y===":"){let P="",F=d+1;for(;F<s.length;){let J=s.substr(F,1);if(F===d+1&&Her.test(J)||F!==d+1&&Ger.test(J)){P+=s[F++];continue}break}if(!P){E(`Missing parameter name at ${d}`);continue}f.push({type:"NAME",index:d,value:P}),d=F;continue}if(y==="("){let P=1,F="",J=d+1,V=!1;if(s[J]==="?"){E(`Pattern cannot start with "?" at ${J}`);continue}for(;J<s.length;){if(!Yer(s[J],!1)){E(`Invalid character '${s[J]}' at ${J}.`),V=!0;break}if(s[J]==="\\"){F+=s[J++]+s[J++];continue}if(s[J]===")"){if(P--,P===0){J++;break}}else if(s[J]==="("&&(P++,s[J+1]!=="?")){E(`Capturing groups are not allowed at ${J}`),V=!0;break}F+=s[J++]}if(V)continue;if(P){E(`Unbalanced pattern at ${d}`);continue}if(!F){E(`Missing pattern at ${d}`);continue}f.push({type:"REGEX",index:d,value:F}),d=J;continue}f.push({type:"CHAR",index:d,value:s[d++]})}return f.push({type:"END",index:d,value:""}),f}t($st,"v");function Jst(s,o={}){let f=$st(s);o.delimiter??="/#?",o.prefixes??="./";let d=`[^${_T(o.delimiter)}]+?`,y=[],E=0,P=0,F="",J=new Set,V=t(wn=>{if(P<f.length&&f[P].type===wn)return f[P++].value},"a"),Te=t(()=>V("OTHER_MODIFIER")??V("ASTERISK"),"f"),de=t(wn=>{let sn=V(wn);if(sn!==void 0)return sn;let{type:Jn,index:wr}=f[P];throw new TypeError(`Unexpected ${Jn} at ${wr}, expected ${wn}`)},"d"),ae=t(()=>{let wn="",sn;for(;sn=V("CHAR")??V("ESCAPED_CHAR");)wn+=sn;return wn},"T"),He=t(wn=>wn,"Se"),Ue=o.encodePart||He,je="",Yt=t(wn=>{je+=wn},"U"),zt=t(()=>{je.length&&(y.push(new qV(3,"","",Ue(je),"",3)),je="")},"$"),Sr=t((wn,sn,Jn,wr,yr)=>{let xs=3;switch(yr){case"?":xs=1;break;case"*":xs=0;break;case"+":xs=2;break}if(!sn&&!Jn&&xs===3){Yt(wn);return}if(zt(),!sn&&!Jn){if(!wn)return;y.push(new qV(3,"","",Ue(wn),"",xs));return}let bi;Jn?Jn==="*"?bi=BAe:bi=Jn:bi=d;let fc=2;bi===d?(fc=1,bi=""):bi===BAe&&(fc=0,bi="");let Ci;if(sn?Ci=sn:Jn&&(Ci=E++),J.has(Ci))throw new TypeError(`Duplicate name '${Ci}'.`);J.add(Ci),y.push(new qV(fc,Ci,Ue(wn),bi,Ue(wr),xs))},"V");for(;P<f.length;){let wn=V("CHAR"),sn=V("NAME"),Jn=V("REGEX");if(!sn&&!Jn&&(Jn=V("ASTERISK")),sn||Jn){let yr=wn??"";o.prefixes.indexOf(yr)===-1&&(Yt(yr),yr=""),zt();let xs=Te();Sr(yr,sn,Jn,"",xs);continue}let wr=wn??V("ESCAPED_CHAR");if(wr){Yt(wr);continue}if(V("OPEN")){let yr=ae(),xs=V("NAME"),bi=V("REGEX");!xs&&!bi&&(bi=V("ASTERISK"));let fc=ae();de("CLOSE");let Ci=Te();Sr(yr,xs,bi,fc,Ci);continue}zt(),de("END")}return y}t(Jst,"D");function _T(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(_T,"S");function Ust(s){return s&&s.ignoreCase?"ui":"u"}t(Ust,"X");function Ker(s,o,f){return Wst(Jst(s,f),o,f)}t(Ker,"Z");function X9(s){switch(s){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}t(X9,"k");function Wst(s,o,f={}){f.delimiter??="/#?",f.prefixes??="./",f.sensitive??=!1,f.strict??=!1,f.end??=!0,f.start??=!0,f.endsWith="";let d=f.start?"^":"";for(let F of s){if(F.type===3){F.modifier===3?d+=_T(F.value):d+=`(?:${_T(F.value)})${X9(F.modifier)}`;continue}o&&o.push(F.name);let J=`[^${_T(f.delimiter)}]+?`,V=F.value;if(F.type===1?V=J:F.type===0&&(V=BAe),!F.prefix.length&&!F.suffix.length){F.modifier===3||F.modifier===1?d+=`(${V})${X9(F.modifier)}`:d+=`((?:${V})${X9(F.modifier)})`;continue}if(F.modifier===3||F.modifier===1){d+=`(?:${_T(F.prefix)}(${V})${_T(F.suffix)})`,d+=X9(F.modifier);continue}d+=`(?:${_T(F.prefix)}`,d+=`((?:${V})(?:`,d+=_T(F.suffix),d+=_T(F.prefix),d+=`(?:${V}))*)${_T(F.suffix)})`,F.modifier===0&&(d+="?")}let y=`[${_T(f.endsWith)}]|$`,E=`[${_T(f.delimiter)}]`;if(f.end)return f.strict||(d+=`${E}?`),f.endsWith.length?d+=`(?=${y})`:d+="$",new RegExp(d,Ust(f));f.strict||(d+=`(?:${E}(?=${y}))?`);let P=!1;if(s.length){let F=s[s.length-1];F.type===3&&F.modifier===3&&(P=f.delimiter.indexOf(F)>-1)}return P||(d+=`(?=${E}|${y})`),new RegExp(d,Ust(f))}t(Wst,"F");var rI={delimiter:"",prefixes:"",sensitive:!0,strict:!0},Xer={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Zer={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function Qer(s,o){return s.length?s[0]==="/"?!0:!o||s.length<2?!1:(s[0]=="\\"||s[0]=="{")&&s[1]=="/":!1}t(Qer,"J");function qst(s,o){return s.startsWith(o)?s.substring(o.length,s.length):s}t(qst,"Q");function etr(s,o){return s.endsWith(o)?s.substr(0,s.length-o.length):s}t(etr,"Ee");function Vst(s){return!s||s.length<2?!1:s[0]==="["||(s[0]==="\\"||s[0]==="{")&&s[1]==="["}t(Vst,"W");var Hst=["ftp","file","http","https","ws","wss"];function Gst(s){if(!s)return!0;for(let o of Hst)if(s.test(o))return!0;return!1}t(Gst,"N");function ttr(s,o){if(s=qst(s,"#"),o||s==="")return s;let f=new URL("https://example.com");return f.hash=s,f.hash?f.hash.substring(1,f.hash.length):""}t(ttr,"te");function rtr(s,o){if(s=qst(s,"?"),o||s==="")return s;let f=new URL("https://example.com");return f.search=s,f.search?f.search.substring(1,f.search.length):""}t(rtr,"re");function ntr(s,o){return o||s===""?s:Vst(s)?Xst(s):Kst(s)}t(ntr,"ne");function itr(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.password=s,f.password}t(itr,"se");function str(s,o){if(o||s==="")return s;let f=new URL("https://example.com");return f.username=s,f.username}t(str,"ie");function atr(s,o,f){if(f||s==="")return s;if(o&&!Hst.includes(o))return new URL(`${o}:${s}`).pathname;let d=s[0]=="/";return s=new URL(d?s:"/-"+s,"https://example.com").pathname,d||(s=s.substring(2,s.length)),s}t(atr,"ae");function otr(s,o,f){return Yst(o)===s&&(s=""),f||s===""?s:Zst(s)}t(otr,"oe");function ctr(s,o){return s=etr(s,":"),o||s===""?s:UAe(s)}t(ctr,"ce");function Yst(s){switch(s){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}t(Yst,"_");function UAe(s){if(s==="")return s;if(/^[-+.A-Za-z0-9]*$/.test(s))return s.toLowerCase();throw new TypeError(`Invalid protocol '${s}'.`)}t(UAe,"y");function ltr(s){if(s==="")return s;let o=new URL("https://example.com");return o.username=s,o.username}t(ltr,"le");function utr(s){if(s==="")return s;let o=new URL("https://example.com");return o.password=s,o.password}t(utr,"fe");function Kst(s){if(s==="")return s;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(s))throw new TypeError(`Invalid hostname '${s}'`);let o=new URL("https://example.com");return o.hostname=s,o.hostname}t(Kst,"z");function Xst(s){if(s==="")return s;if(/[^0-9a-fA-F[\]:]/g.test(s))throw new TypeError(`Invalid IPv6 hostname '${s}'`);return s.toLowerCase()}t(Xst,"j");function Zst(s){if(s===""||/^[0-9]*$/.test(s)&&parseInt(s)<=65535)return s;throw new TypeError(`Invalid port '${s}'.`)}t(Zst,"K");function ftr(s){if(s==="")return s;let o=new URL("https://example.com");return o.pathname=s[0]!=="/"?"/-"+s:s,s[0]!=="/"?o.pathname.substring(2,o.pathname.length):o.pathname}t(ftr,"he");function _tr(s){return s===""?s:new URL(`data:${s}`).pathname}t(_tr,"ue");function ptr(s){if(s==="")return s;let o=new URL("https://example.com");return o.search=s,o.search.substring(1,o.search.length)}t(ptr,"de");function dtr(s){if(s==="")return s;let o=new URL("https://example.com");return o.hash=s,o.hash.substring(1,o.hash.length)}t(dtr,"pe");var mtr=class{static{t(this,"H")}#e;#n=[];#t={};#r=0;#s=1;#m=0;#c=0;#u=0;#f=0;#p=!1;constructor(s){this.#e=s}get result(){return this.#t}parse(){for(this.#n=$st(this.#e,!0);this.#r<this.#n.length;this.#r+=this.#s){if(this.#s=1,this.#n[this.#r].type==="END"){if(this.#c===0){this.#o(),this.#g()?this.#a(9,1):this.#E()?this.#a(8,1):this.#a(7,0);continue}else if(this.#c===2){this.#h(5);continue}this.#a(10,0);break}if(this.#u>0)if(this.#l())this.#u-=1;else continue;if(this.#A()){this.#u+=1;continue}switch(this.#c){case 0:this.#y()&&this.#h(1);break;case 1:if(this.#y()){this.#D();let s=7,o=1;this.#b()?(s=2,o=3):this.#p&&(s=2),this.#a(s,o)}break;case 2:this.#v()?this.#h(3):(this.#S()||this.#E()||this.#g())&&this.#h(5);break;case 3:this.#C()?this.#a(4,1):this.#v()&&this.#a(5,1);break;case 4:this.#v()&&this.#a(5,1);break;case 5:this.#O()?this.#f+=1:this.#N()&&(this.#f-=1),this.#k()&&!this.#f?this.#a(6,1):this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 6:this.#S()?this.#a(7,0):this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 7:this.#E()?this.#a(8,1):this.#g()&&this.#a(9,1);break;case 8:this.#g()&&this.#a(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#a(s,o){switch(this.#c){case 0:break;case 1:this.#t.protocol=this.#w();break;case 2:break;case 3:this.#t.username=this.#w();break;case 4:this.#t.password=this.#w();break;case 5:this.#t.hostname=this.#w();break;case 6:this.#t.port=this.#w();break;case 7:this.#t.pathname=this.#w();break;case 8:this.#t.search=this.#w();break;case 9:this.#t.hash=this.#w();break;case 10:break}this.#c!==0&&s!==10&&([1,2,3,4].includes(this.#c)&&[6,7,8,9].includes(s)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#c)&&[8,9].includes(s)&&(this.#t.pathname??=this.#p?"/":""),[1,2,3,4,5,6,7].includes(this.#c)&&s===9&&(this.#t.search??="")),this.#i(s,o)}#i(s,o){this.#c=s,this.#m=this.#r+o,this.#r+=o,this.#s=0}#o(){this.#r=this.#m,this.#s=0}#h(s){this.#o(),this.#c=s}#d(s){return s<0&&(s=this.#n.length-s),s<this.#n.length?this.#n[s]:this.#n[this.#n.length-1]}#_(s,o){let f=this.#d(s);return f.value===o&&(f.type==="CHAR"||f.type==="ESCAPED_CHAR"||f.type==="INVALID_CHAR")}#y(){return this.#_(this.#r,":")}#b(){return this.#_(this.#r+1,"/")&&this.#_(this.#r+2,"/")}#v(){return this.#_(this.#r,"@")}#C(){return this.#_(this.#r,":")}#k(){return this.#_(this.#r,":")}#S(){return this.#_(this.#r,"/")}#E(){if(this.#_(this.#r,"?"))return!0;if(this.#n[this.#r].value!=="?")return!1;let s=this.#d(this.#r-1);return s.type!=="NAME"&&s.type!=="REGEX"&&s.type!=="CLOSE"&&s.type!=="ASTERISK"}#g(){return this.#_(this.#r,"#")}#A(){return this.#n[this.#r].type=="OPEN"}#l(){return this.#n[this.#r].type=="CLOSE"}#O(){return this.#_(this.#r,"[")}#N(){return this.#_(this.#r,"]")}#w(){let s=this.#n[this.#r],o=this.#d(this.#m).index;return this.#e.substring(o,s.index)}#D(){let s={};Object.assign(s,rI),s.encodePart=UAe;let o=Ker(this.#w(),void 0,s);this.#p=Gst(o)}},jAe=["protocol","username","password","hostname","port","pathname","search","hash"],tI="*";function zst(s,o){if(typeof s!="string")throw new TypeError("parameter 1 is not of type 'string'.");let f=new URL(s,o);return{protocol:f.protocol.substring(0,f.protocol.length-1),username:f.username,password:f.password,hostname:f.hostname,port:f.port,pathname:f.pathname,search:f.search!==""?f.search.substring(1,f.search.length):void 0,hash:f.hash!==""?f.hash.substring(1,f.hash.length):void 0}}t(zst,"ge");function HP(s,o){return o?WV(s):s}t(HP,"b");function JV(s,o,f){let d;if(typeof o.baseURL=="string")try{d=new URL(o.baseURL),o.protocol===void 0&&(s.protocol=HP(d.protocol.substring(0,d.protocol.length-1),f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&(s.username=HP(d.username,f)),!f&&o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.username===void 0&&o.password===void 0&&(s.password=HP(d.password,f)),o.protocol===void 0&&o.hostname===void 0&&(s.hostname=HP(d.hostname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&(s.port=HP(d.port,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&(s.pathname=HP(d.pathname,f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&(s.search=HP(d.search.substring(1,d.search.length),f)),o.protocol===void 0&&o.hostname===void 0&&o.port===void 0&&o.pathname===void 0&&o.search===void 0&&o.hash===void 0&&(s.hash=HP(d.hash.substring(1,d.hash.length),f))}catch{throw new TypeError(`invalid baseURL '${o.baseURL}'.`)}if(typeof o.protocol=="string"&&(s.protocol=ctr(o.protocol,f)),typeof o.username=="string"&&(s.username=str(o.username,f)),typeof o.password=="string"&&(s.password=itr(o.password,f)),typeof o.hostname=="string"&&(s.hostname=ntr(o.hostname,f)),typeof o.port=="string"&&(s.port=otr(o.port,s.protocol,f)),typeof o.pathname=="string"){if(s.pathname=o.pathname,d&&!Qer(s.pathname,f)){let y=d.pathname.lastIndexOf("/");y>=0&&(s.pathname=HP(d.pathname.substring(0,y+1),f)+s.pathname)}s.pathname=atr(s.pathname,s.protocol,f)}return typeof o.search=="string"&&(s.search=rtr(o.search,f)),typeof o.hash=="string"&&(s.hash=ttr(o.hash,f)),s}t(JV,"w");function WV(s){return s.replace(/([+*?:{}()\\])/g,"\\$1")}t(WV,"C");function htr(s){return s.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}t(htr,"Oe");function gtr(s,o){o.delimiter??="/#?",o.prefixes??="./",o.sensitive??=!1,o.strict??=!1,o.end??=!0,o.start??=!0,o.endsWith="";let f=".*",d=`[^${htr(o.delimiter)}]+?`,y=/[$_\u200C\u200D\p{ID_Continue}]/u,E="";for(let P=0;P<s.length;++P){let F=s[P];if(F.type===3){if(F.modifier===3){E+=WV(F.value);continue}E+=`{${WV(F.value)}}${X9(F.modifier)}`;continue}let J=F.hasCustomName(),V=!!F.suffix.length||!!F.prefix.length&&(F.prefix.length!==1||!o.prefixes.includes(F.prefix)),Te=P>0?s[P-1]:null,de=P<s.length-1?s[P+1]:null;if(!V&&J&&F.type===1&&F.modifier===3&&de&&!de.prefix.length&&!de.suffix.length)if(de.type===3){let ae=de.value.length>0?de.value[0]:"";V=y.test(ae)}else V=!de.hasCustomName();if(!V&&!F.prefix.length&&Te&&Te.type===3){let ae=Te.value[Te.value.length-1];V=o.prefixes.includes(ae)}V&&(E+="{"),E+=WV(F.prefix),J&&(E+=`:${F.name}`),F.type===2?E+=`(${F.value})`:F.type===1?J||(E+=`(${d})`):F.type===0&&(!J&&(!Te||Te.type===3||Te.modifier!==3||V||F.prefix!=="")?E+="*":E+=`(${f})`),F.type===1&&J&&F.suffix.length&&y.test(F.suffix[0])&&(E+="\\"),E+=WV(F.suffix),V&&(E+="}"),F.modifier!==3&&(E+=X9(F.modifier))}return E}t(gtr,"ke");var Qst=class{static{t(this,"me")}#e;#n={};#t={};#r={};#s={};#m=!1;constructor(s={},o,f){try{let d;if(typeof o=="string"?d=o:f=o,typeof s=="string"){let F=new mtr(s);if(F.parse(),s=F.result,d===void 0&&typeof s.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");s.baseURL=d}else{if(!s||typeof s!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(d)throw new TypeError("parameter 1 is not of type 'string'.")}typeof f>"u"&&(f={ignoreCase:!1});let y={ignoreCase:f.ignoreCase===!0},E={pathname:tI,protocol:tI,username:tI,password:tI,hostname:tI,port:tI,search:tI,hash:tI};this.#e=JV(E,s,!0),Yst(this.#e.protocol)===this.#e.port&&(this.#e.port="");let P;for(P of jAe){if(!(P in this.#e))continue;let F={},J=this.#e[P];switch(this.#t[P]=[],P){case"protocol":Object.assign(F,rI),F.encodePart=UAe;break;case"username":Object.assign(F,rI),F.encodePart=ltr;break;case"password":Object.assign(F,rI),F.encodePart=utr;break;case"hostname":Object.assign(F,Xer),Vst(J)?F.encodePart=Xst:F.encodePart=Kst;break;case"port":Object.assign(F,rI),F.encodePart=Zst;break;case"pathname":Gst(this.#n.protocol)?(Object.assign(F,Zer,y),F.encodePart=ftr):(Object.assign(F,rI,y),F.encodePart=_tr);break;case"search":Object.assign(F,rI,y),F.encodePart=ptr;break;case"hash":Object.assign(F,rI,y),F.encodePart=dtr;break}try{this.#s[P]=Jst(J,F),this.#n[P]=Wst(this.#s[P],this.#t[P],F),this.#r[P]=gtr(this.#s[P],F),this.#m=this.#m||this.#s[P].some(V=>V.type===2)}catch{throw new TypeError(`invalid ${P} pattern '${this.#e[P]}'.`)}}}catch(d){throw new TypeError(`Failed to construct 'URLPattern': ${d.message}`)}}test(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return!1;try{typeof s=="object"?f=JV(f,s,!1):f=JV(f,zst(s,o),!1)}catch{return!1}let d;for(d of jAe)if(!this.#n[d].exec(f[d]))return!1;return!0}exec(s={},o){let f={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof s!="string"&&o)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof s>"u")return;try{typeof s=="object"?f=JV(f,s,!1):f=JV(f,zst(s,o),!1)}catch{return null}let d={};o?d.inputs=[s,o]:d.inputs=[s];let y;for(y of jAe){let E=this.#n[y].exec(f[y]);if(!E)return null;let P={};for(let[F,J]of this.#t[y].entries())if(typeof J=="string"||typeof J=="number"){let V=E[F+1];P[J]=V}d[y]={input:f[y]??"",groups:P}}return d}static compareComponent(s,o,f){let d=t((F,J)=>{for(let V of["type","modifier","prefix","value","suffix"]){if(F[V]<J[V])return-1;if(F[V]!==J[V])return 1}return 0},"o"),y=new qV(3,"","","","",3),E=new qV(0,"","","","",3),P=t((F,J)=>{let V=0;for(;V<Math.min(F.length,J.length);++V){let Te=d(F[V],J[V]);if(Te)return Te}return F.length===J.length?0:d(F[V]??y,J[V]??y)},"s");return!o.#r[s]&&!f.#r[s]?0:o.#r[s]&&!f.#r[s]?P(o.#s[s],[E]):!o.#r[s]&&f.#r[s]?P([E],f.#s[s]):P(o.#s[s],f.#s[s])}get protocol(){return this.#r.protocol}get username(){return this.#r.username}get password(){return this.#r.password}get hostname(){return this.#r.hostname}get port(){return this.#r.port}get pathname(){return this.#r.pathname}get search(){return this.#r.search}get hash(){return this.#r.hash}get hasRegExpGroups(){return this.#m}};globalThis.URLPattern||(globalThis.URLPattern=Qst);import{AssertionError as ytr}from"node:assert";function GP(s,o){if(s===!1)throw new ytr({message:o})}t(GP,"assert");var Wo;(function(s){s.Object="Object",s.Property="Property",s.Array="Array",s.Literal="Literal",s.TemplateString="TemplateString",s.Identifier="Identifier",s.FunctionCall="FunctionCall",s.Raw="Raw"})(Wo||(Wo={}));function Z9(s){return s.type===Wo.Object}t(Z9,"isAstObject");function YP(s){return s.type===Wo.Property}t(YP,"isAstProperty");function zAe(s){return s.type===Wo.Array}t(zAe,"isAstArray");function TO(s){return s.type===Wo.Literal}t(TO,"isAstLiteral");function nI(s){if(s===void 0)throw new Error("Node is undefined");if(!Z9(s))throw new Error("Node is not object")}t(nI,"assertAstObject");import{findNodeAtLocation as vtr,getNodeValue as btr,printParseErrorCode as Str,visit as Ttr}from"jsonc-parser";var xtr={DEFAULT:{allowTrailingComma:!1}};function VV(s,o=[],f=xtr.DEFAULT){let d={type:"array",offset:-1,length:-1,line:-1,column:-1,children:[],parent:void 0};function y(J){d.type==="property"&&(d.length=J-d.offset,d=d.parent)}t(y,"ensurePropertyComplete");function E(J){return d.children?.push(J),J}t(E,"onValue"),Ttr(s,{onObjectBegin:t((J,V,Te)=>{d=E({type:"object",offset:J,length:-1,line:V+1,column:Te+1,parent:d,children:[]})},"onObjectBegin"),onObjectProperty:t((J,V,Te,de,ae)=>{d=E({type:"property",offset:V,length:-1,line:de+1,column:ae+1,parent:d,children:[]}),d.children?.push({type:"string",value:J,offset:V,length:Te,line:de,column:ae,parent:d})},"onObjectProperty"),onObjectEnd:t((J,V)=>{y(J+V),d.length=J+V-d.offset,d=d.parent,y(J+V)},"onObjectEnd"),onArrayBegin:t((J,V,Te,de)=>{d=E({type:"array",offset:J,length:-1,line:Te+1,column:de+1,parent:d,children:[]})},"onArrayBegin"),onArrayEnd:t((J,V)=>{d.length=J+V-d.offset,d=d.parent,y(J+V)},"onArrayEnd"),onLiteralValue:t((J,V,Te,de,ae)=>{E({type:Etr(J),offset:V,length:Te,line:de+1,column:ae+1,parent:d,value:J}),y(V+Te)},"onLiteralValue"),onSeparator:t((J,V)=>{d.type==="property"&&(J===":"?d.colonOffset=V:J===","&&y(V))},"onSeparator"),onError:t((J,V,Te,de,ae)=>{o.push({error:J,offset:V,length:Te,line:de+1,column:ae+1})},"onError")},f);let F=d.children?.[0];return F&&delete F.parent,F}t(VV,"parse");function Etr(s){switch(typeof s){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(s){if(Array.isArray(s))return"array"}else return"null";return"object"}default:return"null"}}t(Etr,"getNodeType");function $Ae(s,o){return vtr(s,o)}t($Ae,"findNodeAtLocation");function HV(s){return btr(s)}t(HV,"getNodeValue");function eat(s){return Str(s)}t(eat,"printParseErrorCode");var GV=class{static{t(this,"AstAdapter")}parse(o){let d=VV(o,[]);if(d)return this.parseNode(d,void 0);throw new Error("Failed to parse JSON")}convert(o){return this.parseNode(o,void 0)}parseNode(o,f){switch(o.type){case"object":return this.createObject(o,f);case"array":return this.createArray(o,f);case"property":return this.createProperty(o,f);case"string":return this.createLiteral(o,f);case"number":return this.createLiteral(o,f);case"boolean":return this.createLiteral(o,f);case"null":return this.createLiteral(o,f)}}createLiteral(o,f){return{type:Wo.Literal,location:{line:o.line,column:o.column},parent:f,value:o.type==="null"?null:o.value}}createObject(o,f){let d={type:Wo.Object,children:[],parent:f,location:{line:o.line,column:o.column}};return o.children?.forEach(y=>{d.children.push(this.parseNode(y,d))}),d}createProperty(o,f){GP(o.children?.length===2,"Invalid property node");let d={type:Wo.Property,location:{line:o.line,column:o.column},parent:f,name:null,value:null};return d.name={value:o.children[0].value,location:{line:o.line,column:o.column},type:Wo.Identifier,parent:d},d.value=this.parseNode(o.children[1],d),d}createArray(o,f){let d={type:Wo.Array,location:{line:o.line,column:o.column},parent:f,children:[]};return o.children?.forEach(y=>d.children.push(this.parseNode(y,d))),d}};var DS={createLiteral:t((s,o)=>({type:Wo.Literal,parent:o,value:s}),"createLiteral"),createTemplateString:t((s,o)=>({type:Wo.TemplateString,parent:o,value:s}),"createTemplateString"),createIdentifier:t((s,o)=>({type:Wo.Identifier,value:s,parent:o}),"createIdentifier"),createProperty:t((s,o,f)=>{let d={type:Wo.Property,parent:f,name:null,value:o};return d.name={value:s,type:Wo.Identifier,parent:d},d.value.parent=d,d},"createProperty"),createArrayOfLiterals:t((s,o)=>{let f={type:Wo.Array,parent:o,children:[]};for(let d of s)f.children.push(DS.createLiteral(d,f));return f},"createArrayOfLiterals")};var Ctr=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,YV=class{static{t(this,"SourceGenerator")}generate(o){let f=[];return this.generateSource(f,o),f.join("")}generateSource(o,f){switch(f.type){case Wo.Array:return this.generateArray(o,f);case Wo.Object:return this.generateObject(o,f);case Wo.Property:return this.generateProperty(o,f);case Wo.Literal:return this.generateLiteral(o,f);case Wo.FunctionCall:return this.generateFunctionCall(o,f);case Wo.Identifier:return this.generateIdentifier(o,f);case Wo.Raw:return this.generateRaw(o,f);case Wo.TemplateString:return this.generateTemplateString(o,f)}}generateArray(o,f){o.push("["),f.children.map(d=>{this.generateSource(o,d),o.push(",")}),o.push("]")}generateObject(o,f){o.push("{"),f.children.forEach(d=>{this.generateSource(o,d),o.push(",")}),o.push("}")}generateProperty(o,f){this.generateIdentifier(o,f.name),o.push(":"),this.generateSource(o,f.value)}generateFunctionCall(o,f){o.push(f.name.value),o.push("("),f.children.forEach((d,y,E)=>{this.generateSource(o,d),y<E.length&&o.push(",")}),o.push(")")}generateRaw(o,f){o.push(f.value)}generateTemplateString(o,f){o.push("`"),o.push(f.value.replaceAll("`","\\`")),o.push("`")}generateLiteral(o,f){if(f.value===null)return o.push("null");switch(typeof f.value){case"number":case"boolean":return o.push(`${f.value}`);case"string":{let d=f.value,y=JSON.stringify(d);return o.push(`${y}`)}}}generateIdentifier(o,f){let d=Ctr.test(f.value)?f.value:`'${f.value}'`;o.push(d)}};import ktr from"node:fs/promises";import{parse as wtr}from"@swc/core";var tat=t(async s=>{let o=new Set;try{let f=await ktr.readFile(s,"utf-8");(await wtr(f,{syntax:"typescript"})).body.forEach(y=>{y.type==="ExportDefaultDeclaration"||y.type==="ExportDefaultExpression"?o.add("default"):y.type==="ExportDeclaration"&&y.declaration.type==="FunctionDeclaration"?o.add(y.declaration.identifier.value):y.type==="ExportDeclaration"&&y.declaration.type==="VariableDeclaration"&&y.declaration.declarations[0].id.type==="Identifier"&&o.add(y.declaration.declarations[0].id.value)})}catch{return null}return o},"getJSFileExports");var rat={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/fragments.schema.json",$defs:{corsPolicyConfiguration:{type:"object",required:["name","allowedOrigins"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},allowCredentials:{type:"boolean"},maxAge:{type:"number"},allowedOrigins:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},allowedMethods:{oneOf:[{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},{type:"string"}]},allowedHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]},exposeHeaders:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}]}}},handlerDefinition:{type:"object",properties:{module:{type:"string",pattern:"^\\$import\\([^ )]*?\\)$"},export:{type:"string"},options:{type:"object",additionalProperties:!0}},additionalProperties:!1,required:["module","export"]},httpMethod:{type:"string",enum:["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]}}};var JAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policies.schema.json",title:"Policies Config File",type:"object",additionalProperties:!1,properties:{policies:{type:"array",items:{$ref:"policy-configuration.schema.json"}},corsPolicies:{type:"array",items:{$ref:"fragments.schema.json#/$defs/corsPolicyConfiguration"}}}};var nat={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/policy-configuration.schema.json",title:"Policy Configuration Fragment",type:"object",required:["name","policyType","handler"],additionalProperties:!1,properties:{name:{type:"string",pattern:"^[0-9a-z-]+$"},policyType:{type:"string"},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},options:{type:"object",additionalProperties:!0}}};var WAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration.schema.json",title:"Route Configuration Fragment",description:"",type:"object",required:["path","methods","handler"],additionalProperties:!1,$defs:{corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"}},properties:{operationId:{type:"string"},path:{type:"string",pattern:"^/[^\\s]*$"},methods:{type:"array",items:{$ref:"fragments.schema.json#/$defs/httpMethod"}},label:{type:"string",description:"An internal user-friendly identifier of the route."},enforceOpenApi:{type:"boolean",description:"If true, schema validation found in the OpenAPI spec will be enforced on requests/responses."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{$ref:"#/$defs/corsPolicy"},custom:{},mcp:{type:"object",additionalProperties:!1,properties:{enabled:{type:"boolean"}}},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},summary:{type:"string"},description:{type:"string"},excludeFromOpenApi:{type:"boolean"},tags:{type:"array",items:{type:"string"}}}};var qAe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"http://schemas.zuplo.com/route-configuration-open-api.schema.json",title:"Open API Route Configuration Fragment",description:"These are the properties that can appear under the x-zuplo-route extension in a PathObject in Open API. It's a subset of what can appear in Zuplo's routes.json.",type:"object",required:["handler"],additionalProperties:!1,properties:{label:{type:"string",description:"An internal user-friendly identifier of the route."},key:{type:"string",deprecated:!0},handler:{$ref:"fragments.schema.json#/$defs/handlerDefinition"},corsPolicy:{type:"string",pattern:"^[0-9a-z-]+$"},custom:{},mcp:{oneOf:[{type:"object",additionalProperties:!1,properties:{type:{const:"tool"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"},includeOutputSchema:{type:"boolean"},includeStructuredContent:{type:"boolean"},annotations:{type:"object",additionalProperties:!1,properties:{title:{type:"string"},readOnlyHint:{type:"boolean"},destructiveHint:{type:"boolean"},idempotentHint:{type:"boolean"},openWorldHint:{type:"boolean"}}},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"prompt"},name:{type:"string"},description:{type:"string"},enabled:{type:"boolean"}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"resource"},name:{type:"string"},description:{type:"string"},uri:{type:"string"},mimeType:{type:"string"},enabled:{type:"boolean"},_meta:{type:"object",additionalProperties:!0}},required:["type"]},{type:"object",additionalProperties:!1,properties:{type:{const:"graphql"},enabled:{type:"boolean"},introspectionTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}},executeTool:{type:"object",additionalProperties:!1,properties:{name:{type:"string"},description:{type:"string"}}}},required:["type"]}]},policies:{type:"object",additionalProperties:!1,properties:{inbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}},outbound:{type:"array",items:{type:"string",pattern:"^[0-9a-z-]+$"}}}},tags:{type:"array",items:{type:"string"}}}};var llt=tp(Kce(),1),ult=tp(clt(),1);var Qce=class s{static{t(this,"JsonValidator")}static#e=new s;static get instance(){return s.#e}ajv;constructor(){this.ajv=new llt.Ajv2020({allErrors:!0,allowUnionTypes:!0}),this.ajv.addKeyword("faker"),(0,ult.default)(this.ajv,{mode:"fast"})}addSchema(o,f){this.ajv.addSchema(o,f)}compile(o){let f=this.ajv.compile(o);return t(y=>({isValid:f(y),errors:this.toSimpleErrors(f.errors,y),warnings:[]}),"validator")}toSimpleErrors(o,f){let d=[];return o?.forEach(y=>{y.keyword==="enum"&&y.params.allowedValues&&Array.isArray(y.params.allowedValues)&&(y.message+=`; ${y.params.allowedValues.join(", ")}`),y.instancePath&&(y.instancePath=y.instancePath.replaceAll(/(\/)?(~1)(\/)?/gm,"/"));let E={details:{}},P=y.instancePath.split("/");if(P.length>2){let J=P[1],V=P[2]?parseInt(P[2],10):0,Te=P[3],de=Number.isNaN(V)?void 0:f[J][V][Te];E={details:{property:J,index:V,field:Te,fieldValue:de}}}if(y.keyword==="required"&&y.params.missingProperty&&y.instancePath&&(y.message=`A 'path' is missing required property '${y.params.missingProperty}'`),y.keyword==="additionalProperties"&&y.params.additionalProperty&&y.instancePath&&(y.message=`A 'path' should NOT include property '${y.params.additionalProperty}'`),y.keyword==="type"&&y.params.type&&y.instancePath){let J=y.instancePath.split("/"),V=J[J.length-1];y.message=`Value of property '${V}' must be '${y.params.type}'`}let F=Object.assign(y,E);d.push(F)}),d}};var pI=Qce.instance;pI.addSchema(WAe,"route-configuration.schema.json");pI.addSchema(nat,"policy-configuration.schema.json");pI.addSchema(JAe,"policies.schema.json");pI.addSchema(qAe,"open-api-route-configuration.schema.json");pI.addSchema(rat,"fragments.schema.json");var T6r=pI.compile(WAe),flt=pI.compile(qAe),aIe=pI.compile(JAe);var ele=class{static{t(this,"PoliciesConfigurationValidator")}results;validate(o){return this.results=aIe(o),this.results}};var tle=class{static{t(this,"OpenAPILocalizedValidator")}results;validate(o){return this.results=flt(o),this.results}};import Mcr from"node:path";var oIe=/\$import\((.*)\)/,wH=/\$env\((.*?)\)/g;var zk=class extends Error{static{t(this,"CodeGenError")}location;constructor(o,f,d,y){super(o),this.location={file:f,namespace:"",line:d?d.line:0,column:d?d.column:0,length:0,lineText:y??"",suggestion:""}}},Rcr=t(s=>{let o=[],f=s;for(;f.parent;)o.push(f),f=f.parent;return o.reverse()},"invertTree"),eA=t((s,o)=>{if(!s)return!1;let f=Rcr(s);return o.split("/").every((E,P)=>{let F=f[P];return F?E==="*"||YP(F)&&F.name.value===E?!0:E==="{}"?F.type===Wo.Object:E==="[]"?F.type===Wo.Array:!1:!1})},"testPosition");var rle=class{static{t(this,"AstTransformer")}errors=[];transform(o){return this.visitor(o),o}visitor(o){this.visit(o),Z9(o)?o.children.forEach(f=>{this.visitor(f)}):zAe(o)?o.children.forEach(f=>{this.visitor(f)}):YP(o)&&this.visitor(o.value)}},_lt=t(s=>{let o=new RegExp(wH).exec(s);if(o?.length===2&&o[0]===s)return{type:"raw",value:`environment["${o[1]}"]`};{let f=s.replaceAll(new RegExp(wH),(d,y)=>`\${environment["${y}"] ? environment["${y}"] : ""}`);if(f!==s)return{type:"template",value:f}}return null},"replaceEnvInString"),plt=t((s,o,f)=>d=>{if(TO(d)&&typeof d.value=="string"&&d.parent&&zAe(d.parent)){if(!s.some(P=>eA(d.parent,P))){wH.test(d.value)&&o.push(new zk("An $env() statement is not expected at this location.",f,d.location,d.value));return}let E=_lt(d.value);if(E){let P=d.parent,F=P.children.indexOf(d);if(F!==-1)if(E.type==="raw"){let J={type:Wo.Raw,parent:P,value:E.value};P.children[F]=J}else P.children[F]=DS.createTemplateString(E.value,d)}return}if(!YP(d)||!TO(d.value)||typeof d.value.value!="string")return;if(!s.some(E=>eA(d,E))){wH.test(d.value.value)&&o.push(new zk("An $env() statement is not expected at this location.",f,d.location,d.value.value));return}let y=_lt(d.value.value);if(y)if(y.type==="raw"){let E={type:Wo.Raw,parent:null,value:y.value};d.value=E}else d.value=DS.createTemplateString(y.value,d)},"getEnvStatementTransformer");var DH="config/routes.json",jcr=["handler/{}/options/*","handler/{}/options/*/[]","policies/[]/{}/handler/{}/options/*","policies/[]/{}/handler/{}/options/*/[]","corsPolicies/[]/{}/*","corsPolicies/[]/{}/*/[]"],Bcr=["handler/{}/module","handler/{}/options/{}/policies/{}/inbound/[]/{}/module","handler/{}/options/{}/policies/{}/outbound/[]/{}/module","policies/[]/{}/handler/{}/module","policies/[]/{}/handler/{}/options/{}/identifier/{}/module","policies/[]/{}/handler/{}/options/{}/validator"],dlt=["handler/{}/options/*","policies/[]/{}/handler/{}/options/*"],Ucr="handler/{}/options/{}/rewritePattern",zcr="handler/{}/options/{}/baseUrl",nle=class extends rle{static{t(this,"OpenAPIRoutesFragmentAstTransformer")}importCount=0;addedImports=new Map;getImportName(o){this.addedImports.has(o)||this.addedImports.set(o,`__import${this.importCount++}`);let f=this.addedImports.get(o);if(!f)throw new Error("Import name is undefined. This should not happen.");return f}getImports(){let o=[];return this.addedImports.forEach((f,d)=>{o.push({name:f,path:d})}),o}visit(o){this.rewriteHandlerFunction(o),this.rewriteForwardFunction(o),this.replaceImportStatements(o),this.replaceEnvStatements(o)}rewriteHandlerFunction(o){if(!(!YP(o)||!TO(o.value)||typeof o.value.value!="string")&&eA(o,Ucr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new zk("Invalid node, expected object",DH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:mlt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}rewriteForwardFunction(o){if(!(!YP(o)||!TO(o.value)||typeof o.value.value!="string")&&eA(o,zcr)){if(!o.parent||!Z9(o.parent)){this.errors.push(new zk("Invalid node, expected object",DH,o.parent?o.parent.location:o.location,void 0));return}let f=o.value.value,d={type:Wo.Raw,parent:null,value:mlt(f)},y=DS.createProperty("__rewriteFunction",d,o);o.parent.children.push(y)}}replaceImportStatements(o){if(!YP(o)||!TO(o.value))return;let f=o.value.value;if(typeof f!="string")return;if(!Bcr.some(F=>eA(o,F))&&!dlt.some(F=>eA(o,F))){if(oIe.test(f)){if(o.name.value==="$ref")return;this.errors.push(new zk("An $import() statement is not expected at this location.",DH,o.location,f))}return}let d=oIe.exec(f);if(dlt.some(F=>eA(o,F))&&!d)return;if(!d){this.errors.push(new zk("Invalid $import() statement",DH,o.location,f));return}let y=d[1];y=y.replace(/\\/g,"/"),y.startsWith(".")&&(y=Mcr.posix.join("..",y));let E=this.getImportName(y),P={type:Wo.Identifier,parent:o.parent,value:E};o.value=P}replaceEnvStatements=plt(jcr,this.errors,DH)};function mlt(s){return`(request, context) => {
576
576
  const { params, url, query, method, headers } = request;
577
577
  const { host, hostname, origin, pathname, port, search } = new URL(url);
578
578
  const e = encodeURIComponent;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.71.20",
3
+ "version": "6.71.22",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",