decocms 2.276.1 → 2.276.2

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 (333) hide show
  1. package/dist/client/assets/{AlertCircle-DzLXavEa.js → AlertCircle-BBqU1qWS.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-CyEr_HFQ.js → ArrowNarrowLeft-CNekOP3n.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-CMotQv5X.js → CheckCircle-D1VIcB1v.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-L-DKp152.js → ChevronDown-D3j8fwsA.js} +1 -1
  5. package/dist/client/assets/{ChevronRight-BU1ygmWa.js → ChevronRight-iahU_m85.js} +1 -1
  6. package/dist/client/assets/{ChevronUp-7uxSSWGB.js → ChevronUp-gcRxFSBd.js} +1 -1
  7. package/dist/client/assets/{Container-DXt1Y9Wv.js → Container-ClismqwZ.js} +1 -1
  8. package/dist/client/assets/{LinkExternal01-DzF5OZ-B.js → LinkExternal01-Cr5TrBdV.js} +1 -1
  9. package/dist/client/assets/{Lock01-KkAI4eIi.js → Lock01-BaFHhauP.js} +1 -1
  10. package/dist/client/assets/{Palette-DjlDo0fl.js → Palette-B56V8p0g.js} +1 -1
  11. package/dist/client/assets/{Play-mrdTPMT2.js → Play-CJl6p68m.js} +1 -1
  12. package/dist/client/assets/{Plus-BnKCd83q.js → Plus-uRTzng7P.js} +1 -1
  13. package/dist/client/assets/{SearchMd-tnuXyfyF.js → SearchMd-w0SZQ38I.js} +1 -1
  14. package/dist/client/assets/{Settings02-CN6Z9eZa.js → Settings02-JhLe5T4h.js} +1 -1
  15. package/dist/client/assets/{Star01-DeLN6-0b.js → Star01-izvvU391.js} +1 -1
  16. package/dist/client/assets/{Sun-LtQGOgdh.js → Sun-B88VGXex.js} +1 -1
  17. package/dist/client/assets/{Tool01-lLv0JLVY.js → Tool01-DTFWc1H6.js} +1 -1
  18. package/dist/client/assets/{Trash01-DoOAWIQI.js → Trash01-DpAt8su9.js} +1 -1
  19. package/dist/client/assets/{Upload01-7P4qiqOJ.js → Upload01-xcbOBsW3.js} +1 -1
  20. package/dist/client/assets/{User01-C8Udq3pX.js → User01-B4t4xc7U.js} +1 -1
  21. package/dist/client/assets/{Users03-DbtRtQOU.js → Users03-DlknPznL.js} +1 -1
  22. package/dist/client/assets/{X-BFlss5X6.js → X-g-dkGEmI.js} +1 -1
  23. package/dist/client/assets/{XCircle-dq7U4Ag4.js → XCircle-poys0PpN.js} +1 -1
  24. package/dist/client/assets/{Zap-BAW2hqs8.js → Zap-DKHqYmya.js} +1 -1
  25. package/dist/client/assets/{ZapSquare-47s5RaJz.js → ZapSquare-CZVrqALN.js} +1 -1
  26. package/dist/client/assets/{accordion-CJFetHYg.js → accordion-DWL2RSp4.js} +1 -1
  27. package/dist/client/assets/{agent-icon-BlE73Zsp.js → agent-icon-UJwlsHQH.js} +1 -1
  28. package/dist/client/assets/{agents-list-8pSgveYv.js → agents-list-BLMcQORq.js} +1 -1
  29. package/dist/client/assets/ai-providers-lpqEGWpz.js +1 -0
  30. package/dist/client/assets/{alert-dialog-eE56pYmR.js → alert-dialog-FDHWZ_uw.js} +1 -1
  31. package/dist/client/assets/{auth-catchall-BwK0uWKA.js → auth-catchall-B0v3A89U.js} +1 -1
  32. package/dist/client/assets/{automation-list-row-BPrk3J0B.js → automation-list-row-C6mcsBHm.js} +1 -1
  33. package/dist/client/assets/{automations-DdUI9sAB.js → automations-z7BI_mS7.js} +1 -1
  34. package/dist/client/assets/{avatar-CtYV06kc.js → avatar-USIFL3XA.js} +1 -1
  35. package/dist/client/assets/{badge-tpgHtQ7V.js → badge-Dw59WStE.js} +1 -1
  36. package/dist/client/assets/{brand-context-lj0GAPtO.js → brand-context-BXlYB8LR.js} +1 -1
  37. package/dist/client/assets/{card-DLDrg93a.js → card-DlmO8yFT.js} +1 -1
  38. package/dist/client/assets/{chat-context-D07By542.js → chat-context-BzUFrztp.js} +1 -1
  39. package/dist/client/assets/{checkbox-d841RB1L.js → checkbox-DWN5XcT5.js} +1 -1
  40. package/dist/client/assets/{collection-detail--VmlTh4t.js → collection-detail-Di2yAOsh.js} +1 -1
  41. package/dist/client/assets/{collection-display-button-DI9Fama5.js → collection-display-button-B_BTdRYF.js} +1 -1
  42. package/dist/client/assets/{collection-search-D-I9_t8m.js → collection-search-ClPQOcN2.js} +1 -1
  43. package/dist/client/assets/{collection-table-wrapper-itdO5bAr.js → collection-table-wrapper-BeRe_RwV.js} +1 -1
  44. package/dist/client/assets/{collection-tabs-pP86sgyd.js → collection-tabs-8zopfSWv.js} +1 -1
  45. package/dist/client/assets/{collections-BPUbighK.js → collections-Bzlz5pov.js} +1 -1
  46. package/dist/client/assets/{command-D8O3Gl1-.js → command-DKdp37Eh.js} +1 -1
  47. package/dist/client/assets/{connection-card-BGPp7cgG.js → connection-card-2gDnhNHg.js} +1 -1
  48. package/dist/client/assets/{connection-detail-DAn-_duM.js → connection-detail-ItRBP4TJ.js} +1 -1
  49. package/dist/client/assets/{connection-form-helpers-Dlhs2WWB.js → connection-form-helpers-8n1o0jn6.js} +1 -1
  50. package/dist/client/assets/{connections-BRZqo7jJ.js → connections-Eb9MEf-Q.js} +1 -1
  51. package/dist/client/assets/{constants-DyN4OIf-.js → constants-45iVR-Pa.js} +1 -1
  52. package/dist/client/assets/{constants-BZ8fIY1P.js → constants-B6Y_WQ-J.js} +1 -1
  53. package/dist/client/assets/{dialog-DLubr7v0.js → dialog-Cqz8DxyP.js} +1 -1
  54. package/dist/client/assets/{drawer-CVqexqUr.js → drawer-D1waomcL.js} +1 -1
  55. package/dist/client/assets/{dropdown-menu-BXJH7fBR.js → dropdown-menu-CqFvWQQD.js} +1 -1
  56. package/dist/client/assets/{dynamic-plugin-layout-AXXFjwEt.js → dynamic-plugin-layout-CC7bPba5.js} +1 -1
  57. package/dist/client/assets/{empty-state-hH1NKVzr.js → empty-state-A7wIyI5K.js} +1 -1
  58. package/dist/client/assets/{empty-state-BL3PU4_L.js → empty-state-VbPFzdDp.js} +1 -1
  59. package/dist/client/assets/{extract-connection-data-DL9tWRm2.js → extract-connection-data-B9Ysw6Jg.js} +1 -1
  60. package/dist/client/assets/{features-DJXnzWer.js → features-CbgyfbY9.js} +1 -1
  61. package/dist/client/assets/{form-BDmSvtuk.js → form-CGj888dU.js} +1 -1
  62. package/dist/client/assets/{general-BVT3P06A.js → general-B2hBrPb3.js} +1 -1
  63. package/dist/client/assets/{index-CUWSLjT5.js → index-46g4uSud.js} +1 -1
  64. package/dist/client/assets/{index-npGPP9fY.js → index-6j1-PJ1E.js} +1 -1
  65. package/dist/client/assets/{index-C0c2Yov8.js → index-BBSrDR2H.js} +1 -1
  66. package/dist/client/assets/{index-e1fvgisD.js → index-BH4kwjXY.js} +4 -4
  67. package/dist/client/assets/{index-C0PreFo1.js → index-BX-c_NH6.js} +1 -1
  68. package/dist/client/assets/{index-BpYvJ4OX.js → index-BhyPvUQF.js} +1 -1
  69. package/dist/client/assets/{index-C2OWmxK2.js → index-BoqnJI2v.js} +1 -1
  70. package/dist/client/assets/{index-WFhI_y7d.js → index-ChD4d8Fy.js} +1 -1
  71. package/dist/client/assets/{index-D1NUtWck.js → index-DN06f7L5.js} +2 -2
  72. package/dist/client/assets/{index-BkXWz19f.js → index-Do97zrKf.js} +1 -1
  73. package/dist/client/assets/{infiniteQueryObserver-DGAc9onj.js → infiniteQueryObserver-DYIxP7Ht.js} +1 -1
  74. package/dist/client/assets/{input-CEXK-6_7.js → input-BoegRSKK.js} +1 -1
  75. package/dist/client/assets/{integration-icon-C8gBnSmM.js → integration-icon-TghpaT83.js} +1 -1
  76. package/dist/client/assets/{label-T5gX1YRQ.js → label-Dx2DK5Dz.js} +1 -1
  77. package/dist/client/assets/{layout-BzOmqcKp.js → layout-BzY3AXeK.js} +1 -1
  78. package/dist/client/assets/{lean-canvas-recruit-modal-C2DCGFQ1.js → lean-canvas-recruit-modal-C13TMEgP.js} +1 -1
  79. package/dist/client/assets/{login-B6wwzBSU.js → login-1lxLZ3Kr.js} +1 -1
  80. package/dist/client/assets/{members-Dr1JTJgA.js → members-KfmXClfA.js} +1 -1
  81. package/dist/client/assets/{monaco-editor-8HO4_Ur2.js → monaco-editor-Bfj-f9tF.js} +1 -1
  82. package/dist/client/assets/{monitoring-stats-row-CrqaEYtA.js → monitoring-stats-row-CSTJIouh.js} +1 -1
  83. package/dist/client/assets/{oauth-callback-CvzMLH2Y.js → oauth-callback-Dx7lhm8n.js} +1 -1
  84. package/dist/client/assets/{oauth-callback-ai-provider-DOqxOVP-.js → oauth-callback-ai-provider-DwImkwo0.js} +1 -1
  85. package/dist/client/assets/{onboarding-BBoB61YC.js → onboarding-DpKoGqp_.js} +1 -1
  86. package/dist/client/assets/{org-layout-dSdEDy3w.js → org-layout-B07ttmYa.js} +1 -1
  87. package/dist/client/assets/{org-plugin-layout-B69PHyTA.js → org-plugin-layout-CN8r2uUV.js} +1 -1
  88. package/dist/client/assets/{plugin-empty-state-B8LUxp43.js → plugin-empty-state-21KJ1EZ0.js} +1 -1
  89. package/dist/client/assets/{plugin-header-D4iyZL7p.js → plugin-header-CFKYrYBT.js} +1 -1
  90. package/dist/client/assets/{plugin-layout-6dzgt8Nf.js → plugin-layout-DQ0HFj99.js} +1 -1
  91. package/dist/client/assets/{popover-4Tx1bf1c.js → popover-BJYX_eUP.js} +1 -1
  92. package/dist/client/assets/{profile-rlJtNFFu.js → profile-B6iGmBgK.js} +1 -1
  93. package/dist/client/assets/{project-app-view-DOiFaagj.js → project-app-view-DveHsLbW.js} +1 -1
  94. package/dist/client/assets/registry-DKg4oxXI.js +2 -0
  95. package/dist/client/assets/{registry-layout-A3CSCPwV.js → registry-layout-BZ3jOtRw.js} +1 -1
  96. package/dist/client/assets/{required-auth-layout-CUSrNfcX.js → required-auth-layout-6vnmXRJt.js} +1 -1
  97. package/dist/client/assets/{reset-password-BTZ0YHYT.js → reset-password-C6Q7kFiS.js} +1 -1
  98. package/dist/client/assets/{scroll-area-Byxq0szm.js → scroll-area-C7RniLKT.js} +1 -1
  99. package/dist/client/assets/{search-input-DfsQvBcu.js → search-input-CspVzFsE.js} +1 -1
  100. package/dist/client/assets/{select-Hz5eqHFW.js → select-CeLGcRm_.js} +1 -1
  101. package/dist/client/assets/{select-model-CaIQoO4S.js → select-model-CTvOd2v6.js} +2 -2
  102. package/dist/client/assets/{settings-layout-Gl-7FoEv.js → settings-layout-B5NmiwtZ.js} +1 -1
  103. package/dist/client/assets/{shell-layout-DzdppxnK.js → shell-layout-D-glHQwJ.js} +1 -1
  104. package/dist/client/assets/{skeleton-BDzML6PF.js → skeleton-DL22VZPi.js} +1 -1
  105. package/dist/client/assets/{sso-BkIleXYV.js → sso-Or0eg9-K.js} +1 -1
  106. package/dist/client/assets/{store-CjYuUqaI.js → store-9Z2sns3t.js} +1 -1
  107. package/dist/client/assets/store-registry-D53q05D2.js +2 -0
  108. package/dist/client/assets/{switch-B6g8A-mV.js → switch-Dgj2Qk7i.js} +1 -1
  109. package/dist/client/assets/{table-DQ3t1bXu.js → table-DD05ZO6T.js} +1 -1
  110. package/dist/client/assets/{tabs-DOhjGqW5.js → tabs-BX4b83RA.js} +1 -1
  111. package/dist/client/assets/{task-status-DKL9nwsD.js → task-status-g2-NV9sQ.js} +1 -1
  112. package/dist/client/assets/{textarea-CVQkfOJk.js → textarea-BhcVKoF_.js} +1 -1
  113. package/dist/client/assets/{toggle-group-Cfen_q_R.js → toggle-group-Cmi6TIOk.js} +1 -1
  114. package/dist/client/assets/{tools-list-C4GBCzQF.js → tools-list-CsG9Mnwi.js} +1 -1
  115. package/dist/client/assets/{types-DRPjvsJK.js → types-CHdbkHyV.js} +1 -1
  116. package/dist/client/assets/{use-ai-providers-CAFjrKsE.js → use-ai-providers-Sx7HvH7l.js} +1 -1
  117. package/dist/client/assets/{use-collections-QllonpeS.js → use-collections-jpFK-1KA.js} +1 -1
  118. package/dist/client/assets/{use-connection-c_kVH9Ba.js → use-connection-DJhKa9wi.js} +1 -1
  119. package/dist/client/assets/{use-copy-BnJAUU38.js → use-copy-XHJJc9Ag.js} +1 -1
  120. package/dist/client/assets/{use-create-virtual-mcp-CSKx5CUZ.js → use-create-virtual-mcp-C17uvNYd.js} +1 -1
  121. package/dist/client/assets/{use-decopilot-events-PnZv-Hxt.js → use-decopilot-events-D2SrJLT6.js} +1 -1
  122. package/dist/client/assets/{use-delete-connection-CZOJYy5I.js → use-delete-connection-Vpt8BqAw.js} +1 -1
  123. package/dist/client/assets/{use-infinite-scroll-FOngU937.js → use-infinite-scroll-bSbQel-x.js} +1 -1
  124. package/dist/client/assets/{use-list-state-C5ucIHNM.js → use-list-state-CCp8M8Xv.js} +1 -1
  125. package/dist/client/assets/{use-mcp-tools-DXfa1vn-.js → use-mcp-tools-BOQ7XAnx.js} +1 -1
  126. package/dist/client/assets/{use-members-BaFj-cNr.js → use-members-fPhtXrk4.js} +1 -1
  127. package/dist/client/assets/{use-mobile-fJpaHrzf.js → use-mobile-DiyZoirm.js} +1 -1
  128. package/dist/client/assets/{use-navigate-to-agent-ChDeCHV2.js → use-navigate-to-agent-CNUExhtk.js} +1 -1
  129. package/dist/client/assets/{use-org-sso-CpH4bty0.js → use-org-sso-B3dpLK1-.js} +1 -1
  130. package/dist/client/assets/{use-organization-settings-Dw8RIB4J.js → use-organization-settings-PJvdW7d7.js} +1 -1
  131. package/dist/client/assets/{use-public-config-C1IrfsO5.js → use-public-config-BnjdnqEK.js} +1 -1
  132. package/dist/client/assets/{use-registry-connections-BQbpOdXR.js → use-registry-connections-DwO9HoC-.js} +1 -1
  133. package/dist/client/assets/{use-status-sounds-N7o4x9JG.js → use-status-sounds-DEQHOZ-w.js} +1 -1
  134. package/dist/client/assets/{use-tasks-DExM7Bgy.js → use-tasks-CTpvHrCM.js} +1 -1
  135. package/dist/client/assets/{use-view-mode-LxYzzwlc.js → use-view-mode-DQzsTtxY.js} +1 -1
  136. package/dist/client/assets/{use-virtual-mcp-CF_Xz2vS.js → use-virtual-mcp-DQie-k1B.js} +1 -1
  137. package/dist/client/assets/useInfiniteQuery-D4FFCIqQ.js +1 -0
  138. package/dist/client/assets/{user-CxWIE8Wy.js → user-CZGUOwnk.js} +1 -1
  139. package/dist/client/assets/{view-mode-toggle-BRUUFACT.js → view-mode-toggle-BueEh3Rt.js} +1 -1
  140. package/dist/client/assets/{workflow-9q-Zd6nw.js → workflow-CLN31xo6.js} +1 -1
  141. package/dist/client/assets/workflow-detail-CWECDm-G.js +1 -0
  142. package/dist/client/index.html +1 -1
  143. package/dist/server/cli.js +1 -1
  144. package/dist/server/node_modules/convert-to-spaces/dist/index.d.ts +2 -0
  145. package/dist/server/node_modules/convert-to-spaces/dist/index.js +4 -0
  146. package/dist/server/node_modules/convert-to-spaces/license +21 -0
  147. package/dist/server/node_modules/convert-to-spaces/package.json +40 -0
  148. package/dist/server/node_modules/convert-to-spaces/readme.md +39 -0
  149. package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  150. package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
  151. package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
  152. package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
  153. package/dist/server/node_modules/onetime/index.d.ts +64 -0
  154. package/dist/server/node_modules/onetime/index.js +44 -0
  155. package/dist/server/node_modules/onetime/package.json +43 -0
  156. package/dist/server/node_modules/onetime/readme.md +94 -0
  157. package/dist/server/node_modules/pg-cloudflare/README.md +112 -0
  158. package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  159. package/dist/server/node_modules/pg-cloudflare/dist/empty.js +6 -0
  160. package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  161. package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
  162. package/dist/server/node_modules/pg-cloudflare/dist/index.js +152 -0
  163. package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  164. package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  165. package/dist/server/node_modules/pg-cloudflare/package.json +39 -0
  166. package/dist/server/node_modules/pg-cloudflare/src/empty.ts +3 -0
  167. package/dist/server/node_modules/pg-cloudflare/src/index.ts +166 -0
  168. package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  169. package/dist/server/node_modules/pg-connection-string/LICENSE +21 -0
  170. package/dist/server/node_modules/pg-connection-string/README.md +105 -0
  171. package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
  172. package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
  173. package/dist/server/node_modules/pg-connection-string/index.js +231 -0
  174. package/dist/server/node_modules/pg-connection-string/package.json +52 -0
  175. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  176. package/dist/server/node_modules/pg-int8/README.md +16 -0
  177. package/dist/server/node_modules/pg-int8/index.js +100 -0
  178. package/dist/server/node_modules/pg-int8/package.json +24 -0
  179. package/dist/server/node_modules/{scheduler → pg-pool}/LICENSE +1 -1
  180. package/dist/server/node_modules/pg-pool/README.md +357 -0
  181. package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
  182. package/dist/server/node_modules/pg-pool/index.js +517 -0
  183. package/dist/server/node_modules/pg-pool/package.json +51 -0
  184. package/dist/server/node_modules/pg-protocol/LICENSE +21 -0
  185. package/dist/server/node_modules/pg-protocol/README.md +3 -0
  186. package/dist/server/node_modules/pg-protocol/dist/b.d.ts +1 -0
  187. package/dist/server/node_modules/pg-protocol/dist/b.js +23 -0
  188. package/dist/server/node_modules/pg-protocol/dist/b.js.map +1 -0
  189. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +15 -0
  190. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  191. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  192. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +16 -0
  193. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
  194. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  195. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  196. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js +530 -0
  197. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  198. package/dist/server/node_modules/pg-protocol/dist/index.d.ts +6 -0
  199. package/dist/server/node_modules/pg-protocol/dist/index.js +15 -0
  200. package/dist/server/node_modules/pg-protocol/dist/index.js.map +1 -0
  201. package/dist/server/node_modules/pg-protocol/dist/messages.d.ts +162 -0
  202. package/dist/server/node_modules/pg-protocol/dist/messages.js +160 -0
  203. package/dist/server/node_modules/pg-protocol/dist/messages.js.map +1 -0
  204. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  205. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +252 -0
  206. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  207. package/dist/server/node_modules/pg-protocol/dist/parser.d.ts +24 -0
  208. package/dist/server/node_modules/pg-protocol/dist/parser.js +324 -0
  209. package/dist/server/node_modules/pg-protocol/dist/parser.js.map +1 -0
  210. package/dist/server/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  211. package/dist/server/node_modules/pg-protocol/dist/serializer.js +189 -0
  212. package/dist/server/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  213. package/dist/server/node_modules/pg-protocol/esm/index.js +11 -0
  214. package/dist/server/node_modules/pg-protocol/package.json +45 -0
  215. package/dist/server/node_modules/pg-protocol/src/b.ts +25 -0
  216. package/dist/server/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  217. package/dist/server/node_modules/pg-protocol/src/buffer-writer.ts +85 -0
  218. package/dist/server/node_modules/pg-protocol/src/inbound-parser.test.ts +575 -0
  219. package/dist/server/node_modules/pg-protocol/src/index.ts +11 -0
  220. package/dist/server/node_modules/pg-protocol/src/messages.ts +262 -0
  221. package/dist/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +276 -0
  222. package/dist/server/node_modules/pg-protocol/src/parser.ts +413 -0
  223. package/dist/server/node_modules/pg-protocol/src/serializer.ts +274 -0
  224. package/dist/server/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  225. package/dist/server/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  226. package/dist/server/node_modules/pg-protocol/src/types/chunky.d.ts +1 -0
  227. package/dist/server/node_modules/pg-types/.travis.yml +7 -0
  228. package/dist/server/node_modules/pg-types/Makefile +14 -0
  229. package/dist/server/node_modules/pg-types/README.md +75 -0
  230. package/dist/server/node_modules/pg-types/index.d.ts +137 -0
  231. package/dist/server/node_modules/pg-types/index.js +47 -0
  232. package/dist/server/node_modules/pg-types/index.test-d.ts +21 -0
  233. package/dist/server/node_modules/pg-types/lib/arrayParser.js +11 -0
  234. package/dist/server/node_modules/pg-types/lib/binaryParsers.js +257 -0
  235. package/dist/server/node_modules/pg-types/lib/builtins.js +73 -0
  236. package/dist/server/node_modules/pg-types/lib/textParsers.js +215 -0
  237. package/dist/server/node_modules/pg-types/package.json +42 -0
  238. package/dist/server/node_modules/pg-types/test/index.js +24 -0
  239. package/dist/server/node_modules/pg-types/test/types.js +597 -0
  240. package/dist/server/node_modules/pgpass/README.md +74 -0
  241. package/dist/server/node_modules/pgpass/lib/helper.js +233 -0
  242. package/dist/server/node_modules/pgpass/lib/index.js +23 -0
  243. package/dist/server/node_modules/pgpass/package.json +41 -0
  244. package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
  245. package/dist/server/node_modules/postgres-array/index.js +97 -0
  246. package/dist/server/node_modules/postgres-array/license +21 -0
  247. package/dist/server/node_modules/postgres-array/package.json +35 -0
  248. package/dist/server/node_modules/postgres-array/readme.md +43 -0
  249. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  250. package/dist/server/node_modules/postgres-bytea/license +21 -0
  251. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  252. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  253. package/dist/server/node_modules/postgres-date/index.js +116 -0
  254. package/dist/server/node_modules/postgres-date/license +21 -0
  255. package/dist/server/node_modules/postgres-date/package.json +33 -0
  256. package/dist/server/node_modules/postgres-date/readme.md +49 -0
  257. package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
  258. package/dist/server/node_modules/postgres-interval/index.js +125 -0
  259. package/dist/server/node_modules/postgres-interval/license +21 -0
  260. package/dist/server/node_modules/postgres-interval/package.json +36 -0
  261. package/dist/server/node_modules/postgres-interval/readme.md +48 -0
  262. package/dist/server/node_modules/split2/LICENSE +13 -0
  263. package/dist/server/node_modules/split2/README.md +85 -0
  264. package/dist/server/node_modules/split2/bench.js +27 -0
  265. package/dist/server/node_modules/split2/index.js +141 -0
  266. package/dist/server/node_modules/split2/package.json +39 -0
  267. package/dist/server/node_modules/split2/test.js +409 -0
  268. package/package.json +1 -1
  269. package/dist/client/assets/ai-providers-CnO63wjr.js +0 -1
  270. package/dist/client/assets/registry-BTomiBS2.js +0 -2
  271. package/dist/client/assets/store-registry-_EZSKcWm.js +0 -2
  272. package/dist/client/assets/useInfiniteQuery-DquktRvH.js +0 -1
  273. package/dist/client/assets/workflow-detail-DWLk3cWV.js +0 -1
  274. package/dist/server/node_modules/ansi-styles/index.d.ts +0 -236
  275. package/dist/server/node_modules/ansi-styles/index.js +0 -223
  276. package/dist/server/node_modules/ansi-styles/package.json +0 -54
  277. package/dist/server/node_modules/ansi-styles/readme.md +0 -173
  278. package/dist/server/node_modules/get-east-asian-width/index.d.ts +0 -60
  279. package/dist/server/node_modules/get-east-asian-width/index.js +0 -30
  280. package/dist/server/node_modules/get-east-asian-width/lookup-data.js +0 -18
  281. package/dist/server/node_modules/get-east-asian-width/lookup.js +0 -135
  282. package/dist/server/node_modules/get-east-asian-width/package.json +0 -71
  283. package/dist/server/node_modules/get-east-asian-width/readme.md +0 -65
  284. package/dist/server/node_modules/get-east-asian-width/utilities.js +0 -24
  285. package/dist/server/node_modules/pg/README.md +0 -95
  286. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  287. package/dist/server/node_modules/pg/lib/client.js +0 -743
  288. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  289. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  290. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  291. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  292. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  293. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  294. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  295. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  296. package/dist/server/node_modules/pg/lib/index.js +0 -73
  297. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  298. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  299. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  300. package/dist/server/node_modules/pg/lib/query.js +0 -252
  301. package/dist/server/node_modules/pg/lib/result.js +0 -109
  302. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  303. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  304. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  305. package/dist/server/node_modules/pg/package.json +0 -76
  306. package/dist/server/node_modules/scheduler/README.md +0 -9
  307. package/dist/server/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +0 -414
  308. package/dist/server/node_modules/scheduler/cjs/scheduler-unstable_mock.production.js +0 -406
  309. package/dist/server/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js +0 -150
  310. package/dist/server/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.js +0 -140
  311. package/dist/server/node_modules/scheduler/cjs/scheduler.development.js +0 -364
  312. package/dist/server/node_modules/scheduler/cjs/scheduler.native.development.js +0 -350
  313. package/dist/server/node_modules/scheduler/cjs/scheduler.native.production.js +0 -330
  314. package/dist/server/node_modules/scheduler/cjs/scheduler.production.js +0 -340
  315. package/dist/server/node_modules/scheduler/index.js +0 -7
  316. package/dist/server/node_modules/scheduler/index.native.js +0 -7
  317. package/dist/server/node_modules/scheduler/package.json +0 -27
  318. package/dist/server/node_modules/scheduler/unstable_mock.js +0 -7
  319. package/dist/server/node_modules/scheduler/unstable_post_task.js +0 -7
  320. package/dist/server/node_modules/slice-ansi/index.d.ts +0 -19
  321. package/dist/server/node_modules/slice-ansi/index.js +0 -260
  322. package/dist/server/node_modules/slice-ansi/license +0 -10
  323. package/dist/server/node_modules/slice-ansi/package.json +0 -59
  324. package/dist/server/node_modules/slice-ansi/readme.md +0 -54
  325. package/dist/server/node_modules/slice-ansi/tokenize-ansi.js +0 -752
  326. package/dist/server/node_modules/strip-ansi/index.d.ts +0 -15
  327. package/dist/server/node_modules/strip-ansi/index.js +0 -19
  328. package/dist/server/node_modules/strip-ansi/license +0 -9
  329. package/dist/server/node_modules/strip-ansi/package.json +0 -59
  330. package/dist/server/node_modules/strip-ansi/readme.md +0 -37
  331. /package/dist/server/node_modules/{ansi-styles → is-fullwidth-code-point}/license +0 -0
  332. /package/dist/server/node_modules/{get-east-asian-width → onetime}/license +0 -0
  333. /package/dist/server/node_modules/{pg → pg-cloudflare}/LICENSE +0 -0
@@ -1636,7 +1636,7 @@ AS SELECT
1636
1636
  FROM monitoring_metrics
1637
1637
  GROUP BY organization_id, name, bucket, connection_id, tool_name, status
