@stryke/capnp 0.12.96 → 0.12.98

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 (119) hide show
  1. package/bin/capnpc.cjs +405 -304
  2. package/bin/capnpc.d.cts +909 -4
  3. package/bin/capnpc.d.cts.map +1 -1
  4. package/bin/capnpc.d.mts +909 -4
  5. package/bin/capnpc.d.mts.map +1 -1
  6. package/bin/capnpc.mjs +368 -268
  7. package/bin/capnpc.mjs.map +1 -1
  8. package/dist/capnp-es.BHkXHvyK-B3-d8RNu.d.mts +2991 -0
  9. package/dist/capnp-es.BHkXHvyK-B3-d8RNu.d.mts.map +1 -0
  10. package/dist/capnp-es.BHkXHvyK-CQWXOqvU.d.cts +2991 -0
  11. package/dist/capnp-es.BHkXHvyK-CQWXOqvU.d.cts.map +1 -0
  12. package/dist/{capnp-es.GpvEvMIK-C4q8I6qy.mjs → capnp-es.GpvEvMIK-CH8kq1KS.mjs} +13 -6
  13. package/dist/{capnp-es.GpvEvMIK-C4q8I6qy.mjs.map → capnp-es.GpvEvMIK-CH8kq1KS.mjs.map} +1 -1
  14. package/dist/{capnp-es.GpvEvMIK-BcYm5JyH.cjs → capnp-es.GpvEvMIK-CZ5ZimCD.cjs} +12 -5
  15. package/dist/{compile-Cx88xgqJ.mjs → compile-D_BOc0dD.mjs} +109 -15
  16. package/dist/compile-D_BOc0dD.mjs.map +1 -0
  17. package/dist/{compile-SmxAaHxW.cjs → compile-Yq1zhccM.cjs} +113 -19
  18. package/dist/compile.cjs +2 -2
  19. package/dist/compile.d.cts +38 -3
  20. package/dist/compile.d.cts.map +1 -0
  21. package/dist/compile.d.mts +38 -3
  22. package/dist/compile.d.mts.map +1 -0
  23. package/dist/compile.mjs +1 -2
  24. package/dist/{dist-BlvFBzSi.mjs → dist-DQ7xmzRT.mjs} +385 -16
  25. package/dist/dist-DQ7xmzRT.mjs.map +1 -0
  26. package/dist/{dist-YywzZL3Q.cjs → dist-VMGxvENY.cjs} +381 -12
  27. package/dist/{helpers-BoYAadSB.mjs → helpers-2TldkyGG.mjs} +136 -137
  28. package/dist/helpers-2TldkyGG.mjs.map +1 -0
  29. package/dist/{helpers-gxlsFdP8.cjs → helpers-Dn4nWOb7.cjs} +164 -165
  30. package/dist/helpers.cjs +2 -1
  31. package/dist/helpers.d.cts +1 -2
  32. package/dist/helpers.d.cts.map +1 -1
  33. package/dist/helpers.d.mts +1 -2
  34. package/dist/helpers.d.mts.map +1 -1
  35. package/dist/helpers.mjs +1 -1
  36. package/dist/index-63Za7yNc.d.cts +736 -0
  37. package/dist/index-63Za7yNc.d.cts.map +1 -0
  38. package/dist/index-LYXu6eWz.d.mts +736 -0
  39. package/dist/index-LYXu6eWz.d.mts.map +1 -0
  40. package/dist/index.cjs +5 -5
  41. package/dist/index.d.cts +5 -4
  42. package/dist/index.d.mts +5 -4
  43. package/dist/index.mjs +4 -5
  44. package/dist/rpc-helpers.cjs +4 -3
  45. package/dist/rpc-helpers.d.cts +3 -4
  46. package/dist/rpc-helpers.d.cts.map +1 -1
  47. package/dist/rpc-helpers.d.mts +3 -4
  48. package/dist/rpc-helpers.d.mts.map +1 -1
  49. package/dist/rpc-helpers.mjs +2 -2
  50. package/dist/types-BjCOVfgj.d.cts +1506 -0
  51. package/dist/types-BjCOVfgj.d.cts.map +1 -0
  52. package/dist/types-CVzMn-TI.d.mts +1506 -0
  53. package/dist/types-CVzMn-TI.d.mts.map +1 -0
  54. package/dist/types.cjs +8 -2
  55. package/dist/types.d.cts +1 -1
  56. package/dist/types.d.mts +1 -1
  57. package/dist/types.mjs +7 -2
  58. package/dist/types.mjs.map +1 -0
  59. package/package.json +5 -5
  60. package/schemas/cpp.cjs +1 -0
  61. package/schemas/cpp.d.cts.map +1 -1
  62. package/schemas/cpp.d.mts.map +1 -1
  63. package/schemas/index-BB47pUzp.d.cts +742 -0
  64. package/schemas/index-BB47pUzp.d.cts.map +1 -0
  65. package/schemas/index-DprjZUdT.d.mts +742 -0
  66. package/schemas/index-DprjZUdT.d.mts.map +1 -0
  67. package/schemas/persistent.cjs +2 -1
  68. package/schemas/persistent.d.cts +48 -21
  69. package/schemas/persistent.d.cts.map +1 -1
  70. package/schemas/persistent.d.mts +48 -21
  71. package/schemas/persistent.d.mts.map +1 -1
  72. package/schemas/persistent.mjs +1 -1
  73. package/schemas/persistent.mjs.map +1 -1
  74. package/schemas/rpc-twoparty.cjs +20 -1
  75. package/schemas/rpc-twoparty.d.cts +17 -17
  76. package/schemas/rpc-twoparty.d.cts.map +1 -1
  77. package/schemas/rpc-twoparty.d.mts +17 -17
  78. package/schemas/rpc-twoparty.d.mts.map +1 -1
  79. package/schemas/rpc-twoparty.mjs +19 -1
  80. package/schemas/rpc-twoparty.mjs.map +1 -1
  81. package/schemas/rpc.cjs +371 -1
  82. package/schemas/rpc.d.cts +141 -141
  83. package/schemas/rpc.d.cts.map +1 -1
  84. package/schemas/rpc.d.mts +141 -141
  85. package/schemas/rpc.d.mts.map +1 -1
  86. package/schemas/rpc.mjs +370 -1
  87. package/schemas/rpc.mjs.map +1 -1
  88. package/schemas/schema.cjs +96 -1
  89. package/schemas/schema.d.cts +286 -228
  90. package/schemas/schema.d.cts.map +1 -1
  91. package/schemas/schema.d.mts +286 -228
  92. package/schemas/schema.d.mts.map +1 -1
  93. package/schemas/schema.mjs +95 -1
  94. package/schemas/schema.mjs.map +1 -1
  95. package/schemas/{src-2eLj6yCr.cjs → src-B6FhDNiV.cjs} +19 -12
  96. package/schemas/{src-s2pCu2mc.mjs → src-B97sIXSw.mjs} +19 -13
  97. package/schemas/src-B97sIXSw.mjs.map +1 -0
  98. package/schemas/ts.cjs +1 -0
  99. package/schemas/ts.d.cts.map +1 -1
  100. package/schemas/ts.d.mts.map +1 -1
  101. package/dist/compile-Cx88xgqJ.mjs.map +0 -1
  102. package/dist/compile-DccxA7WZ.d.cts +0 -40
  103. package/dist/compile-DccxA7WZ.d.cts.map +0 -1
  104. package/dist/compile-UkKIpqrK.d.mts +0 -40
  105. package/dist/compile-UkKIpqrK.d.mts.map +0 -1
  106. package/dist/dist-BlvFBzSi.mjs.map +0 -1
  107. package/dist/helpers-BoYAadSB.mjs.map +0 -1
  108. package/dist/types-Cuj2daUE.mjs +0 -8
  109. package/dist/types-Cuj2daUE.mjs.map +0 -1
  110. package/dist/types-D03SjfBL.d.mts +0 -55
  111. package/dist/types-D03SjfBL.d.mts.map +0 -1
  112. package/dist/types-D52qMMoK.d.cts +0 -55
  113. package/dist/types-D52qMMoK.d.cts.map +0 -1
  114. package/dist/types-DHrjS-69.cjs +0 -13
  115. package/schemas/index-BAJMwFip.d.mts +0 -96
  116. package/schemas/index-BAJMwFip.d.mts.map +0 -1
  117. package/schemas/index-b7dam4EA.d.cts +0 -96
  118. package/schemas/index-b7dam4EA.d.cts.map +0 -1
  119. package/schemas/src-s2pCu2mc.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-2TldkyGG.mjs","names":["chalk"],"sources":["../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-5DQF4GNF.js","../../../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js","../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js","../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js","../../../../node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js","../../../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","../../../../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js","../../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js","../../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js","../../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-HVVJHTFS.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-G2MK47WL.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-RALMUN5C.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-ZFNAUMQS.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-JZAYHDV3.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-SXPH7ILL.js","../../../../node_modules/.pnpm/@storm-software+config-tools@1.190.1_zod@4.4.3/node_modules/@storm-software/config-tools/dist/chunk-TOMKPXJE.js","../../../convert/src/to-array.ts","../../src/helpers.ts"],"sourcesContent":["// src/utilities/colors.ts\nvar DEFAULT_COLOR_CONFIG = {\n light: {\n background: \"#fafafa\",\n foreground: \"#1d1e22\",\n brand: \"#1fb2a6\",\n alternate: \"#db2777\",\n help: \"#5C4EE5\",\n success: \"#087f5b\",\n info: \"#0550ae\",\n debug: \"#8afafc\",\n warning: \"#e3b341\",\n danger: \"#D8314A\",\n fatal: \"#51070f\",\n performance: \"#13c302\",\n link: \"#3fa6ff\",\n positive: \"#22c55e\",\n negative: \"#dc2626\",\n gradient: [\"#1fb2a6\", \"#db2777\", \"#5C4EE5\"]\n },\n dark: {\n background: \"#1d1e22\",\n foreground: \"#cbd5e1\",\n brand: \"#2dd4bf\",\n alternate: \"#db2777\",\n help: \"#818cf8\",\n success: \"#10b981\",\n info: \"#58a6ff\",\n debug: \"#8afafc\",\n warning: \"#f3d371\",\n danger: \"#D8314A\",\n fatal: \"#a40e26\",\n performance: \"#80fd74\",\n link: \"#3fa6ff\",\n positive: \"#22c55e\",\n negative: \"#dc2626\",\n gradient: [\"#1fb2a6\", \"#db2777\", \"#818cf8\"]\n }\n};\nfunction getColors(config) {\n if (!config?.colors || typeof config.colors !== \"object\" || !config.colors[\"dark\"] && (!config.colors[\"base\"] || typeof config.colors !== \"object\" || !config.colors[\"base\"]?.[\"dark\"])) {\n return DEFAULT_COLOR_CONFIG;\n }\n if (config.colors[\"base\"]) {\n if (typeof config.colors[\"base\"][\"dark\"] === \"object\") {\n return config.colors[\"base\"][\"dark\"];\n } else if (config.colors[\"base\"][\"dark\"] === \"string\") {\n return config.colors[\"base\"];\n }\n }\n if (typeof config.colors[\"dark\"] === \"object\") {\n return config.colors[\"dark\"];\n }\n return config.colors ?? DEFAULT_COLOR_CONFIG;\n}\nfunction getColor(key, config) {\n const colors = getColors(config);\n const result = (typeof colors[\"dark\"] === \"object\" ? colors[\"dark\"][key] : colors[key]) || DEFAULT_COLOR_CONFIG[\"dark\"][key] || DEFAULT_COLOR_CONFIG[key];\n if (result) {\n return result;\n }\n if (key === \"link\" || key === \"debug\") {\n return getColor(\"info\", config);\n } else if (key === \"fatal\") {\n return getColor(\"danger\", config);\n }\n return getColor(\"brand\", config);\n}\nfunction getGradient(config) {\n const colors = getColors(config);\n const result = (typeof colors[\"dark\"] === \"object\" ? colors[\"dark\"].gradient : colors.gradient) || DEFAULT_COLOR_CONFIG[\"dark\"].gradient;\n if (result && Array.isArray(result) && result.length > 0) {\n return result;\n }\n return void 0;\n}\n\nexport {\n DEFAULT_COLOR_CONFIG,\n getColors,\n getColor,\n getGradient\n};\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n","'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\nconst {isArray} = Array;\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n","// src/logger/chalk.ts\nimport chalk from \"chalk\";\nvar chalkDefault = {\n hex: (_) => (message) => message,\n bgHex: (_) => ({\n whiteBright: (message) => message,\n white: (message) => message\n }),\n white: (message) => message,\n whiteBright: (message) => message,\n gray: (message) => message,\n bold: {\n hex: (_) => (message) => message,\n bgHex: (_) => ({\n whiteBright: (message) => message,\n white: (message) => message\n }),\n whiteBright: (message) => message,\n white: (message) => message\n },\n dim: {\n hex: (_) => (message) => message,\n gray: (message) => message\n }\n};\nvar getChalk = () => {\n let _chalk = chalk;\n if (!_chalk?.hex || !_chalk?.bold?.hex || !_chalk?.bgHex || !_chalk?.whiteBright || !_chalk?.white) {\n _chalk = chalkDefault;\n }\n return _chalk;\n};\n\nexport {\n getChalk\n};\n","// src/logger/is-unicode-supported.ts\nfunction isUnicodeSupported() {\n if (process.platform !== \"win32\") {\n return process.env.TERM !== \"linux\";\n }\n return Boolean(process.env.WT_SESSION) || // Windows Terminal\n Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)\n process.env.ConEmuTask === \"{cmd::Cmder}\" || // ConEmu and cmder\n process.env.TERM_PROGRAM === \"Terminus-Sublime\" || process.env.TERM_PROGRAM === \"vscode\" || process.env.TERM === \"xterm-256color\" || process.env.TERM === \"alacritty\" || process.env.TERM === \"rxvt-unicode\" || process.env.TERM === \"rxvt-unicode-256color\" || process.env.TERMINAL_EMULATOR === \"JetBrains-JediTerm\";\n}\n\nexport {\n isUnicodeSupported\n};\n","// src/types.ts\nvar LogLevel = {\n SILENT: 0,\n FATAL: 10,\n ERROR: 20,\n WARN: 30,\n SUCCESS: 35,\n INFO: 40,\n PERFORMANCE: 50,\n DEBUG: 60,\n TRACE: 70,\n ALL: 100\n};\nvar LogLevelLabel = {\n SILENT: \"silent\",\n FATAL: \"fatal\",\n ERROR: \"error\",\n WARN: \"warn\",\n SUCCESS: \"success\",\n INFO: \"info\",\n PERFORMANCE: \"performance\",\n DEBUG: \"debug\",\n TRACE: \"trace\",\n ALL: \"all\"\n};\n\nexport {\n LogLevel,\n LogLevelLabel\n};\n","import {\n isUnicodeSupported\n} from \"./chunk-G2MK47WL.js\";\nimport {\n LogLevelLabel\n} from \"./chunk-RALMUN5C.js\";\n\n// src/logger/console-icons.ts\nvar useIcon = (c, fallback) => isUnicodeSupported() ? c : fallback;\nvar CONSOLE_ICONS = {\n [LogLevelLabel.ERROR]: useIcon(\"\\u2718\", \"\\xD7\"),\n [LogLevelLabel.FATAL]: useIcon(\"\\u{1F571}\", \"\\xD7\"),\n [LogLevelLabel.WARN]: useIcon(\"\\u26A0\", \"\\u203C\"),\n [LogLevelLabel.INFO]: useIcon(\"\\u2139\", \"i\"),\n [LogLevelLabel.PERFORMANCE]: useIcon(\"\\u23F1\", \"\\u23F1\"),\n [LogLevelLabel.SUCCESS]: useIcon(\"\\u2714\", \"\\u221A\"),\n [LogLevelLabel.DEBUG]: useIcon(\"\\u{1F6E0}\", \"D\"),\n [LogLevelLabel.TRACE]: useIcon(\"\\u2699\", \"T\"),\n [LogLevelLabel.ALL]: useIcon(\"\\u2709\", \"\\u2192\")\n};\n\nexport {\n CONSOLE_ICONS\n};\n","// src/logger/format-timestamp.ts\nvar formatTimestamp = (fullDateTime = false, date = /* @__PURE__ */ new Date()) => {\n return fullDateTime ? `${date.toLocaleDateString()} ${date.toLocaleTimeString()}` : `${date.toLocaleTimeString()}`;\n};\n\nexport {\n formatTimestamp\n};\n","import {\n LogLevel,\n LogLevelLabel\n} from \"./chunk-RALMUN5C.js\";\n\n// src/logger/get-log-level.ts\nvar getLogLevel = (label) => {\n switch (label) {\n case \"all\":\n return LogLevel.ALL;\n case \"trace\":\n return LogLevel.TRACE;\n case \"debug\":\n return LogLevel.DEBUG;\n case \"performance\":\n return LogLevel.PERFORMANCE;\n case \"info\":\n return LogLevel.INFO;\n case \"warn\":\n return LogLevel.WARN;\n case \"error\":\n return LogLevel.ERROR;\n case \"fatal\":\n return LogLevel.FATAL;\n case \"silent\":\n return LogLevel.SILENT;\n default:\n return LogLevel.INFO;\n }\n};\nvar getLogLevelLabel = (logLevel = LogLevel.INFO) => {\n if (logLevel >= LogLevel.ALL) {\n return LogLevelLabel.ALL;\n }\n if (logLevel >= LogLevel.TRACE) {\n return LogLevelLabel.TRACE;\n }\n if (logLevel >= LogLevel.DEBUG) {\n return LogLevelLabel.DEBUG;\n }\n if (logLevel >= LogLevel.PERFORMANCE) {\n return LogLevelLabel.PERFORMANCE;\n }\n if (logLevel >= LogLevel.INFO) {\n return LogLevelLabel.INFO;\n }\n if (logLevel >= LogLevel.WARN) {\n return LogLevelLabel.WARN;\n }\n if (logLevel >= LogLevel.ERROR) {\n return LogLevelLabel.ERROR;\n }\n if (logLevel >= LogLevel.FATAL) {\n return LogLevelLabel.FATAL;\n }\n if (logLevel <= LogLevel.SILENT) {\n return LogLevelLabel.SILENT;\n }\n return LogLevelLabel.INFO;\n};\nvar isVerbose = (label = LogLevelLabel.SILENT) => {\n const logLevel = typeof label === \"string\" ? getLogLevel(label) : label;\n return logLevel >= LogLevel.DEBUG;\n};\n\nexport {\n getLogLevel,\n getLogLevelLabel,\n isVerbose\n};\n","import {\n DEFAULT_COLOR_CONFIG,\n getColor\n} from \"./chunk-5DQF4GNF.js\";\nimport {\n getChalk\n} from \"./chunk-HVVJHTFS.js\";\nimport {\n CONSOLE_ICONS\n} from \"./chunk-ZFNAUMQS.js\";\nimport {\n formatTimestamp\n} from \"./chunk-JZAYHDV3.js\";\nimport {\n getLogLevel\n} from \"./chunk-SXPH7ILL.js\";\nimport {\n LogLevel,\n LogLevelLabel\n} from \"./chunk-RALMUN5C.js\";\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.js\nvar daysInYear = 365.2425;\nvar maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1e3;\nvar minTime = -maxTime;\nvar minutesInMonth = 43200;\nvar minutesInDay = 1440;\nvar secondsInHour = 3600;\nvar secondsInDay = secondsInHour * 24;\nvar secondsInWeek = secondsInDay * 7;\nvar secondsInYear = secondsInDay * daysInYear;\nvar secondsInMonth = secondsInYear / 12;\nvar secondsInQuarter = secondsInMonth * 3;\nvar constructFromSymbol = Symbol.for(\"constructDateFrom\");\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js\nfunction constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n if (date instanceof Date) return new date.constructor(value);\n return new Date(value);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructNow.js\nfunction constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n};\nvar formatDistance = (token, count, options) => {\n let result;\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n return result;\n};\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js\nfunction buildFormatLongFn(args) {\n return (options = {}) => {\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js\nvar dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n};\nvar timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\"\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\"\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\"\n })\n};\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n};\nvar formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js\nfunction buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n return valuesArray[index];\n };\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js\nvar eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n};\nvar quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n};\nvar monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n};\nvar dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n};\nvar dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n};\nvar ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\nvar localize = {\n ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\"\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\"\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\"\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\"\n })\n};\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js\nfunction buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n const matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n const parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) : (\n // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString))\n );\n let value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? (\n // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n ) : value;\n const rest = string.slice(matchedString.length);\n return { value, rest };\n };\n}\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {\n return key;\n }\n }\n return void 0;\n}\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return void 0;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js\nfunction buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n const rest = string.slice(matchedString.length);\n return { value, rest };\n };\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i\n ],\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i\n ]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10)\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\"\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\"\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\"\n })\n};\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js\nvar enUS = {\n code: \"en-US\",\n formatDistance,\n formatLong,\n formatRelative,\n localize,\n match,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js\nvar defaultOptions = {};\nfunction getDefaultOptions() {\n return defaultOptions;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js\nfunction toDate(argument, context) {\n return constructFrom(context || argument, argument);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js\nfunction getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds()\n )\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js\nfunction normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\")\n );\n return dates.map(normalize);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/compareAsc.js\nfunction compareAsc(dateLeft, dateRight) {\n const diff = +toDate(dateLeft) - +toDate(dateRight);\n if (diff < 0) return -1;\n else if (diff > 0) return 1;\n return diff;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarMonths.js\nfunction differenceInCalendarMonths(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate\n );\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();\n return yearsDiff * 12 + monthsDiff;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfDay.js\nfunction endOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfMonth.js\nfunction endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isLastDayOfMonth.js\nfunction isLastDayOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n return +endOfDay(_date, options) === +endOfMonth(_date, options);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInMonths.js\nfunction differenceInMonths(laterDate, earlierDate, options) {\n const [laterDate_, workingLaterDate, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n laterDate,\n earlierDate\n );\n const sign = compareAsc(workingLaterDate, earlierDate_);\n const difference = Math.abs(\n differenceInCalendarMonths(workingLaterDate, earlierDate_)\n );\n if (difference < 1) return 0;\n if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27)\n workingLaterDate.setDate(30);\n workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference);\n let isLastMonthNotFull = compareAsc(workingLaterDate, earlierDate_) === -sign;\n if (isLastDayOfMonth(laterDate_) && difference === 1 && compareAsc(laterDate_, earlierDate_) === 1) {\n isLastMonthNotFull = false;\n }\n const result = sign * (difference - +isLastMonthNotFull);\n return result === 0 ? 0 : result;\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getRoundingMethod.js\nfunction getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n return result === 0 ? 0 : result;\n };\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInMilliseconds.js\nfunction differenceInMilliseconds(laterDate, earlierDate) {\n return +toDate(laterDate) - +toDate(earlierDate);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInSeconds.js\nfunction differenceInSeconds(laterDate, earlierDate, options) {\n const diff = differenceInMilliseconds(laterDate, earlierDate) / 1e3;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatDistance.js\nfunction formatDistance2(laterDate, earlierDate, options) {\n const defaultOptions2 = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions2.locale ?? enUS;\n const minutesInAlmostTwoDays = 2520;\n const comparison = compareAsc(laterDate, earlierDate);\n if (isNaN(comparison)) throw new RangeError(\"Invalid time value\");\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison\n });\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n ...comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]\n );\n const seconds = differenceInSeconds(earlierDate_, laterDate_);\n const offsetInSeconds = (getTimezoneOffsetInMilliseconds(earlierDate_) - getTimezoneOffsetInMilliseconds(laterDate_)) / 1e3;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n months = differenceInMonths(earlierDate_, laterDate_);\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatDistanceToNow.js\nfunction formatDistanceToNow(date, options) {\n return formatDistance2(date, constructNow(date), options);\n}\n\n// src/logger/console.ts\nvar getLogFn = (logLevel = LogLevel.INFO, config = {}, options = {}) => {\n const {\n chalk: _chalk = getChalk(),\n fullDateTime = false,\n hideDateTime = false\n } = options;\n const colors = !config.colors?.dark && !config.colors?.[\"base\"] && !config.colors?.[\"base\"]?.dark ? DEFAULT_COLOR_CONFIG : config.colors?.dark && typeof config.colors.dark === \"string\" ? config.colors : config.colors?.[\"base\"]?.dark && typeof config.colors[\"base\"].dark === \"string\" ? config.colors[\"base\"].dark : config.colors?.[\"base\"] ? config.colors?.[\"base\"] : DEFAULT_COLOR_CONFIG;\n const configLogLevel = config.logLevel || process.env.STORM_LOG_LEVEL || LogLevelLabel.INFO;\n if (logLevel > getLogLevel(configLogLevel) || logLevel <= LogLevel.SILENT || getLogLevel(configLogLevel) <= LogLevel.SILENT) {\n return (_) => {\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.FATAL >= logLevel) {\n return (message) => {\n console.error(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.fatal ?? DEFAULT_COLOR_CONFIG.dark.fatal)(\n `[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.ERROR >= logLevel) {\n return (message) => {\n console.error(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.danger ?? DEFAULT_COLOR_CONFIG.dark.danger)(\n `[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.WARN >= logLevel) {\n return (message) => {\n console.warn(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.warning ?? DEFAULT_COLOR_CONFIG.dark.warning)(\n `[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.SUCCESS >= logLevel) {\n return (message) => {\n console.info(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.success ?? DEFAULT_COLOR_CONFIG.dark.success)(\n `[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.INFO >= logLevel) {\n return (message) => {\n console.info(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.info ?? DEFAULT_COLOR_CONFIG.dark.info)(\n `[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.PERFORMANCE >= logLevel) {\n return (message) => {\n console.debug(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.performance ?? DEFAULT_COLOR_CONFIG.dark.performance)(\n `[${CONSOLE_ICONS[LogLevelLabel.PERFORMANCE]} Performance] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.DEBUG >= logLevel) {\n return (message) => {\n console.debug(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.debug ?? DEFAULT_COLOR_CONFIG.dark.debug)(\n `[${CONSOLE_ICONS[LogLevelLabel.DEBUG]} Debug] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n if (typeof logLevel === \"number\" && LogLevel.TRACE >= logLevel) {\n return (message) => {\n console.debug(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(\"#bbbbbb\")(\n `[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Trace] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n }\n return (message) => {\n console.log(\n `\n${hideDateTime ? \"\" : `${_chalk.gray(formatTimestamp(fullDateTime))} `}${_chalk.hex(colors.brand ?? DEFAULT_COLOR_CONFIG.dark.brand)(\n `[${CONSOLE_ICONS[LogLevelLabel.ALL]} System] `\n )}${_chalk.bold.whiteBright(formatLogMessage(message))}\n`\n );\n };\n};\nvar writeFatal = (message, config) => getLogFn(LogLevel.FATAL, config)(message);\nvar writeError = (message, config) => getLogFn(LogLevel.ERROR, config)(message);\nvar writeWarning = (message, config) => getLogFn(LogLevel.WARN, config)(message);\nvar writeInfo = (message, config) => getLogFn(LogLevel.INFO, config)(message);\nvar writeSuccess = (message, config) => getLogFn(LogLevel.SUCCESS, config)(message);\nvar writePerformance = (message, config) => getLogFn(LogLevel.PERFORMANCE, config)(message);\nvar writeDebug = (message, config) => getLogFn(LogLevel.DEBUG, config)(message);\nvar writeTrace = (message, config) => getLogFn(LogLevel.TRACE, config)(message);\nvar writeSystem = (message, config) => getLogFn(LogLevel.ALL, config)(message);\nvar getStopwatch = (name) => {\n const start = /* @__PURE__ */ new Date();\n return () => {\n writePerformance(\n `The${name ? ` ${name}` : \"\"} process took ${formatDistanceToNow(start, {\n includeSeconds: true\n })} to complete`\n );\n };\n};\nvar MAX_DEPTH = 6;\nvar formatLogMessage = (message, options = {}, depth = 0) => {\n if (depth > MAX_DEPTH) {\n return \"<max depth>\";\n }\n const prefix = options.prefix ?? \"-\";\n const skip = options.skip ?? [];\n return typeof message === \"undefined\" || message === null || !message && typeof message !== \"boolean\" ? \"<none>\" : typeof message === \"string\" ? message : Array.isArray(message) ? `\n${message.map((item, index) => ` ${prefix}> #${index} = ${formatLogMessage(item, { prefix: `${prefix}-`, skip }, depth + 1)}`).join(\"\\n\")}` : typeof message === \"object\" ? `\n${Object.keys(message).filter((key) => !skip.includes(key)).map(\n (key) => ` ${prefix}> ${key} = ${_isFunction(message[key]) ? \"<function>\" : typeof message[key] === \"object\" ? formatLogMessage(\n message[key],\n { prefix: `${prefix}-`, skip },\n depth + 1\n ) : message[key]}`\n ).join(\"\\n\")}` : message;\n};\nvar _isFunction = (value) => {\n try {\n return value instanceof Function || typeof value === \"function\" || !!(value?.constructor && value?.call && value?.apply);\n } catch {\n return false;\n }\n};\nvar brandIcon = (config = {}, _chalk = getChalk()) => _chalk.hex(getColor(\"brand\", config))(\"\\u{1F5F2}\");\n\nexport {\n getLogFn,\n writeFatal,\n writeError,\n writeWarning,\n writeInfo,\n writeSuccess,\n writePerformance,\n writeDebug,\n writeTrace,\n writeSystem,\n getStopwatch,\n formatLogMessage,\n brandIcon\n};\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Arrayable } from \"@stryke/types/array\";\nimport type { Nullable } from \"@stryke/types/base\";\n\n/**\n * Convert `Arrayable<T>` to `Array<T>`\n *\n * @param array - The `Arrayable<T>` to convert\n * @returns An `Array<T>` containing the elements of the input\n */\nexport function toArray<T>(array?: Nullable<Arrayable<T>>): Array<T> {\n array = array ?? [];\n return Array.isArray(array) ? array : [array];\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n writeFatal,\n writeInfo,\n writeWarning\n} from \"@storm-software/config-tools/logger/console\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { createDirectory, isFile } from \"@stryke/fs\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { readJsonFile } from \"@stryke/fs/json\";\nimport { listFiles, listSync } from \"@stryke/fs/list-files\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { findFilePath, relativePath } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type { TsConfigJson } from \"@stryke/types/tsconfig\";\nimport type { ParsedCommandLine } from \"typescript\";\nimport { parseJsonConfigFileContent, sys } from \"typescript\";\nimport type { CapnpcOptions, CapnpcResolvedOptions } from \"./types.js\";\n\n/**\n * Resolves the options for the Cap'n Proto compiler.\n *\n * @param options - The options to resolve\n * @returns The resolved options\n */\nexport async function resolveOptions(\n options: Omit<CapnpcOptions, \"workspaceRoot\" | \"projectRoot\"> &\n Required<Pick<CapnpcOptions, \"workspaceRoot\" | \"projectRoot\">>\n): Promise<CapnpcResolvedOptions | null> {\n const tsconfigPath = options.tsconfigPath\n ? options.tsconfigPath\n .replace(\"{projectRoot}\", options.projectRoot)\n .replace(\"{workspaceRoot}\", options.workspaceRoot)\n : joinPaths(options.projectRoot, \"tsconfig.json\");\n\n const schemas = [] as string[];\n if (options.schemas) {\n schemas.push(\n ...toArray(options.schemas)\n .filter(Boolean)\n .map(schema =>\n schema\n .replace(\"{projectRoot}\", options.projectRoot)\n .replace(\"{workspaceRoot}\", options.workspaceRoot)\n )\n .map(schema =>\n schema.includes(\"*\") ||\n schema.endsWith(\".capnp\") ||\n (existsSync(schema) &&\n listSync(joinPaths(schema, \"**/*.capnp\")).length > 0)\n ? schema\n : existsSync(joinPaths(options.projectRoot, schema)) &&\n listSync(joinPaths(options.projectRoot, schema, \"**/*.capnp\"))\n .length > 0\n ? joinPaths(options.projectRoot, schema, \"**/*.capnp\")\n : existsSync(joinPaths(options.workspaceRoot, schema)) &&\n listSync(\n joinPaths(options.workspaceRoot, schema, \"**/*.capnp\")\n ).length > 0\n ? joinPaths(options.workspaceRoot, schema, \"**/*.capnp\")\n : schema\n )\n );\n } else {\n schemas.push(\n existsSync(joinPaths(options.projectRoot, \"schemas/**/*.capnp\")) &&\n listSync(joinPaths(options.projectRoot, \"schemas/**/*.capnp\")).length >\n 0\n ? joinPaths(options.projectRoot, \"schemas/**/*.capnp\")\n : existsSync(joinPaths(options.workspaceRoot, \"schemas/**/*.capnp\")) &&\n listSync(joinPaths(options.workspaceRoot, \"schemas/**/*.capnp\"))\n .length > 0\n ? joinPaths(options.workspaceRoot, \"schemas/**/*.capnp\")\n : \"schemas/**/*.capnp\"\n );\n }\n\n let resolvedTsconfig!: ParsedCommandLine;\n if (options.tsconfig) {\n resolvedTsconfig = options.tsconfig;\n } else {\n let resolvedTsconfigPath = tsconfigPath;\n if (!existsSync(resolvedTsconfigPath)) {\n const found = [\n joinPaths(options.projectRoot, \"tsconfig.json\"),\n joinPaths(options.projectRoot, \"tsconfig.lib.json\"),\n joinPaths(options.projectRoot, \"tsconfig.app.json\"),\n joinPaths(options.projectRoot, \"tsconfig.capnp.json\"),\n joinPaths(options.projectRoot, \"tsconfig.schema.json\"),\n joinPaths(options.workspaceRoot, \"tsconfig.json\"),\n joinPaths(options.workspaceRoot, \"tsconfig.lib.json\"),\n joinPaths(options.workspaceRoot, \"tsconfig.app.json\"),\n joinPaths(options.workspaceRoot, \"tsconfig.capnp.json\"),\n joinPaths(options.workspaceRoot, \"tsconfig.schema.json\")\n ].find(path => existsSync(path));\n if (found) {\n resolvedTsconfigPath = found;\n }\n }\n\n if (!resolvedTsconfigPath || !existsSync(resolvedTsconfigPath)) {\n const errorMessage = tsconfigPath\n ? `✖ The specified TypeScript configuration file \"${\n tsconfigPath\n }\" does not exist. Please provide a valid path.`\n : \"✖ The specified TypeScript configuration file does not exist. Please provide a valid path.\";\n writeFatal(errorMessage, { logLevel: \"all\" });\n\n throw new Error(errorMessage);\n }\n\n const tsconfigFile = await readJsonFile<TsConfigJson>(tsconfigPath);\n resolvedTsconfig = parseJsonConfigFileContent(\n tsconfigFile,\n sys,\n findFilePath(tsconfigPath)\n );\n if (!resolvedTsconfig) {\n const errorMessage = `✖ The specified TypeScript configuration file \"${\n tsconfigPath\n }\" is invalid. Please provide a valid configuration.`;\n writeFatal(errorMessage, { logLevel: \"all\" });\n\n throw new Error(errorMessage);\n }\n\n resolvedTsconfig.options.configFilePath = tsconfigPath;\n resolvedTsconfig.options.noImplicitOverride = false;\n resolvedTsconfig.options.noUnusedLocals = false;\n resolvedTsconfig.options.noUnusedParameters = false;\n }\n\n const resolvedSchemas = [] as string[];\n for (const schema of schemas) {\n let formattedSchema = schema;\n if (!schema.endsWith(\".capnp\") && !schema.includes(\"*\")) {\n formattedSchema = `${schema.replace(/\\/$/g, \"\")}/*.capnp`;\n }\n\n resolvedSchemas.push(...(await listFiles(formattedSchema)));\n }\n\n if (resolvedSchemas.length === 0 || !resolvedSchemas[0]) {\n writeWarning(\n `✖ No Cap'n Proto schema files found in the specified source paths: ${schemas.join(\n \", \"\n )}. As a result, the Cap'n Proto compiler will not be able to generate any output files. Please ensure that the paths are correct and contain .capnp files.`,\n { logLevel: \"all\" }\n );\n\n return null;\n }\n\n const output = options.output\n ? options.output\n .replace(\"{projectRoot}\", options.projectRoot)\n .replace(\"{workspaceRoot}\", options.workspaceRoot)\n : appendPath(\n relativePath(\n tsconfigPath ? findFilePath(tsconfigPath) : options.projectRoot,\n appendPath(\n resolvedSchemas[0].endsWith(\".capnp\")\n ? findFilePath(resolvedSchemas[0])\n : resolvedSchemas[0],\n options.workspaceRoot\n )\n ),\n options.projectRoot\n );\n if (!existsSync(output)) {\n if (isFile(output)) {\n const errorMessage = `✖ The specified output path \"${\n output\n }\" is a file. Please provide a valid directory path.`;\n writeFatal(errorMessage, { logLevel: \"all\" });\n\n throw new Error(errorMessage);\n }\n\n writeInfo(\n `Output directory \"${\n output\n }\" does not exist. It will be created automatically.`,\n {\n logLevel: \"all\"\n }\n );\n\n await createDirectory(output);\n }\n\n resolvedTsconfig.options.outDir = output;\n\n return {\n ...options,\n importPath: options.importPath\n ? options.importPath.split(\",\").map(dir => dir.trim())\n : [],\n workspaceRoot: options.workspaceRoot,\n projectRoot: options.projectRoot,\n schemas: resolvedSchemas,\n output,\n js: options.js === true,\n ts: options.noTs !== true,\n dts: options.dts ?? options.noDts !== true,\n tsconfig: resolvedTsconfig\n };\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],"mappings":"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"}