decocms 2.290.0 → 2.290.1

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 (564) hide show
  1. package/dist/client/assets/{AlertCircle-Dy6WQ5ge.js → AlertCircle-BKpPv_ue.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-DyXfpAXl.js → ArrowNarrowLeft-DzI4-MMz.js} +1 -1
  3. package/dist/client/assets/{ArrowUpRight-CnIoXxER.js → ArrowUpRight-CgoB9CSG.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-BZH7SpHU.js → CheckCircle-_hRmcUCr.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-BjTzGWO3.js → ChevronDown-DgrWziJW.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-CYmVBoc2.js → ChevronRight-DJnGkhn4.js} +1 -1
  7. package/dist/client/assets/{ChevronUp-Cw4IUx4c.js → ChevronUp-CYzPfn3Y.js} +1 -1
  8. package/dist/client/assets/{Container-9mToJ-Hm.js → Container-CCq3u0Gk.js} +1 -1
  9. package/dist/client/assets/{DotsVertical-CbfHiscK.js → DotsVertical-om3rzQE9.js} +1 -1
  10. package/dist/client/assets/{LinkExternal01-Kt8lGWbQ.js → LinkExternal01-DbNOYo2d.js} +1 -1
  11. package/dist/client/assets/{Lock01-BhhALBsJ.js → Lock01-BsLK0x7P.js} +1 -1
  12. package/dist/client/assets/{Palette-6WmqQOED.js → Palette-CN1aN7Xh.js} +1 -1
  13. package/dist/client/assets/{Play-B-Yf_e00.js → Play-CwsBegSF.js} +1 -1
  14. package/dist/client/assets/{Plus-C4wuRIjK.js → Plus-CnK1SC2T.js} +1 -1
  15. package/dist/client/assets/{RefreshCcw01-KsYBIYgq.js → RefreshCcw01-DESLbhAD.js} +1 -1
  16. package/dist/client/assets/{SearchMd-BhWG7TtE.js → SearchMd-DlfhE_5j.js} +1 -1
  17. package/dist/client/assets/{Settings02-C0B8JYoO.js → Settings02-LVlkEIxI.js} +1 -1
  18. package/dist/client/assets/{Shield01-vr0RTpPH.js → Shield01-DGTwcXqp.js} +1 -1
  19. package/dist/client/assets/{Star01-BRTO8Wcg.js → Star01-CWHB1ChF.js} +1 -1
  20. package/dist/client/assets/{Sun-DD9THIbp.js → Sun-1aZYqU86.js} +1 -1
  21. package/dist/client/assets/{Tool01-CzK8v2e2.js → Tool01-X8GEQ_TP.js} +1 -1
  22. package/dist/client/assets/{Trash01-Cqpb-tl4.js → Trash01-CIUqVsqV.js} +1 -1
  23. package/dist/client/assets/{User01-CHqQvVRk.js → User01-Dds7lT_Z.js} +1 -1
  24. package/dist/client/assets/{Users03-DQHeHtuJ.js → Users03-BD0tlSQu.js} +1 -1
  25. package/dist/client/assets/{X-Cz2VwWbK.js → X-BDxrsCdA.js} +1 -1
  26. package/dist/client/assets/{XCircle-D7CLzAA2.js → XCircle-BJ-0U-0t.js} +1 -1
  27. package/dist/client/assets/{XClose-xVgTKp3y.js → XClose-Bl-2e8QV.js} +1 -1
  28. package/dist/client/assets/{Zap-eM4vJ-Od.js → Zap-B3a3OZUG.js} +1 -1
  29. package/dist/client/assets/{ZapSquare-DAasimGP.js → ZapSquare-Ddm4Ccl_.js} +1 -1
  30. package/dist/client/assets/{accordion-BM20EgNo.js → accordion-eGw-yxkH.js} +1 -1
  31. package/dist/client/assets/{agent-icon-CPrrz1CF.js → agent-icon-Dhv8pT4N.js} +1 -1
  32. package/dist/client/assets/{agents-list-bLyTwxOp.js → agents-list-BoLhMS8b.js} +1 -1
  33. package/dist/client/assets/ai-providers-5Y8Lye7a.js +1 -0
  34. package/dist/client/assets/{alert-dialog-D6BTsTie.js → alert-dialog-C5H0at4x.js} +1 -1
  35. package/dist/client/assets/{auth-catchall-DrwBfvc7.js → auth-catchall-CDaNQLse.js} +1 -1
  36. package/dist/client/assets/{automation-list-row-BAkKDhdt.js → automation-list-row-i8Q9Zh9Z.js} +1 -1
  37. package/dist/client/assets/{automations-DsHMII0n.js → automations-ulYqPLWi.js} +1 -1
  38. package/dist/client/assets/{avatar-B5MfJTPB.js → avatar-BCAMjlDk.js} +1 -1
  39. package/dist/client/assets/{badge-C3ltiwQz.js → badge-arNIH4S4.js} +1 -1
  40. package/dist/client/assets/{brand-context-DdXBk5wZ.js → brand-context-doHsqzeN.js} +1 -1
  41. package/dist/client/assets/{card-DXc1-cjm.js → card-BcKfGMCs.js} +1 -1
  42. package/dist/client/assets/{chat-context-BM3OkNBp.js → chat-context-BgLXGROj.js} +14 -14
  43. package/dist/client/assets/{checkbox-CXSt-qCU.js → checkbox-eCIm2Y45.js} +1 -1
  44. package/dist/client/assets/{collection-detail-PiEvUvyY.js → collection-detail-BIdQmVBg.js} +1 -1
  45. package/dist/client/assets/{collection-display-button-CbF3FIKJ.js → collection-display-button-31iCSNaH.js} +1 -1
  46. package/dist/client/assets/{collection-search-BD7TaK50.js → collection-search-CWRKNmnq.js} +1 -1
  47. package/dist/client/assets/{collection-search-D9OTGkON.js → collection-search-CZEXNAkX.js} +1 -1
  48. package/dist/client/assets/{collection-table-wrapper-C_wGPjYd.js → collection-table-wrapper-iKnV9U-a.js} +1 -1
  49. package/dist/client/assets/{collection-tabs-B5kXhLnr.js → collection-tabs-BB_C6DLQ.js} +1 -1
  50. package/dist/client/assets/{collections-uRCOIhF1.js → collections-BmZbVrT4.js} +1 -1
  51. package/dist/client/assets/{command-_aeZDxv4.js → command-BXuf0gSd.js} +1 -1
  52. package/dist/client/assets/{connection-card-CG4RgzFA.js → connection-card-CaHQAi2l.js} +1 -1
  53. package/dist/client/assets/{connection-detail-CPj5tV8W.js → connection-detail-DtFDjt8X.js} +1 -1
  54. package/dist/client/assets/{connection-form-helpers-CF_hDkTW.js → connection-form-helpers-D-VsE2HN.js} +1 -1
  55. package/dist/client/assets/{connections-BFVESmsw.js → connections-B0CDxzS1.js} +1 -1
  56. package/dist/client/assets/{constants-BXPLSYK0.js → constants-CBodG1Pl.js} +1 -1
  57. package/dist/client/assets/{constants-fisX-szF.js → constants-fZUl7A6B.js} +1 -1
  58. package/dist/client/assets/{dialog-DgIfLmkz.js → dialog-CfIcbBij.js} +1 -1
  59. package/dist/client/assets/{domain-settings-Da9TCjdO.js → domain-settings-Bz-lXZFn.js} +1 -1
  60. package/dist/client/assets/{drawer-DcXb-dIX.js → drawer-D0hdbn63.js} +1 -1
  61. package/dist/client/assets/{dropdown-menu-CpKKd4KR.js → dropdown-menu-Cye9zjaV.js} +1 -1
  62. package/dist/client/assets/{dynamic-plugin-layout-5YDFJfrE.js → dynamic-plugin-layout-DyEJh8Ah.js} +1 -1
  63. package/dist/client/assets/{empty-state-7OQh5AG_.js → empty-state-Ce0UFiAd.js} +1 -1
  64. package/dist/client/assets/{empty-state-BNoYs1pG.js → empty-state-KsHmVPO4.js} +1 -1
  65. package/dist/client/assets/{extract-connection-data-C1fjt67g.js → extract-connection-data-C_Q81cim.js} +1 -1
  66. package/dist/client/assets/{features-DlbqWaud.js → features-UEpssbRc.js} +1 -1
  67. package/dist/client/assets/{form-B9N1Oecs.js → form-Bt1yLlZE.js} +1 -1
  68. package/dist/client/assets/{general-BRrfSAHw.js → general-CX6SxsSV.js} +1 -1
  69. package/dist/client/assets/{github-repo-picker-xqXMF4Z2.js → github-repo-picker-4y_CmSBW.js} +1 -1
  70. package/dist/client/assets/{index-CdcT6o1u.js → index-B5IXTINZ.js} +1 -1
  71. package/dist/client/assets/{index-nPLW8S1n.js → index-BdMwcoDn.js} +1 -1
  72. package/dist/client/assets/{index-B1ENCl_P.js → index-BqvsnDAu.js} +1 -1
  73. package/dist/client/assets/{index-BNDDAuFY.js → index-C1JqC4-z.js} +1 -1
  74. package/dist/client/assets/{index-PDe7t-Zh.js → index-Cf59DRJ6.js} +1 -1
  75. package/dist/client/assets/{index-Bjw9mABo.js → index-D7IIXROb.js} +2 -2
  76. package/dist/client/assets/{index-RUiHYhDy.js → index-DP75UHA3.js} +1 -1
  77. package/dist/client/assets/{index-D4HJx8LE.js → index-DTSAQq_o.js} +26 -26
  78. package/dist/client/assets/{index-DFbeaR6v.js → index-DU8sxbAO.js} +1 -1
  79. package/dist/client/assets/{index-Bdy-Zxd0.js → index-DtTftwEv.js} +1 -1
  80. package/dist/client/assets/{infiniteQueryObserver-D6FVOZDT.js → infiniteQueryObserver-CYDDJzdR.js} +1 -1
  81. package/dist/client/assets/{input-B0Th2JQ1.js → input-C-zd9-6X.js} +1 -1
  82. package/dist/client/assets/{integration-icon-BlpgeQ99.js → integration-icon-DoWhqWe3.js} +1 -1
  83. package/dist/client/assets/{label-DuAMprL4.js → label-B9VSuQAr.js} +1 -1
  84. package/dist/client/assets/{layout-RImR4U5w.js → layout-BJjatDlM.js} +1 -1
  85. package/dist/client/assets/{login-BfxCAW1K.js → login-DMa1Q2q-.js} +1 -1
  86. package/dist/client/assets/{members-DUXCSlLM.js → members-BOugcvjA.js} +1 -1
  87. package/dist/client/assets/{monaco-editor-LE71GrBO.js → monaco-editor-Bo3tZIb0.js} +1 -1
  88. package/dist/client/assets/{monitoring-stats-row-Bu8i_dr0.js → monitoring-stats-row-B1bACC1V.js} +1 -1
  89. package/dist/client/assets/{oauth-callback-CHnueJxo.js → oauth-callback-CIypIDM5.js} +1 -1
  90. package/dist/client/assets/{oauth-callback-ai-provider-BqIWE2za.js → oauth-callback-ai-provider-Cx6R_dTa.js} +1 -1
  91. package/dist/client/assets/{onboarding-Bvfd_deQ.js → onboarding-BqheUOWx.js} +1 -1
  92. package/dist/client/assets/{org-layout-D8HwQgZC.js → org-layout-CZ-JkZR2.js} +1 -1
  93. package/dist/client/assets/{org-plugin-layout-Dlrq-WhH.js → org-plugin-layout-BrcX-6Wg.js} +1 -1
  94. package/dist/client/assets/{plugin-empty-state-FtnIU00p.js → plugin-empty-state-DrfwC6PK.js} +1 -1
  95. package/dist/client/assets/{plugin-header-CFqdNjHj.js → plugin-header-Dv9_QG9M.js} +1 -1
  96. package/dist/client/assets/{plugin-layout-BAtMOLNI.js → plugin-layout-BYLLm93H.js} +1 -1
  97. package/dist/client/assets/{popover-E3qdo7hr.js → popover-BcJ5dkfy.js} +1 -1
  98. package/dist/client/assets/{profile-D53qb-aC.js → profile-BDIFKyuQ.js} +1 -1
  99. package/dist/client/assets/{project-app-view-CPYOBF6b.js → project-app-view-Dmfqsj8y.js} +1 -1
  100. package/dist/client/assets/registry-DWmg34NR.js +2 -0
  101. package/dist/client/assets/{registry-layout-DDDh6l1Z.js → registry-layout-CcQfrJPf.js} +1 -1
  102. package/dist/client/assets/{required-auth-layout-0ZrPtRX5.js → required-auth-layout-C8vP14ZM.js} +1 -1
  103. package/dist/client/assets/{reset-password-CF8xZipJ.js → reset-password-Cx8pIjDB.js} +1 -1
  104. package/dist/client/assets/{roles-2DmhU_lO.js → roles-V2PuVErH.js} +1 -1
  105. package/dist/client/assets/{scroll-area-CV58Sm3r.js → scroll-area-BJTd57Y3.js} +1 -1
  106. package/dist/client/assets/{search-input-CiJD1zmQ.js → search-input-o1N12hd4.js} +1 -1
  107. package/dist/client/assets/{select-model-CgAdbxOF.js → select-model-i86p2wLu.js} +1 -1
  108. package/dist/client/assets/{select-C0BTO_VN.js → select-wye91jBR.js} +1 -1
  109. package/dist/client/assets/{settings-layout-B5g5nOFG.js → settings-layout-Bre58uB_.js} +1 -1
  110. package/dist/client/assets/{settings-section-BEc6_hxC.js → settings-section-C9gADeUy.js} +1 -1
  111. package/dist/client/assets/{shell-layout-DhVFCecl.js → shell-layout-BkODIfEq.js} +1 -1
  112. package/dist/client/assets/{skeleton-CqLjEim6.js → skeleton-DRv0yCtF.js} +1 -1
  113. package/dist/client/assets/{sso-CLQ0WAZ4.js → sso-DZp-3maq.js} +1 -1
  114. package/dist/client/assets/{store-DXpPzjGX.js → store-CN0vQifq.js} +1 -1
  115. package/dist/client/assets/store-registry-BObCKoqP.js +2 -0
  116. package/dist/client/assets/{switch-r_J-E_R6.js → switch-PbUvXBwc.js} +1 -1
  117. package/dist/client/assets/{table-BLW1fb71.js → table-Vdrlqd3N.js} +1 -1
  118. package/dist/client/assets/{tabs-OaMhPT1S.js → tabs-CMVGP6Nm.js} +1 -1
  119. package/dist/client/assets/{task-status-BYU1JOas.js → task-status-Cc80uZAM.js} +1 -1
  120. package/dist/client/assets/{textarea-CB4EPwI8.js → textarea-CFCCYt2a.js} +1 -1
  121. package/dist/client/assets/{toggle-group-BK2Eyxb9.js → toggle-group-C7CndFhA.js} +1 -1
  122. package/dist/client/assets/{tools-list-D0-t6r7P.js → tools-list-Kw0AITzg.js} +1 -1
  123. package/dist/client/assets/{types-DV1fT4jg.js → types-CfADcGn6.js} +1 -1
  124. package/dist/client/assets/{use-ai-providers-DuAykeEv.js → use-ai-providers-BH0Y2Lij.js} +1 -1
  125. package/dist/client/assets/{use-collections-Cp0FTIw2.js → use-collections-BosUNiJP.js} +1 -1
  126. package/dist/client/assets/{use-connection-CwwdEwVq.js → use-connection-BHgGmTOA.js} +1 -1
  127. package/dist/client/assets/{use-copy-I5xIu5vL.js → use-copy-D6qOpdpT.js} +1 -1
  128. package/dist/client/assets/{use-create-virtual-mcp-D9eK4uEY.js → use-create-virtual-mcp-Cx6IqxLi.js} +1 -1
  129. package/dist/client/assets/{use-decopilot-events-BnOlrQOP.js → use-decopilot-events-Bw4kdPRS.js} +1 -1
  130. package/dist/client/assets/{use-delete-connection-DgzyKP3C.js → use-delete-connection-BNbEYahP.js} +1 -1
  131. package/dist/client/assets/{use-infinite-scroll-DVe1Fk7x.js → use-infinite-scroll-omTMTmB1.js} +1 -1
  132. package/dist/client/assets/{use-list-state-BK8f1wO4.js → use-list-state-BiBwgFiI.js} +1 -1
  133. package/dist/client/assets/{use-mcp-tools-B2JuhhY2.js → use-mcp-tools-jeaH_mio.js} +1 -1
  134. package/dist/client/assets/{use-members-BpPuDkhN.js → use-members-BR83cmtt.js} +1 -1
  135. package/dist/client/assets/{use-mobile-BY3ZRSKc.js → use-mobile-CrP2KZis.js} +1 -1
  136. package/dist/client/assets/{use-navigate-to-agent-CL1nPgsu.js → use-navigate-to-agent-C3zfnZck.js} +1 -1
  137. package/dist/client/assets/{use-org-sso-CNjY_Yrf.js → use-org-sso-Bp80Qjb5.js} +1 -1
  138. package/dist/client/assets/{use-organization-roles-DjWvKcNS.js → use-organization-roles-BV6xrqqH.js} +1 -1
  139. package/dist/client/assets/{use-organization-settings-DqQLKHYU.js → use-organization-settings-qZ1AM5bR.js} +1 -1
  140. package/dist/client/assets/{use-registry-connections-Du2J1Ki6.js → use-registry-connections-4TVYi7-o.js} +1 -1
  141. package/dist/client/assets/{use-status-sounds-9eY_nA5Y.js → use-status-sounds-DOhvVAtI.js} +1 -1
  142. package/dist/client/assets/{use-tasks-HeJD0lAu.js → use-tasks-Cd7MvMgt.js} +1 -1
  143. package/dist/client/assets/{use-view-mode-CimRH_Z1.js → use-view-mode-BtY__6eQ.js} +1 -1
  144. package/dist/client/assets/{use-virtual-mcp-Dyx_89bN.js → use-virtual-mcp-BUyveTe6.js} +1 -1
  145. package/dist/client/assets/useInfiniteQuery-c3E-w9DY.js +1 -0
  146. package/dist/client/assets/useSuspenseInfiniteQuery-D705BqvF.js +1 -0
  147. package/dist/client/assets/{user-DwSGRsb4.js → user-DgdWVRpj.js} +1 -1
  148. package/dist/client/assets/{view-mode-toggle-B7tN1U0U.js → view-mode-toggle-D2WG_Euq.js} +1 -1
  149. package/dist/client/assets/{workflow-BSnZsZNr.js → workflow-DRs0QH0L.js} +1 -1
  150. package/dist/client/assets/workflow-detail-B8_Px7_-.js +1 -0
  151. package/dist/client/index.html +1 -1
  152. package/dist/server/cli.js +1 -1
  153. package/dist/server/node_modules/ansi-escapes/base.d.ts +307 -0
  154. package/dist/server/node_modules/ansi-escapes/base.js +202 -0
  155. package/dist/server/node_modules/ansi-escapes/index.d.ts +2 -0
  156. package/dist/server/node_modules/ansi-escapes/index.js +2 -0
  157. package/dist/server/node_modules/ansi-escapes/package.json +70 -0
  158. package/dist/server/node_modules/ansi-escapes/readme.md +296 -0
  159. package/dist/server/node_modules/ansi-regex/index.d.ts +33 -0
  160. package/dist/server/node_modules/ansi-regex/index.js +14 -0
  161. package/dist/server/node_modules/ansi-regex/license +9 -0
  162. package/dist/server/node_modules/ansi-regex/package.json +61 -0
  163. package/dist/server/node_modules/ansi-regex/readme.md +66 -0
  164. package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
  165. package/dist/server/node_modules/ansi-styles/index.js +223 -0
  166. package/dist/server/node_modules/ansi-styles/license +9 -0
  167. package/dist/server/node_modules/ansi-styles/package.json +54 -0
  168. package/dist/server/node_modules/ansi-styles/readme.md +173 -0
  169. package/dist/server/node_modules/auto-bind/index.d.ts +50 -0
  170. package/dist/server/node_modules/auto-bind/index.js +41 -0
  171. package/dist/server/node_modules/auto-bind/license +9 -0
  172. package/dist/server/node_modules/auto-bind/package.json +51 -0
  173. package/dist/server/node_modules/auto-bind/react.d.ts +26 -0
  174. package/dist/server/node_modules/auto-bind/react.js +28 -0
  175. package/dist/server/node_modules/auto-bind/readme.md +92 -0
  176. package/dist/server/node_modules/chalk/license +9 -0
  177. package/dist/server/node_modules/chalk/package.json +83 -0
  178. package/dist/server/node_modules/chalk/readme.md +297 -0
  179. package/dist/server/node_modules/chalk/source/index.d.ts +325 -0
  180. package/dist/server/node_modules/chalk/source/index.js +225 -0
  181. package/dist/server/node_modules/chalk/source/utilities.js +33 -0
  182. package/dist/server/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  183. package/dist/server/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  184. package/dist/server/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  185. package/dist/server/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  186. package/dist/server/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  187. package/dist/server/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  188. package/dist/server/node_modules/cli-cursor/index.d.ts +47 -0
  189. package/dist/server/node_modules/cli-cursor/index.js +39 -0
  190. package/dist/server/node_modules/cli-cursor/license +9 -0
  191. package/dist/server/node_modules/cli-cursor/package.json +49 -0
  192. package/dist/server/node_modules/cli-cursor/readme.md +51 -0
  193. package/dist/server/node_modules/cli-truncate/index.d.ts +118 -0
  194. package/dist/server/node_modules/cli-truncate/index.js +168 -0
  195. package/dist/server/node_modules/cli-truncate/license +9 -0
  196. package/dist/server/node_modules/cli-truncate/package.json +52 -0
  197. package/dist/server/node_modules/cli-truncate/readme.md +154 -0
  198. package/dist/server/node_modules/deepmerge/.editorconfig +7 -0
  199. package/dist/server/node_modules/deepmerge/.eslintcache +1 -0
  200. package/dist/server/node_modules/deepmerge/changelog.md +167 -0
  201. package/dist/server/node_modules/deepmerge/dist/cjs.js +133 -0
  202. package/dist/server/node_modules/deepmerge/dist/umd.js +139 -0
  203. package/dist/server/node_modules/deepmerge/index.d.ts +20 -0
  204. package/dist/server/node_modules/deepmerge/index.js +106 -0
  205. package/dist/server/node_modules/deepmerge/license.txt +21 -0
  206. package/dist/server/node_modules/deepmerge/package.json +42 -0
  207. package/dist/server/node_modules/deepmerge/readme.md +264 -0
  208. package/dist/server/node_modules/deepmerge/rollup.config.js +22 -0
  209. package/dist/server/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  210. package/dist/server/node_modules/emoji-regex/README.md +107 -0
  211. package/dist/server/node_modules/emoji-regex/index.d.ts +3 -0
  212. package/dist/server/node_modules/emoji-regex/index.js +4 -0
  213. package/dist/server/node_modules/emoji-regex/index.mjs +4 -0
  214. package/dist/server/node_modules/emoji-regex/package.json +45 -0
  215. package/dist/server/node_modules/environment/index.d.ts +74 -0
  216. package/dist/server/node_modules/environment/index.js +47 -0
  217. package/dist/server/node_modules/environment/license +9 -0
  218. package/dist/server/node_modules/environment/package.json +74 -0
  219. package/dist/server/node_modules/environment/readme.md +94 -0
  220. package/dist/server/node_modules/escape-string-regexp/index.d.ts +18 -0
  221. package/dist/server/node_modules/escape-string-regexp/index.js +11 -0
  222. package/dist/server/node_modules/escape-string-regexp/license +9 -0
  223. package/dist/server/node_modules/escape-string-regexp/package.json +43 -0
  224. package/dist/server/node_modules/escape-string-regexp/readme.md +29 -0
  225. package/dist/server/node_modules/indent-string/index.d.ts +38 -0
  226. package/dist/server/node_modules/indent-string/index.js +38 -0
  227. package/dist/server/node_modules/indent-string/license +9 -0
  228. package/dist/server/node_modules/indent-string/package.json +40 -0
  229. package/dist/server/node_modules/indent-string/readme.md +73 -0
  230. package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
  231. package/dist/server/node_modules/ink/build/ansi-tokenizer.js +316 -0
  232. package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
  233. package/dist/server/node_modules/ink/build/apply-styles.js +175 -0
  234. package/dist/server/node_modules/ink/build/build-layout.js +77 -0
  235. package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  236. package/dist/server/node_modules/ink/build/colorize.d.ts +3 -0
  237. package/dist/server/node_modules/ink/build/colorize.js +48 -0
  238. package/dist/server/node_modules/ink/build/colorize.js.map +1 -0
  239. package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
  240. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +5 -0
  241. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
  242. package/dist/server/node_modules/ink/build/components/App.d.ts +18 -0
  243. package/dist/server/node_modules/ink/build/components/App.js +351 -0
  244. package/dist/server/node_modules/ink/build/components/App.js.map +1 -0
  245. package/dist/server/node_modules/ink/build/components/AppContext.d.ts +15 -0
  246. package/dist/server/node_modules/ink/build/components/AppContext.js +11 -0
  247. package/dist/server/node_modules/ink/build/components/AppContext.js.map +1 -0
  248. package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
  249. package/dist/server/node_modules/ink/build/components/BackgroundContext.js +3 -0
  250. package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
  251. package/dist/server/node_modules/ink/build/components/Box.d.ts +117 -0
  252. package/dist/server/node_modules/ink/build/components/Box.js +34 -0
  253. package/dist/server/node_modules/ink/build/components/Box.js.map +1 -0
  254. package/dist/server/node_modules/ink/build/components/Color.js +62 -0
  255. package/dist/server/node_modules/ink/build/components/Cursor.d.ts +83 -0
  256. package/dist/server/node_modules/ink/build/components/Cursor.js +53 -0
  257. package/dist/server/node_modules/ink/build/components/Cursor.js.map +1 -0
  258. package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +11 -0
  259. package/dist/server/node_modules/ink/build/components/CursorContext.js +8 -0
  260. package/dist/server/node_modules/ink/build/components/CursorContext.js.map +1 -0
  261. package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
  262. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +23 -0
  263. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
  264. package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
  265. package/dist/server/node_modules/ink/build/components/ErrorOverview.js +84 -0
  266. package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
  267. package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +16 -0
  268. package/dist/server/node_modules/ink/build/components/FocusContext.js +17 -0
  269. package/dist/server/node_modules/ink/build/components/FocusContext.js.map +1 -0
  270. package/dist/server/node_modules/ink/build/components/Newline.d.ts +13 -0
  271. package/dist/server/node_modules/ink/build/components/Newline.js +8 -0
  272. package/dist/server/node_modules/ink/build/components/Newline.js.map +1 -0
  273. package/dist/server/node_modules/ink/build/components/Spacer.d.ts +7 -0
  274. package/dist/server/node_modules/ink/build/components/Spacer.js +11 -0
  275. package/dist/server/node_modules/ink/build/components/Spacer.js.map +1 -0
  276. package/dist/server/node_modules/ink/build/components/Static.d.ts +24 -0
  277. package/dist/server/node_modules/ink/build/components/Static.js +28 -0
  278. package/dist/server/node_modules/ink/build/components/Static.js.map +1 -0
  279. package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +15 -0
  280. package/dist/server/node_modules/ink/build/components/StderrContext.js +13 -0
  281. package/dist/server/node_modules/ink/build/components/StderrContext.js.map +1 -0
  282. package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +22 -0
  283. package/dist/server/node_modules/ink/build/components/StdinContext.js +19 -0
  284. package/dist/server/node_modules/ink/build/components/StdinContext.js.map +1 -0
  285. package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
  286. package/dist/server/node_modules/ink/build/components/StdoutContext.js +13 -0
  287. package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +1 -0
  288. package/dist/server/node_modules/ink/build/components/Text.d.ts +55 -0
  289. package/dist/server/node_modules/ink/build/components/Text.js +50 -0
  290. package/dist/server/node_modules/ink/build/components/Text.js.map +1 -0
  291. package/dist/server/node_modules/ink/build/components/Transform.d.ts +16 -0
  292. package/dist/server/node_modules/ink/build/components/Transform.js +15 -0
  293. package/dist/server/node_modules/ink/build/components/Transform.js.map +1 -0
  294. package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +38 -0
  295. package/dist/server/node_modules/ink/build/cursor-helpers.js +56 -0
  296. package/dist/server/node_modules/ink/build/cursor-helpers.js.map +1 -0
  297. package/dist/server/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
  298. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +65 -0
  299. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
  300. package/dist/server/node_modules/ink/build/devtools.d.ts +1 -0
  301. package/dist/server/node_modules/ink/build/devtools.js +11 -0
  302. package/dist/server/node_modules/ink/build/devtools.js.map +1 -0
  303. package/dist/server/node_modules/ink/build/dom.d.ts +56 -0
  304. package/dist/server/node_modules/ink/build/dom.js +124 -0
  305. package/dist/server/node_modules/ink/build/dom.js.map +1 -0
  306. package/dist/server/node_modules/ink/build/experimental/apply-style.js +140 -0
  307. package/dist/server/node_modules/ink/build/experimental/dom.js +123 -0
  308. package/dist/server/node_modules/ink/build/experimental/output.js +91 -0
  309. package/dist/server/node_modules/ink/build/experimental/reconciler.js +141 -0
  310. package/dist/server/node_modules/ink/build/experimental/renderer.js +81 -0
  311. package/dist/server/node_modules/ink/build/get-max-width.d.ts +3 -0
  312. package/dist/server/node_modules/ink/build/get-max-width.js +10 -0
  313. package/dist/server/node_modules/ink/build/get-max-width.js.map +1 -0
  314. package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +5 -0
  315. package/dist/server/node_modules/ink/build/hooks/use-app.js +8 -0
  316. package/dist/server/node_modules/ink/build/hooks/use-app.js.map +1 -0
  317. package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
  318. package/dist/server/node_modules/ink/build/hooks/use-cursor.js +29 -0
  319. package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
  320. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
  321. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
  322. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
  323. package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
  324. package/dist/server/node_modules/ink/build/hooks/use-focus.js +42 -0
  325. package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +1 -0
  326. package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +131 -0
  327. package/dist/server/node_modules/ink/build/hooks/use-input.js +124 -0
  328. package/dist/server/node_modules/ink/build/hooks/use-input.js.map +1 -0
  329. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  330. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  331. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  332. package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
  333. package/dist/server/node_modules/ink/build/hooks/use-stderr.js +8 -0
  334. package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
  335. package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
  336. package/dist/server/node_modules/ink/build/hooks/use-stdin.js +8 -0
  337. package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
  338. package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
  339. package/dist/server/node_modules/ink/build/hooks/use-stdout.js +8 -0
  340. package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
  341. package/dist/server/node_modules/ink/build/hooks/useInput.js +38 -0
  342. package/dist/server/node_modules/ink/build/index.d.ts +34 -0
  343. package/dist/server/node_modules/ink/build/index.js +20 -0
  344. package/dist/server/node_modules/ink/build/index.js.map +1 -0
  345. package/dist/server/node_modules/ink/build/ink.d.ts +90 -0
  346. package/dist/server/node_modules/ink/build/ink.js +637 -0
  347. package/dist/server/node_modules/ink/build/ink.js.map +1 -0
  348. package/dist/server/node_modules/ink/build/input-parser.d.ts +7 -0
  349. package/dist/server/node_modules/ink/build/input-parser.js +154 -0
  350. package/dist/server/node_modules/ink/build/input-parser.js.map +1 -0
  351. package/dist/server/node_modules/ink/build/instance.js +205 -0
  352. package/dist/server/node_modules/ink/build/instances.d.ts +3 -0
  353. package/dist/server/node_modules/ink/build/instances.js +8 -0
  354. package/dist/server/node_modules/ink/build/instances.js.map +1 -0
  355. package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
  356. package/dist/server/node_modules/ink/build/kitty-keyboard.js +32 -0
  357. package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +1 -0
  358. package/dist/server/node_modules/ink/build/layout.d.ts +7 -0
  359. package/dist/server/node_modules/ink/build/layout.js +33 -0
  360. package/dist/server/node_modules/ink/build/layout.js.map +1 -0
  361. package/dist/server/node_modules/ink/build/log-update.d.ts +19 -0
  362. package/dist/server/node_modules/ink/build/log-update.js +242 -0
  363. package/dist/server/node_modules/ink/build/log-update.js.map +1 -0
  364. package/dist/server/node_modules/ink/build/measure-element.d.ts +16 -0
  365. package/dist/server/node_modules/ink/build/measure-element.js +9 -0
  366. package/dist/server/node_modules/ink/build/measure-element.js.map +1 -0
  367. package/dist/server/node_modules/ink/build/measure-text.d.ts +6 -0
  368. package/dist/server/node_modules/ink/build/measure-text.js +21 -0
  369. package/dist/server/node_modules/ink/build/measure-text.js.map +1 -0
  370. package/dist/server/node_modules/ink/build/options.d.ts +52 -0
  371. package/dist/server/node_modules/ink/build/options.js +2 -0
  372. package/dist/server/node_modules/ink/build/options.js.map +1 -0
  373. package/dist/server/node_modules/ink/build/output.d.ts +35 -0
  374. package/dist/server/node_modules/ink/build/output.js +183 -0
  375. package/dist/server/node_modules/ink/build/output.js.map +1 -0
  376. package/dist/server/node_modules/ink/build/parse-keypress.d.ts +22 -0
  377. package/dist/server/node_modules/ink/build/parse-keypress.js +493 -0
  378. package/dist/server/node_modules/ink/build/parse-keypress.js.map +1 -0
  379. package/dist/server/node_modules/ink/build/reconciler.d.ts +4 -0
  380. package/dist/server/node_modules/ink/build/reconciler.js +274 -0
  381. package/dist/server/node_modules/ink/build/reconciler.js.map +1 -0
  382. package/dist/server/node_modules/ink/build/render-background.d.ts +4 -0
  383. package/dist/server/node_modules/ink/build/render-background.js +25 -0
  384. package/dist/server/node_modules/ink/build/render-background.js.map +1 -0
  385. package/dist/server/node_modules/ink/build/render-border.d.ts +4 -0
  386. package/dist/server/node_modules/ink/build/render-border.js +73 -0
  387. package/dist/server/node_modules/ink/build/render-border.js.map +1 -0
  388. package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +14 -0
  389. package/dist/server/node_modules/ink/build/render-node-to-output.js +147 -0
  390. package/dist/server/node_modules/ink/build/render-node-to-output.js.map +1 -0
  391. package/dist/server/node_modules/ink/build/render-to-string.d.ts +38 -0
  392. package/dist/server/node_modules/ink/build/render-to-string.js +115 -0
  393. package/dist/server/node_modules/ink/build/render-to-string.js.map +1 -0
  394. package/dist/server/node_modules/ink/build/render.d.ts +121 -0
  395. package/dist/server/node_modules/ink/build/render.js +55 -0
  396. package/dist/server/node_modules/ink/build/render.js.map +1 -0
  397. package/dist/server/node_modules/ink/build/renderer.d.ts +8 -0
  398. package/dist/server/node_modules/ink/build/renderer.js +55 -0
  399. package/dist/server/node_modules/ink/build/renderer.js.map +1 -0
  400. package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
  401. package/dist/server/node_modules/ink/build/sanitize-ansi.js +27 -0
  402. package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +1 -0
  403. package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  404. package/dist/server/node_modules/ink/build/screen-reader-update.js +38 -0
  405. package/dist/server/node_modules/ink/build/screen-reader-update.js.map +1 -0
  406. package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
  407. package/dist/server/node_modules/ink/build/squash-text-nodes.js +36 -0
  408. package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +1 -0
  409. package/dist/server/node_modules/ink/build/styles.d.ts +240 -0
  410. package/dist/server/node_modules/ink/build/styles.js +232 -0
  411. package/dist/server/node_modules/ink/build/styles.js.map +1 -0
  412. package/dist/server/node_modules/ink/build/utils.d.ts +2 -0
  413. package/dist/server/node_modules/ink/build/utils.js +4 -0
  414. package/dist/server/node_modules/ink/build/utils.js.map +1 -0
  415. package/dist/server/node_modules/ink/build/wrap-text.d.ts +3 -0
  416. package/dist/server/node_modules/ink/build/wrap-text.js +31 -0
  417. package/dist/server/node_modules/ink/build/wrap-text.js.map +1 -0
  418. package/dist/server/node_modules/ink/build/write-synchronized.d.ts +4 -0
  419. package/dist/server/node_modules/ink/build/write-synchronized.js +7 -0
  420. package/dist/server/node_modules/ink/build/write-synchronized.js.map +1 -0
  421. package/dist/server/node_modules/ink/license +10 -0
  422. package/dist/server/node_modules/ink/package.json +201 -0
  423. package/dist/server/node_modules/ink/readme.md +2636 -0
  424. package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  425. package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
  426. package/dist/server/node_modules/is-fullwidth-code-point/license +9 -0
  427. package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
  428. package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
  429. package/dist/server/node_modules/is-in-ci/cli.js +5 -0
  430. package/dist/server/node_modules/is-in-ci/index.d.ts +15 -0
  431. package/dist/server/node_modules/is-in-ci/index.js +7 -0
  432. package/dist/server/node_modules/is-in-ci/license +9 -0
  433. package/dist/server/node_modules/is-in-ci/package.json +49 -0
  434. package/dist/server/node_modules/is-in-ci/readme.md +44 -0
  435. package/dist/server/node_modules/is-unicode-supported/index.d.ts +12 -0
  436. package/dist/server/node_modules/is-unicode-supported/index.js +21 -0
  437. package/dist/server/node_modules/is-unicode-supported/license +9 -0
  438. package/dist/server/node_modules/is-unicode-supported/package.json +47 -0
  439. package/dist/server/node_modules/is-unicode-supported/readme.md +35 -0
  440. package/dist/server/node_modules/onetime/index.d.ts +64 -0
  441. package/dist/server/node_modules/onetime/index.js +44 -0
  442. package/dist/server/node_modules/onetime/license +9 -0
  443. package/dist/server/node_modules/onetime/package.json +43 -0
  444. package/dist/server/node_modules/onetime/readme.md +94 -0
  445. package/dist/server/node_modules/patch-console/dist/index.d.ts +4 -0
  446. package/dist/server/node_modules/patch-console/dist/index.js +45 -0
  447. package/dist/server/node_modules/patch-console/dist/index.js.map +1 -0
  448. package/dist/server/node_modules/patch-console/license +9 -0
  449. package/dist/server/node_modules/patch-console/package.json +53 -0
  450. package/dist/server/node_modules/patch-console/readme.md +62 -0
  451. package/dist/server/node_modules/{pg → react-reconciler}/LICENSE +1 -1
  452. package/dist/server/node_modules/react-reconciler/README.md +353 -0
  453. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler-constants.development.js +19 -0
  454. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler-constants.production.js +18 -0
  455. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler-reflection.development.js +394 -0
  456. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler-reflection.production.js +382 -0
  457. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler.development.js +19736 -0
  458. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler.production.js +11594 -0
  459. package/dist/server/node_modules/react-reconciler/cjs/react-reconciler.profiling.js +13427 -0
  460. package/dist/server/node_modules/react-reconciler/constants.js +7 -0
  461. package/dist/server/node_modules/react-reconciler/index.js +7 -0
  462. package/dist/server/node_modules/react-reconciler/package.json +34 -0
  463. package/dist/server/node_modules/react-reconciler/reflection.js +7 -0
  464. package/dist/server/node_modules/restore-cursor/index.d.ts +11 -0
  465. package/dist/server/node_modules/restore-cursor/index.js +11 -0
  466. package/dist/server/node_modules/restore-cursor/license +9 -0
  467. package/dist/server/node_modules/restore-cursor/package.json +55 -0
  468. package/dist/server/node_modules/restore-cursor/readme.md +31 -0
  469. package/dist/server/node_modules/split2/LICENSE +13 -0
  470. package/dist/server/node_modules/split2/README.md +85 -0
  471. package/dist/server/node_modules/split2/bench.js +27 -0
  472. package/dist/server/node_modules/split2/index.js +141 -0
  473. package/dist/server/node_modules/split2/package.json +39 -0
  474. package/dist/server/node_modules/split2/test.js +409 -0
  475. package/dist/server/node_modules/string-width/index.d.ts +39 -0
  476. package/dist/server/node_modules/string-width/index.js +82 -0
  477. package/dist/server/node_modules/string-width/license +9 -0
  478. package/dist/server/node_modules/string-width/package.json +64 -0
  479. package/dist/server/node_modules/string-width/readme.md +66 -0
  480. package/dist/server/node_modules/terminal-size/index.d.ts +17 -0
  481. package/dist/server/node_modules/terminal-size/index.js +139 -0
  482. package/dist/server/node_modules/terminal-size/license +9 -0
  483. package/dist/server/node_modules/terminal-size/package.json +49 -0
  484. package/dist/server/node_modules/terminal-size/readme.md +32 -0
  485. package/dist/server/node_modules/widest-line/index.d.ts +12 -0
  486. package/dist/server/node_modules/widest-line/index.js +11 -0
  487. package/dist/server/node_modules/widest-line/license +9 -0
  488. package/dist/server/node_modules/widest-line/package.json +60 -0
  489. package/dist/server/node_modules/widest-line/readme.md +26 -0
  490. package/dist/server/node_modules/wrap-ansi/index.d.ts +41 -0
  491. package/dist/server/node_modules/wrap-ansi/index.js +222 -0
  492. package/dist/server/node_modules/wrap-ansi/license +9 -0
  493. package/dist/server/node_modules/wrap-ansi/package.json +69 -0
  494. package/dist/server/node_modules/wrap-ansi/readme.md +75 -0
  495. package/dist/server/node_modules/xtend/.jshintrc +30 -0
  496. package/dist/server/node_modules/xtend/LICENSE +20 -0
  497. package/dist/server/node_modules/xtend/README.md +32 -0
  498. package/dist/server/node_modules/xtend/immutable.js +19 -0
  499. package/dist/server/node_modules/xtend/mutable.js +17 -0
  500. package/dist/server/node_modules/xtend/package.json +55 -0
  501. package/dist/server/node_modules/xtend/test.js +103 -0
  502. package/dist/server/node_modules/yoga-layout/README.md +40 -0
  503. package/dist/server/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js +75 -0
  504. package/dist/server/node_modules/yoga-layout/dist/src/generated/YGEnums.d.ts +189 -0
  505. package/dist/server/node_modules/yoga-layout/dist/src/generated/YGEnums.js +211 -0
  506. package/dist/server/node_modules/yoga-layout/dist/src/generated/YGEnums.js.map +1 -0
  507. package/dist/server/node_modules/yoga-layout/dist/src/index.d.ts +12 -0
  508. package/dist/server/node_modules/yoga-layout/dist/src/index.js +16 -0
  509. package/dist/server/node_modules/yoga-layout/dist/src/index.js.map +1 -0
  510. package/dist/server/node_modules/yoga-layout/dist/src/load.d.ts +11 -0
  511. package/dist/server/node_modules/yoga-layout/dist/src/load.js +17 -0
  512. package/dist/server/node_modules/yoga-layout/dist/src/load.js.map +1 -0
  513. package/dist/server/node_modules/yoga-layout/dist/src/wrapAssembly.d.ts +155 -0
  514. package/dist/server/node_modules/yoga-layout/dist/src/wrapAssembly.js +125 -0
  515. package/dist/server/node_modules/yoga-layout/dist/src/wrapAssembly.js.map +1 -0
  516. package/dist/server/node_modules/yoga-layout/package.json +53 -0
  517. package/dist/server/node_modules/yoga-layout/src/Config.cpp +54 -0
  518. package/dist/server/node_modules/yoga-layout/src/Config.h +44 -0
  519. package/dist/server/node_modules/yoga-layout/src/Layout.h +19 -0
  520. package/dist/server/node_modules/yoga-layout/src/Node.cpp +507 -0
  521. package/dist/server/node_modules/yoga-layout/src/Node.h +239 -0
  522. package/dist/server/node_modules/yoga-layout/src/Size.h +17 -0
  523. package/dist/server/node_modules/yoga-layout/src/Value.h +23 -0
  524. package/dist/server/node_modules/yoga-layout/src/embind.cpp +207 -0
  525. package/dist/server/node_modules/yoga-layout/src/generated/YGEnums.ts +210 -0
  526. package/dist/server/node_modules/yoga-layout/src/index.ts +23 -0
  527. package/dist/server/node_modules/yoga-layout/src/load.ts +25 -0
  528. package/dist/server/node_modules/yoga-layout/src/wrapAssembly.ts +336 -0
  529. package/package.json +1 -1
  530. package/dist/client/assets/ai-providers-D-IR9UZj.js +0 -1
  531. package/dist/client/assets/registry-RhRTyf-3.js +0 -2
  532. package/dist/client/assets/store-registry-Fp0RwcQv.js +0 -2
  533. package/dist/client/assets/useInfiniteQuery-ch_R3hWu.js +0 -1
  534. package/dist/client/assets/useSuspenseInfiniteQuery-BU66AZeq.js +0 -1
  535. package/dist/client/assets/workflow-detail-DR2tbuTB.js +0 -1
  536. package/dist/server/node_modules/get-east-asian-width/index.d.ts +0 -60
  537. package/dist/server/node_modules/get-east-asian-width/index.js +0 -30
  538. package/dist/server/node_modules/get-east-asian-width/lookup-data.js +0 -18
  539. package/dist/server/node_modules/get-east-asian-width/lookup.js +0 -135
  540. package/dist/server/node_modules/get-east-asian-width/package.json +0 -71
  541. package/dist/server/node_modules/get-east-asian-width/readme.md +0 -65
  542. package/dist/server/node_modules/get-east-asian-width/utilities.js +0 -24
  543. package/dist/server/node_modules/pg/README.md +0 -95
  544. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  545. package/dist/server/node_modules/pg/lib/client.js +0 -743
  546. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  547. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  548. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  549. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  550. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  551. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  552. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  553. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  554. package/dist/server/node_modules/pg/lib/index.js +0 -73
  555. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  556. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  557. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  558. package/dist/server/node_modules/pg/lib/query.js +0 -252
  559. package/dist/server/node_modules/pg/lib/result.js +0 -109
  560. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  561. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  562. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  563. package/dist/server/node_modules/pg/package.json +0 -76
  564. /package/dist/server/node_modules/{get-east-asian-width → ansi-escapes}/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(Y){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",Y)}}async function EA1(X){let Y={...process.env},G=M$1(X,Y),Q=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(Q)} (${Q.length} chars)`);let{ensureServices:J}=await Promise.resolve().then(() => (N$1(),U$1)),{outputs:W,services:Z}=await J({home:G.settings.dataDir,externalDatabaseUrl:G.externalDatabaseUrl,externalNatsUrl:G.externalNatsUrl});if(!G.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (Z30(),Kx6));await K(W.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (QU(),$x6)),{migrateToLatest:U}=await Promise.resolve().then(() => (Br6(),Nr6)),N=H(W.databaseUrl);await U({keepOpen:!0,database:N,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => zs6);await K(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:W.databaseUrl,natsUrls:W.natsUrls};return Kl0($),{settings:$,services:Z.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:Z.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var CN0=D(()=>{mn1();m9()});import{createServer as Os6}from"net";function Ri5(X){return new Promise((Y)=>{let G=Os6();G.once("error",()=>Y(!1)),G.listen(X,"0.0.0.0",()=>{G.close(()=>Y(!0))})})}async function PA1(X){if(await Ri5(X))return X;let Y=await new Promise((G,Q)=>{let J=Os6();J.once("error",Q),J.listen(0,"0.0.0.0",()=>{let W=J.address(),Z=typeof W==="object"&&W?W.port:0;J.close(()=>G(Z))})});return console.warn(`Port ${X} is in use, using port ${Y} instead.`),Y}var kN0=()=>{};var vN0={};M0(vN0,{startDevServer:()=>Ci5});import{join as Si5}from"path";function Ds6(X){return X.replace(/\x1b\[[0-9;]*m/g,"")}function ws6(X){let Y=X.getReader(),G=new TextDecoder,Q="";function J(){let W=Q.split(`
1639
- `);Q=W.pop()??"";for(let Z of W){let $=Ds6(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;LK({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=Ds6(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)LK({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ci5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await PA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await EA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Od({name:z.name,status:"ready",port:z.port});Te(W),qe();let K=Si5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)ws6(U.stdout),ws6(U.stderr);let N=G||`http://localhost:${W.port}`;Ae(N),Od({name:"Vite",status:"ready",port:Number(Y)});let B=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (N$1(),U$1));await O(W.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(W.port),process:U}}var _N0=D(()=>{CN0();YF();kN0()});import{Box as fN0,Text as bN0}from"ink";import{jsx as Es6,jsxs as qA1}from"react/jsx-runtime";function Ls6(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function _i5(X,Y){if(ki5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(vi5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>Ls6(W)).join(", "),color:"cyan"}}let Q=Ls6(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);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 fi5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.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:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"Transport",entries:[{key:"UNSAFE_ALLOW_STDIO_TRANSPORT",value:X.unsafeAllowStdioTransport}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function Ps6({env:X}){let Y=fi5(X);return Es6(fN0,{flexDirection:"column",children:Y.map((G)=>qA1(fN0,{flexDirection:"column",marginTop:1,children:[qA1(bN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=_i5(Q,J);return qA1(fN0,{children:[qA1(bN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),Es6(bN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var ki5,vi5;var qs6=D(()=>{ki5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),vi5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var yN0;var As6=D(()=>{yN0={name:"decocms",version:"2.290.0",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":"bun run --cwd=../../packages/sandbox build && 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 qU,Text as MX}from"ink";import{Spinner as yi5}from"@inkjs/ui";import{useSyncExternalStore as Ts6}from"react";import{jsx as qY,jsxs as tQ}from"react/jsx-runtime";function li5(X,Y){if(!X||!ui5.has(X))return X;let G=xN0[Y]??xN0[xN0.length-1];return X==="#875f00"?G[0]:G[1]}function Is6({status:X}){if(X==="pending")return qY(yi5,{label:""});return qY(MX,{color:"green",children:"\u2713"})}function Vs6({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=Ts6(ku0,Cu0),Z=Ts6(xu0,yu0);return tQ(qU,{flexDirection:"column",paddingBottom:1,children:[J?tQ(qU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((B,z)=>B+z.text.length,0),N=Math.max(0,gi5-U);return tQ(qU,{flexDirection:"row",children:[$.map((B,z)=>{let O=li5(B.color,K);return O?qY(MX,{color:O,children:B.text},z):qY(MX,{children:B.text},z)}),qY(MX,{children:" ".repeat(N+2)}),H?.map((B,z)=>B.color?qY(MX,{color:B.color,children:B.char},z):qY(MX,{children:B.char},z))]},K)}),tQ(MX,{dimColor:!0,children:[" v",yN0.version]})]}):tQ(qU,{flexDirection:"column",marginTop:1,children:[xi5.map(($,K)=>qY(MX,{color:hi5[K],children:$},K)),tQ(MX,{dimColor:!0,children:[" v",yN0.version]})]}),qY(qU,{marginBottom:1,children:qY(MX,{dimColor:!0,children:"\u2500".repeat(80)})}),qY(qU,{children:tQ(MX,{dimColor:!0,children:["Home: ",G]})}),tQ(qU,{gap:2,children:[X.map(($)=>tQ(qU,{gap:1,children:[tQ(MX,{children:[$.name," :",$.port||"...."]}),qY(Is6,{status:$.status})]},$.name)),tQ(qU,{gap:1,children:[qY(MX,{children:"Migrations"}),qY(Is6,{status:Y})]})]}),qY(qU,{children:Q?tQ(MX,{children:["Open in browser: ",qY(MX,{color:"cyan",children:Q})]}):qY(MX,{dimColor:!0,children:"Starting..."})}),tQ(qU,{gap:2,children:[tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var xi5,hi5,xN0,gi5=30,ui5;var js6=D(()=>{As6();Ln1();In1();xi5=[" \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 "],hi5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],xN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],ui5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as mi5}from"react";function di5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==AA1.rows||Y!==AA1.columns)AA1={rows:X,columns:Y};return AA1}function ci5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function Ms6(){return mi5(ci5,di5)}var AA1;var Rs6=D(()=>{AA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as ii5,Text as qX1}from"ink";import{useSyncExternalStore as pi5}from"react";import{jsx as hN0,jsxs as gN0}from"react/jsx-runtime";function ni5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function Ss6({logs:X,headerHeight:Y}){let{rows:G}=Ms6(),{logFlow:Q}=pi5(Pe,Ee),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return hN0(ii5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return hN0(qX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return gN0(qX1,{children:[gN0(qX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),hN0(qX1,{color:ni5(Z.status),children:Z.status}),gN0(qX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var Cs6=D(()=>{YF();Rs6()});var uN0={};M0(uN0,{App:()=>Xp5});import{Box as ai5,Text as ti5,useInput as ri5}from"ink";import{useSyncExternalStore as oi5}from"react";import{jsx as TA1,jsxs as Yp5}from"react/jsx-runtime";function Xp5({home:X}){let Y=oi5(Pe,Ee);return ri5((G)=>{if(G==="k"||G==="K")Cn1();if(G==="l"||G==="L")kn1();if((G==="v"||G==="V")&&Y.dataDir)Rn1(Y.dataDir),vn1();if((G==="n"||G==="N")&&Y.vibe)Mn1()}),Yp5(ai5,{flexDirection:"column",children:[TA1(Vs6,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?TA1(Ps6,{env:Y.env}):TA1(ti5,{dimColor:!0,children:"Loading configuration..."}):TA1(Ss6,{logs:Y.logs,headerHeight:Y.vibe?ei5:si5})]})}var si5=15,ei5=19;var lN0=D(()=>{qs6();js6();Cs6();YF();zd()});function ks6(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DECOCMS_ALLOW_LOCAL_PROD:String(X.allowLocalProd),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),UNSAFE_ALLOW_STDIO_TRANSPORT:String(X.unsafeAllowStdioTransport),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}function _s6(X){if(!X)return!1;try{return new URL(X).host==="api.decocms.com"&&X!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}var vs6="https://studio.decocms.com/org/deco/registry/mcp";var mN0=(X,Y,G)=>{return(Q,J)=>{let W=-1;return Z(0);async function Z($){if($<=W)throw Error("next() called multiple times");W=$;let K,H=!1,U;if(X[$])U=X[$][0][0],Q.req.routeIndex=$;else U=$===X.length&&J||void 0;if(U)try{K=await U(Q,()=>Z($+1))}catch(N){if(N instanceof Error&&Y)Q.error=N,K=await Y(N,Q),H=!0;else throw N}else if(Q.finalized===!1&&G)K=await G(Q);if(K&&(Q.finalized===!1||H))Q.res=K;return Q}}};var fs6=()=>{};var M9;var Lq=D(()=>{M9=class extends Error{res;status;constructor(X=500,Y){super(Y?.message,{cause:Y?.cause});this.res=Y?.res,this.status=X}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 bs6;var ys6=D(()=>{bs6=Symbol()});async function Gp5(X,Y){let G=await X.formData();if(G)return Qp5(G,Y);return{}}function Qp5(X,Y){let G=Object.create(null);if(X.forEach((Q,J)=>{if(!(Y.all||J.endsWith("[]")))G[J]=Q;else Jp5(G,J,Q)}),Y.dot)Object.entries(G).forEach(([Q,J])=>{if(Q.includes("."))Zp5(G,Q,J),delete G[Q]});return G}var xs6=async(X,Y=Object.create(null))=>{let{all:G=!1,dot:Q=!1}=Y,W=(X instanceof IA1?X.raw.headers:X.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return Gp5(X,{all:G,dot:Q});return{}},Jp5=(X,Y,G)=>{if(X[Y]!==void 0)if(Array.isArray(X[Y]))X[Y].push(G);else X[Y]=[X[Y],G];else if(!Y.endsWith("[]"))X[Y]=G;else X[Y]=[G]},Zp5=(X,Y,G)=>{if(/(?:^|\.)__proto__\./.test(Y))return;let Q=X,J=Y.split(".");J.forEach((W,Z)=>{if(Z===J.length-1)Q[W]=G;else{if(!Q[W]||typeof Q[W]!=="object"||Array.isArray(Q[W])||Q[W]instanceof File)Q[W]=Object.create(null);Q=Q[W]}})};var hs6=D(()=>{dN0()});var iN0=(X)=>{let Y=X.split("/");if(Y[0]==="")Y.shift();return Y},gs6=(X)=>{let{groups:Y,path:G}=Wp5(X),Q=iN0(G);return $p5(Q,Y)},Wp5=(X)=>{let Y=[];return X=X.replace(/\{[^}]+\}/g,(G,Q)=>{let J=`@${Q}`;return Y.push([J,G]),J}),{groups:Y,path:X}},$p5=(X,Y)=>{for(let G=Y.length-1;G>=0;G--){let[Q]=Y[G];for(let J=X.length-1;J>=0;J--)if(X[J].includes(Q)){X[J]=X[J].replace(Q,Y[G][1]);break}}return X},VA1,us6=(X,Y)=>{if(X==="*")return"*";let G=X.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(G){let Q=`${X}#${Y}`;if(!VA1[Q])if(G[2])VA1[Q]=Y&&Y[0]!==":"&&Y[0]!=="*"?[Q,G[1],new RegExp(`^${G[2]}(?=/${Y})`)]:[X,G[1],new RegExp(`^${G[2]}$`)];else VA1[Q]=[X,G[1],!0];return VA1[Q]}return null},da=(X,Y)=>{try{return Y(X)}catch{return X.replace(/(?:%[0-9A-Fa-f]{2})+/g,(G)=>{try{return Y(G)}catch{return G}})}},ls6=(X)=>da(X,decodeURI),pN0=(X)=>{let Y=X.url,G=Y.indexOf("/",Y.indexOf(":")+4),Q=G;for(;Q<Y.length;Q++){let J=Y.charCodeAt(Q);if(J===37){let W=Y.indexOf("?",Q),Z=Y.indexOf("#",Q),$=W===-1?Z===-1?void 0:Z:Z===-1?W:Math.min(W,Z),K=Y.slice(G,$);return ls6(K.includes("%25")?K.replace(/%25/g,"%2525"):K)}else if(J===63||J===35)break}return Y.slice(G,Q)},ms6=(X)=>{let Y=pN0(X);return Y.length>1&&Y.at(-1)==="/"?Y.slice(0,-1):Y},Aj=(X,Y,...G)=>{if(G.length)Y=Aj(Y,...G);return`${X?.[0]==="/"?"":"/"}${X}${Y==="/"?"":`${X?.at(-1)==="/"?"":"/"}${Y?.[0]==="/"?Y.slice(1):Y}`}`},jA1=(X)=>{if(X.charCodeAt(X.length-1)!==63||!X.includes(":"))return null;let Y=X.split("/"),G=[],Q="";return Y.forEach((J)=>{if(J!==""&&!/\:/.test(J))Q+="/"+J;else if(/\:/.test(J))if(/\?/.test(J)){if(G.length===0&&Q==="")G.push("/");else G.push(Q);let W=J.replace("?","");Q+="/"+W,G.push(Q)}else Q+="/"+J}),G.filter((J,W,Z)=>Z.indexOf(J)===W)},cN0=(X)=>{if(!/[%+]/.test(X))return X;if(X.indexOf("+")!==-1)X=X.replace(/\+/g," ");return X.indexOf("%")!==-1?da(X,AX1):X},ds6=(X,Y,G)=>{let Q;if(!G&&Y&&!/[%+]/.test(Y)){let Z=X.indexOf("?",8);if(Z===-1)return;if(!X.startsWith(Y,Z+1))Z=X.indexOf(`&${Y}`,Z+1);while(Z!==-1){let $=X.charCodeAt(Z+Y.length+1);if($===61){let K=Z+Y.length+2,H=X.indexOf("&",K);return cN0(X.slice(K,H===-1?void 0:H))}else if($==38||isNaN($))return"";Z=X.indexOf(`&${Y}`,Z+1)}if(Q=/[%+]/.test(X),!Q)return}let J={};Q??=/[%+]/.test(X);let W=X.indexOf("?",8);while(W!==-1){let Z=X.indexOf("&",W+1),$=X.indexOf("=",W);if($>Z&&Z!==-1)$=-1;let K=X.slice(W+1,$===-1?Z===-1?void 0:Z:$);if(Q)K=cN0(K);if(W=Z,K==="")continue;let H;if($===-1)H="";else if(H=X.slice($+1,Z===-1?void 0:Z),Q)H=cN0(H);if(G){if(!(J[K]&&Array.isArray(J[K])))J[K]=[];J[K].push(H)}else J[K]??=H}return Y?J[Y]:J},cs6,is6=(X,Y)=>{return ds6(X,Y,!0)},AX1;var Eq=D(()=>{VA1={},cs6=ds6,AX1=decodeURIComponent});var ps6=(X)=>da(X,AX1),IA1;var dN0=D(()=>{Lq();ys6();hs6();Eq();IA1=class{raw;#X;#Y;routeIndex=0;path;bodyCache={};constructor(X,Y="/",G=[[]]){this.raw=X,this.path=Y,this.#Y=G,this.#X={}}param(X){return X?this.#G(X):this.#Q()}#G(X){let Y=this.#Y[0][this.routeIndex][1][X],G=this.#J(Y);return G&&/\%/.test(G)?ps6(G):G}#Q(){let X={},Y=Object.keys(this.#Y[0][this.routeIndex][1]);for(let G of Y){let Q=this.#J(this.#Y[0][this.routeIndex][1][G]);if(Q!==void 0)X[G]=/\%/.test(Q)?ps6(Q):Q}return X}#J(X){return this.#Y[1]?this.#Y[1][X]:X}query(X){return cs6(this.url,X)}queries(X){return is6(this.url,X)}header(X){if(X)return this.raw.headers.get(X)??void 0;let Y={};return this.raw.headers.forEach((G,Q)=>{Y[Q]=G}),Y}async parseBody(X){return xs6(this,X)}#Z=(X)=>{let{bodyCache:Y,raw:G}=this,Q=Y[X];if(Q)return Q;let J=Object.keys(Y)[0];if(J)return Y[J].then((W)=>{if(J==="json")W=JSON.stringify(W);return new Response(W)[X]()});return Y[X]=G[X]()};json(){return this.#Z("text").then((X)=>JSON.parse(X))}text(){return this.#Z("text")}arrayBuffer(){return this.#Z("arrayBuffer")}blob(){return this.#Z("blob")}formData(){return this.#Z("formData")}addValidatedData(X,Y){this.#X[X]=Y}valid(X){return this.#X[X]}get url(){return this.raw.url}get method(){return this.raw.method}get[bs6](){return this.#Y}get matchedRoutes(){return this.#Y[0].map(([[,X]])=>X)}get routePath(){return this.#Y[0].map(([[,X]])=>X)[this.routeIndex].path}}});var MA1,ns6=(X,Y)=>{let G=new String(X);return G.isEscaped=!0,G.callbacks=Y,G},TX1=async(X,Y,G,Q,J)=>{if(typeof X==="object"&&!(X instanceof String)){if(!(X instanceof Promise))X=X.toString();if(X instanceof Promise)X=await X}let W=X.callbacks;if(!W?.length)return Promise.resolve(X);if(J)J[0]+=X;else J=[X];let Z=Promise.all(W.map(($)=>$({phase:Y,buffer:J,context:Q}))).then(($)=>Promise.all($.filter(Boolean).map((K)=>TX1(K,Y,!1,Q,J))).then(()=>J[0]));if(G)return ns6(await Z,W);else return Z};var RA1=D(()=>{MA1={Stringify:1,BeforeStream:2,Stream:3}});var as6="text/plain; charset=UTF-8",nN0=(X,Y)=>{return{"Content-Type":X,...Y}},IX1=(X,Y)=>new Response(X,Y),ts6=class{#X;#Y;env={};#G;finalized=!1;error;#Q;#J;#Z;#$;#W;#K;#H;#U;#N;constructor(X,Y){if(this.#X=X,Y)this.#J=Y.executionCtx,this.env=Y.env,this.#K=Y.notFoundHandler,this.#N=Y.path,this.#U=Y.matchResult}get req(){return this.#Y??=new IA1(this.#X,this.#N,this.#U),this.#Y}get event(){if(this.#J&&"respondWith"in this.#J)return this.#J;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#J)return this.#J;else throw Error("This context has no ExecutionContext")}get res(){return this.#Z||=IX1(null,{headers:this.#H??=new Headers})}set res(X){if(this.#Z&&X){X=IX1(X.body,X);for(let[Y,G]of this.#Z.headers.entries()){if(Y==="content-type")continue;if(Y==="set-cookie"){let Q=this.#Z.headers.getSetCookie();X.headers.delete("set-cookie");for(let J of Q)X.headers.append("set-cookie",J)}else X.headers.set(Y,G)}}this.#Z=X,this.finalized=!0}render=(...X)=>{return this.#W??=(Y)=>this.html(Y),this.#W(...X)};setLayout=(X)=>this.#$=X;getLayout=()=>this.#$;setRenderer=(X)=>{this.#W=X};header=(X,Y,G)=>{if(this.finalized)this.#Z=IX1(this.#Z.body,this.#Z);let Q=this.#Z?this.#Z.headers:this.#H??=new Headers;if(Y===void 0)Q.delete(X);else if(G?.append)Q.append(X,Y);else Q.set(X,Y)};status=(X)=>{this.#Q=X};set=(X,Y)=>{this.#G??=new Map,this.#G.set(X,Y)};get=(X)=>{return this.#G?this.#G.get(X):void 0};get var(){if(!this.#G)return{};return Object.fromEntries(this.#G)}#F(X,Y,G){let Q=this.#Z?new Headers(this.#Z.headers):this.#H??new Headers;if(typeof Y==="object"&&"headers"in Y){let W=Y.headers instanceof Headers?Y.headers:new Headers(Y.headers);for(let[Z,$]of W)if(Z.toLowerCase()==="set-cookie")Q.append(Z,$);else Q.set(Z,$)}if(G)for(let[W,Z]of Object.entries(G))if(typeof Z==="string")Q.set(W,Z);else{Q.delete(W);for(let $ of Z)Q.append(W,$)}let J=typeof Y==="number"?Y:Y?.status??this.#Q;return IX1(X,{status:J,headers:Q})}newResponse=(...X)=>this.#F(...X);body=(X,Y,G)=>this.#F(X,Y,G);text=(X,Y,G)=>{return!this.#H&&!this.#Q&&!Y&&!G&&!this.finalized?new Response(X):this.#F(X,Y,nN0(as6,G))};json=(X,Y,G)=>{return this.#F(JSON.stringify(X),Y,nN0("application/json",G))};html=(X,Y,G)=>{let Q=(J)=>this.#F(J,Y,nN0("text/html; charset=UTF-8",G));return typeof X==="object"?TX1(X,MA1.Stringify,!1,{}).then(Q):Q(X)};redirect=(X,Y)=>{let G=String(X);return this.header("Location",!/[^\x00-\xFF]/.test(G)?G:encodeURI(G)),this.newResponse(null,Y??302)};notFound=()=>{return this.#K??=()=>IX1(),this.#K(this)}};var SA1=D(()=>{dN0();RA1()});var T7="ALL",rs6="all",os6,CA1="Can not add a route since the matcher is already built.",kA1;var Pq=D(()=>{os6=["get","post","put","delete","options","patch"],kA1=class extends Error{}});var aN0="__COMPOSED_HANDLER";var tN0=()=>{};var Kp5=(X)=>{return X.text("404 Not Found",404)},ss6=(X,Y)=>{if("getResponse"in X){let G=X.getResponse();return Y.newResponse(G.body,G)}return console.error(X),Y.text("Internal Server Error",500)},es6=class X{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#X="/";routes=[];constructor(Y={}){[...os6,rs6].forEach((W)=>{this[W]=(Z,...$)=>{if(typeof Z==="string")this.#X=Z;else this.#Q(W,this.#X,Z);return $.forEach((K)=>{this.#Q(W,this.#X,K)}),this}}),this.on=(W,Z,...$)=>{for(let K of[Z].flat()){this.#X=K;for(let H of[W].flat())$.map((U)=>{this.#Q(H.toUpperCase(),this.#X,U)})}return this},this.use=(W,...Z)=>{if(typeof W==="string")this.#X=W;else this.#X="*",Z.unshift(W);return Z.forEach(($)=>{this.#Q(T7,this.#X,$)}),this};let{strict:Q,...J}=Y;Object.assign(this,J),this.getPath=Q??!0?Y.getPath??pN0:ms6}#Y(){let Y=new X({router:this.router,getPath:this.getPath});return Y.errorHandler=this.errorHandler,Y.#G=this.#G,Y.routes=this.routes,Y}#G=Kp5;errorHandler=ss6;route(Y,G){let Q=this.basePath(Y);return G.routes.map((J)=>{let W;if(G.errorHandler===ss6)W=J.handler;else W=async(Z,$)=>(await mN0([],G.errorHandler)(Z,()=>J.handler(Z,$))).res,W[aN0]=J.handler;Q.#Q(J.method,J.path,W)}),this}basePath(Y){let G=this.#Y();return G._basePath=Aj(this._basePath,Y),G}onError=(Y)=>{return this.errorHandler=Y,this};notFound=(Y)=>{return this.#G=Y,this};mount(Y,G,Q){let J,W;if(Q)if(typeof Q==="function")W=Q;else if(W=Q.optionHandler,Q.replaceRequest===!1)J=(K)=>K;else J=Q.replaceRequest;let Z=W?(K)=>{let H=W(K);return Array.isArray(H)?H:[H]}:(K)=>{let H=void 0;try{H=K.executionCtx}catch{}return[K.env,H]};J||=(()=>{let K=Aj(this._basePath,Y),H=K==="/"?0:K.length;return(U)=>{let N=new URL(U.url);return N.pathname=N.pathname.slice(H)||"/",new Request(N,U)}})();let $=async(K,H)=>{let U=await G(J(K.req.raw),...Z(K));if(U)return U;await H()};return this.#Q(T7,Aj(Y,"*"),$),this}#Q(Y,G,Q){Y=Y.toUpperCase(),G=Aj(this._basePath,G);let J={basePath:this._basePath,path:G,method:Y,handler:Q};this.router.add(Y,G,[Q,J]),this.routes.push(J)}#J(Y,G){if(Y instanceof Error)return this.errorHandler(Y,G);throw Y}#Z(Y,G,Q,J){if(J==="HEAD")return(async()=>new Response(null,await this.#Z(Y,G,Q,"GET")))();let W=this.getPath(Y,{env:Q}),Z=this.router.match(J,W),$=new ts6(Y,{path:W,matchResult:Z,env:Q,executionCtx:G,notFoundHandler:this.#G});if(Z[0].length===1){let H;try{H=Z[0][0][0][0]($,async()=>{$.res=await this.#G($)})}catch(U){return this.#J(U,$)}return H instanceof Promise?H.then((U)=>U||($.finalized?$.res:this.#G($))).catch((U)=>this.#J(U,$)):H??this.#G($)}let K=mN0(Z[0],this.errorHandler,this.#G);return(async()=>{try{let H=await K($);if(!H.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return H.res}catch(H){return this.#J(H,$)}})()}fetch=(Y,...G)=>{return this.#Z(Y,G[1],G[0],Y.method)};request=(Y,G,Q,J)=>{if(Y instanceof Request)return this.fetch(G?new Request(Y,G):Y,Q,J);return Y=Y.toString(),this.fetch(new Request(/^https?:\/\//.test(Y)?Y:`http://localhost${Aj("/",Y)}`,G),Q,J)};fire=()=>{addEventListener("fetch",(Y)=>{Y.respondWith(this.#Z(Y.request,Y,void 0,Y.request.method))})}};var Xe6=D(()=>{fs6();SA1();Pq();tN0();Eq()});function vA1(X,Y){let G=this.buildAllMatchers(),Q=(J,W)=>{let Z=G[J]||G[T7],$=Z[2][W];if($)return $;let K=W.match(Z[0]);if(!K)return[[],VX1];let H=K.indexOf("",1);return[Z[1][H],K]};return this.match=Q,Q(X,Y)}var VX1;var rN0=D(()=>{Pq();VX1=[]});function Fp5(X,Y){if(X.length===1)return Y.length===1?X<Y?-1:1:-1;if(Y.length===1)return 1;if(X===jX1||X===MX1)return 1;else if(Y===jX1||Y===MX1)return-1;if(X===_A1)return 1;else if(Y===_A1)return-1;return X.length===Y.length?X<Y?-1:1:Y.length-X.length}var _A1="[^/]+",jX1=".*",MX1="(?:|/.*)",Tj,Hp5,Ye6=class X{#X;#Y;#G=Object.create(null);insert(Y,G,Q,J,W){if(Y.length===0){if(this.#X!==void 0)throw Tj;if(W)return;this.#X=G;return}let[Z,...$]=Y,K=Z==="*"?$.length===0?["","",jX1]:["","",_A1]:Z==="/*"?["","",MX1]:Z.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let U=K[1],N=K[2]||_A1;if(U&&K[2]){if(N===".*")throw Tj;if(N=N.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(N))throw Tj}if(H=this.#G[N],!H){if(Object.keys(this.#G).some((B)=>B!==jX1&&B!==MX1))throw Tj;if(W)return;if(H=this.#G[N]=new X,U!=="")H.#Y=J.varIndex++}if(!W&&U!=="")Q.push([U,H.#Y])}else if(H=this.#G[Z],!H){if(Object.keys(this.#G).some((U)=>U.length>1&&U!==jX1&&U!==MX1))throw Tj;if(W)return;H=this.#G[Z]=new X}H.insert($,G,Q,J,W)}buildRegExpStr(){let G=Object.keys(this.#G).sort(Fp5).map((Q)=>{let J=this.#G[Q];return(typeof J.#Y==="number"?`(${Q})@${J.#Y}`:Hp5.has(Q)?`\\${Q}`:Q)+J.buildRegExpStr()});if(typeof this.#X==="number")G.unshift(`#${this.#X}`);if(G.length===0)return"";if(G.length===1)return G[0];return"(?:"+G.join("|")+")"}};var oN0=D(()=>{Tj=Symbol(),Hp5=new Set(".\\+*[^]$()")});var Ge6=class{#X={varIndex:0};#Y=new Ye6;insert(X,Y,G){let Q=[],J=[];for(let Z=0;;){let $=!1;if(X=X.replace(/\{[^}]+\}/g,(K)=>{let H=`@\\${Z}`;return J[Z]=[H,K],Z++,$=!0,H}),!$)break}let W=X.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let Z=J.length-1;Z>=0;Z--){let[$]=J[Z];for(let K=W.length-1;K>=0;K--)if(W[K].indexOf($)!==-1){W[K]=W[K].replace($,J[Z][1]);break}}return this.#Y.insert(W,Y,Q,this.#X,G),Q}buildRegExp(){let X=this.#Y.buildRegExpStr();if(X==="")return[/^$/,[],[]];let Y=0,G=[],Q=[];return X=X.replace(/#(\d+)|@(\d+)|\.\*\$/g,(J,W,Z)=>{if(W!==void 0)return G[++Y]=Number(W),"$()";if(Z!==void 0)return Q[Number(Z)]=++Y,"";return""}),[new RegExp(`^${X}`),G,Q]}};var Qe6=D(()=>{oN0()});function Ze6(X){return Je6[X]??=new RegExp(X==="*"?"":`^${X.replace(/\/\*$|([.\\+*[^\]$()])/g,(Y,G)=>G?`\\${G}`:"(?:|/.*)")}$`)}function Np5(){Je6=Object.create(null)}function Bp5(X){let Y=new Ge6,G=[];if(X.length===0)return Up5;let Q=X.map((H)=>[!/\*|\/:/.test(H[0]),...H]).sort(([H,U],[N,B])=>H?1:N?-1:U.length-B.length),J=Object.create(null);for(let H=0,U=-1,N=Q.length;H<N;H++){let[B,z,O]=Q[H];if(B)J[z]=[O.map(([E])=>[E,Object.create(null)]),VX1];else U++;let w;try{w=Y.insert(z,U,B)}catch(E){throw E===Tj?new kA1(z):E}if(B)continue;G[U]=O.map(([E,P])=>{let q=Object.create(null);P-=1;for(;P>=0;P--){let[j,M]=w[P];q[j]=M}return[E,q]})}let[W,Z,$]=Y.buildRegExp();for(let H=0,U=G.length;H<U;H++)for(let N=0,B=G[H].length;N<B;N++){let z=G[H][N]?.[1];if(!z)continue;let O=Object.keys(z);for(let w=0,E=O.length;w<E;w++)z[O[w]]=$[z[O[w]]]}let K=[];for(let H in Z)K[H]=G[Z[H]];return[W,K,J]}function ca(X,Y){if(!X)return;for(let G of Object.keys(X).sort((Q,J)=>J.length-Q.length))if(Ze6(G).test(Y))return[...X[G]];return}var Up5,Je6,fA1=class{name="RegExpRouter";#X;#Y;constructor(){this.#X={[T7]:Object.create(null)},this.#Y={[T7]:Object.create(null)}}add(X,Y,G){let Q=this.#X,J=this.#Y;if(!Q||!J)throw Error(CA1);if(!Q[X])[Q,J].forEach(($)=>{$[X]=Object.create(null),Object.keys($[T7]).forEach((K)=>{$[X][K]=[...$[T7][K]]})});if(Y==="/*")Y="*";let W=(Y.match(/\/:/g)||[]).length;if(/\*$/.test(Y)){let $=Ze6(Y);if(X===T7)Object.keys(Q).forEach((K)=>{Q[K][Y]||=ca(Q[K],Y)||ca(Q[T7],Y)||[]});else Q[X][Y]||=ca(Q[X],Y)||ca(Q[T7],Y)||[];Object.keys(Q).forEach((K)=>{if(X===T7||X===K)Object.keys(Q[K]).forEach((H)=>{$.test(H)&&Q[K][H].push([G,W])})}),Object.keys(J).forEach((K)=>{if(X===T7||X===K)Object.keys(J[K]).forEach((H)=>$.test(H)&&J[K][H].push([G,W]))});return}let Z=jA1(Y)||[Y];for(let $=0,K=Z.length;$<K;$++){let H=Z[$];Object.keys(J).forEach((U)=>{if(X===T7||X===U)J[U][H]||=[...ca(Q[U],H)||ca(Q[T7],H)||[]],J[U][H].push([G,W-K+$+1])})}}match=vA1;buildAllMatchers(){let X=Object.create(null);return Object.keys(this.#Y).concat(Object.keys(this.#X)).forEach((Y)=>{X[Y]||=this.#G(Y)}),this.#X=this.#Y=void 0,Np5(),X}#G(X){let Y=[],G=X===T7;if([this.#X,this.#Y].forEach((Q)=>{let J=Q[X]?Object.keys(Q[X]).map((W)=>[W,Q[X][W]]):[];if(J.length!==0)G||=!0,Y.push(...J);else if(X!==T7)Y.push(...Object.keys(Q[T7]).map((W)=>[W,Q[T7][W]]))}),!G)return null;else return Bp5(Y)}};var sN0=D(()=>{Pq();Eq();rN0();oN0();Qe6();Up5=[/^$/,[],Object.create(null)],Je6=Object.create(null)});var zp5=class{name="PreparedRegExpRouter";#X;#Y;constructor(X,Y){this.#X=X,this.#Y=Y}#G(X,Y){let G=this.#X[X];G[1].forEach((Q)=>Q&&Q.push(Y)),Object.values(G[2]).forEach((Q)=>Q[0].push(Y))}#Q(X,Y,G,Q,J){let W=this.#X[X];if(!J)W[2][Y][0].push([G,{}]);else Q.forEach((Z)=>{if(typeof Z==="number")W[1][Z].push([G,J]);else W[2][Z||Y][0].push([G,J])})}add(X,Y,G){if(!this.#X[X]){let J=this.#X[T7],W={};for(let Z in J[2])W[Z]=[J[2][Z][0].slice(),VX1];this.#X[X]=[J[0],J[1].map((Z)=>Array.isArray(Z)?Z.slice():0),W]}if(Y==="/*"||Y==="*"){let J=[G,{}];if(X===T7)for(let W in this.#X)this.#G(W,J);else this.#G(X,J);return}let Q=this.#Y[Y];if(!Q)throw Error(`Path ${Y} is not registered`);for(let[J,W]of Q)if(X===T7)for(let Z in this.#X)this.#Q(Z,Y,G,J,W);else this.#Q(X,Y,G,J,W)}buildAllMatchers(){return this.#X}match=vA1};var We6=D(()=>{Pq();rN0();sN0()});var $e6=D(()=>{sN0();We6()});var eN0=class{name="SmartRouter";#X=[];#Y=[];constructor(X){this.#X=X.routers}add(X,Y,G){if(!this.#Y)throw Error(CA1);this.#Y.push([X,Y,G])}match(X,Y){if(!this.#Y)throw Error("Fatal error");let G=this.#X,Q=this.#Y,J=G.length,W=0,Z;for(;W<J;W++){let $=G[W];try{for(let K=0,H=Q.length;K<H;K++)$.add(...Q[K]);Z=$.match(X,Y)}catch(K){if(K instanceof kA1)continue;throw K}this.match=$.match.bind($),this.#X=[$],this.#Y=void 0;break}if(W===J)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,Z}get activeRouter(){if(this.#Y||this.#X.length!==1)throw Error("No active router has been determined yet.");return this.#X[0]}};var Ke6=D(()=>{Pq()});var He6=D(()=>{Ke6()});var RX1,Op5=(X)=>{for(let Y in X)return!0;return!1},Fe6=class X{#X;#Y;#G;#Q=0;#J=RX1;constructor(Y,G,Q){if(this.#Y=Q||Object.create(null),this.#X=[],Y&&G){let J=Object.create(null);J[Y]={handler:G,possibleKeys:[],score:0},this.#X=[J]}this.#G=[]}insert(Y,G,Q){this.#Q=++this.#Q;let J=this,W=gs6(G),Z=[];for(let $=0,K=W.length;$<K;$++){let H=W[$],U=W[$+1],N=us6(H,U),B=Array.isArray(N)?N[0]:H;if(B in J.#Y){if(J=J.#Y[B],N)Z.push(N[1]);continue}if(J.#Y[B]=new X,N)J.#G.push(N),Z.push(N[1]);J=J.#Y[B]}return J.#X.push({[Y]:{handler:Q,possibleKeys:Z.filter(($,K,H)=>H.indexOf($)===K),score:this.#Q}}),J}#Z(Y,G,Q,J,W){for(let Z=0,$=G.#X.length;Z<$;Z++){let K=G.#X[Z],H=K[Q]||K[T7],U={};if(H!==void 0){if(H.params=Object.create(null),Y.push(H),J!==RX1||W&&W!==RX1)for(let N=0,B=H.possibleKeys.length;N<B;N++){let z=H.possibleKeys[N],O=U[H.score];H.params[z]=W?.[z]&&!O?W[z]:J[z]??W?.[z],U[H.score]=!0}}}}search(Y,G){let Q=[];this.#J=RX1;let W=[this],Z=iN0(G),$=[],K=Z.length,H=null;for(let U=0;U<K;U++){let N=Z[U],B=U===K-1,z=[];for(let w=0,E=W.length;w<E;w++){let P=W[w],q=P.#Y[N];if(q)if(q.#J=P.#J,B){if(q.#Y["*"])this.#Z(Q,q.#Y["*"],Y,P.#J);this.#Z(Q,q,Y,P.#J)}else z.push(q);for(let j=0,M=P.#G.length;j<M;j++){let V=P.#G[j],R=P.#J===RX1?{}:{...P.#J};if(V==="*"){let h=P.#Y["*"];if(h)this.#Z(Q,h,Y,P.#J),h.#J=R,z.push(h);continue}let[k,_,v]=V;if(!N&&!(v instanceof RegExp))continue;let y=P.#Y[k];if(v instanceof RegExp){if(H===null){H=Array(K);let p=G[0]==="/"?1:0;for(let f=0;f<K;f++)H[f]=p,p+=Z[f].length+1}let h=G.substring(H[U]),i=v.exec(h);if(i){if(R[_]=i[0],this.#Z(Q,y,Y,P.#J,R),Op5(y.#Y)){y.#J=R;let p=i[0].match(/\//)?.length??0;($[p]||=[]).push(y)}continue}}if(v===!0||v.test(N))if(R[_]=N,B){if(this.#Z(Q,y,Y,R,P.#J),y.#Y["*"])this.#Z(Q,y.#Y["*"],Y,R,P.#J)}else y.#J=R,z.push(y)}}let O=$.shift();W=O?z.concat(O):z}if(Q.length>1)Q.sort((U,N)=>{return U.score-N.score});return[Q.map(({handler:U,params:N})=>[U,N])]}};var Ue6=D(()=>{Pq();Eq();RX1=Object.create(null)});var XB0=class{name="TrieRouter";#X;constructor(){this.#X=new Fe6}add(X,Y,G){let Q=jA1(Y);if(Q){for(let J=0,W=Q.length;J<W;J++)this.#X.insert(X,Q[J],G);return}this.#X.insert(X,Y,G)}match(X,Y){return this.#X.search(X,Y)}};var Ne6=D(()=>{Eq();Ue6()});var Be6=D(()=>{Ne6()});var R5;var ze6=D(()=>{Xe6();$e6();He6();Be6();R5=class extends es6{constructor(X={}){super(X);this.router=X.router??new eN0({routers:[new fA1,new XB0]})}}});var JQ=D(()=>{ze6()});var De6,Dp5,Oe6=(X)=>{let Y=0,G=X.length;while(Y<G){let Q=X.charCodeAt(Y);if(Q!==32&&Q!==9)break;Y++}while(G>Y){let Q=X.charCodeAt(G-1);if(Q!==32&&Q!==9)break;G--}return Y===0&&G===X.length?X:X.slice(Y,G)},YB0=(X,Y)=>{if(Y&&X.indexOf(Y)===-1)return{};let G=X.split(";"),Q={};for(let J of G){let W=J.indexOf("=");if(W===-1)continue;let Z=Oe6(J.substring(0,W));if(Y&&Y!==Z||!De6.test(Z))continue;let $=Oe6(J.substring(W+1));if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(Dp5.test($)){if(Q[Z]=$.indexOf("%")!==-1?da($,AX1):$,Y)break}}return Q},wp5=(X,Y,G={})=>{if(!De6.test(X))throw Error("Invalid cookie name");let Q=`${X}=${Y}`;if(X.startsWith("__Secure-")&&!G.secure)throw Error("__Secure- Cookie must have Secure attributes");if(X.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 J of["domain","path"])if(G[J]&&/[;\r\n]/.test(G[J]))throw Error(`${J} 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.");Q+=`; Max-Age=${G.maxAge|0}`}if(G.domain&&G.prefix!=="host")Q+=`; Domain=${G.domain}`;if(G.path)Q+=`; 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.");Q+=`; Expires=${G.expires.toUTCString()}`}if(G.httpOnly)Q+="; HttpOnly";if(G.secure)Q+="; Secure";if(G.sameSite)Q+=`; SameSite=${G.sameSite.charAt(0).toUpperCase()+G.sameSite.slice(1)}`;if(G.priority)Q+=`; Priority=${G.priority.charAt(0).toUpperCase()+G.priority.slice(1)}`;if(G.partitioned){if(!G.secure)throw Error("Partitioned Cookie must have Secure attributes");Q+="; Partitioned"}return Q},bA1=(X,Y,G)=>{return Y=encodeURIComponent(Y),wp5(X,Y,G)};var we6=D(()=>{Eq();De6=/^[\w!#$%&'*.^`|~+-]+$/,Dp5=/^[ !#-:<-[\]-~]*$/});var yA1=(X,Y,G)=>{let Q=X.req.raw.headers.get("Cookie");if(typeof Y==="string"){if(!Q)return;let W=Y;if(G==="secure")W="__Secure-"+Y;else if(G==="host")W="__Host-"+Y;return YB0(Q,W)[W]}if(!Q)return{};return YB0(Q)},Lp5=(X,Y,G)=>{let Q;if(G?.prefix==="secure")Q=bA1("__Secure-"+X,Y,{path:"/",...G,secure:!0});else if(G?.prefix==="host")Q=bA1("__Host-"+X,Y,{...G,path:"/",secure:!0,domain:void 0});else Q=bA1(X,Y,{path:"/",...G});return Q},GB0=(X,Y,G,Q)=>{let J=Lp5(Y,G,Q);X.header("Set-Cookie",J,{append:!0})};var QB0=D(()=>{we6()});var Le6=(X)=>{let G={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...X},Q=((W)=>{if(typeof W==="string")if(W==="*"){if(G.credentials)return(Z)=>Z||null;return()=>W}else return(Z)=>W===Z?Z:null;else if(typeof W==="function")return W;else return(Z)=>W.includes(Z)?Z:null})(G.origin),J=((W)=>{if(typeof W==="function")return W;else if(Array.isArray(W))return()=>W;else return()=>[]})(G.allowMethods);return async function(Z,$){function K(U,N){Z.res.headers.set(U,N)}let H=await Q(Z.req.header("origin")||"",Z);if(H)K("Access-Control-Allow-Origin",H);if(G.credentials)K("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)K("Access-Control-Expose-Headers",G.exposeHeaders.join(","));if(Z.req.method==="OPTIONS"){if(G.origin!=="*"||G.credentials)K("Vary","Origin");if(G.maxAge!=null)K("Access-Control-Max-Age",G.maxAge.toString());let U=await J(Z.req.header("origin")||"",Z);if(U.length)K("Access-Control-Allow-Methods",U.join(","));let N=G.allowHeaders;if(!N?.length){let B=Z.req.header("Access-Control-Request-Headers");if(B)N=B.split(/\s*,\s*/)}if(N?.length)K("Access-Control-Allow-Headers",N.join(",")),Z.res.headers.append("Vary","Access-Control-Request-Headers");return Z.res.headers.delete("Content-Length"),Z.res.headers.delete("Content-Type"),new Response(null,{headers:Z.res.headers,status:204,statusText:"No Content"})}if(await $(),G.origin!=="*"||G.credentials)Z.header("Vary","Origin",{append:!0})}};var Ee6=()=>{};var Pe6=()=>{try{return performance.now()}catch{}return Date.now()},JB0=(X)=>{let Y={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...X};return async function(Q,J){let W=[],Z=new Map;if(Q.get("metric"))return await J();if(Q.set("metric",{headers:W,timers:Z}),Y.total)zH(Q,"total",Y.totalDescription);if(await J(),Y.total)h$(Q,"total");if(Y.autoEnd)Z.forEach((K,H)=>h$(Q,H));if(typeof Y.enabled==="function"?Y.enabled(Q):Y.enabled){Q.res.headers.append("Server-Timing",W.join(","));let K=typeof Y.crossOrigin==="function"?Y.crossOrigin(Q):Y.crossOrigin;if(K)Q.res.headers.append("Timing-Allow-Origin",typeof K==="string"?K:"*")}}},qe6=(X,Y,G,Q,J)=>{let W=X.get("metric");if(!W){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof G==="number"){let Z=G.toFixed(J||1),$=Q?`${Y};dur=${Z};desc="${Q}"`:`${Y};dur=${Z}`;W.headers.push($)}else{let Z=G?`${Y};desc="${G}"`:`${Y}`;W.headers.push(Z)}},zH=(X,Y,G)=>{let Q=X.get("metric");if(!Q){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}Q.timers.set(Y,{description:G,start:Pe6()})},h$=(X,Y,G)=>{let Q=X.get("metric");if(!Q){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let J=Q.timers.get(Y);if(!J){console.warn(`Timer "${Y}" does not exist!`);return}let{description:W,start:Z}=J,$=Pe6()-Z;qe6(X,Y,$,W,G),Q.timers.delete(Y)};var Ae6=D(()=>{SA1()});var ZB0=D(()=>{Ae6()});function SX1(){let X={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(let Y of WB0)X[Y.category]?.push(Y);return X}var WB0;var $B0=D(()=>{WB0=[{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 Te6=D(()=>{ti();pz1()});function Ie6(){return Pp5.parse(process.env)}var KB0=(X)=>F.enum(["true","false","1","0"]).optional().transform((Y)=>Y===void 0?X:Y==="true"||Y==="1"),Ep5=(X)=>F.string().optional().transform((Y)=>Y?Y.split(",").map((G)=>G.trim()):X),Pp5;var Ve6=D(()=>{H0();Pp5=F.object({AUTH_EMAIL_PASSWORD_ENABLED:KB0(!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:KB0(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:KB0(!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:Ep5(["openid","email","profile"])}).transform((X)=>{let Y={};if(X.AUTH_GOOGLE_CLIENT_ID)Y.google={clientId:X.AUTH_GOOGLE_CLIENT_ID,clientSecret:X.AUTH_GOOGLE_CLIENT_SECRET??""};if(X.AUTH_GITHUB_CLIENT_ID)Y.github={clientId:X.AUTH_GITHUB_CLIENT_ID,clientSecret:X.AUTH_GITHUB_CLIENT_SECRET??""};let G=[];if(X.AUTH_RESEND_API_KEY)G.push({id:"resend",provider:"resend",config:{apiKey:X.AUTH_RESEND_API_KEY,fromEmail:X.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if(X.AUTH_SENDGRID_API_KEY)G.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:X.AUTH_SENDGRID_API_KEY,fromEmail:X.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let Q=G[0]?.id,J;if(X.AUTH_SSO_MS_CLIENT_ID&&X.AUTH_SSO_DOMAIN)J={providerId:"microsoft",domain:X.AUTH_SSO_DOMAIN,MS_TENANT_ID:X.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:X.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:X.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:X.AUTH_SSO_SCOPES};let W;if(X.AUTH_MAGIC_LINK_ENABLED)W={enabled:!0,emailProviderId:X.AUTH_MAGIC_LINK_EMAIL_PROVIDER??Q??""};let Z;if(X.AUTH_EMAIL_OTP_ENABLED)Z={enabled:!0,emailProviderId:X.AUTH_EMAIL_OTP_EMAIL_PROVIDER??Q??"",...X.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:X.AUTH_EMAIL_OTP_LENGTH},...X.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:X.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:X.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(Y).length>0?Y:void 0,emailProviders:G.length>0?G:void 0,inviteEmailProviderId:X.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:X.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:J,magicLinkConfig:W,emailOtpConfig:Z}})});var xA1;var je6=D(()=>{xA1={enabled:!0,batchSize:250,flushIntervalMs:300,maxQueueSize:1e4,redactor:"regex"}});import{existsSync as qp5,readFileSync as Ap5}from"fs";function Tp5(){let X=Ie6(),Y=v6().configPath;if(!qp5(Y))return{auth:X,monitoring:xA1};try{let G=JSON.parse(Ap5(Y,"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:X,monitoring:G.monitoring??xA1,theme:G.theme,logo:G.logo,autoCreateOrganizationOnSignup:G.autoCreateOrganizationOnSignup}}catch{return{auth:X,monitoring:xA1}}}function Ij(){if(!HB0)HB0=Tp5();return HB0}function Me6(){return Ij().theme}var HB0=null;var FB0=D(()=>{Ve6();je6();m9()});import{dirname as Ip5,posix as Vp5,sep as jp5}from"path";function Se6(){let X=Mp5();return async(Y)=>{for(let G of Y)G.module=X(G.filename);return Y}}function Mp5(X=process.argv[1]?Ip5(process.argv[1]):process.cwd(),Y=jp5==="\\"){let G=Y?Re6(X):X;return(Q)=>{if(!Q)return;let J=Y?Re6(Q):Q,{dir:W,base:Z,ext:$}=Vp5.parse(J);if($===".js"||$===".mjs"||$===".cjs")Z=Z.slice(0,-1*$.length);let K=decodeURIComponent(Z);if(!W)W=".";let H=W.lastIndexOf("/node_modules");if(H>-1)return`${W.slice(H+14).replace(/\//g,".")}:${K}`;if(W.startsWith(G)){let U=W.slice(G.length+1).replace(/\//g,".");return U?`${U}:${K}`:K}return K}}function Re6(X){return X.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var Ce6=()=>{};function Rp5(X,Y,G){return{key:X,enabled:typeof Y=="string"?!0:Y,variant:typeof Y=="string"?Y:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:G?JSON.stringify(G):void 0,description:void 0}}}var UB0=(X)=>{if("flags"in X){let Y=ke6(X.flags),G=ve6(X.flags);return{...X,featureFlags:Y,featureFlagPayloads:G}}{let Y=X.featureFlags??{},G=Object.fromEntries(Object.entries(X.featureFlagPayloads||{}).map(([J,W])=>[J,NB0(W)])),Q=Object.fromEntries(Object.entries(Y).map(([J,W])=>[J,Rp5(J,W,G[J])]));return{...X,featureFlags:Y,featureFlagPayloads:G,flags:Q}}},ke6=(X)=>Object.fromEntries(Object.entries(X??{}).map(([Y,G])=>[Y,CX1(G)]).filter(([,Y])=>Y!==void 0)),ve6=(X)=>{let Y=X??{};return Object.fromEntries(Object.keys(Y).filter((G)=>{let Q=Y[G];return Q.enabled&&Q.metadata&&Q.metadata.payload!==void 0}).map((G)=>{let Q=Y[G].metadata?.payload;return[G,Q?NB0(Q):void 0]}))},CX1=(X)=>X===void 0?void 0:X.variant??X.enabled,NB0=(X)=>{if(typeof X!="string")return X;try{return JSON.parse(X)}catch{return X}};var hA1=()=>{};function _e6(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function gA1(X,Y=!0,G){try{let Q=new CompressionStream("gzip"),J=Q.writable.getWriter(),W=J.write(new TextEncoder().encode(X)).then(()=>J.close()).catch(async(K)=>{try{await J.abort(K)}catch{}throw K}),Z=new Response(Q.readable).blob(),[$]=await Promise.all([Z,W]);return $}catch(Q){if(G?.rethrow)throw Q;if(Y)console.error("Failed to gzip compress data",Q);return null}}var BB0=()=>{};var Sp5,fe6=function(X,Y=[]){if(!X)return!1;let G=X.toLowerCase();return Sp5.concat(Y).some((Q)=>{let J=Q.toLowerCase();return G.indexOf(J)!==-1})};var be6=D(()=>{Sp5=["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 nJ;var Vj=D(()=>{nJ=function(X){return X.AnonymousId="anonymous_id",X.DistinctId="distinct_id",X.Props="props",X.EnablePersonProcessing="enable_person_processing",X.PersonMode="person_mode",X.FeatureFlagDetails="feature_flag_details",X.FeatureFlags="feature_flags",X.FeatureFlagPayloads="feature_flag_payloads",X.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",X.BootstrapFeatureFlags="bootstrap_feature_flags",X.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",X.OverrideFeatureFlags="override_feature_flags",X.Queue="queue",X.LogsQueue="logs_queue",X.OptedOut="opted_out",X.SessionId="session_id",X.SessionStartTimestamp="session_start_timestamp",X.SessionLastTimestamp="session_timestamp",X.PersonProperties="person_properties",X.GroupProperties="group_properties",X.InstalledAppBuild="installed_app_build",X.InstalledAppVersion="installed_app_version",X.SessionReplay="session_replay",X.SurveyLastSeenDate="survey_last_seen_date",X.SurveysSeen="surveys_seen",X.Surveys="surveys",X.RemoteConfig="remote_config",X.FlagsEndpointWasHit="flags_endpoint_was_hit",X.DeviceId="device_id",X}({})});var uA1=()=>{};function mA1(X){return X===null||typeof X!="object"}function jj(X,Y){return Object.prototype.toString.call(X)===`[object ${Y}]`}function he6(X){return jj(X,"ErrorEvent")}function pa(X){return typeof Event<"u"&&vp5(X,Event)}function ge6(X){return jj(X,"Object")}function vp5(X,Y){try{return X instanceof Y}catch{return!1}}var kp5,ye6,xlX,zB0,lA1,kX1=(X)=>X===Object(X)&&!lA1(X),ia=(X)=>X===void 0,qq=(X)=>zB0.call(X)=="[object String]",xe6=(X)=>qq(X)&&X.trim().length===0,vX1=(X)=>zB0.call(X)=="[object Number]"&&X===X,OB0=(X)=>X instanceof Error;var _X1=D(()=>{Vj();uA1();kp5=Array.isArray,ye6=Object.prototype,xlX=ye6.hasOwnProperty,zB0=ye6.toString,lA1=kp5||function(X){return zB0.call(X)==="[object Array]"}});function fX1(X,Y,G,Q,J){if(Y>G)Q.warn("min cannot be greater than max."),Y=G;if(vX1(X))if(X>G)return Q.warn(" cannot be greater than max: "+G+". Using max value instead."),G;else{if(!(X<Y))return X;return Q.warn(" cannot be less than min: "+Y+". Using min value instead."),Y}return Q.warn(" must be a number. using max or fallback. max: "+G+", fallback: "+J),fX1(J||G,Y,G,Q)}var DB0=D(()=>{_X1()});class wB0{constructor(X){this._buckets={},this._onBucketRateLimited=X._onBucketRateLimited,this._bucketSize=fX1(X.bucketSize,0,100,X._logger),this._refillRate=fX1(X.refillRate,0,this._bucketSize,X._logger),this._refillInterval=fX1(X.refillInterval,0,_p5,X._logger)}_applyRefill(X,Y){let G=Y-X.lastAccess,Q=Math.floor(G/this._refillInterval);if(Q>0){let J=Q*this._refillRate;X.tokens=Math.min(X.tokens+J,this._bucketSize),X.lastAccess=X.lastAccess+Q*this._refillInterval}}consumeRateLimit(X){let Y=Date.now(),G=String(X),Q=this._buckets[G];if(Q)this._applyRefill(Q,Y);else Q={tokens:this._bucketSize,lastAccess:Y},this._buckets[G]=Q;if(Q.tokens===0)return!0;if(Q.tokens--,Q.tokens===0)this._onBucketRateLimited?.(X);return Q.tokens===0}stop(){this._buckets={}}}var _p5=86400000;var ue6=D(()=>{DB0()});class Mj{constructor(X){this.bytes=X}static ofInner(X){if(X.length===16)return new Mj(X);throw TypeError("not 128-bit length")}static fromFieldsV7(X,Y,G,Q){if(!Number.isInteger(X)||!Number.isInteger(Y)||!Number.isInteger(G)||!Number.isInteger(Q)||X<0||Y<0||G<0||Q<0||X>281474976710655||Y>4095||G>1073741823||Q>4294967295)throw RangeError("invalid field value");let J=new Uint8Array(16);return J[0]=X/1099511627776,J[1]=X/4294967296,J[2]=X/16777216,J[3]=X/65536,J[4]=X/256,J[5]=X,J[6]=112|Y>>>8,J[7]=Y,J[8]=128|G>>>24,J[9]=G>>>16,J[10]=G>>>8,J[11]=G,J[12]=Q>>>24,J[13]=Q>>>16,J[14]=Q>>>8,J[15]=Q,new Mj(J)}static parse(X){let Y;switch(X.length){case 32:Y=/^[0-9a-f]{32}$/i.exec(X)?.[0];break;case 36:Y=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(X)?.slice(1,6).join("");break;case 38:Y=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(X)?.slice(1,6).join("");break;case 45:Y=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(X)?.slice(1,6).join("");break;default:break}if(Y){let G=new Uint8Array(16);for(let Q=0;Q<16;Q+=4){let J=parseInt(Y.substring(2*Q,2*Q+8),16);G[Q+0]=J>>>24,G[Q+1]=J>>>16,G[Q+2]=J>>>8,G[Q+3]=J}return new Mj(G)}throw SyntaxError("could not parse UUID string")}toString(){let X="";for(let Y=0;Y<this.bytes.length;Y++)if(X+="0123456789abcdef".charAt(this.bytes[Y]>>>4),X+="0123456789abcdef".charAt(15&this.bytes[Y]),Y===3||Y===5||Y===7||Y===9)X+="-";return X}toHex(){let X="";for(let Y=0;Y<this.bytes.length;Y++)X+="0123456789abcdef".charAt(this.bytes[Y]>>>4),X+="0123456789abcdef".charAt(15&this.bytes[Y]);return X}toJSON(){return this.toString()}getVariant(){let X=this.bytes[8]>>>4;if(X<0)throw Error("unreachable");if(X<=7)return this.bytes.every((Y)=>Y===0)?"NIL":"VAR_0";if(X<=11)return"VAR_10";if(X<=13)return"VAR_110";if(X<=15)return this.bytes.every((Y)=>Y===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new Mj(this.bytes.slice(0))}equals(X){return this.compareTo(X)===0}compareTo(X){for(let Y=0;Y<16;Y++){let G=this.bytes[Y]-X.bytes[Y];if(G!==0)return Math.sign(G)}return 0}}class me6{constructor(X){this.timestamp=0,this.counter=0,this.random=X??fp5()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(X,Y){let G=this.generateOrAbortCore(X,Y);if(G===void 0)this.timestamp=0,G=this.generateOrAbortCore(X,Y);return G}generateOrAbortCore(X,Y){if(!Number.isInteger(X)||X<1||X>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(Y<0||Y>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if(X>this.timestamp)this.timestamp=X,this.resetCounter();else{if(!(X+Y>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return Mj.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 X=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return X[6]=64|X[6]>>>4,X[8]=128|X[8]>>>2,Mj.ofInner(X)}}var fp5=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),le6,Aq=()=>bp5().toString(),bp5=()=>(le6||(le6=new me6)).generate();var bX1=D(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class LB0{add(X){let Y=Aq();return this.promiseByIds[Y]=X,X.catch(()=>{}).finally(()=>{delete this.promiseByIds[Y]}),X}async join(){let X=Object.values(this.promiseByIds),Y=X.length;while(Y>0)await Promise.all(X),X=Object.values(this.promiseByIds),Y=X.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var de6=D(()=>{bX1()});function yp5(X=console){return{log:X.log.bind(X),warn:X.warn.bind(X),error:X.error.bind(X),debug:X.debug.bind(X)}}function ie6(X,Y=xp5){return ce6(X,Y,yp5())}var ce6=(X,Y,G)=>{function Q(W,...Z){Y(()=>{let $=G[W];$(X,...Z)})}return{info:(...W)=>{Q("log",...W)},warn:(...W)=>{Q("warn",...W)},error:(...W)=>{Q("error",...W)},critical:(...W)=>{G.error(X,...W)},createLogger:(W)=>ce6(`${X} ${W}`,Y,G)}},xp5=(X)=>X();var pe6=()=>{};var aa="Mobile",cA1="iOS",na="Android",ne6="Tablet",tlX,gp5="Apple",rlX,ae6="Safari",iA1="BlackBerry",te6="Samsung",up5,lp5,pA1="Chrome",mp5,dp5,re6="Internet Explorer",cp5,PB0="Opera",olX,oe6="Edge",ip5,qB0="Firefox",pp5,AB0="Nintendo",TB0="PlayStation",dA1="Xbox",np5,ap5,yX1="Windows",tp5,se6="Generic",slX,elX,rp5="Konqueror",H3="(\\d+(\\.\\d+)?)",EB0,XmX,YmX,GmX,op5,sp5,QmX,JmX;var ee6=D(()=>{uA1();_X1();tlX=na+" "+ne6,rlX=gp5+" Watch",up5=te6+"Browser",lp5=te6+" Internet",mp5=pA1+" OS",dp5=pA1+" "+cA1,cp5=re6+" "+aa,olX=PB0+" Mini",ip5="Microsoft "+oe6,pp5=qB0+" "+cA1,np5=na+" "+aa,ap5=aa+" "+ae6,tp5=yX1+" Phone",slX=se6+" "+aa.toLowerCase(),elX=se6+" "+ne6.toLowerCase(),EB0=new RegExp("Version/"+H3),XmX=new RegExp(dA1,"i"),YmX=new RegExp(TB0+" \\w+","i"),GmX=new RegExp(AB0+" \\w+","i"),op5=new RegExp(iA1+"|PlayBook|BB10","i"),sp5={"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"},QmX={[cp5]:[new RegExp("rv:"+H3)],[ip5]:[new RegExp(oe6+"?\\/"+H3)],[pA1]:[new RegExp("("+pA1+"|CrMo)\\/"+H3)],[dp5]:[new RegExp("CriOS\\/"+H3)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+H3)],[ae6]:[EB0],[ap5]:[EB0],[PB0]:[new RegExp("("+PB0+"|OPR)\\/"+H3)],[qB0]:[new RegExp(qB0+"\\/"+H3)],[pp5]:[new RegExp("FxiOS\\/"+H3)],[rp5]:[new RegExp("Konqueror[:/]?"+H3,"i")],[iA1]:[new RegExp(iA1+" "+H3),EB0],[np5]:[new RegExp("android\\s"+H3,"i")],[lp5]:[new RegExp(up5+"\\/"+H3)],[re6]:[new RegExp("(rv:|MSIE )"+H3)],Mozilla:[new RegExp("rv:"+H3)]},JmX=[[new RegExp(dA1+"; "+dA1+" (.*?)[);]","i"),(X)=>[dA1,X&&X[1]||""]],[new RegExp(AB0,"i"),[AB0,""]],[new RegExp(TB0,"i"),[TB0,""]],[op5,[iA1,""]],[new RegExp(yX1,"i"),(X,Y)=>{if(/Phone/.test(Y)||/WPDesktop/.test(Y))return[tp5,""];if(new RegExp(aa).test(Y)&&!/IEMobile\b/.test(Y))return[yX1+" "+aa,""];let G=/Windows NT ([0-9.]+)/i.exec(Y);if(G&&G[1]){let Q=G[1],J=sp5[Q]||"";if(/arm/i.test(Y))J="RT";return[yX1,J]}return[yX1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,(X)=>{if(X&&X[3]){let Y=[X[3],X[4],X[5]||"0"];return[cA1,Y.join(".")]}return[cA1,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,(X)=>{let Y="";if(X&&X.length>=3)Y=ia(X[2])?X[3]:X[2];return["watchOS",Y]}],[new RegExp("("+na+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+na+")","i"),(X)=>{if(X&&X[2]){let Y=[X[2],X[3],X[4]||"0"];return[na,Y.join(".")]}return[na,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,(X)=>{let Y=["Mac OS X",""];if(X&&X[1]){let G=[X[1],X[2],X[3]||"0"];Y[1]=G.join(".")}return Y}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[mp5,""]],[/Linux|debian/i,["Linux",""]]]});function Y14(X){return X?.replace(/\/+$/,"")}async function G14(X,Y){let G=null;for(let Q=0;Q<Y.retryCount+1;Q++){if(Q>0)await new Promise((J)=>setTimeout(J,Y.retryDelay));try{return await X()}catch(J){if(G=J,!Y.retryCheck(J))throw J}}throw G}function nA1(){return new Date().toISOString()}function Hw(X,Y){let G=setTimeout(X,Y);return G?.unref&&G?.unref(),G}function IB0(X){return Promise.all(X.map((Y)=>(Y??Promise.resolve()).then((G)=>({status:"fulfilled",value:G}),(G)=>({status:"rejected",reason:G}))))}var X14="utf8",Q14=(X)=>X instanceof Error;var F3=D(()=>{be6();ue6();DB0();uA1();_X1();de6();pe6();ee6()});var ep5,LmX;var VB0=D(()=>{F3();ep5={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}},LmX=ep5.info});var J14=D(()=>{VB0();Vj()});var Z14=D(()=>{Vj()});class jB0{constructor(){this.events={},this.events={}}on(X,Y){if(!this.events[X])this.events[X]=[];return this.events[X].push(Y),()=>{this.events[X]=this.events[X].filter((G)=>G!==Y)}}emit(X,Y){for(let G of this.events[X]||[])G(Y);for(let G of this.events["*"]||[])G(X,Y)}}var W14=()=>{};async function $14(X){if(X instanceof ta){let Y="";try{Y=await X.text}catch{}console.error(`Error while flushing PostHog: message=${X.message}, response body=${Y}`,X)}else console.error("Error while flushing PostHog",X);return Promise.resolve()}function MB0(X){return typeof X=="object"&&(X instanceof ta||X instanceof xX1)}function K14(X){return typeof X=="object"&&X instanceof ta&&X.status===413}class aA1{constructor(X,Y={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new LB0,this._events=new jB0,this._isInitialized=!1;let G=typeof X=="string"?X.trim():"",Q=typeof Y.host=="string"?Y.host.trim():"",J=!G;if(this._logger=ie6("[PostHog]",this.logMsgIfDebug.bind(this)),J)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=G,this.host=Y14(Q||"https://us.i.posthog.com"),this.flushAt=Y.flushAt?Math.max(Y.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,Y.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,Y.maxQueueSize??1000),this.flushInterval=Y.flushInterval??1e4,this.preloadFeatureFlags=Y.preloadFeatureFlags??!0,this.defaultOptIn=Y.defaultOptIn??!0,this.disableSurveys=Y.disableSurveys??!1,this._retryOptions={retryCount:Y.fetchRetryCount??3,retryDelay:Y.fetchRetryDelay??3000,retryCheck:MB0},this.requestTimeout=Y.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=Y.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=Y.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=Y.disableGeoip??!0,this.disabled=(Y.disabled??!1)||J,this.historicalMigration=Y?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=Y?.evaluationContexts??Y?.evaluationEnvironments,Y?.evaluationEnvironments&&!Y?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!_e6()||(Y?.disableCompression??!1)}logMsgIfDebug(X){if(this.isDebug)X()}wrap(X){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return X();this._initPromise.then(()=>X())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(nJ.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(nJ.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(nJ.OptedOut,!0)})}on(X,Y){return this._events.on(X,Y)}debug(X=!0){if(this.removeDebugCallback?.(),X){let Y=this.on("*",(G,Q)=>this._logger.info(G,Q));this.removeDebugCallback=()=>{Y(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(X){return{distinct_id:X.distinct_id,event:X.event,properties:{...X.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(X){return this.promiseQueue.add(X)}identifyStateless(X,Y,G){this.wrap(()=>{let Q={...this.buildPayload({distinct_id:X,event:"$identify",properties:Y})};this.enqueue("identify",Q,G)})}async identifyStatelessImmediate(X,Y,G){let Q={...this.buildPayload({distinct_id:X,event:"$identify",properties:Y})};await this.sendImmediate("identify",Q,G)}captureStateless(X,Y,G,Q){this.wrap(()=>{let J=this.buildPayload({distinct_id:X,event:Y,properties:G});this.enqueue("capture",J,Q)})}async captureStatelessImmediate(X,Y,G,Q){let J=this.buildPayload({distinct_id:X,event:Y,properties:G});await this.sendImmediate("capture",J,Q)}aliasStateless(X,Y,G,Q){this.wrap(()=>{let J=this.buildPayload({event:"$create_alias",distinct_id:Y,properties:{...G||{},distinct_id:Y,alias:X}});this.enqueue("alias",J,Q)})}async aliasStatelessImmediate(X,Y,G,Q){let J=this.buildPayload({event:"$create_alias",distinct_id:Y,properties:{...G||{},distinct_id:Y,alias:X}});await this.sendImmediate("alias",J,Q)}groupIdentifyStateless(X,Y,G,Q,J,W){this.wrap(()=>{let Z=this.buildPayload({distinct_id:J||`$${X}_${Y}`,event:"$groupidentify",properties:{$group_type:X,$group_key:Y,$group_set:G||{},...W||{}}});this.enqueue("capture",Z,Q)})}async getRemoteConfig(){await this._initPromise;let X=this.host;if(X==="https://us.i.posthog.com")X="https://us-assets.i.posthog.com";else if(X==="https://eu.i.posthog.com")X="https://eu-assets.i.posthog.com";let Y=`${X}/array/${this.apiKey}/config`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(Y,G,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((Q)=>Q.json()).catch((Q)=>{this._logger.error("Remote config could not be loaded",Q),this._events.emit("error",Q)})}async getFlags(X,Y={},G={},Q={},J={},W=!1){await this._initPromise;let Z=W?"&config=true":"",$=`${this.host}/flags/?v=2${Z}`,K={token:this.apiKey,distinct_id:X,groups:Y,person_properties:G,group_properties:Q,...J};if(G.$device_id)K.$device_id=G.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)K.evaluation_contexts=this.evaluationContexts;let H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(K)};return this._logger.info("Flags URL",$),this.fetchWithRetry($,H,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((U)=>U.json()).then((U)=>({success:!0,response:UB0(U)})).catch((U)=>{return this._events.emit("error",U),{success:!1,error:this.categorizeRequestError(U)}})}categorizeRequestError(X){if(X instanceof ta)return{type:"api_error",statusCode:X.status};if(X instanceof xX1){let Y=X.error;if(Y instanceof Error&&(Y.name==="AbortError"||Y.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagDetailStateless(X,Y,G,Q,J,W);if(Z===void 0)return{response:void 0,requestId:void 0};let $=CX1(Z.response);if($===void 0)$=!1;return{response:$,requestId:Z.requestId}}async getFeatureFlagDetailStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagDetailsStateless(Y,G,Q,J,W,[X]);if(Z===void 0)return;return{response:Z.flags[X],requestId:Z.requestId,evaluatedAt:Z.evaluatedAt}}async getFeatureFlagPayloadStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagPayloadsStateless(Y,G,Q,J,W,[X]);if(!Z)return;let $=Z[X];if($===void 0)return null;return $}async getFeatureFlagPayloadsStateless(X,Y={},G={},Q={},J,W){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(X,Y,G,Q,J,W)).payloads}async getFeatureFlagsStateless(X,Y={},G={},Q={},J,W){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(X,Y,G,Q,J,W)}async getFeatureFlagsAndPayloadsStateless(X,Y={},G={},Q={},J,W){await this._initPromise;let Z=await this.getFeatureFlagDetailsStateless(X,Y,G,Q,J,W);if(!Z)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:Z.featureFlags,payloads:Z.featureFlagPayloads,requestId:Z.requestId}}async getFeatureFlagDetailsStateless(X,Y={},G={},Q={},J,W){await this._initPromise;let Z={};if(J??this.disableGeoip)Z.geoip_disable=!0;if(W)Z.flag_keys_to_evaluate=W;let $=await this.getFlags(X,Y,G,Q,Z);if(!$.success)return;let K=$.response;if(K.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(K.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:K?.requestId,quotaLimited:K.quotaLimited};return K}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let X=`${this.host}/api/surveys/?token=${this.apiKey}`,Y={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},Q=(await this.fetchWithRetry(X,Y).then((J)=>{if(J.status!==200||!J.json){let W=`Surveys API could not be loaded: ${J.status}`,Z=Error(W);this._logger.error(Z),this._events.emit("error",Error(W));return}return J.json()}).catch((J)=>{this._logger.error("Surveys API could not be loaded",J),this._events.emit("error",J)}))?.surveys;if(Q)this._logger.info("Surveys fetched from API: ",JSON.stringify(Q));return Q??[]}get props(){if(!this._props)this._props=this.getPersistedProperty(nJ.Props);return this._props||{}}set props(X){this._props=X}async register(X){this.wrap(()=>{this.props={...this.props,...X},this.setPersistedProperty(nJ.Props,this.props)})}async unregister(X){this.wrap(()=>{delete this.props[X],this.setPersistedProperty(nJ.Props,this.props)})}processBeforeEnqueue(X){return X}async flushStorage(){}enqueue(X,Y,G){this.wrap(()=>{if(this.optedOut)return void this._events.emit(X,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Q=this.prepareMessage(X,Y,G);if(Q=this.processBeforeEnqueue(Q),Q===null)return;let J=this.getPersistedProperty(nJ.Queue)||[];if(J.length>=this.maxQueueSize)J.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(J.push({message:Q}),this.setPersistedProperty(nJ.Queue,J),this._events.emit(X,Q),J.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=Hw(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate(X,Y,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(X,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Q=this.prepareMessage(X,Y,G);if(Q=this.processBeforeEnqueue(Q),Q===null)return;let J={api_key:this.apiKey,batch:[Q],sent_at:nA1()};if(this.historicalMigration)J.historical_migration=!0;let W=JSON.stringify(J),Z=`${this.host}/batch/`,$=this.disableCompression?null:await gA1(W,this.isDebug),K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...$!==null&&{"Content-Encoding":"gzip"}},body:$||W};try{await this.fetchWithRetry(Z,K)}catch(H){this._events.emit("error",H)}}prepareMessage(X,Y,G){let Q={...Y,type:X,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:G?.timestamp?G?.timestamp:nA1(),uuid:G?.uuid?G.uuid:Aq()};if(G?.disableGeoip??this.disableGeoip){if(!Q.properties)Q.properties={};Q.properties.$geoip_disable=!0}if(Q.distinctId)Q.distinct_id=Q.distinctId,delete Q.distinctId;return Q}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async(X)=>{await $14(X)})}async flush(){let X=IB0([this.flushPromise]).then(()=>this._flush());return this.flushPromise=X,this.addPendingPromise(X),IB0([X]).then(()=>{if(this.flushPromise===X)this.flushPromise=null}),X}getCustomHeaders(){let X=this.getCustomUserAgent(),Y={};if(X&&X!=="")Y["User-Agent"]=X;return Y}async _flush(){this.clearFlushTimer(),await this._initPromise;let X=this.getPersistedProperty(nJ.Queue)||[];if(!X.length)return;let Y=[],G=X.length;while(X.length>0&&Y.length<G){let Q=X.slice(0,this.maxBatchSize),J=Q.map((B)=>B.message),W=async()=>{let z=(this.getPersistedProperty(nJ.Queue)||[]).slice(Q.length);this.setPersistedProperty(nJ.Queue,z),X=z,await this.flushStorage()},Z={api_key:this.apiKey,batch:J,sent_at:nA1()};if(this.historicalMigration)Z.historical_migration=!0;let $=JSON.stringify(Z),K=`${this.host}/batch/`,H=this.disableCompression?null:await gA1($,this.isDebug),U={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...H!==null&&{"Content-Encoding":"gzip"}},body:H||$},N={retryCheck:(B)=>{if(K14(B))return!1;return MB0(B)}};try{await this.fetchWithRetry(K,U,N)}catch(B){if(K14(B)&&J.length>1){this.maxBatchSize=Math.max(1,Math.floor(J.length/2)),this._logger.warn(`Received 413 when sending batch of size ${J.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(B instanceof xX1))await W();throw this._events.emit("error",B),B}await W(),Y.push(...J)}this._events.emit("flush",Y)}async fetchWithRetry(X,Y,G,Q){let J=Y.body?Y.body:"",W=-1;try{W=J instanceof Blob?J.size:Buffer.byteLength(J,X14)}catch{if(J instanceof Blob)W=J.size;else W=new TextEncoder().encode(J).length}return await G14(async()=>{let Z=new AbortController,$=Q??this.requestTimeout,K=Hw(()=>Z.abort(),$),H=null;try{H=await this.fetch(X,{signal:Z.signal,...Y})}catch(N){throw new xX1(N)}finally{clearTimeout(K)}if(Y.mode!=="no-cors"&&(H.status<200||H.status>=400))throw new ta(H,W);return H},{...this._retryOptions,...G})}async _shutdown(X=30000){await this._initPromise;let Y=!1;this.clearFlushTimer();let G=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty(nJ.Queue)||[]).length===0)break;if(await this.flush(),Y)break}}catch(J){if(!MB0(J))throw J;await $14(J)}},Q;try{return await Promise.race([new Promise((J,W)=>{Q=Hw(()=>{this._logger.error("Timed out while shutting down PostHog"),Y=!0,W("Timeout while shutting down PostHog. Some events may not have been sent.")},X)}),G()])}finally{clearTimeout(Q)}}async shutdown(X=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(X).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var ta,xX1;var RB0=D(()=>{W14();hA1();BB0();Vj();F3();bX1();ta=class ta extends Error{constructor(X,Y){super("HTTP error while fetching PostHog: status="+X.status+", reqByteLength="+Y),this.response=X,this.reqByteLength=Y,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};xX1=class xX1 extends Error{constructor(X){super("Network error while fetching PostHog",X instanceof Error?{cause:X}:{}),this.error=X,this.name="PostHogFetchNetworkError"}}});var H14=D(()=>{hA1();Vj();RB0();bX1();F3()});var F14=D(()=>{_X1()});function N14(X){let Y=globalThis._posthogChunkIds;if(!Y)return;let G=Object.keys(Y);if(rA1&&G.length===U14)return rA1;return U14=G.length,rA1=G.reduce((Q,J)=>{if(!tA1)tA1={};let W=tA1[J];if(W)Q[W[0]]=W[1];else{let Z=X(J);for(let $=Z.length-1;$>=0;$--){let H=Z[$]?.filename,U=Y[J];if(H&&U){Q[H]=U,tA1[J]=[H,U];break}}}return Q},{}),rA1}var tA1,U14,rA1;var B14=()=>{};class z14{constructor(X,Y,G=[]){this.coercers=X,this.stackParser=Y,this.modifiers=G}buildFromUnknown(X,Y={}){let Q=Y&&Y.mechanism||{handled:!0,type:"generic"},W=this.buildCoercingContext(Q,Y,0).apply(X),Z=this.buildParsingContext(Y),$=this.parseStacktrace(W,Z);return{$exception_list:this.convertToExceptionList($,Q),$exception_level:"error"}}async modifyFrames(X){for(let Y of X)if(Y.stacktrace&&Y.stacktrace.frames&&lA1(Y.stacktrace.frames))Y.stacktrace.frames=await this.applyModifiers(Y.stacktrace.frames);return X}coerceFallback(X){return{type:"Error",value:"Unknown error",stack:X.syntheticException?.stack,synthetic:!0}}parseStacktrace(X,Y){let G;if(X.cause!=null)G=this.parseStacktrace(X.cause,Y);let Q;if(X.stack!=""&&X.stack!=null)Q=this.applyChunkIds(this.stackParser(X.stack,X.synthetic?Y.skipFirstLines:0),Y.chunkIdMap);return{...X,cause:G,stack:Q}}applyChunkIds(X,Y){return X.map((G)=>{if(G.filename&&Y)G.chunk_id=Y[G.filename];return G})}applyCoercers(X,Y){for(let G of this.coercers)if(G.match(X))return G.coerce(X,Y);return this.coerceFallback(Y)}async applyModifiers(X){let Y=X;for(let G of this.modifiers)Y=await G(Y);return Y}convertToExceptionList(X,Y){let G={type:X.type,value:X.value,mechanism:{type:Y.type??"generic",handled:Y.handled??!0,synthetic:X.synthetic??!1}};if(X.stack)G.stacktrace={type:"raw",frames:X.stack};let Q=[G];if(X.cause!=null)Q.push(...this.convertToExceptionList(X.cause,{...Y,handled:!0}));return Q}buildParsingContext(X){return{chunkIdMap:N14(this.stackParser),skipFirstLines:X.skipFirstLines??1}}buildCoercingContext(X,Y,G=0){let Q=(W,Z)=>{if(!(Z<=Gn5))return;{let $=this.buildCoercingContext(X,Y,Z);return this.applyCoercers(W,$)}};return{...Y,syntheticException:G==0?Y.syntheticException:void 0,mechanism:X,apply:(W)=>Q(W,G),next:(W)=>Q(W,G+1)}}}var Gn5=4;var O14=D(()=>{F3();B14()});function Gz(X,Y,G,Q,J){let W={platform:X,filename:Y,function:G==="<anonymous>"?rQ:G,in_app:!0};if(!ia(Q))W.lineno=Q;if(!ia(J))W.colno=J;return W}var rQ="?";var Tq=D(()=>{F3()});var oA1=(X,Y)=>{let G=X.indexOf("safari-extension")!==-1,Q=X.indexOf("safari-web-extension")!==-1;return G||Q?[X.indexOf("@")!==-1?X.split("@")[0]:rQ,G?`safari-extension:${Y}`:`safari-web-extension:${Y}`]:[X,Y]};var SB0=D(()=>{Tq()});var Qn5,Jn5,Zn5,CB0=(X,Y)=>{let G=Qn5.exec(X);if(G){let[,J,W,Z]=G;return Gz(Y,J,rQ,+W,+Z)}let Q=Jn5.exec(X);if(Q){if(Q[2]&&Q[2].indexOf("eval")===0){let $=Zn5.exec(Q[2]);if($)Q[2]=$[1],Q[3]=$[2],Q[4]=$[3]}let[W,Z]=oA1(Q[1]||rQ,Q[2]);return Gz(Y,Z,W,Q[3]?+Q[3]:void 0,Q[4]?+Q[4]:void 0)}};var D14=D(()=>{Tq();SB0();Qn5=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Jn5=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Zn5=/\((\S*)(?::(\d+))(?::(\d+))\)/});var Wn5,$n5,kB0=(X,Y)=>{let G=Wn5.exec(X);if(G){if(G[3]&&G[3].indexOf(" > eval")>-1){let Z=$n5.exec(G[3]);if(Z)G[1]=G[1]||"eval",G[3]=Z[1],G[4]=Z[2],G[5]=""}let J=G[3],W=G[1]||rQ;return[W,J]=oA1(W,J),Gz(Y,J,W,G[4]?+G[4]:void 0,G[5]?+G[5]:void 0)}};var w14=D(()=>{Tq();SB0();Wn5=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,$n5=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var Kn5,L14=(X,Y)=>{let G=Kn5.exec(X);return G?Gz(Y,G[2],G[1]||rQ,+G[3],G[4]?+G[4]:void 0):void 0};var E14=D(()=>{Tq();Kn5=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var Hn5,P14=(X,Y)=>{let G=Hn5.exec(X);return G?Gz(Y,G[2],G[3]||rQ,+G[1]):void 0},Fn5,q14=(X,Y)=>{let G=Fn5.exec(X);return G?Gz(Y,G[5],G[3]||G[4]||rQ,+G[1],+G[2]):void 0};var A14=D(()=>{Tq();Hn5=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,Fn5=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function Bn5(X,Y=!1){return!(Y||X&&!X.startsWith("/")&&!X.match(/^[A-Z]:/)&&!X.startsWith(".")&&!X.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&X!==void 0&&!X.includes("node_modules/")}function T14(X){return parseInt(X||"",10)||void 0}var Un5,Nn5,I14=(X,Y)=>{let G=X.match(Nn5);if(G){let Q,J,W,Z,$;if(G[1]){W=G[1];let U=W.lastIndexOf(".");if(W[U-1]===".")U--;if(U>0){Q=W.slice(0,U),J=W.slice(U+1);let N=Q.indexOf(".Module");if(N>0)W=W.slice(N+1),Q=Q.slice(0,N)}Z=void 0}if(J)Z=Q,$=J;if(J==="<anonymous>")$=void 0,W=void 0;if(W===void 0)$=$||rQ,W=Z?`${Z}.${$}`:$;let K=G[2]?.startsWith("file://")?G[2].slice(7):G[2],H=G[5]==="native";if(K?.match(/\/[A-Z]:/))K=K.slice(1);if(!K&&G[5]&&!H)K=G[5];return{filename:K?decodeURI(K):void 0,module:void 0,function:W,lineno:T14(G[3]),colno:T14(G[4]),in_app:Bn5(K||"",H),platform:Y}}if(X.match(Un5))return{filename:X,platform:Y}};var V14=D(()=>{Tq();Un5=/^\s*[-]{4,}$/,Nn5=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function R14(X){if(!X.length)return[];let Y=Array.from(X);return Y.reverse(),Y.slice(0,M14).map((G)=>({...G,filename:G.filename||zn5(Y).filename,function:G.function||rQ}))}function zn5(X){return X[X.length-1]||{}}function On5(){return S14("web:javascript",CB0,kB0)}function S14(X,...Y){return(G,Q=0)=>{let J=[],W=G.split(`
1639
+ `);Q=W.pop()??"";for(let Z of W){let $=Ds6(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;LK({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=Ds6(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)LK({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ci5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await PA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await EA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Od({name:z.name,status:"ready",port:z.port});Te(W),qe();let K=Si5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)ws6(U.stdout),ws6(U.stderr);let N=G||`http://localhost:${W.port}`;Ae(N),Od({name:"Vite",status:"ready",port:Number(Y)});let B=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (N$1(),U$1));await O(W.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(W.port),process:U}}var _N0=D(()=>{CN0();YF();kN0()});import{Box as fN0,Text as bN0}from"ink";import{jsx as Es6,jsxs as qA1}from"react/jsx-runtime";function Ls6(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function _i5(X,Y){if(ki5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(vi5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>Ls6(W)).join(", "),color:"cyan"}}let Q=Ls6(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);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 fi5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.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:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"Transport",entries:[{key:"UNSAFE_ALLOW_STDIO_TRANSPORT",value:X.unsafeAllowStdioTransport}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function Ps6({env:X}){let Y=fi5(X);return Es6(fN0,{flexDirection:"column",children:Y.map((G)=>qA1(fN0,{flexDirection:"column",marginTop:1,children:[qA1(bN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=_i5(Q,J);return qA1(fN0,{children:[qA1(bN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),Es6(bN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var ki5,vi5;var qs6=D(()=>{ki5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),vi5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var yN0;var As6=D(()=>{yN0={name:"decocms",version:"2.290.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":"bun run --cwd=../../packages/sandbox build && 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 qU,Text as MX}from"ink";import{Spinner as yi5}from"@inkjs/ui";import{useSyncExternalStore as Ts6}from"react";import{jsx as qY,jsxs as tQ}from"react/jsx-runtime";function li5(X,Y){if(!X||!ui5.has(X))return X;let G=xN0[Y]??xN0[xN0.length-1];return X==="#875f00"?G[0]:G[1]}function Is6({status:X}){if(X==="pending")return qY(yi5,{label:""});return qY(MX,{color:"green",children:"\u2713"})}function Vs6({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=Ts6(ku0,Cu0),Z=Ts6(xu0,yu0);return tQ(qU,{flexDirection:"column",paddingBottom:1,children:[J?tQ(qU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((B,z)=>B+z.text.length,0),N=Math.max(0,gi5-U);return tQ(qU,{flexDirection:"row",children:[$.map((B,z)=>{let O=li5(B.color,K);return O?qY(MX,{color:O,children:B.text},z):qY(MX,{children:B.text},z)}),qY(MX,{children:" ".repeat(N+2)}),H?.map((B,z)=>B.color?qY(MX,{color:B.color,children:B.char},z):qY(MX,{children:B.char},z))]},K)}),tQ(MX,{dimColor:!0,children:[" v",yN0.version]})]}):tQ(qU,{flexDirection:"column",marginTop:1,children:[xi5.map(($,K)=>qY(MX,{color:hi5[K],children:$},K)),tQ(MX,{dimColor:!0,children:[" v",yN0.version]})]}),qY(qU,{marginBottom:1,children:qY(MX,{dimColor:!0,children:"\u2500".repeat(80)})}),qY(qU,{children:tQ(MX,{dimColor:!0,children:["Home: ",G]})}),tQ(qU,{gap:2,children:[X.map(($)=>tQ(qU,{gap:1,children:[tQ(MX,{children:[$.name," :",$.port||"...."]}),qY(Is6,{status:$.status})]},$.name)),tQ(qU,{gap:1,children:[qY(MX,{children:"Migrations"}),qY(Is6,{status:Y})]})]}),qY(qU,{children:Q?tQ(MX,{children:["Open in browser: ",qY(MX,{color:"cyan",children:Q})]}):qY(MX,{dimColor:!0,children:"Starting..."})}),tQ(qU,{gap:2,children:[tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&tQ(MX,{dimColor:!0,children:[qY(MX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var xi5,hi5,xN0,gi5=30,ui5;var js6=D(()=>{As6();Ln1();In1();xi5=[" \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 "],hi5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],xN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],ui5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as mi5}from"react";function di5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==AA1.rows||Y!==AA1.columns)AA1={rows:X,columns:Y};return AA1}function ci5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function Ms6(){return mi5(ci5,di5)}var AA1;var Rs6=D(()=>{AA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as ii5,Text as qX1}from"ink";import{useSyncExternalStore as pi5}from"react";import{jsx as hN0,jsxs as gN0}from"react/jsx-runtime";function ni5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function Ss6({logs:X,headerHeight:Y}){let{rows:G}=Ms6(),{logFlow:Q}=pi5(Pe,Ee),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return hN0(ii5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return hN0(qX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return gN0(qX1,{children:[gN0(qX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),hN0(qX1,{color:ni5(Z.status),children:Z.status}),gN0(qX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var Cs6=D(()=>{YF();Rs6()});var uN0={};M0(uN0,{App:()=>Xp5});import{Box as ai5,Text as ti5,useInput as ri5}from"ink";import{useSyncExternalStore as oi5}from"react";import{jsx as TA1,jsxs as Yp5}from"react/jsx-runtime";function Xp5({home:X}){let Y=oi5(Pe,Ee);return ri5((G)=>{if(G==="k"||G==="K")Cn1();if(G==="l"||G==="L")kn1();if((G==="v"||G==="V")&&Y.dataDir)Rn1(Y.dataDir),vn1();if((G==="n"||G==="N")&&Y.vibe)Mn1()}),Yp5(ai5,{flexDirection:"column",children:[TA1(Vs6,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?TA1(Ps6,{env:Y.env}):TA1(ti5,{dimColor:!0,children:"Loading configuration..."}):TA1(Ss6,{logs:Y.logs,headerHeight:Y.vibe?ei5:si5})]})}var si5=15,ei5=19;var lN0=D(()=>{qs6();js6();Cs6();YF();zd()});function ks6(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DECOCMS_ALLOW_LOCAL_PROD:String(X.allowLocalProd),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),UNSAFE_ALLOW_STDIO_TRANSPORT:String(X.unsafeAllowStdioTransport),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}function _s6(X){if(!X)return!1;try{return new URL(X).host==="api.decocms.com"&&X!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}var vs6="https://studio.decocms.com/org/deco/registry/mcp";var mN0=(X,Y,G)=>{return(Q,J)=>{let W=-1;return Z(0);async function Z($){if($<=W)throw Error("next() called multiple times");W=$;let K,H=!1,U;if(X[$])U=X[$][0][0],Q.req.routeIndex=$;else U=$===X.length&&J||void 0;if(U)try{K=await U(Q,()=>Z($+1))}catch(N){if(N instanceof Error&&Y)Q.error=N,K=await Y(N,Q),H=!0;else throw N}else if(Q.finalized===!1&&G)K=await G(Q);if(K&&(Q.finalized===!1||H))Q.res=K;return Q}}};var fs6=()=>{};var M9;var Lq=D(()=>{M9=class extends Error{res;status;constructor(X=500,Y){super(Y?.message,{cause:Y?.cause});this.res=Y?.res,this.status=X}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 bs6;var ys6=D(()=>{bs6=Symbol()});async function Gp5(X,Y){let G=await X.formData();if(G)return Qp5(G,Y);return{}}function Qp5(X,Y){let G=Object.create(null);if(X.forEach((Q,J)=>{if(!(Y.all||J.endsWith("[]")))G[J]=Q;else Jp5(G,J,Q)}),Y.dot)Object.entries(G).forEach(([Q,J])=>{if(Q.includes("."))Zp5(G,Q,J),delete G[Q]});return G}var xs6=async(X,Y=Object.create(null))=>{let{all:G=!1,dot:Q=!1}=Y,W=(X instanceof IA1?X.raw.headers:X.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return Gp5(X,{all:G,dot:Q});return{}},Jp5=(X,Y,G)=>{if(X[Y]!==void 0)if(Array.isArray(X[Y]))X[Y].push(G);else X[Y]=[X[Y],G];else if(!Y.endsWith("[]"))X[Y]=G;else X[Y]=[G]},Zp5=(X,Y,G)=>{if(/(?:^|\.)__proto__\./.test(Y))return;let Q=X,J=Y.split(".");J.forEach((W,Z)=>{if(Z===J.length-1)Q[W]=G;else{if(!Q[W]||typeof Q[W]!=="object"||Array.isArray(Q[W])||Q[W]instanceof File)Q[W]=Object.create(null);Q=Q[W]}})};var hs6=D(()=>{dN0()});var iN0=(X)=>{let Y=X.split("/");if(Y[0]==="")Y.shift();return Y},gs6=(X)=>{let{groups:Y,path:G}=Wp5(X),Q=iN0(G);return $p5(Q,Y)},Wp5=(X)=>{let Y=[];return X=X.replace(/\{[^}]+\}/g,(G,Q)=>{let J=`@${Q}`;return Y.push([J,G]),J}),{groups:Y,path:X}},$p5=(X,Y)=>{for(let G=Y.length-1;G>=0;G--){let[Q]=Y[G];for(let J=X.length-1;J>=0;J--)if(X[J].includes(Q)){X[J]=X[J].replace(Q,Y[G][1]);break}}return X},VA1,us6=(X,Y)=>{if(X==="*")return"*";let G=X.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(G){let Q=`${X}#${Y}`;if(!VA1[Q])if(G[2])VA1[Q]=Y&&Y[0]!==":"&&Y[0]!=="*"?[Q,G[1],new RegExp(`^${G[2]}(?=/${Y})`)]:[X,G[1],new RegExp(`^${G[2]}$`)];else VA1[Q]=[X,G[1],!0];return VA1[Q]}return null},da=(X,Y)=>{try{return Y(X)}catch{return X.replace(/(?:%[0-9A-Fa-f]{2})+/g,(G)=>{try{return Y(G)}catch{return G}})}},ls6=(X)=>da(X,decodeURI),pN0=(X)=>{let Y=X.url,G=Y.indexOf("/",Y.indexOf(":")+4),Q=G;for(;Q<Y.length;Q++){let J=Y.charCodeAt(Q);if(J===37){let W=Y.indexOf("?",Q),Z=Y.indexOf("#",Q),$=W===-1?Z===-1?void 0:Z:Z===-1?W:Math.min(W,Z),K=Y.slice(G,$);return ls6(K.includes("%25")?K.replace(/%25/g,"%2525"):K)}else if(J===63||J===35)break}return Y.slice(G,Q)},ms6=(X)=>{let Y=pN0(X);return Y.length>1&&Y.at(-1)==="/"?Y.slice(0,-1):Y},Aj=(X,Y,...G)=>{if(G.length)Y=Aj(Y,...G);return`${X?.[0]==="/"?"":"/"}${X}${Y==="/"?"":`${X?.at(-1)==="/"?"":"/"}${Y?.[0]==="/"?Y.slice(1):Y}`}`},jA1=(X)=>{if(X.charCodeAt(X.length-1)!==63||!X.includes(":"))return null;let Y=X.split("/"),G=[],Q="";return Y.forEach((J)=>{if(J!==""&&!/\:/.test(J))Q+="/"+J;else if(/\:/.test(J))if(/\?/.test(J)){if(G.length===0&&Q==="")G.push("/");else G.push(Q);let W=J.replace("?","");Q+="/"+W,G.push(Q)}else Q+="/"+J}),G.filter((J,W,Z)=>Z.indexOf(J)===W)},cN0=(X)=>{if(!/[%+]/.test(X))return X;if(X.indexOf("+")!==-1)X=X.replace(/\+/g," ");return X.indexOf("%")!==-1?da(X,AX1):X},ds6=(X,Y,G)=>{let Q;if(!G&&Y&&!/[%+]/.test(Y)){let Z=X.indexOf("?",8);if(Z===-1)return;if(!X.startsWith(Y,Z+1))Z=X.indexOf(`&${Y}`,Z+1);while(Z!==-1){let $=X.charCodeAt(Z+Y.length+1);if($===61){let K=Z+Y.length+2,H=X.indexOf("&",K);return cN0(X.slice(K,H===-1?void 0:H))}else if($==38||isNaN($))return"";Z=X.indexOf(`&${Y}`,Z+1)}if(Q=/[%+]/.test(X),!Q)return}let J={};Q??=/[%+]/.test(X);let W=X.indexOf("?",8);while(W!==-1){let Z=X.indexOf("&",W+1),$=X.indexOf("=",W);if($>Z&&Z!==-1)$=-1;let K=X.slice(W+1,$===-1?Z===-1?void 0:Z:$);if(Q)K=cN0(K);if(W=Z,K==="")continue;let H;if($===-1)H="";else if(H=X.slice($+1,Z===-1?void 0:Z),Q)H=cN0(H);if(G){if(!(J[K]&&Array.isArray(J[K])))J[K]=[];J[K].push(H)}else J[K]??=H}return Y?J[Y]:J},cs6,is6=(X,Y)=>{return ds6(X,Y,!0)},AX1;var Eq=D(()=>{VA1={},cs6=ds6,AX1=decodeURIComponent});var ps6=(X)=>da(X,AX1),IA1;var dN0=D(()=>{Lq();ys6();hs6();Eq();IA1=class{raw;#X;#Y;routeIndex=0;path;bodyCache={};constructor(X,Y="/",G=[[]]){this.raw=X,this.path=Y,this.#Y=G,this.#X={}}param(X){return X?this.#G(X):this.#Q()}#G(X){let Y=this.#Y[0][this.routeIndex][1][X],G=this.#J(Y);return G&&/\%/.test(G)?ps6(G):G}#Q(){let X={},Y=Object.keys(this.#Y[0][this.routeIndex][1]);for(let G of Y){let Q=this.#J(this.#Y[0][this.routeIndex][1][G]);if(Q!==void 0)X[G]=/\%/.test(Q)?ps6(Q):Q}return X}#J(X){return this.#Y[1]?this.#Y[1][X]:X}query(X){return cs6(this.url,X)}queries(X){return is6(this.url,X)}header(X){if(X)return this.raw.headers.get(X)??void 0;let Y={};return this.raw.headers.forEach((G,Q)=>{Y[Q]=G}),Y}async parseBody(X){return xs6(this,X)}#Z=(X)=>{let{bodyCache:Y,raw:G}=this,Q=Y[X];if(Q)return Q;let J=Object.keys(Y)[0];if(J)return Y[J].then((W)=>{if(J==="json")W=JSON.stringify(W);return new Response(W)[X]()});return Y[X]=G[X]()};json(){return this.#Z("text").then((X)=>JSON.parse(X))}text(){return this.#Z("text")}arrayBuffer(){return this.#Z("arrayBuffer")}blob(){return this.#Z("blob")}formData(){return this.#Z("formData")}addValidatedData(X,Y){this.#X[X]=Y}valid(X){return this.#X[X]}get url(){return this.raw.url}get method(){return this.raw.method}get[bs6](){return this.#Y}get matchedRoutes(){return this.#Y[0].map(([[,X]])=>X)}get routePath(){return this.#Y[0].map(([[,X]])=>X)[this.routeIndex].path}}});var MA1,ns6=(X,Y)=>{let G=new String(X);return G.isEscaped=!0,G.callbacks=Y,G},TX1=async(X,Y,G,Q,J)=>{if(typeof X==="object"&&!(X instanceof String)){if(!(X instanceof Promise))X=X.toString();if(X instanceof Promise)X=await X}let W=X.callbacks;if(!W?.length)return Promise.resolve(X);if(J)J[0]+=X;else J=[X];let Z=Promise.all(W.map(($)=>$({phase:Y,buffer:J,context:Q}))).then(($)=>Promise.all($.filter(Boolean).map((K)=>TX1(K,Y,!1,Q,J))).then(()=>J[0]));if(G)return ns6(await Z,W);else return Z};var RA1=D(()=>{MA1={Stringify:1,BeforeStream:2,Stream:3}});var as6="text/plain; charset=UTF-8",nN0=(X,Y)=>{return{"Content-Type":X,...Y}},IX1=(X,Y)=>new Response(X,Y),ts6=class{#X;#Y;env={};#G;finalized=!1;error;#Q;#J;#Z;#$;#W;#K;#H;#U;#N;constructor(X,Y){if(this.#X=X,Y)this.#J=Y.executionCtx,this.env=Y.env,this.#K=Y.notFoundHandler,this.#N=Y.path,this.#U=Y.matchResult}get req(){return this.#Y??=new IA1(this.#X,this.#N,this.#U),this.#Y}get event(){if(this.#J&&"respondWith"in this.#J)return this.#J;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#J)return this.#J;else throw Error("This context has no ExecutionContext")}get res(){return this.#Z||=IX1(null,{headers:this.#H??=new Headers})}set res(X){if(this.#Z&&X){X=IX1(X.body,X);for(let[Y,G]of this.#Z.headers.entries()){if(Y==="content-type")continue;if(Y==="set-cookie"){let Q=this.#Z.headers.getSetCookie();X.headers.delete("set-cookie");for(let J of Q)X.headers.append("set-cookie",J)}else X.headers.set(Y,G)}}this.#Z=X,this.finalized=!0}render=(...X)=>{return this.#W??=(Y)=>this.html(Y),this.#W(...X)};setLayout=(X)=>this.#$=X;getLayout=()=>this.#$;setRenderer=(X)=>{this.#W=X};header=(X,Y,G)=>{if(this.finalized)this.#Z=IX1(this.#Z.body,this.#Z);let Q=this.#Z?this.#Z.headers:this.#H??=new Headers;if(Y===void 0)Q.delete(X);else if(G?.append)Q.append(X,Y);else Q.set(X,Y)};status=(X)=>{this.#Q=X};set=(X,Y)=>{this.#G??=new Map,this.#G.set(X,Y)};get=(X)=>{return this.#G?this.#G.get(X):void 0};get var(){if(!this.#G)return{};return Object.fromEntries(this.#G)}#F(X,Y,G){let Q=this.#Z?new Headers(this.#Z.headers):this.#H??new Headers;if(typeof Y==="object"&&"headers"in Y){let W=Y.headers instanceof Headers?Y.headers:new Headers(Y.headers);for(let[Z,$]of W)if(Z.toLowerCase()==="set-cookie")Q.append(Z,$);else Q.set(Z,$)}if(G)for(let[W,Z]of Object.entries(G))if(typeof Z==="string")Q.set(W,Z);else{Q.delete(W);for(let $ of Z)Q.append(W,$)}let J=typeof Y==="number"?Y:Y?.status??this.#Q;return IX1(X,{status:J,headers:Q})}newResponse=(...X)=>this.#F(...X);body=(X,Y,G)=>this.#F(X,Y,G);text=(X,Y,G)=>{return!this.#H&&!this.#Q&&!Y&&!G&&!this.finalized?new Response(X):this.#F(X,Y,nN0(as6,G))};json=(X,Y,G)=>{return this.#F(JSON.stringify(X),Y,nN0("application/json",G))};html=(X,Y,G)=>{let Q=(J)=>this.#F(J,Y,nN0("text/html; charset=UTF-8",G));return typeof X==="object"?TX1(X,MA1.Stringify,!1,{}).then(Q):Q(X)};redirect=(X,Y)=>{let G=String(X);return this.header("Location",!/[^\x00-\xFF]/.test(G)?G:encodeURI(G)),this.newResponse(null,Y??302)};notFound=()=>{return this.#K??=()=>IX1(),this.#K(this)}};var SA1=D(()=>{dN0();RA1()});var T7="ALL",rs6="all",os6,CA1="Can not add a route since the matcher is already built.",kA1;var Pq=D(()=>{os6=["get","post","put","delete","options","patch"],kA1=class extends Error{}});var aN0="__COMPOSED_HANDLER";var tN0=()=>{};var Kp5=(X)=>{return X.text("404 Not Found",404)},ss6=(X,Y)=>{if("getResponse"in X){let G=X.getResponse();return Y.newResponse(G.body,G)}return console.error(X),Y.text("Internal Server Error",500)},es6=class X{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#X="/";routes=[];constructor(Y={}){[...os6,rs6].forEach((W)=>{this[W]=(Z,...$)=>{if(typeof Z==="string")this.#X=Z;else this.#Q(W,this.#X,Z);return $.forEach((K)=>{this.#Q(W,this.#X,K)}),this}}),this.on=(W,Z,...$)=>{for(let K of[Z].flat()){this.#X=K;for(let H of[W].flat())$.map((U)=>{this.#Q(H.toUpperCase(),this.#X,U)})}return this},this.use=(W,...Z)=>{if(typeof W==="string")this.#X=W;else this.#X="*",Z.unshift(W);return Z.forEach(($)=>{this.#Q(T7,this.#X,$)}),this};let{strict:Q,...J}=Y;Object.assign(this,J),this.getPath=Q??!0?Y.getPath??pN0:ms6}#Y(){let Y=new X({router:this.router,getPath:this.getPath});return Y.errorHandler=this.errorHandler,Y.#G=this.#G,Y.routes=this.routes,Y}#G=Kp5;errorHandler=ss6;route(Y,G){let Q=this.basePath(Y);return G.routes.map((J)=>{let W;if(G.errorHandler===ss6)W=J.handler;else W=async(Z,$)=>(await mN0([],G.errorHandler)(Z,()=>J.handler(Z,$))).res,W[aN0]=J.handler;Q.#Q(J.method,J.path,W)}),this}basePath(Y){let G=this.#Y();return G._basePath=Aj(this._basePath,Y),G}onError=(Y)=>{return this.errorHandler=Y,this};notFound=(Y)=>{return this.#G=Y,this};mount(Y,G,Q){let J,W;if(Q)if(typeof Q==="function")W=Q;else if(W=Q.optionHandler,Q.replaceRequest===!1)J=(K)=>K;else J=Q.replaceRequest;let Z=W?(K)=>{let H=W(K);return Array.isArray(H)?H:[H]}:(K)=>{let H=void 0;try{H=K.executionCtx}catch{}return[K.env,H]};J||=(()=>{let K=Aj(this._basePath,Y),H=K==="/"?0:K.length;return(U)=>{let N=new URL(U.url);return N.pathname=N.pathname.slice(H)||"/",new Request(N,U)}})();let $=async(K,H)=>{let U=await G(J(K.req.raw),...Z(K));if(U)return U;await H()};return this.#Q(T7,Aj(Y,"*"),$),this}#Q(Y,G,Q){Y=Y.toUpperCase(),G=Aj(this._basePath,G);let J={basePath:this._basePath,path:G,method:Y,handler:Q};this.router.add(Y,G,[Q,J]),this.routes.push(J)}#J(Y,G){if(Y instanceof Error)return this.errorHandler(Y,G);throw Y}#Z(Y,G,Q,J){if(J==="HEAD")return(async()=>new Response(null,await this.#Z(Y,G,Q,"GET")))();let W=this.getPath(Y,{env:Q}),Z=this.router.match(J,W),$=new ts6(Y,{path:W,matchResult:Z,env:Q,executionCtx:G,notFoundHandler:this.#G});if(Z[0].length===1){let H;try{H=Z[0][0][0][0]($,async()=>{$.res=await this.#G($)})}catch(U){return this.#J(U,$)}return H instanceof Promise?H.then((U)=>U||($.finalized?$.res:this.#G($))).catch((U)=>this.#J(U,$)):H??this.#G($)}let K=mN0(Z[0],this.errorHandler,this.#G);return(async()=>{try{let H=await K($);if(!H.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return H.res}catch(H){return this.#J(H,$)}})()}fetch=(Y,...G)=>{return this.#Z(Y,G[1],G[0],Y.method)};request=(Y,G,Q,J)=>{if(Y instanceof Request)return this.fetch(G?new Request(Y,G):Y,Q,J);return Y=Y.toString(),this.fetch(new Request(/^https?:\/\//.test(Y)?Y:`http://localhost${Aj("/",Y)}`,G),Q,J)};fire=()=>{addEventListener("fetch",(Y)=>{Y.respondWith(this.#Z(Y.request,Y,void 0,Y.request.method))})}};var Xe6=D(()=>{fs6();SA1();Pq();tN0();Eq()});function vA1(X,Y){let G=this.buildAllMatchers(),Q=(J,W)=>{let Z=G[J]||G[T7],$=Z[2][W];if($)return $;let K=W.match(Z[0]);if(!K)return[[],VX1];let H=K.indexOf("",1);return[Z[1][H],K]};return this.match=Q,Q(X,Y)}var VX1;var rN0=D(()=>{Pq();VX1=[]});function Fp5(X,Y){if(X.length===1)return Y.length===1?X<Y?-1:1:-1;if(Y.length===1)return 1;if(X===jX1||X===MX1)return 1;else if(Y===jX1||Y===MX1)return-1;if(X===_A1)return 1;else if(Y===_A1)return-1;return X.length===Y.length?X<Y?-1:1:Y.length-X.length}var _A1="[^/]+",jX1=".*",MX1="(?:|/.*)",Tj,Hp5,Ye6=class X{#X;#Y;#G=Object.create(null);insert(Y,G,Q,J,W){if(Y.length===0){if(this.#X!==void 0)throw Tj;if(W)return;this.#X=G;return}let[Z,...$]=Y,K=Z==="*"?$.length===0?["","",jX1]:["","",_A1]:Z==="/*"?["","",MX1]:Z.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let U=K[1],N=K[2]||_A1;if(U&&K[2]){if(N===".*")throw Tj;if(N=N.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(N))throw Tj}if(H=this.#G[N],!H){if(Object.keys(this.#G).some((B)=>B!==jX1&&B!==MX1))throw Tj;if(W)return;if(H=this.#G[N]=new X,U!=="")H.#Y=J.varIndex++}if(!W&&U!=="")Q.push([U,H.#Y])}else if(H=this.#G[Z],!H){if(Object.keys(this.#G).some((U)=>U.length>1&&U!==jX1&&U!==MX1))throw Tj;if(W)return;H=this.#G[Z]=new X}H.insert($,G,Q,J,W)}buildRegExpStr(){let G=Object.keys(this.#G).sort(Fp5).map((Q)=>{let J=this.#G[Q];return(typeof J.#Y==="number"?`(${Q})@${J.#Y}`:Hp5.has(Q)?`\\${Q}`:Q)+J.buildRegExpStr()});if(typeof this.#X==="number")G.unshift(`#${this.#X}`);if(G.length===0)return"";if(G.length===1)return G[0];return"(?:"+G.join("|")+")"}};var oN0=D(()=>{Tj=Symbol(),Hp5=new Set(".\\+*[^]$()")});var Ge6=class{#X={varIndex:0};#Y=new Ye6;insert(X,Y,G){let Q=[],J=[];for(let Z=0;;){let $=!1;if(X=X.replace(/\{[^}]+\}/g,(K)=>{let H=`@\\${Z}`;return J[Z]=[H,K],Z++,$=!0,H}),!$)break}let W=X.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let Z=J.length-1;Z>=0;Z--){let[$]=J[Z];for(let K=W.length-1;K>=0;K--)if(W[K].indexOf($)!==-1){W[K]=W[K].replace($,J[Z][1]);break}}return this.#Y.insert(W,Y,Q,this.#X,G),Q}buildRegExp(){let X=this.#Y.buildRegExpStr();if(X==="")return[/^$/,[],[]];let Y=0,G=[],Q=[];return X=X.replace(/#(\d+)|@(\d+)|\.\*\$/g,(J,W,Z)=>{if(W!==void 0)return G[++Y]=Number(W),"$()";if(Z!==void 0)return Q[Number(Z)]=++Y,"";return""}),[new RegExp(`^${X}`),G,Q]}};var Qe6=D(()=>{oN0()});function Ze6(X){return Je6[X]??=new RegExp(X==="*"?"":`^${X.replace(/\/\*$|([.\\+*[^\]$()])/g,(Y,G)=>G?`\\${G}`:"(?:|/.*)")}$`)}function Np5(){Je6=Object.create(null)}function Bp5(X){let Y=new Ge6,G=[];if(X.length===0)return Up5;let Q=X.map((H)=>[!/\*|\/:/.test(H[0]),...H]).sort(([H,U],[N,B])=>H?1:N?-1:U.length-B.length),J=Object.create(null);for(let H=0,U=-1,N=Q.length;H<N;H++){let[B,z,O]=Q[H];if(B)J[z]=[O.map(([E])=>[E,Object.create(null)]),VX1];else U++;let w;try{w=Y.insert(z,U,B)}catch(E){throw E===Tj?new kA1(z):E}if(B)continue;G[U]=O.map(([E,P])=>{let q=Object.create(null);P-=1;for(;P>=0;P--){let[j,M]=w[P];q[j]=M}return[E,q]})}let[W,Z,$]=Y.buildRegExp();for(let H=0,U=G.length;H<U;H++)for(let N=0,B=G[H].length;N<B;N++){let z=G[H][N]?.[1];if(!z)continue;let O=Object.keys(z);for(let w=0,E=O.length;w<E;w++)z[O[w]]=$[z[O[w]]]}let K=[];for(let H in Z)K[H]=G[Z[H]];return[W,K,J]}function ca(X,Y){if(!X)return;for(let G of Object.keys(X).sort((Q,J)=>J.length-Q.length))if(Ze6(G).test(Y))return[...X[G]];return}var Up5,Je6,fA1=class{name="RegExpRouter";#X;#Y;constructor(){this.#X={[T7]:Object.create(null)},this.#Y={[T7]:Object.create(null)}}add(X,Y,G){let Q=this.#X,J=this.#Y;if(!Q||!J)throw Error(CA1);if(!Q[X])[Q,J].forEach(($)=>{$[X]=Object.create(null),Object.keys($[T7]).forEach((K)=>{$[X][K]=[...$[T7][K]]})});if(Y==="/*")Y="*";let W=(Y.match(/\/:/g)||[]).length;if(/\*$/.test(Y)){let $=Ze6(Y);if(X===T7)Object.keys(Q).forEach((K)=>{Q[K][Y]||=ca(Q[K],Y)||ca(Q[T7],Y)||[]});else Q[X][Y]||=ca(Q[X],Y)||ca(Q[T7],Y)||[];Object.keys(Q).forEach((K)=>{if(X===T7||X===K)Object.keys(Q[K]).forEach((H)=>{$.test(H)&&Q[K][H].push([G,W])})}),Object.keys(J).forEach((K)=>{if(X===T7||X===K)Object.keys(J[K]).forEach((H)=>$.test(H)&&J[K][H].push([G,W]))});return}let Z=jA1(Y)||[Y];for(let $=0,K=Z.length;$<K;$++){let H=Z[$];Object.keys(J).forEach((U)=>{if(X===T7||X===U)J[U][H]||=[...ca(Q[U],H)||ca(Q[T7],H)||[]],J[U][H].push([G,W-K+$+1])})}}match=vA1;buildAllMatchers(){let X=Object.create(null);return Object.keys(this.#Y).concat(Object.keys(this.#X)).forEach((Y)=>{X[Y]||=this.#G(Y)}),this.#X=this.#Y=void 0,Np5(),X}#G(X){let Y=[],G=X===T7;if([this.#X,this.#Y].forEach((Q)=>{let J=Q[X]?Object.keys(Q[X]).map((W)=>[W,Q[X][W]]):[];if(J.length!==0)G||=!0,Y.push(...J);else if(X!==T7)Y.push(...Object.keys(Q[T7]).map((W)=>[W,Q[T7][W]]))}),!G)return null;else return Bp5(Y)}};var sN0=D(()=>{Pq();Eq();rN0();oN0();Qe6();Up5=[/^$/,[],Object.create(null)],Je6=Object.create(null)});var zp5=class{name="PreparedRegExpRouter";#X;#Y;constructor(X,Y){this.#X=X,this.#Y=Y}#G(X,Y){let G=this.#X[X];G[1].forEach((Q)=>Q&&Q.push(Y)),Object.values(G[2]).forEach((Q)=>Q[0].push(Y))}#Q(X,Y,G,Q,J){let W=this.#X[X];if(!J)W[2][Y][0].push([G,{}]);else Q.forEach((Z)=>{if(typeof Z==="number")W[1][Z].push([G,J]);else W[2][Z||Y][0].push([G,J])})}add(X,Y,G){if(!this.#X[X]){let J=this.#X[T7],W={};for(let Z in J[2])W[Z]=[J[2][Z][0].slice(),VX1];this.#X[X]=[J[0],J[1].map((Z)=>Array.isArray(Z)?Z.slice():0),W]}if(Y==="/*"||Y==="*"){let J=[G,{}];if(X===T7)for(let W in this.#X)this.#G(W,J);else this.#G(X,J);return}let Q=this.#Y[Y];if(!Q)throw Error(`Path ${Y} is not registered`);for(let[J,W]of Q)if(X===T7)for(let Z in this.#X)this.#Q(Z,Y,G,J,W);else this.#Q(X,Y,G,J,W)}buildAllMatchers(){return this.#X}match=vA1};var We6=D(()=>{Pq();rN0();sN0()});var $e6=D(()=>{sN0();We6()});var eN0=class{name="SmartRouter";#X=[];#Y=[];constructor(X){this.#X=X.routers}add(X,Y,G){if(!this.#Y)throw Error(CA1);this.#Y.push([X,Y,G])}match(X,Y){if(!this.#Y)throw Error("Fatal error");let G=this.#X,Q=this.#Y,J=G.length,W=0,Z;for(;W<J;W++){let $=G[W];try{for(let K=0,H=Q.length;K<H;K++)$.add(...Q[K]);Z=$.match(X,Y)}catch(K){if(K instanceof kA1)continue;throw K}this.match=$.match.bind($),this.#X=[$],this.#Y=void 0;break}if(W===J)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,Z}get activeRouter(){if(this.#Y||this.#X.length!==1)throw Error("No active router has been determined yet.");return this.#X[0]}};var Ke6=D(()=>{Pq()});var He6=D(()=>{Ke6()});var RX1,Op5=(X)=>{for(let Y in X)return!0;return!1},Fe6=class X{#X;#Y;#G;#Q=0;#J=RX1;constructor(Y,G,Q){if(this.#Y=Q||Object.create(null),this.#X=[],Y&&G){let J=Object.create(null);J[Y]={handler:G,possibleKeys:[],score:0},this.#X=[J]}this.#G=[]}insert(Y,G,Q){this.#Q=++this.#Q;let J=this,W=gs6(G),Z=[];for(let $=0,K=W.length;$<K;$++){let H=W[$],U=W[$+1],N=us6(H,U),B=Array.isArray(N)?N[0]:H;if(B in J.#Y){if(J=J.#Y[B],N)Z.push(N[1]);continue}if(J.#Y[B]=new X,N)J.#G.push(N),Z.push(N[1]);J=J.#Y[B]}return J.#X.push({[Y]:{handler:Q,possibleKeys:Z.filter(($,K,H)=>H.indexOf($)===K),score:this.#Q}}),J}#Z(Y,G,Q,J,W){for(let Z=0,$=G.#X.length;Z<$;Z++){let K=G.#X[Z],H=K[Q]||K[T7],U={};if(H!==void 0){if(H.params=Object.create(null),Y.push(H),J!==RX1||W&&W!==RX1)for(let N=0,B=H.possibleKeys.length;N<B;N++){let z=H.possibleKeys[N],O=U[H.score];H.params[z]=W?.[z]&&!O?W[z]:J[z]??W?.[z],U[H.score]=!0}}}}search(Y,G){let Q=[];this.#J=RX1;let W=[this],Z=iN0(G),$=[],K=Z.length,H=null;for(let U=0;U<K;U++){let N=Z[U],B=U===K-1,z=[];for(let w=0,E=W.length;w<E;w++){let P=W[w],q=P.#Y[N];if(q)if(q.#J=P.#J,B){if(q.#Y["*"])this.#Z(Q,q.#Y["*"],Y,P.#J);this.#Z(Q,q,Y,P.#J)}else z.push(q);for(let j=0,M=P.#G.length;j<M;j++){let V=P.#G[j],R=P.#J===RX1?{}:{...P.#J};if(V==="*"){let h=P.#Y["*"];if(h)this.#Z(Q,h,Y,P.#J),h.#J=R,z.push(h);continue}let[k,_,v]=V;if(!N&&!(v instanceof RegExp))continue;let y=P.#Y[k];if(v instanceof RegExp){if(H===null){H=Array(K);let p=G[0]==="/"?1:0;for(let f=0;f<K;f++)H[f]=p,p+=Z[f].length+1}let h=G.substring(H[U]),i=v.exec(h);if(i){if(R[_]=i[0],this.#Z(Q,y,Y,P.#J,R),Op5(y.#Y)){y.#J=R;let p=i[0].match(/\//)?.length??0;($[p]||=[]).push(y)}continue}}if(v===!0||v.test(N))if(R[_]=N,B){if(this.#Z(Q,y,Y,R,P.#J),y.#Y["*"])this.#Z(Q,y.#Y["*"],Y,R,P.#J)}else y.#J=R,z.push(y)}}let O=$.shift();W=O?z.concat(O):z}if(Q.length>1)Q.sort((U,N)=>{return U.score-N.score});return[Q.map(({handler:U,params:N})=>[U,N])]}};var Ue6=D(()=>{Pq();Eq();RX1=Object.create(null)});var XB0=class{name="TrieRouter";#X;constructor(){this.#X=new Fe6}add(X,Y,G){let Q=jA1(Y);if(Q){for(let J=0,W=Q.length;J<W;J++)this.#X.insert(X,Q[J],G);return}this.#X.insert(X,Y,G)}match(X,Y){return this.#X.search(X,Y)}};var Ne6=D(()=>{Eq();Ue6()});var Be6=D(()=>{Ne6()});var R5;var ze6=D(()=>{Xe6();$e6();He6();Be6();R5=class extends es6{constructor(X={}){super(X);this.router=X.router??new eN0({routers:[new fA1,new XB0]})}}});var JQ=D(()=>{ze6()});var De6,Dp5,Oe6=(X)=>{let Y=0,G=X.length;while(Y<G){let Q=X.charCodeAt(Y);if(Q!==32&&Q!==9)break;Y++}while(G>Y){let Q=X.charCodeAt(G-1);if(Q!==32&&Q!==9)break;G--}return Y===0&&G===X.length?X:X.slice(Y,G)},YB0=(X,Y)=>{if(Y&&X.indexOf(Y)===-1)return{};let G=X.split(";"),Q={};for(let J of G){let W=J.indexOf("=");if(W===-1)continue;let Z=Oe6(J.substring(0,W));if(Y&&Y!==Z||!De6.test(Z))continue;let $=Oe6(J.substring(W+1));if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(Dp5.test($)){if(Q[Z]=$.indexOf("%")!==-1?da($,AX1):$,Y)break}}return Q},wp5=(X,Y,G={})=>{if(!De6.test(X))throw Error("Invalid cookie name");let Q=`${X}=${Y}`;if(X.startsWith("__Secure-")&&!G.secure)throw Error("__Secure- Cookie must have Secure attributes");if(X.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 J of["domain","path"])if(G[J]&&/[;\r\n]/.test(G[J]))throw Error(`${J} 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.");Q+=`; Max-Age=${G.maxAge|0}`}if(G.domain&&G.prefix!=="host")Q+=`; Domain=${G.domain}`;if(G.path)Q+=`; 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.");Q+=`; Expires=${G.expires.toUTCString()}`}if(G.httpOnly)Q+="; HttpOnly";if(G.secure)Q+="; Secure";if(G.sameSite)Q+=`; SameSite=${G.sameSite.charAt(0).toUpperCase()+G.sameSite.slice(1)}`;if(G.priority)Q+=`; Priority=${G.priority.charAt(0).toUpperCase()+G.priority.slice(1)}`;if(G.partitioned){if(!G.secure)throw Error("Partitioned Cookie must have Secure attributes");Q+="; Partitioned"}return Q},bA1=(X,Y,G)=>{return Y=encodeURIComponent(Y),wp5(X,Y,G)};var we6=D(()=>{Eq();De6=/^[\w!#$%&'*.^`|~+-]+$/,Dp5=/^[ !#-:<-[\]-~]*$/});var yA1=(X,Y,G)=>{let Q=X.req.raw.headers.get("Cookie");if(typeof Y==="string"){if(!Q)return;let W=Y;if(G==="secure")W="__Secure-"+Y;else if(G==="host")W="__Host-"+Y;return YB0(Q,W)[W]}if(!Q)return{};return YB0(Q)},Lp5=(X,Y,G)=>{let Q;if(G?.prefix==="secure")Q=bA1("__Secure-"+X,Y,{path:"/",...G,secure:!0});else if(G?.prefix==="host")Q=bA1("__Host-"+X,Y,{...G,path:"/",secure:!0,domain:void 0});else Q=bA1(X,Y,{path:"/",...G});return Q},GB0=(X,Y,G,Q)=>{let J=Lp5(Y,G,Q);X.header("Set-Cookie",J,{append:!0})};var QB0=D(()=>{we6()});var Le6=(X)=>{let G={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...X},Q=((W)=>{if(typeof W==="string")if(W==="*"){if(G.credentials)return(Z)=>Z||null;return()=>W}else return(Z)=>W===Z?Z:null;else if(typeof W==="function")return W;else return(Z)=>W.includes(Z)?Z:null})(G.origin),J=((W)=>{if(typeof W==="function")return W;else if(Array.isArray(W))return()=>W;else return()=>[]})(G.allowMethods);return async function(Z,$){function K(U,N){Z.res.headers.set(U,N)}let H=await Q(Z.req.header("origin")||"",Z);if(H)K("Access-Control-Allow-Origin",H);if(G.credentials)K("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)K("Access-Control-Expose-Headers",G.exposeHeaders.join(","));if(Z.req.method==="OPTIONS"){if(G.origin!=="*"||G.credentials)K("Vary","Origin");if(G.maxAge!=null)K("Access-Control-Max-Age",G.maxAge.toString());let U=await J(Z.req.header("origin")||"",Z);if(U.length)K("Access-Control-Allow-Methods",U.join(","));let N=G.allowHeaders;if(!N?.length){let B=Z.req.header("Access-Control-Request-Headers");if(B)N=B.split(/\s*,\s*/)}if(N?.length)K("Access-Control-Allow-Headers",N.join(",")),Z.res.headers.append("Vary","Access-Control-Request-Headers");return Z.res.headers.delete("Content-Length"),Z.res.headers.delete("Content-Type"),new Response(null,{headers:Z.res.headers,status:204,statusText:"No Content"})}if(await $(),G.origin!=="*"||G.credentials)Z.header("Vary","Origin",{append:!0})}};var Ee6=()=>{};var Pe6=()=>{try{return performance.now()}catch{}return Date.now()},JB0=(X)=>{let Y={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...X};return async function(Q,J){let W=[],Z=new Map;if(Q.get("metric"))return await J();if(Q.set("metric",{headers:W,timers:Z}),Y.total)zH(Q,"total",Y.totalDescription);if(await J(),Y.total)h$(Q,"total");if(Y.autoEnd)Z.forEach((K,H)=>h$(Q,H));if(typeof Y.enabled==="function"?Y.enabled(Q):Y.enabled){Q.res.headers.append("Server-Timing",W.join(","));let K=typeof Y.crossOrigin==="function"?Y.crossOrigin(Q):Y.crossOrigin;if(K)Q.res.headers.append("Timing-Allow-Origin",typeof K==="string"?K:"*")}}},qe6=(X,Y,G,Q,J)=>{let W=X.get("metric");if(!W){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof G==="number"){let Z=G.toFixed(J||1),$=Q?`${Y};dur=${Z};desc="${Q}"`:`${Y};dur=${Z}`;W.headers.push($)}else{let Z=G?`${Y};desc="${G}"`:`${Y}`;W.headers.push(Z)}},zH=(X,Y,G)=>{let Q=X.get("metric");if(!Q){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}Q.timers.set(Y,{description:G,start:Pe6()})},h$=(X,Y,G)=>{let Q=X.get("metric");if(!Q){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let J=Q.timers.get(Y);if(!J){console.warn(`Timer "${Y}" does not exist!`);return}let{description:W,start:Z}=J,$=Pe6()-Z;qe6(X,Y,$,W,G),Q.timers.delete(Y)};var Ae6=D(()=>{SA1()});var ZB0=D(()=>{Ae6()});function SX1(){let X={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],Tags:[],"AI Providers":[],Automations:[],"Object Storage":[],Registry:[],GitHub:[],VM:[]};for(let Y of WB0)X[Y.category]?.push(Y);return X}var WB0;var $B0=D(()=>{WB0=[{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 Te6=D(()=>{ti();pz1()});function Ie6(){return Pp5.parse(process.env)}var KB0=(X)=>F.enum(["true","false","1","0"]).optional().transform((Y)=>Y===void 0?X:Y==="true"||Y==="1"),Ep5=(X)=>F.string().optional().transform((Y)=>Y?Y.split(",").map((G)=>G.trim()):X),Pp5;var Ve6=D(()=>{H0();Pp5=F.object({AUTH_EMAIL_PASSWORD_ENABLED:KB0(!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:KB0(!1),AUTH_MAGIC_LINK_EMAIL_PROVIDER:F.enum(["resend","sendgrid"]).optional(),AUTH_EMAIL_OTP_ENABLED:KB0(!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:Ep5(["openid","email","profile"])}).transform((X)=>{let Y={};if(X.AUTH_GOOGLE_CLIENT_ID)Y.google={clientId:X.AUTH_GOOGLE_CLIENT_ID,clientSecret:X.AUTH_GOOGLE_CLIENT_SECRET??""};if(X.AUTH_GITHUB_CLIENT_ID)Y.github={clientId:X.AUTH_GITHUB_CLIENT_ID,clientSecret:X.AUTH_GITHUB_CLIENT_SECRET??""};let G=[];if(X.AUTH_RESEND_API_KEY)G.push({id:"resend",provider:"resend",config:{apiKey:X.AUTH_RESEND_API_KEY,fromEmail:X.AUTH_RESEND_FROM_EMAIL??"noreply@example.com"}});if(X.AUTH_SENDGRID_API_KEY)G.push({id:"sendgrid",provider:"sendgrid",config:{apiKey:X.AUTH_SENDGRID_API_KEY,fromEmail:X.AUTH_SENDGRID_FROM_EMAIL??"noreply@example.com"}});let Q=G[0]?.id,J;if(X.AUTH_SSO_MS_CLIENT_ID&&X.AUTH_SSO_DOMAIN)J={providerId:"microsoft",domain:X.AUTH_SSO_DOMAIN,MS_TENANT_ID:X.AUTH_SSO_MS_TENANT_ID??"",MS_CLIENT_ID:X.AUTH_SSO_MS_CLIENT_ID,MS_CLIENT_SECRET:X.AUTH_SSO_MS_CLIENT_SECRET??"",scopes:X.AUTH_SSO_SCOPES};let W;if(X.AUTH_MAGIC_LINK_ENABLED)W={enabled:!0,emailProviderId:X.AUTH_MAGIC_LINK_EMAIL_PROVIDER??Q??""};let Z;if(X.AUTH_EMAIL_OTP_ENABLED)Z={enabled:!0,emailProviderId:X.AUTH_EMAIL_OTP_EMAIL_PROVIDER??Q??"",...X.AUTH_EMAIL_OTP_LENGTH!==void 0&&{otpLength:X.AUTH_EMAIL_OTP_LENGTH},...X.AUTH_EMAIL_OTP_EXPIRES_IN!==void 0&&{expiresIn:X.AUTH_EMAIL_OTP_EXPIRES_IN}};return{emailAndPassword:{enabled:X.AUTH_EMAIL_PASSWORD_ENABLED},socialProviders:Object.keys(Y).length>0?Y:void 0,emailProviders:G.length>0?G:void 0,inviteEmailProviderId:X.AUTH_INVITE_EMAIL_PROVIDER,resetPasswordEmailProviderId:X.AUTH_RESET_PASSWORD_EMAIL_PROVIDER,ssoConfig:J,magicLinkConfig:W,emailOtpConfig:Z}})});var xA1;var je6=D(()=>{xA1={enabled:!0,batchSize:250,flushIntervalMs:300,maxQueueSize:1e4,redactor:"regex"}});import{existsSync as qp5,readFileSync as Ap5}from"fs";function Tp5(){let X=Ie6(),Y=v6().configPath;if(!qp5(Y))return{auth:X,monitoring:xA1};try{let G=JSON.parse(Ap5(Y,"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:X,monitoring:G.monitoring??xA1,theme:G.theme,logo:G.logo,autoCreateOrganizationOnSignup:G.autoCreateOrganizationOnSignup}}catch{return{auth:X,monitoring:xA1}}}function Ij(){if(!HB0)HB0=Tp5();return HB0}function Me6(){return Ij().theme}var HB0=null;var FB0=D(()=>{Ve6();je6();m9()});import{dirname as Ip5,posix as Vp5,sep as jp5}from"path";function Se6(){let X=Mp5();return async(Y)=>{for(let G of Y)G.module=X(G.filename);return Y}}function Mp5(X=process.argv[1]?Ip5(process.argv[1]):process.cwd(),Y=jp5==="\\"){let G=Y?Re6(X):X;return(Q)=>{if(!Q)return;let J=Y?Re6(Q):Q,{dir:W,base:Z,ext:$}=Vp5.parse(J);if($===".js"||$===".mjs"||$===".cjs")Z=Z.slice(0,-1*$.length);let K=decodeURIComponent(Z);if(!W)W=".";let H=W.lastIndexOf("/node_modules");if(H>-1)return`${W.slice(H+14).replace(/\//g,".")}:${K}`;if(W.startsWith(G)){let U=W.slice(G.length+1).replace(/\//g,".");return U?`${U}:${K}`:K}return K}}function Re6(X){return X.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var Ce6=()=>{};function Rp5(X,Y,G){return{key:X,enabled:typeof Y=="string"?!0:Y,variant:typeof Y=="string"?Y:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:G?JSON.stringify(G):void 0,description:void 0}}}var UB0=(X)=>{if("flags"in X){let Y=ke6(X.flags),G=ve6(X.flags);return{...X,featureFlags:Y,featureFlagPayloads:G}}{let Y=X.featureFlags??{},G=Object.fromEntries(Object.entries(X.featureFlagPayloads||{}).map(([J,W])=>[J,NB0(W)])),Q=Object.fromEntries(Object.entries(Y).map(([J,W])=>[J,Rp5(J,W,G[J])]));return{...X,featureFlags:Y,featureFlagPayloads:G,flags:Q}}},ke6=(X)=>Object.fromEntries(Object.entries(X??{}).map(([Y,G])=>[Y,CX1(G)]).filter(([,Y])=>Y!==void 0)),ve6=(X)=>{let Y=X??{};return Object.fromEntries(Object.keys(Y).filter((G)=>{let Q=Y[G];return Q.enabled&&Q.metadata&&Q.metadata.payload!==void 0}).map((G)=>{let Q=Y[G].metadata?.payload;return[G,Q?NB0(Q):void 0]}))},CX1=(X)=>X===void 0?void 0:X.variant??X.enabled,NB0=(X)=>{if(typeof X!="string")return X;try{return JSON.parse(X)}catch{return X}};var hA1=()=>{};function _e6(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}async function gA1(X,Y=!0,G){try{let Q=new CompressionStream("gzip"),J=Q.writable.getWriter(),W=J.write(new TextEncoder().encode(X)).then(()=>J.close()).catch(async(K)=>{try{await J.abort(K)}catch{}throw K}),Z=new Response(Q.readable).blob(),[$]=await Promise.all([Z,W]);return $}catch(Q){if(G?.rethrow)throw Q;if(Y)console.error("Failed to gzip compress data",Q);return null}}var BB0=()=>{};var Sp5,fe6=function(X,Y=[]){if(!X)return!1;let G=X.toLowerCase();return Sp5.concat(Y).some((Q)=>{let J=Q.toLowerCase();return G.indexOf(J)!==-1})};var be6=D(()=>{Sp5=["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 nJ;var Vj=D(()=>{nJ=function(X){return X.AnonymousId="anonymous_id",X.DistinctId="distinct_id",X.Props="props",X.EnablePersonProcessing="enable_person_processing",X.PersonMode="person_mode",X.FeatureFlagDetails="feature_flag_details",X.FeatureFlags="feature_flags",X.FeatureFlagPayloads="feature_flag_payloads",X.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",X.BootstrapFeatureFlags="bootstrap_feature_flags",X.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",X.OverrideFeatureFlags="override_feature_flags",X.Queue="queue",X.LogsQueue="logs_queue",X.OptedOut="opted_out",X.SessionId="session_id",X.SessionStartTimestamp="session_start_timestamp",X.SessionLastTimestamp="session_timestamp",X.PersonProperties="person_properties",X.GroupProperties="group_properties",X.InstalledAppBuild="installed_app_build",X.InstalledAppVersion="installed_app_version",X.SessionReplay="session_replay",X.SurveyLastSeenDate="survey_last_seen_date",X.SurveysSeen="surveys_seen",X.Surveys="surveys",X.RemoteConfig="remote_config",X.FlagsEndpointWasHit="flags_endpoint_was_hit",X.DeviceId="device_id",X}({})});var uA1=()=>{};function mA1(X){return X===null||typeof X!="object"}function jj(X,Y){return Object.prototype.toString.call(X)===`[object ${Y}]`}function he6(X){return jj(X,"ErrorEvent")}function pa(X){return typeof Event<"u"&&vp5(X,Event)}function ge6(X){return jj(X,"Object")}function vp5(X,Y){try{return X instanceof Y}catch{return!1}}var kp5,ye6,xlX,zB0,lA1,kX1=(X)=>X===Object(X)&&!lA1(X),ia=(X)=>X===void 0,qq=(X)=>zB0.call(X)=="[object String]",xe6=(X)=>qq(X)&&X.trim().length===0,vX1=(X)=>zB0.call(X)=="[object Number]"&&X===X,OB0=(X)=>X instanceof Error;var _X1=D(()=>{Vj();uA1();kp5=Array.isArray,ye6=Object.prototype,xlX=ye6.hasOwnProperty,zB0=ye6.toString,lA1=kp5||function(X){return zB0.call(X)==="[object Array]"}});function fX1(X,Y,G,Q,J){if(Y>G)Q.warn("min cannot be greater than max."),Y=G;if(vX1(X))if(X>G)return Q.warn(" cannot be greater than max: "+G+". Using max value instead."),G;else{if(!(X<Y))return X;return Q.warn(" cannot be less than min: "+Y+". Using min value instead."),Y}return Q.warn(" must be a number. using max or fallback. max: "+G+", fallback: "+J),fX1(J||G,Y,G,Q)}var DB0=D(()=>{_X1()});class wB0{constructor(X){this._buckets={},this._onBucketRateLimited=X._onBucketRateLimited,this._bucketSize=fX1(X.bucketSize,0,100,X._logger),this._refillRate=fX1(X.refillRate,0,this._bucketSize,X._logger),this._refillInterval=fX1(X.refillInterval,0,_p5,X._logger)}_applyRefill(X,Y){let G=Y-X.lastAccess,Q=Math.floor(G/this._refillInterval);if(Q>0){let J=Q*this._refillRate;X.tokens=Math.min(X.tokens+J,this._bucketSize),X.lastAccess=X.lastAccess+Q*this._refillInterval}}consumeRateLimit(X){let Y=Date.now(),G=String(X),Q=this._buckets[G];if(Q)this._applyRefill(Q,Y);else Q={tokens:this._bucketSize,lastAccess:Y},this._buckets[G]=Q;if(Q.tokens===0)return!0;if(Q.tokens--,Q.tokens===0)this._onBucketRateLimited?.(X);return Q.tokens===0}stop(){this._buckets={}}}var _p5=86400000;var ue6=D(()=>{DB0()});class Mj{constructor(X){this.bytes=X}static ofInner(X){if(X.length===16)return new Mj(X);throw TypeError("not 128-bit length")}static fromFieldsV7(X,Y,G,Q){if(!Number.isInteger(X)||!Number.isInteger(Y)||!Number.isInteger(G)||!Number.isInteger(Q)||X<0||Y<0||G<0||Q<0||X>281474976710655||Y>4095||G>1073741823||Q>4294967295)throw RangeError("invalid field value");let J=new Uint8Array(16);return J[0]=X/1099511627776,J[1]=X/4294967296,J[2]=X/16777216,J[3]=X/65536,J[4]=X/256,J[5]=X,J[6]=112|Y>>>8,J[7]=Y,J[8]=128|G>>>24,J[9]=G>>>16,J[10]=G>>>8,J[11]=G,J[12]=Q>>>24,J[13]=Q>>>16,J[14]=Q>>>8,J[15]=Q,new Mj(J)}static parse(X){let Y;switch(X.length){case 32:Y=/^[0-9a-f]{32}$/i.exec(X)?.[0];break;case 36:Y=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(X)?.slice(1,6).join("");break;case 38:Y=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(X)?.slice(1,6).join("");break;case 45:Y=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(X)?.slice(1,6).join("");break;default:break}if(Y){let G=new Uint8Array(16);for(let Q=0;Q<16;Q+=4){let J=parseInt(Y.substring(2*Q,2*Q+8),16);G[Q+0]=J>>>24,G[Q+1]=J>>>16,G[Q+2]=J>>>8,G[Q+3]=J}return new Mj(G)}throw SyntaxError("could not parse UUID string")}toString(){let X="";for(let Y=0;Y<this.bytes.length;Y++)if(X+="0123456789abcdef".charAt(this.bytes[Y]>>>4),X+="0123456789abcdef".charAt(15&this.bytes[Y]),Y===3||Y===5||Y===7||Y===9)X+="-";return X}toHex(){let X="";for(let Y=0;Y<this.bytes.length;Y++)X+="0123456789abcdef".charAt(this.bytes[Y]>>>4),X+="0123456789abcdef".charAt(15&this.bytes[Y]);return X}toJSON(){return this.toString()}getVariant(){let X=this.bytes[8]>>>4;if(X<0)throw Error("unreachable");if(X<=7)return this.bytes.every((Y)=>Y===0)?"NIL":"VAR_0";if(X<=11)return"VAR_10";if(X<=13)return"VAR_110";if(X<=15)return this.bytes.every((Y)=>Y===255)?"MAX":"VAR_RESERVED";else throw Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new Mj(this.bytes.slice(0))}equals(X){return this.compareTo(X)===0}compareTo(X){for(let Y=0;Y<16;Y++){let G=this.bytes[Y]-X.bytes[Y];if(G!==0)return Math.sign(G)}return 0}}class me6{constructor(X){this.timestamp=0,this.counter=0,this.random=X??fp5()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(X,Y){let G=this.generateOrAbortCore(X,Y);if(G===void 0)this.timestamp=0,G=this.generateOrAbortCore(X,Y);return G}generateOrAbortCore(X,Y){if(!Number.isInteger(X)||X<1||X>281474976710655)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(Y<0||Y>281474976710655)throw RangeError("`rollbackAllowance` out of reasonable range");if(X>this.timestamp)this.timestamp=X,this.resetCounter();else{if(!(X+Y>=this.timestamp))return;if(this.counter++,this.counter>4398046511103)this.timestamp++,this.resetCounter()}return Mj.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 X=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return X[6]=64|X[6]>>>4,X[8]=128|X[8]>>>2,Mj.ofInner(X)}}var fp5=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),le6,Aq=()=>bp5().toString(),bp5=()=>(le6||(le6=new me6)).generate();var bX1=D(()=>{/*! For license information please see uuidv7.mjs.LICENSE.txt */});class LB0{add(X){let Y=Aq();return this.promiseByIds[Y]=X,X.catch(()=>{}).finally(()=>{delete this.promiseByIds[Y]}),X}async join(){let X=Object.values(this.promiseByIds),Y=X.length;while(Y>0)await Promise.all(X),X=Object.values(this.promiseByIds),Y=X.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}}var de6=D(()=>{bX1()});function yp5(X=console){return{log:X.log.bind(X),warn:X.warn.bind(X),error:X.error.bind(X),debug:X.debug.bind(X)}}function ie6(X,Y=xp5){return ce6(X,Y,yp5())}var ce6=(X,Y,G)=>{function Q(W,...Z){Y(()=>{let $=G[W];$(X,...Z)})}return{info:(...W)=>{Q("log",...W)},warn:(...W)=>{Q("warn",...W)},error:(...W)=>{Q("error",...W)},critical:(...W)=>{G.error(X,...W)},createLogger:(W)=>ce6(`${X} ${W}`,Y,G)}},xp5=(X)=>X();var pe6=()=>{};var aa="Mobile",cA1="iOS",na="Android",ne6="Tablet",tlX,gp5="Apple",rlX,ae6="Safari",iA1="BlackBerry",te6="Samsung",up5,lp5,pA1="Chrome",mp5,dp5,re6="Internet Explorer",cp5,PB0="Opera",olX,oe6="Edge",ip5,qB0="Firefox",pp5,AB0="Nintendo",TB0="PlayStation",dA1="Xbox",np5,ap5,yX1="Windows",tp5,se6="Generic",slX,elX,rp5="Konqueror",H3="(\\d+(\\.\\d+)?)",EB0,XmX,YmX,GmX,op5,sp5,QmX,JmX;var ee6=D(()=>{uA1();_X1();tlX=na+" "+ne6,rlX=gp5+" Watch",up5=te6+"Browser",lp5=te6+" Internet",mp5=pA1+" OS",dp5=pA1+" "+cA1,cp5=re6+" "+aa,olX=PB0+" Mini",ip5="Microsoft "+oe6,pp5=qB0+" "+cA1,np5=na+" "+aa,ap5=aa+" "+ae6,tp5=yX1+" Phone",slX=se6+" "+aa.toLowerCase(),elX=se6+" "+ne6.toLowerCase(),EB0=new RegExp("Version/"+H3),XmX=new RegExp(dA1,"i"),YmX=new RegExp(TB0+" \\w+","i"),GmX=new RegExp(AB0+" \\w+","i"),op5=new RegExp(iA1+"|PlayBook|BB10","i"),sp5={"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"},QmX={[cp5]:[new RegExp("rv:"+H3)],[ip5]:[new RegExp(oe6+"?\\/"+H3)],[pA1]:[new RegExp("("+pA1+"|CrMo)\\/"+H3)],[dp5]:[new RegExp("CriOS\\/"+H3)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+H3)],[ae6]:[EB0],[ap5]:[EB0],[PB0]:[new RegExp("("+PB0+"|OPR)\\/"+H3)],[qB0]:[new RegExp(qB0+"\\/"+H3)],[pp5]:[new RegExp("FxiOS\\/"+H3)],[rp5]:[new RegExp("Konqueror[:/]?"+H3,"i")],[iA1]:[new RegExp(iA1+" "+H3),EB0],[np5]:[new RegExp("android\\s"+H3,"i")],[lp5]:[new RegExp(up5+"\\/"+H3)],[re6]:[new RegExp("(rv:|MSIE )"+H3)],Mozilla:[new RegExp("rv:"+H3)]},JmX=[[new RegExp(dA1+"; "+dA1+" (.*?)[);]","i"),(X)=>[dA1,X&&X[1]||""]],[new RegExp(AB0,"i"),[AB0,""]],[new RegExp(TB0,"i"),[TB0,""]],[op5,[iA1,""]],[new RegExp(yX1,"i"),(X,Y)=>{if(/Phone/.test(Y)||/WPDesktop/.test(Y))return[tp5,""];if(new RegExp(aa).test(Y)&&!/IEMobile\b/.test(Y))return[yX1+" "+aa,""];let G=/Windows NT ([0-9.]+)/i.exec(Y);if(G&&G[1]){let Q=G[1],J=sp5[Q]||"";if(/arm/i.test(Y))J="RT";return[yX1,J]}return[yX1,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,(X)=>{if(X&&X[3]){let Y=[X[3],X[4],X[5]||"0"];return[cA1,Y.join(".")]}return[cA1,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,(X)=>{let Y="";if(X&&X.length>=3)Y=ia(X[2])?X[3]:X[2];return["watchOS",Y]}],[new RegExp("("+na+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+na+")","i"),(X)=>{if(X&&X[2]){let Y=[X[2],X[3],X[4]||"0"];return[na,Y.join(".")]}return[na,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,(X)=>{let Y=["Mac OS X",""];if(X&&X[1]){let G=[X[1],X[2],X[3]||"0"];Y[1]=G.join(".")}return Y}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[mp5,""]],[/Linux|debian/i,["Linux",""]]]});function Y14(X){return X?.replace(/\/+$/,"")}async function G14(X,Y){let G=null;for(let Q=0;Q<Y.retryCount+1;Q++){if(Q>0)await new Promise((J)=>setTimeout(J,Y.retryDelay));try{return await X()}catch(J){if(G=J,!Y.retryCheck(J))throw J}}throw G}function nA1(){return new Date().toISOString()}function Hw(X,Y){let G=setTimeout(X,Y);return G?.unref&&G?.unref(),G}function IB0(X){return Promise.all(X.map((Y)=>(Y??Promise.resolve()).then((G)=>({status:"fulfilled",value:G}),(G)=>({status:"rejected",reason:G}))))}var X14="utf8",Q14=(X)=>X instanceof Error;var F3=D(()=>{be6();ue6();DB0();uA1();_X1();de6();pe6();ee6()});var ep5,LmX;var VB0=D(()=>{F3();ep5={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}},LmX=ep5.info});var J14=D(()=>{VB0();Vj()});var Z14=D(()=>{Vj()});class jB0{constructor(){this.events={},this.events={}}on(X,Y){if(!this.events[X])this.events[X]=[];return this.events[X].push(Y),()=>{this.events[X]=this.events[X].filter((G)=>G!==Y)}}emit(X,Y){for(let G of this.events[X]||[])G(Y);for(let G of this.events["*"]||[])G(X,Y)}}var W14=()=>{};async function $14(X){if(X instanceof ta){let Y="";try{Y=await X.text}catch{}console.error(`Error while flushing PostHog: message=${X.message}, response body=${Y}`,X)}else console.error("Error while flushing PostHog",X);return Promise.resolve()}function MB0(X){return typeof X=="object"&&(X instanceof ta||X instanceof xX1)}function K14(X){return typeof X=="object"&&X instanceof ta&&X.status===413}class aA1{constructor(X,Y={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new LB0,this._events=new jB0,this._isInitialized=!1;let G=typeof X=="string"?X.trim():"",Q=typeof Y.host=="string"?Y.host.trim():"",J=!G;if(this._logger=ie6("[PostHog]",this.logMsgIfDebug.bind(this)),J)this._logger.error("You must pass your PostHog project's api key. The client will be disabled.");if(this.apiKey=G,this.host=Y14(Q||"https://us.i.posthog.com"),this.flushAt=Y.flushAt?Math.max(Y.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,Y.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,Y.maxQueueSize??1000),this.flushInterval=Y.flushInterval??1e4,this.preloadFeatureFlags=Y.preloadFeatureFlags??!0,this.defaultOptIn=Y.defaultOptIn??!0,this.disableSurveys=Y.disableSurveys??!1,this._retryOptions={retryCount:Y.fetchRetryCount??3,retryDelay:Y.fetchRetryDelay??3000,retryCheck:MB0},this.requestTimeout=Y.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=Y.featureFlagsRequestTimeoutMs??3000,this.remoteConfigRequestTimeoutMs=Y.remoteConfigRequestTimeoutMs??3000,this.disableGeoip=Y.disableGeoip??!0,this.disabled=(Y.disabled??!1)||J,this.historicalMigration=Y?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=Y?.evaluationContexts??Y?.evaluationEnvironments,Y?.evaluationEnvironments&&!Y?.evaluationContexts)this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.");this.disableCompression=!_e6()||(Y?.disableCompression??!1)}logMsgIfDebug(X){if(this.isDebug)X()}wrap(X){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return X();this._initPromise.then(()=>X())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(nJ.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(nJ.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(nJ.OptedOut,!0)})}on(X,Y){return this._events.on(X,Y)}debug(X=!0){if(this.removeDebugCallback?.(),X){let Y=this.on("*",(G,Q)=>this._logger.info(G,Q));this.removeDebugCallback=()=>{Y(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(X){return{distinct_id:X.distinct_id,event:X.event,properties:{...X.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(X){return this.promiseQueue.add(X)}identifyStateless(X,Y,G){this.wrap(()=>{let Q={...this.buildPayload({distinct_id:X,event:"$identify",properties:Y})};this.enqueue("identify",Q,G)})}async identifyStatelessImmediate(X,Y,G){let Q={...this.buildPayload({distinct_id:X,event:"$identify",properties:Y})};await this.sendImmediate("identify",Q,G)}captureStateless(X,Y,G,Q){this.wrap(()=>{let J=this.buildPayload({distinct_id:X,event:Y,properties:G});this.enqueue("capture",J,Q)})}async captureStatelessImmediate(X,Y,G,Q){let J=this.buildPayload({distinct_id:X,event:Y,properties:G});await this.sendImmediate("capture",J,Q)}aliasStateless(X,Y,G,Q){this.wrap(()=>{let J=this.buildPayload({event:"$create_alias",distinct_id:Y,properties:{...G||{},distinct_id:Y,alias:X}});this.enqueue("alias",J,Q)})}async aliasStatelessImmediate(X,Y,G,Q){let J=this.buildPayload({event:"$create_alias",distinct_id:Y,properties:{...G||{},distinct_id:Y,alias:X}});await this.sendImmediate("alias",J,Q)}groupIdentifyStateless(X,Y,G,Q,J,W){this.wrap(()=>{let Z=this.buildPayload({distinct_id:J||`$${X}_${Y}`,event:"$groupidentify",properties:{$group_type:X,$group_key:Y,$group_set:G||{},...W||{}}});this.enqueue("capture",Z,Q)})}async getRemoteConfig(){await this._initPromise;let X=this.host;if(X==="https://us.i.posthog.com")X="https://us-assets.i.posthog.com";else if(X==="https://eu.i.posthog.com")X="https://eu-assets.i.posthog.com";let Y=`${X}/array/${this.apiKey}/config`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(Y,G,{retryCount:0},this.remoteConfigRequestTimeoutMs).then((Q)=>Q.json()).catch((Q)=>{this._logger.error("Remote config could not be loaded",Q),this._events.emit("error",Q)})}async getFlags(X,Y={},G={},Q={},J={},W=!1){await this._initPromise;let Z=W?"&config=true":"",$=`${this.host}/flags/?v=2${Z}`,K={token:this.apiKey,distinct_id:X,groups:Y,person_properties:G,group_properties:Q,...J};if(G.$device_id)K.$device_id=G.$device_id;if(this.evaluationContexts&&this.evaluationContexts.length>0)K.evaluation_contexts=this.evaluationContexts;let H={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(K)};return this._logger.info("Flags URL",$),this.fetchWithRetry($,H,{retryCount:0},this.featureFlagsRequestTimeoutMs).then((U)=>U.json()).then((U)=>({success:!0,response:UB0(U)})).catch((U)=>{return this._events.emit("error",U),{success:!1,error:this.categorizeRequestError(U)}})}categorizeRequestError(X){if(X instanceof ta)return{type:"api_error",statusCode:X.status};if(X instanceof xX1){let Y=X.error;if(Y instanceof Error&&(Y.name==="AbortError"||Y.name==="TimeoutError"))return{type:"timeout"};return{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagDetailStateless(X,Y,G,Q,J,W);if(Z===void 0)return{response:void 0,requestId:void 0};let $=CX1(Z.response);if($===void 0)$=!1;return{response:$,requestId:Z.requestId}}async getFeatureFlagDetailStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagDetailsStateless(Y,G,Q,J,W,[X]);if(Z===void 0)return;return{response:Z.flags[X],requestId:Z.requestId,evaluatedAt:Z.evaluatedAt}}async getFeatureFlagPayloadStateless(X,Y,G={},Q={},J={},W){await this._initPromise;let Z=await this.getFeatureFlagPayloadsStateless(Y,G,Q,J,W,[X]);if(!Z)return;let $=Z[X];if($===void 0)return null;return $}async getFeatureFlagPayloadsStateless(X,Y={},G={},Q={},J,W){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(X,Y,G,Q,J,W)).payloads}async getFeatureFlagsStateless(X,Y={},G={},Q={},J,W){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(X,Y,G,Q,J,W)}async getFeatureFlagsAndPayloadsStateless(X,Y={},G={},Q={},J,W){await this._initPromise;let Z=await this.getFeatureFlagDetailsStateless(X,Y,G,Q,J,W);if(!Z)return{flags:void 0,payloads:void 0,requestId:void 0};return{flags:Z.featureFlags,payloads:Z.featureFlagPayloads,requestId:Z.requestId}}async getFeatureFlagDetailsStateless(X,Y={},G={},Q={},J,W){await this._initPromise;let Z={};if(J??this.disableGeoip)Z.geoip_disable=!0;if(W)Z.flag_keys_to_evaluate=W;let $=await this.getFlags(X,Y,G,Q,Z);if(!$.success)return;let K=$.response;if(K.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(K.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:K?.requestId,quotaLimited:K.quotaLimited};return K}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let X=`${this.host}/api/surveys/?token=${this.apiKey}`,Y={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},Q=(await this.fetchWithRetry(X,Y).then((J)=>{if(J.status!==200||!J.json){let W=`Surveys API could not be loaded: ${J.status}`,Z=Error(W);this._logger.error(Z),this._events.emit("error",Error(W));return}return J.json()}).catch((J)=>{this._logger.error("Surveys API could not be loaded",J),this._events.emit("error",J)}))?.surveys;if(Q)this._logger.info("Surveys fetched from API: ",JSON.stringify(Q));return Q??[]}get props(){if(!this._props)this._props=this.getPersistedProperty(nJ.Props);return this._props||{}}set props(X){this._props=X}async register(X){this.wrap(()=>{this.props={...this.props,...X},this.setPersistedProperty(nJ.Props,this.props)})}async unregister(X){this.wrap(()=>{delete this.props[X],this.setPersistedProperty(nJ.Props,this.props)})}processBeforeEnqueue(X){return X}async flushStorage(){}enqueue(X,Y,G){this.wrap(()=>{if(this.optedOut)return void this._events.emit(X,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Q=this.prepareMessage(X,Y,G);if(Q=this.processBeforeEnqueue(Q),Q===null)return;let J=this.getPersistedProperty(nJ.Queue)||[];if(J.length>=this.maxQueueSize)J.shift(),this._logger.info("Queue is full, the oldest event is dropped.");if(J.push({message:Q}),this.setPersistedProperty(nJ.Queue,J),this._events.emit(X,Q),J.length>=this.flushAt)this.flushBackground();if(this.flushInterval&&!this._flushTimer)this._flushTimer=Hw(()=>this.flushBackground(),this.flushInterval)})}async sendImmediate(X,Y,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(X,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let Q=this.prepareMessage(X,Y,G);if(Q=this.processBeforeEnqueue(Q),Q===null)return;let J={api_key:this.apiKey,batch:[Q],sent_at:nA1()};if(this.historicalMigration)J.historical_migration=!0;let W=JSON.stringify(J),Z=`${this.host}/batch/`,$=this.disableCompression?null:await gA1(W,this.isDebug),K={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...$!==null&&{"Content-Encoding":"gzip"}},body:$||W};try{await this.fetchWithRetry(Z,K)}catch(H){this._events.emit("error",H)}}prepareMessage(X,Y,G){let Q={...Y,type:X,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:G?.timestamp?G?.timestamp:nA1(),uuid:G?.uuid?G.uuid:Aq()};if(G?.disableGeoip??this.disableGeoip){if(!Q.properties)Q.properties={};Q.properties.$geoip_disable=!0}if(Q.distinctId)Q.distinct_id=Q.distinctId,delete Q.distinctId;return Q}clearFlushTimer(){if(this._flushTimer)clearTimeout(this._flushTimer),this._flushTimer=void 0}flushBackground(){this.flush().catch(async(X)=>{await $14(X)})}async flush(){let X=IB0([this.flushPromise]).then(()=>this._flush());return this.flushPromise=X,this.addPendingPromise(X),IB0([X]).then(()=>{if(this.flushPromise===X)this.flushPromise=null}),X}getCustomHeaders(){let X=this.getCustomUserAgent(),Y={};if(X&&X!=="")Y["User-Agent"]=X;return Y}async _flush(){this.clearFlushTimer(),await this._initPromise;let X=this.getPersistedProperty(nJ.Queue)||[];if(!X.length)return;let Y=[],G=X.length;while(X.length>0&&Y.length<G){let Q=X.slice(0,this.maxBatchSize),J=Q.map((B)=>B.message),W=async()=>{let z=(this.getPersistedProperty(nJ.Queue)||[]).slice(Q.length);this.setPersistedProperty(nJ.Queue,z),X=z,await this.flushStorage()},Z={api_key:this.apiKey,batch:J,sent_at:nA1()};if(this.historicalMigration)Z.historical_migration=!0;let $=JSON.stringify(Z),K=`${this.host}/batch/`,H=this.disableCompression?null:await gA1($,this.isDebug),U={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...H!==null&&{"Content-Encoding":"gzip"}},body:H||$},N={retryCheck:(B)=>{if(K14(B))return!1;return MB0(B)}};try{await this.fetchWithRetry(K,U,N)}catch(B){if(K14(B)&&J.length>1){this.maxBatchSize=Math.max(1,Math.floor(J.length/2)),this._logger.warn(`Received 413 when sending batch of size ${J.length}, reducing batch size to ${this.maxBatchSize}`);continue}if(!(B instanceof xX1))await W();throw this._events.emit("error",B),B}await W(),Y.push(...J)}this._events.emit("flush",Y)}async fetchWithRetry(X,Y,G,Q){let J=Y.body?Y.body:"",W=-1;try{W=J instanceof Blob?J.size:Buffer.byteLength(J,X14)}catch{if(J instanceof Blob)W=J.size;else W=new TextEncoder().encode(J).length}return await G14(async()=>{let Z=new AbortController,$=Q??this.requestTimeout,K=Hw(()=>Z.abort(),$),H=null;try{H=await this.fetch(X,{signal:Z.signal,...Y})}catch(N){throw new xX1(N)}finally{clearTimeout(K)}if(Y.mode!=="no-cors"&&(H.status<200||H.status>=400))throw new ta(H,W);return H},{...this._retryOptions,...G})}async _shutdown(X=30000){await this._initPromise;let Y=!1;this.clearFlushTimer();let G=async()=>{try{await this.promiseQueue.join();while(!0){if((this.getPersistedProperty(nJ.Queue)||[]).length===0)break;if(await this.flush(),Y)break}}catch(J){if(!MB0(J))throw J;await $14(J)}},Q;try{return await Promise.race([new Promise((J,W)=>{Q=Hw(()=>{this._logger.error("Timed out while shutting down PostHog"),Y=!0,W("Timeout while shutting down PostHog. Some events may not have been sent.")},X)}),G()])}finally{clearTimeout(Q)}}async shutdown(X=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(X).finally(()=>{this.shutdownPromise=null});return this.shutdownPromise}}var ta,xX1;var RB0=D(()=>{W14();hA1();BB0();Vj();F3();bX1();ta=class ta extends Error{constructor(X,Y){super("HTTP error while fetching PostHog: status="+X.status+", reqByteLength="+Y),this.response=X,this.reqByteLength=Y,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}};xX1=class xX1 extends Error{constructor(X){super("Network error while fetching PostHog",X instanceof Error?{cause:X}:{}),this.error=X,this.name="PostHogFetchNetworkError"}}});var H14=D(()=>{hA1();Vj();RB0();bX1();F3()});var F14=D(()=>{_X1()});function N14(X){let Y=globalThis._posthogChunkIds;if(!Y)return;let G=Object.keys(Y);if(rA1&&G.length===U14)return rA1;return U14=G.length,rA1=G.reduce((Q,J)=>{if(!tA1)tA1={};let W=tA1[J];if(W)Q[W[0]]=W[1];else{let Z=X(J);for(let $=Z.length-1;$>=0;$--){let H=Z[$]?.filename,U=Y[J];if(H&&U){Q[H]=U,tA1[J]=[H,U];break}}}return Q},{}),rA1}var tA1,U14,rA1;var B14=()=>{};class z14{constructor(X,Y,G=[]){this.coercers=X,this.stackParser=Y,this.modifiers=G}buildFromUnknown(X,Y={}){let Q=Y&&Y.mechanism||{handled:!0,type:"generic"},W=this.buildCoercingContext(Q,Y,0).apply(X),Z=this.buildParsingContext(Y),$=this.parseStacktrace(W,Z);return{$exception_list:this.convertToExceptionList($,Q),$exception_level:"error"}}async modifyFrames(X){for(let Y of X)if(Y.stacktrace&&Y.stacktrace.frames&&lA1(Y.stacktrace.frames))Y.stacktrace.frames=await this.applyModifiers(Y.stacktrace.frames);return X}coerceFallback(X){return{type:"Error",value:"Unknown error",stack:X.syntheticException?.stack,synthetic:!0}}parseStacktrace(X,Y){let G;if(X.cause!=null)G=this.parseStacktrace(X.cause,Y);let Q;if(X.stack!=""&&X.stack!=null)Q=this.applyChunkIds(this.stackParser(X.stack,X.synthetic?Y.skipFirstLines:0),Y.chunkIdMap);return{...X,cause:G,stack:Q}}applyChunkIds(X,Y){return X.map((G)=>{if(G.filename&&Y)G.chunk_id=Y[G.filename];return G})}applyCoercers(X,Y){for(let G of this.coercers)if(G.match(X))return G.coerce(X,Y);return this.coerceFallback(Y)}async applyModifiers(X){let Y=X;for(let G of this.modifiers)Y=await G(Y);return Y}convertToExceptionList(X,Y){let G={type:X.type,value:X.value,mechanism:{type:Y.type??"generic",handled:Y.handled??!0,synthetic:X.synthetic??!1}};if(X.stack)G.stacktrace={type:"raw",frames:X.stack};let Q=[G];if(X.cause!=null)Q.push(...this.convertToExceptionList(X.cause,{...Y,handled:!0}));return Q}buildParsingContext(X){return{chunkIdMap:N14(this.stackParser),skipFirstLines:X.skipFirstLines??1}}buildCoercingContext(X,Y,G=0){let Q=(W,Z)=>{if(!(Z<=Gn5))return;{let $=this.buildCoercingContext(X,Y,Z);return this.applyCoercers(W,$)}};return{...Y,syntheticException:G==0?Y.syntheticException:void 0,mechanism:X,apply:(W)=>Q(W,G),next:(W)=>Q(W,G+1)}}}var Gn5=4;var O14=D(()=>{F3();B14()});function Gz(X,Y,G,Q,J){let W={platform:X,filename:Y,function:G==="<anonymous>"?rQ:G,in_app:!0};if(!ia(Q))W.lineno=Q;if(!ia(J))W.colno=J;return W}var rQ="?";var Tq=D(()=>{F3()});var oA1=(X,Y)=>{let G=X.indexOf("safari-extension")!==-1,Q=X.indexOf("safari-web-extension")!==-1;return G||Q?[X.indexOf("@")!==-1?X.split("@")[0]:rQ,G?`safari-extension:${Y}`:`safari-web-extension:${Y}`]:[X,Y]};var SB0=D(()=>{Tq()});var Qn5,Jn5,Zn5,CB0=(X,Y)=>{let G=Qn5.exec(X);if(G){let[,J,W,Z]=G;return Gz(Y,J,rQ,+W,+Z)}let Q=Jn5.exec(X);if(Q){if(Q[2]&&Q[2].indexOf("eval")===0){let $=Zn5.exec(Q[2]);if($)Q[2]=$[1],Q[3]=$[2],Q[4]=$[3]}let[W,Z]=oA1(Q[1]||rQ,Q[2]);return Gz(Y,Z,W,Q[3]?+Q[3]:void 0,Q[4]?+Q[4]:void 0)}};var D14=D(()=>{Tq();SB0();Qn5=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Jn5=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Zn5=/\((\S*)(?::(\d+))(?::(\d+))\)/});var Wn5,$n5,kB0=(X,Y)=>{let G=Wn5.exec(X);if(G){if(G[3]&&G[3].indexOf(" > eval")>-1){let Z=$n5.exec(G[3]);if(Z)G[1]=G[1]||"eval",G[3]=Z[1],G[4]=Z[2],G[5]=""}let J=G[3],W=G[1]||rQ;return[W,J]=oA1(W,J),Gz(Y,J,W,G[4]?+G[4]:void 0,G[5]?+G[5]:void 0)}};var w14=D(()=>{Tq();SB0();Wn5=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,$n5=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i});var Kn5,L14=(X,Y)=>{let G=Kn5.exec(X);return G?Gz(Y,G[2],G[1]||rQ,+G[3],G[4]?+G[4]:void 0):void 0};var E14=D(()=>{Tq();Kn5=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i});var Hn5,P14=(X,Y)=>{let G=Hn5.exec(X);return G?Gz(Y,G[2],G[3]||rQ,+G[1]):void 0},Fn5,q14=(X,Y)=>{let G=Fn5.exec(X);return G?Gz(Y,G[5],G[3]||G[4]||rQ,+G[1],+G[2]):void 0};var A14=D(()=>{Tq();Hn5=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,Fn5=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i});function Bn5(X,Y=!1){return!(Y||X&&!X.startsWith("/")&&!X.match(/^[A-Z]:/)&&!X.startsWith(".")&&!X.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&X!==void 0&&!X.includes("node_modules/")}function T14(X){return parseInt(X||"",10)||void 0}var Un5,Nn5,I14=(X,Y)=>{let G=X.match(Nn5);if(G){let Q,J,W,Z,$;if(G[1]){W=G[1];let U=W.lastIndexOf(".");if(W[U-1]===".")U--;if(U>0){Q=W.slice(0,U),J=W.slice(U+1);let N=Q.indexOf(".Module");if(N>0)W=W.slice(N+1),Q=Q.slice(0,N)}Z=void 0}if(J)Z=Q,$=J;if(J==="<anonymous>")$=void 0,W=void 0;if(W===void 0)$=$||rQ,W=Z?`${Z}.${$}`:$;let K=G[2]?.startsWith("file://")?G[2].slice(7):G[2],H=G[5]==="native";if(K?.match(/\/[A-Z]:/))K=K.slice(1);if(!K&&G[5]&&!H)K=G[5];return{filename:K?decodeURI(K):void 0,module:void 0,function:W,lineno:T14(G[3]),colno:T14(G[4]),in_app:Bn5(K||"",H),platform:Y}}if(X.match(Un5))return{filename:X,platform:Y}};var V14=D(()=>{Tq();Un5=/^\s*[-]{4,}$/,Nn5=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/});function R14(X){if(!X.length)return[];let Y=Array.from(X);return Y.reverse(),Y.slice(0,M14).map((G)=>({...G,filename:G.filename||zn5(Y).filename,function:G.function||rQ}))}function zn5(X){return X[X.length-1]||{}}function On5(){return S14("web:javascript",CB0,kB0)}function S14(X,...Y){return(G,Q=0)=>{let J=[],W=G.split(`
1640
1640
  `);for(let Z=Q;Z<W.length;Z++){let $=W[Z];if($.length>1024)continue;let K=j14.test($)?$.replace(j14,"$1"):$;if(!K.match(/\S*Error: /)){for(let H of Y){let U=H(K,X);if(U){J.push(U);break}}if(J.length>=M14)break}}return R14(J)}}var j14,M14=50;var C14=D(()=>{Tq();D14();w14();E14();A14();V14();j14=/\(error: (.*)\)/});class k14{match(X){return this.isDOMException(X)||this.isDOMError(X)}coerce(X,Y){let G=qq(X.stack);return{type:this.getType(X),value:this.getValue(X),stack:G?X.stack:void 0,cause:X.cause?Y.next(X.cause):void 0,synthetic:!1}}getType(X){return this.isDOMError(X)?"DOMError":"DOMException"}getValue(X){let Y=X.name||(this.isDOMError(X)?"DOMError":"DOMException");return X.message?`${Y}: ${X.message}`:Y}isDOMException(X){return jj(X,"DOMException")}isDOMError(X){return jj(X,"DOMError")}}var v14=D(()=>{F3()});class _14{match(X){return OB0(X)}coerce(X,Y){return{type:this.getType(X),value:this.getMessage(X,Y),stack:this.getStack(X),cause:X.cause?Y.next(X.cause):void 0,synthetic:!1}}getType(X){return X.name||X.constructor.name}getMessage(X,Y){let G=X.message;if(G.error&&typeof G.error.message=="string")return String(G.error.message);return String(G)}getStack(X){return X.stacktrace||X.stack||void 0}}var f14=D(()=>{F3()});class b14{constructor(){}match(X){return he6(X)&&X.error!=null}coerce(X,Y){let G=Y.apply(X.error);if(!G)return{type:"ErrorEvent",value:X.message,stack:Y.syntheticException?.stack,synthetic:!0};return G}}var y14=D(()=>{F3()});class x14{match(X){return typeof X=="string"}coerce(X,Y){let[G,Q]=this.getInfos(X);return{type:G??"Error",value:Q??X,stack:Y.syntheticException?.stack,synthetic:!0}}getInfos(X){let Y="Error",G=X,Q=X.match(Dn5);if(Q)Y=Q[1],G=Q[2];return[Y,G]}}var Dn5;var h14=D(()=>{Dn5=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i});var g14;var u14=D(()=>{g14=["fatal","error","warning","log","info","debug"]});function sA1(X,Y=40){let G=Object.keys(X);if(G.sort(),!G.length)return"[object has no keys]";for(let Q=G.length;Q>0;Q--){let J=G.slice(0,Q).join(", ");if(!(J.length>Y)){if(Q===G.length)return J;return J.length<=Y?J:`${J.slice(0,Y)}...`}}return""}var vB0=()=>{};class l14{match(X){return typeof X=="object"&&X!==null}coerce(X,Y){let G=this.getErrorPropertyFromObject(X);if(G)return Y.apply(G);return{type:this.getType(X),value:this.getValue(X),stack:Y.syntheticException?.stack,level:this.isSeverityLevel(X.level)?X.level:"error",synthetic:!0}}getType(X){return pa(X)?X.constructor.name:"Error"}getValue(X){if("name"in X&&typeof X.name=="string"){let Q=`'${X.name}' captured as exception`;if("message"in X&&typeof X.message=="string")Q+=` with message: '${X.message}'`;return Q}if("message"in X&&typeof X.message=="string")return X.message;let Y=this.getObjectClassName(X),G=sA1(X);return`${Y&&Y!=="Object"?`'${Y}'`:"Object"} captured as exception with keys: ${G}`}isSeverityLevel(X){return qq(X)&&!xe6(X)&&g14.indexOf(X)>=0}getErrorPropertyFromObject(X){for(let Y in X)if(Object.prototype.hasOwnProperty.call(X,Y)){let G=X[Y];if(Q14(G))return G}}getObjectClassName(X){try{let Y=Object.getPrototypeOf(X);return Y?Y.constructor.name:void 0}catch(Y){return}}}var m14=D(()=>{F3();u14();vB0()});class d14{match(X){return pa(X)}coerce(X,Y){let G=X.constructor.name;return{type:G,value:`${G} captured as exception with keys: ${sA1(X)}`,stack:Y.syntheticException?.stack,synthetic:!0}}}var c14=D(()=>{F3();vB0()});class i14{match(X){return mA1(X)}coerce(X,Y){return{type:"Error",value:`Primitive value captured as exception: ${String(X)}`,stack:Y.syntheticException?.stack,synthetic:!0}}}var p14=D(()=>{F3()});class n14{match(X){return jj(X,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(X)}isCustomEventWrappingRejection(X){if(!pa(X))return!1;try{let Y=X.detail;return Y!=null&&typeof Y=="object"&&"reason"in Y}catch{return!1}}coerce(X,Y){let G=this.getUnhandledRejectionReason(X);if(mA1(G))return{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(G)}`,stack:Y.syntheticException?.stack,synthetic:!0};return Y.apply(G)}getUnhandledRejectionReason(X){try{if("reason"in X)return X.reason;if("detail"in X&&X.detail!=null&&typeof X.detail=="object"&&"reason"in X.detail)return X.detail.reason}catch{}return X}}var a14=D(()=>{F3()});var t14=D(()=>{v14();f14();y14();h14();m14();c14();p14();a14()});class r14{constructor(X){this._maxSize=X,this._cache=new Map}get(X){let Y=this._cache.get(X);if(Y===void 0)return;return this._cache.delete(X),this._cache.set(X,Y),Y}set(X,Y){this._cache.set(X,Y)}reduce(){while(this._cache.size>=this._maxSize){let X=this._cache.keys().next().value;if(X)this._cache.delete(X)}}}var o14=()=>{};function _B0(X){if(!X)return{...eA1};return{enabled:X.enabled??eA1.enabled,max_bytes:En5(X.max_bytes,eA1.max_bytes)}}function Ln5(X){if(!X)return{sanitizedProperties:{},droppedKeys:[]};let Y=[];return{sanitizedProperties:Object.keys(X).reduce((Q,J)=>{if(wn5.has(J))return Y.push(J),Q;return Q[J]=X[J],Q},{}),droppedKeys:Y}}class s14{constructor(X){this._entries=[],this._totalBytes=0,this._config=_B0(X)}setConfig(X){this._config=_B0(X),this._trimToMaxBytes()}add(X){let Y=Pn5(X);if(!Y)return;let G=e14(Y.json);if(G>this._config.max_bytes)return;this._entries.push({step:Y.step,bytes:G}),this._totalBytes+=G,this._trimToMaxBytes()}getAttachable(){return this._entries.map((X)=>X.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 X=this._entries.shift();if(X)this._totalBytes-=X.bytes}}}function En5(X,Y){if(!vX1(X)||X===1/0||X===-1/0)return Y;let G=Math.floor(X);if(G<0)return Y;return G}function Pn5(X){let Y=qn5(X);if(!Y)return;try{let G=JSON.parse(Y);if(!kX1(G))return;let Q=G,J=Q[hX1.MESSAGE],W=Q[hX1.TIMESTAMP];if(!qq(J)||J.trim().length===0)return;if(!qq(W)&&!vX1(W))return;return{step:Q,json:Y}}catch{return}}function qn5(X){let Y=new WeakSet;try{return JSON.stringify(X,(G,Q)=>{if(typeof Q=="bigint")return Q.toString();if(typeof Q=="function"||typeof Q=="symbol")return;if(Q instanceof Date)return Q.toISOString();if(Q instanceof Error)return{name:Q.name,message:Q.message,stack:Q.stack};if(Q&&typeof Q=="object"){if(Y.has(Q))return"[Circular]";Y.add(Q)}return Q})}catch{return}}function e14(X){if(typeof TextEncoder<"u")return new TextEncoder().encode(X).length;let Y=encodeURIComponent(X),G=0;for(let Q=0;Q<Y.length;Q++)if(Y[Q]==="%")G+=1,Q+=2;else G+=1;return G}var hX1,wn5,eA1;var X04=D(()=>{F3();hX1={MESSAGE:"$message",TIMESTAMP:"$timestamp"},wn5=new Set([hX1.MESSAGE,hX1.TIMESTAMP]),eA1={enabled:!0,max_bytes:32768}});var qW={};M0(qW,{winjsStackLineParser:()=>L14,stripReservedExceptionStepFields:()=>Ln5,reverseAndStripFrames:()=>R14,resolveExceptionStepsConfig:()=>_B0,opera11StackLineParser:()=>q14,opera10StackLineParser:()=>P14,nodeStackLineParser:()=>I14,getUtf8ByteLength:()=>e14,geckoStackLineParser:()=>kB0,createStackParser:()=>S14,createDefaultStackParser:()=>On5,chromeStackLineParser:()=>CB0,StringCoercer:()=>x14,ReduceableCache:()=>r14,PromiseRejectionEventCoercer:()=>n14,PrimitiveCoercer:()=>i14,ObjectCoercer:()=>l14,ExceptionStepsBuffer:()=>s14,EventCoercer:()=>d14,ErrorPropertiesBuilder:()=>z14,ErrorEventCoercer:()=>b14,ErrorCoercer:()=>_14,EXCEPTION_STEP_INTERNAL_FIELDS:()=>hX1,DOMExceptionCoercer:()=>k14,DEFAULT_EXCEPTION_STEPS_CONFIG:()=>eA1});var Y04=D(()=>{O14();C14();t14();o14();X04()});var Rj=D(()=>{hA1();BB0();VB0();J14();bX1();Z14();Y04();F3();H14();RB0();F14();Vj()});import{createReadStream as An5}from"fs";import{createInterface as Tn5}from"readline";async function Z04(X){let Y={};for(let J=X.length-1;J>=0;J--){let W=X[J],Z=W?.filename;if(!W||typeof Z!="string"||typeof W.lineno!="number"||Sn5(Z)||Cn5(W))continue;if(!Y[Z])Y[Z]=[];Y[Z].push(W.lineno)}let G=Object.keys(Y);if(G.length==0)return X;let Q=[];for(let J of G){if(J04.get(J))continue;let W=Y[J];if(!W)continue;W.sort((K,H)=>K-H);let Z=vn5(W);if(Z.every((K)=>kn5(J,K)))continue;let $=_n5(XT1,J,{});Q.push(jn5(J,Z,$))}if(await Promise.all(Q).catch(()=>{}),X&&X.length>0)Mn5(X,XT1);return XT1.reduce(),X}function jn5(X,Y,G){return new Promise((Q)=>{let J=An5(X),W=Tn5({input:J});function Z(){J.destroy(),Q()}let $=0,K=0,H=Y[K];if(H===void 0)return void Z();let U=H[0],N=H[1];function B(){J04.set(X,1),W.close(),W.removeAllListeners(),Z()}J.on("error",B),W.on("error",B),W.on("close",Z),W.on("line",(z)=>{if($++,$<U)return;if(G[$]=fn5(z,0),$>=N){if(K===Y.length-1){W.close(),W.removeAllListeners();return}K++;let O=Y[K];if(O===void 0){W.close(),W.removeAllListeners();return}U=O[0],N=O[1]}})})}function Mn5(X,Y){for(let G of X)if(G.filename&&G.context_line===void 0&&typeof G.lineno=="number"){let Q=Y.get(G.filename);if(Q===void 0)continue;Rn5(G.lineno,G,Q)}}function Rn5(X,Y,G){if(Y.lineno===void 0||G===void 0)return;Y.pre_context=[];for(let J=W04(X);J<X;J++){let W=G[J];if(W===void 0)return void G04(Y);Y.pre_context.push(W)}if(G[X]===void 0)return void G04(Y);Y.context_line=G[X];let Q=$04(X);Y.post_context=[];for(let J=X+1;J<=Q;J++){let W=G[J];if(W===void 0)break;Y.post_context.push(W)}}function G04(X){delete X.pre_context,delete X.context_line,delete X.post_context}function Sn5(X){return X.startsWith("node:")||X.endsWith(".min.js")||X.endsWith(".min.cjs")||X.endsWith(".min.mjs")||X.startsWith("data:")}function Cn5(X){if(X.lineno!==void 0&&X.lineno>Vn5)return!0;if(X.colno!==void 0&&X.colno>In5)return!0;return!1}function kn5(X,Y){let G=XT1.get(X);if(G===void 0)return!1;for(let Q=Y[0];Q<=Y[1];Q++)if(G[Q]===void 0)return!1;return!0}function vn5(X){if(!X.length)return[];let Y=0,G=X[0];if(typeof G!="number")return[];let Q=Q04(G),J=[];while(!0){if(Y===X.length-1){J.push(Q);break}let W=X[Y+1];if(typeof W!="number")break;if(W<=Q[1])Q[1]=W+fB0;else J.push(Q),Q=Q04(W);Y++}return J}function Q04(X){return[W04(X),$04(X)]}function W04(X){return Math.max(1,X-fB0)}function $04(X){return X+fB0}function _n5(X,Y,G){let Q=X.get(Y);if(Q===void 0)return X.set(Y,G),G;return Q}function fn5(X,Y){let G=X,Q=G.length;if(Q<=150)return G;if(Y>Q)Y=Q;let J=Math.max(Y-60,0);if(J<5)J=0;let W=Math.min(J+140,Q);if(W>Q-5)W=Q;if(W===Q)J=Math.max(W-140,0);if(G=G.slice(J,W),J>0)G=`...${G}`;if(W<Q)G+="...";return G}var XT1,J04,fB0=7,In5=1000,Vn5=1e4;var K04=D(()=>{Rj();XT1=new qW.ReduceableCache(25),J04=new qW.ReduceableCache(20)});import{isAbsolute as bn5,relative as yn5,sep as xn5}from"path";function H04(X=process.cwd()){let Y=xn5==="\\",G=(J)=>Y?J.replace(/\\/g,"/"):J,Q=G(X);return async(J)=>{for(let W of J)if(!(!W.filename||W.filename.startsWith("node:")||W.filename.startsWith("data:"))){if(bn5(W.filename))W.filename=G(yn5(Q,G(W.filename)))}return J}}var F04=()=>{};function hn5(X,Y){let G=!1;return Object.assign((Q)=>{let W=global.process.listeners("uncaughtException").filter((Z)=>Z.name!=="domainUncaughtExceptionClear"&&Z._posthogErrorHandler!==!0).length===0;if(X(Q,{mechanism:{type:"onuncaughtexception",handled:!1}}),!G&&W)G=!0,Y(Q)},{_posthogErrorHandler:!0})}function U04(X,Y){globalThis.process?.on("uncaughtException",hn5(X,Y))}function N04(X){globalThis.process?.on("unhandledRejection",(Y)=>X(Y,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var B04=()=>{};class OH{constructor(X,Y,G){this.client=X,this._exceptionAutocaptureEnabled=Y.enableExceptionAutocapture||!1,this._logger=G,this._rateLimiter=new wB0({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(X){return kX1(X)&&"__posthog_previously_captured_error"in X&&X.__posthog_previously_captured_error===!0}static async buildEventMessage(X,Y,G,Q){let J={...Q},W=this.errorPropertiesBuilder.buildFromUnknown(X,Y);return W.$exception_list=await this.errorPropertiesBuilder.modifyFrames(W.$exception_list),{event:"$exception",distinctId:G,properties:{...W,...J},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){if(this.isEnabled())U04(this.onException.bind(this),this.onFatalError.bind(this)),N04(this.onException.bind(this))}onException(X,Y){this.client.addPendingPromise((async()=>{if(!OH.isPreviouslyCapturedError(X)){let G=await OH.buildEventMessage(X,Y),J=G.properties?.$exception_list[0]?.type??"Exception";if(this._rateLimiter.consumeRateLimit(J))return void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:J});return this.client.capture(G)}})())}async onFatalError(X){console.error(X),await this.client.shutdown(gn5),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}}var gn5=2000;var YT1=D(()=>{B04();Rj()});var z04="5.30.6";var O04=()=>{};var gX1;var bB0=D(()=>{gX1={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"}});async function D04(X){let Y=globalThis.crypto?.subtle;if(!Y)throw Error("SubtleCrypto API not available");let G=await Y.digest("SHA-1",new TextEncoder().encode(X));return Array.from(new Uint8Array(G)).map((J)=>J.toString(16).padStart(2,"0")).join("")}var w04=()=>{};class yB0{constructor({pollingInterval:X,personalApiKey:Y,projectApiKey:G,timeout:Q,host:J,customHeaders:W,...Z}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=X,this.personalApiKey=Y,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=Q,this.projectApiKey=G,this.host=J,this.poller=void 0,this.fetch=Z.fetch||fetch,this.onError=Z.onError,this.customHeaders=W,this.onLoad=Z.onLoad,this.cacheProvider=Z.cacheProvider,this.strictLocalEvaluation=Z.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(X=!0){this.debugMode=X}logMsgIfDebug(X){if(this.debugMode)X()}createEvaluationContext(X,Y={},G={},Q={},J={}){return{distinctId:X,groups:Y,personProperties:G,groupProperties:Q,evaluationCache:J}}async getFeatureFlag(X,Y,G={},Q={},J={}){await this.loadFeatureFlags();let W,Z;if(!this.loadedSuccessfullyOnce)return W;if(Z=this.featureFlagsByKey[X],Z!==void 0){let $=this.createEvaluationContext(Y,G,Q,J);try{W=(await this.computeFlagAndPayloadLocally(Z,$)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${X} -> ${W}`))}catch(K){if(K instanceof Qz||K instanceof d5)this.logMsgIfDebug(()=>console.debug(`${K.name} when computing flag locally: ${X}: ${K.message}`));else if(K instanceof Error)this.onError?.(Error(`Error computing flag locally: ${X}: ${K}`))}}return W}async getAllFlagsAndPayloads(X,Y){await this.loadFeatureFlags();let G={},Q={},J=this.featureFlags.length==0,W=Y?Y.map(($)=>this.featureFlagsByKey[$]).filter(Boolean):this.featureFlags,Z={...X,evaluationCache:X.evaluationCache??{}};return await Promise.all(W.map(async($)=>{try{let{value:K,payload:H}=await this.computeFlagAndPayloadLocally($,Z);if(G[$.key]=K,H)Q[$.key]=H}catch(K){if(K instanceof Qz||K instanceof d5)this.logMsgIfDebug(()=>console.debug(`${K.name} when computing flag locally: ${$.key}: ${K.message}`));else if(K instanceof Error)this.onError?.(Error(`Error computing flag locally: ${$.key}: ${K}`));J=!0}})),{response:G,payloads:Q,fallbackToFlags:J}}async computeFlagAndPayloadLocally(X,Y,G={}){let{matchValue:Q,skipLoadCheck:J=!1}=G;if(!J)await this.loadFeatureFlags();if(!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let W;W=Q!==void 0?Q:await this.computeFlagValueLocally(X,Y);let Z=this.getFeatureFlagPayload(X.key,W);return{value:W,payload:Z}}async computeFlagValueLocally(X,Y){let{distinctId:G,groups:Q,personProperties:J,groupProperties:W}=Y;if(X.ensure_experience_continuity)throw new d5("Flag has experience continuity enabled");if(!X.active)return!1;let $=(X.filters||{}).aggregation_group_type_index;if($!=null){let K=this.groupTypeMapping[String($)];if(!K)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${$} for feature flag ${X.key}`)),new d5("Flag has unknown group type index");if(!(K in Q))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${X.key} without group names passed in`)),!1;if(X.bucketing_identifier==="device_id"&&(J?.$device_id===void 0||J?.$device_id===null||J?.$device_id===""))this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${X.key}`));let H=W[K];return await this.matchFeatureFlagProperties(X,Q[K],H,Y)}{let K=this.getBucketingValueForFlag(X,G,J);if(K===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${X.key} without $device_id, falling back to server evaluation`)),new d5(`Can't compute feature flag: ${X.key} without $device_id`);return await this.matchFeatureFlagProperties(X,K,J,Y)}}getBucketingValueForFlag(X,Y,G){if(X.filters?.aggregation_group_type_index!=null)return Y;if(X.bucketing_identifier==="device_id"){let Q=G?.$device_id;if(Q==null||Q==="")return;return Q}return Y}getFeatureFlagPayload(X,Y){let G=null;if(Y!==!1&&Y!=null){if(typeof Y=="boolean")G=this.featureFlagsByKey?.[X]?.filters?.payloads?.[Y.toString()]||null;else if(typeof Y=="string")G=this.featureFlagsByKey?.[X]?.filters?.payloads?.[Y]||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(X,Y,G){let{evaluationCache:Q}=G,J=X.key;if(!this.featureFlagsByKey)throw new d5("Feature flags not available for dependency evaluation");if(!("dependency_chain"in X))throw new d5(`Flag dependency property for '${J}' is missing required 'dependency_chain' field`);let W=X.dependency_chain;if(!Array.isArray(W))throw new d5(`Flag dependency property for '${J}' has an invalid 'dependency_chain' (expected array, got ${typeof W})`);if(W.length===0)throw new d5(`Circular dependency detected for flag '${J}' (empty dependency chain)`);for(let $ of W){if(!($ in Q)){let H=this.featureFlagsByKey[$];if(H)if(H.active)try{let U=await this.computeFlagValueLocally(H,G);Q[$]=U}catch(U){throw new d5(`Error evaluating flag dependency '${$}' for flag '${J}': ${U}`)}else Q[$]=!1;else throw new d5(`Missing flag dependency '${$}' for flag '${J}'`)}if(Q[$]==null)throw new d5(`Dependency '${$}' could not be evaluated`)}let Z=Q[J];return this.flagEvaluatesToExpectedValue(X.value,Z)}flagEvaluatesToExpectedValue(X,Y){if(typeof X=="boolean")return X===Y||typeof Y=="string"&&Y!==""&&X===!0;if(typeof X=="string")return Y===X;return!1}async matchFeatureFlagProperties(X,Y,G,Q){let J=X.filters||{},W=J.groups||[],Z=!1,$;for(let K of W)try{if(await this.isConditionMatch(X,Y,K,G,Q)){let H=K.variant,U=J.multivariate?.variants||[];$=H&&U.some((N)=>N.key===H)?H:await this.getMatchingVariant(X,Y)||!0;break}}catch(H){if(H instanceof Qz)throw H;if(H instanceof d5)Z=!0;else throw H}if($!==void 0)return $;if(Z)throw new d5("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(X,Y,G,Q,J){let W=G.rollout_percentage,Z=($)=>{this.logMsgIfDebug(()=>console.warn($))};if((G.properties||[]).length>0){for(let $ of G.properties){let K=$.type,H=!1;if(H=K==="cohort"?A04($,Q,this.cohorts,this.debugMode):K==="flag"?await this.evaluateFlagDependency($,Q,J):q04($,Q,Z),!H)return!1}if(W==null)return!0}if(W!=null&&await L04(X.key,Y)>W/100)return!1;return!0}async getMatchingVariant(X,Y){let G=await L04(X.key,Y,"variant"),Q=this.variantLookupTable(X).find((J)=>G>=J.valueMin&&G<J.valueMax);if(Q)return Q.key}variantLookupTable(X){let Y=[],G=0,Q=0;return((X.filters||{}).multivariate?.variants||[]).forEach((Z)=>{Q=G+Z.rollout_percentage/100,Y.push({valueMin:G,valueMax:Q,key:Z.key}),G=Q}),Y}updateFlagState(X){this.featureFlags=X.flags,this.featureFlagsByKey=X.flags.reduce((Y,G)=>(Y[G.key]=G,Y),{}),this.groupTypeMapping=X.groupTypeMapping,this.cohorts=X.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(X){if(this.strictLocalEvaluation)return;let Y=X.filter((G)=>G.ensure_experience_continuity);if(Y.length>0)console.warn(`[PostHog] You are using local evaluation but ${Y.length} flag(s) have experience continuity enabled: ${Y.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(X){if(!this.cacheProvider)return!1;try{let Y=await this.cacheProvider.getFlagDefinitions();if(Y)return this.updateFlagState(Y),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${X} (${Y.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(Y.flags),!0;return!1}catch(Y){return this.onError?.(Error(`Failed to load from cache: ${Y}`)),!1}}async loadFeatureFlags(X=!1){if(this.loadedSuccessfullyOnce&&!X)return;if(!X&&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((Y)=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${Y}`))).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(un5,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 X=!0;if(this.cacheProvider)try{X=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(G){this.onError?.(Error(`Error in shouldFetchFlagDefinitions: ${G}`))}if(!X){if(await this.loadFromCache("Loaded flags from cache (skipped fetch)"))return;if(this.loadedSuccessfullyOnce)return}let Y=await this._requestFeatureFlagDefinitions();if(!Y)return;switch(Y.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=Y.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new ra(`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 ra(`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 ra(`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 Y.json()??{};if(!("flags"in G))return void this.onError?.(Error(`Invalid response when getting feature flags: ${JSON.stringify(G)}`));this.flagsEtag=Y.headers?.get("ETag")??void 0;let Q={flags:G.flags??[],groupTypeMapping:G.group_type_mapping||{},cohorts:G.cohorts||{}};if(this.updateFlagState(Q),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&X)try{await this.cacheProvider.onFlagDefinitionsReceived(Q)}catch(J){this.onError?.(Error(`Failed to store in cache: ${J}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(Q.flags);break}default:return}}catch(X){if(X instanceof ra)this.onError?.(X)}}getPersonalApiKeyRequestOptions(X="GET",Y){let G={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};if(Y)G["If-None-Match"]=Y;return{method:X,headers:G}}_requestFeatureFlagDefinitions(){let X=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,Y=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),G=null;if(this.timeout&&typeof this.timeout=="number"){let Q=new AbortController;G=Hw(()=>{Q.abort()},this.timeout),Y.signal=Q.signal}try{let Q=this.fetch;return Q(X,Y)}finally{clearTimeout(G)}}async stopPoller(X=30000){if(clearTimeout(this.poller),this.cacheProvider)try{let Y=this.cacheProvider.shutdown();if(Y instanceof Promise)await Promise.race([Y,new Promise((G,Q)=>setTimeout(()=>Q(Error(`Cache shutdown timeout after ${X}ms`)),X))])}catch(Y){this.onError?.(Error(`Error during cache shutdown: ${Y}`))}}}async function L04(X,Y,G=""){let Q=await D04(`${X}.${Y}${G}`);return parseInt(Q.slice(0,15),16)/ln5}function q04(X,Y,G){let{key:Q,value:J}=X,W=X.operator||"exact";if(Q in Y){if(W==="is_not_set")throw new d5("Operator is_not_set is not supported")}else throw new d5(`Property ${Q} not found in propertyValues`);let Z=Y[Q];if(Z==null&&!mn5.includes(W)){if(G)G(`Property ${Q} cannot have a value of null/undefined with the ${W} operator`);return!1}function $(H,U){if(Array.isArray(H))return H.map((N)=>String(N).toLowerCase()).includes(String(U).toLowerCase());return String(H).toLowerCase()===String(U).toLowerCase()}function K(H,U,N){if(N==="gt")return H>U;if(N==="gte")return H>=U;if(N==="lt")return H<U;if(N==="lte")return H<=U;throw Error(`Invalid operator: ${N}`)}switch(W){case"exact":return $(J,Z);case"is_not":return!$(J,Z);case"is_set":return Q in Y;case"icontains":return String(Z).toLowerCase().includes(String(J).toLowerCase());case"not_icontains":return!String(Z).toLowerCase().includes(String(J).toLowerCase());case"regex":return E04(String(J))&&String(Z).match(String(J))!==null;case"not_regex":return E04(String(J))&&String(Z).match(String(J))===null;case"gt":case"gte":case"lt":case"lte":{let H=typeof J=="number"?J:null;if(typeof J=="string")try{H=parseFloat(J)}catch(U){}if(H==null||Z==null)return K(String(Z),String(J),W);if(typeof Z=="string")return K(Z,String(J),W);return K(Z,H,W)}case"is_date_after":case"is_date_before":{if(typeof J=="boolean")throw new d5("Date operations cannot be performed on boolean values");let H=nn5(String(J));if(H==null)H=P04(J);if(H==null)throw new d5(`Invalid date: ${J}`);let U=P04(Z);if(["is_date_before"].includes(W))return U<H;return U>H}case"semver_eq":return DH(oQ(String(Z)),oQ(String(J)))===0;case"semver_neq":return DH(oQ(String(Z)),oQ(String(J)))!==0;case"semver_gt":return DH(oQ(String(Z)),oQ(String(J)))>0;case"semver_gte":return DH(oQ(String(Z)),oQ(String(J)))>=0;case"semver_lt":return DH(oQ(String(Z)),oQ(String(J)))<0;case"semver_lte":return DH(oQ(String(Z)),oQ(String(J)))<=0;case"semver_tilde":{let H=oQ(String(Z)),{lower:U,upper:N}=cn5(String(J));return DH(H,U)>=0&&DH(H,N)<0}case"semver_caret":{let H=oQ(String(Z)),{lower:U,upper:N}=in5(String(J));return DH(H,U)>=0&&DH(H,N)<0}case"semver_wildcard":{let H=oQ(String(Z)),{lower:U,upper:N}=pn5(String(J));return DH(H,U)>=0&&DH(H,N)<0}default:throw new d5(`Unknown operator: ${W}`)}}function dn5(X,Y){if(!(X in Y))throw new Qz(`cohort ${X} not found in local cohorts - likely a static cohort that requires server evaluation`)}function A04(X,Y,G,Q=!1){let J=String(X.value);dn5(J,G);let W=G[J];return T04(W,Y,G,Q)}function T04(X,Y,G,Q=!1){if(!X)return!0;let{type:J,values:W}=X;if(!W||W.length===0)return!0;let Z=!1;if("values"in W[0]){for(let $ of W)try{let K=T04($,Y,G,Q);if(J==="AND"){if(!K)return!1}else if(K)return!0}catch(K){if(K instanceof Qz)throw K;if(K instanceof d5){if(Q)console.debug(`Failed to compute property ${$} locally: ${K}`);Z=!0}else throw K}if(Z)throw new d5("Can't match cohort without a given cohort property value");return J==="AND"}for(let $ of W)try{let K;if($.type==="cohort")K=A04($,Y,G,Q);else if($.type==="flag"){if(Q)console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${$.key||"unknown"}'`);continue}else K=q04($,Y);let H=$.negation||!1;if(J==="AND"){if(!K&&!H)return!1;if(K&&H)return!1}else{if(K&&!H)return!0;if(!K&&H)return!0}}catch(K){if(K instanceof Qz)throw K;if(K instanceof d5){if(Q)console.debug(`Failed to compute property ${$} locally: ${K}`);Z=!0}else throw K}if(Z)throw new d5("can't match cohort without a given cohort property value");return J==="AND"}function E04(X){try{return new RegExp(X),!0}catch(Y){return!1}}function oQ(X){let G=String(X).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!G||G.startsWith("."))throw new d5(`Invalid semver: ${X}`);let Q=G.split("."),J=(K)=>{if(K===void 0||K==="")return 0;if(!/^\d+$/.test(K))throw new d5(`Invalid semver: ${X}`);return parseInt(K,10)},W=J(Q[0]),Z=J(Q[1]),$=J(Q[2]);return[W,Z,$]}function DH(X,Y){for(let G=0;G<3;G++){if(X[G]<Y[G])return-1;if(X[G]>Y[G])return 1}return 0}function cn5(X){let Y=oQ(X),G=[Y[0],Y[1],Y[2]],Q=[Y[0],Y[1]+1,0];return{lower:G,upper:Q}}function in5(X){let Y=oQ(X),[G,Q,J]=Y,W=[G,Q,J],Z;return Z=G>0?[G+1,0,0]:Q>0?[0,Q+1,0]:[0,0,J+1],{lower:W,upper:Z}}function pn5(X){let G=String(X).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!G)throw new d5(`Invalid wildcard semver: ${X}`);let Q=G.split("."),J=parseInt(Q[0],10);if(isNaN(J))throw new d5(`Invalid wildcard semver: ${X}`);let W,Z;if(Q.length===1)W=[J,0,0],Z=[J+1,0,0];else{let $=parseInt(Q[1],10);if(isNaN($))throw new d5(`Invalid wildcard semver: ${X}`);W=[J,$,0],Z=[J,$+1,0]}return{lower:W,upper:Z}}function P04(X){if(X instanceof Date)return X;if(typeof X=="string"||typeof X=="number"){let Y=new Date(X);if(!isNaN(Y.valueOf()))return Y;throw new d5(`${X} is in an invalid date format`)}throw new d5(`The date provided ${X} must be a string, number, or date object`)}function nn5(X){let Y=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,G=X.match(Y),Q=new Date(new Date().toISOString());if(!G)return null;{if(!G.groups)return null;let J=parseInt(G.groups.number);if(J>=1e4)return null;let W=G.groups.interval;if(W=="h")Q.setUTCHours(Q.getUTCHours()-J);else if(W=="d")Q.setUTCDate(Q.getUTCDate()-J);else if(W=="w")Q.setUTCDate(Q.getUTCDate()-7*J);else if(W=="m")Q.setUTCMonth(Q.getUTCMonth()-J);else{if(W!="y")return null;Q.setUTCFullYear(Q.getUTCFullYear()-J)}return Q}}var un5=60000,ln5=1152921504606847000,mn5,ra,d5,Qz;var I04=D(()=>{Rj();w04();mn5=["is_not"];ra=class ra extends Error{constructor(X){super();Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=X,Object.setPrototypeOf(this,ra.prototype)}};d5=class d5 extends Error{constructor(X){super(X);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,d5.prototype)}};Qz=class Qz extends Error{constructor(X){super(X);this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,Qz.prototype)}}});class xB0{getProperty(X){return this._memoryStorage[X]}setProperty(X,Y){this._memoryStorage[X]=Y!==null?Y:void 0}constructor(){this._memoryStorage={}}}var V04=()=>{};function en5(X){return typeof X=="string"?X.trim():""}function Xa5(X){return(typeof X=="string"?X.trim():"")||void 0}function Ya5(X){return(typeof X=="string"?X.trim():"")||sn5}var an5=100,j04=30000,tn5=50000,rn5=50,on5=500,sn5="https://us.i.posthog.com",hB0;var M04=D(()=>{O04();Rj();bB0();I04();YT1();V04();hB0=class hB0 extends aA1{constructor(X,Y={}){let G=en5(X),Q={...Y,host:Ya5(Y.host),personalApiKey:Xa5(Y.personalApiKey)};if(super(G,Q),this._memoryStorage=new xB0,this.options=Q,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof Q.featureFlagsPollingInterval=="number"?Math.max(Q.featureFlagsPollingInterval,an5):j04,typeof Q.waitUntilDebounceMs=="number")this.options.waitUntilDebounceMs=Math.max(Q.waitUntilDebounceMs,0);if(typeof Q.waitUntilMaxWaitMs=="number")this.options.waitUntilMaxWaitMs=Math.max(Q.waitUntilMaxWaitMs,0);if(Q.personalApiKey){if(Q.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(Q.enableLocalEvaluation!==!1)this.featureFlagsPoller=new yB0({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:Q.personalApiKey,projectApiKey:G,timeout:Q.requestTimeout??1e4,host:this.host,fetch:Q.fetch,onError:(W)=>{this._events.emit("error",W)},onLoad:(W)=>{this._events.emit("localEvaluationFlagsLoaded",W)},customHeaders:this.getCustomHeaders(),cacheProvider:Q.flagDefinitionCacheProvider,strictLocalEvaluation:Q.strictLocalEvaluation})}this.errorTracking=new OH(this,Q,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=Q.maxCacheSize||tn5}enqueue(X,Y,G){super.enqueue(X,Y,G),this.scheduleDebouncedFlush()}async flush(){let X=super.flush(),Y=this.options.waitUntil;if(Y&&!this._waitUntilCycle)try{Y(X.catch(()=>{}))}catch{}return X}scheduleDebouncedFlush(){let X=this.options.waitUntil;if(!X)return;if(this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let W,Z=new Promise(($)=>{W=$});try{X(Z)}catch{return}this._waitUntilCycle={resolve:W,startedAt:Date.now(),timer:void 0}}let Y=Date.now()-this._waitUntilCycle.startedAt,G=this.options.waitUntilMaxWaitMs??on5,Q=Y>=G;if(this._waitUntilCycle.timer!==void 0)clearTimeout(this._waitUntilCycle.timer);if(Q)return void this.resolveWaitUntilFlush();let J=this.options.waitUntilDebounceMs??rn5;this._waitUntilCycle.timer=Hw(()=>{this.resolveWaitUntilFlush()},J)}_consumeWaitUntilCycle(){let X=this._waitUntilCycle;if(X)clearTimeout(X.timer),this._waitUntilCycle=void 0;return X?.resolve}async resolveWaitUntilFlush(){let X=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{X?.()}}getPersistedProperty(X){return this._memoryStorage.getProperty(X)}setPersistedProperty(X,Y){return this._memoryStorage.setProperty(X,Y)}fetch(X,Y){return this.options.fetch?this.options.fetch(X,Y):fetch(X,Y)}getLibraryVersion(){return z04}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(X=!0){super.debug(X),this.featureFlagsPoller?.debug(X)}capture(X){if(typeof X=="string")this._logger.warn("Called capture() with a string as the first argument when an object was expected.");if(X.event==="$exception"&&!X._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(X).then(({distinctId:Y,event:G,properties:Q,options:J})=>super.captureStateless(Y,G,Q,{timestamp:J.timestamp,disableGeoip:J.disableGeoip,uuid:J.uuid})).catch((Y)=>{if(Y)console.error(Y)}))}async captureImmediate(X){if(typeof X=="string")this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected.");if(X.event==="$exception"&&!X._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(X).then(({distinctId:Y,event:G,properties:Q,options:J})=>super.captureStatelessImmediate(Y,G,Q,{timestamp:J.timestamp,disableGeoip:J.disableGeoip,uuid:J.uuid})).catch((Y)=>{if(Y)console.error(Y)}))}identify({distinctId:X,properties:Y={},disableGeoip:G}){let{$set:Q,$set_once:J,$anon_distinct_id:W,...Z}=Y,H={$set:Q||Z,$set_once:J||{},$anon_distinct_id:W??void 0};super.identifyStateless(X,H,{disableGeoip:G})}async identifyImmediate({distinctId:X,properties:Y={},disableGeoip:G}){let{$set:Q,$set_once:J,$anon_distinct_id:W,...Z}=Y,H={$set:Q||Z,$set_once:J||{},$anon_distinct_id:W??void 0};super.identifyStatelessImmediate(X,H,{disableGeoip:G})}alias(X){super.aliasStateless(X.alias,X.distinctId,void 0,{disableGeoip:X.disableGeoip})}async aliasImmediate(X){await super.aliasStatelessImmediate(X.alias,X.distinctId,void 0,{disableGeoip:X.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(X=j04){if(this.isLocalEvaluationReady())return!0;if(this.featureFlagsPoller===void 0)return!1;return new Promise((Y)=>{let G=setTimeout(()=>{Q(),Y(!1)},X),Q=this._events.on("localEvaluationFlagsLoaded",(J)=>{clearTimeout(G),Q(),Y(J>0)})})}_resolveDistinctId(X,Y){if(typeof X=="string")return{distinctId:X,options:Y};return{distinctId:this.context?.get()?.distinctId,options:X}}async _getFeatureFlagResult(X,Y,G={},Q){let J=G.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&X in this._flagOverrides){let V=this._flagOverrides[X];if(V===void 0)return;let R=this._payloadOverrides?.[X];return{key:X,enabled:V!==!1,variant:typeof V=="string"?V:void 0,payload:R}}let{groups:W,disableGeoip:Z}=G,{onlyEvaluateLocally:$,personProperties:K,groupProperties:H}=G,U=this.addLocalPersonAndGroupProperties(Y,W,K,H);K=U.allPersonProperties,H=U.allGroupProperties;let N=this.createFeatureFlagEvaluationContext(Y,W,K,H);if($==null)$=this.options.strictLocalEvaluation??!1;let B,z=!1,O,w,E,P,q,j;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let V=this.featureFlagsPoller?.featureFlagsByKey[X];if(V)try{let R=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(V,N,{matchValue:Q});if(R){z=!0;let k=R.value;P=V.id,j="Evaluated locally",B={key:X,enabled:k!==!1,variant:typeof k=="string"?k:void 0,payload:R.payload??void 0}}}catch(R){if(R instanceof Qz||R instanceof d5)this._logger?.info(`${R.name} when computing flag locally: ${X}: ${R.message}`);else throw R}}if(!z&&!$){let V=await super.getFeatureFlagDetailsStateless(N.distinctId,N.groups,N.personProperties,N.groupProperties,Z,[X]);if(V===void 0)E=gX1.UNKNOWN_ERROR;else{O=V.requestId,w=V.evaluatedAt;let R=[];if(V.errorsWhileComputingFlags)R.push(gX1.ERRORS_WHILE_COMPUTING);if(V.quotaLimited?.includes("feature_flags"))R.push(gX1.QUOTA_LIMITED);let k=V.flags[X];if(k===void 0)R.push(gX1.FLAG_MISSING);else{P=k.metadata?.id,q=k.metadata?.version,j=k.reason?.description??k.reason?.code;let _;if(k.metadata?.payload!==void 0)try{_=JSON.parse(k.metadata.payload)}catch{_=k.metadata.payload}B={key:X,enabled:k.enabled,variant:k.variant,payload:_}}if(R.length>0)E=R.join(",")}}if(J){let V=B===void 0?void 0:B.enabled===!1?!1:B.variant??!0,R=`${X}_${V}`;if(!(Y in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[Y].includes(R)){if(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize)this.distinctIdHasSentFlagCalls={};if(Array.isArray(this.distinctIdHasSentFlagCalls[Y]))this.distinctIdHasSentFlagCalls[Y].push(R);else this.distinctIdHasSentFlagCalls[Y]=[R];let k={$feature_flag:X,$feature_flag_response:V,$feature_flag_id:P,$feature_flag_version:q,$feature_flag_reason:j,locally_evaluated:z,[`$feature/${X}`]:V,$feature_flag_request_id:O,$feature_flag_evaluated_at:z?Date.now():w};if(z&&this.featureFlagsPoller){let _=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();if(_!==void 0)k.$feature_flag_definitions_loaded_at=_}if(E)k.$feature_flag_error=E;this.capture({distinctId:Y,event:"$feature_flag_called",properties:k,groups:W,disableGeoip:Z})}}if(B!==void 0&&this._payloadOverrides!==void 0&&X in this._payloadOverrides)B={...B,payload:this._payloadOverrides[X]};return B}async getFeatureFlag(X,Y,G){let Q=await this._getFeatureFlagResult(X,Y,{...G,sendFeatureFlagEvents:G?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(Q===void 0)return;if(Q.enabled===!1)return!1;return Q.variant??!0}async getFeatureFlagPayload(X,Y,G,Q){if(this._payloadOverrides!==void 0&&X in this._payloadOverrides)return this._payloadOverrides[X];let J=await this._getFeatureFlagResult(X,Y,{...Q,sendFeatureFlagEvents:!1},G);if(J===void 0)return;return J.payload??null}async getFeatureFlagResult(X,Y,G){let{distinctId:Q,options:J}=this._resolveDistinctId(Y,G);if(!Q)return void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()");return this._getFeatureFlagResult(X,Q,{...J,sendFeatureFlagEvents:J?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(X){if(!this.options.personalApiKey)throw Error("Personal API key is required for remote config payload decryption");let Y=await this._requestRemoteConfigPayload(X);if(!Y)return;let G=await Y.json();if(typeof G=="string")try{return JSON.parse(G)}catch(Q){}return G}async isFeatureEnabled(X,Y,G){let Q=await this.getFeatureFlag(X,Y,G);if(Q===void 0)return;return!!Q||!1}async getAllFlags(X,Y){let{distinctId:G,options:Q}=this._resolveDistinctId(X,Y);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,Q)).featureFlags||{}}async getAllFlagsAndPayloads(X,Y){let{distinctId:G,options:Q}=this._resolveDistinctId(X,Y);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:J,disableGeoip:W,flagKeys:Z}=Q||{},{onlyEvaluateLocally:$,personProperties:K,groupProperties:H}=Q||{},U=this.addLocalPersonAndGroupProperties(G,J,K,H);K=U.allPersonProperties,H=U.allGroupProperties;let N=this.createFeatureFlagEvaluationContext(G,J,K,H);if($==null)$=this.options.strictLocalEvaluation??!1;let B=await this.featureFlagsPoller?.getAllFlagsAndPayloads(N,Z),z={},O={},w=!0;if(B)z=B.response,O=B.payloads,w=B.fallbackToFlags;if(w&&!$){let E=await super.getFeatureFlagsAndPayloadsStateless(N.distinctId,N.groups,N.personProperties,N.groupProperties,W,Z);z={...z,...E.flags||{}},O={...O,...E.payloads||{}}}if(this._flagOverrides!==void 0)z={...z,...this._flagOverrides};if(this._payloadOverrides!==void 0)O={...O,...this._payloadOverrides};return{featureFlags:z,featureFlagPayloads:O}}groupIdentify({groupType:X,groupKey:Y,properties:G,distinctId:Q,disableGeoip:J}){super.groupIdentifyStateless(X,Y,G,{disableGeoip:J},Q)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(X){let Y=(G)=>Object.fromEntries(G.map((Q)=>[Q,!0]));if(X===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(X)){this._flagOverrides=Y(X);return}if(this._isFeatureFlagOverrideOptions(X)){if("flags"in X){if(X.flags===!1)this._flagOverrides=void 0;else if(Array.isArray(X.flags))this._flagOverrides=Y(X.flags);else if(X.flags!==void 0)this._flagOverrides={...X.flags}}if("payloads"in X){if(X.payloads===!1)this._payloadOverrides=void 0;else if(X.payloads!==void 0)this._payloadOverrides={...X.payloads}}return}this._flagOverrides={...X}}_isFeatureFlagOverrideOptions(X){if(typeof X!="object"||X===null||Array.isArray(X))return!1;let Y=X;if("flags"in Y){let G=Y.flags;if(G===!1||Array.isArray(G)||typeof G=="object"&&G!==null)return!0}if("payloads"in Y){let G=Y.payloads;if(G===!1||typeof G=="object"&&G!==null)return!0}return!1}withContext(X,Y,G){if(!this.context)return Y();return this.context.run(X,Y,G)}getContext(){return this.context?.get()}enterContext(X,Y){this.context?.enter(X,Y)}async _shutdown(X){let Y=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(X),this.errorTracking.shutdown();try{return await super._shutdown(X)}finally{Y?.()}}async _requestRemoteConfigPayload(X){if(!this.options.personalApiKey)return;let Y=`${this.host}/api/projects/@current/feature_flags/${X}/remote_config?token=${encodeURIComponent(this.apiKey)}`,G={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},Q=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let J=new AbortController;Q=Hw(()=>{J.abort()},this.options.requestTimeout),G.signal=J.signal}try{return await this.fetch(Y,G)}catch(J){this._events.emit("error",J);return}finally{if(Q)clearTimeout(Q)}}extractPropertiesFromEvent(X,Y){if(!X)return{personProperties:{},groupProperties:{}};let G={},Q={};for(let[J,W]of Object.entries(X))if(ge6(W)&&Y&&J in Y){let Z={};for(let[$,K]of Object.entries(W))Z[String($)]=String(K);Q[String(J)]=Z}else G[String(J)]=String(W);return{personProperties:G,groupProperties:Q}}async getFeatureFlagsForEvent(X,Y,G,Q){let J=Q?.personProperties||{},W=Q?.groupProperties||{},Z=Q?.flagKeys;if(Q?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if(!((this.featureFlagsPoller?.featureFlags?.length||0)>0))return{};else{let K={};for(let[H,U]of Object.entries(Y||{}))K[H]=String(U);return await this.getAllFlags(X,{groups:K,personProperties:J,groupProperties:W,disableGeoip:G,onlyEvaluateLocally:!0,flagKeys:Z})}if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let K={};for(let[H,U]of Object.entries(Y||{}))K[H]=String(U);return await this.getAllFlags(X,{groups:K,personProperties:J,groupProperties:W,disableGeoip:G,onlyEvaluateLocally:!0,flagKeys:Z})}return(await super.getFeatureFlagsStateless(X,Y,J,W,G)).flags}addLocalPersonAndGroupProperties(X,Y,G,Q){let J={distinct_id:X,...G||{}},W={};if(Y)for(let Z of Object.keys(Y))W[Z]={$group_key:Y[Z],...Q?.[Z]||{}};return{allPersonProperties:J,allGroupProperties:W}}createFeatureFlagEvaluationContext(X,Y,G,Q){return{distinctId:X,groups:Y||{},personProperties:G||{},groupProperties:Q||{},evaluationCache:{}}}captureException(X,Y,G,Q){if(!OH.isPreviouslyCapturedError(X)){let J=Error("PostHog syntheticException");this.addPendingPromise(OH.buildEventMessage(X,{syntheticException:J},Y,G).then((W)=>this.capture({...W,uuid:Q})))}}async captureExceptionImmediate(X,Y,G){if(!OH.isPreviouslyCapturedError(X)){let Q=Error("PostHog syntheticException");return this.addPendingPromise(OH.buildEventMessage(X,{syntheticException:Q},Y,G).then((J)=>this.captureImmediate(J)))}}async prepareEventMessage(X){let{distinctId:Y,event:G,properties:Q,groups:J,sendFeatureFlags:W,timestamp:Z,disableGeoip:$,uuid:K}=X,H=this.context?.get(),U=Y||H?.distinctId,N={...this.props,...H?.properties||{},...Q||{}};if(!U)U=Aq(),N.$process_person_profile=!1;if(H?.sessionId&&!N.$session_id)N.$session_id=H.sessionId;let B=this._runBeforeSend({distinctId:U,event:G,properties:N,groups:J,sendFeatureFlags:W,timestamp:Z,disableGeoip:$,uuid:K});if(!B)return Promise.reject(null);let z=await Promise.resolve().then(async()=>{if(W){let O=typeof W=="object"?W:void 0;return await this.getFeatureFlagsForEvent(B.distinctId,J,$,O)}return B.event,{}}).then((O)=>{let w={};if(O)for(let[P,q]of Object.entries(O))w[`$feature/${P}`]=q;let E=Object.keys(O||{}).filter((P)=>O?.[P]!==!1).sort();if(E.length>0)w.$active_feature_flags=E;return w}).catch(()=>({})).then((O)=>{return{...O,...B.properties||{},$groups:B.groups||J}});if(B.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof z.$raw_user_agent=="string"){if(fe6(z.$raw_user_agent,this.options.custom_blocked_useragents||[]))B.event="$bot_pageview",z.$browser_type="bot"}return{distinctId:B.distinctId,event:B.event,properties:z,options:{timestamp:B.timestamp,disableGeoip:B.disableGeoip,uuid:B.uuid}}}_runBeforeSend(X){let Y=this.options.before_send;if(!Y)return X;let G=Array.isArray(Y)?Y:[Y],Q=X;for(let J of G){if(Q=J(Q),!Q)return this._logger.info(`Event '${X.event}' was rejected in beforeSend function`),null;if(!Q.properties||Object.keys(Q.properties).length===0){let W=`Event '${Q.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(W)}}return Q}}});import{AsyncLocalStorage as Ga5}from"async_hooks";class gB0{constructor(){this.storage=new Ga5}get(){return this.storage.getStore()}run(X,Y,G){return this.storage.run(this.resolve(X,G),Y)}enter(X,Y){this.storage.enterWith(this.resolve(X,Y))}resolve(X,Y){if(Y?.fresh===!0)return X;let G=this.get()||{};return{distinctId:X.distinctId??G.distinctId,sessionId:X.sessionId??G.sessionId,properties:{...G.properties||{},...X.properties||{}}}}}var R04=()=>{};function Qa5(X,{organization:Y,projectId:G,prefix:Q,severityAllowList:J=["error"],sendExceptionsToPostHog:W=!0}={}){return(Z)=>{if(!(J==="*"||J.includes(Z.level)))return Z;if(!Z.tags)Z.tags={};let K=Z.tags[S04.POSTHOG_ID_TAG];if(K===void 0)return Z;let H=X.options.host??"https://us.i.posthog.com",U=new URL(`/project/${X.apiKey}/person/${K}`,H).toString();Z.tags["PostHog Person URL"]=U;let N=Z.exception?.values||[],B=N.map((O)=>({...O,stacktrace:O.stacktrace?{...O.stacktrace,type:"raw",frames:(O.stacktrace.frames||[]).map((w)=>({...w,platform:"node:javascript"}))}:void 0})),z={$exception_message:N[0]?.value||Z.message,$exception_type:N[0]?.type,$exception_level:Z.level,$exception_list:B,$sentry_event_id:Z.event_id,$sentry_exception:Z.exception,$sentry_exception_message:N[0]?.value||Z.message,$sentry_exception_type:N[0]?.type,$sentry_tags:Z.tags};if(Y&&G)z.$sentry_url=(Q||"https://sentry.io/organizations/")+Y+"/issues/?project="+G+"&query="+Z.event_id;if(W)X.capture({event:"$exception",distinctId:K,properties:z});return Z}}var S04;var C04=D(()=>{S04=class S04{static#X=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(X,Y,G,Q,J){this.name="posthog-node",this.name="posthog-node",this.setupOnce=function(W,Z){let $=Z()?.getClient()?.getDsn()?.projectId;W(Qa5(X,{organization:Y,projectId:$,prefix:G,severityAllowList:Q,sendExceptionsToPostHog:J??!0}))}}}});var k04=D(()=>{YT1()});var v04=D(()=>{Rj();C04();k04();bB0()});var uB0;var _04=D(()=>{Ce6();K04();F04();YT1();M04();Rj();R04();v04();OH.errorPropertiesBuilder=new qW.ErrorPropertiesBuilder([new qW.EventCoercer,new qW.ErrorCoercer,new qW.ObjectCoercer,new qW.StringCoercer,new qW.PrimitiveCoercer],qW.createStackParser("node:javascript",qW.nodeStackLineParser),[Se6(),Z04,H04()]);uB0=class uB0 extends hB0{getLibraryId(){return"posthog-node"}initializeContext(){return new gB0}}});function Ja5(){return{capture:()=>{},identify:()=>{},captureException:()=>{},groupIdentify:()=>{},shutdown:async()=>{}}}var lB0,f04,j4;var RX=D(()=>{_04();lB0=process.env.POSTHOG_KEY,f04=process.env.POSTHOG_HOST;j4=lB0?new uB0(lB0,{...f04?{host:f04}:{},enableExceptionAutocapture:!0,flushAt:1,flushInterval:0}):Ja5();if(lB0){let X=()=>{j4.shutdown().catch(()=>{})};process.on("SIGTERM",X),process.on("SIGINT",X)}});function g$(){let X=v6();if(X.baseUrl)return X.baseUrl;return`http://localhost:${X.port??3000}`}function uX1(){return`http://localhost:${v6().port??3000}`}var Fw=D(()=>{m9()});var b04=D(()=>{CV()});function y04(X){return{organizationId:X.organization_id,domain:X.domain,autoJoinEnabled:X.auto_join_enabled,createdAt:X.created_at,updatedAt:X.updated_at}}class Uw{db;constructor(X){this.db=X}async getByDomain(X){let Y=await this.db.selectFrom("organization_domains").selectAll().where("domain","=",X.toLowerCase()).executeTakeFirst();return Y?y04(Y):null}async getByOrganizationId(X){let Y=await this.db.selectFrom("organization_domains").selectAll().where("organization_id","=",X).executeTakeFirst();return Y?y04(Y):null}async setDomain(X,Y,G=!1){let Q=new Date().toISOString(),J=Y.toLowerCase();try{await this.db.insertInto("organization_domains").values({organization_id:X,domain:J,auto_join_enabled:G,created_at:Q,updated_at:Q}).onConflict((Z)=>Z.column("organization_id").doUpdateSet({domain:J,auto_join_enabled:G,updated_at:Q})).execute()}catch(Z){if(Z.code==="23505")throw Error(`Domain "${J}" is already claimed by another organization.`);throw Z}let W=await this.getByOrganizationId(X);if(!W)throw Error("Failed to set domain");return W}async updateAutoJoin(X,Y){let G=new Date().toISOString();await this.db.updateTable("organization_domains").set({auto_join_enabled:Y,updated_at:G}).where("organization_id","=",X).execute();let Q=await this.getByOrganizationId(X);if(!Q)throw Error("No domain found for organization");return Q}async clearDomain(X){await this.db.deleteFrom("organization_domains").where("organization_id","=",X).execute()}}class mB0{apiKey;constructor(X){this.apiKey=X}async sendEmail({to:X,from:Y,subject:G,html:Q}){let J=await fetch("https://api.resend.com/emails",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({to:X,from:Y,subject:G,html:Q})});if(!J.ok)throw Error(`Failed to send email: ${J.statusText}`)}}class dB0{apiKey;constructor(X){this.apiKey=X}async sendEmail({to:X,from:Y,subject:G,html:Q}){let J=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:X}]}],from:{email:Y},subject:G,content:[{type:"text/html",value:Q}]})});if(!J.ok){let W=await J.text();throw Error(`Failed to send email via SendGrid: ${J.statusText} - ${W}`)}}}function Sj(X){let Y=$a5[X.provider];if(!Y)throw Error(`Unknown email provider: ${X.provider}`);return Y(X)}function Cj(X,Y){return X.find((G)=>G.id===Y)}var Za5=(X)=>{let Y=new mB0(X.config.apiKey);return async({to:G,subject:Q,html:J})=>{await Y.sendEmail({to:G,from:X.config.fromEmail,subject:Q,html:J})}},Wa5=(X)=>{let Y=new dB0(X.config.apiKey);return async({to:G,subject:Q,html:J})=>{await Y.sendEmail({to:G,from:X.config.fromEmail,subject:Q,html:J})}},$a5;var GT1=D(()=>{$a5={resend:Za5,sendgrid:Wa5}});function kj({preheader:X="",heading:Y,subheading:G,body:Q,footnote:J}){return`<!DOCTYPE html>
1641
1641
  <html lang="en">
1642
1642
  <head>