1638
1638
  `}),console.log("[clickhouse-schema] monitoring_metrics_rollup_1m_mv view ready")}finally{await G.close()}}catch(X){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",X)}}async function CZ1(Y){let X={...process.env},G=k11(Y,X),J=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(J)} (${J.length} chars)`);let{ensureServices:Q}=await Promise.resolve().then(() => (q11(),z11)),{outputs:Z,services:W}=await Q({home:G.settings.dataDir,externalDatabaseUrl:G.externalDatabaseUrl,externalNatsUrl:G.externalNatsUrl});if(!G.skipMigrations){let{migrateBetterAuth:H}=await Promise.resolve().then(() => (yb1(),G36));await H(Z.databaseUrl);let{createDatabase:K}=await Promise.resolve().then(() => (_U(),X36)),{migrateToLatest:V}=await Promise.resolve().then(() => (WL6(),QL6)),U=K(Z.databaseUrl);await V({keepOpen:!0,database:U,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:H}=await Promise.resolve().then(() => Zw6);await H(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:Z.databaseUrl,natsUrls:Z.natsUrls};return XK0($),{settings:$,services:W.map((H)=>({name:H.name==="PostgreSQL"?"Postgres":H.name,port:H.port})),managedServiceNames:W.filter((H)=>H.owner==="managed").map((H)=>H.name)}}var Jp1=w(()=>{DL1();E9()});import{createServer as $w6}from"net";function qZ5(Y){return new Promise((X)=>{let G=$w6();G.once("error",()=>X(!1)),G.listen(Y,"0.0.0.0",()=>{G.close(()=>X(!0))})})}async function SZ1(Y){if(await qZ5(Y))return Y;let X=await new Promise((G,J)=>{let Q=$w6();Q.once("error",J),Q.listen(0,"0.0.0.0",()=>{let Z=Q.address(),W=typeof Z==="object"&&Z?Z.port:0;Q.close(()=>G(W))})});return console.warn(`Port ${Y} is in use, using port ${X} instead.`),X}var Qp1=()=>{};var Wp1={};I0(Wp1,{startDevServer:()=>DZ5});import{join as LZ5}from"path";function Hw6(Y){return Y.replace(/\x1b\[[0-9;]*m/g,"")}function Kw6(Y){let X=Y.getReader(),G=new TextDecoder,J="";function Q(){let Z=J.split(`
1639
- `);J=Z.pop()??"";for(let W of Z){let $=Hw6(W).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;A$({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:Z,value:W}=await X.read();if(Z)break;J+=G.decode(W,{stream:!0}),Q()}if(J.trim()){let Z=Hw6(J).replace(/^\[\d+\]\s*/,"").trim();if(Z)A$({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:Z})}})()}async function DZ5(Y){let{vitePort:X,baseUrl:G,noTui:J}=Y,Q=await SZ1(Number(Y.port)),{settings:Z,services:W,managedServiceNames:$}=await CZ1({port:String(Q),home:Y.home,baseUrl:Y.baseUrl,localMode:Y.localMode,skipMigrations:Y.skipMigrations,noTui:Y.noTui,vitePort:Y.vitePort});for(let O of W)VS({name:O.name,status:"ready",port:O.port});tb(Z),ob();let H=LZ5(import.meta.dir,"..","..","..","..",".."),K=J===!0,V=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:H,env:{...process.env,PORT:String(Z.port),VITE_PORT:String(X),DATABASE_URL:Z.databaseUrl,NATS_URL:Z.natsUrls.join(","),NODE_ENV:Z.nodeEnv,DECOCMS_LOCAL_MODE:String(Z.localMode),DECOCMS_HOME:Z.dataDir,DATA_DIR:Z.dataDir,DECO_CLI:"1",...Z.baseUrl?{BASE_URL:Z.baseUrl}:{}},stdio:["inherit",K?"inherit":"pipe",K?"inherit":"pipe"]});if(!K)Kw6(V.stdout),Kw6(V.stderr);let U=G||`http://localhost:${Z.port}`;sb(U),VS({name:"Vite",status:"ready",port:Number(X)});let B=async(O)=>{if(V.kill(O),$.length>0){let{stopServices:N}=await Promise.resolve().then(() => (q11(),z11));await N(Z.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Z.port),process:V}}var Zp1=w(()=>{Jp1();ZK();Qp1()});import{Box as $p1,Text as Hp1}from"ink";import{jsx as Vw6,jsxs as jZ1}from"react/jsx-runtime";function Fw6(Y){if(!Y)return"not set";try{let X=new URL(Y);if(X.password)X.password="***";if(X.username&&X.username.length>3)X.username=X.username.slice(0,3)+"***";return X.pathname="/",X.search="",X.hash="",X.toString()}catch{if(Y.length<=10)return Y;return Y.slice(0,6)+"***"+Y.slice(-4)}}function MZ5(Y,X){if(wZ5.has(Y))return X?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(AZ5.has(Y)){if(Array.isArray(X)){if(X.length===0)return{text:"not set",dimColor:!0};return{text:X.map((Z)=>Fw6(Z)).join(", "),color:"cyan"}}let J=Fw6(X);return J==="not set"?{text:J,dimColor:!0}:{text:J,color:"cyan"}}if(X===void 0||X===null||X==="")return{text:"not set",dimColor:!0};let G=String(X);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function EZ5(Y){return[{title:"Core",entries:[{key:"NODE_ENV",value:Y.nodeEnv},{key:"PORT",value:Y.port},{key:"BASE_URL",value:Y.baseUrl??`http://localhost:${Y.port}`},{key:"DATA_DIR",value:Y.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:Y.databaseUrl},{key:"DATABASE_PG_SSL",value:Y.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:Y.betterAuthSecret},{key:"ENCRYPTION_KEY",value:Y.encryptionKey},{key:"MESH_JWT_SECRET",value:Y.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:Y.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:Y.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:Y.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:Y.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:Y.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:Y.configPath}]},{title:"Transport",entries:[{key:"UNSAFE_ALLOW_STDIO_TRANSPORT",value:Y.unsafeAllowStdioTransport}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:Y.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:Y.aiGatewayUrl}]}]}function Uw6({env:Y}){let X=EZ5(Y);return Vw6($p1,{flexDirection:"column",children:X.map((G)=>jZ1($p1,{flexDirection:"column",marginTop:1,children:[jZ1(Hp1,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:J,value:Q})=>{let Z=MZ5(J,Q);return jZ1($p1,{children:[jZ1(Hp1,{dimColor:!0,children:[" ",J.padEnd(36)]}),Vw6(Hp1,{color:Z.color,dimColor:Z.dimColor,children:Z.text})]},J)})]},G.title))})}var wZ5,AZ5;var Bw6=w(()=>{wZ5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),AZ5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var Kp1;var Ow6=w(()=>{Kp1={name:"decocms",version:"2.276.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as PF,Text as GY}from"ink";import{Spinner as TZ5}from"@inkjs/ui";import{useSyncExternalStore as Nw6}from"react";import{jsx as rY,jsxs as DJ}from"react/jsx-runtime";function IZ5(Y,X){if(!Y||!jZ5.has(Y))return Y;let G=Fp1[X]??Fp1[Fp1.length-1];return Y==="#875f00"?G[0]:G[1]}function zw6({status:Y}){if(Y==="pending")return rY(TZ5,{label:""});return rY(GY,{color:"green",children:"\u2713"})}function qw6({services:Y,migrationsStatus:X,home:G,serverUrl:J,vibe:Q}){let Z=Nw6(RH0,TH0),W=Nw6(fH0,_H0);return DJ(PF,{flexDirection:"column",paddingBottom:1,children:[Q?DJ(PF,{flexDirection:"column",children:[Z.map(($,H)=>{let K=W[H],V=$.reduce((B,O)=>B+O.text.length,0),U=Math.max(0,SZ5-V);return DJ(PF,{flexDirection:"row",children:[$.map((B,O)=>{let N=IZ5(B.color,H);return N?rY(GY,{color:N,children:B.text},O):rY(GY,{children:B.text},O)}),rY(GY,{children:" ".repeat(U+2)}),K?.map((B,O)=>B.color?rY(GY,{color:B.color,children:B.char},O):rY(GY,{children:B.char},O))]},H)}),DJ(GY,{dimColor:!0,children:[" v",Kp1.version]})]}):DJ(PF,{flexDirection:"column",marginTop:1,children:[RZ5.map(($,H)=>rY(GY,{color:CZ5[H],children:$},H)),DJ(GY,{dimColor:!0,children:[" v",Kp1.version]})]}),rY(PF,{marginBottom:1,children:rY(GY,{dimColor:!0,children:"\u2500".repeat(80)})}),rY(PF,{children:DJ(GY,{dimColor:!0,children:["Home: ",G]})}),DJ(PF,{gap:2,children:[Y.map(($)=>DJ(PF,{gap:1,children:[DJ(GY,{children:[$.name," :",$.port||"...."]}),rY(zw6,{status:$.status})]},$.name)),DJ(PF,{gap:1,children:[rY(GY,{children:"Migrations"}),rY(zw6,{status:X})]})]}),rY(PF,{children:J?DJ(GY,{children:["Open in browser: ",rY(GY,{color:"cyan",children:J})]}):rY(GY,{dimColor:!0,children:"Starting..."})}),DJ(PF,{gap:2,children:[DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",Q?"\u266A Nihilore \xB7 CC BY 4.0":""]}),Q&&DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var RZ5,CZ5,Fp1,SZ5=30,jZ5;var Lw6=w(()=>{Ow6();rq1();XL1();RZ5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],CZ5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],Fp1=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],jZ5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as _Z5}from"react";function fZ5(){let Y=process.stdout.rows||24,X=process.stdout.columns||80;if(Y!==IZ1.rows||X!==IZ1.columns)IZ1={rows:Y,columns:X};return IZ1}function kZ5(Y){return process.stdout.on("resize",Y),()=>{process.stdout.off("resize",Y)}}function Dw6(){return _Z5(kZ5,fZ5)}var IZ1;var ww6=w(()=>{IZ1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as vZ5,Text as en}from"ink";import{useSyncExternalStore as yZ5}from"react";import{jsx as Vp1,jsxs as Up1}from"react/jsx-runtime";function hZ5(Y){if(Y>=500)return"red";if(Y>=400)return"yellow";if(Y>=300)return"cyan";return"green"}function Aw6({logs:Y,headerHeight:X}){let{rows:G}=Dw6(),{logFlow:J}=yZ5(rb,ab),Q=Math.max(1,G-X-1),Z=J?Y:Y.slice(-Q);return Vp1(vZ5,{flexDirection:"column",children:Z.map((W,$)=>{if(W.rawLine)return Vp1(en,{dimColor:!0,children:W.rawLine},$);let H=W.duration<1000?`${W.duration}ms`:`${(W.duration/1000).toFixed(1)}s`;return Up1(en,{children:[Up1(en,{dimColor:!0,children:[W.method.padEnd(6)," ",W.path.padEnd(30)," "]}),Vp1(en,{color:hZ5(W.status),children:W.status}),Up1(en,{dimColor:!0,children:[" ",H.padStart(8)]})]},$)})})}var Mw6=w(()=>{ZK();ww6()});var Bp1={};I0(Bp1,{App:()=>dZ5});import{Box as bZ5,Text as xZ5,useInput as gZ5}from"ink";import{useSyncExternalStore as uZ5}from"react";import{jsx as _Z1,jsxs as cZ5}from"react/jsx-runtime";function dZ5({home:Y}){let X=uZ5(rb,ab);return gZ5((G)=>{if(G==="k"||G==="K")$L1();if(G==="l"||G==="L")HL1();if((G==="v"||G==="V")&&X.dataDir)WL1(X.dataDir),KL1();if((G==="n"||G==="N")&&X.vibe)QL1()}),cZ5(bZ5,{flexDirection:"column",children:[_Z1(qw6,{services:X.services,migrationsStatus:X.migrationsStatus,home:Y,serverUrl:X.serverUrl,vibe:X.vibe}),X.viewMode==="config"?X.env?_Z1(Uw6,{env:X.env}):_Z1(xZ5,{dimColor:!0,children:"Loading configuration..."}):_Z1(Aw6,{logs:X.logs,headerHeight:X.vibe?lZ5:mZ5})]})}var mZ5=15,lZ5=19;var Op1=w(()=>{Bw6();Lw6();Mw6();ZK();FS()});function Ew6(Y,X={}){return{PORT:String(Y.port),NODE_ENV:Y.nodeEnv,BASE_URL:Y.baseUrl,DATA_DIR:Y.dataDir,DECOCMS_HOME:Y.dataDir,DATABASE_URL:Y.databaseUrl,DATABASE_PG_SSL:String(Y.databasePgSsl),DATABASE_POOL_MAX:String(Y.databasePoolMax),NATS_URL:Y.natsUrls.join(","),BETTER_AUTH_SECRET:Y.betterAuthSecret,ENCRYPTION_KEY:Y.encryptionKey,MESH_JWT_SECRET:Y.meshJwtSecret,DECOCMS_LOCAL_MODE:String(Y.localMode),DECOCMS_ALLOW_LOCAL_PROD:String(Y.allowLocalProd),DISABLE_RATE_LIMIT:String(Y.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:Y.studioProvisionSecretKey,CONFIG_PATH:Y.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),UNSAFE_ALLOW_STDIO_TRANSPORT:String(Y.unsafeAllowStdioTransport),DECO_AI_GATEWAY_ENABLED:String(Y.aiGatewayEnabled),DECO_AI_GATEWAY_URL:Y.aiGatewayUrl,ENABLE_DECO_IMPORT:String(Y.enableDecoImport),S3_ENDPOINT:Y.s3Endpoint,S3_BUCKET:Y.s3Bucket,S3_REGION:Y.s3Region,S3_ACCESS_KEY_ID:Y.s3AccessKeyId,S3_SECRET_ACCESS_KEY:Y.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(Y.s3ForcePathStyle),OTEL_SERVICE_NAME:Y.otelServiceName,CLICKHOUSE_URL:Y.clickhouseUrl,DECO_SUPABASE_URL:Y.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:Y.decoSupabaseServiceKey,FIRECRAWL_API_KEY:Y.firecrawlApiKey,MESH_SANDBOX_RUNNER:process.env.MESH_SANDBOX_RUNNER,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...X}}function Tw6(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}var Pw6="https://studio.decocms.com/org/deco/registry/mcp";var Np1=(Y,X,G)=>{return(J,Q)=>{let Z=-1;return W(0);async function W($){if($<=Z)throw Error("next() called multiple times");Z=$;let H,K=!1,V;if(Y[$])V=Y[$][0][0],J.req.routeIndex=$;else V=$===Y.length&&Q||void 0;if(V)try{H=await V(J,()=>W($+1))}catch(U){if(U instanceof Error&&X)J.error=U,H=await X(U,J),K=!0;else throw U}else if(J.finalized===!1&&G)H=await G(J);if(H&&(J.finalized===!1||K))J.res=H;return J}}};var Rw6=()=>{};var H9;var Ww=w(()=>{H9=class extends Error{res;status;constructor(Y=500,X){super(X?.message,{cause:X?.cause});this.res=X?.res,this.status=Y}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var Cw6;var Sw6=w(()=>{Cw6=Symbol()});async function pZ5(Y,X){let G=await Y.formData();if(G)return nZ5(G,X);return{}}function nZ5(Y,X){let G=Object.create(null);if(Y.forEach((J,Q)=>{if(!(X.all||Q.endsWith("[]")))G[Q]=J;else iZ5(G,Q,J)}),X.dot)Object.entries(G).forEach(([J,Q])=>{if(J.includes("."))aZ5(G,J,Q),delete G[J]});return G}var jw6=async(Y,X=Object.create(null))=>{let{all:G=!1,dot:J=!1}=X,Z=(Y instanceof fZ1?Y.raw.headers:Y.headers).get("Content-Type");if(Z?.startsWith("multipart/form-data")||Z?.startsWith("application/x-www-form-urlencoded"))return pZ5(Y,{all:G,dot:J});return{}},iZ5=(Y,X,G)=>{if(Y[X]!==void 0)if(Array.isArray(Y[X]))Y[X].push(G);else Y[X]=[Y[X],G];else if(!X.endsWith("[]"))Y[X]=G;else Y[X]=[G]},aZ5=(Y,X,G)=>{if(/(?:^|\.)__proto__\./.test(X))return;let J=Y,Q=X.split(".");Q.forEach((Z,W)=>{if(W===Q.length-1)J[Z]=G;else{if(!J[Z]||typeof J[Z]!=="object"||Array.isArray(J[Z])||J[Z]instanceof File)J[Z]=Object.create(null);J=J[Z]}})};var Iw6=w(()=>{zp1()});var Lp1=(Y)=>{let X=Y.split("/");if(X[0]==="")X.shift();return X},_w6=(Y)=>{let{groups:X,path:G}=rZ5(Y),J=Lp1(G);return oZ5(J,X)},rZ5=(Y)=>{let X=[];return Y=Y.replace(/\{[^}]+\}/g,(G,J)=>{let Q=`@${J}`;return X.push([Q,G]),Q}),{groups:X,path:Y}},oZ5=(Y,X)=>{for(let G=X.length-1;G>=0;G--){let[J]=X[G];for(let Q=Y.length-1;Q>=0;Q--)if(Y[Q].includes(J)){Y[Q]=Y[Q].replace(J,X[G][1]);break}}return Y},kZ1,fw6=(Y,X)=>{if(Y==="*")return"*";let G=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(G){let J=`${Y}#${X}`;if(!kZ1[J])if(G[2])kZ1[J]=X&&X[0]!==":"&&X[0]!=="*"?[J,G[1],new RegExp(`^${G[2]}(?=/${X})`)]:[Y,G[1],new RegExp(`^${G[2]}$`)];else kZ1[J]=[Y,G[1],!0];return kZ1[J]}return null},yk=(Y,X)=>{try{return X(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(G)=>{try{return X(G)}catch{return G}})}},kw6=(Y)=>yk(Y,decodeURI),Dp1=(Y)=>{let X=Y.url,G=X.indexOf("/",X.indexOf(":")+4),J=G;for(;J<X.length;J++){let Q=X.charCodeAt(J);if(Q===37){let Z=X.indexOf("?",J),W=X.indexOf("#",J),$=Z===-1?W===-1?void 0:W:W===-1?Z:Math.min(Z,W),H=X.slice(G,$);return kw6(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(Q===63||Q===35)break}return X.slice(G,J)},vw6=(Y)=>{let X=Dp1(Y);return X.length>1&&X.at(-1)==="/"?X.slice(0,-1):X},oP=(Y,X,...G)=>{if(G.length)X=oP(X,...G);return`${Y?.[0]==="/"?"":"/"}${Y}${X==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${X?.[0]==="/"?X.slice(1):X}`}`},vZ1=(Y)=>{if(Y.charCodeAt(Y.length-1)!==63||!Y.includes(":"))return null;let X=Y.split("/"),G=[],J="";return X.forEach((Q)=>{if(Q!==""&&!/\:/.test(Q))J+="/"+Q;else if(/\:/.test(Q))if(/\?/.test(Q)){if(G.length===0&&J==="")G.push("/");else G.push(J);let Z=Q.replace("?","");J+="/"+Z,G.push(J)}else J+="/"+Q}),G.filter((Q,Z,W)=>W.indexOf(Q)===Z)},qp1=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?yk(Y,Yi):Y},yw6=(Y,X,G)=>{let J;if(!G&&X&&!/[%+]/.test(X)){let W=Y.indexOf("?",8);if(W===-1)return;if(!Y.startsWith(X,W+1))W=Y.indexOf(`&${X}`,W+1);while(W!==-1){let $=Y.charCodeAt(W+X.length+1);if($===61){let H=W+X.length+2,K=Y.indexOf("&",H);return qp1(Y.slice(H,K===-1?void 0:K))}else if($==38||isNaN($))return"";W=Y.indexOf(`&${X}`,W+1)}if(J=/[%+]/.test(Y),!J)return}let Q={};J??=/[%+]/.test(Y);let Z=Y.indexOf("?",8);while(Z!==-1){let W=Y.indexOf("&",Z+1),$=Y.indexOf("=",Z);if($>W&&W!==-1)$=-1;let H=Y.slice(Z+1,$===-1?W===-1?void 0:W:$);if(J)H=qp1(H);if(Z=W,H==="")continue;let K;if($===-1)K="";else if(K=Y.slice($+1,W===-1?void 0:W),J)K=qp1(K);if(G){if(!(Q[H]&&Array.isArray(Q[H])))Q[H]=[];Q[H].push(K)}else Q[H]??=K}return X?Q[X]:Q},hw6,bw6=(Y,X)=>{return yw6(Y,X,!0)},Yi;var Zw=w(()=>{kZ1={},hw6=yw6,Yi=decodeURIComponent});var xw6=(Y)=>yk(Y,Yi),fZ1;var zp1=w(()=>{Ww();Sw6();Iw6();Zw();fZ1=class{raw;#Y;#X;routeIndex=0;path;bodyCache={};constructor(Y,X="/",G=[[]]){this.raw=Y,this.path=X,this.#X=G,this.#Y={}}param(Y){return Y?this.#G(Y):this.#J()}#G(Y){let X=this.#X[0][this.routeIndex][1][Y],G=this.#Q(X);return G&&/\%/.test(G)?xw6(G):G}#J(){let Y={},X=Object.keys(this.#X[0][this.routeIndex][1]);for(let G of X){let J=this.#Q(this.#X[0][this.routeIndex][1][G]);if(J!==void 0)Y[G]=/\%/.test(J)?xw6(J):J}return Y}#Q(Y){return this.#X[1]?this.#X[1][Y]:Y}query(Y){return hw6(this.url,Y)}queries(Y){return bw6(this.url,Y)}header(Y){if(Y)return this.raw.headers.get(Y)??void 0;let X={};return this.raw.headers.forEach((G,J)=>{X[J]=G}),X}async parseBody(Y){return jw6(this,Y)}#W=(Y)=>{let{bodyCache:X,raw:G}=this,J=X[Y];if(J)return J;let Q=Object.keys(X)[0];if(Q)return X[Q].then((Z)=>{if(Q==="json")Z=JSON.stringify(Z);return new Response(Z)[Y]()});return X[Y]=G[Y]()};json(){return this.#W("text").then((Y)=>JSON.parse(Y))}text(){return this.#W("text")}arrayBuffer(){return this.#W("arrayBuffer")}blob(){return this.#W("blob")}formData(){return this.#W("formData")}addValidatedData(Y,X){this.#Y[Y]=X}valid(Y){return this.#Y[Y]}get url(){return this.raw.url}get method(){return this.raw.method}get[Cw6](){return this.#X}get matchedRoutes(){return this.#X[0].map(([[,Y]])=>Y)}get routePath(){return this.#X[0].map(([[,Y]])=>Y)[this.routeIndex].path}}});var yZ1,gw6=(Y,X)=>{let G=new String(Y);return G.isEscaped=!0,G.callbacks=X,G},Xi=async(Y,X,G,J,Q)=>{if(typeof Y==="object"&&!(Y instanceof String)){if(!(Y instanceof Promise))Y=Y.toString();if(Y instanceof Promise)Y=await Y}let Z=Y.callbacks;if(!Z?.length)return Promise.resolve(Y);if(Q)Q[0]+=Y;else Q=[Y];let W=Promise.all(Z.map(($)=>$({phase:X,buffer:Q,context:J}))).then(($)=>Promise.all($.filter(Boolean).map((H)=>Xi(H,X,!1,J,Q))).then(()=>Q[0]));if(G)return gw6(await W,Z);else return W};var hZ1=w(()=>{yZ1={Stringify:1,BeforeStream:2,Stream:3}});var uw6="text/plain; charset=UTF-8",wp1=(Y,X)=>{return{"Content-Type":Y,...X}},Gi=(Y,X)=>new Response(Y,X),mw6=class{#Y;#X;env={};#G;finalized=!1;error;#J;#Q;#W;#$;#Z;#H;#K;#V;#U;constructor(Y,X){if(this.#Y=Y,X)this.#Q=X.executionCtx,this.env=X.env,this.#H=X.notFoundHandler,this.#U=X.path,this.#V=X.matchResult}get req(){return this.#X??=new fZ1(this.#Y,this.#U,this.#V),this.#X}get event(){if(this.#Q&&"respondWith"in this.#Q)return this.#Q;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#Q)return this.#Q;else throw Error("This context has no ExecutionContext")}get res(){return this.#W||=Gi(null,{headers:this.#K??=new Headers})}set res(Y){if(this.#W&&Y){Y=Gi(Y.body,Y);for(let[X,G]of this.#W.headers.entries()){if(X==="content-type")continue;if(X==="set-cookie"){let J=this.#W.headers.getSetCookie();Y.headers.delete("set-cookie");for(let Q of J)Y.headers.append("set-cookie",Q)}else Y.headers.set(X,G)}}this.#W=Y,this.finalized=!0}render=(...Y)=>{return this.#Z??=(X)=>this.html(X),this.#Z(...Y)};setLayout=(Y)=>this.#$=Y;getLayout=()=>this.#$;setRenderer=(Y)=>{this.#Z=Y};header=(Y,X,G)=>{if(this.finalized)this.#W=Gi(this.#W.body,this.#W);let J=this.#W?this.#W.headers:this.#K??=new Headers;if(X===void 0)J.delete(Y);else if(G?.append)J.append(Y,X);else J.set(Y,X)};status=(Y)=>{this.#J=Y};set=(Y,X)=>{this.#G??=new Map,this.#G.set(Y,X)};get=(Y)=>{return this.#G?this.#G.get(Y):void 0};get var(){if(!this.#G)return{};return Object.fromEntries(this.#G)}#F(Y,X,G){let J=this.#W?new Headers(this.#W.headers):this.#K??new Headers;if(typeof X==="object"&&"headers"in X){let Z=X.headers instanceof Headers?X.headers:new Headers(X.headers);for(let[W,$]of Z)if(W.toLowerCase()==="set-cookie")J.append(W,$);else J.set(W,$)}if(G)for(let[Z,W]of Object.entries(G))if(typeof W==="string")J.set(Z,W);else{J.delete(Z);for(let $ of W)J.append(Z,$)}let Q=typeof X==="number"?X:X?.status??this.#J;return Gi(Y,{status:Q,headers:J})}newResponse=(...Y)=>this.#F(...Y);body=(Y,X,G)=>this.#F(Y,X,G);text=(Y,X,G)=>{return!this.#K&&!this.#J&&!X&&!G&&!this.finalized?new Response(Y):this.#F(Y,X,wp1(uw6,G))};json=(Y,X,G)=>{return this.#F(JSON.stringify(Y),X,wp1("application/json",G))};html=(Y,X,G)=>{let J=(Q)=>this.#F(Q,X,wp1("text/html; charset=UTF-8",G));return typeof Y==="object"?Xi(Y,yZ1.Stringify,!1,{}).then(J):J(Y)};redirect=(Y,X)=>{let G=String(Y);return this.header("Location",!/[^\x00-\xFF]/.test(G)?G:encodeURI(G)),this.newResponse(null,X??302)};notFound=()=>{return this.#H??=()=>Gi(),this.#H(this)}};var bZ1=w(()=>{zp1();hZ1()});var J7="ALL",lw6="all",dw6,xZ1="Can not add a route since the matcher is already built.",gZ1;var $w=w(()=>{dw6=["get","post","put","delete","options","patch"],gZ1=class extends Error{}});var Ap1="__COMPOSED_HANDLER";var Mp1=()=>{};var sZ5=(Y)=>{return Y.text("404 Not Found",404)},cw6=(Y,X)=>{if("getResponse"in Y){let G=Y.getResponse();return X.newResponse(G.body,G)}return console.error(Y),X.text("Internal Server Error",500)},pw6=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(X={}){[...dw6,lw6].forEach((Z)=>{this[Z]=(W,...$)=>{if(typeof W==="string")this.#Y=W;else this.#J(Z,this.#Y,W);return $.forEach((H)=>{this.#J(Z,this.#Y,H)}),this}}),this.on=(Z,W,...$)=>{for(let H of[W].flat()){this.#Y=H;for(let K of[Z].flat())$.map((V)=>{this.#J(K.toUpperCase(),this.#Y,V)})}return this},this.use=(Z,...W)=>{if(typeof Z==="string")this.#Y=Z;else this.#Y="*",W.unshift(Z);return W.forEach(($)=>{this.#J(J7,this.#Y,$)}),this};let{strict:J,...Q}=X;Object.assign(this,Q),this.getPath=J??!0?X.getPath??Dp1:vw6}#X(){let X=new Y({router:this.router,getPath:this.getPath});return X.errorHandler=this.errorHandler,X.#G=this.#G,X.routes=this.routes,X}#G=sZ5;errorHandler=cw6;route(X,G){let J=this.basePath(X);return G.routes.map((Q)=>{let Z;if(G.errorHandler===cw6)Z=Q.handler;else Z=async(W,$)=>(await Np1([],G.errorHandler)(W,()=>Q.handler(W,$))).res,Z[Ap1]=Q.handler;J.#J(Q.method,Q.path,Z)}),this}basePath(X){let G=this.#X();return G._basePath=oP(this._basePath,X),G}onError=(X)=>{return this.errorHandler=X,this};notFound=(X)=>{return this.#G=X,this};mount(X,G,J){let Q,Z;if(J)if(typeof J==="function")Z=J;else if(Z=J.optionHandler,J.replaceRequest===!1)Q=(H)=>H;else Q=J.replaceRequest;let W=Z?(H)=>{let K=Z(H);return Array.isArray(K)?K:[K]}:(H)=>{let K=void 0;try{K=H.executionCtx}catch{}return[H.env,K]};Q||=(()=>{let H=oP(this._basePath,X),K=H==="/"?0:H.length;return(V)=>{let U=new URL(V.url);return U.pathname=U.pathname.slice(K)||"/",new Request(U,V)}})();let $=async(H,K)=>{let V=await G(Q(H.req.raw),...W(H));if(V)return V;await K()};return this.#J(J7,oP(X,"*"),$),this}#J(X,G,J){X=X.toUpperCase(),G=oP(this._basePath,G);let Q={basePath:this._basePath,path:G,method:X,handler:J};this.router.add(X,G,[J,Q]),this.routes.push(Q)}#Q(X,G){if(X instanceof Error)return this.errorHandler(X,G);throw X}#W(X,G,J,Q){if(Q==="HEAD")return(async()=>new Response(null,await this.#W(X,G,J,"GET")))();let Z=this.getPath(X,{env:J}),W=this.router.match(Q,Z),$=new mw6(X,{path:Z,matchResult:W,env:J,executionCtx:G,notFoundHandler:this.#G});if(W[0].length===1){let K;try{K=W[0][0][0][0]($,async()=>{$.res=await this.#G($)})}catch(V){return this.#Q(V,$)}return K instanceof Promise?K.then((V)=>V||($.finalized?$.res:this.#G($))).catch((V)=>this.#Q(V,$)):K??this.#G($)}let H=Np1(W[0],this.errorHandler,this.#G);return(async()=>{try{let K=await H($);if(!K.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return K.res}catch(K){return this.#Q(K,$)}})()}fetch=(X,...G)=>{return this.#W(X,G[1],G[0],X.method)};request=(X,G,J,Q)=>{if(X instanceof Request)return this.fetch(G?new Request(X,G):X,J,Q);return X=X.toString(),this.fetch(new Request(/^https?:\/\//.test(X)?X:`http://localhost${oP("/",X)}`,G),J,Q)};fire=()=>{addEventListener("fetch",(X)=>{X.respondWith(this.#W(X.request,X,void 0,X.request.method))})}};var nw6=w(()=>{Rw6();bZ1();$w();Mp1();Zw()});function uZ1(Y,X){let G=this.buildAllMatchers(),J=(Q,Z)=>{let W=G[Q]||G[J7],$=W[2][Z];if($)return $;let H=Z.match(W[0]);if(!H)return[[],Ji];let K=H.indexOf("",1);return[W[1][K],H]};return this.match=J,J(Y,X)}var Ji;var Ep1=w(()=>{$w();Ji=[]});function eZ5(Y,X){if(Y.length===1)return X.length===1?Y<X?-1:1:-1;if(X.length===1)return 1;if(Y===Qi||Y===Wi)return 1;else if(X===Qi||X===Wi)return-1;if(Y===mZ1)return 1;else if(X===mZ1)return-1;return Y.length===X.length?Y<X?-1:1:X.length-Y.length}var mZ1="[^/]+",Qi=".*",Wi="(?:|/.*)",sP,tZ5,iw6=class Y{#Y;#X;#G=Object.create(null);insert(X,G,J,Q,Z){if(X.length===0){if(this.#Y!==void 0)throw sP;if(Z)return;this.#Y=G;return}let[W,...$]=X,H=W==="*"?$.length===0?["","",Qi]:["","",mZ1]:W==="/*"?["","",Wi]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),K;if(H){let V=H[1],U=H[2]||mZ1;if(V&&H[2]){if(U===".*")throw sP;if(U=U.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(U))throw sP}if(K=this.#G[U],!K){if(Object.keys(this.#G).some((B)=>B!==Qi&&B!==Wi))throw sP;if(Z)return;if(K=this.#G[U]=new Y,V!=="")K.#X=Q.varIndex++}if(!Z&&V!=="")J.push([V,K.#X])}else if(K=this.#G[W],!K){if(Object.keys(this.#G).some((V)=>V.length>1&&V!==Qi&&V!==Wi))throw sP;if(Z)return;K=this.#G[W]=new Y}K.insert($,G,J,Q,Z)}buildRegExpStr(){let G=Object.keys(this.#G).sort(eZ5).map((J)=>{let Q=this.#G[J];return(typeof Q.#X==="number"?`(${J})@${Q.#X}`:tZ5.has(J)?`\\${J}`:J)+Q.buildRegExpStr()});if(typeof this.#Y==="number")G.unshift(`#${this.#Y}`);if(G.length===0)return"";if(G.length===1)return G[0];return"(?:"+G.join("|")+")"}};var Pp1=w(()=>{sP=Symbol(),tZ5=new Set(".\\+*[^]$()")});var aw6=class{#Y={varIndex:0};#X=new iw6;insert(Y,X,G){let J=[],Q=[];for(let W=0;;){let $=!1;if(Y=Y.replace(/\{[^}]+\}/g,(H)=>{let K=`@\\${W}`;return Q[W]=[K,H],W++,$=!0,K}),!$)break}let Z=Y.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let W=Q.length-1;W>=0;W--){let[$]=Q[W];for(let H=Z.length-1;H>=0;H--)if(Z[H].indexOf($)!==-1){Z[H]=Z[H].replace($,Q[W][1]);break}}return this.#X.insert(Z,X,J,this.#Y,G),J}buildRegExp(){let Y=this.#X.buildRegExpStr();if(Y==="")return[/^$/,[],[]];let X=0,G=[],J=[];return Y=Y.replace(/#(\d+)|@(\d+)|\.\*\$/g,(Q,Z,W)=>{if(Z!==void 0)return G[++X]=Number(Z),"$()";if(W!==void 0)return J[Number(W)]=++X,"";return""}),[new RegExp(`^${Y}`),G,J]}};var rw6=w(()=>{Pp1()});function sw6(Y){return ow6[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(X,G)=>G?`\\${G}`:"(?:|/.*)")}$`)}function X$5(){ow6=Object.create(null)}function G$5(Y){let X=new aw6,G=[];if(Y.length===0)return Y$5;let J=Y.map((K)=>[!/\*|\/:/.test(K[0]),...K]).sort(([K,V],[U,B])=>K?1:U?-1:V.length-B.length),Q=Object.create(null);for(let K=0,V=-1,U=J.length;K<U;K++){let[B,O,N]=J[K];if(B)Q[O]=[N.map(([L])=>[L,Object.create(null)]),Ji];else V++;let z;try{z=X.insert(O,V,B)}catch(L){throw L===sP?new gZ1(O):L}if(B)continue;G[V]=N.map(([L,D])=>{let E=Object.create(null);D-=1;for(;D>=0;D--){let[R,C]=z[D];E[R]=C}return[L,E]})}let[Z,W,$]=X.buildRegExp();for(let K=0,V=G.length;K<V;K++)for(let U=0,B=G[K].length;U<B;U++){let O=G[K][U]?.[1];if(!O)continue;let N=Object.keys(O);for(let z=0,L=N.length;z<L;z++)O[N[z]]=$[O[N[z]]]}let H=[];for(let K in W)H[K]=G[W[K]];return[Z,H,Q]}function hk(Y,X){if(!Y)return;for(let G of Object.keys(Y).sort((J,Q)=>Q.length-J.length))if(sw6(G).test(X))return[...Y[G]];return}var Y$5,ow6,lZ1=class{name="RegExpRouter";#Y;#X;constructor(){this.#Y={[J7]:Object.create(null)},this.#X={[J7]:Object.create(null)}}add(Y,X,G){let J=this.#Y,Q=this.#X;if(!J||!Q)throw Error(xZ1);if(!J[Y])[J,Q].forEach(($)=>{$[Y]=Object.create(null),Object.keys($[J7]).forEach((H)=>{$[Y][H]=[...$[J7][H]]})});if(X==="/*")X="*";let Z=(X.match(/\/:/g)||[]).length;if(/\*$/.test(X)){let $=sw6(X);if(Y===J7)Object.keys(J).forEach((H)=>{J[H][X]||=hk(J[H],X)||hk(J[J7],X)||[]});else J[Y][X]||=hk(J[Y],X)||hk(J[J7],X)||[];Object.keys(J).forEach((H)=>{if(Y===J7||Y===H)Object.keys(J[H]).forEach((K)=>{$.test(K)&&J[H][K].push([G,Z])})}),Object.keys(Q).forEach((H)=>{if(Y===J7||Y===H)Object.keys(Q[H]).forEach((K)=>$.test(K)&&Q[H][K].push([G,Z]))});return}let W=vZ1(X)||[X];for(let $=0,H=W.length;$<H;$++){let K=W[$];Object.keys(Q).forEach((V)=>{if(Y===J7||Y===V)Q[V][K]||=[...hk(J[V],K)||hk(J[J7],K)||[]],Q[V][K].push([G,Z-H+$+1])})}}match=uZ1;buildAllMatchers(){let Y=Object.create(null);return Object.keys(this.#X).concat(Object.keys(this.#Y)).forEach((X)=>{Y[X]||=this.#G(X)}),this.#Y=this.#X=void 0,X$5(),Y}#G(Y){let X=[],G=Y===J7;if([this.#Y,this.#X].forEach((J)=>{let Q=J[Y]?Object.keys(J[Y]).map((Z)=>[Z,J[Y][Z]]):[];if(Q.length!==0)G||=!0,X.push(...Q);else if(Y!==J7)X.push(...Object.keys(J[J7]).map((Z)=>[Z,J[J7][Z]]))}),!G)return null;else return G$5(X)}};var Tp1=w(()=>{$w();Zw();Ep1();Pp1();rw6();Y$5=[/^$/,[],Object.create(null)],ow6=Object.create(null)});var J$5=class{name="PreparedRegExpRouter";#Y;#X;constructor(Y,X){this.#Y=Y,this.#X=X}#G(Y,X){let G=this.#Y[Y];G[1].forEach((J)=>J&&J.push(X)),Object.values(G[2]).forEach((J)=>J[0].push(X))}#J(Y,X,G,J,Q){let Z=this.#Y[Y];if(!Q)Z[2][X][0].push([G,{}]);else J.forEach((W)=>{if(typeof W==="number")Z[1][W].push([G,Q]);else Z[2][W||X][0].push([G,Q])})}add(Y,X,G){if(!this.#Y[Y]){let Q=this.#Y[J7],Z={};for(let W in Q[2])Z[W]=[Q[2][W][0].slice(),Ji];this.#Y[Y]=[Q[0],Q[1].map((W)=>Array.isArray(W)?W.slice():0),Z]}if(X==="/*"||X==="*"){let Q=[G,{}];if(Y===J7)for(let Z in this.#Y)this.#G(Z,Q);else this.#G(Y,Q);return}let J=this.#X[X];if(!J)throw Error(`Path ${X} is not registered`);for(let[Q,Z]of J)if(Y===J7)for(let W in this.#Y)this.#J(W,X,G,Q,Z);else this.#J(Y,X,G,Q,Z)}buildAllMatchers(){return this.#Y}match=uZ1};var tw6=w(()=>{$w();Ep1();Tp1()});var ew6=w(()=>{Tp1();tw6()});var Rp1=class{name="SmartRouter";#Y=[];#X=[];constructor(Y){this.#Y=Y.routers}add(Y,X,G){if(!this.#X)throw Error(xZ1);this.#X.push([Y,X,G])}match(Y,X){if(!this.#X)throw Error("Fatal error");let G=this.#Y,J=this.#X,Q=G.length,Z=0,W;for(;Z<Q;Z++){let $=G[Z];try{for(let H=0,K=J.length;H<K;H++)$.add(...J[H]);W=$.match(Y,X)}catch(H){if(H instanceof gZ1)continue;throw H}this.match=$.match.bind($),this.#Y=[$],this.#X=void 0;break}if(Z===Q)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,W}get activeRouter(){if(this.#X||this.#Y.length!==1)throw Error("No active router has been determined yet.");return this.#Y[0]}};var YA6=w(()=>{$w()});var XA6=w(()=>{YA6()});var Zi,Q$5=(Y)=>{for(let X in Y)return!0;return!1},GA6=class Y{#Y;#X;#G;#J=0;#Q=Zi;constructor(X,G,J){if(this.#X=J||Object.create(null),this.#Y=[],X&&G){let Q=Object.create(null);Q[X]={handler:G,possibleKeys:[],score:0},this.#Y=[Q]}this.#G=[]}insert(X,G,J){this.#J=++this.#J;let Q=this,Z=_w6(G),W=[];for(let $=0,H=Z.length;$<H;$++){let K=Z[$],V=Z[$+1],U=fw6(K,V),B=Array.isArray(U)?U[0]:K;if(B in Q.#X){if(Q=Q.#X[B],U)W.push(U[1]);continue}if(Q.#X[B]=new Y,U)Q.#G.push(U),W.push(U[1]);Q=Q.#X[B]}return Q.#Y.push({[X]:{handler:J,possibleKeys:W.filter(($,H,K)=>K.indexOf($)===H),score:this.#J}}),Q}#W(X,G,J,Q,Z){for(let W=0,$=G.#Y.length;W<$;W++){let H=G.#Y[W],K=H[J]||H[J7],V={};if(K!==void 0){if(K.params=Object.create(null),X.push(K),Q!==Zi||Z&&Z!==Zi)for(let U=0,B=K.possibleKeys.length;U<B;U++){let O=K.possibleKeys[U],N=V[K.score];K.params[O]=Z?.[O]&&!N?Z[O]:Q[O]??Z?.[O],V[K.score]=!0}}}}search(X,G){let J=[];this.#Q=Zi;let Z=[this],W=Lp1(G),$=[],H=W.length,K=null;for(let V=0;V<H;V++){let U=W[V],B=V===H-1,O=[];for(let z=0,L=Z.length;z<L;z++){let D=Z[z],E=D.#X[U];if(E)if(E.#Q=D.#Q,B){if(E.#X["*"])this.#W(J,E.#X["*"],X,D.#Q);this.#W(J,E,X,D.#Q)}else O.push(E);for(let R=0,C=D.#G.length;R<C;R++){let T=D.#G[R],S=D.#Q===Zi?{}:{...D.#Q};if(T==="*"){let g=D.#X["*"];if(g)this.#W(J,g,X,D.#Q),g.#Q=S,O.push(g);continue}let[_,k,f]=T;if(!U&&!(f instanceof RegExp))continue;let h=D.#X[_];if(f instanceof RegExp){if(K===null){K=Array(H);let n=G[0]==="/"?1:0;for(let v=0;v<H;v++)K[v]=n,n+=W[v].length+1}let g=G.substring(K[V]),p=f.exec(g);if(p){if(S[k]=p[0],this.#W(J,h,X,D.#Q,S),Q$5(h.#X)){h.#Q=S;let n=p[0].match(/\//)?.length??0;($[n]||=[]).push(h)}continue}}if(f===!0||f.test(U))if(S[k]=U,B){if(this.#W(J,h,X,S,D.#Q),h.#X["*"])this.#W(J,h.#X["*"],X,S,D.#Q)}else h.#Q=S,O.push(h)}}let N=$.shift();Z=N?O.concat(N):O}if(J.length>1)J.sort((V,U)=>{return V.score-U.score});return[J.map(({handler:V,params:U})=>[V,U])]}};var JA6=w(()=>{$w();Zw();Zi=Object.create(null)});var Cp1=class{name="TrieRouter";#Y;constructor(){this.#Y=new GA6}add(Y,X,G){let J=vZ1(X);if(J){for(let Q=0,Z=J.length;Q<Z;Q++)this.#Y.insert(Y,J[Q],G);return}this.#Y.insert(Y,X,G)}match(Y,X){return this.#Y.search(Y,X)}};var QA6=w(()=>{Zw();JA6()});var WA6=w(()=>{QA6()});var V5;var ZA6=w(()=>{nw6();ew6();XA6();WA6();V5=class extends pw6{constructor(Y={}){super(Y);this.router=Y.router??new Rp1({routers:[new lZ1,new Cp1]})}}});var IG=w(()=>{ZA6()});var HA6,W$5,$A6=(Y)=>{let X=0,G=Y.length;while(X<G){let J=Y.charCodeAt(X);if(J!==32&&J!==9)break;X++}while(G>X){let J=Y.charCodeAt(G-1);if(J!==32&&J!==9)break;G--}return X===0&&G===Y.length?Y:Y.slice(X,G)},Sp1=(Y,X)=>{if(X&&Y.indexOf(X)===-1)return{};let G=Y.split(";"),J={};for(let Q of G){let Z=Q.indexOf("=");if(Z===-1)continue;let W=$A6(Q.substring(0,Z));if(X&&X!==W||!HA6.test(W))continue;let $=$A6(Q.substring(Z+1));if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(W$5.test($)){if(J[W]=$.indexOf("%")!==-1?yk($,Yi):$,X)break}}return J},Z$5=(Y,X,G={})=>{if(!HA6.test(Y))throw Error("Invalid cookie name");let J=`${Y}=${X}`;if(Y.startsWith("__Secure-")&&!G.secure)throw Error("__Secure- Cookie must have Secure attributes");if(Y.startsWith("__Host-")){if(!G.secure)throw Error("__Host- Cookie must have Secure attributes");if(G.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(G.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let Q of["domain","path"])if(G[Q]&&/[;\r\n]/.test(G[Q]))throw Error(`${Q} must not contain ";", "\\r", or "\\n"`);if(G&&typeof G.maxAge==="number"&&G.maxAge>=0){if(G.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");J+=`; Max-Age=${G.maxAge|0}`}if(G.domain&&G.prefix!=="host")J+=`; Domain=${G.domain}`;if(G.path)J+=`; Path=${G.path}`;if(G.expires){if(G.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");J+=`; Expires=${G.expires.toUTCString()}`}if(G.httpOnly)J+="; HttpOnly";if(G.secure)J+="; Secure";if(G.sameSite)J+=`; SameSite=${G.sameSite.charAt(0).toUpperCase()+G.sameSite.slice(1)}`;if(G.priority)J+=`; Priority=${G.priority.charAt(0).toUpperCase()+G.priority.slice(1)}`;if(G.partitioned){if(!G.secure)throw Error("Partitioned Cookie must have Secure attributes");J+="; Partitioned"}return J},dZ1=(Y,X,G)=>{return X=encodeURIComponent(X),Z$5(Y,X,G)};var KA6=w(()=>{Zw();HA6=/^[\w!#$%&'*.^`|~+-]+$/,W$5=/^[ !#-:<-[\]-~]*$/});var cZ1=(Y,X,G)=>{let J=Y.req.raw.headers.get("Cookie");if(typeof X==="string"){if(!J)return;let Z=X;if(G==="secure")Z="__Secure-"+X;else if(G==="host")Z="__Host-"+X;return Sp1(J,Z)[Z]}if(!J)return{};return Sp1(J)},$$5=(Y,X,G)=>{let J;if(G?.prefix==="secure")J=dZ1("__Secure-"+Y,X,{path:"/",...G,secure:!0});else if(G?.prefix==="host")J=dZ1("__Host-"+Y,X,{...G,path:"/",secure:!0,domain:void 0});else J=dZ1(Y,X,{path:"/",...G});return J},jp1=(Y,X,G,J)=>{let Q=$$5(X,G,J);Y.header("Set-Cookie",Q,{append:!0})};var Ip1=w(()=>{KA6()});var FA6=(Y)=>{let G={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},J=((Z)=>{if(typeof Z==="string")if(Z==="*"){if(G.credentials)return(W)=>W||null;return()=>Z}else return(W)=>Z===W?W:null;else if(typeof Z==="function")return Z;else return(W)=>Z.includes(W)?W:null})(G.origin),Q=((Z)=>{if(typeof Z==="function")return Z;else if(Array.isArray(Z))return()=>Z;else return()=>[]})(G.allowMethods);return async function(W,$){function H(V,U){W.res.headers.set(V,U)}let K=await J(W.req.header("origin")||"",W);if(K)H("Access-Control-Allow-Origin",K);if(G.credentials)H("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)H("Access-Control-Expose-Headers",G.exposeHeaders.join(","));if(W.req.method==="OPTIONS"){if(G.origin!=="*"||G.credentials)H("Vary","Origin");if(G.maxAge!=null)H("Access-Control-Max-Age",G.maxAge.toString());let V=await Q(W.req.header("origin")||"",W);if(V.length)H("Access-Control-Allow-Methods",V.join(","));let U=G.allowHeaders;if(!U?.length){let B=W.req.header("Access-Control-Request-Headers");if(B)U=B.split(/\s*,\s*/)}if(U?.length)H("Access-Control-Allow-Headers",U.join(",")),W.res.headers.append("Vary","Access-Control-Request-Headers");return W.res.headers.delete("Content-Length"),W.res.headers.delete("Content-Type"),new Response(null,{headers:W.res.headers,status:204,statusText:"No Content"})}if(await $(),G.origin!=="*"||G.credentials)W.header("Vary","Origin",{append:!0})}};var VA6=()=>{};var UA6=()=>{try{return performance.now()}catch{}return Date.now()},_p1=(Y)=>{let X={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(J,Q){let Z=[],W=new Map;if(J.get("metric"))return await Q();if(J.set("metric",{headers:Z,timers:W}),X.total)LH(J,"total",X.totalDescription);if(await Q(),X.total)pZ(J,"total");if(X.autoEnd)W.forEach((H,K)=>pZ(J,K));if(typeof X.enabled==="function"?X.enabled(J):X.enabled){J.res.headers.append("Server-Timing",Z.join(","));let H=typeof X.crossOrigin==="function"?X.crossOrigin(J):X.crossOrigin;if(H)J.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},BA6=(Y,X,G,J,Q)=>{let Z=Y.get("metric");if(!Z){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof G==="number"){let W=G.toFixed(Q||1),$=J?`${X};dur=${W};desc="${J}"`:`${X};dur=${W}`;Z.headers.push($)}else{let W=G?`${X};desc="${G}"`:`${X}`;Z.headers.push(W)}},LH=(Y,X,G)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}J.timers.set(X,{description:G,start:UA6()})},pZ=(Y,X,G)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let Q=J.timers.get(X);if(!Q){console.warn(`Timer "${X}" does not exist!`);return}let{description:Z,start:W}=Q,$=UA6()-W;BA6(Y,X,$,Z,G),J.timers.delete(X)};var OA6=w(()=>{bZ1()});var fp1=w(()=>{OA6()});function $i(){let Y={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(let X of kp1)Y[X.category]?.push(X);return Y}var kp1;var vp1=w(()=>{kp1=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"BRAND_CONTEXT_LIST",description:"List brand contexts",category:"Organizations"},{name:"BRAND_CONTEXT_GET",description:"View brand context",category:"Organizations"},{name:"BRAND_CONTEXT_CREATE",description:"Create brand context",category:"Organizations"},{name:"BRAND_CONTEXT_UPDATE",description:"Update brand context",category:"Organizations"},{name:"BRAND_CONTEXT_DELETE",description:"Delete brand context",category:"Organizations",dangerous:!0},{name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context from website",category:"Organizations"},{name:"BRAND_GET",description:"Get brand (binding)",category:"Organizations"},{name:"BRAND_LIST",description:"List brands (binding)",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_GET",description:"Get organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_SET",description:"Set organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update organization domain settings",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_CLEAR",description:"Clear organization domain claim",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"View virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Update virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PROVIDER_CLI_ACTIVATE",description:"Activate Claude Code via local CLI",category:"AI Providers"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List private registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_CREATE",description:"Create registry item",category:"Registry"},{name:"REGISTRY_ITEM_BULK_CREATE",description:"Bulk create registry items",category:"Registry"},{name:"REGISTRY_ITEM_UPDATE",description:"Update registry item",category:"Registry"},{name:"REGISTRY_ITEM_DELETE",description:"Delete registry item",category:"Registry",dangerous:!0},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"REGISTRY_DISCOVER_TOOLS",description:"Discover tools from MCP server",category:"Registry"},{name:"REGISTRY_AI_GENERATE",description:"AI-generate registry content",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_LIST",description:"List publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_REVIEW",description:"Review publish request",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_COUNT",description:"Count pending publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_DELETE",description:"Delete publish request",category:"Registry",dangerous:!0},{name:"REGISTRY_PUBLISH_API_KEY_GENERATE",description:"Generate publish API key",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_LIST",description:"List publish API keys",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_REVOKE",description:"Revoke publish API key",category:"Registry",dangerous:!0},{name:"REGISTRY_MONITOR_RUN_START",description:"Start monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_LIST",description:"List monitor runs",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_GET",description:"Get monitor run details",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RESULT_LIST",description:"List monitor results",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Sync monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update monitor connection auth",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Set monitor schedule",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel monitor schedule",category:"Registry"},{name:"VM_START",description:"Start a Freestyle VM with dev server preview",category:"VM"},{name:"VM_DELETE",description:"Stop and delete a Freestyle VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"}]});var NA6=w(()=>{lI();t71()});function zA6(){return K$5.parse(process.env)}var yp1=(Y)=>F.enum(["true","false","1","0"]).optional().transform((X)=>X===void 0?Y:X==="true"||X==="1"),H$5=(Y)=>F.string().optional().transform((X)=>X?X.split(",").map((G)=>G.trim()):Y),K$5;var qA6=w(()=>{F0();K$5=F.object({AUTH_EMAIL_PASSWORD_ENABLED:yp1(!0),AUTH_GOOGLE_CLIENT_ID:F.string().optional(),AUTH_GOOGLE_CLIENT_SECRET:F.string().optional(),AUTH_GITHUB_CLIENT_ID:F.string().optional(),AUTH_GITHUB_CLIENT_SECRET:F.string().optional(),AUTH_RESEND_API_KEY:F.string().optional(),AUTH_RESEND_FROM_EMAIL:F.string().optional(),AUTH_SENDGRID_API_KEY:F.string().optional(),AUTH_SENDGRID_FROM_EMAIL:F.string().optional(),AUTH_INVITE_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_RESET_PASSWORD_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_MAGIC_LINK_ENABLED:yp1(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:yp1(!1),AUTH_EMAIL_OTP_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_LENGTH:F.coerce.number().optional(),AUTH_EMAIL_OTP_EXPIRES_IN:F.coerce.number().optional(),AUTH_SSO_DOMAIN:F.string().optional(),AUTH_SSO_MS_TENANT_ID:F.string().optional(),AUTH_SSO_MS_CLIENT_ID:F.string().optional(),AUTH_SSO_MS_CLIENT_SECRET:F.string().optional(),AUTH_SSO_SCOPES:H$5(["openid","email","profile"])}).transform((Y)=>{let X={};if(Y.AUTH_GOOGLE_CLIENT_ID)X.google={clientId:Y.AUTH_GOOGLE_CLIENT_ID,clientSecret:Y.AUTH_GOOGLE_CLIENT_SECRET??""};if(Y.AUTH_GITHUB_CLIENT_ID)X.github={clientId:Y.AUTH_GITHUB_CLIENT_ID,clientSecret:Y.AUTH_GITHUB_CLIENT_SECRET??""};let G=[];if(Y.AUTH_RESEND_API_KEY)G.push({id:"resend",provider:"resend",config:{apiKey:Y.AUTH_RESEND_API_KEY,fromEmail:Y.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if(Y.AUTH_SENDGRID_API_KEY)G.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:Y.AUTH_SENDGRID_API_KEY,fromEmail:Y.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let J=G[0]?.id,Q;if(Y.AUTH_SSO_MS_CLIENT_ID&&Y.AUTH_SSO_DOMAIN)Q={providerId:"microsoft",domain:Y.AUTH_SSO_DOMAIN,MS_TENANT_ID:Y.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:Y.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:Y.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:Y.AUTH_SSO_SCOPES};let Z;if(Y.AUTH_MAGIC_LINK_ENABLED)Z={enabled:!0,emailProviderId:Y.AUTH_MAGIC_LINK_EMAIL_PROVIDER??J??""};let W;if(Y.AUTH_EMAIL_OTP_ENABLED)W={enabled:!0,emailProviderId:Y.AUTH_EMAIL_OTP_EMAIL_PROVIDER??J??"",...Y.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:Y.AUTH_EMAIL_OTP_LENGTH},...Y.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:Y.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:Y.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(X).length>0?X:void 0,emailProviders:G.length>0?G:void 0,inviteEmailProviderId:Y.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:Y.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:Q,magicLinkConfig:Z,emailOtpConfig:W}})});var pZ1;var LA6=w(()=>{pZ1={enabled:!0,batchSize:250,flushIntervalMs:300,maxQueueSize:1e4,redactor:"regex"}});import{existsSync as F$5,readFileSync as V$5}from"fs";function U$5(){let Y=zA6(),X=j6().configPath;if(!F$5(X))return{auth:Y,monitoring:pZ1};try{let G=JSON.parse(V$5(X,"utf-8"));if(G.auth)console.warn("[config] DEPRECATION: 'auth' key found in config.json. Auth is now configured via AUTH_* environment variables. The 'auth' key will be ignored.");return{auth:Y,monitoring:G.monitoring??pZ1,theme:G.theme,logo:G.logo,autoCreateOrganizationOnSignup:G.autoCreateOrganizationOnSignup}}catch{return{auth:Y,monitoring:pZ1}}}function tP(){if(!hp1)hp1=U$5();return hp1}function DA6(){return tP().theme}var hp1=null;var bp1=w(()=>{qA6();LA6();E9()});import{dirname as B$5,posix as O$5,sep as N$5}from"path";function AA6(){let Y=z$5();return async(X)=>{for(let G of X)G.module=Y(G.filename);return X}}function z$5(Y=process.argv[1]?B$5(process.argv[1]):process.cwd(),X=N$5==="\\"){let G=X?wA6(Y):Y;return(J)=>{if(!J)return;let Q=X?wA6(J):J,{dir:Z,base:W,ext:$}=O$5.parse(Q);if($===".js"||$===".mjs"||$===".cjs")W=W.slice(0,-1*$.length);let H=decodeURIComponent(W);if(!Z)Z=".";let K=Z.lastIndexOf("/node_modules");if(K>-1)return`${Z.slice(K+14).replace(/\//g,".")}:${H}`;if(Z.startsWith(G)){let V=Z.slice(G.length+1).replace(/\//g,".");return V?`${V}:${H}`:H}return H}}function wA6(Y){return Y.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var MA6=()=>{};function q$5(Y,X,G){return{key:Y,enabled:typeof X=="string"?!0:X,variant:typeof X=="string"?X:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:G?JSON.stringify(G):void 0,description:void 0}}}var xp1=(Y)=>{if("flags"in Y){let X=EA6(Y.flags),G=PA6(Y.flags);return{...Y,featureFlags:X,featureFlagPayloads:G}}{let X=Y.featureFlags??{},G=Object.fromEntries(Object.entries(Y.featureFlagPayloads||{}).map(([Q,Z])=>[Q,gp1(Z)])),J=Object.fromEntries(Object.entries(X).map(([Q,Z])=>[Q,q$5(Q,Z,G[Q])]));return{...Y,featureFlags:X,featureFlagPayloads:G,flags:J}}},EA6=(Y)=>Object.fromEntries(Object.entries(Y??{}).map(([X,G])=>[X,Hi(G)]).filter(([,X])=>X!==void 0)),PA6=(Y)=>{let X=Y??{};return Object.fromEntries(Object.keys(X).filter((G)=>{let J=X[G];return J.enabled&&J.metadata&&J.metadata.payload!==void 0}).map((G)=>{let J=X[G].metadata?.payload;return[G,J?gp1(J):void 0]}))},Hi=(Y)=>Y===void 0?void 0:Y.variant??Y.enabled,gp1=(Y)=>{if(typeof Y!="string")return Y;try{return JSON.parse(Y)}catch{return Y}};var nZ1=()=>{};function TA6(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function iZ1(Y,X=!0,G){try{let J=new CompressionStream("gzip"),Q=J.writable.getWriter(),Z=Q.write(new TextEncoder().encode(Y)).then(()=>Q.close()).catch(async(H)=>{try{await Q.abort(H)}catch{}throw H}),W=new Response(J.readable).blob(),[$]=await Promise.all([W,Z]);return $}catch(J){if(G?.rethrow)throw J;if(X)console.error("Failed to gzip compress data",J);return null}}var up1=()=>{};var L$5,RA6=function(Y,X=[]){if(!Y)return!1;let G=Y.toLowerCase();return L$5.concat(X).some((J)=>{let Q=J.toLowerCase();return G.indexOf(Q)!==-1})};var CA6=w(()=>{L$5=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"]});var CW;var bk=w(()=>{CW=function(Y){return Y.AnonymousId="anonymous_id",Y.DistinctId="distinct_id",Y.Props="props",Y.EnablePersonProcessing="enable_person_processing",Y.PersonMode="person_mode",Y.FeatureFlagDetails="feature_flag_details",Y.FeatureFlags="feature_flags",Y.FeatureFlagPayloads="feature_flag_payloads",Y.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",Y.BootstrapFeatureFlags="bootstrap_feature_flags",Y.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",Y.OverrideFeatureFlags="override_feature_flags",Y.Queue="queue",Y.OptedOut="opted_out",Y.SessionId="session_id",Y.SessionStartTimestamp="session_start_timestamp",Y.SessionLastTimestamp="session_timestamp",Y.PersonProperties="person_properties",Y.GroupProperties="group_properties",Y.InstalledAppBuild="installed_app_build",Y.InstalledAppVersion="installed_app_version",Y.SessionReplay="session_replay",Y.SurveyLastSeenDate="survey_last_seen_date",Y.SurveysSeen="surveys_seen",Y.Surveys="surveys",Y.RemoteConfig="remote_config",Y.FlagsEndpointWasHit="flags_endpoint_was_hit",Y.DeviceId="device_id",Y}({})});var aZ1=()=>{};function oZ1(Y){return Y===null||typeof Y!="object"}function eP(Y,X){return Object.prototype.toString.call(Y)===`[object ${X}]`}function IA6(Y){return eP(Y,"ErrorEvent")}function gk(Y){return typeof Event<"u"&&A$5(Y,Event)}function _A6(Y){return eP(Y,"Object")}function A$5(Y,X){try{return Y instanceof X}catch{return!1}}var w$5,SA6,k0Y,mp1,rZ1,Ki=(Y)=>Y===Object(Y)&&!rZ1(Y),xk=(Y)=>Y===void 0,Hw=(Y)=>mp1.call(Y)=="[object String]",jA6=(Y)=>Hw(Y)&&Y.trim().length===0,Fi=(Y)=>mp1.call(Y)=="[object Number]"&&Y===Y,lp1=(Y)=>Y instanceof Error;var Vi=w(()=>{bk();aZ1();w$5=Array.isArray,SA6=Object.prototype,k0Y=SA6.hasOwnProperty,mp1=SA6.toString,rZ1=w$5||function(Y){return mp1.call(Y)==="[object Array]"}});function Ui(Y,X,G,J,Q){if(X>G)J.warn("min cannot be greater than max."),X=G;if(Fi(Y))if(Y>G)return J.warn(" cannot be greater than max: "+G+". Using max value instead."),G;else{if(!(Y<X))return Y;return J.warn(" cannot be less than min: "+X+". Using min value instead."),X}return J.warn(" must be a number. using max or fallback. max: "+G+", fallback: "+Q),Ui(Q||G,X,G,J)}var dp1=w(()=>{Vi()});class cp1{constructor(Y){this._buckets={},this._onBucketRateLimited=Y._onBucketRateLimited,this._bucketSize=Ui(Y.bucketSize,0,100,Y._logger),this._refillRate=Ui(Y.refillRate,0,this._bucketSize,Y._logger),this._refillInterval=Ui(Y.refillInterval,0,M$5,Y._logger)}_applyRefill(Y,X){let G=X-Y.lastAccess,J=Math.floor(G/this._refillInterval);if(J>0){let Q=J*this._refillRate;Y.tokens=Math.min(Y.tokens+Q,this._bucketSize),Y.lastAccess=Y.lastAccess+J*this._refillInterval}}consumeRateLimit(Y){let X=Date.now(),G=String(Y),J=this._buckets[G];if(J)this._applyRefill(J,X);else J={tokens:this._bucketSize,lastAccess:X},this._buckets[G]=J;if(J.tokens===0)return!0;if(J.tokens--,J.tokens===0)this._onBucketRateLimited?.(Y);return J.tokens===0}stop(){this._buckets={}}}var M$5=86400000;var fA6=w(()=>{dp1()});class YT{constructor(Y){this.bytes=Y}static ofInner(Y){if(Y.length===16)return new YT(Y);throw TypeError("not 128-bit length")}static fromFieldsV7(Y,X,G,J){if(!Number.isInteger(Y)||!Number.isInteger(X)||!Number.isInteger(G)||!Number.isInteger(J)||Y<0||X<0||G<0||J<0||Y>281474976710655||X>4095||G>1073741823||J>4294967295)throw RangeError("invalid field value");let Q=new Uint8Array(16);return Q[0]=Y/1099511627776,Q[1]=Y/4294967296,Q[2]=Y/16777216,Q[3]=Y/65536,Q[4]=Y/256,Q[5]=Y,Q[6]=112|X>>>8,Q[7]=X,Q[8]=128|G>>>24,Q[9]=G>>>16,Q[10]=G>>>8,Q[11]=G,Q[12]=J>>>24,Q[13]=J>>>16,Q[14]=J>>>8,Q[15]=J,new YT(Q)}static parse(Y){let X;switch(Y.length){case 32:X=/^[0-9a-f]{32}$/i.exec(Y)?.[0];break;case 36:X=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(Y)?.slice(1,6).join("");break;case 38:X=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(Y)?.slice(1,6).join("");break;case 45:X=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(Y)?.slice(1,6).join("");break;default:break}if(X){let G=new Uint8Array(16);for(let J=0;J<16;J+=4){let Q=parseInt(X.substring(2*J,2*J+8),16);G[J+0]=Q>>>24,G[J+1]=Q>>>16,G[J+2]=Q>>>8,G[J+3]=Q}return new YT(G)}throw SyntaxError("could not parse UUID string")}toString(){let Y="";for(let X=0;X<this.bytes.length;X++)if(Y+="0123456789abcdef".charAt(this.bytes[X]>>>4),Y+="0123456789abcdef".charAt(15&this.bytes[X]),X===3||X===5||X===7||X===9)Y+="-";return Y}toHex(){let Y="";for(let X=0;X<this.bytes.length;X++)Y+="0123456789abcdef".charAt(this.bytes[X]>>>4),Y+="0123456789abcdef".charAt(15&this.bytes[X]);return Y}toJSON(){return this.toString()}getVariant(){let Y=this.bytes[8]>>>4;if(Y<0)throw Error("unreachable");if(Y<=7)return this.bytes.every((X)=>X===0)?"NIL":"VAR_0";if(Y<=11)return"VAR_10";if(Y<=13)return"VAR_110";if(Y<=15)return this.bytes.every((X)=>X===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new YT(this.bytes.slice(0))}equals(Y){return this.compareTo(Y)===0}compareTo(Y){for(let X=0;X<16;X++){let G=this.bytes[X]-Y.bytes[X];if(G!==0)return Math.sign(G)}return 0}}class vA6{constructor(Y){this.timestamp=0,this.counter=0,this.random=Y??E$5()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(Y,X){let G=this.generateOrAbortCore(Y,X);if(G===void 0)this.timestamp=0,G=this.generateOrAbortCore(Y,X);return G}generateOrAbortCore(Y,X){if(!Number.isInteger(Y)||Y<1||Y>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(X<0||X>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if(Y>this.timestamp)this.timestamp=Y,this.resetCounter();else{if(!(Y+X>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return YT.fromFieldsV7(this.timestamp,Math.trunc(this.counter/1073741824),this.counter&1073741823,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let Y=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return Y[6]=64|Y[6]>>>4,Y[8]=128|Y[8]>>>2,YT.ofInner(Y)}}var E$5=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),kA6,Kw=()=>P$5().toString(),P$5=()=>(kA6||(kA6=new vA6)).generate();var Bi=w(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class pp1{add(Y){let X=Kw();return this.promiseByIds[X]=Y,Y.catch(()=>{}).finally(()=>{delete this.promiseByIds[X]}),Y}async join(){let Y=Object.values(this.promiseByIds),X=Y.length;while(X>0)await Promise.all(Y),Y=Object.values(this.promiseByIds),X=Y.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var yA6=w(()=>{Bi()});function T$5(Y=console){return{log:Y.log.bind(Y),warn:Y.warn.bind(Y),error:Y.error.bind(Y),debug:Y.debug.bind(Y)}}function bA6(Y,X=R$5){return hA6(Y,X,T$5())}var hA6=(Y,X,G)=>{function J(Z,...W){X(()=>{let $=G[Z];$(Y,...W)})}return{info:(...Z)=>{J("log",...Z)},warn:(...Z)=>{J("warn",...Z)},error:(...Z)=>{J("error",...Z)},critical:(...Z)=>{G.error(Y,...Z)},createLogger:(Z)=>hA6(`${Y} ${Z}`,X,G)}},R$5=(Y)=>Y();var xA6=()=>{};var mk="Mobile",tZ1="iOS",uk="Android",gA6="Tablet",p0Y,S$5="Apple",n0Y,uA6="Safari",eZ1="BlackBerry",mA6="Samsung",j$5,I$5,Y$1="Chrome",_$5,f$5,lA6="Internet Explorer",k$5,ip1="Opera",i0Y,dA6="Edge",v$5,ap1="Firefox",y$5,rp1="Nintendo",op1="PlayStation",sZ1="Xbox",h$5,b$5,Oi="Windows",x$5,cA6="Generic",a0Y,r0Y,g$5="Konqueror",SW="(\\d+(\\.\\d+)?)",np1,o0Y,s0Y,t0Y,u$5,m$5,e0Y,Y6Y;var pA6=w(()=>{aZ1();Vi();p0Y=uk+" "+gA6,n0Y=S$5+" Watch",j$5=mA6+"Browser",I$5=mA6+" Internet",_$5=Y$1+" OS",f$5=Y$1+" "+tZ1,k$5=lA6+" "+mk,i0Y=ip1+" Mini",v$5="Microsoft "+dA6,y$5=ap1+" "+tZ1,h$5=uk+" "+mk,b$5=mk+" "+uA6,x$5=Oi+" Phone",a0Y=cA6+" "+mk.toLowerCase(),r0Y=cA6+" "+gA6.toLowerCase(),np1=new RegExp("Version/"+SW),o0Y=new RegExp(sZ1,"i"),s0Y=new RegExp(op1+" \\w+","i"),t0Y=new RegExp(rp1+" \\w+","i"),u$5=new RegExp(eZ1+"|PlayBook|BB10","i"),m$5={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"},e0Y={[k$5]:[new RegExp("rv:"+SW)],[v$5]:[new RegExp(dA6+"?\\/"+SW)],[Y$1]:[new RegExp("("+Y$1+"|CrMo)\\/"+SW)],[f$5]:[new RegExp("CriOS\\/"+SW)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+SW)],[uA6]:[np1],[b$5]:[np1],[ip1]:[new RegExp("("+ip1+"|OPR)\\/"+SW)],[ap1]:[new RegExp(ap1+"\\/"+SW)],[y$5]:[new RegExp("FxiOS\\/"+SW)],[g$5]:[new RegExp("Konqueror[:/]?"+SW,"i")],[eZ1]:[new RegExp(eZ1+" "+SW),np1],[h$5]:[new RegExp("android\\s"+SW,"i")],[I$5]:[new RegExp(j$5+"\\/"+SW)],[lA6]:[new RegExp("(rv:|MSIE )"+SW)],Mozilla:[new RegExp("rv:"+SW)]},Y6Y=[[new RegExp(sZ1+"; "+sZ1+" (.*?)[);]","i"),(Y)=>[sZ1,Y&&Y[1]||""]],[new RegExp(rp1,"i"),[rp1,""]],[new RegExp(op1,"i"),[op1,""]],[u$5,[eZ1,""]],[new RegExp(Oi,"i"),(Y,X)=>{if(/Phone/.test(X)||/WPDesktop/.test(X))return[x$5,""];if(new RegExp(mk).test(X)&&!/IEMobile\b/.test(X))return[Oi+" "+mk,""];let G=/Windows NT ([0-9.]+)/i.exec(X);if(G&&G[1]){let J=G[1],Q=m$5[J]||"";if(/arm/i.test(X))Q="RT";return[Oi,Q]}return[Oi,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,(Y)=>{if(Y&&Y[3]){let X=[Y[3],Y[4],Y[5]||"0"];return[tZ1,X.join(".")]}return[tZ1,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,(Y)=>{let X="";if(Y&&Y.length>=3)X=xk(Y[2])?Y[3]:Y[2];return["watchOS",X]}],[new RegExp("("+uk+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+uk+")","i"),(Y)=>{if(Y&&Y[2]){let X=[Y[2],Y[3],Y[4]||"0"];return[uk,X.join(".")]}return[uk,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,(Y)=>{let X=["Mac OS X",""];if(Y&&Y[1]){let G=[Y[1],Y[2],Y[3]||"0"];X[1]=G.join(".")}return X}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[_$5,""]],[/Linux|debian/i,["Linux",""]]]});function iA6(Y){return Y?.replace(/\/+$/,"")}async function aA6(Y,X){let G=null;for(let J=0;J<X.retryCount+1;J++){if(J>0)await new Promise((Q)=>setTimeout(Q,X.retryDelay));try{return await Y()}catch(Q){if(G=Q,!X.retryCheck(Q))throw Q}}throw G}function X$1(){return new Date().toISOString()}function Qz(Y,X){let G=setTimeout(Y,X);return G?.unref&&G?.unref(),G}function sp1(Y){return Promise.all(Y.map((X)=>(X??Promise.resolve()).then((G)=>({status:"fulfilled",value:G}),(G)=>({status:"rejected",reason:G}))))}var nA6="utf8",rA6=(Y)=>Y instanceof Error;var jW=w(()=>{CA6();fA6();dp1();aZ1();Vi();yA6();xA6();pA6()});var l$5,O6Y;var oA6=w(()=>{jW();l$5={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},O6Y=l$5.info});var sA6=w(()=>{bk()});class tp1{constructor(){this.events={},this.events={}}on(Y,X){if(!this.events[Y])this.events[Y]=[];return this.events[Y].push(X),()=>{this.events[Y]=this.events[Y].filter((G)=>G!==X)}}emit(Y,X){for(let G of this.events[Y]||[])G(X);for(let G of this.events["*"]||[])G(Y,X)}}var tA6=()=>{};async function eA6(Y){if(Y instanceof lk){let X="";try{X=await Y.text}catch{}console.error(`Error while flushing PostHog: message=${Y.message}, response body=${X}`,Y)}else console.error("Error while flushing PostHog",Y);return Promise.resolve()}function ep1(Y){return typeof Y=="object"&&(Y instanceof lk||Y instanceof Ni)}function YM6(Y){return typeof Y=="object"&&Y instanceof lk&&Y.status===413}class G$1{constructor(Y,X={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new pp1,this._events=new tp1,this._isInitialized=!1;let G=typeof Y=="string"?Y.trim():"",J=typeof X.host=="string"?X.host.trim():"",Q=!G;if(this._logger=bA6("[PostHog]",this.logMsgIfDebug.bind(this)),Q)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=G,this.host=iA6(J||"https://us.i.posthog.com"),this.flushAt=X.flushAt?Math.max(X.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,X.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,X.maxQueueSize??1000),this.flushInterval=X.flushInterval??1e4,this.preloadFeatureFlags=X.preloadFeatureFlags??!0,this.defaultOptIn=X.defaultOptIn??!0,this.disableSurveys=X.disableSurveys??!1,this._retryOptions={retryCount:X.fetchRetryCount??3,retryDelay:X.fetchRetryDelay??3000,retryCheck:ep1},this.requestTimeout=X.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=X.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=X.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=X.disableGeoip??!0,this.disabled=(X.disabled??!1)||Q,this.historicalMigration=X?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=X?.evaluationContexts??X?.evaluationEnvironments,X?.evaluationEnvironments&&!X?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!TA6()||(X?.disableCompression??!1)}logMsgIfDebug(Y){if(this.isDebug)Y()}wrap(Y){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return Y();this._initPromise.then(()=>Y())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(CW.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(CW.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(CW.OptedOut,!0)})}on(Y,X){return this._events.on(Y,X)}debug(Y=!0){if(this.removeDebugCallback?.(),Y){let X=this.on("*",(G,J)=>this._logger.info(G,J));this.removeDebugCallback=()=>{X(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(Y){return{distinct_id:Y.distinct_id,event:Y.event,properties:{...Y.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(Y){return this.promiseQueue.add(Y)}identifyStateless(Y,X,G){this.wrap(()=>{let J={...this.buildPayload({distinct_id:Y,event:"$identify",properties:X})};this.enqueue("identify",J,G)})}async identifyStatelessImmediate(Y,X,G){let J={...this.buildPayload({distinct_id:Y,event:"$identify",properties:X})};await this.sendImmediate("identify",J,G)}captureStateless(Y,X,G,J){this.wrap(()=>{let Q=this.buildPayload({distinct_id:Y,event:X,properties:G});this.enqueue("capture",Q,J)})}async captureStatelessImmediate(Y,X,G,J){let Q=this.buildPayload({distinct_id:Y,event:X,properties:G});await this.sendImmediate("capture",Q,J)}aliasStateless(Y,X,G,J){this.wrap(()=>{let Q=this.buildPayload({event:"$create_alias",distinct_id:X,properties:{...G||{},distinct_id:X,alias:Y}});this.enqueue("alias",Q,J)})}async aliasStatelessImmediate(Y,X,G,J){let Q=this.buildPayload({event:"$create_alias",distinct_id:X,properties:{...G||{},distinct_id:X,alias:Y}});await this.sendImmediate("alias",Q,J)}groupIdentifyStateless(Y,X,G,J,Q,Z){this.wrap(()=>{let W=this.buildPayload({distinct_id:Q||`$${Y}_${X}`,event:"$groupidentify",properties:{$group_type:Y,$group_key:X,$group_set:G||{},...Z||{}}});this.enqueue("capture",W,J)})}async getRemoteConfig(){await this._initPromise;let Y=this.host;if(Y==="https://us.i.posthog.com")Y="https://us-assets.i.posthog.com";else if(Y==="https://eu.i.posthog.com")Y="https://eu-assets.i.posthog.com";let X=`${Y}/array/${this.apiKey}/config`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(X,G,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((J)=>J.json()).catch((J)=>{this._logger.error("Remote config could not be loaded",J),this._events.emit("error",J)})}async getFlags(Y,X={},G={},J={},Q={},Z=!1){await this._initPromise;let W=Z?"&config=true":"",$=`${this.host}/flags/?v=2${W}`,H={token:this.apiKey,distinct_id:Y,groups:X,person_properties:G,group_properties:J,...Q};if(G.$device_id)H.$device_id=G.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)H.evaluation_contexts=this.evaluationContexts;let K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(H)};return this._logger.info("Flags URL",$),this.fetchWithRetry($,K,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((V)=>V.json()).then((V)=>({success:!0,response:xp1(V)})).catch((V)=>{return this._events.emit("error",V),{success:!1,error:this.categorizeRequestError(V)}})}categorizeRequestError(Y){if(Y instanceof lk)return{type:"api_error",statusCode:Y.status};if(Y instanceof Ni){let X=Y.error;if(X instanceof Error&&(X.name==="AbortError"||X.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagDetailStateless(Y,X,G,J,Q,Z);if(W===void 0)return{response:void 0,requestId:void 0};let $=Hi(W.response);if($===void 0)$=!1;return{response:$,requestId:W.requestId}}async getFeatureFlagDetailStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagDetailsStateless(X,G,J,Q,Z,[Y]);if(W===void 0)return;return{response:W.flags[Y],requestId:W.requestId,evaluatedAt:W.evaluatedAt}}async getFeatureFlagPayloadStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagPayloadsStateless(X,G,J,Q,Z,[Y]);if(!W)return;let $=W[Y];if($===void 0)return null;return $}async getFeatureFlagPayloadsStateless(Y,X={},G={},J={},Q,Z){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(Y,X,G,J,Q,Z)).payloads}async getFeatureFlagsStateless(Y,X={},G={},J={},Q,Z){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(Y,X,G,J,Q,Z)}async getFeatureFlagsAndPayloadsStateless(Y,X={},G={},J={},Q,Z){await this._initPromise;let W=await this.getFeatureFlagDetailsStateless(Y,X,G,J,Q,Z);if(!W)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:W.featureFlags,payloads:W.featureFlagPayloads,requestId:W.requestId}}async getFeatureFlagDetailsStateless(Y,X={},G={},J={},Q,Z){await this._initPromise;let W={};if(Q??this.disableGeoip)W.geoip_disable=!0;if(Z)W.flag_keys_to_evaluate=Z;let $=await this.getFlags(Y,X,G,J,W);if(!$.success)return;let H=$.response;if(H.errorsWhileComputingFlags)console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices");if(H.quotaLimited?.includes("feature_flags"))return console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:H?.requestId,quotaLimited:H.quotaLimited};return H}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let Y=`${this.host}/api/surveys/?token=${this.apiKey}`,X={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},J=(await this.fetchWithRetry(Y,X).then((Q)=>{if(Q.status!==200||!Q.json){let Z=`Surveys API could not be loaded: ${Q.status}`,W=Error(Z);this._logger.error(W),this._events.emit("error",Error(Z));return}return Q.json()}).catch((Q)=>{this._logger.error("Surveys API could not be loaded",Q),this._events.emit("error",Q)}))?.surveys;if(J)this._logger.info("Surveys fetched from API: ",JSON.stringify(J));return J??[]}get props(){if(!this._props)this._props=this.getPersistedProperty(CW.Props);return this._props||{}}set props(Y){this._props=Y}async register(Y){this.wrap(()=>{this.props={...this.props,...Y},this.setPersistedProperty(CW.Props,this.props)})}async unregister(Y){this.wrap(()=>{delete this.props[Y],this.setPersistedProperty(CW.Props,this.props)})}processBeforeEnqueue(Y){return Y}async flushStorage(){}enqueue(Y,X,G){this.wrap(()=>{if(this.optedOut)return void this._events.emit(Y,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let J=this.prepareMessage(Y,X,G);if(J=this.processBeforeEnqueue(J),J===null)return;let Q=this.getPersistedProperty(CW.Queue)||[];if(Q.length>=this.maxQueueSize)Q.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(Q.push({message:J}),this.setPersistedProperty(CW.Queue,Q),this._events.emit(Y,J),Q.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=Qz(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate(Y,X,G){if(this.disabled)return void this._logger.warn("The client is disabled");if(!this._isInitialized)await this._initPromise;if(this.optedOut)return void this._events.emit(Y,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let J=this.prepareMessage(Y,X,G);if(J=this.processBeforeEnqueue(J),J===null)return;let Q={api_key:this.apiKey,batch:[J],sent_at:X$1()};if(this.historicalMigration)Q.historical_migration=!0;let Z=JSON.stringify(Q),W=`${this.host}/batch/`,$=this.disableCompression?null:await iZ1(Z,this.isDebug),H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...$!==null&&{"Content-Encoding":"gzip"}},body:$||Z};try{await this.fetchWithRetry(W,H)}catch(K){this._events.emit("error",K)}}prepareMessage(Y,X,G){let J={...X,type:Y,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:G?.timestamp?G?.timestamp:X$1(),uuid:G?.uuid?G.uuid:Kw()};if(G?.disableGeoip??this.disableGeoip){if(!J.properties)J.properties={};J.properties.$geoip_disable=!0}if(J.distinctId)J.distinct_id=J.distinctId,delete J.distinctId;return J}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async(Y)=>{await eA6(Y)})}async flush(){let Y=sp1([this.flushPromise]).then(()=>this._flush());return this.flushPromise=Y,this.addPendingPromise(Y),sp1([Y]).then(()=>{if(this.flushPromise===Y)this.flushPromise=null}),Y}getCustomHeaders(){let Y=this.getCustomUserAgent(),X={};if(Y&&Y!=="")X["User-Agent"]=Y;return X}async _flush(){this.clearFlushTimer(),await this._initPromise;let Y=this.getPersistedProperty(CW.Queue)||[];if(!Y.length)return;let X=[],G=Y.length;while(Y.length>0&&X.length<G){let J=Y.slice(0,this.maxBatchSize),Q=J.map((B)=>B.message),Z=async()=>{let O=(this.getPersistedProperty(CW.Queue)||[]).slice(J.length);this.setPersistedProperty(CW.Queue,O),Y=O,await this.flushStorage()},W={api_key:this.apiKey,batch:Q,sent_at:X$1()};if(this.historicalMigration)W.historical_migration=!0;let $=JSON.stringify(W),H=`${this.host}/batch/`,K=this.disableCompression?null:await iZ1($,this.isDebug),V={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...K!==null&&{"Content-Encoding":"gzip"}},body:K||$},U={retryCheck:(B)=>{if(YM6(B))return!1;return ep1(B)}};try{await this.fetchWithRetry(H,V,U)}catch(B){if(YM6(B)&&Q.length>1){this.maxBatchSize=Math.max(1,Math.floor(Q.length/2)),this._logger.warn(`Received 413 when sending batch of size ${Q.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(B instanceof Ni))await Z();throw this._events.emit("error",B),B}await Z(),X.push(...Q)}this._events.emit("flush",X)}async fetchWithRetry(Y,X,G,J){let Q=X.body?X.body:"",Z=-1;try{Z=Q instanceof Blob?Q.size:Buffer.byteLength(Q,nA6)}catch{if(Q instanceof Blob)Z=Q.size;else Z=new TextEncoder().encode(Q).length}return await aA6(async()=>{let W=new AbortController,$=J??this.requestTimeout,H=Qz(()=>W.abort(),$),K=null;try{K=await this.fetch(Y,{signal:W.signal,...X})}catch(U){throw new Ni(U)}finally{clearTimeout(H)}if(X.mode!=="no-cors"&&(K.status<200||K.status>=400))throw new lk(K,Z);return K},{...this._retryOptions,...G})}async _shutdown(Y=30000){await this._initPromise;let X=!1;this.clearFlushTimer();let G=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty(CW.Queue)||[]).length===0)break;if(await this.flush(),X)break}}catch(Q){if(!ep1(Q))throw Q;await eA6(Q)}},J;try{return await Promise.race([new Promise((Q,Z)=>{J=Qz(()=>{this._logger.error("Timed out while shutting down PostHog"),X=!0,Z("Timeout while shutting down PostHog. Some events may not have been sent.")},Y)}),G()])}finally{clearTimeout(J)}}async shutdown(Y=30000){if(this.shutdownPromise)this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup");else this.shutdownPromise=this._shutdown(Y).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var lk,Ni;var Yn1=w(()=>{tA6();nZ1();up1();bk();jW();Bi();lk=class lk extends Error{constructor(Y,X){super("HTTP error while fetching PostHog: status="+Y.status+", reqByteLength="+X),this.response=Y,this.reqByteLength=X,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};Ni=class Ni extends Error{constructor(Y){super("Network error while fetching PostHog",Y instanceof Error?{cause:Y}:{}),this.error=Y,this.name="PostHogFetchNetworkError"}}});var XM6=w(()=>{nZ1();bk();Yn1();Bi();jW()});var GM6=w(()=>{Vi()});function QM6(Y){let X=globalThis._posthogChunkIds;if(!X)return;let G=Object.keys(X);if(Q$1&&G.length===JM6)return Q$1;return JM6=G.length,Q$1=G.reduce((J,Q)=>{if(!J$1)J$1={};let Z=J$1[Q];if(Z)J[Z[0]]=Z[1];else{let W=Y(Q);for(let $=W.length-1;$>=0;$--){let K=W[$]?.filename,V=X[Q];if(K&&V){J[K]=V,J$1[Q]=[K,V];break}}}return J},{}),Q$1}var J$1,JM6,Q$1;var WM6=()=>{};class ZM6{constructor(Y,X,G=[]){this.coercers=Y,this.stackParser=X,this.modifiers=G}buildFromUnknown(Y,X={}){let J=X&&X.mechanism||{handled:!0,type:"generic"},Z=this.buildCoercingContext(J,X,0).apply(Y),W=this.buildParsingContext(X),$=this.parseStacktrace(Z,W);return{$exception_list:this.convertToExceptionList($,J),$exception_level:"error"}}async modifyFrames(Y){for(let X of Y)if(X.stacktrace&&X.stacktrace.frames&&rZ1(X.stacktrace.frames))X.stacktrace.frames=await this.applyModifiers(X.stacktrace.frames);return Y}coerceFallback(Y){return{type:"Error",value:"Unknown error",stack:Y.syntheticException?.stack,synthetic:!0}}parseStacktrace(Y,X){let G;if(Y.cause!=null)G=this.parseStacktrace(Y.cause,X);let J;if(Y.stack!=""&&Y.stack!=null)J=this.applyChunkIds(this.stackParser(Y.stack,Y.synthetic?X.skipFirstLines:0),X.chunkIdMap);return{...Y,cause:G,stack:J}}applyChunkIds(Y,X){return Y.map((G)=>{if(G.filename&&X)G.chunk_id=X[G.filename];return G})}applyCoercers(Y,X){for(let G of this.coercers)if(G.match(Y))return G.coerce(Y,X);return this.coerceFallback(X)}async applyModifiers(Y){let X=Y;for(let G of this.modifiers)X=await G(X);return X}convertToExceptionList(Y,X){let G={type:Y.type,value:Y.value,mechanism:{type:X.type??"generic",handled:X.handled??!0,synthetic:Y.synthetic??!1}};if(Y.stack)G.stacktrace={type:"raw",frames:Y.stack};let J=[G];if(Y.cause!=null)J.push(...this.convertToExceptionList(Y.cause,{...X,handled:!0}));return J}buildParsingContext(Y){return{chunkIdMap:QM6(this.stackParser),skipFirstLines:Y.skipFirstLines??1}}buildCoercingContext(Y,X,G=0){let J=(Z,W)=>{if(!(W<=c$5))return;{let $=this.buildCoercingContext(Y,X,W);return this.applyCoercers(Z,$)}};return{...X,syntheticException:G==0?X.syntheticException:void 0,mechanism:Y,apply:(Z)=>J(Z,G),next:(Z)=>J(Z,G+1)}}}var c$5=4;var $M6=w(()=>{jW();WM6()});function JB(Y,X,G,J,Q){let Z={platform:Y,filename:X,function:G==="<anonymous>"?wJ:G,in_app:!0};if(!xk(J))Z.lineno=J;if(!xk(Q))Z.colno=Q;return Z}var wJ="?";var Fw=w(()=>{jW()});var W$1=(Y,X)=>{let G=Y.indexOf("safari-extension")!==-1,J=Y.indexOf("safari-web-extension")!==-1;return G||J?[Y.indexOf("@")!==-1?Y.split("@")[0]:wJ,G?`safari-extension:${X}`:`safari-web-extension:${X}`]:[Y,X]};var Xn1=w(()=>{Fw()});var p$5,n$5,i$5,Gn1=(Y,X)=>{let G=p$5.exec(Y);if(G){let[,Q,Z,W]=G;return JB(X,Q,wJ,+Z,+W)}let J=n$5.exec(Y);if(J){if(J[2]&&J[2].indexOf("eval")===0){let $=i$5.exec(J[2]);if($)J[2]=$[1],J[3]=$[2],J[4]=$[3]}let[Z,W]=W$1(J[1]||wJ,J[2]);return JB(X,W,Z,J[3]?+J[3]:void 0,J[4]?+J[4]:void 0)}};var HM6=w(()=>{Fw();Xn1();p$5=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,n$5=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,i$5=/\((\S*)(?::(\d+))(?::(\d+))\)/});var a$5,r$5,Jn1=(Y,X)=>{let G=a$5.exec(Y);if(G){if(G[3]&&G[3].indexOf(" > eval")>-1){let W=r$5.exec(G[3]);if(W)G[1]=G[1]||"eval",G[3]=W[1],G[4]=W[2],G[5]=""}let Q=G[3],Z=G[1]||wJ;return[Z,Q]=W$1(Z,Q),JB(X,Q,Z,G[4]?+G[4]:void 0,G[5]?+G[5]:void 0)}};var KM6=w(()=>{Fw();Xn1();a$5=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,r$5=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var o$5,FM6=(Y,X)=>{let G=o$5.exec(Y);return G?JB(X,G[2],G[1]||wJ,+G[3],G[4]?+G[4]:void 0):void 0};var VM6=w(()=>{Fw();o$5=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var s$5,UM6=(Y,X)=>{let G=s$5.exec(Y);return G?JB(X,G[2],G[3]||wJ,+G[1]):void 0},t$5,BM6=(Y,X)=>{let G=t$5.exec(Y);return G?JB(X,G[5],G[3]||G[4]||wJ,+G[1],+G[2]):void 0};var OM6=w(()=>{Fw();s$5=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,t$5=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function XH5(Y,X=!1){return!(X||Y&&!Y.startsWith("/")&&!Y.match(/^[A-Z]:/)&&!Y.startsWith(".")&&!Y.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&Y!==void 0&&!Y.includes("node_modules/")}function NM6(Y){return parseInt(Y||"",10)||void 0}var e$5,YH5,zM6=(Y,X)=>{let G=Y.match(YH5);if(G){let J,Q,Z,W,$;if(G[1]){Z=G[1];let V=Z.lastIndexOf(".");if(Z[V-1]===".")V--;if(V>0){J=Z.slice(0,V),Q=Z.slice(V+1);let U=J.indexOf(".Module");if(U>0)Z=Z.slice(U+1),J=J.slice(0,U)}W=void 0}if(Q)W=J,$=Q;if(Q==="<anonymous>")$=void 0,Z=void 0;if(Z===void 0)$=$||wJ,Z=W?`${W}.${$}`:$;let H=G[2]?.startsWith("file://")?G[2].slice(7):G[2],K=G[5]==="native";if(H?.match(/\/[A-Z]:/))H=H.slice(1);if(!H&&G[5]&&!K)H=G[5];return{filename:H?decodeURI(H):void 0,module:void 0,function:Z,lineno:NM6(G[3]),colno:NM6(G[4]),in_app:XH5(H||"",K),platform:X}}if(Y.match(e$5))return{filename:Y,platform:X}};var qM6=w(()=>{Fw();e$5=/^\s*[-]{4,}$/,YH5=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function wM6(Y){if(!Y.length)return[];let X=Array.from(Y);return X.reverse(),X.slice(0,DM6).map((G)=>({...G,filename:G.filename||GH5(X).filename,function:G.function||wJ}))}function GH5(Y){return Y[Y.length-1]||{}}function JH5(){return AM6("web:javascript",Gn1,Jn1)}function AM6(Y,...X){return(G,J=0)=>{let Q=[],Z=G.split(`
1639
+ `);J=Z.pop()??"";for(let W of Z){let $=Hw6(W).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;A$({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:Z,value:W}=await X.read();if(Z)break;J+=G.decode(W,{stream:!0}),Q()}if(J.trim()){let Z=Hw6(J).replace(/^\[\d+\]\s*/,"").trim();if(Z)A$({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:Z})}})()}async function DZ5(Y){let{vitePort:X,baseUrl:G,noTui:J}=Y,Q=await SZ1(Number(Y.port)),{settings:Z,services:W,managedServiceNames:$}=await CZ1({port:String(Q),home:Y.home,baseUrl:Y.baseUrl,localMode:Y.localMode,skipMigrations:Y.skipMigrations,noTui:Y.noTui,vitePort:Y.vitePort});for(let O of W)VS({name:O.name,status:"ready",port:O.port});tb(Z),ob();let H=LZ5(import.meta.dir,"..","..","..","..",".."),K=J===!0,V=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:H,env:{...process.env,PORT:String(Z.port),VITE_PORT:String(X),DATABASE_URL:Z.databaseUrl,NATS_URL:Z.natsUrls.join(","),NODE_ENV:Z.nodeEnv,DECOCMS_LOCAL_MODE:String(Z.localMode),DECOCMS_HOME:Z.dataDir,DATA_DIR:Z.dataDir,DECO_CLI:"1",...Z.baseUrl?{BASE_URL:Z.baseUrl}:{}},stdio:["inherit",K?"inherit":"pipe",K?"inherit":"pipe"]});if(!K)Kw6(V.stdout),Kw6(V.stderr);let U=G||`http://localhost:${Z.port}`;sb(U),VS({name:"Vite",status:"ready",port:Number(X)});let B=async(O)=>{if(V.kill(O),$.length>0){let{stopServices:N}=await Promise.resolve().then(() => (q11(),z11));await N(Z.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Z.port),process:V}}var Zp1=w(()=>{Jp1();ZK();Qp1()});import{Box as $p1,Text as Hp1}from"ink";import{jsx as Vw6,jsxs as jZ1}from"react/jsx-runtime";function Fw6(Y){if(!Y)return"not set";try{let X=new URL(Y);if(X.password)X.password="***";if(X.username&&X.username.length>3)X.username=X.username.slice(0,3)+"***";return X.pathname="/",X.search="",X.hash="",X.toString()}catch{if(Y.length<=10)return Y;return Y.slice(0,6)+"***"+Y.slice(-4)}}function MZ5(Y,X){if(wZ5.has(Y))return X?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(AZ5.has(Y)){if(Array.isArray(X)){if(X.length===0)return{text:"not set",dimColor:!0};return{text:X.map((Z)=>Fw6(Z)).join(", "),color:"cyan"}}let J=Fw6(X);return J==="not set"?{text:J,dimColor:!0}:{text:J,color:"cyan"}}if(X===void 0||X===null||X==="")return{text:"not set",dimColor:!0};let G=String(X);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function EZ5(Y){return[{title:"Core",entries:[{key:"NODE_ENV",value:Y.nodeEnv},{key:"PORT",value:Y.port},{key:"BASE_URL",value:Y.baseUrl??`http://localhost:${Y.port}`},{key:"DATA_DIR",value:Y.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:Y.databaseUrl},{key:"DATABASE_PG_SSL",value:Y.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:Y.betterAuthSecret},{key:"ENCRYPTION_KEY",value:Y.encryptionKey},{key:"MESH_JWT_SECRET",value:Y.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:Y.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:Y.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:Y.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:Y.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:Y.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:Y.configPath}]},{title:"Transport",entries:[{key:"UNSAFE_ALLOW_STDIO_TRANSPORT",value:Y.unsafeAllowStdioTransport}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:Y.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:Y.aiGatewayUrl}]}]}function Uw6({env:Y}){let X=EZ5(Y);return Vw6($p1,{flexDirection:"column",children:X.map((G)=>jZ1($p1,{flexDirection:"column",marginTop:1,children:[jZ1(Hp1,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:J,value:Q})=>{let Z=MZ5(J,Q);return jZ1($p1,{children:[jZ1(Hp1,{dimColor:!0,children:[" ",J.padEnd(36)]}),Vw6(Hp1,{color:Z.color,dimColor:Z.dimColor,children:Z.text})]},J)})]},G.title))})}var wZ5,AZ5;var Bw6=w(()=>{wZ5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),AZ5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var Kp1;var Ow6=w(()=>{Kp1={name:"decocms",version:"2.276.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as PF,Text as GY}from"ink";import{Spinner as TZ5}from"@inkjs/ui";import{useSyncExternalStore as Nw6}from"react";import{jsx as rY,jsxs as DJ}from"react/jsx-runtime";function IZ5(Y,X){if(!Y||!jZ5.has(Y))return Y;let G=Fp1[X]??Fp1[Fp1.length-1];return Y==="#875f00"?G[0]:G[1]}function zw6({status:Y}){if(Y==="pending")return rY(TZ5,{label:""});return rY(GY,{color:"green",children:"\u2713"})}function qw6({services:Y,migrationsStatus:X,home:G,serverUrl:J,vibe:Q}){let Z=Nw6(RH0,TH0),W=Nw6(fH0,_H0);return DJ(PF,{flexDirection:"column",paddingBottom:1,children:[Q?DJ(PF,{flexDirection:"column",children:[Z.map(($,H)=>{let K=W[H],V=$.reduce((B,O)=>B+O.text.length,0),U=Math.max(0,SZ5-V);return DJ(PF,{flexDirection:"row",children:[$.map((B,O)=>{let N=IZ5(B.color,H);return N?rY(GY,{color:N,children:B.text},O):rY(GY,{children:B.text},O)}),rY(GY,{children:" ".repeat(U+2)}),K?.map((B,O)=>B.color?rY(GY,{color:B.color,children:B.char},O):rY(GY,{children:B.char},O))]},H)}),DJ(GY,{dimColor:!0,children:[" v",Kp1.version]})]}):DJ(PF,{flexDirection:"column",marginTop:1,children:[RZ5.map(($,H)=>rY(GY,{color:CZ5[H],children:$},H)),DJ(GY,{dimColor:!0,children:[" v",Kp1.version]})]}),rY(PF,{marginBottom:1,children:rY(GY,{dimColor:!0,children:"\u2500".repeat(80)})}),rY(PF,{children:DJ(GY,{dimColor:!0,children:["Home: ",G]})}),DJ(PF,{gap:2,children:[Y.map(($)=>DJ(PF,{gap:1,children:[DJ(GY,{children:[$.name," :",$.port||"...."]}),rY(zw6,{status:$.status})]},$.name)),DJ(PF,{gap:1,children:[rY(GY,{children:"Migrations"}),rY(zw6,{status:X})]})]}),rY(PF,{children:J?DJ(GY,{children:["Open in browser: ",rY(GY,{color:"cyan",children:J})]}):rY(GY,{dimColor:!0,children:"Starting..."})}),DJ(PF,{gap:2,children:[DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",Q?"\u266A Nihilore \xB7 CC BY 4.0":""]}),Q&&DJ(GY,{dimColor:!0,children:[rY(GY,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var RZ5,CZ5,Fp1,SZ5=30,jZ5;var Lw6=w(()=>{Ow6();rq1();XL1();RZ5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],CZ5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],Fp1=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],jZ5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as _Z5}from"react";function fZ5(){let Y=process.stdout.rows||24,X=process.stdout.columns||80;if(Y!==IZ1.rows||X!==IZ1.columns)IZ1={rows:Y,columns:X};return IZ1}function kZ5(Y){return process.stdout.on("resize",Y),()=>{process.stdout.off("resize",Y)}}function Dw6(){return _Z5(kZ5,fZ5)}var IZ1;var ww6=w(()=>{IZ1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as vZ5,Text as en}from"ink";import{useSyncExternalStore as yZ5}from"react";import{jsx as Vp1,jsxs as Up1}from"react/jsx-runtime";function hZ5(Y){if(Y>=500)return"red";if(Y>=400)return"yellow";if(Y>=300)return"cyan";return"green"}function Aw6({logs:Y,headerHeight:X}){let{rows:G}=Dw6(),{logFlow:J}=yZ5(rb,ab),Q=Math.max(1,G-X-1),Z=J?Y:Y.slice(-Q);return Vp1(vZ5,{flexDirection:"column",children:Z.map((W,$)=>{if(W.rawLine)return Vp1(en,{dimColor:!0,children:W.rawLine},$);let H=W.duration<1000?`${W.duration}ms`:`${(W.duration/1000).toFixed(1)}s`;return Up1(en,{children:[Up1(en,{dimColor:!0,children:[W.method.padEnd(6)," ",W.path.padEnd(30)," "]}),Vp1(en,{color:hZ5(W.status),children:W.status}),Up1(en,{dimColor:!0,children:[" ",H.padStart(8)]})]},$)})})}var Mw6=w(()=>{ZK();ww6()});var Bp1={};I0(Bp1,{App:()=>dZ5});import{Box as bZ5,Text as xZ5,useInput as gZ5}from"ink";import{useSyncExternalStore as uZ5}from"react";import{jsx as _Z1,jsxs as cZ5}from"react/jsx-runtime";function dZ5({home:Y}){let X=uZ5(rb,ab);return gZ5((G)=>{if(G==="k"||G==="K")$L1();if(G==="l"||G==="L")HL1();if((G==="v"||G==="V")&&X.dataDir)WL1(X.dataDir),KL1();if((G==="n"||G==="N")&&X.vibe)QL1()}),cZ5(bZ5,{flexDirection:"column",children:[_Z1(qw6,{services:X.services,migrationsStatus:X.migrationsStatus,home:Y,serverUrl:X.serverUrl,vibe:X.vibe}),X.viewMode==="config"?X.env?_Z1(Uw6,{env:X.env}):_Z1(xZ5,{dimColor:!0,children:"Loading configuration..."}):_Z1(Aw6,{logs:X.logs,headerHeight:X.vibe?lZ5:mZ5})]})}var mZ5=15,lZ5=19;var Op1=w(()=>{Bw6();Lw6();Mw6();ZK();FS()});function Ew6(Y,X={}){return{PORT:String(Y.port),NODE_ENV:Y.nodeEnv,BASE_URL:Y.baseUrl,DATA_DIR:Y.dataDir,DECOCMS_HOME:Y.dataDir,DATABASE_URL:Y.databaseUrl,DATABASE_PG_SSL:String(Y.databasePgSsl),DATABASE_POOL_MAX:String(Y.databasePoolMax),NATS_URL:Y.natsUrls.join(","),BETTER_AUTH_SECRET:Y.betterAuthSecret,ENCRYPTION_KEY:Y.encryptionKey,MESH_JWT_SECRET:Y.meshJwtSecret,DECOCMS_LOCAL_MODE:String(Y.localMode),DECOCMS_ALLOW_LOCAL_PROD:String(Y.allowLocalProd),DISABLE_RATE_LIMIT:String(Y.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:Y.studioProvisionSecretKey,CONFIG_PATH:Y.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),UNSAFE_ALLOW_STDIO_TRANSPORT:String(Y.unsafeAllowStdioTransport),DECO_AI_GATEWAY_ENABLED:String(Y.aiGatewayEnabled),DECO_AI_GATEWAY_URL:Y.aiGatewayUrl,ENABLE_DECO_IMPORT:String(Y.enableDecoImport),S3_ENDPOINT:Y.s3Endpoint,S3_BUCKET:Y.s3Bucket,S3_REGION:Y.s3Region,S3_ACCESS_KEY_ID:Y.s3AccessKeyId,S3_SECRET_ACCESS_KEY:Y.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(Y.s3ForcePathStyle),OTEL_SERVICE_NAME:Y.otelServiceName,CLICKHOUSE_URL:Y.clickhouseUrl,DECO_SUPABASE_URL:Y.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:Y.decoSupabaseServiceKey,FIRECRAWL_API_KEY:Y.firecrawlApiKey,MESH_SANDBOX_RUNNER:process.env.MESH_SANDBOX_RUNNER,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...X}}function Tw6(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}var Pw6="https://studio.decocms.com/org/deco/registry/mcp";var Np1=(Y,X,G)=>{return(J,Q)=>{let Z=-1;return W(0);async function W($){if($<=Z)throw Error("next() called multiple times");Z=$;let H,K=!1,V;if(Y[$])V=Y[$][0][0],J.req.routeIndex=$;else V=$===Y.length&&Q||void 0;if(V)try{H=await V(J,()=>W($+1))}catch(U){if(U instanceof Error&&X)J.error=U,H=await X(U,J),K=!0;else throw U}else if(J.finalized===!1&&G)H=await G(J);if(H&&(J.finalized===!1||K))J.res=H;return J}}};var Rw6=()=>{};var H9;var Ww=w(()=>{H9=class extends Error{res;status;constructor(Y=500,X){super(X?.message,{cause:X?.cause});this.res=X?.res,this.status=Y}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var Cw6;var Sw6=w(()=>{Cw6=Symbol()});async function pZ5(Y,X){let G=await Y.formData();if(G)return nZ5(G,X);return{}}function nZ5(Y,X){let G=Object.create(null);if(Y.forEach((J,Q)=>{if(!(X.all||Q.endsWith("[]")))G[Q]=J;else iZ5(G,Q,J)}),X.dot)Object.entries(G).forEach(([J,Q])=>{if(J.includes("."))aZ5(G,J,Q),delete G[J]});return G}var jw6=async(Y,X=Object.create(null))=>{let{all:G=!1,dot:J=!1}=X,Z=(Y instanceof fZ1?Y.raw.headers:Y.headers).get("Content-Type");if(Z?.startsWith("multipart/form-data")||Z?.startsWith("application/x-www-form-urlencoded"))return pZ5(Y,{all:G,dot:J});return{}},iZ5=(Y,X,G)=>{if(Y[X]!==void 0)if(Array.isArray(Y[X]))Y[X].push(G);else Y[X]=[Y[X],G];else if(!X.endsWith("[]"))Y[X]=G;else Y[X]=[G]},aZ5=(Y,X,G)=>{if(/(?:^|\.)__proto__\./.test(X))return;let J=Y,Q=X.split(".");Q.forEach((Z,W)=>{if(W===Q.length-1)J[Z]=G;else{if(!J[Z]||typeof J[Z]!=="object"||Array.isArray(J[Z])||J[Z]instanceof File)J[Z]=Object.create(null);J=J[Z]}})};var Iw6=w(()=>{zp1()});var Lp1=(Y)=>{let X=Y.split("/");if(X[0]==="")X.shift();return X},_w6=(Y)=>{let{groups:X,path:G}=rZ5(Y),J=Lp1(G);return oZ5(J,X)},rZ5=(Y)=>{let X=[];return Y=Y.replace(/\{[^}]+\}/g,(G,J)=>{let Q=`@${J}`;return X.push([Q,G]),Q}),{groups:X,path:Y}},oZ5=(Y,X)=>{for(let G=X.length-1;G>=0;G--){let[J]=X[G];for(let Q=Y.length-1;Q>=0;Q--)if(Y[Q].includes(J)){Y[Q]=Y[Q].replace(J,X[G][1]);break}}return Y},kZ1,fw6=(Y,X)=>{if(Y==="*")return"*";let G=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(G){let J=`${Y}#${X}`;if(!kZ1[J])if(G[2])kZ1[J]=X&&X[0]!==":"&&X[0]!=="*"?[J,G[1],new RegExp(`^${G[2]}(?=/${X})`)]:[Y,G[1],new RegExp(`^${G[2]}$`)];else kZ1[J]=[Y,G[1],!0];return kZ1[J]}return null},yk=(Y,X)=>{try{return X(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(G)=>{try{return X(G)}catch{return G}})}},kw6=(Y)=>yk(Y,decodeURI),Dp1=(Y)=>{let X=Y.url,G=X.indexOf("/",X.indexOf(":")+4),J=G;for(;J<X.length;J++){let Q=X.charCodeAt(J);if(Q===37){let Z=X.indexOf("?",J),W=X.indexOf("#",J),$=Z===-1?W===-1?void 0:W:W===-1?Z:Math.min(Z,W),H=X.slice(G,$);return kw6(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(Q===63||Q===35)break}return X.slice(G,J)},vw6=(Y)=>{let X=Dp1(Y);return X.length>1&&X.at(-1)==="/"?X.slice(0,-1):X},oP=(Y,X,...G)=>{if(G.length)X=oP(X,...G);return`${Y?.[0]==="/"?"":"/"}${Y}${X==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${X?.[0]==="/"?X.slice(1):X}`}`},vZ1=(Y)=>{if(Y.charCodeAt(Y.length-1)!==63||!Y.includes(":"))return null;let X=Y.split("/"),G=[],J="";return X.forEach((Q)=>{if(Q!==""&&!/\:/.test(Q))J+="/"+Q;else if(/\:/.test(Q))if(/\?/.test(Q)){if(G.length===0&&J==="")G.push("/");else G.push(J);let Z=Q.replace("?","");J+="/"+Z,G.push(J)}else J+="/"+Q}),G.filter((Q,Z,W)=>W.indexOf(Q)===Z)},qp1=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?yk(Y,Yi):Y},yw6=(Y,X,G)=>{let J;if(!G&&X&&!/[%+]/.test(X)){let W=Y.indexOf("?",8);if(W===-1)return;if(!Y.startsWith(X,W+1))W=Y.indexOf(`&${X}`,W+1);while(W!==-1){let $=Y.charCodeAt(W+X.length+1);if($===61){let H=W+X.length+2,K=Y.indexOf("&",H);return qp1(Y.slice(H,K===-1?void 0:K))}else if($==38||isNaN($))return"";W=Y.indexOf(`&${X}`,W+1)}if(J=/[%+]/.test(Y),!J)return}let Q={};J??=/[%+]/.test(Y);let Z=Y.indexOf("?",8);while(Z!==-1){let W=Y.indexOf("&",Z+1),$=Y.indexOf("=",Z);if($>W&&W!==-1)$=-1;let H=Y.slice(Z+1,$===-1?W===-1?void 0:W:$);if(J)H=qp1(H);if(Z=W,H==="")continue;let K;if($===-1)K="";else if(K=Y.slice($+1,W===-1?void 0:W),J)K=qp1(K);if(G){if(!(Q[H]&&Array.isArray(Q[H])))Q[H]=[];Q[H].push(K)}else Q[H]??=K}return X?Q[X]:Q},hw6,bw6=(Y,X)=>{return yw6(Y,X,!0)},Yi;var Zw=w(()=>{kZ1={},hw6=yw6,Yi=decodeURIComponent});var xw6=(Y)=>yk(Y,Yi),fZ1;var zp1=w(()=>{Ww();Sw6();Iw6();Zw();fZ1=class{raw;#Y;#X;routeIndex=0;path;bodyCache={};constructor(Y,X="/",G=[[]]){this.raw=Y,this.path=X,this.#X=G,this.#Y={}}param(Y){return Y?this.#G(Y):this.#J()}#G(Y){let X=this.#X[0][this.routeIndex][1][Y],G=this.#Q(X);return G&&/\%/.test(G)?xw6(G):G}#J(){let Y={},X=Object.keys(this.#X[0][this.routeIndex][1]);for(let G of X){let J=this.#Q(this.#X[0][this.routeIndex][1][G]);if(J!==void 0)Y[G]=/\%/.test(J)?xw6(J):J}return Y}#Q(Y){return this.#X[1]?this.#X[1][Y]:Y}query(Y){return hw6(this.url,Y)}queries(Y){return bw6(this.url,Y)}header(Y){if(Y)return this.raw.headers.get(Y)??void 0;let X={};return this.raw.headers.forEach((G,J)=>{X[J]=G}),X}async parseBody(Y){return jw6(this,Y)}#W=(Y)=>{let{bodyCache:X,raw:G}=this,J=X[Y];if(J)return J;let Q=Object.keys(X)[0];if(Q)return X[Q].then((Z)=>{if(Q==="json")Z=JSON.stringify(Z);return new Response(Z)[Y]()});return X[Y]=G[Y]()};json(){return this.#W("text").then((Y)=>JSON.parse(Y))}text(){return this.#W("text")}arrayBuffer(){return this.#W("arrayBuffer")}blob(){return this.#W("blob")}formData(){return this.#W("formData")}addValidatedData(Y,X){this.#Y[Y]=X}valid(Y){return this.#Y[Y]}get url(){return this.raw.url}get method(){return this.raw.method}get[Cw6](){return this.#X}get matchedRoutes(){return this.#X[0].map(([[,Y]])=>Y)}get routePath(){return this.#X[0].map(([[,Y]])=>Y)[this.routeIndex].path}}});var yZ1,gw6=(Y,X)=>{let G=new String(Y);return G.isEscaped=!0,G.callbacks=X,G},Xi=async(Y,X,G,J,Q)=>{if(typeof Y==="object"&&!(Y instanceof String)){if(!(Y instanceof Promise))Y=Y.toString();if(Y instanceof Promise)Y=await Y}let Z=Y.callbacks;if(!Z?.length)return Promise.resolve(Y);if(Q)Q[0]+=Y;else Q=[Y];let W=Promise.all(Z.map(($)=>$({phase:X,buffer:Q,context:J}))).then(($)=>Promise.all($.filter(Boolean).map((H)=>Xi(H,X,!1,J,Q))).then(()=>Q[0]));if(G)return gw6(await W,Z);else return W};var hZ1=w(()=>{yZ1={Stringify:1,BeforeStream:2,Stream:3}});var uw6="text/plain; charset=UTF-8",wp1=(Y,X)=>{return{"Content-Type":Y,...X}},Gi=(Y,X)=>new Response(Y,X),mw6=class{#Y;#X;env={};#G;finalized=!1;error;#J;#Q;#W;#$;#Z;#H;#K;#V;#U;constructor(Y,X){if(this.#Y=Y,X)this.#Q=X.executionCtx,this.env=X.env,this.#H=X.notFoundHandler,this.#U=X.path,this.#V=X.matchResult}get req(){return this.#X??=new fZ1(this.#Y,this.#U,this.#V),this.#X}get event(){if(this.#Q&&"respondWith"in this.#Q)return this.#Q;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#Q)return this.#Q;else throw Error("This context has no ExecutionContext")}get res(){return this.#W||=Gi(null,{headers:this.#K??=new Headers})}set res(Y){if(this.#W&&Y){Y=Gi(Y.body,Y);for(let[X,G]of this.#W.headers.entries()){if(X==="content-type")continue;if(X==="set-cookie"){let J=this.#W.headers.getSetCookie();Y.headers.delete("set-cookie");for(let Q of J)Y.headers.append("set-cookie",Q)}else Y.headers.set(X,G)}}this.#W=Y,this.finalized=!0}render=(...Y)=>{return this.#Z??=(X)=>this.html(X),this.#Z(...Y)};setLayout=(Y)=>this.#$=Y;getLayout=()=>this.#$;setRenderer=(Y)=>{this.#Z=Y};header=(Y,X,G)=>{if(this.finalized)this.#W=Gi(this.#W.body,this.#W);let J=this.#W?this.#W.headers:this.#K??=new Headers;if(X===void 0)J.delete(Y);else if(G?.append)J.append(Y,X);else J.set(Y,X)};status=(Y)=>{this.#J=Y};set=(Y,X)=>{this.#G??=new Map,this.#G.set(Y,X)};get=(Y)=>{return this.#G?this.#G.get(Y):void 0};get var(){if(!this.#G)return{};return Object.fromEntries(this.#G)}#F(Y,X,G){let J=this.#W?new Headers(this.#W.headers):this.#K??new Headers;if(typeof X==="object"&&"headers"in X){let Z=X.headers instanceof Headers?X.headers:new Headers(X.headers);for(let[W,$]of Z)if(W.toLowerCase()==="set-cookie")J.append(W,$);else J.set(W,$)}if(G)for(let[Z,W]of Object.entries(G))if(typeof W==="string")J.set(Z,W);else{J.delete(Z);for(let $ of W)J.append(Z,$)}let Q=typeof X==="number"?X:X?.status??this.#J;return Gi(Y,{status:Q,headers:J})}newResponse=(...Y)=>this.#F(...Y);body=(Y,X,G)=>this.#F(Y,X,G);text=(Y,X,G)=>{return!this.#K&&!this.#J&&!X&&!G&&!this.finalized?new Response(Y):this.#F(Y,X,wp1(uw6,G))};json=(Y,X,G)=>{return this.#F(JSON.stringify(Y),X,wp1("application/json",G))};html=(Y,X,G)=>{let J=(Q)=>this.#F(Q,X,wp1("text/html; charset=UTF-8",G));return typeof Y==="object"?Xi(Y,yZ1.Stringify,!1,{}).then(J):J(Y)};redirect=(Y,X)=>{let G=String(Y);return this.header("Location",!/[^\x00-\xFF]/.test(G)?G:encodeURI(G)),this.newResponse(null,X??302)};notFound=()=>{return this.#H??=()=>Gi(),this.#H(this)}};var bZ1=w(()=>{zp1();hZ1()});var J7="ALL",lw6="all",dw6,xZ1="Can not add a route since the matcher is already built.",gZ1;var $w=w(()=>{dw6=["get","post","put","delete","options","patch"],gZ1=class extends Error{}});var Ap1="__COMPOSED_HANDLER";var Mp1=()=>{};var sZ5=(Y)=>{return Y.text("404 Not Found",404)},cw6=(Y,X)=>{if("getResponse"in Y){let G=Y.getResponse();return X.newResponse(G.body,G)}return console.error(Y),X.text("Internal Server Error",500)},pw6=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(X={}){[...dw6,lw6].forEach((Z)=>{this[Z]=(W,...$)=>{if(typeof W==="string")this.#Y=W;else this.#J(Z,this.#Y,W);return $.forEach((H)=>{this.#J(Z,this.#Y,H)}),this}}),this.on=(Z,W,...$)=>{for(let H of[W].flat()){this.#Y=H;for(let K of[Z].flat())$.map((V)=>{this.#J(K.toUpperCase(),this.#Y,V)})}return this},this.use=(Z,...W)=>{if(typeof Z==="string")this.#Y=Z;else this.#Y="*",W.unshift(Z);return W.forEach(($)=>{this.#J(J7,this.#Y,$)}),this};let{strict:J,...Q}=X;Object.assign(this,Q),this.getPath=J??!0?X.getPath??Dp1:vw6}#X(){let X=new Y({router:this.router,getPath:this.getPath});return X.errorHandler=this.errorHandler,X.#G=this.#G,X.routes=this.routes,X}#G=sZ5;errorHandler=cw6;route(X,G){let J=this.basePath(X);return G.routes.map((Q)=>{let Z;if(G.errorHandler===cw6)Z=Q.handler;else Z=async(W,$)=>(await Np1([],G.errorHandler)(W,()=>Q.handler(W,$))).res,Z[Ap1]=Q.handler;J.#J(Q.method,Q.path,Z)}),this}basePath(X){let G=this.#X();return G._basePath=oP(this._basePath,X),G}onError=(X)=>{return this.errorHandler=X,this};notFound=(X)=>{return this.#G=X,this};mount(X,G,J){let Q,Z;if(J)if(typeof J==="function")Z=J;else if(Z=J.optionHandler,J.replaceRequest===!1)Q=(H)=>H;else Q=J.replaceRequest;let W=Z?(H)=>{let K=Z(H);return Array.isArray(K)?K:[K]}:(H)=>{let K=void 0;try{K=H.executionCtx}catch{}return[H.env,K]};Q||=(()=>{let H=oP(this._basePath,X),K=H==="/"?0:H.length;return(V)=>{let U=new URL(V.url);return U.pathname=U.pathname.slice(K)||"/",new Request(U,V)}})();let $=async(H,K)=>{let V=await G(Q(H.req.raw),...W(H));if(V)return V;await K()};return this.#J(J7,oP(X,"*"),$),this}#J(X,G,J){X=X.toUpperCase(),G=oP(this._basePath,G);let Q={basePath:this._basePath,path:G,method:X,handler:J};this.router.add(X,G,[J,Q]),this.routes.push(Q)}#Q(X,G){if(X instanceof Error)return this.errorHandler(X,G);throw X}#W(X,G,J,Q){if(Q==="HEAD")return(async()=>new Response(null,await this.#W(X,G,J,"GET")))();let Z=this.getPath(X,{env:J}),W=this.router.match(Q,Z),$=new mw6(X,{path:Z,matchResult:W,env:J,executionCtx:G,notFoundHandler:this.#G});if(W[0].length===1){let K;try{K=W[0][0][0][0]($,async()=>{$.res=await this.#G($)})}catch(V){return this.#Q(V,$)}return K instanceof Promise?K.then((V)=>V||($.finalized?$.res:this.#G($))).catch((V)=>this.#Q(V,$)):K??this.#G($)}let H=Np1(W[0],this.errorHandler,this.#G);return(async()=>{try{let K=await H($);if(!K.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return K.res}catch(K){return this.#Q(K,$)}})()}fetch=(X,...G)=>{return this.#W(X,G[1],G[0],X.method)};request=(X,G,J,Q)=>{if(X instanceof Request)return this.fetch(G?new Request(X,G):X,J,Q);return X=X.toString(),this.fetch(new Request(/^https?:\/\//.test(X)?X:`http://localhost${oP("/",X)}`,G),J,Q)};fire=()=>{addEventListener("fetch",(X)=>{X.respondWith(this.#W(X.request,X,void 0,X.request.method))})}};var nw6=w(()=>{Rw6();bZ1();$w();Mp1();Zw()});function uZ1(Y,X){let G=this.buildAllMatchers(),J=(Q,Z)=>{let W=G[Q]||G[J7],$=W[2][Z];if($)return $;let H=Z.match(W[0]);if(!H)return[[],Ji];let K=H.indexOf("",1);return[W[1][K],H]};return this.match=J,J(Y,X)}var Ji;var Ep1=w(()=>{$w();Ji=[]});function eZ5(Y,X){if(Y.length===1)return X.length===1?Y<X?-1:1:-1;if(X.length===1)return 1;if(Y===Qi||Y===Wi)return 1;else if(X===Qi||X===Wi)return-1;if(Y===mZ1)return 1;else if(X===mZ1)return-1;return Y.length===X.length?Y<X?-1:1:X.length-Y.length}var mZ1="[^/]+",Qi=".*",Wi="(?:|/.*)",sP,tZ5,iw6=class Y{#Y;#X;#G=Object.create(null);insert(X,G,J,Q,Z){if(X.length===0){if(this.#Y!==void 0)throw sP;if(Z)return;this.#Y=G;return}let[W,...$]=X,H=W==="*"?$.length===0?["","",Qi]:["","",mZ1]:W==="/*"?["","",Wi]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),K;if(H){let V=H[1],U=H[2]||mZ1;if(V&&H[2]){if(U===".*")throw sP;if(U=U.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(U))throw sP}if(K=this.#G[U],!K){if(Object.keys(this.#G).some((B)=>B!==Qi&&B!==Wi))throw sP;if(Z)return;if(K=this.#G[U]=new Y,V!=="")K.#X=Q.varIndex++}if(!Z&&V!=="")J.push([V,K.#X])}else if(K=this.#G[W],!K){if(Object.keys(this.#G).some((V)=>V.length>1&&V!==Qi&&V!==Wi))throw sP;if(Z)return;K=this.#G[W]=new Y}K.insert($,G,J,Q,Z)}buildRegExpStr(){let G=Object.keys(this.#G).sort(eZ5).map((J)=>{let Q=this.#G[J];return(typeof Q.#X==="number"?`(${J})@${Q.#X}`:tZ5.has(J)?`\\${J}`:J)+Q.buildRegExpStr()});if(typeof this.#Y==="number")G.unshift(`#${this.#Y}`);if(G.length===0)return"";if(G.length===1)return G[0];return"(?:"+G.join("|")+")"}};var Pp1=w(()=>{sP=Symbol(),tZ5=new Set(".\\+*[^]$()")});var aw6=class{#Y={varIndex:0};#X=new iw6;insert(Y,X,G){let J=[],Q=[];for(let W=0;;){let $=!1;if(Y=Y.replace(/\{[^}]+\}/g,(H)=>{let K=`@\\${W}`;return Q[W]=[K,H],W++,$=!0,K}),!$)break}let Z=Y.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let W=Q.length-1;W>=0;W--){let[$]=Q[W];for(let H=Z.length-1;H>=0;H--)if(Z[H].indexOf($)!==-1){Z[H]=Z[H].replace($,Q[W][1]);break}}return this.#X.insert(Z,X,J,this.#Y,G),J}buildRegExp(){let Y=this.#X.buildRegExpStr();if(Y==="")return[/^$/,[],[]];let X=0,G=[],J=[];return Y=Y.replace(/#(\d+)|@(\d+)|\.\*\$/g,(Q,Z,W)=>{if(Z!==void 0)return G[++X]=Number(Z),"$()";if(W!==void 0)return J[Number(W)]=++X,"";return""}),[new RegExp(`^${Y}`),G,J]}};var rw6=w(()=>{Pp1()});function sw6(Y){return ow6[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(X,G)=>G?`\\${G}`:"(?:|/.*)")}$`)}function X$5(){ow6=Object.create(null)}function G$5(Y){let X=new aw6,G=[];if(Y.length===0)return Y$5;let J=Y.map((K)=>[!/\*|\/:/.test(K[0]),...K]).sort(([K,V],[U,B])=>K?1:U?-1:V.length-B.length),Q=Object.create(null);for(let K=0,V=-1,U=J.length;K<U;K++){let[B,O,N]=J[K];if(B)Q[O]=[N.map(([L])=>[L,Object.create(null)]),Ji];else V++;let z;try{z=X.insert(O,V,B)}catch(L){throw L===sP?new gZ1(O):L}if(B)continue;G[V]=N.map(([L,D])=>{let E=Object.create(null);D-=1;for(;D>=0;D--){let[R,C]=z[D];E[R]=C}return[L,E]})}let[Z,W,$]=X.buildRegExp();for(let K=0,V=G.length;K<V;K++)for(let U=0,B=G[K].length;U<B;U++){let O=G[K][U]?.[1];if(!O)continue;let N=Object.keys(O);for(let z=0,L=N.length;z<L;z++)O[N[z]]=$[O[N[z]]]}let H=[];for(let K in W)H[K]=G[W[K]];return[Z,H,Q]}function hk(Y,X){if(!Y)return;for(let G of Object.keys(Y).sort((J,Q)=>Q.length-J.length))if(sw6(G).test(X))return[...Y[G]];return}var Y$5,ow6,lZ1=class{name="RegExpRouter";#Y;#X;constructor(){this.#Y={[J7]:Object.create(null)},this.#X={[J7]:Object.create(null)}}add(Y,X,G){let J=this.#Y,Q=this.#X;if(!J||!Q)throw Error(xZ1);if(!J[Y])[J,Q].forEach(($)=>{$[Y]=Object.create(null),Object.keys($[J7]).forEach((H)=>{$[Y][H]=[...$[J7][H]]})});if(X==="/*")X="*";let Z=(X.match(/\/:/g)||[]).length;if(/\*$/.test(X)){let $=sw6(X);if(Y===J7)Object.keys(J).forEach((H)=>{J[H][X]||=hk(J[H],X)||hk(J[J7],X)||[]});else J[Y][X]||=hk(J[Y],X)||hk(J[J7],X)||[];Object.keys(J).forEach((H)=>{if(Y===J7||Y===H)Object.keys(J[H]).forEach((K)=>{$.test(K)&&J[H][K].push([G,Z])})}),Object.keys(Q).forEach((H)=>{if(Y===J7||Y===H)Object.keys(Q[H]).forEach((K)=>$.test(K)&&Q[H][K].push([G,Z]))});return}let W=vZ1(X)||[X];for(let $=0,H=W.length;$<H;$++){let K=W[$];Object.keys(Q).forEach((V)=>{if(Y===J7||Y===V)Q[V][K]||=[...hk(J[V],K)||hk(J[J7],K)||[]],Q[V][K].push([G,Z-H+$+1])})}}match=uZ1;buildAllMatchers(){let Y=Object.create(null);return Object.keys(this.#X).concat(Object.keys(this.#Y)).forEach((X)=>{Y[X]||=this.#G(X)}),this.#Y=this.#X=void 0,X$5(),Y}#G(Y){let X=[],G=Y===J7;if([this.#Y,this.#X].forEach((J)=>{let Q=J[Y]?Object.keys(J[Y]).map((Z)=>[Z,J[Y][Z]]):[];if(Q.length!==0)G||=!0,X.push(...Q);else if(Y!==J7)X.push(...Object.keys(J[J7]).map((Z)=>[Z,J[J7][Z]]))}),!G)return null;else return G$5(X)}};var Tp1=w(()=>{$w();Zw();Ep1();Pp1();rw6();Y$5=[/^$/,[],Object.create(null)],ow6=Object.create(null)});var J$5=class{name="PreparedRegExpRouter";#Y;#X;constructor(Y,X){this.#Y=Y,this.#X=X}#G(Y,X){let G=this.#Y[Y];G[1].forEach((J)=>J&&J.push(X)),Object.values(G[2]).forEach((J)=>J[0].push(X))}#J(Y,X,G,J,Q){let Z=this.#Y[Y];if(!Q)Z[2][X][0].push([G,{}]);else J.forEach((W)=>{if(typeof W==="number")Z[1][W].push([G,Q]);else Z[2][W||X][0].push([G,Q])})}add(Y,X,G){if(!this.#Y[Y]){let Q=this.#Y[J7],Z={};for(let W in Q[2])Z[W]=[Q[2][W][0].slice(),Ji];this.#Y[Y]=[Q[0],Q[1].map((W)=>Array.isArray(W)?W.slice():0),Z]}if(X==="/*"||X==="*"){let Q=[G,{}];if(Y===J7)for(let Z in this.#Y)this.#G(Z,Q);else this.#G(Y,Q);return}let J=this.#X[X];if(!J)throw Error(`Path ${X} is not registered`);for(let[Q,Z]of J)if(Y===J7)for(let W in this.#Y)this.#J(W,X,G,Q,Z);else this.#J(Y,X,G,Q,Z)}buildAllMatchers(){return this.#Y}match=uZ1};var tw6=w(()=>{$w();Ep1();Tp1()});var ew6=w(()=>{Tp1();tw6()});var Rp1=class{name="SmartRouter";#Y=[];#X=[];constructor(Y){this.#Y=Y.routers}add(Y,X,G){if(!this.#X)throw Error(xZ1);this.#X.push([Y,X,G])}match(Y,X){if(!this.#X)throw Error("Fatal error");let G=this.#Y,J=this.#X,Q=G.length,Z=0,W;for(;Z<Q;Z++){let $=G[Z];try{for(let H=0,K=J.length;H<K;H++)$.add(...J[H]);W=$.match(Y,X)}catch(H){if(H instanceof gZ1)continue;throw H}this.match=$.match.bind($),this.#Y=[$],this.#X=void 0;break}if(Z===Q)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,W}get activeRouter(){if(this.#X||this.#Y.length!==1)throw Error("No active router has been determined yet.");return this.#Y[0]}};var YA6=w(()=>{$w()});var XA6=w(()=>{YA6()});var Zi,Q$5=(Y)=>{for(let X in Y)return!0;return!1},GA6=class Y{#Y;#X;#G;#J=0;#Q=Zi;constructor(X,G,J){if(this.#X=J||Object.create(null),this.#Y=[],X&&G){let Q=Object.create(null);Q[X]={handler:G,possibleKeys:[],score:0},this.#Y=[Q]}this.#G=[]}insert(X,G,J){this.#J=++this.#J;let Q=this,Z=_w6(G),W=[];for(let $=0,H=Z.length;$<H;$++){let K=Z[$],V=Z[$+1],U=fw6(K,V),B=Array.isArray(U)?U[0]:K;if(B in Q.#X){if(Q=Q.#X[B],U)W.push(U[1]);continue}if(Q.#X[B]=new Y,U)Q.#G.push(U),W.push(U[1]);Q=Q.#X[B]}return Q.#Y.push({[X]:{handler:J,possibleKeys:W.filter(($,H,K)=>K.indexOf($)===H),score:this.#J}}),Q}#W(X,G,J,Q,Z){for(let W=0,$=G.#Y.length;W<$;W++){let H=G.#Y[W],K=H[J]||H[J7],V={};if(K!==void 0){if(K.params=Object.create(null),X.push(K),Q!==Zi||Z&&Z!==Zi)for(let U=0,B=K.possibleKeys.length;U<B;U++){let O=K.possibleKeys[U],N=V[K.score];K.params[O]=Z?.[O]&&!N?Z[O]:Q[O]??Z?.[O],V[K.score]=!0}}}}search(X,G){let J=[];this.#Q=Zi;let Z=[this],W=Lp1(G),$=[],H=W.length,K=null;for(let V=0;V<H;V++){let U=W[V],B=V===H-1,O=[];for(let z=0,L=Z.length;z<L;z++){let D=Z[z],E=D.#X[U];if(E)if(E.#Q=D.#Q,B){if(E.#X["*"])this.#W(J,E.#X["*"],X,D.#Q);this.#W(J,E,X,D.#Q)}else O.push(E);for(let R=0,C=D.#G.length;R<C;R++){let T=D.#G[R],S=D.#Q===Zi?{}:{...D.#Q};if(T==="*"){let g=D.#X["*"];if(g)this.#W(J,g,X,D.#Q),g.#Q=S,O.push(g);continue}let[_,k,f]=T;if(!U&&!(f instanceof RegExp))continue;let h=D.#X[_];if(f instanceof RegExp){if(K===null){K=Array(H);let n=G[0]==="/"?1:0;for(let v=0;v<H;v++)K[v]=n,n+=W[v].length+1}let g=G.substring(K[V]),p=f.exec(g);if(p){if(S[k]=p[0],this.#W(J,h,X,D.#Q,S),Q$5(h.#X)){h.#Q=S;let n=p[0].match(/\//)?.length??0;($[n]||=[]).push(h)}continue}}if(f===!0||f.test(U))if(S[k]=U,B){if(this.#W(J,h,X,S,D.#Q),h.#X["*"])this.#W(J,h.#X["*"],X,S,D.#Q)}else h.#Q=S,O.push(h)}}let N=$.shift();Z=N?O.concat(N):O}if(J.length>1)J.sort((V,U)=>{return V.score-U.score});return[J.map(({handler:V,params:U})=>[V,U])]}};var JA6=w(()=>{$w();Zw();Zi=Object.create(null)});var Cp1=class{name="TrieRouter";#Y;constructor(){this.#Y=new GA6}add(Y,X,G){let J=vZ1(X);if(J){for(let Q=0,Z=J.length;Q<Z;Q++)this.#Y.insert(Y,J[Q],G);return}this.#Y.insert(Y,X,G)}match(Y,X){return this.#Y.search(Y,X)}};var QA6=w(()=>{Zw();JA6()});var WA6=w(()=>{QA6()});var V5;var ZA6=w(()=>{nw6();ew6();XA6();WA6();V5=class extends pw6{constructor(Y={}){super(Y);this.router=Y.router??new Rp1({routers:[new lZ1,new Cp1]})}}});var IG=w(()=>{ZA6()});var HA6,W$5,$A6=(Y)=>{let X=0,G=Y.length;while(X<G){let J=Y.charCodeAt(X);if(J!==32&&J!==9)break;X++}while(G>X){let J=Y.charCodeAt(G-1);if(J!==32&&J!==9)break;G--}return X===0&&G===Y.length?Y:Y.slice(X,G)},Sp1=(Y,X)=>{if(X&&Y.indexOf(X)===-1)return{};let G=Y.split(";"),J={};for(let Q of G){let Z=Q.indexOf("=");if(Z===-1)continue;let W=$A6(Q.substring(0,Z));if(X&&X!==W||!HA6.test(W))continue;let $=$A6(Q.substring(Z+1));if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(W$5.test($)){if(J[W]=$.indexOf("%")!==-1?yk($,Yi):$,X)break}}return J},Z$5=(Y,X,G={})=>{if(!HA6.test(Y))throw Error("Invalid cookie name");let J=`${Y}=${X}`;if(Y.startsWith("__Secure-")&&!G.secure)throw Error("__Secure- Cookie must have Secure attributes");if(Y.startsWith("__Host-")){if(!G.secure)throw Error("__Host- Cookie must have Secure attributes");if(G.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(G.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let Q of["domain","path"])if(G[Q]&&/[;\r\n]/.test(G[Q]))throw Error(`${Q} must not contain ";", "\\r", or "\\n"`);if(G&&typeof G.maxAge==="number"&&G.maxAge>=0){if(G.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");J+=`; Max-Age=${G.maxAge|0}`}if(G.domain&&G.prefix!=="host")J+=`; Domain=${G.domain}`;if(G.path)J+=`; Path=${G.path}`;if(G.expires){if(G.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");J+=`; Expires=${G.expires.toUTCString()}`}if(G.httpOnly)J+="; HttpOnly";if(G.secure)J+="; Secure";if(G.sameSite)J+=`; SameSite=${G.sameSite.charAt(0).toUpperCase()+G.sameSite.slice(1)}`;if(G.priority)J+=`; Priority=${G.priority.charAt(0).toUpperCase()+G.priority.slice(1)}`;if(G.partitioned){if(!G.secure)throw Error("Partitioned Cookie must have Secure attributes");J+="; Partitioned"}return J},dZ1=(Y,X,G)=>{return X=encodeURIComponent(X),Z$5(Y,X,G)};var KA6=w(()=>{Zw();HA6=/^[\w!#$%&'*.^`|~+-]+$/,W$5=/^[ !#-:<-[\]-~]*$/});var cZ1=(Y,X,G)=>{let J=Y.req.raw.headers.get("Cookie");if(typeof X==="string"){if(!J)return;let Z=X;if(G==="secure")Z="__Secure-"+X;else if(G==="host")Z="__Host-"+X;return Sp1(J,Z)[Z]}if(!J)return{};return Sp1(J)},$$5=(Y,X,G)=>{let J;if(G?.prefix==="secure")J=dZ1("__Secure-"+Y,X,{path:"/",...G,secure:!0});else if(G?.prefix==="host")J=dZ1("__Host-"+Y,X,{...G,path:"/",secure:!0,domain:void 0});else J=dZ1(Y,X,{path:"/",...G});return J},jp1=(Y,X,G,J)=>{let Q=$$5(X,G,J);Y.header("Set-Cookie",Q,{append:!0})};var Ip1=w(()=>{KA6()});var FA6=(Y)=>{let G={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},J=((Z)=>{if(typeof Z==="string")if(Z==="*"){if(G.credentials)return(W)=>W||null;return()=>Z}else return(W)=>Z===W?W:null;else if(typeof Z==="function")return Z;else return(W)=>Z.includes(W)?W:null})(G.origin),Q=((Z)=>{if(typeof Z==="function")return Z;else if(Array.isArray(Z))return()=>Z;else return()=>[]})(G.allowMethods);return async function(W,$){function H(V,U){W.res.headers.set(V,U)}let K=await J(W.req.header("origin")||"",W);if(K)H("Access-Control-Allow-Origin",K);if(G.credentials)H("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)H("Access-Control-Expose-Headers",G.exposeHeaders.join(","));if(W.req.method==="OPTIONS"){if(G.origin!=="*"||G.credentials)H("Vary","Origin");if(G.maxAge!=null)H("Access-Control-Max-Age",G.maxAge.toString());let V=await Q(W.req.header("origin")||"",W);if(V.length)H("Access-Control-Allow-Methods",V.join(","));let U=G.allowHeaders;if(!U?.length){let B=W.req.header("Access-Control-Request-Headers");if(B)U=B.split(/\s*,\s*/)}if(U?.length)H("Access-Control-Allow-Headers",U.join(",")),W.res.headers.append("Vary","Access-Control-Request-Headers");return W.res.headers.delete("Content-Length"),W.res.headers.delete("Content-Type"),new Response(null,{headers:W.res.headers,status:204,statusText:"No Content"})}if(await $(),G.origin!=="*"||G.credentials)W.header("Vary","Origin",{append:!0})}};var VA6=()=>{};var UA6=()=>{try{return performance.now()}catch{}return Date.now()},_p1=(Y)=>{let X={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(J,Q){let Z=[],W=new Map;if(J.get("metric"))return await Q();if(J.set("metric",{headers:Z,timers:W}),X.total)LH(J,"total",X.totalDescription);if(await Q(),X.total)pZ(J,"total");if(X.autoEnd)W.forEach((H,K)=>pZ(J,K));if(typeof X.enabled==="function"?X.enabled(J):X.enabled){J.res.headers.append("Server-Timing",Z.join(","));let H=typeof X.crossOrigin==="function"?X.crossOrigin(J):X.crossOrigin;if(H)J.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},BA6=(Y,X,G,J,Q)=>{let Z=Y.get("metric");if(!Z){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof G==="number"){let W=G.toFixed(Q||1),$=J?`${X};dur=${W};desc="${J}"`:`${X};dur=${W}`;Z.headers.push($)}else{let W=G?`${X};desc="${G}"`:`${X}`;Z.headers.push(W)}},LH=(Y,X,G)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}J.timers.set(X,{description:G,start:UA6()})},pZ=(Y,X,G)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let Q=J.timers.get(X);if(!Q){console.warn(`Timer "${X}" does not exist!`);return}let{description:Z,start:W}=Q,$=UA6()-W;BA6(Y,X,$,Z,G),J.timers.delete(X)};var OA6=w(()=>{bZ1()});var fp1=w(()=>{OA6()});function $i(){let Y={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(let X of kp1)Y[X.category]?.push(X);return Y}var kp1;var vp1=w(()=>{kp1=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"BRAND_CONTEXT_LIST",description:"List brand contexts",category:"Organizations"},{name:"BRAND_CONTEXT_GET",description:"View brand context",category:"Organizations"},{name:"BRAND_CONTEXT_CREATE",description:"Create brand context",category:"Organizations"},{name:"BRAND_CONTEXT_UPDATE",description:"Update brand context",category:"Organizations"},{name:"BRAND_CONTEXT_DELETE",description:"Delete brand context",category:"Organizations",dangerous:!0},{name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context from website",category:"Organizations"},{name:"BRAND_GET",description:"Get brand (binding)",category:"Organizations"},{name:"BRAND_LIST",description:"List brands (binding)",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_GET",description:"Get organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_SET",description:"Set organization domain claim",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update organization domain settings",category:"Organizations"},{name:"ORGANIZATION_DOMAIN_CLEAR",description:"Clear organization domain claim",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_LOG_GET",description:"View monitoring log details",category:"Monitoring"},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"},{name:"TAGS_LIST",description:"List organization tags",category:"Tags"},{name:"TAGS_CREATE",description:"Create organization tag",category:"Tags"},{name:"TAGS_DELETE",description:"Delete organization tag",category:"Tags",dangerous:!0},{name:"MEMBER_TAGS_GET",description:"Get member tags",category:"Tags"},{name:"MEMBER_TAGS_SET",description:"Set member tags",category:"Tags"},{name:"AUTOMATION_CREATE",description:"Create automation",category:"Automations"},{name:"AUTOMATION_GET",description:"View automation details",category:"Automations"},{name:"AUTOMATION_LIST",description:"List automations",category:"Automations"},{name:"AUTOMATION_UPDATE",description:"Update automation",category:"Automations"},{name:"AUTOMATION_DELETE",description:"Delete automation",category:"Automations",dangerous:!0},{name:"AUTOMATION_TRIGGER_ADD",description:"Add trigger to automation",category:"Automations"},{name:"AUTOMATION_TRIGGER_REMOVE",description:"Remove trigger from automation",category:"Automations"},{name:"AUTOMATION_RUN",description:"Manually trigger an automation run",category:"Automations"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"View virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Update virtual MCP plugin configuration",category:"Virtual MCPs"},{name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update virtual MCP pinned sidebar views",category:"Virtual MCPs"},{name:"AI_PROVIDERS_LIST",description:"List available AI providers",category:"AI Providers"},{name:"AI_PROVIDERS_LIST_MODELS",description:"List AI provider models",category:"AI Providers"},{name:"AI_PROVIDERS_ACTIVE",description:"List active AI providers",category:"AI Providers"},{name:"AI_PROVIDER_KEY_CREATE",description:"Store AI provider API key",category:"AI Providers"},{name:"AI_PROVIDER_KEY_LIST",description:"List AI provider API keys",category:"AI Providers"},{name:"AI_PROVIDER_KEY_DELETE",description:"Delete AI provider API key",category:"AI Providers",dangerous:!0},{name:"AI_PROVIDER_OAUTH_URL",description:"Get OAuth URL for provider",category:"AI Providers"},{name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange OAuth code for API key",category:"AI Providers"},{name:"AI_PROVIDER_PROVISION_KEY",description:"Auto-provision API key for a provider",category:"AI Providers"},{name:"AI_PROVIDER_TOPUP_URL",description:"Get checkout URL to top up provider credits",category:"AI Providers"},{name:"AI_PROVIDER_CREDITS",description:"Get current credit balance for a provider",category:"AI Providers"},{name:"AI_PROVIDER_CLI_ACTIVATE",description:"Activate Claude Code via local CLI",category:"AI Providers"},{name:"LIST_OBJECTS",description:"List objects in storage",category:"Object Storage"},{name:"GET_OBJECT_METADATA",description:"Get object metadata",category:"Object Storage"},{name:"GET_PRESIGNED_URL",description:"Generate download URL",category:"Object Storage"},{name:"PUT_PRESIGNED_URL",description:"Generate upload URL",category:"Object Storage"},{name:"DELETE_OBJECT",description:"Delete object",category:"Object Storage",dangerous:!0},{name:"DELETE_OBJECTS",description:"Delete multiple objects",category:"Object Storage",dangerous:!0},{name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry apps",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_GET",description:"Get registry app details",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"List registry app versions",category:"Registry"},{name:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get registry app filters",category:"Registry"},{name:"REGISTRY_ITEM_LIST",description:"List private registry items",category:"Registry"},{name:"REGISTRY_ITEM_SEARCH",description:"Search registry items",category:"Registry"},{name:"REGISTRY_ITEM_GET",description:"Get registry item details",category:"Registry"},{name:"REGISTRY_ITEM_VERSIONS",description:"List registry item versions",category:"Registry"},{name:"REGISTRY_ITEM_CREATE",description:"Create registry item",category:"Registry"},{name:"REGISTRY_ITEM_BULK_CREATE",description:"Bulk create registry items",category:"Registry"},{name:"REGISTRY_ITEM_UPDATE",description:"Update registry item",category:"Registry"},{name:"REGISTRY_ITEM_DELETE",description:"Delete registry item",category:"Registry",dangerous:!0},{name:"REGISTRY_ITEM_FILTERS",description:"Get registry item filters",category:"Registry"},{name:"REGISTRY_DISCOVER_TOOLS",description:"Discover tools from MCP server",category:"Registry"},{name:"REGISTRY_AI_GENERATE",description:"AI-generate registry content",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_LIST",description:"List publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_REVIEW",description:"Review publish request",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_COUNT",description:"Count pending publish requests",category:"Registry"},{name:"REGISTRY_PUBLISH_REQUEST_DELETE",description:"Delete publish request",category:"Registry",dangerous:!0},{name:"REGISTRY_PUBLISH_API_KEY_GENERATE",description:"Generate publish API key",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_LIST",description:"List publish API keys",category:"Registry"},{name:"REGISTRY_PUBLISH_API_KEY_REVOKE",description:"Revoke publish API key",category:"Registry",dangerous:!0},{name:"REGISTRY_MONITOR_RUN_START",description:"Start monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_LIST",description:"List monitor runs",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_GET",description:"Get monitor run details",category:"Registry"},{name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel monitor run",category:"Registry"},{name:"REGISTRY_MONITOR_RESULT_LIST",description:"List monitor results",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Sync monitor connections",category:"Registry"},{name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update monitor connection auth",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Set monitor schedule",category:"Registry"},{name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel monitor schedule",category:"Registry"},{name:"VM_START",description:"Start a Freestyle VM with dev server preview",category:"VM"},{name:"VM_DELETE",description:"Stop and delete a Freestyle VM",category:"VM"},{name:"GITHUB_LIST_USER_ORGS",description:"List GitHub user's personal account and organizations",category:"GitHub"}]});var NA6=w(()=>{lI();t71()});function zA6(){return K$5.parse(process.env)}var yp1=(Y)=>F.enum(["true","false","1","0"]).optional().transform((X)=>X===void 0?Y:X==="true"||X==="1"),H$5=(Y)=>F.string().optional().transform((X)=>X?X.split(",").map((G)=>G.trim()):Y),K$5;var qA6=w(()=>{F0();K$5=F.object({AUTH_EMAIL_PASSWORD_ENABLED:yp1(!0),AUTH_GOOGLE_CLIENT_ID:F.string().optional(),AUTH_GOOGLE_CLIENT_SECRET:F.string().optional(),AUTH_GITHUB_CLIENT_ID:F.string().optional(),AUTH_GITHUB_CLIENT_SECRET:F.string().optional(),AUTH_RESEND_API_KEY:F.string().optional(),AUTH_RESEND_FROM_EMAIL:F.string().optional(),AUTH_SENDGRID_API_KEY:F.string().optional(),AUTH_SENDGRID_FROM_EMAIL:F.string().optional(),AUTH_INVITE_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_RESET_PASSWORD_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_MAGIC_LINK_ENABLED:yp1(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:yp1(!1),AUTH_EMAIL_OTP_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_LENGTH:F.coerce.number().optional(),AUTH_EMAIL_OTP_EXPIRES_IN:F.coerce.number().optional(),AUTH_SSO_DOMAIN:F.string().optional(),AUTH_SSO_MS_TENANT_ID:F.string().optional(),AUTH_SSO_MS_CLIENT_ID:F.string().optional(),AUTH_SSO_MS_CLIENT_SECRET:F.string().optional(),AUTH_SSO_SCOPES:H$5(["openid","email","profile"])}).transform((Y)=>{let X={};if(Y.AUTH_GOOGLE_CLIENT_ID)X.google={clientId:Y.AUTH_GOOGLE_CLIENT_ID,clientSecret:Y.AUTH_GOOGLE_CLIENT_SECRET??""};if(Y.AUTH_GITHUB_CLIENT_ID)X.github={clientId:Y.AUTH_GITHUB_CLIENT_ID,clientSecret:Y.AUTH_GITHUB_CLIENT_SECRET??""};let G=[];if(Y.AUTH_RESEND_API_KEY)G.push({id:"resend",provider:"resend",config:{apiKey:Y.AUTH_RESEND_API_KEY,fromEmail:Y.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if(Y.AUTH_SENDGRID_API_KEY)G.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:Y.AUTH_SENDGRID_API_KEY,fromEmail:Y.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let J=G[0]?.id,Q;if(Y.AUTH_SSO_MS_CLIENT_ID&&Y.AUTH_SSO_DOMAIN)Q={providerId:"microsoft",domain:Y.AUTH_SSO_DOMAIN,MS_TENANT_ID:Y.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:Y.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:Y.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:Y.AUTH_SSO_SCOPES};let Z;if(Y.AUTH_MAGIC_LINK_ENABLED)Z={enabled:!0,emailProviderId:Y.AUTH_MAGIC_LINK_EMAIL_PROVIDER??J??""};let W;if(Y.AUTH_EMAIL_OTP_ENABLED)W={enabled:!0,emailProviderId:Y.AUTH_EMAIL_OTP_EMAIL_PROVIDER??J??"",...Y.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:Y.AUTH_EMAIL_OTP_LENGTH},...Y.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:Y.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:Y.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(X).length>0?X:void 0,emailProviders:G.length>0?G:void 0,inviteEmailProviderId:Y.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:Y.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:Q,magicLinkConfig:Z,emailOtpConfig:W}})});var pZ1;var LA6=w(()=>{pZ1={enabled:!0,batchSize:250,flushIntervalMs:300,maxQueueSize:1e4,redactor:"regex"}});import{existsSync as F$5,readFileSync as V$5}from"fs";function U$5(){let Y=zA6(),X=j6().configPath;if(!F$5(X))return{auth:Y,monitoring:pZ1};try{let G=JSON.parse(V$5(X,"utf-8"));if(G.auth)console.warn("[config] DEPRECATION: 'auth' key found in config.json. Auth is now configured via AUTH_* environment variables. The 'auth' key will be ignored.");return{auth:Y,monitoring:G.monitoring??pZ1,theme:G.theme,logo:G.logo,autoCreateOrganizationOnSignup:G.autoCreateOrganizationOnSignup}}catch{return{auth:Y,monitoring:pZ1}}}function tP(){if(!hp1)hp1=U$5();return hp1}function DA6(){return tP().theme}var hp1=null;var bp1=w(()=>{qA6();LA6();E9()});import{dirname as B$5,posix as O$5,sep as N$5}from"path";function AA6(){let Y=z$5();return async(X)=>{for(let G of X)G.module=Y(G.filename);return X}}function z$5(Y=process.argv[1]?B$5(process.argv[1]):process.cwd(),X=N$5==="\\"){let G=X?wA6(Y):Y;return(J)=>{if(!J)return;let Q=X?wA6(J):J,{dir:Z,base:W,ext:$}=O$5.parse(Q);if($===".js"||$===".mjs"||$===".cjs")W=W.slice(0,-1*$.length);let H=decodeURIComponent(W);if(!Z)Z=".";let K=Z.lastIndexOf("/node_modules");if(K>-1)return`${Z.slice(K+14).replace(/\//g,".")}:${H}`;if(Z.startsWith(G)){let V=Z.slice(G.length+1).replace(/\//g,".");return V?`${V}:${H}`:H}return H}}function wA6(Y){return Y.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var MA6=()=>{};function q$5(Y,X,G){return{key:Y,enabled:typeof X=="string"?!0:X,variant:typeof X=="string"?X:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:G?JSON.stringify(G):void 0,description:void 0}}}var xp1=(Y)=>{if("flags"in Y){let X=EA6(Y.flags),G=PA6(Y.flags);return{...Y,featureFlags:X,featureFlagPayloads:G}}{let X=Y.featureFlags??{},G=Object.fromEntries(Object.entries(Y.featureFlagPayloads||{}).map(([Q,Z])=>[Q,gp1(Z)])),J=Object.fromEntries(Object.entries(X).map(([Q,Z])=>[Q,q$5(Q,Z,G[Q])]));return{...Y,featureFlags:X,featureFlagPayloads:G,flags:J}}},EA6=(Y)=>Object.fromEntries(Object.entries(Y??{}).map(([X,G])=>[X,Hi(G)]).filter(([,X])=>X!==void 0)),PA6=(Y)=>{let X=Y??{};return Object.fromEntries(Object.keys(X).filter((G)=>{let J=X[G];return J.enabled&&J.metadata&&J.metadata.payload!==void 0}).map((G)=>{let J=X[G].metadata?.payload;return[G,J?gp1(J):void 0]}))},Hi=(Y)=>Y===void 0?void 0:Y.variant??Y.enabled,gp1=(Y)=>{if(typeof Y!="string")return Y;try{return JSON.parse(Y)}catch{return Y}};var nZ1=()=>{};function TA6(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function iZ1(Y,X=!0,G){try{let J=new CompressionStream("gzip"),Q=J.writable.getWriter(),Z=Q.write(new TextEncoder().encode(Y)).then(()=>Q.close()).catch(async(H)=>{try{await Q.abort(H)}catch{}throw H}),W=new Response(J.readable).blob(),[$]=await Promise.all([W,Z]);return $}catch(J){if(G?.rethrow)throw J;if(X)console.error("Failed to gzip compress data",J);return null}}var up1=()=>{};var L$5,RA6=function(Y,X=[]){if(!Y)return!1;let G=Y.toLowerCase();return L$5.concat(X).some((J)=>{let Q=J.toLowerCase();return G.indexOf(Q)!==-1})};var CA6=w(()=>{L$5=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"]});var CW;var bk=w(()=>{CW=function(Y){return Y.AnonymousId="anonymous_id",Y.DistinctId="distinct_id",Y.Props="props",Y.EnablePersonProcessing="enable_person_processing",Y.PersonMode="person_mode",Y.FeatureFlagDetails="feature_flag_details",Y.FeatureFlags="feature_flags",Y.FeatureFlagPayloads="feature_flag_payloads",Y.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",Y.BootstrapFeatureFlags="bootstrap_feature_flags",Y.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",Y.OverrideFeatureFlags="override_feature_flags",Y.Queue="queue",Y.OptedOut="opted_out",Y.SessionId="session_id",Y.SessionStartTimestamp="session_start_timestamp",Y.SessionLastTimestamp="session_timestamp",Y.PersonProperties="person_properties",Y.GroupProperties="group_properties",Y.InstalledAppBuild="installed_app_build",Y.InstalledAppVersion="installed_app_version",Y.SessionReplay="session_replay",Y.SurveyLastSeenDate="survey_last_seen_date",Y.SurveysSeen="surveys_seen",Y.Surveys="surveys",Y.RemoteConfig="remote_config",Y.FlagsEndpointWasHit="flags_endpoint_was_hit",Y.DeviceId="device_id",Y}({})});var aZ1=()=>{};function oZ1(Y){return Y===null||typeof Y!="object"}function eP(Y,X){return Object.prototype.toString.call(Y)===`[object ${X}]`}function IA6(Y){return eP(Y,"ErrorEvent")}function gk(Y){return typeof Event<"u"&&A$5(Y,Event)}function _A6(Y){return eP(Y,"Object")}function A$5(Y,X){try{return Y instanceof X}catch{return!1}}var w$5,SA6,k0Y,mp1,rZ1,Ki=(Y)=>Y===Object(Y)&&!rZ1(Y),xk=(Y)=>Y===void 0,Hw=(Y)=>mp1.call(Y)=="[object String]",jA6=(Y)=>Hw(Y)&&Y.trim().length===0,Fi=(Y)=>mp1.call(Y)=="[object Number]"&&Y===Y,lp1=(Y)=>Y instanceof Error;var Vi=w(()=>{bk();aZ1();w$5=Array.isArray,SA6=Object.prototype,k0Y=SA6.hasOwnProperty,mp1=SA6.toString,rZ1=w$5||function(Y){return mp1.call(Y)==="[object Array]"}});function Ui(Y,X,G,J,Q){if(X>G)J.warn("min cannot be greater than max."),X=G;if(Fi(Y))if(Y>G)return J.warn(" cannot be greater than max: "+G+". Using max value instead."),G;else{if(!(Y<X))return Y;return J.warn(" cannot be less than min: "+X+". Using min value instead."),X}return J.warn(" must be a number. using max or fallback. max: "+G+", fallback: "+Q),Ui(Q||G,X,G,J)}var dp1=w(()=>{Vi()});class cp1{constructor(Y){this._buckets={},this._onBucketRateLimited=Y._onBucketRateLimited,this._bucketSize=Ui(Y.bucketSize,0,100,Y._logger),this._refillRate=Ui(Y.refillRate,0,this._bucketSize,Y._logger),this._refillInterval=Ui(Y.refillInterval,0,M$5,Y._logger)}_applyRefill(Y,X){let G=X-Y.lastAccess,J=Math.floor(G/this._refillInterval);if(J>0){let Q=J*this._refillRate;Y.tokens=Math.min(Y.tokens+Q,this._bucketSize),Y.lastAccess=Y.lastAccess+J*this._refillInterval}}consumeRateLimit(Y){let X=Date.now(),G=String(Y),J=this._buckets[G];if(J)this._applyRefill(J,X);else J={tokens:this._bucketSize,lastAccess:X},this._buckets[G]=J;if(J.tokens===0)return!0;if(J.tokens--,J.tokens===0)this._onBucketRateLimited?.(Y);return J.tokens===0}stop(){this._buckets={}}}var M$5=86400000;var fA6=w(()=>{dp1()});class YT{constructor(Y){this.bytes=Y}static ofInner(Y){if(Y.length===16)return new YT(Y);throw TypeError("not 128-bit length")}static fromFieldsV7(Y,X,G,J){if(!Number.isInteger(Y)||!Number.isInteger(X)||!Number.isInteger(G)||!Number.isInteger(J)||Y<0||X<0||G<0||J<0||Y>281474976710655||X>4095||G>1073741823||J>4294967295)throw RangeError("invalid field value");let Q=new Uint8Array(16);return Q[0]=Y/1099511627776,Q[1]=Y/4294967296,Q[2]=Y/16777216,Q[3]=Y/65536,Q[4]=Y/256,Q[5]=Y,Q[6]=112|X>>>8,Q[7]=X,Q[8]=128|G>>>24,Q[9]=G>>>16,Q[10]=G>>>8,Q[11]=G,Q[12]=J>>>24,Q[13]=J>>>16,Q[14]=J>>>8,Q[15]=J,new YT(Q)}static parse(Y){let X;switch(Y.length){case 32:X=/^[0-9a-f]{32}$/i.exec(Y)?.[0];break;case 36:X=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(Y)?.slice(1,6).join("");break;case 38:X=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(Y)?.slice(1,6).join("");break;case 45:X=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(Y)?.slice(1,6).join("");break;default:break}if(X){let G=new Uint8Array(16);for(let J=0;J<16;J+=4){let Q=parseInt(X.substring(2*J,2*J+8),16);G[J+0]=Q>>>24,G[J+1]=Q>>>16,G[J+2]=Q>>>8,G[J+3]=Q}return new YT(G)}throw SyntaxError("could not parse UUID string")}toString(){let Y="";for(let X=0;X<this.bytes.length;X++)if(Y+="0123456789abcdef".charAt(this.bytes[X]>>>4),Y+="0123456789abcdef".charAt(15&this.bytes[X]),X===3||X===5||X===7||X===9)Y+="-";return Y}toHex(){let Y="";for(let X=0;X<this.bytes.length;X++)Y+="0123456789abcdef".charAt(this.bytes[X]>>>4),Y+="0123456789abcdef".charAt(15&this.bytes[X]);return Y}toJSON(){return this.toString()}getVariant(){let Y=this.bytes[8]>>>4;if(Y<0)throw Error("unreachable");if(Y<=7)return this.bytes.every((X)=>X===0)?"NIL":"VAR_0";if(Y<=11)return"VAR_10";if(Y<=13)return"VAR_110";if(Y<=15)return this.bytes.every((X)=>X===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new YT(this.bytes.slice(0))}equals(Y){return this.compareTo(Y)===0}compareTo(Y){for(let X=0;X<16;X++){let G=this.bytes[X]-Y.bytes[X];if(G!==0)return Math.sign(G)}return 0}}class vA6{constructor(Y){this.timestamp=0,this.counter=0,this.random=Y??E$5()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(Y,X){let G=this.generateOrAbortCore(Y,X);if(G===void 0)this.timestamp=0,G=this.generateOrAbortCore(Y,X);return G}generateOrAbortCore(Y,X){if(!Number.isInteger(Y)||Y<1||Y>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(X<0||X>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if(Y>this.timestamp)this.timestamp=Y,this.resetCounter();else{if(!(Y+X>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return YT.fromFieldsV7(this.timestamp,Math.trunc(this.counter/1073741824),this.counter&1073741823,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let Y=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return Y[6]=64|Y[6]>>>4,Y[8]=128|Y[8]>>>2,YT.ofInner(Y)}}var E$5=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),kA6,Kw=()=>P$5().toString(),P$5=()=>(kA6||(kA6=new vA6)).generate();var Bi=w(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class pp1{add(Y){let X=Kw();return this.promiseByIds[X]=Y,Y.catch(()=>{}).finally(()=>{delete this.promiseByIds[X]}),Y}async join(){let Y=Object.values(this.promiseByIds),X=Y.length;while(X>0)await Promise.all(Y),Y=Object.values(this.promiseByIds),X=Y.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var yA6=w(()=>{Bi()});function T$5(Y=console){return{log:Y.log.bind(Y),warn:Y.warn.bind(Y),error:Y.error.bind(Y),debug:Y.debug.bind(Y)}}function bA6(Y,X=R$5){return hA6(Y,X,T$5())}var hA6=(Y,X,G)=>{function J(Z,...W){X(()=>{let $=G[Z];$(Y,...W)})}return{info:(...Z)=>{J("log",...Z)},warn:(...Z)=>{J("warn",...Z)},error:(...Z)=>{J("error",...Z)},critical:(...Z)=>{G.error(Y,...Z)},createLogger:(Z)=>hA6(`${Y} ${Z}`,X,G)}},R$5=(Y)=>Y();var xA6=()=>{};var mk="Mobile",tZ1="iOS",uk="Android",gA6="Tablet",p0Y,S$5="Apple",n0Y,uA6="Safari",eZ1="BlackBerry",mA6="Samsung",j$5,I$5,Y$1="Chrome",_$5,f$5,lA6="Internet Explorer",k$5,ip1="Opera",i0Y,dA6="Edge",v$5,ap1="Firefox",y$5,rp1="Nintendo",op1="PlayStation",sZ1="Xbox",h$5,b$5,Oi="Windows",x$5,cA6="Generic",a0Y,r0Y,g$5="Konqueror",SW="(\\d+(\\.\\d+)?)",np1,o0Y,s0Y,t0Y,u$5,m$5,e0Y,Y6Y;var pA6=w(()=>{aZ1();Vi();p0Y=uk+" "+gA6,n0Y=S$5+" Watch",j$5=mA6+"Browser",I$5=mA6+" Internet",_$5=Y$1+" OS",f$5=Y$1+" "+tZ1,k$5=lA6+" "+mk,i0Y=ip1+" Mini",v$5="Microsoft "+dA6,y$5=ap1+" "+tZ1,h$5=uk+" "+mk,b$5=mk+" "+uA6,x$5=Oi+" Phone",a0Y=cA6+" "+mk.toLowerCase(),r0Y=cA6+" "+gA6.toLowerCase(),np1=new RegExp("Version/"+SW),o0Y=new RegExp(sZ1,"i"),s0Y=new RegExp(op1+" \\w+","i"),t0Y=new RegExp(rp1+" \\w+","i"),u$5=new RegExp(eZ1+"|PlayBook|BB10","i"),m$5={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"},e0Y={[k$5]:[new RegExp("rv:"+SW)],[v$5]:[new RegExp(dA6+"?\\/"+SW)],[Y$1]:[new RegExp("("+Y$1+"|CrMo)\\/"+SW)],[f$5]:[new RegExp("CriOS\\/"+SW)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+SW)],[uA6]:[np1],[b$5]:[np1],[ip1]:[new RegExp("("+ip1+"|OPR)\\/"+SW)],[ap1]:[new RegExp(ap1+"\\/"+SW)],[y$5]:[new RegExp("FxiOS\\/"+SW)],[g$5]:[new RegExp("Konqueror[:/]?"+SW,"i")],[eZ1]:[new RegExp(eZ1+" "+SW),np1],[h$5]:[new RegExp("android\\s"+SW,"i")],[I$5]:[new RegExp(j$5+"\\/"+SW)],[lA6]:[new RegExp("(rv:|MSIE )"+SW)],Mozilla:[new RegExp("rv:"+SW)]},Y6Y=[[new RegExp(sZ1+"; "+sZ1+" (.*?)[);]","i"),(Y)=>[sZ1,Y&&Y[1]||""]],[new RegExp(rp1,"i"),[rp1,""]],[new RegExp(op1,"i"),[op1,""]],[u$5,[eZ1,""]],[new RegExp(Oi,"i"),(Y,X)=>{if(/Phone/.test(X)||/WPDesktop/.test(X))return[x$5,""];if(new RegExp(mk).test(X)&&!/IEMobile\b/.test(X))return[Oi+" "+mk,""];let G=/Windows NT ([0-9.]+)/i.exec(X);if(G&&G[1]){let J=G[1],Q=m$5[J]||"";if(/arm/i.test(X))Q="RT";return[Oi,Q]}return[Oi,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,(Y)=>{if(Y&&Y[3]){let X=[Y[3],Y[4],Y[5]||"0"];return[tZ1,X.join(".")]}return[tZ1,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,(Y)=>{let X="";if(Y&&Y.length>=3)X=xk(Y[2])?Y[3]:Y[2];return["watchOS",X]}],[new RegExp("("+uk+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+uk+")","i"),(Y)=>{if(Y&&Y[2]){let X=[Y[2],Y[3],Y[4]||"0"];return[uk,X.join(".")]}return[uk,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,(Y)=>{let X=["Mac OS X",""];if(Y&&Y[1]){let G=[Y[1],Y[2],Y[3]||"0"];X[1]=G.join(".")}return X}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[_$5,""]],[/Linux|debian/i,["Linux",""]]]});function iA6(Y){return Y?.replace(/\/+$/,"")}async function aA6(Y,X){let G=null;for(let J=0;J<X.retryCount+1;J++){if(J>0)await new Promise((Q)=>setTimeout(Q,X.retryDelay));try{return await Y()}catch(Q){if(G=Q,!X.retryCheck(Q))throw Q}}throw G}function X$1(){return new Date().toISOString()}function Qz(Y,X){let G=setTimeout(Y,X);return G?.unref&&G?.unref(),G}function sp1(Y){return Promise.all(Y.map((X)=>(X??Promise.resolve()).then((G)=>({status:"fulfilled",value:G}),(G)=>({status:"rejected",reason:G}))))}var nA6="utf8",rA6=(Y)=>Y instanceof Error;var jW=w(()=>{CA6();fA6();dp1();aZ1();Vi();yA6();xA6();pA6()});var l$5,O6Y;var oA6=w(()=>{jW();l$5={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},O6Y=l$5.info});var sA6=w(()=>{bk()});class tp1{constructor(){this.events={},this.events={}}on(Y,X){if(!this.events[Y])this.events[Y]=[];return this.events[Y].push(X),()=>{this.events[Y]=this.events[Y].filter((G)=>G!==X)}}emit(Y,X){for(let G of this.events[Y]||[])G(X);for(let G of this.events["*"]||[])G(Y,X)}}var tA6=()=>{};async function eA6(Y){if(Y instanceof lk){let X="";try{X=await Y.text}catch{}console.error(`Error while flushing PostHog: message=${Y.message}, response body=${X}`,Y)}else console.error("Error while flushing PostHog",Y);return Promise.resolve()}function ep1(Y){return typeof Y=="object"&&(Y instanceof lk||Y instanceof Ni)}function YM6(Y){return typeof Y=="object"&&Y instanceof lk&&Y.status===413}class G$1{constructor(Y,X={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new pp1,this._events=new tp1,this._isInitialized=!1;let G=typeof Y=="string"?Y.trim():"",J=typeof X.host=="string"?X.host.trim():"",Q=!G;if(this._logger=bA6("[PostHog]",this.logMsgIfDebug.bind(this)),Q)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=G,this.host=iA6(J||"https://us.i.posthog.com"),this.flushAt=X.flushAt?Math.max(X.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,X.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,X.maxQueueSize??1000),this.flushInterval=X.flushInterval??1e4,this.preloadFeatureFlags=X.preloadFeatureFlags??!0,this.defaultOptIn=X.defaultOptIn??!0,this.disableSurveys=X.disableSurveys??!1,this._retryOptions={retryCount:X.fetchRetryCount??3,retryDelay:X.fetchRetryDelay??3000,retryCheck:ep1},this.requestTimeout=X.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=X.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=X.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=X.disableGeoip??!0,this.disabled=(X.disabled??!1)||Q,this.historicalMigration=X?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=X?.evaluationContexts??X?.evaluationEnvironments,X?.evaluationEnvironments&&!X?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!TA6()||(X?.disableCompression??!1)}logMsgIfDebug(Y){if(this.isDebug)Y()}wrap(Y){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return Y();this._initPromise.then(()=>Y())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(CW.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(CW.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(CW.OptedOut,!0)})}on(Y,X){return this._events.on(Y,X)}debug(Y=!0){if(this.removeDebugCallback?.(),Y){let X=this.on("*",(G,J)=>this._logger.info(G,J));this.removeDebugCallback=()=>{X(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(Y){return{distinct_id:Y.distinct_id,event:Y.event,properties:{...Y.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(Y){return this.promiseQueue.add(Y)}identifyStateless(Y,X,G){this.wrap(()=>{let J={...this.buildPayload({distinct_id:Y,event:"$identify",properties:X})};this.enqueue("identify",J,G)})}async identifyStatelessImmediate(Y,X,G){let J={...this.buildPayload({distinct_id:Y,event:"$identify",properties:X})};await this.sendImmediate("identify",J,G)}captureStateless(Y,X,G,J){this.wrap(()=>{let Q=this.buildPayload({distinct_id:Y,event:X,properties:G});this.enqueue("capture",Q,J)})}async captureStatelessImmediate(Y,X,G,J){let Q=this.buildPayload({distinct_id:Y,event:X,properties:G});await this.sendImmediate("capture",Q,J)}aliasStateless(Y,X,G,J){this.wrap(()=>{let Q=this.buildPayload({event:"$create_alias",distinct_id:X,properties:{...G||{},distinct_id:X,alias:Y}});this.enqueue("alias",Q,J)})}async aliasStatelessImmediate(Y,X,G,J){let Q=this.buildPayload({event:"$create_alias",distinct_id:X,properties:{...G||{},distinct_id:X,alias:Y}});await this.sendImmediate("alias",Q,J)}groupIdentifyStateless(Y,X,G,J,Q,Z){this.wrap(()=>{let W=this.buildPayload({distinct_id:Q||`$${Y}_${X}`,event:"$groupidentify",properties:{$group_type:Y,$group_key:X,$group_set:G||{},...Z||{}}});this.enqueue("capture",W,J)})}async getRemoteConfig(){await this._initPromise;let Y=this.host;if(Y==="https://us.i.posthog.com")Y="https://us-assets.i.posthog.com";else if(Y==="https://eu.i.posthog.com")Y="https://eu-assets.i.posthog.com";let X=`${Y}/array/${this.apiKey}/config`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(X,G,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((J)=>J.json()).catch((J)=>{this._logger.error("Remote config could not be loaded",J),this._events.emit("error",J)})}async getFlags(Y,X={},G={},J={},Q={},Z=!1){await this._initPromise;let W=Z?"&config=true":"",$=`${this.host}/flags/?v=2${W}`,H={token:this.apiKey,distinct_id:Y,groups:X,person_properties:G,group_properties:J,...Q};if(G.$device_id)H.$device_id=G.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)H.evaluation_contexts=this.evaluationContexts;let K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(H)};return this._logger.info("Flags URL",$),this.fetchWithRetry($,K,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((V)=>V.json()).then((V)=>({success:!0,response:xp1(V)})).catch((V)=>{return this._events.emit("error",V),{success:!1,error:this.categorizeRequestError(V)}})}categorizeRequestError(Y){if(Y instanceof lk)return{type:"api_error",statusCode:Y.status};if(Y instanceof Ni){let X=Y.error;if(X instanceof Error&&(X.name==="AbortError"||X.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagDetailStateless(Y,X,G,J,Q,Z);if(W===void 0)return{response:void 0,requestId:void 0};let $=Hi(W.response);if($===void 0)$=!1;return{response:$,requestId:W.requestId}}async getFeatureFlagDetailStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagDetailsStateless(X,G,J,Q,Z,[Y]);if(W===void 0)return;return{response:W.flags[Y],requestId:W.requestId,evaluatedAt:W.evaluatedAt}}async getFeatureFlagPayloadStateless(Y,X,G={},J={},Q={},Z){await this._initPromise;let W=await this.getFeatureFlagPayloadsStateless(X,G,J,Q,Z,[Y]);if(!W)return;let $=W[Y];if($===void 0)return null;return $}async getFeatureFlagPayloadsStateless(Y,X={},G={},J={},Q,Z){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(Y,X,G,J,Q,Z)).payloads}async getFeatureFlagsStateless(Y,X={},G={},J={},Q,Z){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(Y,X,G,J,Q,Z)}async getFeatureFlagsAndPayloadsStateless(Y,X={},G={},J={},Q,Z){await this._initPromise;let W=await this.getFeatureFlagDetailsStateless(Y,X,G,J,Q,Z);if(!W)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:W.featureFlags,payloads:W.featureFlagPayloads,requestId:W.requestId}}async getFeatureFlagDetailsStateless(Y,X={},G={},J={},Q,Z){await this._initPromise;let W={};if(Q??this.disableGeoip)W.geoip_disable=!0;if(Z)W.flag_keys_to_evaluate=Z;let $=await this.getFlags(Y,X,G,J,W);if(!$.success)return;let H=$.response;if(H.errorsWhileComputingFlags)console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices");if(H.quotaLimited?.includes("feature_flags"))return console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:H?.requestId,quotaLimited:H.quotaLimited};return H}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let Y=`${this.host}/api/surveys/?token=${this.apiKey}`,X={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},J=(await this.fetchWithRetry(Y,X).then((Q)=>{if(Q.status!==200||!Q.json){let Z=`Surveys API could not be loaded: ${Q.status}`,W=Error(Z);this._logger.error(W),this._events.emit("error",Error(Z));return}return Q.json()}).catch((Q)=>{this._logger.error("Surveys API could not be loaded",Q),this._events.emit("error",Q)}))?.surveys;if(J)this._logger.info("Surveys fetched from API: ",JSON.stringify(J));return J??[]}get props(){if(!this._props)this._props=this.getPersistedProperty(CW.Props);return this._props||{}}set props(Y){this._props=Y}async register(Y){this.wrap(()=>{this.props={...this.props,...Y},this.setPersistedProperty(CW.Props,this.props)})}async unregister(Y){this.wrap(()=>{delete this.props[Y],this.setPersistedProperty(CW.Props,this.props)})}processBeforeEnqueue(Y){return Y}async flushStorage(){}enqueue(Y,X,G){this.wrap(()=>{if(this.optedOut)return void this._events.emit(Y,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let J=this.prepareMessage(Y,X,G);if(J=this.processBeforeEnqueue(J),J===null)return;let Q=this.getPersistedProperty(CW.Queue)||[];if(Q.length>=this.maxQueueSize)Q.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(Q.push({message:J}),this.setPersistedProperty(CW.Queue,Q),this._events.emit(Y,J),Q.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=Qz(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate(Y,X,G){if(this.disabled)return void this._logger.warn("The client is disabled");if(!this._isInitialized)await this._initPromise;if(this.optedOut)return void this._events.emit(Y,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let J=this.prepareMessage(Y,X,G);if(J=this.processBeforeEnqueue(J),J===null)return;let Q={api_key:this.apiKey,batch:[J],sent_at:X$1()};if(this.historicalMigration)Q.historical_migration=!0;let Z=JSON.stringify(Q),W=`${this.host}/batch/`,$=this.disableCompression?null:await iZ1(Z,this.isDebug),H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...$!==null&&{"Content-Encoding":"gzip"}},body:$||Z};try{await this.fetchWithRetry(W,H)}catch(K){this._events.emit("error",K)}}prepareMessage(Y,X,G){let J={...X,type:Y,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:G?.timestamp?G?.timestamp:X$1(),uuid:G?.uuid?G.uuid:Kw()};if(G?.disableGeoip??this.disableGeoip){if(!J.properties)J.properties={};J.properties.$geoip_disable=!0}if(J.distinctId)J.distinct_id=J.distinctId,delete J.distinctId;return J}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async(Y)=>{await eA6(Y)})}async flush(){let Y=sp1([this.flushPromise]).then(()=>this._flush());return this.flushPromise=Y,this.addPendingPromise(Y),sp1([Y]).then(()=>{if(this.flushPromise===Y)this.flushPromise=null}),Y}getCustomHeaders(){let Y=this.getCustomUserAgent(),X={};if(Y&&Y!=="")X["User-Agent"]=Y;return X}async _flush(){this.clearFlushTimer(),await this._initPromise;let Y=this.getPersistedProperty(CW.Queue)||[];if(!Y.length)return;let X=[],G=Y.length;while(Y.length>0&&X.length<G){let J=Y.slice(0,this.maxBatchSize),Q=J.map((B)=>B.message),Z=async()=>{let O=(this.getPersistedProperty(CW.Queue)||[]).slice(J.length);this.setPersistedProperty(CW.Queue,O),Y=O,await this.flushStorage()},W={api_key:this.apiKey,batch:Q,sent_at:X$1()};if(this.historicalMigration)W.historical_migration=!0;let $=JSON.stringify(W),H=`${this.host}/batch/`,K=this.disableCompression?null:await iZ1($,this.isDebug),V={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...K!==null&&{"Content-Encoding":"gzip"}},body:K||$},U={retryCheck:(B)=>{if(YM6(B))return!1;return ep1(B)}};try{await this.fetchWithRetry(H,V,U)}catch(B){if(YM6(B)&&Q.length>1){this.maxBatchSize=Math.max(1,Math.floor(Q.length/2)),this._logger.warn(`Received 413 when sending batch of size ${Q.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(B instanceof Ni))await Z();throw this._events.emit("error",B),B}await Z(),X.push(...Q)}this._events.emit("flush",X)}async fetchWithRetry(Y,X,G,J){let Q=X.body?X.body:"",Z=-1;try{Z=Q instanceof Blob?Q.size:Buffer.byteLength(Q,nA6)}catch{if(Q instanceof Blob)Z=Q.size;else Z=new TextEncoder().encode(Q).length}return await aA6(async()=>{let W=new AbortController,$=J??this.requestTimeout,H=Qz(()=>W.abort(),$),K=null;try{K=await this.fetch(Y,{signal:W.signal,...X})}catch(U){throw new Ni(U)}finally{clearTimeout(H)}if(X.mode!=="no-cors"&&(K.status<200||K.status>=400))throw new lk(K,Z);return K},{...this._retryOptions,...G})}async _shutdown(Y=30000){await this._initPromise;let X=!1;this.clearFlushTimer();let G=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty(CW.Queue)||[]).length===0)break;if(await this.flush(),X)break}}catch(Q){if(!ep1(Q))throw Q;await eA6(Q)}},J;try{return await Promise.race([new Promise((Q,Z)=>{J=Qz(()=>{this._logger.error("Timed out while shutting down PostHog"),X=!0,Z("Timeout while shutting down PostHog. Some events may not have been sent.")},Y)}),G()])}finally{clearTimeout(J)}}async shutdown(Y=30000){if(this.shutdownPromise)this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup");else this.shutdownPromise=this._shutdown(Y).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var lk,Ni;var Yn1=w(()=>{tA6();nZ1();up1();bk();jW();Bi();lk=class lk extends Error{constructor(Y,X){super("HTTP error while fetching PostHog: status="+Y.status+", reqByteLength="+X),this.response=Y,this.reqByteLength=X,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};Ni=class Ni extends Error{constructor(Y){super("Network error while fetching PostHog",Y instanceof Error?{cause:Y}:{}),this.error=Y,this.name="PostHogFetchNetworkError"}}});var XM6=w(()=>{nZ1();bk();Yn1();Bi();jW()});var GM6=w(()=>{Vi()});function QM6(Y){let X=globalThis._posthogChunkIds;if(!X)return;let G=Object.keys(X);if(Q$1&&G.length===JM6)return Q$1;return JM6=G.length,Q$1=G.reduce((J,Q)=>{if(!J$1)J$1={};let Z=J$1[Q];if(Z)J[Z[0]]=Z[1];else{let W=Y(Q);for(let $=W.length-1;$>=0;$--){let K=W[$]?.filename,V=X[Q];if(K&&V){J[K]=V,J$1[Q]=[K,V];break}}}return J},{}),Q$1}var J$1,JM6,Q$1;var WM6=()=>{};class ZM6{constructor(Y,X,G=[]){this.coercers=Y,this.stackParser=X,this.modifiers=G}buildFromUnknown(Y,X={}){let J=X&&X.mechanism||{handled:!0,type:"generic"},Z=this.buildCoercingContext(J,X,0).apply(Y),W=this.buildParsingContext(X),$=this.parseStacktrace(Z,W);return{$exception_list:this.convertToExceptionList($,J),$exception_level:"error"}}async modifyFrames(Y){for(let X of Y)if(X.stacktrace&&X.stacktrace.frames&&rZ1(X.stacktrace.frames))X.stacktrace.frames=await this.applyModifiers(X.stacktrace.frames);return Y}coerceFallback(Y){return{type:"Error",value:"Unknown error",stack:Y.syntheticException?.stack,synthetic:!0}}parseStacktrace(Y,X){let G;if(Y.cause!=null)G=this.parseStacktrace(Y.cause,X);let J;if(Y.stack!=""&&Y.stack!=null)J=this.applyChunkIds(this.stackParser(Y.stack,Y.synthetic?X.skipFirstLines:0),X.chunkIdMap);return{...Y,cause:G,stack:J}}applyChunkIds(Y,X){return Y.map((G)=>{if(G.filename&&X)G.chunk_id=X[G.filename];return G})}applyCoercers(Y,X){for(let G of this.coercers)if(G.match(Y))return G.coerce(Y,X);return this.coerceFallback(X)}async applyModifiers(Y){let X=Y;for(let G of this.modifiers)X=await G(X);return X}convertToExceptionList(Y,X){let G={type:Y.type,value:Y.value,mechanism:{type:X.type??"generic",handled:X.handled??!0,synthetic:Y.synthetic??!1}};if(Y.stack)G.stacktrace={type:"raw",frames:Y.stack};let J=[G];if(Y.cause!=null)J.push(...this.convertToExceptionList(Y.cause,{...X,handled:!0}));return J}buildParsingContext(Y){return{chunkIdMap:QM6(this.stackParser),skipFirstLines:Y.skipFirstLines??1}}buildCoercingContext(Y,X,G=0){let J=(Z,W)=>{if(!(W<=c$5))return;{let $=this.buildCoercingContext(Y,X,W);return this.applyCoercers(Z,$)}};return{...X,syntheticException:G==0?X.syntheticException:void 0,mechanism:Y,apply:(Z)=>J(Z,G),next:(Z)=>J(Z,G+1)}}}var c$5=4;var $M6=w(()=>{jW();WM6()});function JB(Y,X,G,J,Q){let Z={platform:Y,filename:X,function:G==="<anonymous>"?wJ:G,in_app:!0};if(!xk(J))Z.lineno=J;if(!xk(Q))Z.colno=Q;return Z}var wJ="?";var Fw=w(()=>{jW()});var W$1=(Y,X)=>{let G=Y.indexOf("safari-extension")!==-1,J=Y.indexOf("safari-web-extension")!==-1;return G||J?[Y.indexOf("@")!==-1?Y.split("@")[0]:wJ,G?`safari-extension:${X}`:`safari-web-extension:${X}`]:[Y,X]};var Xn1=w(()=>{Fw()});var p$5,n$5,i$5,Gn1=(Y,X)=>{let G=p$5.exec(Y);if(G){let[,Q,Z,W]=G;return JB(X,Q,wJ,+Z,+W)}let J=n$5.exec(Y);if(J){if(J[2]&&J[2].indexOf("eval")===0){let $=i$5.exec(J[2]);if($)J[2]=$[1],J[3]=$[2],J[4]=$[3]}let[Z,W]=W$1(J[1]||wJ,J[2]);return JB(X,W,Z,J[3]?+J[3]:void 0,J[4]?+J[4]:void 0)}};var HM6=w(()=>{Fw();Xn1();p$5=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,n$5=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,i$5=/\((\S*)(?::(\d+))(?::(\d+))\)/});var a$5,r$5,Jn1=(Y,X)=>{let G=a$5.exec(Y);if(G){if(G[3]&&G[3].indexOf(" > eval")>-1){let W=r$5.exec(G[3]);if(W)G[1]=G[1]||"eval",G[3]=W[1],G[4]=W[2],G[5]=""}let Q=G[3],Z=G[1]||wJ;return[Z,Q]=W$1(Z,Q),JB(X,Q,Z,G[4]?+G[4]:void 0,G[5]?+G[5]:void 0)}};var KM6=w(()=>{Fw();Xn1();a$5=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,r$5=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var o$5,FM6=(Y,X)=>{let G=o$5.exec(Y);return G?JB(X,G[2],G[1]||wJ,+G[3],G[4]?+G[4]:void 0):void 0};var VM6=w(()=>{Fw();o$5=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var s$5,UM6=(Y,X)=>{let G=s$5.exec(Y);return G?JB(X,G[2],G[3]||wJ,+G[1]):void 0},t$5,BM6=(Y,X)=>{let G=t$5.exec(Y);return G?JB(X,G[5],G[3]||G[4]||wJ,+G[1],+G[2]):void 0};var OM6=w(()=>{Fw();s$5=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,t$5=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function XH5(Y,X=!1){return!(X||Y&&!Y.startsWith("/")&&!Y.match(/^[A-Z]:/)&&!Y.startsWith(".")&&!Y.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&Y!==void 0&&!Y.includes("node_modules/")}function NM6(Y){return parseInt(Y||"",10)||void 0}var e$5,YH5,zM6=(Y,X)=>{let G=Y.match(YH5);if(G){let J,Q,Z,W,$;if(G[1]){Z=G[1];let V=Z.lastIndexOf(".");if(Z[V-1]===".")V--;if(V>0){J=Z.slice(0,V),Q=Z.slice(V+1);let U=J.indexOf(".Module");if(U>0)Z=Z.slice(U+1),J=J.slice(0,U)}W=void 0}if(Q)W=J,$=Q;if(Q==="<anonymous>")$=void 0,Z=void 0;if(Z===void 0)$=$||wJ,Z=W?`${W}.${$}`:$;let H=G[2]?.startsWith("file://")?G[2].slice(7):G[2],K=G[5]==="native";if(H?.match(/\/[A-Z]:/))H=H.slice(1);if(!H&&G[5]&&!K)H=G[5];return{filename:H?decodeURI(H):void 0,module:void 0,function:Z,lineno:NM6(G[3]),colno:NM6(G[4]),in_app:XH5(H||"",K),platform:X}}if(Y.match(e$5))return{filename:Y,platform:X}};var qM6=w(()=>{Fw();e$5=/^\s*[-]{4,}$/,YH5=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function wM6(Y){if(!Y.length)return[];let X=Array.from(Y);return X.reverse(),X.slice(0,DM6).map((G)=>({...G,filename:G.filename||GH5(X).filename,function:G.function||wJ}))}function GH5(Y){return Y[Y.length-1]||{}}function JH5(){return AM6("web:javascript",Gn1,Jn1)}function AM6(Y,...X){return(G,J=0)=>{let Q=[],Z=G.split(`
1640
1640
  `);for(let W=J;W<Z.length;W++){let $=Z[W];if($.length>1024)continue;let H=LM6.test($)?$.replace(LM6,"$1"):$;if(!H.match(/\S*Error: /)){for(let K of X){let V=K(H,Y);if(V){Q.push(V);break}}if(Q.length>=DM6)break}}return wM6(Q)}}var LM6,DM6=50;var MM6=w(()=>{Fw();HM6();KM6();VM6();OM6();qM6();LM6=/\(error: (.*)\)/});class EM6{match(Y){return this.isDOMException(Y)||this.isDOMError(Y)}coerce(Y,X){let G=Hw(Y.stack);return{type:this.getType(Y),value:this.getValue(Y),stack:G?Y.stack:void 0,cause:Y.cause?X.next(Y.cause):void 0,synthetic:!1}}getType(Y){return this.isDOMError(Y)?"DOMError":"DOMException"}getValue(Y){let X=Y.name||(this.isDOMError(Y)?"DOMError":"DOMException");return Y.message?`${X}: ${Y.message}`:X}isDOMException(Y){return eP(Y,"DOMException")}isDOMError(Y){return eP(Y,"DOMError")}}var PM6=w(()=>{jW()});class TM6{match(Y){return lp1(Y)}coerce(Y,X){return{type:this.getType(Y),value:this.getMessage(Y,X),stack:this.getStack(Y),cause:Y.cause?X.next(Y.cause):void 0,synthetic:!1}}getType(Y){return Y.name||Y.constructor.name}getMessage(Y,X){let G=Y.message;if(G.error&&typeof G.error.message=="string")return String(G.error.message);return String(G)}getStack(Y){return Y.stacktrace||Y.stack||void 0}}var RM6=w(()=>{jW()});class CM6{constructor(){}match(Y){return IA6(Y)&&Y.error!=null}coerce(Y,X){let G=X.apply(Y.error);if(!G)return{type:"ErrorEvent",value:Y.message,stack:X.syntheticException?.stack,synthetic:!0};return G}}var SM6=w(()=>{jW()});class jM6{match(Y){return typeof Y=="string"}coerce(Y,X){let[G,J]=this.getInfos(Y);return{type:G??"Error",value:J??Y,stack:X.syntheticException?.stack,synthetic:!0}}getInfos(Y){let X="Error",G=Y,J=Y.match(QH5);if(J)X=J[1],G=J[2];return[X,G]}}var QH5;var IM6=w(()=>{QH5=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i});var _M6;var fM6=w(()=>{_M6=["fatal","error","warning","log","info","debug"]});function Z$1(Y,X=40){let G=Object.keys(Y);if(G.sort(),!G.length)return"[object has no keys]";for(let J=G.length;J>0;J--){let Q=G.slice(0,J).join(", ");if(!(Q.length>X)){if(J===G.length)return Q;return Q.length<=X?Q:`${Q.slice(0,X)}...`}}return""}var Qn1=()=>{};class kM6{match(Y){return typeof Y=="object"&&Y!==null}coerce(Y,X){let G=this.getErrorPropertyFromObject(Y);if(G)return X.apply(G);return{type:this.getType(Y),value:this.getValue(Y),stack:X.syntheticException?.stack,level:this.isSeverityLevel(Y.level)?Y.level:"error",synthetic:!0}}getType(Y){return gk(Y)?Y.constructor.name:"Error"}getValue(Y){if("name"in Y&&typeof Y.name=="string"){let J=`'${Y.name}' captured as exception`;if("message"in Y&&typeof Y.message=="string")J+=` with message: '${Y.message}'`;return J}if("message"in Y&&typeof Y.message=="string")return Y.message;let X=this.getObjectClassName(Y),G=Z$1(Y);return`${X&&X!=="Object"?`'${X}'`:"Object"} captured as exception with keys: ${G}`}isSeverityLevel(Y){return Hw(Y)&&!jA6(Y)&&_M6.indexOf(Y)>=0}getErrorPropertyFromObject(Y){for(let X in Y)if(Object.prototype.hasOwnProperty.call(Y,X)){let G=Y[X];if(rA6(G))return G}}getObjectClassName(Y){try{let X=Object.getPrototypeOf(Y);return X?X.constructor.name:void 0}catch(X){return}}}var vM6=w(()=>{jW();fM6();Qn1()});class yM6{match(Y){return gk(Y)}coerce(Y,X){let G=Y.constructor.name;return{type:G,value:`${G} captured as exception with keys: ${Z$1(Y)}`,stack:X.syntheticException?.stack,synthetic:!0}}}var hM6=w(()=>{jW();Qn1()});class bM6{match(Y){return oZ1(Y)}coerce(Y,X){return{type:"Error",value:`Primitive value captured as exception: ${String(Y)}`,stack:X.syntheticException?.stack,synthetic:!0}}}var xM6=w(()=>{jW()});class gM6{match(Y){return eP(Y,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(Y)}isCustomEventWrappingRejection(Y){if(!gk(Y))return!1;try{let X=Y.detail;return X!=null&&typeof X=="object"&&"reason"in X}catch{return!1}}coerce(Y,X){let G=this.getUnhandledRejectionReason(Y);if(oZ1(G))return{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(G)}`,stack:X.syntheticException?.stack,synthetic:!0};return X.apply(G)}getUnhandledRejectionReason(Y){try{if("reason"in Y)return Y.reason;if("detail"in Y&&Y.detail!=null&&typeof Y.detail=="object"&&"reason"in Y.detail)return Y.detail.reason}catch{}return Y}}var uM6=w(()=>{jW()});var mM6=w(()=>{PM6();RM6();SM6();IM6();vM6();hM6();xM6();uM6()});class lM6{constructor(Y){this._maxSize=Y,this._cache=new Map}get(Y){let X=this._cache.get(Y);if(X===void 0)return;return this._cache.delete(Y),this._cache.set(Y,X),X}set(Y,X){this._cache.set(Y,X)}reduce(){while(this._cache.size>=this._maxSize){let Y=this._cache.keys().next().value;if(Y)this._cache.delete(Y)}}}var dM6=()=>{};function Wn1(Y){if(!Y)return{...$$1};return{enabled:Y.enabled??$$1.enabled,max_bytes:$H5(Y.max_bytes,$$1.max_bytes)}}function ZH5(Y){if(!Y)return{sanitizedProperties:{},droppedKeys:[]};let X=[];return{sanitizedProperties:Object.keys(Y).reduce((J,Q)=>{if(WH5.has(Q))return X.push(Q),J;return J[Q]=Y[Q],J},{}),droppedKeys:X}}class cM6{constructor(Y){this._entries=[],this._totalBytes=0,this._config=Wn1(Y)}setConfig(Y){this._config=Wn1(Y),this._trimToMaxBytes()}add(Y){let X=HH5(Y);if(!X)return;let G=pM6(X.json);if(G>this._config.max_bytes)return;this._entries.push({step:X.step,bytes:G}),this._totalBytes+=G,this._trimToMaxBytes()}getAttachable(){return this._entries.map((Y)=>Y.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){while(this._totalBytes>this._config.max_bytes&&this._entries.length>0){let Y=this._entries.shift();if(Y)this._totalBytes-=Y.bytes}}}function $H5(Y,X){if(!Fi(Y)||Y===1/0||Y===-1/0)return X;let G=Math.floor(Y);if(G<0)return X;return G}function HH5(Y){let X=KH5(Y);if(!X)return;try{let G=JSON.parse(X);if(!Ki(G))return;let J=G,Q=J[zi.MESSAGE],Z=J[zi.TIMESTAMP];if(!Hw(Q)||Q.trim().length===0)return;if(!Hw(Z)&&!Fi(Z))return;return{step:J,json:X}}catch{return}}function KH5(Y){let X=new WeakSet;try{return JSON.stringify(Y,(G,J)=>{if(typeof J=="bigint")return J.toString();if(typeof J=="function"||typeof J=="symbol")return;if(J instanceof Date)return J.toISOString();if(J instanceof Error)return{name:J.name,message:J.message,stack:J.stack};if(J&&typeof J=="object"){if(X.has(J))return"[Circular]";X.add(J)}return J})}catch{return}}function pM6(Y){if(typeof TextEncoder<"u")return new TextEncoder().encode(Y).length;let X=encodeURIComponent(Y),G=0;for(let J=0;J<X.length;J++)if(X[J]==="%")G+=1,J+=2;else G+=1;return G}var zi,WH5,$$1;var nM6=w(()=>{jW();zi={MESSAGE:"$message",TIMESTAMP:"$timestamp"},WH5=new Set([zi.MESSAGE,zi.TIMESTAMP]),$$1={enabled:!0,max_bytes:32768}});var y3={};I0(y3,{winjsStackLineParser:()=>FM6,stripReservedExceptionStepFields:()=>ZH5,reverseAndStripFrames:()=>wM6,resolveExceptionStepsConfig:()=>Wn1,opera11StackLineParser:()=>BM6,opera10StackLineParser:()=>UM6,nodeStackLineParser:()=>zM6,getUtf8ByteLength:()=>pM6,geckoStackLineParser:()=>Jn1,createStackParser:()=>AM6,createDefaultStackParser:()=>JH5,chromeStackLineParser:()=>Gn1,StringCoercer:()=>jM6,ReduceableCache:()=>lM6,PromiseRejectionEventCoercer:()=>gM6,PrimitiveCoercer:()=>bM6,ObjectCoercer:()=>kM6,ExceptionStepsBuffer:()=>cM6,EventCoercer:()=>yM6,ErrorPropertiesBuilder:()=>ZM6,ErrorEventCoercer:()=>CM6,ErrorCoercer:()=>TM6,EXCEPTION_STEP_INTERNAL_FIELDS:()=>zi,DOMExceptionCoercer:()=>EM6,DEFAULT_EXCEPTION_STEPS_CONFIG:()=>$$1});var iM6=w(()=>{$M6();MM6();mM6();dM6();nM6()});var XT=w(()=>{nZ1();up1();oA6();Bi();sA6();iM6();jW();XM6();Yn1();GM6();bk()});import{createReadStream as FH5}from"fs";import{createInterface as VH5}from"readline";async function sM6(Y){let X={};for(let Q=Y.length-1;Q>=0;Q--){let Z=Y[Q],W=Z?.filename;if(!Z||typeof W!="string"||typeof Z.lineno!="number"||qH5(W)||LH5(Z))continue;if(!X[W])X[W]=[];X[W].push(Z.lineno)}let G=Object.keys(X);if(G.length==0)return Y;let J=[];for(let Q of G){if(oM6.get(Q))continue;let Z=X[Q];if(!Z)continue;Z.sort((H,K)=>H-K);let W=wH5(Z);if(W.every((H)=>DH5(Q,H)))continue;let $=AH5(H$1,Q,{});J.push(OH5(Q,W,$))}if(await Promise.all(J).catch(()=>{}),Y&&Y.length>0)NH5(Y,H$1);return H$1.reduce(),Y}function OH5(Y,X,G){return new Promise((J)=>{let Q=FH5(Y),Z=VH5({input:Q});function W(){Q.destroy(),J()}let $=0,H=0,K=X[H];if(K===void 0)return void W();let V=K[0],U=K[1];function B(){oM6.set(Y,1),Z.close(),Z.removeAllListeners(),W()}Q.on("error",B),Z.on("error",B),Z.on("close",W),Z.on("line",(O)=>{if($++,$<V)return;if(G[$]=MH5(O,0),$>=U){if(H===X.length-1){Z.close(),Z.removeAllListeners();return}H++;let N=X[H];if(N===void 0){Z.close(),Z.removeAllListeners();return}V=N[0],U=N[1]}})})}function NH5(Y,X){for(let G of Y)if(G.filename&&G.context_line===void 0&&typeof G.lineno=="number"){let J=X.get(G.filename);if(J===void 0)continue;zH5(G.lineno,G,J)}}function zH5(Y,X,G){if(X.lineno===void 0||G===void 0)return;X.pre_context=[];for(let Q=tM6(Y);Q<Y;Q++){let Z=G[Q];if(Z===void 0)return void aM6(X);X.pre_context.push(Z)}if(G[Y]===void 0)return void aM6(X);X.context_line=G[Y];let J=eM6(Y);X.post_context=[];for(let Q=Y+1;Q<=J;Q++){let Z=G[Q];if(Z===void 0)break;X.post_context.push(Z)}}function aM6(Y){delete Y.pre_context,delete Y.context_line,delete Y.post_context}function qH5(Y){return Y.startsWith("node:")||Y.endsWith(".min.js")||Y.endsWith(".min.cjs")||Y.endsWith(".min.mjs")||Y.startsWith("data:")}function LH5(Y){if(Y.lineno!==void 0&&Y.lineno>BH5)return!0;if(Y.colno!==void 0&&Y.colno>UH5)return!0;return!1}function DH5(Y,X){let G=H$1.get(Y);if(G===void 0)return!1;for(let J=X[0];J<=X[1];J++)if(G[J]===void 0)return!1;return!0}function wH5(Y){if(!Y.length)return[];let X=0,G=Y[0];if(typeof G!="number")return[];let J=rM6(G),Q=[];while(!0){if(X===Y.length-1){Q.push(J);break}let Z=Y[X+1];if(typeof Z!="number")break;if(Z<=J[1])J[1]=Z+Zn1;else Q.push(J),J=rM6(Z);X++}return Q}function rM6(Y){return[tM6(Y),eM6(Y)]}function tM6(Y){return Math.max(1,Y-Zn1)}function eM6(Y){return Y+Zn1}function AH5(Y,X,G){let J=Y.get(X);if(J===void 0)return Y.set(X,G),G;return J}function MH5(Y,X){let G=Y,J=G.length;if(J<=150)return G;if(X>J)X=J;let Q=Math.max(X-60,0);if(Q<5)Q=0;let Z=Math.min(Q+140,J);if(Z>J-5)Z=J;if(Z===J)Q=Math.max(Z-140,0);if(G=G.slice(Q,Z),Q>0)G=`...${G}`;if(Z<J)G+="...";return G}var H$1,oM6,Zn1=7,UH5=1000,BH5=1e4;var YE6=w(()=>{XT();H$1=new y3.ReduceableCache(25),oM6=new y3.ReduceableCache(20)});import{isAbsolute as EH5,relative as PH5,sep as TH5}from"path";function XE6(Y=process.cwd()){let X=TH5==="\\",G=(Q)=>X?Q.replace(/\\/g,"/"):Q,J=G(Y);return async(Q)=>{for(let Z of Q)if(!(!Z.filename||Z.filename.startsWith("node:")||Z.filename.startsWith("data:"))){if(EH5(Z.filename))Z.filename=G(PH5(J,G(Z.filename)))}return Q}}var GE6=()=>{};function RH5(Y,X){let G=!1;return Object.assign((J)=>{let Z=global.process.listeners("uncaughtException").filter((W)=>W.name!=="domainUncaughtExceptionClear"&&W._posthogErrorHandler!==!0).length===0;if(Y(J,{mechanism:{type:"onuncaughtexception",handled:!1}}),!G&&Z)G=!0,X(J)},{_posthogErrorHandler:!0})}function JE6(Y,X){globalThis.process?.on("uncaughtException",RH5(Y,X))}function QE6(Y){globalThis.process?.on("unhandledRejection",(X)=>Y(X,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var WE6=()=>{};class DH{constructor(Y,X,G){this.client=Y,this._exceptionAutocaptureEnabled=X.enableExceptionAutocapture||!1,this._logger=G,this._rateLimiter=new cp1({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(Y){return Ki(Y)&&"__posthog_previously_captured_error"in Y&&Y.__posthog_previously_captured_error===!0}static async buildEventMessage(Y,X,G,J){let Q={...J},Z=this.errorPropertiesBuilder.buildFromUnknown(Y,X);return Z.$exception_list=await this.errorPropertiesBuilder.modifyFrames(Z.$exception_list),{event:"$exception",distinctId:G,properties:{...Z,...Q},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){if(this.isEnabled())JE6(this.onException.bind(this),this.onFatalError.bind(this)),QE6(this.onException.bind(this))}onException(Y,X){this.client.addPendingPromise((async()=>{if(!DH.isPreviouslyCapturedError(Y)){let G=await DH.buildEventMessage(Y,X),Q=G.properties?.$exception_list[0]?.type??"Exception";if(this._rateLimiter.consumeRateLimit(Q))return void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:Q});return this.client.capture(G)}})())}async onFatalError(Y){console.error(Y),await this.client.shutdown(CH5),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}}var CH5=2000;var K$1=w(()=>{WE6();XT()});var ZE6="5.30.5";var $E6=()=>{};var qi;var $n1=w(()=>{qi={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"}});async function HE6(Y){let X=globalThis.crypto?.subtle;if(!X)throw Error("SubtleCrypto API not available");let G=await X.digest("SHA-1",new TextEncoder().encode(Y));return Array.from(new Uint8Array(G)).map((Q)=>Q.toString(16).padStart(2,"0")).join("")}var KE6=()=>{};class Hn1{constructor({pollingInterval:Y,personalApiKey:X,projectApiKey:G,timeout:J,host:Q,customHeaders:Z,...W}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=Y,this.personalApiKey=X,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=J,this.projectApiKey=G,this.host=Q,this.poller=void 0,this.fetch=W.fetch||fetch,this.onError=W.onError,this.customHeaders=Z,this.onLoad=W.onLoad,this.cacheProvider=W.cacheProvider,this.strictLocalEvaluation=W.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(Y=!0){this.debugMode=Y}logMsgIfDebug(Y){if(this.debugMode)Y()}createEvaluationContext(Y,X={},G={},J={},Q={}){return{distinctId:Y,groups:X,personProperties:G,groupProperties:J,evaluationCache:Q}}async getFeatureFlag(Y,X,G={},J={},Q={}){await this.loadFeatureFlags();let Z,W;if(!this.loadedSuccessfullyOnce)return Z;if(W=this.featureFlagsByKey[Y],W!==void 0){let $=this.createEvaluationContext(X,G,J,Q);try{Z=(await this.computeFlagAndPayloadLocally(W,$)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${Y} -> ${Z}`))}catch(H){if(H instanceof QB||H instanceof R5)this.logMsgIfDebug(()=>console.debug(`${H.name} when computing flag locally: ${Y}: ${H.message}`));else if(H instanceof Error)this.onError?.(Error(`Error computing flag locally: ${Y}: ${H}`))}}return Z}async getAllFlagsAndPayloads(Y,X){await this.loadFeatureFlags();let G={},J={},Q=this.featureFlags.length==0,Z=X?X.map(($)=>this.featureFlagsByKey[$]).filter(Boolean):this.featureFlags,W={...Y,evaluationCache:Y.evaluationCache??{}};return await Promise.all(Z.map(async($)=>{try{let{value:H,payload:K}=await this.computeFlagAndPayloadLocally($,W);if(G[$.key]=H,K)J[$.key]=K}catch(H){if(H instanceof QB||H instanceof R5)this.logMsgIfDebug(()=>console.debug(`${H.name} when computing flag locally: ${$.key}: ${H.message}`));else if(H instanceof Error)this.onError?.(Error(`Error computing flag locally: ${$.key}: ${H}`));Q=!0}})),{response:G,payloads:J,fallbackToFlags:Q}}async computeFlagAndPayloadLocally(Y,X,G={}){let{matchValue:J,skipLoadCheck:Q=!1}=G;if(!Q)await this.loadFeatureFlags();if(!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let Z;Z=J!==void 0?J:await this.computeFlagValueLocally(Y,X);let W=this.getFeatureFlagPayload(Y.key,Z);return{value:Z,payload:W}}async computeFlagValueLocally(Y,X){let{distinctId:G,groups:J,personProperties:Q,groupProperties:Z}=X;if(Y.ensure_experience_continuity)throw new R5("Flag has experience continuity enabled");if(!Y.active)return!1;let $=(Y.filters||{}).aggregation_group_type_index;if($!=null){let H=this.groupTypeMapping[String($)];if(!H)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${$} for feature flag ${Y.key}`)),new R5("Flag has unknown group type index");if(!(H in J))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${Y.key} without group names passed in`)),!1;if(Y.bucketing_identifier==="device_id"&&(Q?.$device_id===void 0||Q?.$device_id===null||Q?.$device_id===""))this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${Y.key}`));let K=Z[H];return await this.matchFeatureFlagProperties(Y,J[H],K,X)}{let H=this.getBucketingValueForFlag(Y,G,Q);if(H===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${Y.key} without $device_id, falling back to server evaluation`)),new R5(`Can't compute feature flag: ${Y.key} without $device_id`);return await this.matchFeatureFlagProperties(Y,H,Q,X)}}getBucketingValueForFlag(Y,X,G){if(Y.filters?.aggregation_group_type_index!=null)return X;if(Y.bucketing_identifier==="device_id"){let J=G?.$device_id;if(J==null||J==="")return;return J}return X}getFeatureFlagPayload(Y,X){let G=null;if(X!==!1&&X!=null){if(typeof X=="boolean")G=this.featureFlagsByKey?.[Y]?.filters?.payloads?.[X.toString()]||null;else if(typeof X=="string")G=this.featureFlagsByKey?.[Y]?.filters?.payloads?.[X]||null;if(G!=null){if(typeof G=="object")return G;if(typeof G=="string")try{return JSON.parse(G)}catch{}return G}}return null}async evaluateFlagDependency(Y,X,G){let{evaluationCache:J}=G,Q=Y.key;if(!this.featureFlagsByKey)throw new R5("Feature flags not available for dependency evaluation");if(!("dependency_chain"in Y))throw new R5(`Flag dependency property for '${Q}' is missing required 'dependency_chain' field`);let Z=Y.dependency_chain;if(!Array.isArray(Z))throw new R5(`Flag dependency property for '${Q}' has an invalid 'dependency_chain' (expected array, got ${typeof Z})`);if(Z.length===0)throw new R5(`Circular dependency detected for flag '${Q}' (empty dependency chain)`);for(let $ of Z){if(!($ in J)){let K=this.featureFlagsByKey[$];if(K)if(K.active)try{let V=await this.computeFlagValueLocally(K,G);J[$]=V}catch(V){throw new R5(`Error evaluating flag dependency '${$}' for flag '${Q}': ${V}`)}else J[$]=!1;else throw new R5(`Missing flag dependency '${$}' for flag '${Q}'`)}if(J[$]==null)throw new R5(`Dependency '${$}' could not be evaluated`)}let W=J[Q];return this.flagEvaluatesToExpectedValue(Y.value,W)}flagEvaluatesToExpectedValue(Y,X){if(typeof Y=="boolean")return Y===X||typeof X=="string"&&X!==""&&Y===!0;if(typeof Y=="string")return X===Y;return!1}async matchFeatureFlagProperties(Y,X,G,J){let Q=Y.filters||{},Z=Q.groups||[],W=!1,$;for(let H of Z)try{if(await this.isConditionMatch(Y,X,H,G,J)){let K=H.variant,V=Q.multivariate?.variants||[];$=K&&V.some((U)=>U.key===K)?K:await this.getMatchingVariant(Y,X)||!0;break}}catch(K){if(K instanceof QB)throw K;if(K instanceof R5)W=!0;else throw K}if($!==void 0)return $;if(W)throw new R5("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(Y,X,G,J,Q){let Z=G.rollout_percentage,W=($)=>{this.logMsgIfDebug(()=>console.warn($))};if((G.properties||[]).length>0){for(let $ of G.properties){let H=$.type,K=!1;if(K=H==="cohort"?OE6($,J,this.cohorts,this.debugMode):H==="flag"?await this.evaluateFlagDependency($,J,Q):BE6($,J,W),!K)return!1}if(Z==null)return!0}if(Z!=null&&await FE6(Y.key,X)>Z/100)return!1;return!0}async getMatchingVariant(Y,X){let G=await FE6(Y.key,X,"variant"),J=this.variantLookupTable(Y).find((Q)=>G>=Q.valueMin&&G<Q.valueMax);if(J)return J.key}variantLookupTable(Y){let X=[],G=0,J=0;return((Y.filters||{}).multivariate?.variants||[]).forEach((W)=>{J=G+W.rollout_percentage/100,X.push({valueMin:G,valueMax:J,key:W.key}),G=J}),X}updateFlagState(Y){this.featureFlags=Y.flags,this.featureFlagsByKey=Y.flags.reduce((X,G)=>(X[G.key]=G,X),{}),this.groupTypeMapping=Y.groupTypeMapping,this.cohorts=Y.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(Y){if(this.strictLocalEvaluation)return;let X=Y.filter((G)=>G.ensure_experience_continuity);if(X.length>0)console.warn(`[PostHog] You are using local evaluation but ${X.length} flag(s) have experience continuity enabled: ${X.map((G)=>G.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(Y){if(!this.cacheProvider)return!1;try{let X=await this.cacheProvider.getFlagDefinitions();if(X)return this.updateFlagState(X),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${Y} (${X.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(X.flags),!0;return!1}catch(X){return this.onError?.(Error(`Failed to load from cache: ${X}`)),!1}}async loadFeatureFlags(Y=!1){if(this.loadedSuccessfullyOnce&&!Y)return;if(!Y&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt)return void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period"));if(!this.loadingPromise)this.loadingPromise=this._loadFeatureFlags().catch((X)=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${X}`))).finally(()=>{this.loadingPromise=void 0});return this.loadingPromise}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){if(!this.shouldBeginExponentialBackoff)return this.pollingInterval;return Math.min(SH5,this.pollingInterval*2**this.backOffCount)}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){if(this.poller)clearTimeout(this.poller),this.poller=void 0;this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let Y=!0;if(this.cacheProvider)try{Y=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(G){this.onError?.(Error(`Error in shouldFetchFlagDefinitions: ${G}`))}if(!Y){if(await this.loadFromCache("Loaded flags from cache (skipped fetch)"))return;if(this.loadedSuccessfullyOnce)return}let X=await this._requestFeatureFlagDefinitions();if(!X)return;switch(X.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=X.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new dk(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new dk(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new dk(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let G=await X.json()??{};if(!("flags"in G))return void this.onError?.(Error(`Invalid response when getting feature flags: ${JSON.stringify(G)}`));this.flagsEtag=X.headers?.get("ETag")??void 0;let J={flags:G.flags??[],groupTypeMapping:G.group_type_mapping||{},cohorts:G.cohorts||{}};if(this.updateFlagState(J),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&Y)try{await this.cacheProvider.onFlagDefinitionsReceived(J)}catch(Q){this.onError?.(Error(`Failed to store in cache: ${Q}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(J.flags);break}default:return}}catch(Y){if(Y instanceof dk)this.onError?.(Y)}}getPersonalApiKeyRequestOptions(Y="GET",X){let G={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};if(X)G["If-None-Match"]=X;return{method:Y,headers:G}}_requestFeatureFlagDefinitions(){let Y=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,X=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),G=null;if(this.timeout&&typeof this.timeout=="number"){let J=new AbortController;G=Qz(()=>{J.abort()},this.timeout),X.signal=J.signal}try{let J=this.fetch;return J(Y,X)}finally{clearTimeout(G)}}async stopPoller(Y=30000){if(clearTimeout(this.poller),this.cacheProvider)try{let X=this.cacheProvider.shutdown();if(X instanceof Promise)await Promise.race([X,new Promise((G,J)=>setTimeout(()=>J(Error(`Cache shutdown timeout after ${Y}ms`)),Y))])}catch(X){this.onError?.(Error(`Error during cache shutdown: ${X}`))}}}async function FE6(Y,X,G=""){let J=await HE6(`${Y}.${X}${G}`);return parseInt(J.slice(0,15),16)/jH5}function BE6(Y,X,G){let{key:J,value:Q}=Y,Z=Y.operator||"exact";if(J in X){if(Z==="is_not_set")throw new R5("Operator is_not_set is not supported")}else throw new R5(`Property ${J} not found in propertyValues`);let W=X[J];if(W==null&&!IH5.includes(Z)){if(G)G(`Property ${J} cannot have a value of null/undefined with the ${Z} operator`);return!1}function $(K,V){if(Array.isArray(K))return K.map((U)=>String(U).toLowerCase()).includes(String(V).toLowerCase());return String(K).toLowerCase()===String(V).toLowerCase()}function H(K,V,U){if(U==="gt")return K>V;if(U==="gte")return K>=V;if(U==="lt")return K<V;if(U==="lte")return K<=V;throw Error(`Invalid operator: ${U}`)}switch(Z){case"exact":return $(Q,W);case"is_not":return!$(Q,W);case"is_set":return J in X;case"icontains":return String(W).toLowerCase().includes(String(Q).toLowerCase());case"not_icontains":return!String(W).toLowerCase().includes(String(Q).toLowerCase());case"regex":return VE6(String(Q))&&String(W).match(String(Q))!==null;case"not_regex":return VE6(String(Q))&&String(W).match(String(Q))===null;case"gt":case"gte":case"lt":case"lte":{let K=typeof Q=="number"?Q:null;if(typeof Q=="string")try{K=parseFloat(Q)}catch(V){}if(K==null||W==null)return H(String(W),String(Q),Z);if(typeof W=="string")return H(W,String(Q),Z);return H(W,K,Z)}case"is_date_after":case"is_date_before":{if(typeof Q=="boolean")throw new R5("Date operations cannot be performed on boolean values");let K=yH5(String(Q));if(K==null)K=UE6(Q);if(K==null)throw new R5(`Invalid date: ${Q}`);let V=UE6(W);if(["is_date_before"].includes(Z))return V<K;return V>K}case"semver_eq":return wH(AJ(String(W)),AJ(String(Q)))===0;case"semver_neq":return wH(AJ(String(W)),AJ(String(Q)))!==0;case"semver_gt":return wH(AJ(String(W)),AJ(String(Q)))>0;case"semver_gte":return wH(AJ(String(W)),AJ(String(Q)))>=0;case"semver_lt":return wH(AJ(String(W)),AJ(String(Q)))<0;case"semver_lte":return wH(AJ(String(W)),AJ(String(Q)))<=0;case"semver_tilde":{let K=AJ(String(W)),{lower:V,upper:U}=fH5(String(Q));return wH(K,V)>=0&&wH(K,U)<0}case"semver_caret":{let K=AJ(String(W)),{lower:V,upper:U}=kH5(String(Q));return wH(K,V)>=0&&wH(K,U)<0}case"semver_wildcard":{let K=AJ(String(W)),{lower:V,upper:U}=vH5(String(Q));return wH(K,V)>=0&&wH(K,U)<0}default:throw new R5(`Unknown operator: ${Z}`)}}function _H5(Y,X){if(!(Y in X))throw new QB(`cohort ${Y} not found in local cohorts - likely a static cohort that requires server evaluation`)}function OE6(Y,X,G,J=!1){let Q=String(Y.value);_H5(Q,G);let Z=G[Q];return NE6(Z,X,G,J)}function NE6(Y,X,G,J=!1){if(!Y)return!0;let{type:Q,values:Z}=Y;if(!Z||Z.length===0)return!0;let W=!1;if("values"in Z[0]){for(let $ of Z)try{let H=NE6($,X,G,J);if(Q==="AND"){if(!H)return!1}else if(H)return!0}catch(H){if(H instanceof QB)throw H;if(H instanceof R5){if(J)console.debug(`Failed to compute property ${$} locally: ${H}`);W=!0}else throw H}if(W)throw new R5("Can't match cohort without a given cohort property value");return Q==="AND"}for(let $ of Z)try{let H;if($.type==="cohort")H=OE6($,X,G,J);else if($.type==="flag"){if(J)console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${$.key||"unknown"}'`);continue}else H=BE6($,X);let K=$.negation||!1;if(Q==="AND"){if(!H&&!K)return!1;if(H&&K)return!1}else{if(H&&!K)return!0;if(!H&&K)return!0}}catch(H){if(H instanceof QB)throw H;if(H instanceof R5){if(J)console.debug(`Failed to compute property ${$} locally: ${H}`);W=!0}else throw H}if(W)throw new R5("can't match cohort without a given cohort property value");return Q==="AND"}function VE6(Y){try{return new RegExp(Y),!0}catch(X){return!1}}function AJ(Y){let G=String(Y).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!G||G.startsWith("."))throw new R5(`Invalid semver: ${Y}`);let J=G.split("."),Q=(H)=>{if(H===void 0||H==="")return 0;if(!/^\d+$/.test(H))throw new R5(`Invalid semver: ${Y}`);return parseInt(H,10)},Z=Q(J[0]),W=Q(J[1]),$=Q(J[2]);return[Z,W,$]}function wH(Y,X){for(let G=0;G<3;G++){if(Y[G]<X[G])return-1;if(Y[G]>X[G])return 1}return 0}function fH5(Y){let X=AJ(Y),G=[X[0],X[1],X[2]],J=[X[0],X[1]+1,0];return{lower:G,upper:J}}function kH5(Y){let X=AJ(Y),[G,J,Q]=X,Z=[G,J,Q],W;return W=G>0?[G+1,0,0]:J>0?[0,J+1,0]:[0,0,Q+1],{lower:Z,upper:W}}function vH5(Y){let G=String(Y).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!G)throw new R5(`Invalid wildcard semver: ${Y}`);let J=G.split("."),Q=parseInt(J[0],10);if(isNaN(Q))throw new R5(`Invalid wildcard semver: ${Y}`);let Z,W;if(J.length===1)Z=[Q,0,0],W=[Q+1,0,0];else{let $=parseInt(J[1],10);if(isNaN($))throw new R5(`Invalid wildcard semver: ${Y}`);Z=[Q,$,0],W=[Q,$+1,0]}return{lower:Z,upper:W}}function UE6(Y){if(Y instanceof Date)return Y;if(typeof Y=="string"||typeof Y=="number"){let X=new Date(Y);if(!isNaN(X.valueOf()))return X;throw new R5(`${Y} is in an invalid date format`)}throw new R5(`The date provided ${Y} must be a string, number, or date object`)}function yH5(Y){let X=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,G=Y.match(X),J=new Date(new Date().toISOString());if(!G)return null;{if(!G.groups)return null;let Q=parseInt(G.groups.number);if(Q>=1e4)return null;let Z=G.groups.interval;if(Z=="h")J.setUTCHours(J.getUTCHours()-Q);else if(Z=="d")J.setUTCDate(J.getUTCDate()-Q);else if(Z=="w")J.setUTCDate(J.getUTCDate()-7*Q);else if(Z=="m")J.setUTCMonth(J.getUTCMonth()-Q);else{if(Z!="y")return null;J.setUTCFullYear(J.getUTCFullYear()-Q)}return J}}var SH5=60000,jH5=1152921504606847000,IH5,dk,R5,QB;var zE6=w(()=>{XT();KE6();IH5=["is_not"];dk=class dk extends Error{constructor(Y){super();Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=Y,Object.setPrototypeOf(this,dk.prototype)}};R5=class R5 extends Error{constructor(Y){super(Y);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,R5.prototype)}};QB=class QB extends Error{constructor(Y){super(Y);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,QB.prototype)}}});class Kn1{getProperty(Y){return this._memoryStorage[Y]}setProperty(Y,X){this._memoryStorage[Y]=X!==null?X:void 0}constructor(){this._memoryStorage={}}}var qE6=()=>{};function mH5(Y){return typeof Y=="string"?Y.trim():""}function lH5(Y){return(typeof Y=="string"?Y.trim():"")||void 0}function dH5(Y){return(typeof Y=="string"?Y.trim():"")||uH5}var hH5=100,LE6=30000,bH5=50000,xH5=50,gH5=500,uH5="https://us.i.posthog.com",Fn1;var DE6=w(()=>{$E6();XT();$n1();zE6();K$1();qE6();Fn1=class Fn1 extends G$1{constructor(Y,X={}){let G=mH5(Y),J={...X,host:dH5(X.host),personalApiKey:lH5(X.personalApiKey)};if(super(G,J),this._memoryStorage=new Kn1,this.options=J,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof J.featureFlagsPollingInterval=="number"?Math.max(J.featureFlagsPollingInterval,hH5):LE6,typeof J.waitUntilDebounceMs=="number")this.options.waitUntilDebounceMs=Math.max(J.waitUntilDebounceMs,0);if(typeof J.waitUntilMaxWaitMs=="number")this.options.waitUntilMaxWaitMs=Math.max(J.waitUntilMaxWaitMs,0);if(J.personalApiKey){if(J.personalApiKey.includes("phc_"))throw Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');if(J.enableLocalEvaluation!==!1)this.featureFlagsPoller=new Hn1({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:J.personalApiKey,projectApiKey:G,timeout:J.requestTimeout??1e4,host:this.host,fetch:J.fetch,onError:(Z)=>{this._events.emit("error",Z)},onLoad:(Z)=>{this._events.emit("localEvaluationFlagsLoaded",Z)},customHeaders:this.getCustomHeaders(),cacheProvider:J.flagDefinitionCacheProvider,strictLocalEvaluation:J.strictLocalEvaluation})}this.errorTracking=new DH(this,J,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=J.maxCacheSize||bH5}enqueue(Y,X,G){super.enqueue(Y,X,G),this.scheduleDebouncedFlush()}async flush(){let Y=super.flush(),X=this.options.waitUntil;if(X&&!this._waitUntilCycle)try{X(Y.catch(()=>{}))}catch{}return Y}scheduleDebouncedFlush(){let Y=this.options.waitUntil;if(!Y)return;if(this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let Z,W=new Promise(($)=>{Z=$});try{Y(W)}catch{return}this._waitUntilCycle={resolve:Z,startedAt:Date.now(),timer:void 0}}let X=Date.now()-this._waitUntilCycle.startedAt,G=this.options.waitUntilMaxWaitMs??gH5,J=X>=G;if(this._waitUntilCycle.timer!==void 0)clearTimeout(this._waitUntilCycle.timer);if(J)return void this.resolveWaitUntilFlush();let Q=this.options.waitUntilDebounceMs??xH5;this._waitUntilCycle.timer=Qz(()=>{this.resolveWaitUntilFlush()},Q)}_consumeWaitUntilCycle(){let Y=this._waitUntilCycle;if(Y)clearTimeout(Y.timer),this._waitUntilCycle=void 0;return Y?.resolve}async resolveWaitUntilFlush(){let Y=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{Y?.()}}getPersistedProperty(Y){return this._memoryStorage.getProperty(Y)}setPersistedProperty(Y,X){return this._memoryStorage.setProperty(Y,X)}fetch(Y,X){return this.options.fetch?this.options.fetch(Y,X):fetch(Y,X)}getLibraryVersion(){return ZE6}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(Y=!0){super.debug(Y),this.featureFlagsPoller?.debug(Y)}capture(Y){if(typeof Y=="string")this._logger.warn("Called capture() with a string as the first argument when an object was expected.");if(Y.event==="$exception"&&!Y._originatedFromCaptureException)this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically.");this.addPendingPromise(this.prepareEventMessage(Y).then(({distinctId:X,event:G,properties:J,options:Q})=>super.captureStateless(X,G,J,{timestamp:Q.timestamp,disableGeoip:Q.disableGeoip,uuid:Q.uuid})).catch((X)=>{if(X)console.error(X)}))}async captureImmediate(Y){if(typeof Y=="string")this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected.");if(Y.event==="$exception"&&!Y._originatedFromCaptureException)this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default.");return this.addPendingPromise(this.prepareEventMessage(Y).then(({distinctId:X,event:G,properties:J,options:Q})=>super.captureStatelessImmediate(X,G,J,{timestamp:Q.timestamp,disableGeoip:Q.disableGeoip,uuid:Q.uuid})).catch((X)=>{if(X)console.error(X)}))}identify({distinctId:Y,properties:X={},disableGeoip:G}){let{$set:J,$set_once:Q,$anon_distinct_id:Z,...W}=X,K={$set:J||W,$set_once:Q||{},$anon_distinct_id:Z??void 0};super.identifyStateless(Y,K,{disableGeoip:G})}async identifyImmediate({distinctId:Y,properties:X={},disableGeoip:G}){let{$set:J,$set_once:Q,$anon_distinct_id:Z,...W}=X,K={$set:J||W,$set_once:Q||{},$anon_distinct_id:Z??void 0};super.identifyStatelessImmediate(Y,K,{disableGeoip:G})}alias(Y){super.aliasStateless(Y.alias,Y.distinctId,void 0,{disableGeoip:Y.disableGeoip})}async aliasImmediate(Y){await super.aliasStatelessImmediate(Y.alias,Y.distinctId,void 0,{disableGeoip:Y.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(Y=LE6){if(this.isLocalEvaluationReady())return!0;if(this.featureFlagsPoller===void 0)return!1;return new Promise((X)=>{let G=setTimeout(()=>{J(),X(!1)},Y),J=this._events.on("localEvaluationFlagsLoaded",(Q)=>{clearTimeout(G),J(),X(Q>0)})})}_resolveDistinctId(Y,X){if(typeof Y=="string")return{distinctId:Y,options:X};return{distinctId:this.context?.get()?.distinctId,options:Y}}async _getFeatureFlagResult(Y,X,G={},J){let Q=G.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&Y in this._flagOverrides){let T=this._flagOverrides[Y];if(T===void 0)return;let S=this._payloadOverrides?.[Y];return{key:Y,enabled:T!==!1,variant:typeof T=="string"?T:void 0,payload:S}}let{groups:Z,disableGeoip:W}=G,{onlyEvaluateLocally:$,personProperties:H,groupProperties:K}=G,V=this.addLocalPersonAndGroupProperties(X,Z,H,K);H=V.allPersonProperties,K=V.allGroupProperties;let U=this.createFeatureFlagEvaluationContext(X,Z,H,K);if($==null)$=this.options.strictLocalEvaluation??!1;let B,O=!1,N,z,L,D,E,R;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let T=this.featureFlagsPoller?.featureFlagsByKey[Y];if(T)try{let S=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(T,U,{matchValue:J});if(S){O=!0;let _=S.value;D=T.id,R="Evaluated locally",B={key:Y,enabled:_!==!1,variant:typeof _=="string"?_:void 0,payload:S.payload??void 0}}}catch(S){if(S instanceof QB||S instanceof R5)this._logger?.info(`${S.name} when computing flag locally: ${Y}: ${S.message}`);else throw S}}if(!O&&!$){let T=await super.getFeatureFlagDetailsStateless(U.distinctId,U.groups,U.personProperties,U.groupProperties,W,[Y]);if(T===void 0)L=qi.UNKNOWN_ERROR;else{N=T.requestId,z=T.evaluatedAt;let S=[];if(T.errorsWhileComputingFlags)S.push(qi.ERRORS_WHILE_COMPUTING);if(T.quotaLimited?.includes("feature_flags"))S.push(qi.QUOTA_LIMITED);let _=T.flags[Y];if(_===void 0)S.push(qi.FLAG_MISSING);else{D=_.metadata?.id,E=_.metadata?.version,R=_.reason?.description??_.reason?.code;let k;if(_.metadata?.payload!==void 0)try{k=JSON.parse(_.metadata.payload)}catch{k=_.metadata.payload}B={key:Y,enabled:_.enabled,variant:_.variant,payload:k}}if(S.length>0)L=S.join(",")}}if(Q){let T=B===void 0?void 0:B.enabled===!1?!1:B.variant??!0,S=`${Y}_${T}`;if(!(X in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[X].includes(S)){if(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize)this.distinctIdHasSentFlagCalls={};if(Array.isArray(this.distinctIdHasSentFlagCalls[X]))this.distinctIdHasSentFlagCalls[X].push(S);else this.distinctIdHasSentFlagCalls[X]=[S];let _={$feature_flag:Y,$feature_flag_response:T,$feature_flag_id:D,$feature_flag_version:E,$feature_flag_reason:R,locally_evaluated:O,[`$feature/${Y}`]:T,$feature_flag_request_id:N,$feature_flag_evaluated_at:O?Date.now():z};if(O&&this.featureFlagsPoller){let k=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();if(k!==void 0)_.$feature_flag_definitions_loaded_at=k}if(L)_.$feature_flag_error=L;this.capture({distinctId:X,event:"$feature_flag_called",properties:_,groups:Z,disableGeoip:W})}}if(B!==void 0&&this._payloadOverrides!==void 0&&Y in this._payloadOverrides)B={...B,payload:this._payloadOverrides[Y]};return B}async getFeatureFlag(Y,X,G){let J=await this._getFeatureFlagResult(Y,X,{...G,sendFeatureFlagEvents:G?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(J===void 0)return;if(J.enabled===!1)return!1;return J.variant??!0}async getFeatureFlagPayload(Y,X,G,J){if(this._payloadOverrides!==void 0&&Y in this._payloadOverrides)return this._payloadOverrides[Y];let Q=await this._getFeatureFlagResult(Y,X,{...J,sendFeatureFlagEvents:!1},G);if(Q===void 0)return;return Q.payload??null}async getFeatureFlagResult(Y,X,G){let{distinctId:J,options:Q}=this._resolveDistinctId(X,G);if(!J)return void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()");return this._getFeatureFlagResult(Y,J,{...Q,sendFeatureFlagEvents:Q?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(Y){if(!this.options.personalApiKey)throw Error("Personal API key is required for remote config payload decryption");let X=await this._requestRemoteConfigPayload(Y);if(!X)return;let G=await X.json();if(typeof G=="string")try{return JSON.parse(G)}catch(J){}return G}async isFeatureEnabled(Y,X,G){let J=await this.getFeatureFlag(Y,X,G);if(J===void 0)return;return!!J||!1}async getAllFlags(Y,X){let{distinctId:G,options:J}=this._resolveDistinctId(Y,X);if(!G)return this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{};return(await this.getAllFlagsAndPayloads(G,J)).featureFlags||{}}async getAllFlagsAndPayloads(Y,X){let{distinctId:G,options:J}=this._resolveDistinctId(Y,X);if(!G)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:Q,disableGeoip:Z,flagKeys:W}=J||{},{onlyEvaluateLocally:$,personProperties:H,groupProperties:K}=J||{},V=this.addLocalPersonAndGroupProperties(G,Q,H,K);H=V.allPersonProperties,K=V.allGroupProperties;let U=this.createFeatureFlagEvaluationContext(G,Q,H,K);if($==null)$=this.options.strictLocalEvaluation??!1;let B=await this.featureFlagsPoller?.getAllFlagsAndPayloads(U,W),O={},N={},z=!0;if(B)O=B.response,N=B.payloads,z=B.fallbackToFlags;if(z&&!$){let L=await super.getFeatureFlagsAndPayloadsStateless(U.distinctId,U.groups,U.personProperties,U.groupProperties,Z,W);O={...O,...L.flags||{}},N={...N,...L.payloads||{}}}if(this._flagOverrides!==void 0)O={...O,...this._flagOverrides};if(this._payloadOverrides!==void 0)N={...N,...this._payloadOverrides};return{featureFlags:O,featureFlagPayloads:N}}groupIdentify({groupType:Y,groupKey:X,properties:G,distinctId:J,disableGeoip:Q}){super.groupIdentifyStateless(Y,X,G,{disableGeoip:Q},J)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(Y){let X=(G)=>Object.fromEntries(G.map((J)=>[J,!0]));if(Y===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(Y)){this._flagOverrides=X(Y);return}if(this._isFeatureFlagOverrideOptions(Y)){if("flags"in Y){if(Y.flags===!1)this._flagOverrides=void 0;else if(Array.isArray(Y.flags))this._flagOverrides=X(Y.flags);else if(Y.flags!==void 0)this._flagOverrides={...Y.flags}}if("payloads"in Y){if(Y.payloads===!1)this._payloadOverrides=void 0;else if(Y.payloads!==void 0)this._payloadOverrides={...Y.payloads}}return}this._flagOverrides={...Y}}_isFeatureFlagOverrideOptions(Y){if(typeof Y!="object"||Y===null||Array.isArray(Y))return!1;let X=Y;if("flags"in X){let G=X.flags;if(G===!1||Array.isArray(G)||typeof G=="object"&&G!==null)return!0}if("payloads"in X){let G=X.payloads;if(G===!1||typeof G=="object"&&G!==null)return!0}return!1}withContext(Y,X,G){if(!this.context)return X();return this.context.run(Y,X,G)}getContext(){return this.context?.get()}enterContext(Y,X){this.context?.enter(Y,X)}async _shutdown(Y){let X=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(Y),this.errorTracking.shutdown();try{return await super._shutdown(Y)}finally{X?.()}}async _requestRemoteConfigPayload(Y){if(!this.options.personalApiKey)return;let X=`${this.host}/api/projects/@current/feature_flags/${Y}/remote_config?token=${encodeURIComponent(this.apiKey)}`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},J=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let Q=new AbortController;J=Qz(()=>{Q.abort()},this.options.requestTimeout),G.signal=Q.signal}try{return await this.fetch(X,G)}catch(Q){this._events.emit("error",Q);return}finally{if(J)clearTimeout(J)}}extractPropertiesFromEvent(Y,X){if(!Y)return{personProperties:{},groupProperties:{}};let G={},J={};for(let[Q,Z]of Object.entries(Y))if(_A6(Z)&&X&&Q in X){let W={};for(let[$,H]of Object.entries(Z))W[String($)]=String(H);J[String(Q)]=W}else G[String(Q)]=String(Z);return{personProperties:G,groupProperties:J}}async getFeatureFlagsForEvent(Y,X,G,J){let Q=J?.personProperties||{},Z=J?.groupProperties||{},W=J?.flagKeys;if(J?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if(!((this.featureFlagsPoller?.featureFlags?.length||0)>0))return{};else{let H={};for(let[K,V]of Object.entries(X||{}))H[K]=String(V);return await this.getAllFlags(Y,{groups:H,personProperties:Q,groupProperties:Z,disableGeoip:G,onlyEvaluateLocally:!0,flagKeys:W})}if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let H={};for(let[K,V]of Object.entries(X||{}))H[K]=String(V);return await this.getAllFlags(Y,{groups:H,personProperties:Q,groupProperties:Z,disableGeoip:G,onlyEvaluateLocally:!0,flagKeys:W})}return(await super.getFeatureFlagsStateless(Y,X,Q,Z,G)).flags}addLocalPersonAndGroupProperties(Y,X,G,J){let Q={distinct_id:Y,...G||{}},Z={};if(X)for(let W of Object.keys(X))Z[W]={$group_key:X[W],...J?.[W]||{}};return{allPersonProperties:Q,allGroupProperties:Z}}createFeatureFlagEvaluationContext(Y,X,G,J){return{distinctId:Y,groups:X||{},personProperties:G||{},groupProperties:J||{},evaluationCache:{}}}captureException(Y,X,G,J){if(!DH.isPreviouslyCapturedError(Y)){let Q=Error("PostHog syntheticException");this.addPendingPromise(DH.buildEventMessage(Y,{syntheticException:Q},X,G).then((Z)=>this.capture({...Z,uuid:J})))}}async captureExceptionImmediate(Y,X,G){if(!DH.isPreviouslyCapturedError(Y)){let J=Error("PostHog syntheticException");return this.addPendingPromise(DH.buildEventMessage(Y,{syntheticException:J},X,G).then((Q)=>this.captureImmediate(Q)))}}async prepareEventMessage(Y){let{distinctId:X,event:G,properties:J,groups:Q,sendFeatureFlags:Z,timestamp:W,disableGeoip:$,uuid:H}=Y,K=this.context?.get(),V=X||K?.distinctId,U={...this.props,...K?.properties||{},...J||{}};if(!V)V=Kw(),U.$process_person_profile=!1;if(K?.sessionId&&!U.$session_id)U.$session_id=K.sessionId;let B=this._runBeforeSend({distinctId:V,event:G,properties:U,groups:Q,sendFeatureFlags:Z,timestamp:W,disableGeoip:$,uuid:H});if(!B)return Promise.reject(null);let O=await Promise.resolve().then(async()=>{if(Z){let N=typeof Z=="object"?Z:void 0;return await this.getFeatureFlagsForEvent(B.distinctId,Q,$,N)}return B.event,{}}).then((N)=>{let z={};if(N)for(let[D,E]of Object.entries(N))z[`$feature/${D}`]=E;let L=Object.keys(N||{}).filter((D)=>N?.[D]!==!1).sort();if(L.length>0)z.$active_feature_flags=L;return z}).catch(()=>({})).then((N)=>{return{...N,...B.properties||{},$groups:B.groups||Q}});if(B.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof O.$raw_user_agent=="string"){if(RA6(O.$raw_user_agent,this.options.custom_blocked_useragents||[]))B.event="$bot_pageview",O.$browser_type="bot"}return{distinctId:B.distinctId,event:B.event,properties:O,options:{timestamp:B.timestamp,disableGeoip:B.disableGeoip,uuid:B.uuid}}}_runBeforeSend(Y){let X=this.options.before_send;if(!X)return Y;let G=Array.isArray(X)?X:[X],J=Y;for(let Q of G){if(J=Q(J),!J)return this._logger.info(`Event '${Y.event}' was rejected in beforeSend function`),null;if(!J.properties||Object.keys(J.properties).length===0){let Z=`Event '${J.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(Z)}}return J}}});import{AsyncLocalStorage as cH5}from"async_hooks";class Vn1{constructor(){this.storage=new cH5}get(){return this.storage.getStore()}run(Y,X,G){return this.storage.run(this.resolve(Y,G),X)}enter(Y,X){this.storage.enterWith(this.resolve(Y,X))}resolve(Y,X){if(X?.fresh===!0)return Y;let G=this.get()||{};return{distinctId:Y.distinctId??G.distinctId,sessionId:Y.sessionId??G.sessionId,properties:{...G.properties||{},...Y.properties||{}}}}}var wE6=()=>{};function pH5(Y,{organization:X,projectId:G,prefix:J,severityAllowList:Q=["error"],sendExceptionsToPostHog:Z=!0}={}){return(W)=>{if(!(Q==="*"||Q.includes(W.level)))return W;if(!W.tags)W.tags={};let H=W.tags[AE6.POSTHOG_ID_TAG];if(H===void 0)return W;let K=Y.options.host??"https://us.i.posthog.com",V=new URL(`/project/${Y.apiKey}/person/${H}`,K).toString();W.tags["PostHog Person URL"]=V;let U=W.exception?.values||[],B=U.map((N)=>({...N,stacktrace:N.stacktrace?{...N.stacktrace,type:"raw",frames:(N.stacktrace.frames||[]).map((z)=>({...z,platform:"node:javascript"}))}:void 0})),O={$exception_message:U[0]?.value||W.message,$exception_type:U[0]?.type,$exception_level:W.level,$exception_list:B,$sentry_event_id:W.event_id,$sentry_exception:W.exception,$sentry_exception_message:U[0]?.value||W.message,$sentry_exception_type:U[0]?.type,$sentry_tags:W.tags};if(X&&G)O.$sentry_url=(J||"https://sentry.io/organizations/")+X+"/issues/?project="+G+"&query="+W.event_id;if(Z)Y.capture({event:"$exception",distinctId:H,properties:O});return W}}var AE6;var ME6=w(()=>{AE6=class AE6{static#Y=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(Y,X,G,J,Q){this.name="posthog-node",this.name="posthog-node",this.setupOnce=function(Z,W){let $=W()?.getClient()?.getDsn()?.projectId;Z(pH5(Y,{organization:X,projectId:$,prefix:G,severityAllowList:J,sendExceptionsToPostHog:Q??!0}))}}}});var EE6=w(()=>{K$1()});var PE6=w(()=>{XT();ME6();EE6();$n1()});var Un1;var TE6=w(()=>{MA6();YE6();GE6();K$1();DE6();XT();wE6();PE6();DH.errorPropertiesBuilder=new y3.ErrorPropertiesBuilder([new y3.EventCoercer,new y3.ErrorCoercer,new y3.ObjectCoercer,new y3.StringCoercer,new y3.PrimitiveCoercer],y3.createStackParser("node:javascript",y3.nodeStackLineParser),[AA6(),sM6,XE6()]);Un1=class Un1 extends Fn1{getLibraryId(){return"posthog-node"}initializeContext(){return new Vn1}}});function nH5(){return{capture:()=>{},identify:()=>{},captureException:()=>{},groupIdentify:()=>{},shutdown:async()=>{}}}var Bn1,RE6,q4;var qY=w(()=>{TE6();Bn1=process.env.POSTHOG_KEY,RE6=process.env.POSTHOG_HOST;q4=Bn1?new Un1(Bn1,{...RE6?{host:RE6}:{},enableExceptionAutocapture:!0,flushAt:1,flushInterval:0}):nH5();if(Bn1){let Y=()=>{q4.shutdown().catch(()=>{})};process.on("SIGTERM",Y),process.on("SIGINT",Y)}});function nZ(){let Y=j6();if(Y.baseUrl)return Y.baseUrl;return`http://localhost:${Y.port??3000}`}function Li(){return`http://localhost:${j6().port??3000}`}var Wz=w(()=>{E9()});var CE6=w(()=>{Q2()});function SE6(Y){return{organizationId:Y.organization_id,domain:Y.domain,autoJoinEnabled:Y.auto_join_enabled,createdAt:Y.created_at,updatedAt:Y.updated_at}}class Zz{db;constructor(Y){this.db=Y}async getByDomain(Y){let X=await this.db.selectFrom("organization_domains").selectAll().where("domain","=",Y.toLowerCase()).executeTakeFirst();return X?SE6(X):null}async getByOrganizationId(Y){let X=await this.db.selectFrom("organization_domains").selectAll().where("organization_id","=",Y).executeTakeFirst();return X?SE6(X):null}async setDomain(Y,X,G=!1){let J=new Date().toISOString(),Q=X.toLowerCase();try{await this.db.insertInto("organization_domains").values({organization_id:Y,domain:Q,auto_join_enabled:G,created_at:J,updated_at:J}).onConflict((W)=>W.column("organization_id").doUpdateSet({domain:Q,auto_join_enabled:G,updated_at:J})).execute()}catch(W){if(W.code==="23505")throw Error(`Domain "${Q}" is already claimed by another organization.`);throw W}let Z=await this.getByOrganizationId(Y);if(!Z)throw Error("Failed to set domain");return Z}async updateAutoJoin(Y,X){let G=new Date().toISOString();await this.db.updateTable("organization_domains").set({auto_join_enabled:X,updated_at:G}).where("organization_id","=",Y).execute();let J=await this.getByOrganizationId(Y);if(!J)throw Error("No domain found for organization");return J}async clearDomain(Y){await this.db.deleteFrom("organization_domains").where("organization_id","=",Y).execute()}}class On1{apiKey;constructor(Y){this.apiKey=Y}async sendEmail({to:Y,from:X,subject:G,html:J}){let Q=await fetch("https://api.resend.com/emails",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({to:Y,from:X,subject:G,html:J})});if(!Q.ok)throw Error(`Failed to send email: ${Q.statusText}`)}}class Nn1{apiKey;constructor(Y){this.apiKey=Y}async sendEmail({to:Y,from:X,subject:G,html:J}){let Q=await fetch("https://api.sendgrid.com/v3/mail/send",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({personalizations:[{to:[{email:Y}]}],from:{email:X},subject:G,content:[{type:"text/html",value:J}]})});if(!Q.ok){let Z=await Q.text();throw Error(`Failed to send email via SendGrid: ${Q.statusText} - ${Z}`)}}}function GT(Y){let X=rH5[Y.provider];if(!X)throw Error(`Unknown email provider: ${Y.provider}`);return X(Y)}function JT(Y,X){return Y.find((G)=>G.id===X)}var iH5=(Y)=>{let X=new On1(Y.config.apiKey);return async({to:G,subject:J,html:Q})=>{await X.sendEmail({to:G,from:Y.config.fromEmail,subject:J,html:Q})}},aH5=(Y)=>{let X=new Nn1(Y.config.apiKey);return async({to:G,subject:J,html:Q})=>{await X.sendEmail({to:G,from:Y.config.fromEmail,subject:J,html:Q})}},rH5;var F$1=w(()=>{rH5={resend:iH5,sendgrid:aH5}});function QT({preheader:Y="",heading:X,subheading:G,body:J,footnote:Q}){return`<!DOCTYPE html>
1641
1641
  <html lang="en">
1642
1642
  <head>