decocms 4.523.2 → 4.524.0

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 (518) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-BiggFcjT.js → ActiveShapeUtils-gwLrBsiR.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-DuL_FFHx.js → AlertCircle-COLuN3Qe.js} +1 -1
  3. package/dist/client/assets/{AreaChart-CwzHmgIC.js → AreaChart-Dud7jvcC.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-D94SnK45.js → ArrowLeft-BYNlToA0.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-Dn7IgtbA.js → ArrowUp-CRFAWnPc.js} +1 -1
  6. package/dist/client/assets/{BarChart-cNHCiDCi.js → BarChart-JFNliGSV.js} +1 -1
  7. package/dist/client/assets/{Building02-BmRvdezs.js → Building02-DinMBe3_.js} +1 -1
  8. package/dist/client/assets/{CartesianChart-iNB7Klro.js → CartesianChart-Cjgu2ECY.js} +1 -1
  9. package/dist/client/assets/{CategoricalChart-C1fCYXI1.js → CategoricalChart-Bx8yFu23.js} +1 -1
  10. package/dist/client/assets/{CheckCircle-BCzuQhZn.js → CheckCircle-DCMOdEuL.js} +1 -1
  11. package/dist/client/assets/{ChevronSelectorVertical-CxqUMZg6.js → ChevronSelectorVertical-Dwu4Nr-2.js} +1 -1
  12. package/dist/client/assets/{ChevronUp-DWUYL4oz.js → ChevronUp-4EkxqYyz.js} +1 -1
  13. package/dist/client/assets/{Copy01-B5Qm_DvO.js → Copy01-Tog1jA1S.js} +1 -1
  14. package/dist/client/assets/{CreditCard01-8EhoJBRm.js → CreditCard01-B7MC6SfH.js} +1 -1
  15. package/dist/client/assets/{DotsVertical-BmVaGWAg.js → DotsVertical-qUaZHjqd.js} +1 -1
  16. package/dist/client/assets/{ErrorBarContext-7FUCCj8N.js → ErrorBarContext-C1p765z-.js} +1 -1
  17. package/dist/client/assets/{Globe04-KfEeo3Pn.js → Globe04-CGEgYyKw.js} +1 -1
  18. package/dist/client/assets/{Image01-KdUybmWt.js → Image01-CW7Pcq-W.js} +1 -1
  19. package/dist/client/assets/{Key01-6z52NoNj.js → Key01-D_nzK0xg.js} +1 -1
  20. package/dist/client/assets/{Link01-oKshySD_.js → Link01-CpcYQ7Qt.js} +1 -1
  21. package/dist/client/assets/{LinkBroken01-edPm2SIJ.js → LinkBroken01-Ctb4MZUK.js} +1 -1
  22. package/dist/client/assets/{Minus-BvqQFZHP.js → Minus-DoRDGpun.js} +1 -1
  23. package/dist/client/assets/{Monitor01-DZmeiH6p.js → Monitor01-L9jyZGZ2.js} +1 -1
  24. package/dist/client/assets/{Play-3WH9Ikap.js → Play-Du5BNsRy.js} +1 -1
  25. package/dist/client/assets/{Plus-D3sv1Vc5.js → Plus-BfnmJh1R.js} +1 -1
  26. package/dist/client/assets/{ReferenceLine-D2o1nZW0.js → ReferenceLine-DCCnHWMQ.js} +1 -1
  27. package/dist/client/assets/{SearchMd-DzFzOALq.js → SearchMd-JUAl7Zv6.js} +1 -1
  28. package/dist/client/assets/{Sector-DlWxPN8J.js → Sector-DL6Ad47o.js} +1 -1
  29. package/dist/client/assets/{ShoppingBag01-B1nTczbE.js → ShoppingBag01-usYkWunw.js} +1 -1
  30. package/dist/client/assets/{Sun-D5qn9wPg.js → Sun-B7TolJAG.js} +1 -1
  31. package/dist/client/assets/{SwitchHorizontal01-DQQsmdwN.js → SwitchHorizontal01-DcP8c_x_.js} +1 -1
  32. package/dist/client/assets/{Tool01-Bhj-QHDu.js → Tool01-Bon-ixH5.js} +1 -1
  33. package/dist/client/assets/{Trash01-DT07olaT.js → Trash01-cH2tYIUn.js} +1 -1
  34. package/dist/client/assets/{Upload01-BocTk920.js → Upload01-Bo60o4T6.js} +1 -1
  35. package/dist/client/assets/{UserSquare-zP4-JvXz.js → UserSquare-DsAVH788.js} +1 -1
  36. package/dist/client/assets/{Users01-DfLHZjoX.js → Users01-Bo_9DitT.js} +1 -1
  37. package/dist/client/assets/{XClose-1FEelrZ4.js → XClose-DhoOL-T1.js} +1 -1
  38. package/dist/client/assets/{ZoomOut-DH4NDKgS.js → ZoomOut-B1U_CHeD.js} +1 -1
  39. package/dist/client/assets/access-gate-CGDwkzkf.js +1 -0
  40. package/dist/client/assets/{add-connection-dialog-B9X2bENr.js → add-connection-dialog-8gQOdlVv.js} +1 -1
  41. package/dist/client/assets/agent-analytics-Bd5QSkcr.js +1 -0
  42. package/dist/client/assets/agent-app-DSGhLy_N.js +1 -0
  43. package/dist/client/assets/agent-assets-Q4lV98mF.js +1 -0
  44. package/dist/client/assets/agent-automation-Dsupi3DF.js +20 -0
  45. package/dist/client/assets/agent-automations-BonoDEyJ.js +1 -0
  46. package/dist/client/assets/agent-calendar-WpcQ_E3l.js +1 -0
  47. package/dist/client/assets/agent-connect-sources-C0oR1IIZ.js +1 -0
  48. package/dist/client/assets/agent-deck-Y0SX6UB9.js +1 -0
  49. package/dist/client/assets/agent-e2e-nbY2lllw.js +1 -0
  50. package/dist/client/assets/agent-experiments-XS7LGaQh.js +1 -0
  51. package/dist/client/assets/agent-file-DKmgj6b-.js +1 -0
  52. package/dist/client/assets/agent-hosting-BC5YnVoX.js +1 -0
  53. package/dist/client/assets/agent-icon-CVEMdYFU.js +1 -0
  54. package/dist/client/assets/agent-library-CYxkIVFl.js +1 -0
  55. package/dist/client/assets/agent-library-file-DPhxbUtG.js +1 -0
  56. package/dist/client/assets/agent-monitor-C01cwPL-.js +1 -0
  57. package/dist/client/assets/agent-overview-DU1IP4XS.js +1 -0
  58. package/dist/client/assets/agent-releases-BuXXsH8W.js +2 -0
  59. package/dist/client/assets/agent-settings-B7CchDfJ.js +1 -0
  60. package/dist/client/assets/{agent-site-editor-Ccqk13sk.js → agent-site-editor-DSqJlDXx.js} +2 -2
  61. package/dist/client/assets/agent-site-editor-code-uiPbclqT.js +2 -0
  62. package/dist/client/assets/agent-site-editor-content-B9B2SztQ.js +1 -0
  63. package/dist/client/assets/agent-site-editor-preview-CQGXtn5w.js +1 -0
  64. package/dist/client/assets/agent-view-BNK8YJ86.js +1 -0
  65. package/dist/client/assets/{agent-view-guard-BQQDslge.js → agent-view-guard-Bvqt9A7d.js} +1 -1
  66. package/dist/client/assets/agents-list-BV-RY6eO.js +1 -0
  67. package/dist/client/assets/{ai-providers-DZoJeRvf.js → ai-providers-D8opLVHp.js} +2 -2
  68. package/dist/client/assets/{alert-SHlQi_f5.js → alert-CYZdSIKq.js} +1 -1
  69. package/dist/client/assets/analytics-sections-BqhdlzKZ.js +1 -0
  70. package/dist/client/assets/analytics-tab-BWgFTW72.js +2 -0
  71. package/dist/client/assets/api-keys-Dj50tYQ9.js +1 -0
  72. package/dist/client/assets/api-keys-MofJBQfW.js +1 -0
  73. package/dist/client/assets/app-editor-BcJaA3eR.js +1 -0
  74. package/dist/client/assets/{asset-utils-B48ApnSg.js → asset-utils-DcPLl2K6.js} +1 -1
  75. package/dist/client/assets/{auth--QyNLTbP.js → auth-CEIITB7d.js} +1 -1
  76. package/dist/client/assets/{auth-catchall-9FBGni3X.js → auth-catchall-CEBn1SGS.js} +1 -1
  77. package/dist/client/assets/{auth-entry-Bb0XRefn.js → auth-entry-iXHgBQJV.js} +1 -1
  78. package/dist/client/assets/{auth-split-layout-aJ5w9glJ.js → auth-split-layout-CsXqgaOS.js} +1 -1
  79. package/dist/client/assets/{authenticate-and-persist-oauth-D2Ooe96m.js → authenticate-and-persist-oauth-CN-ocXe3.js} +1 -1
  80. package/dist/client/assets/automation-list-row-JOMePUFR.js +1 -0
  81. package/dist/client/assets/automation-runs-KPGkDZAM.js +1 -0
  82. package/dist/client/assets/automations-BTtfVGNa.js +1 -0
  83. package/dist/client/assets/{autosend-CUttN5XY.js → autosend-CbkP_bEt.js} +1 -1
  84. package/dist/client/assets/{badge-DVaine1x.js → badge-DeNt4-FX.js} +1 -1
  85. package/dist/client/assets/{block-document-Dsg6Fb4A.js → block-document-BzAW7wGZ.js} +3 -3
  86. package/dist/client/assets/{blocks-preview-workspace-context-DrgIe1RS.js → blocks-preview-workspace-context-aUwmyorT.js} +1 -1
  87. package/dist/client/assets/blocks-tab-states-PBqE8hLO.js +1 -0
  88. package/dist/client/assets/blog-schema-BYLQdC9S.js +1 -0
  89. package/dist/client/assets/buckets-CFL4z0d-.js +1 -0
  90. package/dist/client/assets/build-improve-prompt-doc-BpkVMxpg.js +2 -0
  91. package/dist/client/assets/{calendar-CpwMOIuL.js → calendar-GMyXKkbA.js} +1 -1
  92. package/dist/client/assets/campaigns-view-iaGM9YLd.js +1 -0
  93. package/dist/client/assets/{capability-load-error-DvFhO1Pk.js → capability-load-error-juzFeQ-_.js} +1 -1
  94. package/dist/client/assets/category-editor-lTx7E71S.js +1 -0
  95. package/dist/client/assets/{cdn-tab-9Pvplnml.js → cdn-tab-QH34WF_J.js} +1 -1
  96. package/dist/client/assets/{chart-DMJIFNic.js → chart-D9k22T0E.js} +1 -1
  97. package/dist/client/assets/{chat-context-DwIrrO5r.js → chat-context-C56OVvQP.js} +7 -7
  98. package/dist/client/assets/{chat-draft-stAhUvyw.js → chat-draft-DNgi8tda.js} +1 -1
  99. package/dist/client/assets/{checkbox-aTYJ3HOV.js → checkbox-B6N4ay58.js} +1 -1
  100. package/dist/client/assets/choose-editor-CcEH03W4.js +1 -0
  101. package/dist/client/assets/{cli-auth-success-CuJJaXpQ.js → cli-auth-success-CkyWspHU.js} +1 -1
  102. package/dist/client/assets/{client-icons-Du3qqcxN.js → client-icons-DyjyTud6.js} +1 -1
  103. package/dist/client/assets/cms-settings-editor-CjDcV3Uq.js +1 -0
  104. package/dist/client/assets/{collapsible-Btd20NT7.js → collapsible-D3gNdr7N.js} +1 -1
  105. package/dist/client/assets/collection-detail-D66AIxA0.js +1 -0
  106. package/dist/client/assets/collection-display-button-C28fH98T.js +1 -0
  107. package/dist/client/assets/{collection-search-C3Qx3Y9p.js → collection-search-BIuQ3VPN.js} +1 -1
  108. package/dist/client/assets/{collection-table-wrapper-BzK9w_p-.js → collection-table-wrapper-7w5ciWB4.js} +1 -1
  109. package/dist/client/assets/{collection-tabs-D5iCdwPv.js → collection-tabs-m2567Q_Z.js} +1 -1
  110. package/dist/client/assets/{column-rules-UU8JLygo.js → column-rules-DsLrWs5p.js} +2 -2
  111. package/dist/client/assets/{combobox-PWtcP6b2.js → combobox-BEVN0Tvl.js} +1 -1
  112. package/dist/client/assets/{command-Dqne3j1N.js → command-N9BazZHl.js} +1 -1
  113. package/dist/client/assets/{companion-mcps-section-kvftD547.js → companion-mcps-section-BQyuFD3F.js} +1 -1
  114. package/dist/client/assets/{config-CJdQI2Ik.js → config-BmN9tmsx.js} +1 -1
  115. package/dist/client/assets/{connect-CaOmDTIh.js → connect-CefgSXIv.js} +3 -3
  116. package/dist/client/assets/{connect-layout-Dx_3veD9.js → connect-layout-CUTmKBkE.js} +1 -1
  117. package/dist/client/assets/connect-source-dialog-CBjVXCAe.js +1 -0
  118. package/dist/client/assets/{connection-DJp1XqBL.js → connection-CQKYiXol.js} +1 -1
  119. package/dist/client/assets/{connection-card-CwHoa3H_.js → connection-card-CvmG6XsV.js} +1 -1
  120. package/dist/client/assets/connection-detail-BloLauxz.js +1 -0
  121. package/dist/client/assets/{connection-form-helpers-BThulWcJ.js → connection-form-helpers-ytOA1Nl6.js} +1 -1
  122. package/dist/client/assets/connections-BxS3FS9g.js +1 -0
  123. package/dist/client/assets/content-tab-BwyJP-DI.js +22 -0
  124. package/dist/client/assets/context-BakNzIE5.js +1 -0
  125. package/dist/client/assets/{context-menu-Bsyqk_Km.js → context-menu-C4h1P6Vl.js} +1 -1
  126. package/dist/client/assets/{context-shell-DFZc3RTT.js → context-shell-BxB7W0br.js} +5 -5
  127. package/dist/client/assets/{core.esm-BRS9Ks9b.js → core.esm-BYOMVmVh.js} +1 -1
  128. package/dist/client/assets/create-organization-dialog-DqU6G9od.js +1 -0
  129. package/dist/client/assets/{daily-pulse-BqDvmnPn.js → daily-pulse-BlxIy31E.js} +1 -1
  130. package/dist/client/assets/discover-DMRyKZWE.js +1 -0
  131. package/dist/client/assets/{domain-settings-jCTqOxdl.js → domain-settings-Cj-cRa8T.js} +1 -1
  132. package/dist/client/assets/{drawer-DePU4o02.js → drawer-B7ajVnwC.js} +1 -1
  133. package/dist/client/assets/{editor-wUI_HNkS.js → editor-B7sIq_vQ.js} +1 -1
  134. package/dist/client/assets/{editor-classes-B3UoGQQP.js → editor-classes-BinXFbFk.js} +1 -1
  135. package/dist/client/assets/{empty-state-cJTBr2cU.js → empty-state-Cc_qF1X6.js} +1 -1
  136. package/dist/client/assets/{empty-state-W9_vBymb.js → empty-state-RpLaBfip.js} +1 -1
  137. package/dist/client/assets/experiments-tab-BlgfPezU.js +1 -0
  138. package/dist/client/assets/experiments-tab-choice-DZqY092h.js +1 -0
  139. package/dist/client/assets/{extract-connection-data-DFv9Bgl-.js → extract-connection-data-ClMH8dL9.js} +1 -1
  140. package/dist/client/assets/{feature-gate-B4srxCCI.js → feature-gate-Wo8Dn-M0.js} +1 -1
  141. package/dist/client/assets/{feature-paywall-CnDJ3rvy.js → feature-paywall-C1_xpbwO.js} +1 -1
  142. package/dist/client/assets/file-explorer-DCgzwH3u.js +2 -0
  143. package/dist/client/assets/{file-preview-bA4ayYHL.js → file-preview-DFHvVsCR.js} +1 -1
  144. package/dist/client/assets/{file-share-button-BLIlQQod.js → file-share-button-DMtXDXf3.js} +2 -2
  145. package/dist/client/assets/{file-type-icon-DTTBg-Cp.js → file-type-icon-may_hs3N.js} +1 -1
  146. package/dist/client/assets/{folder-icon-I00h66JN.js → folder-icon-DREaQWIx.js} +2 -2
  147. package/dist/client/assets/{form-KgHP-Hpi.js → form-Gz8fbLdb.js} +1 -1
  148. package/dist/client/assets/general-DBULqBSQ.js +1 -0
  149. package/dist/client/assets/held-block-view-DTUWWRfL.js +20 -0
  150. package/dist/client/assets/home-DnXsGhyo.js +1 -0
  151. package/dist/client/assets/{icon-button-uPrtYnSE.js → icon-button-TQkFyvqB.js} +1 -1
  152. package/dist/client/assets/{index-D4ru75Fc.js → index-B9NLvHLf.js} +1 -1
  153. package/dist/client/assets/index-BEX8cmtV.js +1 -0
  154. package/dist/client/assets/index-BGcfYf5c.js +4 -0
  155. package/dist/client/assets/index-BNmzMNlZ.js +253 -0
  156. package/dist/client/assets/{index-CvNALbEH.js → index-BNtuHmZB.js} +2 -2
  157. package/dist/client/assets/{index-BfC50J0F.js → index-C6_m0mjP.js} +1 -1
  158. package/dist/client/assets/{index-XCP5r1I_.js → index-CaH8ekvn.js} +1 -1
  159. package/dist/client/assets/{index-Cbee4-AB.js → index-CqFACk2B.js} +3 -3
  160. package/dist/client/assets/{index-BX1aT4SZ.js → index-DENKa8lW.js} +6 -6
  161. package/dist/client/assets/{index-DdXWXy9i.js → index-DNHxXhrW.js} +9 -9
  162. package/dist/client/assets/{index-DqOQgVM6.js → index-DgWAoWIc.js} +1 -1
  163. package/dist/client/assets/{index-CDrRsU-I.js → index-DusHyRie.js} +1 -1
  164. package/dist/client/assets/{index-DKUcI8bc.js → index-bf-OLKAU.js} +1 -1
  165. package/dist/client/assets/{index-DL_9Zurb.js → index-iynQP1if.js} +1 -1
  166. package/dist/client/assets/{index-WWkbzoL4.js → index-kd3fyZ9a.js} +1 -1
  167. package/dist/client/assets/{index-redirect-BQkqIeGD.js → index-redirect-DAPRiYQw.js} +1 -1
  168. package/dist/client/assets/{infiniteQueryObserver-6MK6GS3o.js → infiniteQueryObserver-ClGIthQz.js} +1 -1
  169. package/dist/client/assets/{infra-billing-3yuTy4Pj.js → infra-billing-Bn8rlKTp.js} +1 -1
  170. package/dist/client/assets/{input-BY2tBiEb.js → input-BS4EACP3.js} +7 -7
  171. package/dist/client/assets/{input-BUcDagSA.js → input-DZSiMfCa.js} +1 -1
  172. package/dist/client/assets/{integration-icon-BwzO3Wq9.js → integration-icon-BrTM8z-s.js} +1 -1
  173. package/dist/client/assets/{jira-icon-g2GVH5bw.js → jira-icon-CvveHm37.js} +1 -1
  174. package/dist/client/assets/{label-CG_DMVpg.js → label-BCxqhVIq.js} +1 -1
  175. package/dist/client/assets/{layout-CsbDSI6l.js → layout-C_-T37yU.js} +1 -1
  176. package/dist/client/assets/legacy-agents-deep-HN0h-Vgf.js +1 -0
  177. package/dist/client/assets/{legacy-main-redirect-CS4Abpwd.js → legacy-main-redirect-HqwAGFUC.js} +1 -1
  178. package/dist/client/assets/library-D2Mrm5WM.js +1 -0
  179. package/dist/client/assets/{login-DW5wI5H0.js → login-D25rkjo_.js} +1 -1
  180. package/dist/client/assets/{markdown-D5ryQAkZ.js → markdown-P8cO0xLZ.js} +1 -1
  181. package/dist/client/assets/{mcp-app-renderer-BYcHi_da.js → mcp-app-renderer-CKUvsXnq.js} +2 -2
  182. package/dist/client/assets/{mcp-oauth-Bn5p4oSU.js → mcp-oauth-C9hLQucs.js} +1 -1
  183. package/dist/client/assets/{mcp-oauth-4UvGlLYO.js → mcp-oauth-DBMA8wIh.js} +1 -1
  184. package/dist/client/assets/members-C_tx9w5g.js +1 -0
  185. package/dist/client/assets/{memory-FU3t5-1z.js → memory-CsXGZJq1.js} +2 -2
  186. package/dist/client/assets/{mini-report-page-BBST8cjq.js → mini-report-page-DGZYey3l.js} +1 -1
  187. package/dist/client/assets/{mock-board-igDH_YVZ.js → mock-board-BWzTY2k-.js} +5 -5
  188. package/dist/client/assets/{monaco-editor-eDEJF7LD.js → monaco-editor-CBJkBgIU.js} +2 -2
  189. package/dist/client/assets/monitoring-BLnrFAQj.js +1 -0
  190. package/dist/client/assets/{monitoring-stats-row-D5LuoYp3.js → monitoring-stats-row-vWHUOUB3.js} +1 -1
  191. package/dist/client/assets/{multi-select-DYiX5KEM.js → multi-select-BNfLnIfI.js} +1 -1
  192. package/dist/client/assets/mustache-Crsi4VAX.js +4 -0
  193. package/dist/client/assets/{named-rule-uses-BrQiTKM3.js → named-rule-uses-D5gjZwOp.js} +1 -1
  194. package/dist/client/assets/named-rule-view-BVCpec2I.js +1 -0
  195. package/dist/client/assets/{new-project-dialog-B9qWs4Pr.js → new-project-dialog-BzJmdXI6.js} +1 -1
  196. package/dist/client/assets/{oauth-callback-Dtw5ILTB.js → oauth-callback-CwZ-b3nE.js} +1 -1
  197. package/dist/client/assets/{oauth-callback-ai-provider-BSRRr6Yq.js → oauth-callback-ai-provider-CujNNAU2.js} +1 -1
  198. package/dist/client/assets/onboarding-Csy3KW6h.js +1 -0
  199. package/dist/client/assets/openai-conversation-DJfgyA82.js +3 -0
  200. package/dist/client/assets/{optimistic-project-sidebar-views-CU6JI5UK.js → optimistic-project-sidebar-views-XzUayXF_.js} +1 -1
  201. package/dist/client/assets/{order-monitor-day-D7HisKzI.js → order-monitor-day-BUk1fjA6.js} +1 -1
  202. package/dist/client/assets/organization-choice-BG-EMl8L.js +1 -0
  203. package/dist/client/assets/orgs-BOi51Yxa.js +1 -0
  204. package/dist/client/assets/page-seo-form-D4gneorY.js +1 -0
  205. package/dist/client/assets/{pair-9h1O_BO7.js → pair-Dh_1oqHi.js} +8 -8
  206. package/dist/client/assets/parse-sections-B30A8ECY.js +1 -0
  207. package/dist/client/assets/plan-BXu8SQ3T.js +1 -0
  208. package/dist/client/assets/{plan-ladder-Dz8bCoAd.js → plan-ladder-CN5p5ylK.js} +1 -1
  209. package/dist/client/assets/{popover-Cdz7pgAQ.js → popover-DauDBkON.js} +1 -1
  210. package/dist/client/assets/post-calendar-Ceopsk1u.js +1 -0
  211. package/dist/client/assets/post-editor-BChaRDNt.js +2 -0
  212. package/dist/client/assets/{preview-content-BNxnqe7O.js → preview-content-BvhoJjFR.js} +1 -1
  213. package/dist/client/assets/{preview-dialog-tDLXXdPQ.js → preview-dialog-iRKqzeeN.js} +1 -1
  214. package/dist/client/assets/{preview-panel-D04CDEWQ.js → preview-panel-DcbhbW1H.js} +1 -1
  215. package/dist/client/assets/preview-tab-ClK0lOMy.js +551 -0
  216. package/dist/client/assets/{product-picker-dialog-B9YEPxMK.js → product-picker-dialog-CsTqbwXT.js} +1 -1
  217. package/dist/client/assets/profile-DE1V4tEF.js +1 -0
  218. package/dist/client/assets/project-app-view-BpeI5cMf.js +1 -0
  219. package/dist/client/assets/{project-apps-nQXtEtz0.js → project-apps-CNRV3DAE.js} +1 -1
  220. package/dist/client/assets/project-feed-BcaTqzKD.js +1 -0
  221. package/dist/client/assets/{project-icon-BqAOVSaG.js → project-icon-9kbQzXfH.js} +1 -1
  222. package/dist/client/assets/project-reports-DZCmLCmE.js +1 -0
  223. package/dist/client/assets/project-tasks-D6qNETK3.js +1 -0
  224. package/dist/client/assets/projects-Kz2HQD_e.js +1 -0
  225. package/dist/client/assets/{projects-empty-state-dd0PXzD2.js → projects-empty-state-Df7eS0pA.js} +1 -1
  226. package/dist/client/assets/{prompts-C-zf2EeW.js → prompts-B4KLkb4I.js} +1 -1
  227. package/dist/client/assets/record-editor-C5XOx_LV.js +1 -0
  228. package/dist/client/assets/redirect-editor-BxKT3ntE.js +1 -0
  229. package/dist/client/assets/releases-api-BDl7LEw1.js +1 -0
  230. package/dist/client/assets/{reports-Dvk3psp8.js → reports-Cp14zg57.js} +1 -1
  231. package/dist/client/assets/reports-DBFNTtm-.js +1 -0
  232. package/dist/client/assets/reports-onboarding-D2UqC4mS.js +1 -0
  233. package/dist/client/assets/reports-tab-C51R-6vi.js +2 -0
  234. package/dist/client/assets/repositories-C77B6dOt.js +1 -0
  235. package/dist/client/assets/repositories-CHKGn0VU.js +1 -0
  236. package/dist/client/assets/repository-binding-BZ7FmJ0X.js +1 -0
  237. package/dist/client/assets/{repository-import-picker-B0yxPI2j.js → repository-import-picker-Bjws7k2-.js} +1 -1
  238. package/dist/client/assets/repository-picker-DkvIZLAj.js +1 -0
  239. package/dist/client/assets/{require-capability-BFyuzPqV.js → require-capability-Bm5pde_M.js} +1 -1
  240. package/dist/client/assets/{required-auth-layout--9OrAOrr.js → required-auth-layout-Dn8nNstE.js} +1 -1
  241. package/dist/client/assets/{reset-password-C3K9ZZ2t.js → reset-password-CHMCFAp9.js} +1 -1
  242. package/dist/client/assets/{resizable-BqY6-uYR.js → resizable-BYZDi11K.js} +1 -1
  243. package/dist/client/assets/{resolve-tab-icon-H3Wty7u7.js → resolve-tab-icon-DLcHhSBW.js} +1 -1
  244. package/dist/client/assets/review-settings-DEFTQSp0.js +1 -0
  245. package/dist/client/assets/roles-BIj8m30-.js +1 -0
  246. package/dist/client/assets/route-CwIKlFpH.js +1 -0
  247. package/dist/client/assets/route-DQxiKHs8.js +1 -0
  248. package/dist/client/assets/route-L2EzRsks.js +1 -0
  249. package/dist/client/assets/{sandbox-lifecycle-context-CXn37zMt.js → sandbox-lifecycle-context-DMfngoi-.js} +1 -1
  250. package/dist/client/assets/{schema-D2gJoNK3.js → schema-DEyBWI2y.js} +1 -1
  251. package/dist/client/assets/{schema-D5kxh02n.js → schema-DoiqvTL7.js} +1 -1
  252. package/dist/client/assets/{scroll-area-DvfamsPF.js → scroll-area-Cfsm1vBV.js} +1 -1
  253. package/dist/client/assets/search-input-DBKkXR0y.js +1 -0
  254. package/dist/client/assets/{search-toggle-CdGIHwQK.js → search-toggle-CzYTwp_L.js} +1 -1
  255. package/dist/client/assets/secret-ciphertext-cTA7BSVY.js +1 -0
  256. package/dist/client/assets/secret-picker-CqxG24X7.js +1 -0
  257. package/dist/client/assets/secrets-CtByih4R.js +1 -0
  258. package/dist/client/assets/{sections-p-TiUqOZ.js → sections-CCcpB_PT.js} +1 -1
  259. package/dist/client/assets/sections-editor-DpO_mTF7.js +1 -0
  260. package/dist/client/assets/{select-DAagAjcm.js → select-CTAm_W2d.js} +1 -1
  261. package/dist/client/assets/{select-model-DMBmIlHh.js → select-model-Cvj2OnbU.js} +1 -1
  262. package/dist/client/assets/seo-editor-BPToAJRY.js +1 -0
  263. package/dist/client/assets/{separator-Caw0JVLD.js → separator-BeYssz5V.js} +1 -1
  264. package/dist/client/assets/settings-tab-BRtykuoH.js +1 -0
  265. package/dist/client/assets/{sheet-BHsKOUfF.js → sheet-C52S-h6R.js} +1 -1
  266. package/dist/client/assets/shell-layout-DYY0I41_.js +1 -0
  267. package/dist/client/assets/site-draft-actions-DwqQ-cQC.js +12 -0
  268. package/dist/client/assets/site-draft-view-CiKU2Icp.js +2 -0
  269. package/dist/client/assets/site-editor-CuXmo07G.js +1 -0
  270. package/dist/client/assets/site-editor-toast-CT4NtD1f.js +1 -0
  271. package/dist/client/assets/skills-_WDetSCi.js +1 -0
  272. package/dist/client/assets/{slider-D9yxsjlo.js → slider-rNbrBC-4.js} +1 -1
  273. package/dist/client/assets/{sortable.esm-B7h1ef6s.js → sortable.esm-Cw5kBwgn.js} +1 -1
  274. package/dist/client/assets/sso-DSG3YPMw.js +1 -0
  275. package/dist/client/assets/{suggestion-CMN-fEG6.js → suggestion-Dd_Uy5Bv.js} +2 -2
  276. package/dist/client/assets/{switch-DpD3lo_J.js → switch-nUFQi60k.js} +1 -1
  277. package/dist/client/assets/{symbol-Hd-wRYbC.js → symbol-C3kEOGZ_.js} +1 -1
  278. package/dist/client/assets/synced-repos-DBmibobg.js +1 -0
  279. package/dist/client/assets/{tab-icon-glyph-XxQjDugr.js → tab-icon-glyph-Bzpngl6a.js} +1 -1
  280. package/dist/client/assets/{table-Cc4crfQ0.js → table-CxQHf5NT.js} +1 -1
  281. package/dist/client/assets/{tabs-BpLvUwhr.js → tabs-BwD6LFyC.js} +1 -1
  282. package/dist/client/assets/task-assignee-avatar-Bg9ijzoY.js +1 -0
  283. package/dist/client/assets/{task-board-M_bY8eys.js → task-board-DreQgJBj.js} +1 -1
  284. package/dist/client/assets/{task-route-Cz8IMljw.js → task-route-B6QYswnx.js} +1 -1
  285. package/dist/client/assets/{task-status-D4WkmdQN.js → task-status-DcCdeelW.js} +1 -1
  286. package/dist/client/assets/taskboard-analytics-C_aUAX7S.js +1 -0
  287. package/dist/client/assets/tasks-CYY9XlJ3.js +4 -0
  288. package/dist/client/assets/tasks-CeouZ3tS.js +1 -0
  289. package/dist/client/assets/{textarea--yDYOLyf.js → textarea-y7TWtoua.js} +1 -1
  290. package/dist/client/assets/thread-analytics-BD8n1a8E.js +1 -0
  291. package/dist/client/assets/{thread-intent-DSZI851P.js → thread-intent-cB2EtHpg.js} +6 -6
  292. package/dist/client/assets/thread-route-Cr5f3jw8.js +1 -0
  293. package/dist/client/assets/{thread-route-BLXCdzrT.js → thread-route-D01w_vQB.js} +1 -1
  294. package/dist/client/assets/thread-sheet-body-C0IyWshl.js +1 -0
  295. package/dist/client/assets/{time-range-picker-C3BbzoOH.js → time-range-picker-bp6BeGMC.js} +1 -1
  296. package/dist/client/assets/toggle-group-BIu6qfZV.js +1 -0
  297. package/dist/client/assets/{tool-namespace-CzQWuXDV.js → tool-namespace-Crbzrqv8.js} +1 -1
  298. package/dist/client/assets/{toolbar-icon-button-7gQeG_XH.js → toolbar-icon-button-ByMmG3VL.js} +1 -1
  299. package/dist/client/assets/{tooltip-rhtdmPcj.js → tooltip-DibJz0Jl.js} +1 -1
  300. package/dist/client/assets/{tooltipContext-Db2Lu1qi.js → tooltipContext-BzrsG1UN.js} +1 -1
  301. package/dist/client/assets/track-C-8tVJFa.js +1 -0
  302. package/dist/client/assets/{types-s41XNAq6.js → types-BdOsWOEi.js} +9 -9
  303. package/dist/client/assets/{url-slug-DQ6KErQd.js → url-slug-CPCergXm.js} +1 -1
  304. package/dist/client/assets/{usage-stats-DBiTgJdn.js → usage-stats-DDafRqWC.js} +7 -7
  305. package/dist/client/assets/{use-ai-providers-DeyDa8Td.js → use-ai-providers-Bsehd5pg.js} +1 -1
  306. package/dist/client/assets/use-apply-named-rule-CeNTU7vM.js +1 -0
  307. package/dist/client/assets/{use-automations-CAga8LHD.js → use-automations-BscjsX1o.js} +1 -1
  308. package/dist/client/assets/use-autosave-D0y0c0lt.js +1 -0
  309. package/dist/client/assets/{use-chat-layout-state-P4eOAh0Q.js → use-chat-layout-state-DpOxQYv4.js} +1 -1
  310. package/dist/client/assets/{use-clock-tick-DKd3Khi0.js → use-clock-tick-jRUiEK1v.js} +1 -1
  311. package/dist/client/assets/{use-connect-companion-CXaOPPYN.js → use-connect-companion-BGtpVGmA.js} +1 -1
  312. package/dist/client/assets/use-connection-CAR6Cxbr.js +1 -0
  313. package/dist/client/assets/{use-content-sync-D83lTU1r.js → use-content-sync-bYlxy6np.js} +1 -1
  314. package/dist/client/assets/{use-copy-D2ar5QXj.js → use-copy-Dpm_jhm-.js} +1 -1
  315. package/dist/client/assets/{use-create-virtual-mcp-C5_jirS7.js → use-create-virtual-mcp-DcCX7uo7.js} +1 -1
  316. package/dist/client/assets/use-date-fns-locale-hUyExEVb.js +1 -0
  317. package/dist/client/assets/{use-debounced-autosave-QgHKWEfB.js → use-debounced-autosave-By6os5xD.js} +1 -1
  318. package/dist/client/assets/{use-debounced-value-CNkh6EY5.js → use-debounced-value-BtR2lyTj.js} +1 -1
  319. package/dist/client/assets/use-deco-credits-DRIA1g3T.js +1 -0
  320. package/dist/client/assets/{use-decopilot-events-DGj-wEwB.js → use-decopilot-events-C4OBhauN.js} +1 -1
  321. package/dist/client/assets/use-delete-connection-BM5PcuGQ.js +1 -0
  322. package/dist/client/assets/{use-deployment-admin-CR9n1OEp.js → use-deployment-admin-BmDeutjQ.js} +1 -1
  323. package/dist/client/assets/{use-fast-preview-draft-url-DKL4b1dE.js → use-fast-preview-draft-url-BUDoPHon.js} +1 -1
  324. package/dist/client/assets/{use-file-configs-D3Cv6-L2.js → use-file-configs-CuVchUT-.js} +1 -1
  325. package/dist/client/assets/{use-inbox-feed-CVakZcHF.js → use-inbox-feed-Bi03vVLM.js} +1 -1
  326. package/dist/client/assets/{use-infinite-scroll-DcjLDU4h.js → use-infinite-scroll-0YRynoMy.js} +1 -1
  327. package/dist/client/assets/use-join-requests-BhMSzUBO.js +1 -0
  328. package/dist/client/assets/use-main-panel-tabs-QcdwwtJ8.js +1 -0
  329. package/dist/client/assets/{use-mcp-auth-status-DX7pkWco.js → use-mcp-auth-status-Ddp-NElL.js} +1 -1
  330. package/dist/client/assets/{use-mcp-client-BYbk6jXo.js → use-mcp-client-ClU7gdfw.js} +10 -10
  331. package/dist/client/assets/{use-mcp-prompts-B78UkAZ_.js → use-mcp-prompts-CFFfSPcj.js} +1 -1
  332. package/dist/client/assets/{use-mcp-tools-COs5QQOc.js → use-mcp-tools-CsGOzrhW.js} +1 -1
  333. package/dist/client/assets/{use-mobile-19frZVl2.js → use-mobile-nW9hYb6L.js} +1 -1
  334. package/dist/client/assets/use-move-blocks-BKlQlSno.js +1 -0
  335. package/dist/client/assets/{use-navigate-to-agent-Bh4JZJoL.js → use-navigate-to-agent-CvuO-uuz.js} +1 -1
  336. package/dist/client/assets/{use-open-billing-url-CUDKmO6U.js → use-open-billing-url-6zduD8ZA.js} +1 -1
  337. package/dist/client/assets/{use-org-fs-BFFpcHJy.js → use-org-fs-BcT14y41.js} +1 -1
  338. package/dist/client/assets/{use-org-repo-syncs-C29Ouwht.js → use-org-repo-syncs-BdTpYW4-.js} +1 -1
  339. package/dist/client/assets/{use-org-sso-BlWFmoCA.js → use-org-sso-DdzTjSOo.js} +1 -1
  340. package/dist/client/assets/use-organization-roles-DQlsWqEE.js +1 -0
  341. package/dist/client/assets/{use-organization-settings-XPH6XBPi.js → use-organization-settings-DeXdcCtZ.js} +1 -1
  342. package/dist/client/assets/{use-panel-navigate-BKTq-N_H.js → use-panel-navigate-BrjENNrA.js} +1 -1
  343. package/dist/client/assets/{use-project-native-view-presence-aJpFnShz.js → use-project-native-view-presence-OgGOYaV4.js} +1 -1
  344. package/dist/client/assets/{use-project-scope-hi480z1p.js → use-project-scope-DryffHrf.js} +1 -1
  345. package/dist/client/assets/{use-recent-apps-DII4SRHf.js → use-recent-apps-CMgGjBH4.js} +1 -1
  346. package/dist/client/assets/{use-releases-GaRydy_l.js → use-releases-BQePeR_j.js} +1 -1
  347. package/dist/client/assets/use-reports-diagnostic-KZB3C_26.js +1 -0
  348. package/dist/client/assets/{use-sandbox-events-CsNrKmda.js → use-sandbox-events-ClbDdVRn.js} +2 -2
  349. package/dist/client/assets/{use-secrets-DJcOfixK.js → use-secrets-Cjihb12f.js} +1 -1
  350. package/dist/client/assets/use-section-preview-base-go9VMYa4.js +1 -0
  351. package/dist/client/assets/use-session-runtime-CQOTzbKn.js +1 -0
  352. package/dist/client/assets/{use-sidebar-collapsed-8USbBI0-.js → use-sidebar-collapsed-CUSnfCt-.js} +1 -1
  353. package/dist/client/assets/{use-tags-DvW8yrHX.js → use-tags-CMyUN8Qd.js} +1 -1
  354. package/dist/client/assets/use-task-board-analytics-BWzR51Kh.js +1 -0
  355. package/dist/client/assets/{use-task-board-events-De3JY1Pe.js → use-task-board-events-DlFBtyOL.js} +1 -1
  356. package/dist/client/assets/{use-task-board-item-prs-CXzTAmMM.js → use-task-board-item-prs-D9Aj6NRX.js} +1 -1
  357. package/dist/client/assets/{use-task-metadata-9cyD8qGI.js → use-task-metadata-DcdDwiSS.js} +1 -1
  358. package/dist/client/assets/{use-thread-analytics-DltmG-kv.js → use-thread-analytics-cLhxQI8B.js} +1 -1
  359. package/dist/client/assets/{use-thread-outputs-BKCBvLqB.js → use-thread-outputs-D8Bvo55q.js} +1 -1
  360. package/dist/client/assets/useInfiniteQuery-DWVaUM2t.js +1 -0
  361. package/dist/client/assets/useQueries-B8DPRYfS.js +1 -0
  362. package/dist/client/assets/useSuspenseInfiniteQuery-6Ovi3jRe.js +1 -0
  363. package/dist/client/assets/users-BIP3dsuH.js +1 -0
  364. package/dist/client/assets/{utils-BnP8cv1B.js → utils-DeFulDMz.js} +1 -1
  365. package/dist/client/assets/variant-calendar-C37bfPDk.js +1 -0
  366. package/dist/client/assets/variant-matcher-override-B4pYtxaz.js +1 -0
  367. package/dist/client/assets/{virtual-mcp-B8cZ7VfA.js → virtual-mcp-D_aBBfQL.js} +1 -1
  368. package/dist/client/assets/{watch-sse-pool-DYaS1vyu.js → watch-sse-pool-Bk0Yni6j.js} +1 -1
  369. package/dist/client/index.html +1 -1
  370. package/dist/server/server.js +783 -783
  371. package/package.json +1 -1
  372. package/dist/client/assets/User01-BqHvPhUP.js +0 -1
  373. package/dist/client/assets/access-gate-DyUtzmE9.js +0 -1
  374. package/dist/client/assets/agent-analytics-vIfEsYvC.js +0 -1
  375. package/dist/client/assets/agent-app-BrsqSpps.js +0 -1
  376. package/dist/client/assets/agent-assets-Cmwamjo6.js +0 -1
  377. package/dist/client/assets/agent-automation-DTP-nUve.js +0 -20
  378. package/dist/client/assets/agent-automations-DMzq_O24.js +0 -1
  379. package/dist/client/assets/agent-calendar-XJ6NXM0R.js +0 -1
  380. package/dist/client/assets/agent-connect-sources-BcRlDvxt.js +0 -1
  381. package/dist/client/assets/agent-deck-DDf8uIAO.js +0 -1
  382. package/dist/client/assets/agent-e2e-C9yo2VIy.js +0 -1
  383. package/dist/client/assets/agent-experiments-CBXMu_zo.js +0 -1
  384. package/dist/client/assets/agent-file-NVbz9x8-.js +0 -1
  385. package/dist/client/assets/agent-hosting--zgA3Vth.js +0 -1
  386. package/dist/client/assets/agent-icon-B_vqhfDt.js +0 -1
  387. package/dist/client/assets/agent-library-DnuSkP9c.js +0 -1
  388. package/dist/client/assets/agent-library-file-BvLizRc3.js +0 -1
  389. package/dist/client/assets/agent-monitor-rNkT_MKe.js +0 -1
  390. package/dist/client/assets/agent-overview-5SBfPz9h.js +0 -1
  391. package/dist/client/assets/agent-releases-Ln3sIMtS.js +0 -2
  392. package/dist/client/assets/agent-settings-D6bOK1ga.js +0 -1
  393. package/dist/client/assets/agent-site-editor-code-0Vxgov65.js +0 -2
  394. package/dist/client/assets/agent-site-editor-content-CoS3vIfM.js +0 -1
  395. package/dist/client/assets/agent-site-editor-preview-7txrWBOo.js +0 -1
  396. package/dist/client/assets/agent-view-C8DZj3zZ.js +0 -1
  397. package/dist/client/assets/agents-list-CUtOSk6b.js +0 -1
  398. package/dist/client/assets/alert-dialog-Bjihy8X7.js +0 -7
  399. package/dist/client/assets/analytics-sections-B_qn34eY.js +0 -1
  400. package/dist/client/assets/analytics-tab-DluP6EHx.js +0 -2
  401. package/dist/client/assets/api-keys-B5pbeuIW.js +0 -1
  402. package/dist/client/assets/api-keys-DRbQ6j-D.js +0 -1
  403. package/dist/client/assets/app-editor-l5QnxgXk.js +0 -1
  404. package/dist/client/assets/automation-list-row-DfibF1_j.js +0 -1
  405. package/dist/client/assets/automation-runs-CzCUPkiw.js +0 -1
  406. package/dist/client/assets/automations-CEr5Md2h.js +0 -1
  407. package/dist/client/assets/avatar-C5-kxiV_.js +0 -1
  408. package/dist/client/assets/blocks-tab-states-DSvvcfKU.js +0 -1
  409. package/dist/client/assets/blog-schema-7PNm5SA8.js +0 -1
  410. package/dist/client/assets/buckets-B99EVfxO.js +0 -1
  411. package/dist/client/assets/build-improve-prompt-doc-Dx-5MdwQ.js +0 -2
  412. package/dist/client/assets/campaigns-view-_4Aj2Qex.js +0 -1
  413. package/dist/client/assets/category-editor-Bz5Ohuf6.js +0 -1
  414. package/dist/client/assets/choose-editor-BpBHfKld.js +0 -1
  415. package/dist/client/assets/cms-settings-editor-DgOpqRn9.js +0 -1
  416. package/dist/client/assets/collection-detail-B4JsebMy.js +0 -1
  417. package/dist/client/assets/collection-display-button-BFEeUD4b.js +0 -1
  418. package/dist/client/assets/connect-source-dialog-BucnBQV1.js +0 -1
  419. package/dist/client/assets/connection-detail-BUrc4tQa.js +0 -1
  420. package/dist/client/assets/connections-UgNbDD55.js +0 -1
  421. package/dist/client/assets/content-tab-BzJzqdaq.js +0 -22
  422. package/dist/client/assets/context-BQ17H5cY.js +0 -1
  423. package/dist/client/assets/create-organization-dialog-4e3oT20D.js +0 -1
  424. package/dist/client/assets/differenceInSeconds-C3x8sHUj.js +0 -1
  425. package/dist/client/assets/discover-Du9d6I7b.js +0 -1
  426. package/dist/client/assets/experiments-tab-BGSl9C7j.js +0 -1
  427. package/dist/client/assets/experiments-tab-choice-C5L5-OKs.js +0 -1
  428. package/dist/client/assets/file-explorer-CSFyTcCU.js +0 -2
  429. package/dist/client/assets/format-time-Cq80KKvY.js +0 -1
  430. package/dist/client/assets/general-DDniHgaA.js +0 -1
  431. package/dist/client/assets/home-BRa0QePQ.js +0 -1
  432. package/dist/client/assets/index-BSPqDg2b.js +0 -243
  433. package/dist/client/assets/index-BV9YjMM8.js +0 -4
  434. package/dist/client/assets/index-CoCFpkNq.js +0 -1
  435. package/dist/client/assets/legacy-agents-deep-D4dQPRbz.js +0 -1
  436. package/dist/client/assets/library-CvZRvu0t.js +0 -1
  437. package/dist/client/assets/members-DV5nm69j.js +0 -1
  438. package/dist/client/assets/monitoring-L8Ph-qIO.js +0 -1
  439. package/dist/client/assets/mustache-DcAMNVPe.js +0 -4
  440. package/dist/client/assets/named-rule-view-DPJVdujZ.js +0 -1
  441. package/dist/client/assets/onboarding-CJ1-Q27q.js +0 -1
  442. package/dist/client/assets/openai-conversation-rJmL2Chq.js +0 -3
  443. package/dist/client/assets/organization-choice-B3HKKRFg.js +0 -1
  444. package/dist/client/assets/orgs-BGahARMX.js +0 -1
  445. package/dist/client/assets/page-seo-form-BiLzLwOU.js +0 -1
  446. package/dist/client/assets/parse-sections-DS7cH63b.js +0 -1
  447. package/dist/client/assets/plan-TS8UDjIx.js +0 -1
  448. package/dist/client/assets/post-calendar-BVj47Msq.js +0 -1
  449. package/dist/client/assets/post-editor-C7Epq6Gf.js +0 -2
  450. package/dist/client/assets/preview-tab-CstRd2P8.js +0 -551
  451. package/dist/client/assets/profile-HCYVLr3x.js +0 -1
  452. package/dist/client/assets/project-app-view-CsgTKaq6.js +0 -1
  453. package/dist/client/assets/project-feed-CSKm059T.js +0 -1
  454. package/dist/client/assets/project-reports-N6Np5HVd.js +0 -1
  455. package/dist/client/assets/project-tasks-hQ8mdw3x.js +0 -1
  456. package/dist/client/assets/projects-BR95BuCh.js +0 -1
  457. package/dist/client/assets/record-editor-gFz45d56.js +0 -1
  458. package/dist/client/assets/redirect-editor-DPpKBLYS.js +0 -1
  459. package/dist/client/assets/releases-api-CSVCy8ox.js +0 -1
  460. package/dist/client/assets/reports-BVHdd1DX.js +0 -1
  461. package/dist/client/assets/reports-onboarding-UQrdSX_1.js +0 -1
  462. package/dist/client/assets/reports-tab-ppUXZsCY.js +0 -2
  463. package/dist/client/assets/repositories-5RxDBg9o.js +0 -1
  464. package/dist/client/assets/repositories-DZ7Jj2ky.js +0 -1
  465. package/dist/client/assets/repository-binding-BPraGDH6.js +0 -1
  466. package/dist/client/assets/repository-picker-C8ArkEMp.js +0 -1
  467. package/dist/client/assets/review-settings-CdVHPED2.js +0 -1
  468. package/dist/client/assets/roles-OamyC7La.js +0 -1
  469. package/dist/client/assets/route-C9Fxdgiw.js +0 -1
  470. package/dist/client/assets/route-CwPF8ORe.js +0 -1
  471. package/dist/client/assets/route-u0GAyBX0.js +0 -1
  472. package/dist/client/assets/runnable-block-editor-Bp72FsGX.js +0 -20
  473. package/dist/client/assets/search-input-5CsF8kzc.js +0 -1
  474. package/dist/client/assets/secret-ciphertext-DjJJ47rv.js +0 -1
  475. package/dist/client/assets/secret-picker-BO4uK8to.js +0 -1
  476. package/dist/client/assets/secrets-D1oNMOlx.js +0 -1
  477. package/dist/client/assets/sections-editor-DR2QTs_8.js +0 -4
  478. package/dist/client/assets/seo-editor-_CrgKo3u.js +0 -1
  479. package/dist/client/assets/settings-tab-CXub7dpW.js +0 -1
  480. package/dist/client/assets/shell-layout-CnFOD7IR.js +0 -1
  481. package/dist/client/assets/site-draft-actions-DahX0dKS.js +0 -12
  482. package/dist/client/assets/site-draft-view-D6OUnR3H.js +0 -2
  483. package/dist/client/assets/site-editor-FcBrQD_V.js +0 -1
  484. package/dist/client/assets/site-editor-toast-CrL8-myE.js +0 -1
  485. package/dist/client/assets/skills-dBhtb1Gn.js +0 -1
  486. package/dist/client/assets/sso-K3rjig-T.js +0 -1
  487. package/dist/client/assets/synced-repos-Dnzg3gpT.js +0 -1
  488. package/dist/client/assets/task-assignee-avatar-ZgHLf6ou.js +0 -1
  489. package/dist/client/assets/taskboard-analytics-BkUf4gRJ.js +0 -1
  490. package/dist/client/assets/tasks-CAS-CTER.js +0 -4
  491. package/dist/client/assets/tasks-qaZFyecx.js +0 -1
  492. package/dist/client/assets/thread-analytics-DUGo9IpI.js +0 -1
  493. package/dist/client/assets/thread-route-GuSmOAXN.js +0 -1
  494. package/dist/client/assets/thread-sheet-body-BFLCqyyQ.js +0 -1
  495. package/dist/client/assets/toggle-group-6nw88m-B.js +0 -1
  496. package/dist/client/assets/track-CZFERlEy.js +0 -1
  497. package/dist/client/assets/use-apply-named-rule-CTNrtoG8.js +0 -1
  498. package/dist/client/assets/use-autosave-BhBt5LM5.js +0 -1
  499. package/dist/client/assets/use-connection-CjozY_rG.js +0 -1
  500. package/dist/client/assets/use-date-fns-locale-QW50a7Gw.js +0 -1
  501. package/dist/client/assets/use-deco-credits-B57v3A_1.js +0 -1
  502. package/dist/client/assets/use-delete-connection-C8eU1V0w.js +0 -1
  503. package/dist/client/assets/use-join-requests-Cbj3PHUb.js +0 -1
  504. package/dist/client/assets/use-main-panel-tabs-CO8s8ZiU.js +0 -1
  505. package/dist/client/assets/use-members-Dyl3oSqD.js +0 -1
  506. package/dist/client/assets/use-move-blocks-DJK_Y1io.js +0 -1
  507. package/dist/client/assets/use-org-auth-client-Dw_o5R0I.js +0 -1
  508. package/dist/client/assets/use-organization-roles-DaU1N-it.js +0 -1
  509. package/dist/client/assets/use-reports-diagnostic-BCaZjPYS.js +0 -1
  510. package/dist/client/assets/use-section-preview-base-BqthfvXx.js +0 -1
  511. package/dist/client/assets/use-session-runtime-GSil35TM.js +0 -1
  512. package/dist/client/assets/use-task-board-analytics-CzI79mN4.js +0 -1
  513. package/dist/client/assets/useInfiniteQuery-BMw5-0ES.js +0 -1
  514. package/dist/client/assets/useQueries-MmC9BfTO.js +0 -1
  515. package/dist/client/assets/useSuspenseInfiniteQuery-BzZNrnpe.js +0 -1
  516. package/dist/client/assets/users-DwCtEgjJ.js +0 -1
  517. package/dist/client/assets/variant-calendar-2sbluJx7.js +0 -1
  518. package/dist/client/assets/variant-matcher-override-BuVYz4je.js +0 -1
@@ -0,0 +1 @@
1
+ import{c as w,j as s,b as B,fT as Q,l as D,E as me,r as Z,d as xe,hi as q,aC as pe}from"./index-BNmzMNlZ.js";import{b as J,C as ee}from"./chart-D9k22T0E.js";import{e as he,a as ge,b as W,T as je,d as be,c as ye}from"./table-CxQHf5NT.js";import{i as ve}from"./AlertCircle-COLuN3Qe.js";import{i as ke,n as Ne}from"./ArrowUp-CRFAWnPc.js";import{r as Se,a2 as Ce,ar as we,aa as $e}from"./agent-icon-CVEMdYFU.js";import{a as te,T as se}from"./toggle-group-BIu6qfZV.js";import{B as Y}from"./badge-DeNt4-FX.js";import{l as ne,c as Te,b as De,S as Oe}from"./config-BmN9tmsx.js";import{a as G,B as U}from"./BarChart-JFNliGSV.js";import{C as H,X as P,Y as V}from"./CartesianChart-Cjgu2ECY.js";import{a as Ie,A as Be}from"./AreaChart-Dud7jvcC.js";function le(a){const e=w.c(8),{href:t,className:d,children:o}=a,c=xe();let r;e[0]!==t||e[1]!==c?(r=n=>{!t||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||(n.preventDefault(),c({href:t}))},e[0]=t,e[1]=c,e[2]=r):r=e[2];let l;return e[3]!==o||e[4]!==d||e[5]!==t||e[6]!==r?(l=s.jsx("a",{href:t,className:d,onClick:r,children:o}),e[3]=o,e[4]=d,e[5]=t,e[6]=r,e[7]=l):l=e[7],l}const L=(a,e,t)=>a&&e?()=>a({drill:e,label:t}):void 0,F="cursor-pointer text-left transition-colors hover:bg-accent focus-ring",E=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-4)","var(--chart-5)"],A={fontSize:11,fill:"var(--muted-foreground)",opacity:.7};function ae(a){const e=Math.abs(a);return e<60?`${Math.round(a)}s`:e<3600?`${Math.round(a/60)}m`:e<86400?`${(a/3600).toFixed(1)}h`:`${(a/86400).toFixed(1)}d`}function M(a,e){return a===null||Number.isNaN(a)?"—":e==="s"?ae(a):e==="%"?`${Math.round(a*10)/10}%`:e==="USD"?`$${a.toFixed(2)}`:a.toLocaleString()}function X(a,e){return e==="s"?ae(a):e==="%"?`${a}%`:e==="USD"?`$${a}`:a>=1e3?`${(a/1e3).toFixed(1)}k`:String(a)}const re=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/,Le=/^\d{4}-\d{2}-\d{2}$/;function Me(a,e){return typeof a=="number"?M(a,e):Le.test(a)?new Date(`${a}T12:00:00Z`).toLocaleDateString(void 0,{month:"short",day:"numeric"}):re.test(a)?q(a):a}function _(a){const e=w.c(20),{title:t,value:d,caption:o,aside:c,children:r,onClick:l}=a,n=l?"button":"section",i=l?"button":void 0,u=l&&F;let f;e[0]!==u?(f=D("surface flex h-full w-full flex-col gap-6 px-4 pt-4 pb-5",u),e[0]=u,e[1]=f):f=e[1];let x;e[2]!==t?(x=s.jsx("h3",{className:"text-sm text-foreground/70",children:t}),e[2]=t,e[3]=x):x=e[3];let m;e[4]!==d?(m=d!==void 0&&s.jsx("span",{className:"tnum text-4xl font-normal text-foreground",children:d}),e[4]=d,e[5]=m):m=e[5];let h;e[6]!==o||e[7]!==x||e[8]!==m?(h=s.jsxs("div",{className:"flex min-w-0 flex-col gap-1",children:[x,m,o]}),e[6]=o,e[7]=x,e[8]=m,e[9]=h):h=e[9];let p;e[10]!==c||e[11]!==h?(p=s.jsxs("div",{className:"flex items-start justify-between gap-4",children:[h,c]}),e[10]=c,e[11]=h,e[12]=p):p=e[12];let j;return e[13]!==n||e[14]!==r||e[15]!==l||e[16]!==i||e[17]!==f||e[18]!==p?(j=s.jsxs(n,{type:i,onClick:l,className:f,children:[p,r]}),e[13]=n,e[14]=r,e[15]=l,e[16]=i,e[17]=f,e[18]=p,e[19]=j):j=e[19],j}function ie(a){const e=w.c(9),{lane:t}=a,d=B();let o;e[0]!==t||e[1]!==d?(o=ne(t,d),e[0]=t,e[1]=d,e[2]=o):o=e[2];const{label:c,visual:r}=o,l=r.icon;let n;e[3]!==l||e[4]!==r.iconClassName?(n=s.jsx(l,{className:r.iconClassName}),e[3]=l,e[4]=r.iconClassName,e[5]=n):n=e[5];let i;return e[6]!==c||e[7]!==n?(i=s.jsxs(Y,{variant:"muted",children:[n,c]}),e[6]=c,e[7]=n,e[8]=i):i=e[8],i}function R(a){const e=w.c(2),{children:t}=a;let d;return e[0]!==t?(d=s.jsx("div",{className:"flex h-20 items-center justify-center text-sm text-muted-foreground",children:t}),e[0]=t,e[1]=d):d=e[1],d}function _e(a){const e=w.c(21),{value:t,previous:d,unit:o,better:c}=a,r=B();if(t===null||d===null||d===void 0){let p;e[0]!==r?(p=r("taskBoard.analytics.noPrior"),e[0]=r,e[1]=p):p=e[1];let j;return e[2]!==p?(j=s.jsx("span",{className:"text-meta",children:p}),e[2]=p,e[3]=j):j=e[3],j}const l=Math.round((t-d)*10)/10,n=c==="down"?l<0:l>0;let i;e[4]!==l||e[5]!==r||e[6]!==o?(i=o==="%"?r("taskBoard.analytics.points",{n:String(Math.abs(l))}):M(Math.abs(l),o),e[4]=l,e[5]=r,e[6]=o,e[7]=i):i=e[7];const u=i;let f;e[8]!==u||e[9]!==c||e[10]!==l||e[11]!==n||e[12]!==r?(f=l===0?r("taskBoard.analytics.unchanged"):s.jsxs("span",{className:D("inline-flex items-center gap-0.5 font-medium",c&&(n?"text-success":"text-destructive")),children:[l>0?s.jsx(ke,{size:12}):s.jsx(Ne,{size:12}),u]}),e[8]=u,e[9]=c,e[10]=l,e[11]=n,e[12]=r,e[13]=f):f=e[13];let x;e[14]!==r?(x=r("taskBoard.analytics.vsPrevious"),e[14]=r,e[15]=x):x=e[15];let m;e[16]!==x?(m=s.jsx("span",{children:x}),e[16]=x,e[17]=m):m=e[17];let h;return e[18]!==f||e[19]!==m?(h=s.jsxs("span",{className:"text-meta inline-flex items-center gap-1",children:[f,m]}),e[18]=f,e[19]=m,e[20]=h):h=e[20],h}const Re={1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",5:"lg:grid-cols-5",6:"lg:grid-cols-3",9:"lg:grid-cols-3"};function Ae(a){const e=w.c(10),{section:t,onDrill:d}=a,o=Re[t.values.length]??"lg:grid-cols-4";let c;e[0]!==o?(c=D("grid grid-cols-2 gap-4",o),e[0]=o,e[1]=c):c=e[1];let r;if(e[2]!==d||e[3]!==t.values){let n;e[5]!==d?(n=i=>s.jsx(_,{title:i.label,value:M(i.value,i.unit),onClick:L(d,i.drill,i.label),caption:s.jsxs(s.Fragment,{children:[i.detail&&s.jsx("span",{className:"text-sm text-muted-foreground",children:i.detail}),i.previous!==void 0&&s.jsx(_e,{value:i.value,previous:i.previous,unit:i.unit,better:i.better})]})},i.label),e[5]=d,e[6]=n):n=e[6],r=t.values.map(n),e[2]=d,e[3]=t.values,e[4]=r}else r=e[4];let l;return e[7]!==c||e[8]!==r?(l=s.jsx("div",{className:c,children:r}),e[7]=c,e[8]=r,e[9]=l):l=e[9],l}function Ke(a){return Array.from(new Set(a.flatMap(e=>Object.keys(e)))).filter(e=>e!=="t").sort()}function Ee(a,e){const t=e.filter(d=>a.some(o=>typeof o[d]=="number"&&o[d]!==0));return t.length>0?t:e}function Fe(a,e,t){const d=new Map(a.map(l=>[String(l.t??"").slice(0,10),l])),o=new Date(`${t.from.slice(0,10)}T00:00:00.000Z`),c=t.to.slice(0,10),r=[];for(;o.toISOString().slice(0,10)<=c;){const l=o.toISOString().slice(0,10);r.push(d.get(l)??{t:o.toISOString(),...Object.fromEntries(e.map(n=>[n,0]))}),o.setUTCDate(o.getUTCDate()+1)}return r}function oe(a){const e=w.c(17),{active:t,payload:d,unit:o,nameOf:c}=a,r=c===void 0?String:c;if(!t||!d?.length)return null;const l=d[0]?.payload,n=l?.t;let i;e[0]!==l?.label||e[1]!==n?(i=typeof n=="string"?new Date(n).toLocaleDateString(void 0,{month:"short",day:"numeric"}):String(l?.label??""),e[0]=l?.label,e[1]=n,e[2]=i):i=e[2];let u;e[3]!==i?(u=s.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:i}),e[3]=i,e[4]=u):u=e[4];let f;if(e[5]!==r||e[6]!==d||e[7]!==o){let h;e[9]!==r||e[10]!==o?(h=p=>s.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[s.jsx("span",{className:"size-2 shrink-0 rounded-full",style:{backgroundColor:p.color}}),s.jsx("span",{className:"text-muted-foreground",children:r(String(p.dataKey))}),s.jsx("span",{className:"tnum ml-auto pl-3 font-medium",children:M(typeof p.value=="number"?p.value:null,o)})]},String(p.dataKey)),e[9]=r,e[10]=o,e[11]=h):h=e[11],f=d.map(h),e[5]=r,e[6]=d,e[7]=o,e[8]=f}else f=e[8];let x;e[12]!==f?(x=s.jsx("div",{className:"flex flex-col gap-1",children:f}),e[12]=f,e[13]=x):x=e[13];let m;return e[14]!==u||e[15]!==x?(m=s.jsxs("div",{className:"rounded-lg bg-popover px-3 py-2 shadow-soft",children:[u,x]}),e[14]=u,e[15]=x,e[16]=m):m=e[16],m}function ze(a){const e=w.c(27),{section:t,range:d}=a,o=B(),c=t.unit??void 0,r=c!=="%"&&c!=="s";let l;if(e[0]!==r||e[1]!==d||e[2]!==t.points||e[3]!==t.title||e[4]!==o||e[5]!==c){const n=Ke(t.points),i=r?Ee(t.points,n):n,u=y=>E[n.indexOf(y)%E.length],f=Object.fromEntries(i.map(y=>[y,{label:y,color:u(y)}])),m=(r&&d?Fe(t.points,n,d):t.points).map(Ge);let h;if(e[7]!==t.title){let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=/\W+/g,e[9]=y):y=e[9],h=t.title.replace(y,"-"),e[7]=t.title,e[8]=h}else h=e[8];const p=`analytics-${h}`;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(H,{strokeDasharray:"4 4",stroke:"var(--border)",strokeOpacity:.5,vertical:!1}),e[10]=j):j=e[10];const v=j;let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(P,{dataKey:"label",axisLine:!1,tickLine:!1,tick:A,minTickGap:24,tickMargin:8}),e[11]=k):k=e[11];const b=k;let $;e[12]!==c?($=c==="%"?[0,100]:[0,"auto"],e[12]=c,e[13]=$):$=e[13];const S=c!==void 0;let g;e[14]!==c?(g=y=>X(y,c),e[14]=c,e[15]=g):g=e[15];let C;e[16]!==$||e[17]!==S||e[18]!==g?(C=s.jsx(V,{orientation:"right",axisLine:!1,tickLine:!1,tick:A,domain:$,allowDecimals:S,tickFormatter:g,width:48,tickCount:5}),e[16]=$,e[17]=S,e[18]=g,e[19]=C):C=e[19];const O=C;let T;e[20]!==r?(T=r?{fill:"var(--muted)",opacity:.4}:{stroke:"var(--border)",strokeDasharray:"4 4"},e[20]=r,e[21]=T):T=e[21];let I;e[22]!==c?(I=y=>{const{active:z,payload:fe}=y;return s.jsx(oe,{active:z,payload:fe,unit:c})},e[22]=c,e[23]=I):I=e[23];let N;e[24]!==I||e[25]!==T?(N=s.jsx(ee,{cursor:T,content:I}),e[24]=I,e[25]=T,e[26]=N):N=e[26];const K=N;l=s.jsx(_,{title:t.title,aside:i.length>1&&s.jsx("ul",{className:"flex flex-wrap justify-end gap-x-3 gap-y-1",children:i.map(y=>s.jsxs("li",{className:"text-meta flex items-center gap-1.5",children:[s.jsx("span",{className:"size-2 rounded-full",style:{backgroundColor:u(y)}}),y]},y))}),children:m.length===0?s.jsx(R,{children:o("taskBoard.analytics.noDataInRange")}):s.jsx(J,{role:"img","aria-label":t.title,className:"h-[140px] w-full md:h-[180px]",config:f,children:r?s.jsxs(G,{data:m,margin:{left:0,right:0,top:8},children:[v,b,O,K,i.map((y,z)=>s.jsx(U,{dataKey:y,stackId:"day",fill:u(y),maxBarSize:24,radius:z===i.length-1?[4,4,0,0]:0,animationDuration:300},y))]}):s.jsxs(Ie,{data:m,margin:{left:0,right:0,top:8},children:[i.length===1&&s.jsx("defs",{children:s.jsxs("linearGradient",{id:p,x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:u(i[0]??""),stopOpacity:.2}),s.jsx("stop",{offset:"100%",stopColor:u(i[0]??""),stopOpacity:0})]})}),v,b,O,K,i.map(y=>s.jsx(Be,{type:"linear",dataKey:y,stroke:u(y),strokeWidth:2,fill:i.length===1?`url(#${p})`:"none",dot:m.length===1?{r:4}:!1,activeDot:{r:4,stroke:"var(--background)",strokeWidth:2},connectNulls:!0,animationDuration:300},y))]})})}),e[0]=r,e[1]=d,e[2]=t.points,e[3]=t.title,e[4]=o,e[5]=c,e[6]=l}else l=e[6];return l}function Ge(a){return{...a,label:new Date(String(a.t??"")).toLocaleDateString(void 0,{month:"short",day:"numeric"})}}function ce(a){const e=w.c(25),{label:t,note:d,share:o,value:c,fill:r,color:l,onClick:n}=a,i=n?"button":"div",u=n?"button":void 0;let f;e[0]!==n?(f=n&&D(F,"-mx-2 w-[calc(100%+1rem)] rounded-md px-2"),e[0]=n,e[1]=f):f=e[1];let x;e[2]!==f?(x=D("flex h-10 w-full items-center gap-3",f),e[2]=f,e[3]=x):x=e[3];let m;e[4]!==d?(m=d&&s.jsx("span",{className:"text-meta ml-2",children:d}),e[4]=d,e[5]=m):m=e[5];let h;e[6]!==t||e[7]!==m?(h=s.jsxs("span",{className:"min-w-0 flex-1 truncate text-sm text-muted-foreground",children:[t,m]}),e[6]=t,e[7]=m,e[8]=h):h=e[8];const p=`${Math.max(0,Math.min(100,r))}%`;let j;e[9]!==l||e[10]!==p?(j=s.jsx("span",{className:"h-1.5 w-20 shrink-0 overflow-hidden rounded-full bg-muted",children:s.jsx("span",{className:"block h-full rounded-full",style:{width:p,backgroundColor:l}})}),e[9]=l,e[10]=p,e[11]=j):j=e[11];let v;e[12]!==o?(v=o!==void 0&&s.jsx("span",{className:"tnum w-16 shrink-0 text-right text-sm text-foreground/40",children:o}),e[12]=o,e[13]=v):v=e[13];let k;e[14]!==c?(k=s.jsx("span",{className:"tnum w-8 shrink-0 text-right text-sm text-foreground",children:c}),e[14]=c,e[15]=k):k=e[15];let b;return e[16]!==i||e[17]!==n||e[18]!==u||e[19]!==x||e[20]!==h||e[21]!==j||e[22]!==v||e[23]!==k?(b=s.jsx("li",{className:"border-b border-border/50 last:border-b-0",children:s.jsxs(i,{type:u,onClick:n,className:x,children:[h,j,v,k]})}),e[16]=i,e[17]=n,e[18]=u,e[19]=x,e[20]=h,e[21]=j,e[22]=v,e[23]=k,e[24]=b):b=e[24],b}function Ue(a){const e=w.c(17),{section:t,onDrill:d}=a,o=B(),c=t.stages[0]?.value??0,r=t.stages.at(-1)?.value??0;let l;e[0]!==r||e[1]!==c?(l=c?`${Math.round(100*r/c)}%`:"—",e[0]=r,e[1]=c,e[2]=l):l=e[2];let n;e[3]!==r||e[4]!==c||e[5]!==o?(n=c>0&&s.jsx("span",{className:"text-meta",children:o("taskBoard.analytics.funnelCaption",{end:String(r),start:String(c)})}),e[3]=r,e[4]=c,e[5]=o,e[6]=n):n=e[6];let i;e[7]!==d||e[8]!==t.stages||e[9]!==c||e[10]!==o?(i=c===0?s.jsx(R,{children:o("taskBoard.analytics.noDataInRange")}):s.jsx("ol",{className:"flex flex-col",children:t.stages.map((f,x)=>{const m=t.stages[x-1]?.value,h=m===void 0?0:m-f.value;return s.jsx(ce,{label:f.label,note:h>0?o("taskBoard.analytics.dropped",{n:String(h)}):void 0,share:`${Math.round(100*f.value/c)}%`,value:f.value.toLocaleString(),fill:100*f.value/c,color:"var(--chart-2)",onClick:L(d,f.drill,f.label)},f.label)})}),e[7]=d,e[8]=t.stages,e[9]=c,e[10]=o,e[11]=i):i=e[11];let u;return e[12]!==t.title||e[13]!==l||e[14]!==n||e[15]!==i?(u=s.jsx(_,{title:t.title,value:l,caption:n,children:i}),e[12]=t.title,e[13]=l,e[14]=n,e[15]=i,e[16]=u):u=e[16],u}function He(a){const e=w.c(19),{section:t,onDrill:d}=a,o=B();let c;e[0]!==t.bars?(c=Math.max(0,...t.bars.map(Pe)),e[0]=t.bars,e[1]=c):c=e[1];const r=c;let l;e[2]!==t.total?.value?(l=t.total?.value.toLocaleString(),e[2]=t.total?.value,e[3]=l):l=e[3];let n;e[4]!==t.total?(n=t.total&&s.jsx("span",{className:"text-meta",children:t.total.label}),e[4]=t.total,e[5]=n):n=e[5];let i;e[6]!==t.unit?(i=t.unit&&s.jsx("span",{className:"text-meta",children:t.unit}),e[6]=t.unit,e[7]=i):i=e[7];let u;e[8]!==r||e[9]!==d||e[10]!==t.bars||e[11]!==o?(u=t.bars.length===0?s.jsx(R,{children:o("taskBoard.analytics.nobodyStepped")}):s.jsx("ul",{className:"flex flex-col",children:t.bars.map(x=>s.jsx(ce,{label:x.label,note:x.note,share:x.detail,value:x.value.toLocaleString(),fill:r?100*x.value/r:0,color:"var(--chart-1)",onClick:L(d,x.drill,x.label)},x.label))}),e[8]=r,e[9]=d,e[10]=t.bars,e[11]=o,e[12]=u):u=e[12];let f;return e[13]!==t.title||e[14]!==l||e[15]!==n||e[16]!==i||e[17]!==u?(f=s.jsx(_,{title:t.title,value:l,caption:n,aside:i,children:u}),e[13]=t.title,e[14]=l,e[15]=n,e[16]=i,e[17]=u,e[18]=f):f=e[18],f}function Pe(a){return a.value}function Ve(a,e){return`/${encodeURIComponent(a)}/${encodeURIComponent(e)}`}const Xe=new Set(["Org ID","Task ID"]),Ye=new Set(["Run outcome","Failure kind","Moved in by","State"]),Qe=new Set(["Error","Signature"]),We=new Set(["Org","Orgs"]);function Ze(a){const e=w.c(32),{section:t,threadLinks:d,showOrg:o,taskHref:c,onDrill:r}=a,l=B(),n=t.columns.indexOf("Org");let i;e[0]!==n||e[1]!==t.columns||e[2]!==d?(i=d&&n>=0?t.columns.indexOf("Thread"):-1,e[0]=n,e[1]=t.columns,e[2]=d,e[3]=i):i=e[3];const u=i,f=t.columns.indexOf("Task ID");let x;e[4]!==t.columns||e[5]!==c||e[6]!==f?(x=c&&f>=0?t.columns.indexOf("Task"):-1,e[4]=t.columns,e[5]=c,e[6]=f,e[7]=x):x=e[7];const m=x,h=t.columns;let p,j;if(e[8]!==r||e[9]!==n||e[10]!==t.columns||e[11]!==t.drills||e[12]!==t.rows||e[13]!==t.title||e[14]!==t.units||e[15]!==o||e[16]!==l||e[17]!==m||e[18]!==c||e[19]!==f||e[20]!==u){j=Symbol.for("react.early_return_sentinel");e:{let v;e[23]!==o?(v=S=>{const{c:g}=S;return!Xe.has(g)&&(o!==!1||!We.has(g))},e[23]=o,e[24]=v):v=e[24];const k=h.map(st).filter(v).sort(tt);let b;e[25]!==t.rows?(b=S=>{const{j:g}=S,C=t.rows.map(O=>O[g]).filter(et);return C.length>0&&C.every(Je)},e[25]=t.rows,e[26]=b):b=e[26];const $=new Set(k.filter(b).map(qe));if(t.rows.length===1&&k.every(S=>{const{c:g}=S;return $.has(g)})){let S;e[27]!==t.rows[0]?(S=t.rows[0]??[],e[27]=t.rows[0],e[28]=S):S=e[28];const g=S;let C;e[29]!==g||e[30]!==t.units?(C=O=>{const{c:T,j:I}=O,N=g[I];return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsx("dt",{className:"text-meta",children:T}),s.jsx("dd",{className:"tnum text-2xl text-foreground",children:typeof N=="number"?M(N,t.units?.[T]):"—"})]},T)},e[29]=g,e[30]=t.units,e[31]=C):C=e[31],j=s.jsx(Q,{title:t.title,children:s.jsx("dl",{className:"surface grid px-4 pt-4 pb-5 grid-cols-2 gap-x-6 gap-y-4 sm:grid-cols-3 lg:grid-cols-[repeat(auto-fill,minmax(120px,1fr))]",children:k.map(C)})});break e}p=s.jsx(Q,{title:t.title,children:t.rows.length===0?s.jsx("p",{className:"surface px-4 py-4 text-sm text-muted-foreground",children:l("taskBoard.analytics.nothingToShow")}):s.jsx("div",{className:"surface max-h-[480px] overflow-auto",children:s.jsxs(he,{variant:"flush",children:[s.jsx(ge,{children:s.jsx(W,{children:k.map(S=>{const{c:g}=S;return s.jsx(je,{className:D("whitespace-nowrap first:pl-4 last:pr-4",$.has(g)&&"text-right"),children:g==="Thread"?"":g},g)})})}),s.jsx(be,{children:t.rows.map((S,g)=>s.jsx(W,{children:k.map((C,O)=>{const{c:T,j:I}=C,N=S[I],K=m===I?S[f]:null,y=O===0?L(r,t.drills?.[g]??void 0,String(N??"")):void 0;return s.jsx(ye,{className:D("max-w-md truncate text-sm first:pl-4 last:pr-4",$.has(T)&&"text-right"),children:N==null?s.jsx("span",{className:"text-muted-foreground",children:"—"}):I===u?s.jsxs("a",{href:Ve(String(S[n]),String(N)),target:"_blank",rel:"noreferrer",className:"focus-ring inline-flex items-center gap-1 text-muted-foreground underline-offset-2 hover:text-foreground hover:underline",children:[l("taskBoard.analytics.openChat"),s.jsx(me,{size:12})]}):y?s.jsx("button",{type:"button",onClick:y,className:"focus-ring text-left text-foreground underline-offset-2 hover:underline",children:String(N)}):K?s.jsx(le,{href:c?.(String(K)),className:"focus-ring text-foreground underline-offset-2 hover:underline",children:String(N)}):T==="Lane"&&typeof N=="string"?s.jsx(ie,{lane:N}):T==="Priority"&&typeof N=="string"?s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx(de,{drill:`priority:${N.toLowerCase()}`}),N]}):Ye.has(T)?s.jsx(Y,{variant:"muted",children:String(N)}):Qe.has(T)?s.jsx("span",{title:String(N),className:"font-mono text-xs text-muted-foreground",children:String(N)}):s.jsx("span",{className:D("tnum",typeof N=="string"&&re.test(N)&&"text-muted-foreground"),children:Me(N,t.units?.[T])})},T)})},`${t.title}-${g}`))})]})})})}e[8]=r,e[9]=n,e[10]=t.columns,e[11]=t.drills,e[12]=t.rows,e[13]=t.title,e[14]=t.units,e[15]=o,e[16]=l,e[17]=m,e[18]=c,e[19]=f,e[20]=u,e[21]=p,e[22]=j}else p=e[21],j=e[22];return j!==Symbol.for("react.early_return_sentinel")?j:p}function qe(a){const{c:e}=a;return e}function Je(a){return typeof a=="number"}function et(a){return a!==null}function tt(a,e){return+(e.c==="Task")-+(a.c==="Task")}function st(a,e){return{c:a,j:e}}function Tt(a){const e=w.c(17),{section:t,taskHref:d}=a,o=B();let c;e[0]!==t.columns?(c=i=>t.columns.indexOf(i),e[0]=t.columns,e[1]=c):c=e[1];const r=c;if(t.rows.length===0){let i;e[2]!==o?(i=o("taskBoard.analytics.nothingToShow"),e[2]=o,e[3]=i):i=e[3];let u;return e[4]!==i?(u=s.jsx(R,{children:i}),e[4]=i,e[5]=u):u=e[5],u}let l;if(e[6]!==r||e[7]!==t.rows||e[8]!==o||e[9]!==d){let i;e[11]!==r||e[12]!==o||e[13]!==d?(i=u=>{const f=String(u[r("Task ID")]??""),x=u[r("Lane")],m=u[r("Picked up")],h=Number(u[r("Actions by people")]??0),p=Number(u[r("Failed QA")]??0),j=[typeof m=="string"?q(m):null,h>0&&o(h===1?"taskBoard.analytics.humanActionsOne":"taskBoard.analytics.humanActions",{n:String(h)})].filter(Boolean),v=s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[s.jsx("span",{className:"truncate text-sm text-foreground",children:String(u[r("Task")]??"")}),s.jsx("span",{className:"text-meta truncate",children:j.join(" · ")})]}),p>0&&s.jsxs(Y,{variant:"muted",children:[s.jsx(ve,{className:"text-destructive"}),p===1?o("taskBoard.analytics.failedQa"):o("taskBoard.analytics.failedQaTimes",{n:String(p)})]}),typeof x=="string"&&s.jsx(ie,{lane:x})]});return s.jsx("li",{className:"border-b border-border/50 last:border-b-0",children:d?s.jsx(le,{href:d(f),className:D(F,"flex items-center gap-3 rounded-md p-2"),children:v}):s.jsx("div",{className:"flex items-center gap-3 p-2",children:v})},f)},e[11]=r,e[12]=o,e[13]=d,e[14]=i):i=e[14],l=t.rows.map(i),e[6]=r,e[7]=t.rows,e[8]=o,e[9]=d,e[10]=l}else l=e[10];let n;return e[15]!==l?(n=s.jsx("ul",{className:"flex flex-col",children:l}),e[15]=l,e[16]=n):n=e[16],n}const nt={Type:$e,Priority:we,Tag:Ce,Sprint:Se,"Brief by":pe};function de(a){const e=w.c(10),{drill:t}=a;let d;e[0]!==t?(d=(t??"").split("&")[0]?.split(":")??[],e[0]=t,e[1]=d):d=e[1];const[o,c]=d;let r,l,n;if(e[2]!==o||e[3]!==c){n=Symbol.for("react.early_return_sentinel");e:{const u=o==="type"?Object.entries(Te).find(x=>{const[m]=x;return m===c})?.[1]:o==="priority"?Object.entries(De).find(x=>{const[m]=x;return m===c})?.[1]:void 0;if(!u){n=null;break e}r=u.icon,l=D("size-3.5 shrink-0",u.iconClassName)}e[2]=o,e[3]=c,e[4]=r,e[5]=l,e[6]=n}else r=e[4],l=e[5],n=e[6];if(n!==Symbol.for("react.early_return_sentinel"))return n;let i;return e[7]!==r||e[8]!==l?(i=s.jsx(r,{className:l}),e[7]=r,e[8]=l,e[9]=i):i=e[9],i}function lt(a){const e=w.c(11),{value:t,metric:d,color:o}=a,c=t??0,r=`${d.unit==="%"?Math.min(100,c):0}%`;let l;e[0]!==o||e[1]!==r?(l=s.jsx("span",{className:"h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-muted",children:s.jsx("span",{className:"block h-full rounded-full",style:{width:r,backgroundColor:o}})}),e[0]=o,e[1]=r,e[2]=l):l=e[2];const n=t??null;let i;e[3]!==d.unit||e[4]!==n?(i=M(n,d.unit),e[3]=d.unit,e[4]=n,e[5]=i):i=e[5];let u;e[6]!==i?(u=s.jsx("span",{className:"tnum w-12 shrink-0 text-right text-sm text-foreground",children:i}),e[6]=i,e[7]=u):u=e[7];let f;return e[8]!==l||e[9]!==u?(f=s.jsxs("span",{className:"flex items-center gap-2",children:[l,u]}),e[8]=l,e[9]=u,e[10]=f):f=e[10],f}function at(a){const e=w.c(16),{section:t,onDrill:d}=a,o=B(),[c,r]=Z.useState(t.dimensions[0]?.label??"");let l;e[0]!==c||e[1]!==t.dimensions?(l=t.dimensions.find(m=>m.label===c)??t.dimensions[0],e[0]=c,e[1]=t.dimensions,e[2]=l):l=e[2];const n=l,i=`minmax(0,1fr) 56px repeat(${t.metrics.length}, minmax(96px, 168px))`;let u;e[3]!==n?.label||e[4]!==t.dimensions?(u=t.dimensions.length>1&&s.jsx(te,{type:"single",variant:"segmented",size:"sm",value:n?.label??"",onValueChange:m=>m&&r(m),children:t.dimensions.map(it)}),e[3]=n?.label,e[4]=t.dimensions,e[5]=u):u=e[5];let f;e[6]!==i||e[7]!==n||e[8]!==d||e[9]!==t.metrics||e[10]!==o?(f=!n||n.rows.length===0?s.jsx(R,{children:o("taskBoard.analytics.noDataInRange")}):s.jsxs("div",{className:"flex flex-col",children:[s.jsxs("div",{className:"text-meta grid items-center gap-4 border-b border-border/50 pb-2",style:{gridTemplateColumns:i},children:[s.jsx("span",{children:n.label}),s.jsx("span",{className:"text-right",children:o("taskBoard.analytics.tasks")}),t.metrics.map(rt)]}),n.rows.map(m=>{const h=L(d,m.drill,m.label),p=h?"button":"div";return s.jsxs(p,{type:h?"button":void 0,onClick:h,className:D("grid h-11 items-center gap-4 border-b border-border/50 last:border-b-0",h&&D(F,"-mx-2 w-[calc(100%+1rem)] rounded-md px-2")),style:{gridTemplateColumns:i},children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2 text-sm text-foreground",children:[s.jsx(de,{drill:m.drill}),s.jsx("span",{className:"truncate",children:m.label})]}),s.jsx("span",{className:"tnum text-right text-sm text-muted-foreground",children:m.count.toLocaleString()}),t.metrics.map(j=>s.jsx(lt,{value:m.values[j.key],metric:j,color:j.better==="up"?"var(--success)":"var(--destructive)"},j.key))]},m.label)})]}),e[6]=i,e[7]=n,e[8]=d,e[9]=t.metrics,e[10]=o,e[11]=f):f=e[11];let x;return e[12]!==t.title||e[13]!==u||e[14]!==f?(x=s.jsx(_,{title:t.title,aside:u,children:f}),e[12]=t.title,e[13]=u,e[14]=f,e[15]=x):x=e[15],x}function rt(a){return s.jsx("span",{className:"text-right",children:a.label},a.key)}function it(a){const e=nt[a.label];return s.jsxs(se,{value:a.label,children:[e&&s.jsx(e,{}),a.label]},a.label)}const ue=3;function ot(a){const e=w.c(26),{section:t,onDrill:d}=a,o=B(),[c,r]=Z.useState(t.metrics[0]?.key??"");let l;e[0]!==c||e[1]!==t.metrics?(l=t.metrics.find(b=>b.key===c)??t.metrics[0],e[0]=c,e[1]=t.metrics,e[2]=l):l=e[2];const n=l;if(!n)return null;const i=n.better==="up"?"var(--success)":"var(--destructive)";let u;e[3]!==t.cols||e[4]!==t.rows?(u=t.rows.length===t.cols.length&&t.rows.every((b,$)=>t.cols[$]===b),e[3]=t.cols,e[4]=t.rows,e[5]=u):u=e[5];const f=u,x=`minmax(96px, 1fr) repeat(${t.cols.length}, minmax(72px, 1fr))`,m=t.title;let h;e[6]!==o?(h=o("taskBoard.analytics.matrixCaption",{n:String(ue)}),e[6]=o,e[7]=h):h=e[7];let p;e[8]!==h?(p=s.jsx("span",{className:"text-meta",children:h}),e[8]=h,e[9]=p):p=e[9];let j;e[10]!==n.key||e[11]!==t.metrics?(j=t.metrics.length>1&&s.jsx(te,{type:"single",variant:"segmented",size:"sm",value:n.key,onValueChange:b=>b&&r(b),children:t.metrics.map(dt)}),e[10]=n.key,e[11]=t.metrics,e[12]=j):j=e[12];let v;e[13]!==x||e[14]!==n||e[15]!==d||e[16]!==t||e[17]!==f||e[18]!==o||e[19]!==i?(v=t.rows.length===0?s.jsx(R,{children:o("taskBoard.analytics.noDataInRange")}):s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("div",{className:"grid min-w-fit gap-1",style:{gridTemplateColumns:x},children:[s.jsxs("span",{className:"text-meta self-end pb-1",children:[t.rowLabel," / ",t.colLabel]}),t.cols.map(ct),t.rows.map((b,$)=>s.jsx(ut,{row:b,section:t,metric:n,tint:i,onDrill:d,upTo:f?$:void 0},b))]})}),e[13]=x,e[14]=n,e[15]=d,e[16]=t,e[17]=f,e[18]=o,e[19]=i,e[20]=v):v=e[20];let k;return e[21]!==t.title||e[22]!==p||e[23]!==j||e[24]!==v?(k=s.jsx(_,{title:m,caption:p,aside:j,children:v}),e[21]=t.title,e[22]=p,e[23]=j,e[24]=v,e[25]=k):k=e[25],k}function ct(a){return s.jsx("span",{className:"text-meta self-end pb-1 text-center",children:a},a)}function dt(a){return s.jsx(se,{value:a.key,children:a.label},a.key)}function ut(a){const e=w.c(22),{row:t,section:d,metric:o,tint:c,onDrill:r,upTo:l}=a,n=B();let i;e[0]!==t?(i=s.jsx("span",{className:"flex items-center truncate pr-2 text-sm text-foreground",children:t}),e[0]=t,e[1]=i):i=e[1];let u;if(e[2]!==o||e[3]!==r||e[4]!==t||e[5]!==d.cells||e[6]!==d.cols||e[7]!==n||e[8]!==c||e[9]!==l){let x;e[11]!==o||e[12]!==r||e[13]!==t||e[14]!==d.cells||e[15]!==n||e[16]!==c||e[17]!==l?(x=(m,h)=>{if(l!==void 0&&h>l)return s.jsx("span",{},m);const p=d.cells.find(b=>b.row===t&&b.col===m),j=p?.values[o.key]??null;if(!p)return s.jsx("span",{className:"flex h-14 items-center justify-center rounded-md bg-muted/40 text-sm text-muted-foreground",children:"—"},m);const v=j===null?0:Math.min(100,o.unit==="%"?j:0),k=L(r,p.drill,t===m?t:`${t} · ${m}`);return s.jsxs("button",{type:"button",onClick:k,disabled:!k,className:D("flex h-14 flex-col items-center justify-center rounded-md transition-opacity focus-ring",k&&"cursor-pointer hover:opacity-80",p.count<ue&&"opacity-50"),style:{backgroundColor:`color-mix(in oklch, ${c} ${Math.round(8+v*.5)}%, var(--muted))`},children:[s.jsx("span",{className:"tnum text-sm font-medium text-foreground",children:M(j,o.unit)}),s.jsx("span",{className:"text-meta",children:p.count===1?n("taskBoard.analytics.drillCountOne"):n("taskBoard.analytics.drillCount",{n:String(p.count)})})]},m)},e[11]=o,e[12]=r,e[13]=t,e[14]=d.cells,e[15]=n,e[16]=c,e[17]=l,e[18]=x):x=e[18],u=d.cols.map(x),e[2]=o,e[3]=r,e[4]=t,e[5]=d.cells,e[6]=d.cols,e[7]=n,e[8]=c,e[9]=l,e[10]=u}else u=e[10];let f;return e[19]!==i||e[20]!==u?(f=s.jsxs(s.Fragment,{children:[i,u]}),e[19]=i,e[20]=u,e[21]=f):f=e[21],f}function ft(){const a=w.c(2),e=B();let t;return a[0]!==e?(t=d=>Object.hasOwn(Oe,d)?ne(d,e).label:d,a[0]=e,a[1]=t):t=a[1],t}function mt(a){const e=w.c(21),{section:t,onDrill:d}=a,o=B(),c=ft(),r=t.unit??void 0,l=t.layout==="stacked";let n;if(e[0]!==c||e[1]!==d||e[2]!==t.baseline||e[3]!==t.categories||e[4]!==t.keys||e[5]!==t.title||e[6]!==l||e[7]!==o||e[8]!==r){let i;e[10]!==t.baseline?(i=g=>g!==t.baseline,e[10]=t.baseline,e[11]=i):i=e[11];const u=t.keys.filter(i),f=g=>g===t.baseline?"var(--border)":E[u.indexOf(g)%E.length]??"",x=Object.fromEntries(t.keys.map(g=>[g,{label:c(g),color:f(g)}]));let m;e[12]!==t.categories?(m=t.categories.map(pt),e[12]=t.categories,e[13]=m):m=e[13];const h=m;let p;e[14]!==d||e[15]!==t.categories?(p=g=>{const C=t.categories[g];C&&L(d,C.drill,C.label)?.()},e[14]=d,e[15]=t.categories,e[16]=p):p=e[16];const j=p,v=t.categories.some(xt)&&!!d,k=l?Math.max(120,t.categories.length*44+32):220;let b;e[17]===Symbol.for("react.memo_cache_sentinel")?(b={fill:"var(--muted)",opacity:.4},e[17]=b):b=e[17];let $;e[18]!==c||e[19]!==r?($=s.jsx(ee,{cursor:b,content:g=>{const{active:C,payload:O}=g;return s.jsx(oe,{active:C,payload:O,unit:r,nameOf:c})}}),e[18]=c,e[19]=r,e[20]=$):$=e[20];const S=$;n=s.jsx(_,{title:t.title,aside:s.jsx("ul",{className:"flex flex-wrap justify-end gap-x-3 gap-y-1",children:t.keys.map(g=>s.jsxs("li",{className:"text-meta flex items-center gap-1.5",children:[s.jsx("span",{className:"size-2 rounded-full",style:{backgroundColor:f(g)}}),c(g)]},g))}),children:h.length===0?s.jsx(R,{children:o("taskBoard.analytics.noDataInRange")}):s.jsx(J,{role:"img","aria-label":t.title,className:"w-full",style:{height:k},config:x,children:l?s.jsxs(G,{data:h,layout:"vertical",margin:{left:0,right:8,top:0},children:[s.jsx(H,{strokeDasharray:"4 4",stroke:"var(--border)",strokeOpacity:.5,horizontal:!1}),s.jsx(P,{type:"number",axisLine:!1,tickLine:!1,tick:A,tickFormatter:g=>X(g,r)}),s.jsx(V,{type:"category",dataKey:"label",axisLine:!1,tickLine:!1,tick:A,width:72}),S,t.keys.map((g,C)=>s.jsx(U,{dataKey:g,stackId:"all",fill:f(g),maxBarSize:22,radius:C===t.keys.length-1?[0,4,4,0]:0,animationDuration:300},g))]}):s.jsxs(G,{data:h,margin:{left:0,right:0,top:8},barGap:4,barCategoryGap:"28%",children:[s.jsx(H,{strokeDasharray:"4 4",stroke:"var(--border)",strokeOpacity:.5,vertical:!1}),s.jsx(P,{dataKey:"label",axisLine:!1,tickLine:!1,tick:A,tickMargin:8}),s.jsx(V,{orientation:"right",axisLine:!1,tickLine:!1,tick:A,allowDecimals:r!==void 0,tickFormatter:g=>X(g,r),width:48}),S,t.keys.map(g=>s.jsx(U,{dataKey:g,fill:f(g),maxBarSize:32,radius:[4,4,0,0],animationDuration:300,className:D(v&&"cursor-pointer"),onClick:(C,O)=>j(O)},g))]})})}),e[0]=c,e[1]=d,e[2]=t.baseline,e[3]=t.categories,e[4]=t.keys,e[5]=t.title,e[6]=l,e[7]=o,e[8]=r,e[9]=n}else n=e[9];return n}function xt(a){return a.drill}function pt(a){return{label:a.label,...a.values}}function Dt(a){return a.kind==="funnel"||a.kind==="bars"?"half":"full"}function Ot(a){const e=w.c(27),{section:t,threadLinks:d,showOrg:o,taskHref:c,range:r,onDrill:l}=a;switch(t.kind){case"stat":{let n;return e[0]!==l||e[1]!==t?(n=s.jsx(Ae,{section:t,onDrill:l}),e[0]=l,e[1]=t,e[2]=n):n=e[2],n}case"series":{let n;return e[3]!==r||e[4]!==t?(n=s.jsx(ze,{section:t,range:r}),e[3]=r,e[4]=t,e[5]=n):n=e[5],n}case"funnel":{let n;return e[6]!==l||e[7]!==t?(n=s.jsx(Ue,{section:t,onDrill:l}),e[6]=l,e[7]=t,e[8]=n):n=e[8],n}case"bars":{let n;return e[9]!==l||e[10]!==t?(n=s.jsx(He,{section:t,onDrill:l}),e[9]=l,e[10]=t,e[11]=n):n=e[11],n}case"breakdown":{let n;return e[12]!==l||e[13]!==t?(n=s.jsx(at,{section:t,onDrill:l}),e[12]=l,e[13]=t,e[14]=n):n=e[14],n}case"matrix":{let n;return e[15]!==l||e[16]!==t?(n=s.jsx(ot,{section:t,onDrill:l}),e[15]=l,e[16]=t,e[17]=n):n=e[17],n}case"categories":{let n;return e[18]!==l||e[19]!==t?(n=s.jsx(mt,{section:t,onDrill:l}),e[18]=l,e[19]=t,e[20]=n):n=e[20],n}case"table":{let n;return e[21]!==l||e[22]!==t||e[23]!==o||e[24]!==c||e[25]!==d?(n=s.jsx(Ze,{section:t,threadLinks:d,showOrg:o,taskHref:c,onDrill:l}),e[21]=l,e[22]=t,e[23]=o,e[24]=c,e[25]=d,e[26]=n):n=e[26],n}default:return t}}export{A,Tt as D,_ as M,Ot as S,Dt as s};
@@ -0,0 +1,2 @@
1
+ import{c as se,b as xe,a4 as vt,m as it,K as Be,r as ie,j as t,bA as Ue,u as Nt,l as Le,q as Ze,e as Fe,I as Qe,t as ge,B as pe,ay as Pt,w as rt,x as ot,v as ct,D as dt,bl as wt,ai as St,aM as _t,aN as kt,aO as Ct,aP as Kt,aQ as At,aR as $t,aS as Et,y as Dt}from"./index-BNmzMNlZ.js";import{p as Oe,F as Ot,bF as qt,bs as Lt}from"./agent-icon-CVEMdYFU.js";import{a as mt}from"./Copy01-Tog1jA1S.js";import{s as zt}from"./Trash01-cH2tYIUn.js";import{B as ze}from"./badge-DeNt4-FX.js";import{C as Je}from"./checkbox-B6N4ay58.js";import{L as qe}from"./label-BCxqhVIq.js";import{b as at,T as Mt,c as Rt,e as Ft,a as It,d as Bt}from"./table-CxQHf5NT.js";import{c as Vt,d as Ht,b as Ut,C as Qt,a as Yt}from"./chart-D9k22T0E.js";import{E as Re}from"./empty-state-RpLaBfip.js";import{a as Wt}from"./repository-binding-BZ7FmJ0X.js";import{r as Gt}from"./site-slug-DebpOoQq.js";import{A as Jt,a as Xt}from"./AreaChart-Dud7jvcC.js";import{C as Zt,X as es,Y as ts}from"./CartesianChart-Cjgu2ECY.js";const ft=[{key:"core",labelKey:"mainPanelTabs.analyticsTab.moduleCore",hintKey:"mainPanelTabs.analyticsTab.moduleCoreHint"},{key:"commerce",labelKey:"mainPanelTabs.analyticsTab.moduleCommerce",hintKey:"mainPanelTabs.analyticsTab.moduleCommerceHint"},{key:"vitals",labelKey:"mainPanelTabs.analyticsTab.moduleVitals",hintKey:"mainPanelTabs.analyticsTab.moduleVitalsHint"},{key:"errors",labelKey:"mainPanelTabs.analyticsTab.moduleErrors",hintKey:"mainPanelTabs.analyticsTab.moduleErrorsHint"},{key:"engagement",labelKey:"mainPanelTabs.analyticsTab.moduleEngagement",hintKey:"mainPanelTabs.analyticsTab.moduleEngagementHint"}],ss=[{view:"live",labelKey:"mainPanelTabs.analyticsTab.viewLive"},{view:"overview",labelKey:"mainPanelTabs.analyticsTab.viewOverview"},{view:"behaviour",labelKey:"mainPanelTabs.analyticsTab.viewBehaviour"},{view:"events",labelKey:"mainPanelTabs.analyticsTab.viewEvents"},{view:"errors",labelKey:"mainPanelTabs.analyticsTab.viewErrors"},{view:"experiments",labelKey:"mainPanelTabs.analyticsTab.viewExperiments"},{view:"vitals",labelKey:"mainPanelTabs.analyticsTab.viewVitals"},{view:"quality",labelKey:"mainPanelTabs.analyticsTab.viewQuality"},{view:"usage",labelKey:"mainPanelTabs.analyticsTab.viewUsage"}],as=["5m","15m","30m","1h","24h","7d","30d"],ls=new Set(["usageScope","currency","currencies","dimensions","operators","goals","goal","range","site","view","propKey","filters","usageExplained"]),ut=/^(t|ts|bucket|minute|min|hour|day|date)$/i;class et extends Error{constructor(e,n){super(e),this.status=n}status}function ns(r){return r instanceof et&&r.status===401}function xt(r){const e=r instanceof Error?r.message.toLowerCase():"";return e.includes("not_configured")||e.includes("not configured")}function Ve(r){return r instanceof Error?r.message:String(r)}function Te(r){const e=r.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim();return e.charAt(0).toUpperCase()+e.slice(1)}function Ye(r){const e=typeof r=="number"?r:Number(r);return Number.isFinite(e)?new Intl.NumberFormat().format(e):"—"}function We(r){if(r==null||r==="")return"—";if(Array.isArray(r))return r.length?r.map(e=>String(e)).join(", "):"—";if(typeof r=="number")return Ye(r);if(typeof r=="object")try{return JSON.stringify(r)}catch{return String(r)}return String(r)}function is(r){return r===null||["string","number","boolean"].includes(typeof r)}async function bt(r){const e=await fetch(r),n=await e.json().catch(()=>({}));if(!e.ok){const a=n&&typeof n=="object"&&"error"in n?String(n.error):`request failed (${e.status})`;throw new et(a,e.status)}return n}async function Ie(r,e,n){const a=await fetch(r,{method:e,headers:n!==void 0?{"Content-Type":"application/json"}:{},body:n!==void 0?JSON.stringify(n):void 0}),c=await a.json().catch(()=>({}));if(!a.ok){const o=c&&typeof c=="object"&&"error"in c?String(c.error):`request failed (${a.status})`;throw new et(o,a.status)}return c}function he(r){const e=se.c(12),{title:n,action:a,children:c}=r;let o;e[0]!==n?(o=t.jsx("h3",{className:"text-sm font-medium text-foreground",children:n}),e[0]=n,e[1]=o):o=e[1];let s;e[2]!==a?(s=a&&t.jsx("div",{className:"ml-auto",children:a}),e[2]=a,e[3]=s):s=e[3];let l;e[4]!==o||e[5]!==s?(l=t.jsxs("header",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[o,s]}),e[4]=o,e[5]=s,e[6]=l):l=e[6];let i;e[7]!==c?(i=t.jsx("div",{className:"p-4",children:c}),e[7]=c,e[8]=i):i=e[8];let d;return e[9]!==l||e[10]!==i?(d=t.jsxs("section",{className:"surface overflow-hidden",children:[l,i]}),e[9]=l,e[10]=i,e[11]=d):d=e[11],d}function Ge(r,e){if(e==null)return"—";const n=Number(e);if(!Number.isFinite(n))return We(e);if(/(_s$|duration|seconds)/i.test(r)){const a=Math.floor(n/60);return a?`${a}m ${Math.round(n%60)}s`:`${Math.round(n)}s`}return/(pct|rate|bounce|ratio)/i.test(r)?`${Math.round(n)}%`:Ye(n)}const rs={kpis:"Overview",series:"Traffic over time",funnel:"Funnel",sources:"Top sources",pages:"Top pages",entryPages:"Entry pages",exitPages:"Exit pages",devices:"Devices",os:"Operating systems",browser:"Browsers",countries:"Countries",regions:"Regions",cities:"Cities",channels:"Channels",channelConversion:"Channel conversion",campaigns:"Campaigns",campaignNames:"Campaign names",attribution:"Attribution",products:"Top products",events:"Events",errors:"Errors",propKeys:"Property keys",propValues:"Property values",scrollDepth:"Scroll depth",searches:"Site searches",outbound:"Outbound links",downloads:"Downloads",variants:"Experiment variants",vitals:"Web vitals",vitalsByPage:"Vitals by page",liveVisitors:"Live visitors",livePages:"Active pages",liveFeed:"Live feed",liveByMinute:"Visitors per minute",usage:"Usage",usageTrend:"Usage over time",usageSites:"Usage by site"},lt=["pages","sources","channels","devices","browser","os","countries","regions","cities","entryPages","exitPages","campaigns","products","events","errors"];function pt(r){return rs[r]??Te(r)}function os(r){if(r.length<4)return null;const e=Math.floor(r.length/2),n=r.slice(0,e).reduce((c,o)=>c+o,0),a=r.slice(e).reduce((c,o)=>c+o,0);return n===0?null:(a-n)/n*100}function cs(r){const e=se.c(8),{pct:n,goodDown:a}=r,c=n>=0,s=(a?!c:c)?"text-success":"text-destructive";let l;e[0]!==s?(l=Le("text-xs font-medium tabular-nums",s),e[0]=s,e[1]=l):l=e[1];const i=c?"↑":"↓";let d;e[2]!==n?(d=Math.abs(Math.round(n)),e[2]=n,e[3]=d):d=e[3];let m;return e[4]!==l||e[5]!==i||e[6]!==d?(m=t.jsxs("span",{className:l,children:[i,d,"%"]}),e[4]=l,e[5]=i,e[6]=d,e[7]=m):m=e[7],m}const ds=new Set(["min_sampling","sessions_built"]);function ms(r){const e=se.c(2),{row:n}=r;let a;if(e[0]!==n){const c=Object.entries(n).filter(us);a=t.jsx("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:c.map(fs)}),e[0]=n,e[1]=a}else a=e[1];return a}function fs(r){const[e,n]=r;return t.jsxs("div",{className:"surface flex flex-col gap-1.5 p-4",children:[t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:Te(e)}),t.jsx("span",{className:"text-3xl font-semibold leading-none text-foreground tabular-nums",children:Ge(e,n)})]},e)}function us(r){const[e,n]=r;return(typeof n=="number"||n===null)&&!ds.has(e)}function xs(r){if(!Number.isFinite(r))return"";const e=Math.abs(r);return e>=1e6?`${(r/1e6).toFixed(1)}M`:e>=1e3?`${(r/1e3).toFixed(1)}k`:String(r)}function gt(r){const e=se.c(39),{rows:n,timeKey:a,metricKeys:c}=r;let o,s,l,i,d,m,u,p,v,b,g,h,T;if(e[0]!==c||e[1]!==n||e[2]!==a){l=c.filter(Boolean).slice(0,4);const j=l.map(ps),N=n.map(S=>{const P={label:String(S[a]??"")};for(const w of l)P[w]=Number(S[w])||0;return P}),k=Object.fromEntries(l.map((S,P)=>[S,{label:Te(S),color:j[P]}]));s=Ut,T=k,d="h-64 w-full",o=Xt,i=N,e[16]===Symbol.for("react.memo_cache_sentinel")?(m={top:8,right:-8,bottom:8,left:0},e[16]=m):m=e[16],u=t.jsx("defs",{children:l.map((S,P)=>t.jsxs("linearGradient",{id:`dq-grad-${S}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:j[P],stopOpacity:.2}),t.jsx("stop",{offset:"100%",stopColor:j[P],stopOpacity:0})]},S))}),e[17]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Zt,{strokeDasharray:"4 4",stroke:"var(--border)",strokeOpacity:.5,vertical:!1}),e[17]=p):p=e[17],e[18]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx(es,{dataKey:"label",axisLine:!1,tickLine:!1,tick:{fontSize:11,fill:"var(--muted-foreground)",opacity:.7},tickMargin:8,minTickGap:40,interval:"preserveStartEnd",tickFormatter:bs}),e[18]=v):v=e[18],e[19]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(ts,{orientation:"right",axisLine:!1,tickLine:!1,tick:{fontSize:11,fill:"var(--muted-foreground)",opacity:.7},tickFormatter:xs,width:40,tickCount:5}),e[19]=b):b=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx(Qt,{content:t.jsx(Yt,{indicator:"line"})}),e[20]=g):g=e[20],h=l.map((S,P)=>t.jsx(Jt,{type:"linear",dataKey:S,stroke:j[P],strokeWidth:2,fill:`url(#dq-grad-${S})`,dot:!1,activeDot:{r:4,fill:j[P],stroke:"var(--background)",strokeWidth:2},animationDuration:300},S)),e[0]=c,e[1]=n,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=i,e[7]=d,e[8]=m,e[9]=u,e[10]=p,e[11]=v,e[12]=b,e[13]=g,e[14]=h,e[15]=T}else o=e[3],s=e[4],l=e[5],i=e[6],d=e[7],m=e[8],u=e[9],p=e[10],v=e[11],b=e[12],g=e[13],h=e[14],T=e[15];let x;e[21]!==l.length?(x=l.length>1&&t.jsx(Vt,{content:t.jsx(Ht,{})}),e[21]=l.length,e[22]=x):x=e[22];let y;e[23]!==o||e[24]!==i||e[25]!==x||e[26]!==m||e[27]!==u||e[28]!==p||e[29]!==v||e[30]!==b||e[31]!==g||e[32]!==h?(y=t.jsxs(o,{data:i,margin:m,children:[u,p,v,b,g,h,x]}),e[23]=o,e[24]=i,e[25]=x,e[26]=m,e[27]=u,e[28]=p,e[29]=v,e[30]=b,e[31]=g,e[32]=h,e[33]=y):y=e[33];let f;return e[34]!==s||e[35]!==d||e[36]!==y||e[37]!==T?(f=t.jsx(s,{config:T,className:d,children:y}),e[34]=s,e[35]=d,e[36]=y,e[37]=T,e[38]=f):f=e[38],f}function bs(r){return r.replace("T"," ").slice(5,16)}function ps(r,e){return`var(--chart-${e%5+1})`}function tt(r){const e=se.c(37),{rows:n,labelKey:a,valueKey:c}=r;let o,s,l,i;if(e[0]!==a||e[1]!==n||e[2]!==c){let u;e[7]!==c?(u=(N,k)=>(Number(k[c])||0)-(Number(N[c])||0),e[7]=c,e[8]=u):u=e[8];const p=[...n].sort(u).slice(0,10);let v;e[9]!==c?(v=N=>Number(N[c])||0,e[9]=c,e[10]=v):v=e[10];const b=Math.max(1,...p.map(v));let g;e[11]!==n||e[12]!==c?(g=n.reduce((N,k)=>N+(Number(k[c])||0),0)||1,e[11]=n,e[12]=c,e[13]=g):g=e[13];const h=g;l="flex flex-col";let T;e[14]!==a?(T=Te(a),e[14]=a,e[15]=T):T=e[15];let x;e[16]!==T?(x=t.jsx("span",{children:T}),e[16]=T,e[17]=x):x=e[17];let y;e[18]!==c?(y=Te(c),e[18]=c,e[19]=y):y=e[19];let f;e[20]!==y?(f=t.jsx("span",{children:y}),e[20]=y,e[21]=f):f=e[21],e[22]!==f||e[23]!==x?(i=t.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-2 text-2xs font-medium text-muted-foreground",children:[x,f]}),e[22]=f,e[23]=x,e[24]=i):i=e[24],o="flex flex-col gap-0.5";let j;e[25]!==a||e[26]!==b||e[27]!==h||e[28]!==c?(j=(N,k)=>{const S=Number(N[c])||0;return t.jsxs("div",{className:"relative flex items-center justify-between gap-3 overflow-hidden rounded-md px-2.5 py-2",children:[t.jsx("div",{className:"absolute inset-y-0 left-0 rounded-md bg-muted",style:{width:`${S/b*100}%`}}),t.jsx("span",{className:"relative z-10 truncate font-mono text-xs text-foreground",children:We(N[a])||"—"}),t.jsxs("span",{className:"relative z-10 shrink-0 text-sm tabular-nums text-foreground",children:[Ye(S),t.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:[Math.round(S/h*100),"%"]})]})]},k)},e[25]=a,e[26]=b,e[27]=h,e[28]=c,e[29]=j):j=e[29],s=p.map(j),e[0]=a,e[1]=n,e[2]=c,e[3]=o,e[4]=s,e[5]=l,e[6]=i}else o=e[3],s=e[4],l=e[5],i=e[6];let d;e[30]!==o||e[31]!==s?(d=t.jsx("div",{className:o,children:s}),e[30]=o,e[31]=s,e[32]=d):d=e[32];let m;return e[33]!==l||e[34]!==i||e[35]!==d?(m=t.jsxs("div",{className:l,children:[i,d]}),e[33]=l,e[34]=i,e[35]=d,e[36]=m):m=e[36],m}function ht(r){const e=se.c(7),{row:n}=r;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=[["viewed","Viewed"],["view_item","View item"],["view_item_list","View list"],["select_item","Select item"],["add_to_cart","Add to cart"],["begin_checkout","Begin checkout"],["purchase","Purchase"]],e[0]=a):a=e[0];const c=a;let o;e[1]!==n?(o=c.filter(d=>{const[m]=d;return m in n}),e[1]=n,e[2]=o):o=e[2];const s=o,l=Number(n[s[0]?.[0]??""])||1;let i;return e[3]!==l||e[4]!==n||e[5]!==s?(i=t.jsx("div",{className:"flex flex-col gap-1.5",children:s.map(d=>{const[m,u]=d,p=Number(n[m])||0;return t.jsxs("div",{className:"relative flex items-center justify-between gap-3 overflow-hidden rounded-md px-2.5 py-2",children:[t.jsx("div",{className:"absolute inset-y-0 left-0 rounded-md bg-primary/15",style:{width:`${p/l*100}%`}}),t.jsx("span",{className:"relative z-10 text-sm text-foreground",children:u}),t.jsxs("span",{className:"relative z-10 shrink-0 text-sm tabular-nums text-muted-foreground",children:[Ye(p),t.jsxs("span",{className:"ml-2 text-xs opacity-70",children:[Math.round(p/l*100),"%"]})]})]},m)})}),e[3]=l,e[4]=n,e[5]=s,e[6]=i):i=e[6],i}function yt(r){const e=se.c(18),{rows:n}=r;let a,c,o,s,l;if(e[0]!==n){const u=Array.from(n.reduce(gs,new Set)),p=new Set(u.filter(h=>n.some(T=>typeof T[h]=="number"))),v=u.find(h=>p.has(h)),b=[...n].sort((h,T)=>v?(Number(T[v])||0)-(Number(h[v])||0):0).slice(0,50);l="overflow-x-auto",c=Ft;const g=t.jsx(at,{className:"border-border hover:bg-transparent",children:u.map(h=>t.jsx(Mt,{className:Le("h-8 whitespace-nowrap text-2xs font-medium text-muted-foreground",p.has(h)&&"text-right"),children:Te(h)},h))});e[6]!==g?(s=t.jsx(It,{children:g}),e[6]=g,e[7]=s):s=e[7],a=Bt,o=b.map((h,T)=>t.jsx(at,{className:"border-border/50",children:u.map(x=>t.jsx(Rt,{className:Le("whitespace-nowrap py-1.5 text-sm tabular-nums",p.has(x)?"text-right text-foreground":"font-mono text-xs text-muted-foreground"),children:typeof h[x]=="number"?Ge(x,h[x]):We(h[x])},x))},T)),e[0]=n,e[1]=a,e[2]=c,e[3]=o,e[4]=s,e[5]=l}else a=e[1],c=e[2],o=e[3],s=e[4],l=e[5];let i;e[8]!==a||e[9]!==o?(i=t.jsx(a,{children:o}),e[8]=a,e[9]=o,e[10]=i):i=e[10];let d;e[11]!==c||e[12]!==s||e[13]!==i?(d=t.jsxs(c,{children:[s,i]}),e[11]=c,e[12]=s,e[13]=i,e[14]=d):d=e[14];let m;return e[15]!==l||e[16]!==d?(m=t.jsx("div",{className:l,children:d}),e[15]=l,e[16]=d,e[17]=m):m=e[17],m}function gs(r,e){return Object.keys(e).forEach(n=>r.add(n)),r}function hs(r){if(r.length===0)return null;const e=r[0]??{},n=Object.keys(e);if(r.length===1&&("viewed"in e||"purchase"in e||"add_to_cart"in e))return{kind:"funnel"};const a=n.find(l=>ut.test(l)),c=a?n.filter(l=>l!==a&&typeof e[l]=="number"):[];if(a&&c.length>0&&r.length>1)return{kind:"series",timeKey:a,metricKeys:c};const o=n.find(l=>l!==a&&typeof e[l]=="string"),s=n.find(l=>typeof e[l]=="number");return o&&s&&n.length<=3?{kind:"bars",labelKey:o,valueKey:s}:r.length===1&&!a&&!o&&Object.values(e).every(is)?{kind:"kpi"}:{kind:"table"}}function st(r){const e=se.c(18),{rows:n,meta:a}=r;let c;e[0]!==n[0]?(c=n[0]??{},e[0]=n[0],e[1]=c):c=e[1];const o=c;switch(a.kind){case"kpi":{let s;return e[2]!==o?(s=t.jsx(ms,{row:o}),e[2]=o,e[3]=s):s=e[3],s}case"funnel":{let s;return e[4]!==o?(s=t.jsx(ht,{row:o}),e[4]=o,e[5]=s):s=e[5],s}case"series":{const s=a.timeKey??"";let l;e[6]!==a.metricKeys?(l=a.metricKeys??[],e[6]=a.metricKeys,e[7]=l):l=e[7];let i;return e[8]!==n||e[9]!==s||e[10]!==l?(i=t.jsx(gt,{rows:n,timeKey:s,metricKeys:l}),e[8]=n,e[9]=s,e[10]=l,e[11]=i):i=e[11],i}case"bars":{const s=a.labelKey??"",l=a.valueKey??"";let i;return e[12]!==n||e[13]!==s||e[14]!==l?(i=t.jsx(tt,{rows:n,labelKey:s,valueKey:l}),e[12]=n,e[13]=s,e[14]=l,e[15]=i):i=e[15],i}default:{let s;return e[16]!==n?(s=t.jsx(yt,{rows:n}),e[16]=n,e[17]=s):s=e[17],s}}}function nt(r){const e=se.c(8),{payload:n,t:a}=r;let c,o;if(e[0]!==n||e[1]!==a){o=Symbol.for("react.early_return_sentinel");e:{const s=Object.entries(n).filter(ks).map(_s).filter(Ss);if(s.length===0){let m;e[4]!==a?(m=a("mainPanelTabs.analyticsTab.emptyView"),e[4]=a,e[5]=m):m=e[5];let u;e[6]!==m?(u=t.jsx("p",{className:"text-sm text-muted-foreground",children:m}),e[6]=m,e[7]=u):u=e[7],o=u;break e}const l=s.filter(ws),i=s.filter(Ps),d=s.filter(Ns).sort(vs);c=t.jsxs("div",{className:"flex flex-col gap-4",children:[l.map(Ts),i.map(js),d.length>0&&t.jsx("div",{className:"grid gap-4 lg:grid-cols-2 xl:grid-cols-3",children:d.map(ys)})]})}e[0]=n,e[1]=a,e[2]=c,e[3]=o}else c=e[2],o=e[3];return o!==Symbol.for("react.early_return_sentinel")?o:c}function ys(r){return t.jsx(he,{title:pt(r.name),children:t.jsx(st,{rows:r.rows,meta:r.meta})},r.name)}function js(r){return t.jsx(he,{title:pt(r.name),children:t.jsx(st,{rows:r.rows,meta:r.meta})},r.name)}function Ts(r){return t.jsx(st,{rows:r.rows,meta:r.meta},r.name)}function vs(r,e){const n=lt.indexOf(r.name),a=lt.indexOf(e.name);return(n<0?999:n)-(a<0?999:a)}function Ns(r){return r.meta.kind==="bars"||r.meta.kind==="table"}function Ps(r){return r.meta.kind==="series"||r.meta.kind==="funnel"}function ws(r){return r.meta.kind==="kpi"}function Ss(r){return!!r.meta}function _s(r){const[e,n]=r;return{name:e,rows:n,meta:hs(n)}}function ks(r){const[e,n]=r;return!ls.has(e)&&Array.isArray(n)}const Cs=[["visitors","Visitors"],["pageviews","Pageviews"],["sessions","Sessions"],["bounce_pct","Bounce rate"],["duration_s","Avg duration"]];function Ks(r){const e=se.c(24),{payload:n}=r,a=xe();let c;e[0]!==n?(c=P=>Array.isArray(n[P])?n[P]:[],e[0]=n,e[1]=c):c=e[1];const o=c,s=o("kpis")[0]??{},l=o("series");let i;e[2]!==o?(i=o("sources"),e[2]=o,e[3]=i):i=e[3];const d=i;let m;e[4]!==o?(m=o("funnel"),e[4]=o,e[5]=m):m=e[5];const u=m[0],p=l[0]?Object.keys(l[0]).filter(P=>!ut.test(P)&&typeof l[0]?.[P]=="number"):[],v=Cs.filter(P=>{const[w]=P;return w in s}),[b,g]=ie.useState(v.find(P=>{const[w]=P;return p.includes(w)})?.[0]??p[0]??""),h="flex flex-col gap-4",T="grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5",x=v.map(P=>{const[w,K]=P,_=p.includes(w),A=b===w,C=_?os(l.map(D=>Number(D[w])||0)):null;return t.jsxs("button",{type:"button",disabled:!_,onClick:()=>_&&g(w),className:Le("flex flex-col gap-1.5 rounded-xl border p-4 text-left transition-colors",A?"border-[var(--chart-1)] bg-[var(--chart-1)]/5":"border-border bg-card",_?"cursor-pointer hover:border-[var(--chart-1)]/60":"cursor-default"),children:[t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:K}),t.jsxs("span",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"text-3xl font-semibold leading-none text-foreground tabular-nums",children:Ge(w,s[w])}),C!==null&&t.jsx(cs,{pct:C,goodDown:w==="bounce_pct"})]})]},w)});let y;e[6]!==x?(y=t.jsx("div",{className:T,children:x}),e[6]=x,e[7]=y):y=e[7];let f;e[8]!==b||e[9]!==l?(f=b&&l.length>0&&t.jsx(he,{title:`${Te(b)} over time`,children:t.jsx(gt,{rows:l,timeKey:"t",metricKeys:[b]})}),e[8]=b,e[9]=l,e[10]=f):f=e[10];let j;e[11]!==d||e[12]!==a?(j=d.length>0&&t.jsx(he,{title:a("mainPanelTabs.analyticsTab.cardTopSources"),children:t.jsx(tt,{rows:d,labelKey:"k",valueKey:"n"})}),e[11]=d,e[12]=a,e[13]=j):j=e[13];let N;e[14]!==u||e[15]!==a?(N=u&&t.jsx(he,{title:a("mainPanelTabs.analyticsTab.cardFunnel"),children:t.jsx(ht,{row:u})}),e[14]=u,e[15]=a,e[16]=N):N=e[16];let k;e[17]!==j||e[18]!==N?(k=t.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[j,N]}),e[17]=j,e[18]=N,e[19]=k):k=e[19];let S;return e[20]!==y||e[21]!==f||e[22]!==k?(S=t.jsxs("div",{className:h,children:[y,f,k]}),e[20]=y,e[21]=f,e[22]=k,e[23]=S):S=e[23],S}function As(r){const e=se.c(46),{payload:n}=r,a=xe();let c;e[0]!==n?(c=j=>Array.isArray(n[j])?n[j]:[],e[0]=n,e[1]=c):c=e[1];const o=c;let s,l,i,d,m,u;if(e[2]!==o||e[3]!==a){const j=o("liveVisitors")[0]??{};let N;e[10]!==o?(N=o("liveFeed"),e[10]=o,e[11]=N):N=e[11],s=N;let k;e[12]!==o?(k=o("livePages"),e[12]=o,e[13]=k):k=e[13],l=k;const S=[["visitors","Visitors"],["pageviews","Pageviews"],["events","Events"],["last_event","Last event"]];m="flex flex-col gap-4";let P;e[14]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsxs("span",{className:"relative flex size-2",children:[t.jsx("span",{className:"absolute inline-flex size-full animate-ping rounded-full bg-[var(--chart-1)] opacity-75"}),t.jsx("span",{className:"relative inline-flex size-2 rounded-full bg-[var(--chart-1)]"})]}),e[14]=P):P=e[14];let w;e[15]!==a?(w=a("mainPanelTabs.analyticsTab.liveHint"),e[15]=a,e[16]=w):w=e[16],e[17]!==w?(u=t.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[P,w]}),e[17]=w,e[18]=u):u=e[18],i="grid grid-cols-2 gap-3 sm:grid-cols-4",d=S.map(K=>{const[_,A]=K;return t.jsxs("div",{className:"surface flex flex-col gap-1.5 p-4",children:[t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:A}),t.jsx("span",{className:"text-3xl font-semibold leading-none text-foreground tabular-nums",children:_==="last_event"?We(j[_]):Ge(_,j[_])})]},_)}),e[2]=o,e[3]=a,e[4]=s,e[5]=l,e[6]=i,e[7]=d,e[8]=m,e[9]=u}else s=e[4],l=e[5],i=e[6],d=e[7],m=e[8],u=e[9];let p;e[19]!==i||e[20]!==d?(p=t.jsx("div",{className:i,children:d}),e[19]=i,e[20]=d,e[21]=p):p=e[21];let v;e[22]!==a?(v=a("mainPanelTabs.analyticsTab.cardLiveFeed"),e[22]=a,e[23]=v):v=e[23];let b;e[24]!==s||e[25]!==a?(b=s.length>0?t.jsx(yt,{rows:s}):t.jsx("p",{className:"text-sm text-muted-foreground",children:a("mainPanelTabs.analyticsTab.emptyLive")}),e[24]=s,e[25]=a,e[26]=b):b=e[26];let g;e[27]!==v||e[28]!==b?(g=t.jsx(he,{title:v,children:b}),e[27]=v,e[28]=b,e[29]=g):g=e[29];let h;e[30]!==a?(h=a("mainPanelTabs.analyticsTab.cardPagesNow"),e[30]=a,e[31]=h):h=e[31];let T;e[32]!==l||e[33]!==a?(T=l.length>0?t.jsx(tt,{rows:l,labelKey:"k",valueKey:"n"}):t.jsx("p",{className:"text-sm text-muted-foreground",children:a("mainPanelTabs.analyticsTab.emptyView")}),e[32]=l,e[33]=a,e[34]=T):T=e[34];let x;e[35]!==h||e[36]!==T?(x=t.jsx(he,{title:h,children:T}),e[35]=h,e[36]=T,e[37]=x):x=e[37];let y;e[38]!==x||e[39]!==g?(y=t.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[g,x]}),e[38]=x,e[39]=g,e[40]=y):y=e[40];let f;return e[41]!==y||e[42]!==m||e[43]!==u||e[44]!==p?(f=t.jsxs("div",{className:m,children:[u,p,y]}),e[41]=y,e[42]=m,e[43]=u,e[44]=p,e[45]=f):f=e[45],f}function $s(r){const e=se.c(42),{base:n,orgSlug:a,site:c,view:o,range:s,quota:l}=r,i=xe(),d=o==="live",m=d?"5m":s;let u;e[0]!==m||e[1]!==a||e[2]!==c||e[3]!==o?(u=Be.analyticsData(a,c,o,m),e[0]=m,e[1]=a,e[2]=c,e[3]=o,e[4]=u):u=e[4];let p;e[5]!==n||e[6]!==m||e[7]!==o?(p=()=>bt(`${n}/analytics/data?view=${encodeURIComponent(o)}&range=${encodeURIComponent(m)}`),e[5]=n,e[6]=m,e[7]=o,e[8]=p):p=e[8];const v=d?0:3e4,b=d?5e3:!1;let g;e[9]!==u||e[10]!==p||e[11]!==v||e[12]!==b?(g={queryKey:u,queryFn:p,retry:!1,staleTime:v,refetchInterval:b},e[9]=u,e[10]=p,e[11]=v,e[12]=b,e[13]=g):g=e[13];const h=it(g);if(h.isLoading){let f;return e[14]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsx(Ue,{className:"h-20 w-full"}),t.jsx(Ue,{className:"h-64 w-full"})]}),e[14]=f):f=e[14],f}if(h.error){let f;e[15]!==h.error||e[16]!==i?(f=xt(h.error)?i("mainPanelTabs.analyticsTab.dataNotConfiguredDescription"):i("mainPanelTabs.analyticsTab.dataLoadError"),e[15]=h.error,e[16]=i,e[17]=f):f=e[17];let j;return e[18]!==f?(j=t.jsx("p",{className:"text-sm text-muted-foreground",children:f}),e[18]=f,e[19]=j):j=e[19],j}let T;e[20]!==h.data?(T=h.data??{},e[20]=h.data,e[21]=T):T=e[21];const x=T;if(!x.data){let f;e[22]!==i?(f=i("mainPanelTabs.analyticsTab.emptyView"),e[22]=i,e[23]=f):f=e[23];let j;return e[24]!==f?(j=t.jsx("p",{className:"text-sm text-muted-foreground",children:f}),e[24]=f,e[25]=j):j=e[25],j}if(d){let f;return e[26]!==x.data?(f=t.jsx(As,{payload:x.data}),e[26]=x.data,e[27]=f):f=e[27],f}if(o==="overview"){let f;return e[28]!==x.data?(f=t.jsx(Ks,{payload:x.data}),e[28]=x.data,e[29]=f):f=e[29],f}if(o==="usage"){let f;e[30]!==l||e[31]!==x.data?(f=t.jsx(Es,{quota:l,payload:x.data}),e[30]=l,e[31]=x.data,e[32]=f):f=e[32];let j;e[33]!==x.data||e[34]!==i?(j=t.jsx(nt,{payload:x.data,t:i}),e[33]=x.data,e[34]=i,e[35]=j):j=e[35];let N;return e[36]!==f||e[37]!==j?(N=t.jsxs("div",{className:"flex flex-col gap-5",children:[f,j]}),e[36]=f,e[37]=j,e[38]=N):N=e[38],N}let y;return e[39]!==x.data||e[40]!==i?(y=t.jsx(nt,{payload:x.data,t:i}),e[39]=x.data,e[40]=i,e[41]=y):y=e[41],y}function Es(r){const e=se.c(27),{quota:n,payload:a}=r,c=xe(),o=typeof n=="number"&&n>0;let s,l,i;if(e[0]!==o||e[1]!==a||e[2]!==n||e[3]!==c){let u=null;for(const T of Object.values(a)){const x=T&&typeof T=="object"&&!Array.isArray(T)?T:Array.isArray(T)&&T[0]&&typeof T[0]=="object"?T[0]:null;if(!x)continue;const y=x.events_accepted??x.accepted??x.events;if(typeof y=="number"){u=y;break}}const p=Ds;s="surface flex flex-col gap-2 p-4";let v;e[7]!==c?(v=c("mainPanelTabs.analyticsTab.monthlyQuota"),e[7]=c,e[8]=v):v=e[8];let b;e[9]!==v?(b=t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:v}),e[9]=v,e[10]=b):b=e[10];let g;e[11]!==o||e[12]!==n||e[13]!==c?(g=o?`${p(n)} ${c("mainPanelTabs.analyticsTab.eventsPerMonthSuffix")}`:c("mainPanelTabs.analyticsTab.uncapped"),e[11]=o,e[12]=n,e[13]=c,e[14]=g):g=e[14];let h;e[15]!==g?(h=t.jsx("span",{className:"font-mono text-sm tabular-nums text-foreground",children:g}),e[15]=g,e[16]=h):h=e[16],e[17]!==b||e[18]!==h?(l=t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[b,h]}),e[17]=b,e[18]=h,e[19]=l):l=e[19],i=o&&u!==null&&t.jsx("p",{className:"text-xs text-muted-foreground",children:c("mainPanelTabs.analyticsTab.acceptedInRange",{count:p(u)})}),e[0]=o,e[1]=a,e[2]=n,e[3]=c,e[4]=s,e[5]=l,e[6]=i}else s=e[4],l=e[5],i=e[6];let d;e[20]!==o?(d=!o&&t.jsx("p",{className:"text-xs text-muted-foreground",children:"No monthly cap is set — every accepted event is stored. Set one in Configuration to enforce a limit."}),e[20]=o,e[21]=d):d=e[21];let m;return e[22]!==s||e[23]!==l||e[24]!==i||e[25]!==d?(m=t.jsxs("div",{className:s,children:[l,i,d]}),e[22]=s,e[23]=l,e[24]=i,e[25]=d,e[26]=m):m=e[26],m}function Ds(r){return r.toLocaleString()}function Os(r){const e=se.c(53),{status:n}=r,a=xe(),c=n.config?.id??"",o=n.key??null,s=`<script async src="https://analytics.decocdn.com/_dq/a.js?k=${o??"YOUR_TOKEN"}"><\/script>`;let l;e[0]!==a?(l=a("mainPanelTabs.analyticsTab.installTitle"),e[0]=a,e[1]=l):l=e[1];let i;e[2]!==a?(i=a("mainPanelTabs.analyticsTab.installHow"),e[2]=a,e[3]=i):i=e[3];let d;e[4]!==i?(d=t.jsx("p",{className:"text-sm text-muted-foreground",children:i}),e[4]=i,e[5]=d):d=e[5];let m;e[6]!==a?(m=a("mainPanelTabs.analyticsTab.installHostTitle"),e[6]=a,e[7]=m):m=e[7];let u;e[8]!==m?(u=t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:m}),e[8]=m,e[9]=u):u=e[9];let p;e[10]!==a?(p=a("mainPanelTabs.analyticsTab.installAuto"),e[10]=a,e[11]=p):p=e[11];let v;e[12]!==p?(v=t.jsx("p",{className:"text-xs text-muted-foreground",children:p}),e[12]=p,e[13]=v):v=e[13];let b;e[14]!==u||e[15]!==v?(b=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[u,v]}),e[14]=u,e[15]=v,e[16]=b):b=e[16];let g;e[17]!==a?(g=a("mainPanelTabs.analyticsTab.installKeyTitle"),e[17]=a,e[18]=g):g=e[18];let h;e[19]!==g?(h=t.jsx("span",{className:"text-2xs font-medium text-muted-foreground",children:g}),e[19]=g,e[20]=h):h=e[20];let T;e[21]!==o?(T=o&&t.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-border bg-muted/30 px-3 py-1.5",children:[t.jsx("code",{className:"overflow-x-auto text-xs text-foreground",children:o}),t.jsx(Xe,{text:o})]}),e[21]=o,e[22]=T):T=e[22];let x;e[23]!==s?(x=t.jsxs("div",{className:"flex items-start justify-between gap-3 rounded-lg border border-border bg-muted/30 px-3 py-2",children:[t.jsx("code",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-muted-foreground",children:s}),t.jsx(Xe,{text:s})]}),e[23]=s,e[24]=x):x=e[24];let y;e[25]!==a||e[26]!==o?(y=!o&&t.jsx("span",{className:"text-xs text-muted-foreground",children:a("mainPanelTabs.analyticsTab.installTokenNote")}),e[25]=a,e[26]=o,e[27]=y):y=e[27];let f;e[28]!==h||e[29]!==T||e[30]!==x||e[31]!==y?(f=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[h,T,x,y]}),e[28]=h,e[29]=T,e[30]=x,e[31]=y,e[32]=f):f=e[32];let j;e[33]!==a?(j=a("mainPanelTabs.analyticsTab.installTrackPrefix"),e[33]=a,e[34]=j):j=e[34];let N;e[35]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx("span",{className:"font-mono",children:"window.__dq"}),e[35]=N):N=e[35];let k;e[36]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("span",{className:"font-mono",children:"pageview()"}),e[36]=k):k=e[36];let S;e[37]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx("span",{className:"font-mono",children:"track(name, props)"}),e[37]=S):S=e[37];let P;e[38]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx("span",{className:"font-mono",children:"purchase({…})"}),e[38]=P):P=e[38];let w;e[39]!==j?(w=t.jsxs("p",{className:"text-xs text-muted-foreground",children:[j,N," —"," ",k,","," ",S,","," ",P,"."]}),e[39]=j,e[40]=w):w=e[40];let K;e[41]!==c||e[42]!==a?(K=c&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[a("mainPanelTabs.analyticsTab.installSiteId"),":"," ",t.jsx("span",{className:"font-mono text-foreground",children:c})]}),e[41]=c,e[42]=a,e[43]=K):K=e[43];let _;e[44]!==f||e[45]!==w||e[46]!==K||e[47]!==d||e[48]!==b?(_=t.jsxs("div",{className:"flex flex-col gap-4",children:[d,b,f,w,K]}),e[44]=f,e[45]=w,e[46]=K,e[47]=d,e[48]=b,e[49]=_):_=e[49];let A;return e[50]!==l||e[51]!==_?(A=t.jsx(he,{title:l,children:_}),e[50]=l,e[51]=_,e[52]=A):A=e[52],A}function Xe(r){const e=se.c(11),{text:n}=r,a=xe(),[c,o]=ie.useState(!1);let s;e[0]!==n?(s=()=>{navigator.clipboard?.writeText(n)?.then(()=>{o(!0),setTimeout(()=>o(!1),1500)},qs)},e[0]=n,e[1]=s):s=e[1];let l;e[2]!==c?(l=c?t.jsx(St,{className:"size-4"}):t.jsx(mt,{className:"size-4"}),e[2]=c,e[3]=l):l=e[3];let i;e[4]!==c||e[5]!==a?(i=a(c?"mainPanelTabs.analyticsTab.copied":"mainPanelTabs.analyticsTab.copy"),e[4]=c,e[5]=a,e[6]=i):i=e[6];let d;return e[7]!==s||e[8]!==l||e[9]!==i?(d=t.jsxs(pe,{variant:"ghost",size:"sm",onClick:s,children:[l,i]}),e[7]=s,e[8]=l,e[9]=i,e[10]=d):d=e[10],d}function qs(){}function jt(r){const e=se.c(27),{result:n,onDismiss:a}=r,c=xe();let o;e[0]!==n.notes?(o=n.notes??[],e[0]=n.notes,e[1]=o):o=e[1];const s=o,l=!!n.key;if(!l&&!n.snippet&&s.length===0)return null;let i;e[2]!==l||e[3]!==c?(i=c(l?"mainPanelTabs.analyticsTab.tokenTitle":"mainPanelTabs.analyticsTab.registeredOk"),e[2]=l,e[3]=c,e[4]=i):i=e[4];let d;e[5]!==i?(d=t.jsx("h3",{className:"text-sm font-medium text-foreground",children:i}),e[5]=i,e[6]=d):d=e[6];let m;e[7]!==c?(m=c("mainPanelTabs.analyticsTab.dismiss"),e[7]=c,e[8]=m):m=e[8];let u;e[9]!==a||e[10]!==m?(u=t.jsx(pe,{variant:"ghost",size:"sm",onClick:a,children:m}),e[9]=a,e[10]=m,e[11]=u):u=e[11];let p;e[12]!==d||e[13]!==u?(p=t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d,u]}),e[12]=d,e[13]=u,e[14]=p):p=e[14];let v;e[15]!==l||e[16]!==c?(v=l&&t.jsx("p",{className:"text-xs text-muted-foreground",children:c("mainPanelTabs.analyticsTab.tokenOnce")}),e[15]=l,e[16]=c,e[17]=v):v=e[17];let b;e[18]!==n.snippet?(b=n.snippet&&t.jsxs("div",{className:"flex items-start justify-between gap-3 rounded-lg border border-border bg-muted/30 px-3 py-2",children:[t.jsx("code",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-muted-foreground",children:n.snippet}),t.jsx(Xe,{text:n.snippet})]}),e[18]=n.snippet,e[19]=b):b=e[19];let g;e[20]!==s?(g=s.length>0&&t.jsx("ul",{className:"flex flex-col gap-1.5",children:s.map(Ls)}),e[20]=s,e[21]=g):g=e[21];let h;return e[22]!==p||e[23]!==v||e[24]!==b||e[25]!==g?(h=t.jsxs("section",{className:"flex flex-col gap-3 rounded-xl border border-primary/30 bg-primary/5 p-4",children:[p,v,b,g]}),e[22]=p,e[23]=v,e[24]=b,e[25]=g,e[26]=h):h=e[26],h}function Ls(r,e){return t.jsx("li",{className:"rounded-md border border-warning/30 bg-warning/5 px-3 py-2 text-xs text-warning",children:r},e)}function zs(r){const e=se.c(96),{base:n,orgSlug:a,site:c,host:o,onRegistered:s}=r,l=xe(),i=Ze();let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=new Set(["core","commerce","vitals"]),e[0]=d):d=e[0];const[m,u]=ie.useState(d),[p,v]=ie.useState(""),[b,g]=ie.useState(!1),[h,T]=ie.useState("");let x;e[1]!==n?(x=$=>Ie(`${n}/analytics/register`,"POST",$),e[1]=n,e[2]=x):x=e[2];let y;e[3]!==s||e[4]!==a||e[5]!==i||e[6]!==c||e[7]!==l?(y=$=>{i.invalidateQueries({queryKey:Be.analyticsStatus(a,c)}),s($),ge.success(l("mainPanelTabs.analyticsTab.toastRegistered"))},e[3]=s,e[4]=a,e[5]=i,e[6]=c,e[7]=l,e[8]=y):y=e[8];let f;e[9]!==x||e[10]!==y?(f={mutationFn:x,onSuccess:y,onError:Rs},e[9]=x,e[10]=y,e[11]=f):f=e[11];const j=Fe(f);let N;e[12]===Symbol.for("react.memo_cache_sentinel")?(N=$=>{$!=="core"&&u(M=>{const E=new Set(M);return E.has($)?E.delete($):E.add($),E})},e[12]=N):N=e[12];const k=N;let S,P,w,K,_,A,C;if(e[13]!==h||e[14]!==o||e[15]!==p||e[16]!==j||e[17]!==m||e[18]!==l||e[19]!==b){P=h.split(/[\s,]+/).map(Ms).filter(Boolean),w=()=>{if(b){j.mutate({key:!0,domains:P,modules:[...m]});return}const M=p.trim();j.mutate({modules:[...m],...M?{host:M}:{}})};const $=p.trim()||o||l("mainPanelTabs.analyticsTab.registerHostFallback");S=he,e[27]!==l?(C=l("mainPanelTabs.analyticsTab.registerTitle"),e[27]=l,e[28]=C):C=e[28],A="flex flex-col gap-5",K="text-sm text-muted-foreground",_=l("mainPanelTabs.analyticsTab.registerDescription",{host:b?P[0]||"your domains":$}),e[13]=h,e[14]=o,e[15]=p,e[16]=j,e[17]=m,e[18]=l,e[19]=b,e[20]=S,e[21]=P,e[22]=w,e[23]=K,e[24]=_,e[25]=A,e[26]=C}else S=e[20],P=e[21],w=e[22],K=e[23],_=e[24],A=e[25],C=e[26];let D;e[29]!==K||e[30]!==_?(D=t.jsx("p",{className:K,children:_}),e[29]=K,e[30]=_,e[31]=D):D=e[31];let ae;e[32]!==l?(ae=l("mainPanelTabs.analyticsTab.modules"),e[32]=l,e[33]=ae):ae=e[33];let O;e[34]!==ae?(O=t.jsx(qe,{children:ae}),e[34]=ae,e[35]=O):O=e[35];let W;e[36]!==m||e[37]!==l?(W=ft.map($=>{const M=$.key==="core",E=M||m.has($.key);return t.jsxs("label",{className:"flex cursor-pointer items-start gap-3 rounded-lg border border-border p-3 hover:border-border/70",children:[t.jsx(Je,{checked:E,disabled:M,onCheckedChange:()=>k($.key),className:"mt-0.5"}),t.jsxs("span",{className:"flex flex-col",children:[t.jsx("span",{className:"text-sm font-medium text-foreground",children:l($.labelKey)}),t.jsx("span",{className:"text-xs text-muted-foreground",children:l($.hintKey)})]})]},$.key)}),e[36]=m,e[37]=l,e[38]=W):W=e[38];let q;e[39]!==W?(q=t.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:W}),e[39]=W,e[40]=q):q=e[40];let G;e[41]!==O||e[42]!==q?(G=t.jsxs("div",{className:"flex flex-col gap-2",children:[O,q]}),e[41]=O,e[42]=q,e[43]=G):G=e[43];let R;e[44]===Symbol.for("react.memo_cache_sentinel")?(R=$=>g(!!$),e[44]=R):R=e[44];let F;e[45]!==b?(F=t.jsx(Je,{checked:b,onCheckedChange:R,className:"mt-0.5"}),e[45]=b,e[46]=F):F=e[46];let L;e[47]!==l?(L=l("mainPanelTabs.analyticsTab.registerByKey"),e[47]=l,e[48]=L):L=e[48];let I;e[49]!==L?(I=t.jsx("span",{className:"text-sm font-medium text-foreground",children:L}),e[49]=L,e[50]=I):I=e[50];let X;e[51]!==l?(X=l("mainPanelTabs.analyticsTab.registerByKeyHint"),e[51]=l,e[52]=X):X=e[52];let Z;e[53]!==X?(Z=t.jsx("span",{className:"text-xs text-muted-foreground",children:X}),e[53]=X,e[54]=Z):Z=e[54];let B;e[55]!==I||e[56]!==Z?(B=t.jsxs("span",{className:"flex flex-col",children:[I,Z]}),e[55]=I,e[56]=Z,e[57]=B):B=e[57];let V;e[58]!==F||e[59]!==B?(V=t.jsxs("label",{className:"flex cursor-pointer items-start gap-3 rounded-lg border border-border p-3 hover:border-border/70",children:[F,B]}),e[58]=F,e[59]=B,e[60]=V):V=e[60];let H;e[61]!==h||e[62]!==o||e[63]!==p||e[64]!==l||e[65]!==b?(H=b?t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(qe,{htmlFor:"analytics-domains",children:l("mainPanelTabs.analyticsTab.domainsLabel")}),t.jsx(Qe,{id:"analytics-domains",value:h,onChange:$=>T($.target.value),placeholder:l("mainPanelTabs.analyticsTab.domainsPlaceholder"),className:"font-mono text-xs"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:l("mainPanelTabs.analyticsTab.domainsHint")})]}):!o&&t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(qe,{htmlFor:"analytics-host",children:l("mainPanelTabs.analyticsTab.hostLabel")}),t.jsx(Qe,{id:"analytics-host",value:p,onChange:$=>v($.target.value),placeholder:l("mainPanelTabs.analyticsTab.hostPlaceholder"),className:"font-mono text-xs"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:l("mainPanelTabs.analyticsTab.hostHint")})]}),e[61]=h,e[62]=o,e[63]=p,e[64]=l,e[65]=b,e[66]=H):H=e[66];let U;e[67]!==l?(U=l("mainPanelTabs.analyticsTab.registerInstallHint"),e[67]=l,e[68]=U):U=e[68];let Q;e[69]!==U?(Q=t.jsx("p",{className:"text-xs text-muted-foreground",children:U}),e[69]=U,e[70]=Q):Q=e[70];let ee;e[71]!==P||e[72]!==o||e[73]!==p||e[74]!==j.isPending||e[75]!==b?(ee=j.isPending||(b?P.length===0:!o&&!p.trim()),e[71]=P,e[72]=o,e[73]=p,e[74]=j.isPending,e[75]=b,e[76]=ee):ee=e[76];let Y;e[77]!==j.isPending||e[78]!==l?(Y=j.isPending?l("mainPanelTabs.analyticsTab.enabling"):l("mainPanelTabs.analyticsTab.enableAnalytics"),e[77]=j.isPending,e[78]=l,e[79]=Y):Y=e[79];let J;e[80]!==w||e[81]!==ee||e[82]!==Y?(J=t.jsx("div",{className:"flex justify-end",children:t.jsx(pe,{onClick:w,disabled:ee,children:Y})}),e[80]=w,e[81]=ee,e[82]=Y,e[83]=J):J=e[83];let te;e[84]!==D||e[85]!==G||e[86]!==V||e[87]!==H||e[88]!==Q||e[89]!==J||e[90]!==A?(te=t.jsxs("div",{className:A,children:[D,G,V,H,Q,J]}),e[84]=D,e[85]=G,e[86]=V,e[87]=H,e[88]=Q,e[89]=J,e[90]=A,e[91]=te):te=e[91];let le;return e[92]!==S||e[93]!==te||e[94]!==C?(le=t.jsx(S,{title:C,children:te}),e[92]=S,e[93]=te,e[94]=C,e[95]=le):le=e[95],le}function Ms(r){return r.trim()}function Rs(r){return ge.error(Ve(r))}function Fs(r){const e=se.c(108),{base:n,orgSlug:a,site:c,config:o,open:s,onOpenChange:l}=r,i=xe(),d=Ze();let m;e[0]!==o.modules?(m=o.modules??["core"],e[0]=o.modules,e[1]=m):m=e[1];let u;e[2]!==m?(u=new Set(m),e[2]=m,e[3]=u):u=e[3];const[p,v]=ie.useState(u);let b;e[4]!==o.sampling?(b=Math.round((o.sampling??1)*100),e[4]=o.sampling,e[5]=b):b=e[5];const[g,h]=ie.useState(String(b)),[T,x]=ie.useState(typeof o.quota=="number"&&o.quota>0?String(o.quota):"");let y;e[6]!==n?(y=z=>Ie(`${n}/analytics/config`,"PUT",z),e[6]=n,e[7]=y):y=e[7];let f;e[8]!==l||e[9]!==a||e[10]!==d||e[11]!==c||e[12]!==i?(f=()=>{d.invalidateQueries({queryKey:Be.analyticsStatus(a,c)}),ge.success(i("mainPanelTabs.analyticsTab.toastCollectionUpdated")),l(!1)},e[8]=l,e[9]=a,e[10]=d,e[11]=c,e[12]=i,e[13]=f):f=e[13];let j;e[14]!==y||e[15]!==f?(j={mutationFn:y,onSuccess:f,onError:Is},e[14]=y,e[15]=f,e[16]=j):j=e[16];const N=Fe(j);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=z=>{z!=="core"&&v(fe=>{const ue=new Set(fe);return ue.has(z)?ue.delete(z):ue.add(z),ue})},e[17]=k):k=e[17];const S=k;let P;e[18]!==T?(P=T.trim()===""?null:Number(T),e[18]=T,e[19]=P):P=e[19];const w=P,K=w!==null&&(!Number.isInteger(w)||w<1)?"Quota must be a positive whole number of events.":null;let _;e[20]!==o.quota||e[21]!==T?(_=T.trim()===""&&typeof o.quota=="number"&&o.quota>0,e[20]=o.quota,e[21]=T,e[22]=_):_=e[22];const A=_;let C;e[23]!==K||e[24]!==w||e[25]!==g||e[26]!==N||e[27]!==p?(C=()=>{if(K)return;const z=Number(g),fe=Number.isFinite(z)&&z>0?Math.min(z,100)/100:1;N.mutate({modules:[...p],sampling:fe,...w!==null?{quota:w}:{}})},e[23]=K,e[24]=w,e[25]=g,e[26]=N,e[27]=p,e[28]=C):C=e[28];const D=C;let ae;e[29]!==i?(ae=i("mainPanelTabs.analyticsTab.editTitle"),e[29]=i,e[30]=ae):ae=e[30];let O;e[31]!==ae?(O=t.jsx(rt,{children:t.jsx(ot,{children:ae})}),e[31]=ae,e[32]=O):O=e[32];let W;e[33]!==i?(W=i("mainPanelTabs.analyticsTab.editModules"),e[33]=i,e[34]=W):W=e[34];let q;e[35]!==W?(q=t.jsx(qe,{children:W}),e[35]=W,e[36]=q):q=e[36];let G;e[37]!==p||e[38]!==i?(G=ft.map(z=>{const fe=z.key==="core",ue=fe||p.has(z.key);return t.jsxs("label",{className:"flex cursor-pointer items-center gap-2.5 rounded-lg border border-border px-3 py-2 hover:border-border/70",children:[t.jsx(Je,{checked:ue,disabled:fe,onCheckedChange:()=>S(z.key)}),t.jsx("span",{className:"text-sm text-foreground",children:i(z.labelKey)})]},z.key)}),e[37]=p,e[38]=i,e[39]=G):G=e[39];let R;e[40]!==G?(R=t.jsx("div",{className:"grid grid-cols-1 gap-2",children:G}),e[40]=G,e[41]=R):R=e[41];let F;e[42]!==q||e[43]!==R?(F=t.jsxs("div",{className:"flex flex-col gap-2",children:[q,R]}),e[42]=q,e[43]=R,e[44]=F):F=e[44];let L;e[45]!==i?(L=i("mainPanelTabs.analyticsTab.editSampling"),e[45]=i,e[46]=L):L=e[46];let I;e[47]!==L?(I=t.jsx(qe,{htmlFor:"analytics-sampling",children:L}),e[47]=L,e[48]=I):I=e[48];let X;e[49]===Symbol.for("react.memo_cache_sentinel")?(X=z=>h(z.target.value),e[49]=X):X=e[49];let Z;e[50]!==g?(Z=t.jsx(Qe,{id:"analytics-sampling",type:"number",min:1,max:100,value:g,onChange:X,className:"font-mono text-xs"}),e[50]=g,e[51]=Z):Z=e[51];let B;e[52]!==i?(B=i("mainPanelTabs.analyticsTab.editSamplingHint"),e[52]=i,e[53]=B):B=e[53];let V;e[54]!==B?(V=t.jsx("span",{className:"text-xs text-muted-foreground",children:B}),e[54]=B,e[55]=V):V=e[55];let H;e[56]!==I||e[57]!==Z||e[58]!==V?(H=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[I,Z,V]}),e[56]=I,e[57]=Z,e[58]=V,e[59]=H):H=e[59];let U;e[60]!==i?(U=i("mainPanelTabs.analyticsTab.monthlyQuota"),e[60]=i,e[61]=U):U=e[61];let Q;e[62]!==U?(Q=t.jsx(qe,{htmlFor:"analytics-quota",children:U}),e[62]=U,e[63]=Q):Q=e[63];let ee;e[64]!==i?(ee=i("mainPanelTabs.analyticsTab.uncapped"),e[64]=i,e[65]=ee):ee=e[65];let Y;e[66]===Symbol.for("react.memo_cache_sentinel")?(Y=z=>x(z.target.value),e[66]=Y):Y=e[66];const J=K!=null;let te;e[67]!==T||e[68]!==ee||e[69]!==J?(te=t.jsx(Qe,{id:"analytics-quota",type:"number",min:1,value:T,placeholder:ee,onChange:Y,"aria-invalid":J,className:"font-mono text-xs"}),e[67]=T,e[68]=ee,e[69]=J,e[70]=te):te=e[70];let le;e[71]!==A||e[72]!==K?(le=K?t.jsx("span",{className:"text-xs text-destructive",children:K}):A?t.jsx("span",{className:"text-xs text-warning",children:"Leaving this blank keeps the current cap — clearing a quota isn't a patch. Unregister + re-register to make it uncapped."}):t.jsx("span",{className:"text-xs text-muted-foreground",children:"Accepted events per calendar month. Once the reconciler flags the site as over, the collector drops further events. Blank = uncapped."}),e[71]=A,e[72]=K,e[73]=le):le=e[73];let $;e[74]!==Q||e[75]!==te||e[76]!==le?($=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[Q,te,le]}),e[74]=Q,e[75]=te,e[76]=le,e[77]=$):$=e[77];let M;e[78]!==F||e[79]!==H||e[80]!==$?(M=t.jsxs("div",{className:"flex flex-col gap-4",children:[F,H,$]}),e[78]=F,e[79]=H,e[80]=$,e[81]=M):M=e[81];let E;e[82]!==l?(E=()=>l(!1),e[82]=l,e[83]=E):E=e[83];const ye=N.isPending;let ne;e[84]!==i?(ne=i("mainPanelTabs.analyticsTab.cancel"),e[84]=i,e[85]=ne):ne=e[85];let re;e[86]!==N.isPending||e[87]!==E||e[88]!==ne?(re=t.jsx(pe,{variant:"outline",type:"button",onClick:E,disabled:ye,children:ne}),e[86]=N.isPending,e[87]=E,e[88]=ne,e[89]=re):re=e[89];const je=N.isPending||K!=null;let oe;e[90]!==N.isPending||e[91]!==i?(oe=N.isPending?i("mainPanelTabs.analyticsTab.saving"):i("mainPanelTabs.analyticsTab.save"),e[90]=N.isPending,e[91]=i,e[92]=oe):oe=e[92];let ce;e[93]!==D||e[94]!==je||e[95]!==oe?(ce=t.jsx(pe,{type:"button",onClick:D,disabled:je,children:oe}),e[93]=D,e[94]=je,e[95]=oe,e[96]=ce):ce=e[96];let de;e[97]!==re||e[98]!==ce?(de=t.jsxs(Dt,{children:[re,ce]}),e[97]=re,e[98]=ce,e[99]=de):de=e[99];let me;e[100]!==O||e[101]!==M||e[102]!==de?(me=t.jsxs(ct,{className:"sm:max-w-md",children:[O,M,de]}),e[100]=O,e[101]=M,e[102]=de,e[103]=me):me=e[103];let be;return e[104]!==l||e[105]!==s||e[106]!==me?(be=t.jsx(dt,{open:s,onOpenChange:l,children:me}),e[104]=l,e[105]=s,e[106]=me,e[107]=be):be=e[107],be}function Is(r){return ge.error(Ve(r))}function Bs(r){const e=se.c(151),{base:n,orgSlug:a,site:c,status:o}=r,s=xe(),l=Ze(),i=o.config??{},d=i.enabled!==!1,[m,u]=ie.useState(!1),[p,v]=ie.useState(!1),[b,g]=ie.useState(null),h=(i.domains?.length??0)>0;let T;e[0]!==a||e[1]!==l||e[2]!==c?(T=()=>l.invalidateQueries({queryKey:Be.analyticsStatus(a,c)}),e[0]=a,e[1]=l,e[2]=c,e[3]=T):T=e[3];const x=T;let y;e[4]!==n?(y=()=>Ie(`${n}/analytics/rotate-key`,"POST"),e[4]=n,e[5]=y):y=e[5];let f;e[6]!==x||e[7]!==s?(f=Me=>{x(),g(Me),ge.success(s("mainPanelTabs.analyticsTab.toastTokenRotated"))},e[6]=x,e[7]=s,e[8]=f):f=e[8];let j;e[9]!==y||e[10]!==f?(j={mutationFn:y,onSuccess:f,onError:Qs},e[9]=y,e[10]=f,e[11]=j):j=e[11];const N=Fe(j);let k;e[12]!==n?(k=Me=>Ie(`${n}/analytics/disable`,"PUT",{enabled:Me}),e[12]=n,e[13]=k):k=e[13];let S;e[14]!==x||e[15]!==s?(S=()=>{x(),ge.success(s("mainPanelTabs.analyticsTab.toastCollectionUpdated"))},e[14]=x,e[15]=s,e[16]=S):S=e[16];let P;e[17]!==k||e[18]!==S?(P={mutationFn:k,onSuccess:S,onError:Us},e[17]=k,e[18]=S,e[19]=P):P=e[19];const w=Fe(P);let K;e[20]!==n?(K=()=>Ie(`${n}/analytics`,"DELETE"),e[20]=n,e[21]=K):K=e[21];let _;e[22]!==x||e[23]!==v||e[24]!==s?(_=()=>{x(),ge.success(s("mainPanelTabs.analyticsTab.toastUnregistered")),v(!1)},e[22]=x,e[23]=v,e[24]=s,e[25]=_):_=e[25];let A;e[26]!==K||e[27]!==_?(A={mutationFn:K,onSuccess:_,onError:Hs},e[26]=K,e[27]=_,e[28]=A):A=e[28];const C=Fe(A),D=i.modules??["core"],ae="flex flex-col gap-6";let O;e[29]!==b?(O=b&&t.jsx(jt,{result:b,onDismiss:()=>g(null)}),e[29]=b,e[30]=O):O=e[30];const W=he;let q;e[31]!==s?(q=s("mainPanelTabs.analyticsTab.collection"),e[31]=s,e[32]=q):q=e[32];const G=d?"outline":"default";let R;e[33]!==d||e[34]!==w?(R=()=>w.mutate(!d),e[33]=d,e[34]=w,e[35]=R):R=e[35];let F;e[36]===Symbol.for("react.memo_cache_sentinel")?(F=t.jsx(qt,{className:"size-4"}),e[36]=F):F=e[36];let L;e[37]!==d||e[38]!==s?(L=s(d?"mainPanelTabs.analyticsTab.pause":"mainPanelTabs.analyticsTab.resume"),e[37]=d,e[38]=s,e[39]=L):L=e[39];let I;e[40]!==G||e[41]!==R||e[42]!==L||e[43]!==w.isPending?(I=t.jsxs(pe,{size:"sm",variant:G,disabled:w.isPending,onClick:R,children:[F,L]}),e[40]=G,e[41]=R,e[42]=L,e[43]=w.isPending,e[44]=I):I=e[44];let X;e[45]!==u?(X=()=>u(!0),e[45]=u,e[46]=X):X=e[46];let Z;e[47]===Symbol.for("react.memo_cache_sentinel")?(Z=t.jsx(Lt,{className:"size-4"}),e[47]=Z):Z=e[47];let B;e[48]!==s?(B=s("mainPanelTabs.analyticsTab.edit"),e[48]=s,e[49]=B):B=e[49];let V;e[50]!==X||e[51]!==B?(V=t.jsxs(pe,{size:"sm",variant:"ghost",onClick:X,children:[Z,B]}),e[50]=X,e[51]=B,e[52]=V):V=e[52];let H;e[53]!==h||e[54]!==N?(H=h&&t.jsxs(pe,{size:"sm",variant:"ghost",disabled:N.isPending,onClick:()=>N.mutate(),children:[t.jsx(mt,{className:"size-4"}),N.isPending?"Rotating…":"Rotate token"]}),e[53]=h,e[54]=N,e[55]=H):H=e[55];let U;e[56]!==s?(U=s("mainPanelTabs.analyticsTab.unregister"),e[56]=s,e[57]=U):U=e[57];let Q;e[58]!==v?(Q=()=>v(!0),e[58]=v,e[59]=Q):Q=e[59];let ee;e[60]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsx(zt,{className:"size-4"}),e[60]=ee):ee=e[60];let Y;e[61]!==U||e[62]!==Q?(Y=t.jsx(pe,{size:"icon-sm",variant:"ghost-destructive","aria-label":U,onClick:Q,children:ee}),e[61]=U,e[62]=Q,e[63]=Y):Y=e[63];let J;e[64]!==I||e[65]!==V||e[66]!==H||e[67]!==Y?(J=t.jsxs("div",{className:"flex items-center gap-1.5",children:[I,V,H,Y]}),e[64]=I,e[65]=V,e[66]=H,e[67]=Y,e[68]=J):J=e[68];const te="flex flex-col gap-3",le="flex flex-wrap items-center gap-2",$=d?"success":"outline";let M;e[69]!==d||e[70]!==s?(M=s(d?"mainPanelTabs.analyticsTab.active":"mainPanelTabs.analyticsTab.paused"),e[69]=d,e[70]=s,e[71]=M):M=e[71];let E;e[72]!==$||e[73]!==M?(E=t.jsx(ze,{variant:$,children:M}),e[72]=$,e[73]=M,e[74]=E):E=e[74];const ye=o.host??"—";let ne;e[75]!==s||e[76]!==ye?(ne=s("mainPanelTabs.analyticsTab.collectingUnder",{host:ye}),e[75]=s,e[76]=ye,e[77]=ne):ne=e[77];let re;e[78]!==ne?(re=t.jsx("span",{className:"text-sm text-muted-foreground",children:ne}),e[78]=ne,e[79]=re):re=e[79];const je=i.id&&t.jsx("span",{className:"font-mono text-xs text-muted-foreground/80",children:s("mainPanelTabs.analyticsTab.idLabel",{id:i.id})});let oe;e[80]!==E||e[81]!==re||e[82]!==je?(oe=t.jsxs("div",{className:le,children:[E,re,je]}),e[80]=E,e[81]=re,e[82]=je,e[83]=oe):oe=e[83];let ce;e[84]!==D?(ce=D.map(Vs),e[84]=D,e[85]=ce):ce=e[85];let de;e[86]!==i.sampling||e[87]!==s?(de=typeof i.sampling=="number"&&i.sampling<1&&t.jsx(ze,{variant:"outline",children:s("mainPanelTabs.analyticsTab.sampling",{percent:String(Math.round(i.sampling*100))})}),e[86]=i.sampling,e[87]=s,e[88]=de):de=e[88];let me;e[89]!==ce||e[90]!==de?(me=t.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[ce,de]}),e[89]=ce,e[90]=de,e[91]=me):me=e[91];let be;e[92]!==oe||e[93]!==me?(be=t.jsxs("div",{className:te,children:[oe,me]}),e[92]=oe,e[93]=me,e[94]=be):be=e[94];let z;e[95]!==W||e[96]!==q||e[97]!==J||e[98]!==be?(z=t.jsx(W,{title:q,action:J,children:be}),e[95]=W,e[96]=q,e[97]=J,e[98]=be,e[99]=z):z=e[99];let fe;e[100]!==o?(fe=t.jsx(Os,{status:o}),e[100]=o,e[101]=fe):fe=e[101];let ue;e[102]!==n||e[103]!==i||e[104]!==m||e[105]!==a||e[106]!==u||e[107]!==c?(ue=t.jsx(Fs,{base:n,orgSlug:a,site:c,config:i,open:m,onOpenChange:u}),e[102]=n,e[103]=i,e[104]=m,e[105]=a,e[106]=u,e[107]=c,e[108]=ue):ue=e[108];let ve;e[109]!==s?(ve=s("mainPanelTabs.analyticsTab.unregisterTitle"),e[109]=s,e[110]=ve):ve=e[110];let Ne;e[111]!==ve?(Ne=t.jsx(_t,{children:ve}),e[111]=ve,e[112]=Ne):Ne=e[112];let Pe;e[113]!==c||e[114]!==s?(Pe=s("mainPanelTabs.analyticsTab.unregisterDescription",{site:c}),e[113]=c,e[114]=s,e[115]=Pe):Pe=e[115];let we;e[116]!==Pe?(we=t.jsx(kt,{children:Pe}),e[116]=Pe,e[117]=we):we=e[117];let Se;e[118]!==Ne||e[119]!==we?(Se=t.jsxs(Ct,{children:[Ne,we]}),e[118]=Ne,e[119]=we,e[120]=Se):Se=e[120];const Tt=C.isPending;let _e;e[121]!==s?(_e=s("mainPanelTabs.analyticsTab.cancel"),e[121]=s,e[122]=_e):_e=e[122];let ke;e[123]!==C.isPending||e[124]!==_e?(ke=t.jsx(Kt,{disabled:Tt,children:_e}),e[123]=C.isPending,e[124]=_e,e[125]=ke):ke=e[125];let Ce;e[126]!==C?(Ce=Me=>{Me.preventDefault(),C.mutate()},e[126]=C,e[127]=Ce):Ce=e[127];let Ke;e[128]!==C.isPending||e[129]!==s?(Ke=C.isPending?s("mainPanelTabs.analyticsTab.unregistering"):s("mainPanelTabs.analyticsTab.unregister"),e[128]=C.isPending,e[129]=s,e[130]=Ke):Ke=e[130];let Ae;e[131]!==C.isPending||e[132]!==Ce||e[133]!==Ke?(Ae=t.jsx(wt,{variant:"destructive",onClick:Ce,disabled:C.isPending,children:Ke}),e[131]=C.isPending,e[132]=Ce,e[133]=Ke,e[134]=Ae):Ae=e[134];let $e;e[135]!==ke||e[136]!==Ae?($e=t.jsxs(At,{children:[ke,Ae]}),e[135]=ke,e[136]=Ae,e[137]=$e):$e=e[137];let Ee;e[138]!==Se||e[139]!==$e?(Ee=t.jsxs($t,{children:[Se,$e]}),e[138]=Se,e[139]=$e,e[140]=Ee):Ee=e[140];let De;e[141]!==p||e[142]!==v||e[143]!==Ee?(De=t.jsx(Et,{open:p,onOpenChange:v,children:Ee}),e[141]=p,e[142]=v,e[143]=Ee,e[144]=De):De=e[144];let He;return e[145]!==O||e[146]!==z||e[147]!==fe||e[148]!==ue||e[149]!==De?(He=t.jsxs("div",{className:ae,children:[O,z,fe,ue,De]}),e[145]=O,e[146]=z,e[147]=fe,e[148]=ue,e[149]=De,e[150]=He):He=e[150],He}function Vs(r){return t.jsx(ze,{variant:"secondary",children:r},r)}function Hs(r){return ge.error(Ve(r))}function Us(r){return ge.error(Ve(r))}function Qs(r){return ge.error(Ve(r))}function Ys(r){const e=se.c(96),{base:n,orgSlug:a,site:c,status:o}=r,s=xe();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={strict:!1},e[0]=l):l=e[0];const{view:i}=Nt(l),[d,m]=ie.useState("24h"),[u,p]=ie.useState(i??"overview"),[v,b]=ie.useState(!1);let g,h,T,x,y,f,j,N,k,S;if(e[1]!==u||e[2]!==o.config||e[3]!==o.host||e[4]!==s){g=o.config??{};const E=g.enabled!==!1;T=g.modules??["core"],h=u==="live",S="flex flex-col gap-5",k="flex flex-wrap items-start justify-between gap-3",N="flex flex-col gap-2",x="flex flex-wrap items-center gap-2";const ye=E?"success":"outline";let ne;e[15]!==E||e[16]!==s?(ne=s(E?"mainPanelTabs.analyticsTab.active":"mainPanelTabs.analyticsTab.paused"),e[15]=E,e[16]=s,e[17]=ne):ne=e[17],e[18]!==ne||e[19]!==ye?(y=t.jsx(ze,{variant:ye,children:ne}),e[18]=ne,e[19]=ye,e[20]=y):y=e[20],f=t.jsx("span",{className:"text-sm text-muted-foreground",children:s("mainPanelTabs.analyticsTab.collectingUnder",{host:o.host??g.id??"—"})}),j=g.id&&t.jsx("span",{className:"font-mono text-xs text-muted-foreground/70",children:s("mainPanelTabs.analyticsTab.idLabel",{id:g.id})}),e[1]=u,e[2]=o.config,e[3]=o.host,e[4]=s,e[5]=g,e[6]=h,e[7]=T,e[8]=x,e[9]=y,e[10]=f,e[11]=j,e[12]=N,e[13]=k,e[14]=S}else g=e[5],h=e[6],T=e[7],x=e[8],y=e[9],f=e[10],j=e[11],N=e[12],k=e[13],S=e[14];let P;e[21]!==x||e[22]!==y||e[23]!==f||e[24]!==j?(P=t.jsxs("div",{className:x,children:[y,f,j]}),e[21]=x,e[22]=y,e[23]=f,e[24]=j,e[25]=P):P=e[25];let w;e[26]!==T?(w=T.map(Ws),e[26]=T,e[27]=w):w=e[27];let K;e[28]!==g.sampling||e[29]!==s?(K=typeof g.sampling=="number"&&g.sampling<1&&t.jsx(ze,{variant:"outline",children:s("mainPanelTabs.analyticsTab.sampling",{percent:String(Math.round(g.sampling*100))})}),e[28]=g.sampling,e[29]=s,e[30]=K):K=e[30];let _;e[31]!==w||e[32]!==K?(_=t.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[w,K]}),e[31]=w,e[32]=K,e[33]=_):_=e[33];let A;e[34]!==_||e[35]!==N||e[36]!==P?(A=t.jsxs("div",{className:N,children:[P,_]}),e[34]=_,e[35]=N,e[36]=P,e[37]=A):A=e[37];let C;e[38]!==h||e[39]!==d?(C=!h&&t.jsx("div",{className:"flex items-center gap-0.5 rounded-lg border border-border p-0.5",children:as.map(E=>t.jsx("button",{type:"button",onClick:()=>m(E),className:Le("rounded-lg px-2 py-1 text-xs font-medium tabular-nums transition-colors",d===E?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"),children:E},E))}),e[38]=h,e[39]=d,e[40]=C):C=e[40];let D,ae;e[41]===Symbol.for("react.memo_cache_sentinel")?(D=()=>b(!0),ae=t.jsx(Ot,{className:"size-4"}),e[41]=D,e[42]=ae):(D=e[41],ae=e[42]);let O;e[43]!==s?(O=s("mainPanelTabs.analyticsTab.configSectionTitle"),e[43]=s,e[44]=O):O=e[44];let W;e[45]!==O?(W=t.jsxs(pe,{variant:"outline",size:"sm",onClick:D,children:[ae,O]}),e[45]=O,e[46]=W):W=e[46];let q;e[47]!==C||e[48]!==W?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[C,W]}),e[47]=C,e[48]=W,e[49]=q):q=e[49];let G;e[50]!==A||e[51]!==q||e[52]!==k?(G=t.jsxs("div",{className:k,children:[A,q]}),e[50]=A,e[51]=q,e[52]=k,e[53]=G):G=e[53];let R;e[54]!==u||e[55]!==s?(R=ss.map(E=>t.jsx("button",{type:"button",onClick:()=>p(E.view),className:Le("shrink-0 border-b-2 px-3 py-2 text-sm font-medium transition-colors",u===E.view?"border-[var(--chart-1)] text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:s(E.labelKey)},E.view)),e[54]=u,e[55]=s,e[56]=R):R=e[56];let F;e[57]!==R?(F=t.jsx("div",{className:"flex items-center gap-1 overflow-x-auto border-b border-border",children:R}),e[57]=R,e[58]=F):F=e[58];let L;e[59]!==u||e[60]!==n||e[61]!==g.quota||e[62]!==a||e[63]!==d||e[64]!==c?(L=t.jsx($s,{base:n,orgSlug:a,site:c,view:u,range:d,quota:g.quota},u),e[59]=u,e[60]=n,e[61]=g.quota,e[62]=a,e[63]=d,e[64]=c,e[65]=L):L=e[65];let I;e[66]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium text-foreground hover:bg-accent",children:[t.jsx(Pt,{className:"size-4 text-muted-foreground transition-transform group-open:rotate-90"}),"Send custom events from your code"]}),e[66]=I):I=e[66];let X;e[67]===Symbol.for("react.memo_cache_sentinel")?(X=t.jsxs("p",{children:["Analytics is active automatically — pageviews are collected with no code. For custom events, call the public client API on"," ",t.jsx("span",{className:"font-mono text-foreground",children:"window.__dq"}),":"]}),e[67]=X):X=e[67];let Z;e[68]===Symbol.for("react.memo_cache_sentinel")?(Z=t.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.jsx("dt",{className:"font-mono text-xs text-foreground",children:"pageview()"}),t.jsx("dd",{className:"text-xs",children:"Record a pageview manually (SPA route change)."})]}),e[68]=Z):Z=e[68];let B;e[69]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("dt",{className:"font-mono text-xs text-foreground",children:"track(name, props?)"}),e[69]=B):B=e[69];let V;e[70]===Symbol.for("react.memo_cache_sentinel")?(V=t.jsx("span",{className:"font-mono",children:"name"}),e[70]=V):V=e[70];let H;e[71]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsxs("div",{className:"flex flex-col gap-0.5",children:[B,t.jsxs("dd",{className:"text-xs",children:["A custom event. ",V," is lowercase a–z, digits and underscore, up to 40 characters;"," ",t.jsx("span",{className:"font-mono",children:"props"})," is an optional flat object."]})]}),e[71]=H):H=e[71];let U;e[72]===Symbol.for("react.memo_cache_sentinel")?(U=t.jsx("dt",{className:"font-mono text-xs text-foreground",children:"purchase({ transactionId, value, currency, items, itemIds })"}),e[72]=U):U=e[72];let Q;e[73]===Symbol.for("react.memo_cache_sentinel")?(Q=t.jsxs("dl",{className:"flex flex-col gap-2",children:[Z,H,t.jsxs("div",{className:"flex flex-col gap-0.5",children:[U,t.jsxs("dd",{className:"text-xs",children:["A purchase. ",t.jsx("span",{className:"font-mono",children:"transactionId"})," ","dedupes a reloaded confirmation page so a sale isn't counted twice."]})]})]}),e[73]=Q):Q=e[73];let ee;e[74]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsxs("details",{className:"group surface",children:[I,t.jsxs("div",{className:"flex flex-col gap-3 border-t border-border px-4 py-4 text-sm text-muted-foreground",children:[X,Q,t.jsx("div",{className:"rounded-lg border border-border bg-muted/30 px-3 py-2",children:t.jsx("code",{className:"whitespace-pre-wrap break-all text-xs text-muted-foreground",children:`window.__dq.track("newsletter_signup", { plan: "pro" })
2
+ window.__dq.purchase({ transactionId: "A123", value: 99.9, currency: "BRL" })`})})]})]}),e[74]=ee):ee=e[74];let Y;e[75]!==s?(Y=s("mainPanelTabs.analyticsTab.configSectionTitle"),e[75]=s,e[76]=Y):Y=e[76];let J;e[77]!==Y?(J=t.jsx(rt,{children:t.jsx(ot,{children:Y})}),e[77]=Y,e[78]=J):J=e[78];let te;e[79]!==n||e[80]!==a||e[81]!==c||e[82]!==o?(te=t.jsx(Bs,{base:n,orgSlug:a,site:c,status:o}),e[79]=n,e[80]=a,e[81]=c,e[82]=o,e[83]=te):te=e[83];let le;e[84]!==J||e[85]!==te?(le=t.jsxs(ct,{className:"max-h-[85vh] overflow-y-auto sm:max-w-lg",children:[J,te]}),e[84]=J,e[85]=te,e[86]=le):le=e[86];let $;e[87]!==v||e[88]!==le?($=t.jsx(dt,{open:v,onOpenChange:b,children:le}),e[87]=v,e[88]=le,e[89]=$):$=e[89];let M;return e[90]!==G||e[91]!==F||e[92]!==L||e[93]!==$||e[94]!==S?(M=t.jsxs("div",{className:S,children:[G,F,L,ee,$]}),e[90]=G,e[91]=F,e[92]=L,e[93]=$,e[94]=S,e[95]=M):M=e[95],M}function Ws(r){return t.jsx(ze,{variant:"secondary",children:r},r)}function da(r){const e=se.c(46),{virtualMcpId:n}=r,a=xe(),{org:c}=vt(),o=Wt(n),s=Gt(o),l=!!s,i=s?`/api/${c.slug}/hosting/${encodeURIComponent(s)}`:"";let d;e[0]!==i?(d=()=>bt(`${i}/analytics/status`),e[0]=i,e[1]=d):d=e[1];const m=it({queryKey:Be.analyticsStatus(c.slug,s??""),queryFn:d,enabled:l,retry:!1,staleTime:3e4}),[u,p]=ie.useState(null);if(!s){let _;e[2]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(Oe,{className:"size-5"}),e[2]=_):_=e[2];let A;e[3]!==a?(A=a("mainPanelTabs.analyticsTab.noSiteTitle"),e[3]=a,e[4]=A):A=e[4];let C;e[5]!==a?(C=a("mainPanelTabs.analyticsTab.noSiteDescription"),e[5]=a,e[6]=C):C=e[6];let D;return e[7]!==A||e[8]!==C?(D=t.jsx("div",{className:"flex-1 flex items-center justify-center p-6",children:t.jsx(Re,{icon:_,title:A,description:C})}),e[7]=A,e[8]=C,e[9]=D):D=e[9],D}if(ns(m.error)){let _;e[10]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(Oe,{className:"size-5"}),e[10]=_):_=e[10];let A;e[11]!==a?(A=a("mainPanelTabs.analyticsTab.notConnectedTitle"),e[11]=a,e[12]=A):A=e[12];let C;e[13]!==a?(C=a("mainPanelTabs.analyticsTab.notConnectedDescription"),e[13]=a,e[14]=C):C=e[14];let D;return e[15]!==A||e[16]!==C?(D=t.jsx("div",{className:"flex-1 flex items-center justify-center p-6",children:t.jsx(Re,{icon:_,title:A,description:C})}),e[15]=A,e[16]=C,e[17]=D):D=e[17],D}let v;e[18]!==m.data?(v=m.data??{},e[18]=m.data,e[19]=v):v=e[19];const b=v,g="h-full min-h-0 overflow-y-auto",h="mx-auto flex w-full max-w-[1400px] flex-col gap-6 p-6",T="flex flex-col gap-1";let x;e[20]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx(Oe,{className:"size-[18px] text-muted-foreground"}),e[20]=x):x=e[20];let y;e[21]!==a?(y=a("mainPanelTabs.analyticsTab.title"),e[21]=a,e[22]=y):y=e[22];let f;e[23]!==y?(f=t.jsxs("div",{className:"flex items-center gap-2",children:[x,t.jsx("h2",{className:"text-base font-semibold text-foreground",children:y})]}),e[23]=y,e[24]=f):f=e[24];const j="text-sm text-muted-foreground",N=a("mainPanelTabs.analyticsTab.subtitle",{site:s});let k;e[25]!==N?(k=t.jsx("p",{className:j,children:N}),e[25]=N,e[26]=k):k=e[26];let S;e[27]!==k||e[28]!==f?(S=t.jsxs("div",{className:T,children:[f,k]}),e[27]=k,e[28]=f,e[29]=S):S=e[29];let P;e[30]!==u||e[31]!==p?(P=u&&t.jsx(jt,{result:u,onDismiss:()=>p(null)}),e[30]=u,e[31]=p,e[32]=P):P=e[32];let w;e[33]!==i||e[34]!==c.slug||e[35]!==p||e[36]!==s||e[37]!==b||e[38]!==m.error||e[39]!==m.isLoading||e[40]!==a?(w=m.isLoading?t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsx(Ue,{className:"h-8 w-full"}),t.jsx(Ue,{className:"h-40 w-full"})]}):m.error?xt(m.error)?t.jsx(Re,{icon:t.jsx(Oe,{className:"size-5"}),title:a("mainPanelTabs.analyticsTab.backendNotConfiguredTitle"),description:a("mainPanelTabs.analyticsTab.backendNotConfiguredDescription")}):t.jsx(Re,{icon:t.jsx(Oe,{className:"size-5"}),title:a("mainPanelTabs.analyticsTab.statusError")}):b.configured===!1?t.jsx(Re,{icon:t.jsx(Oe,{className:"size-5"}),title:a("mainPanelTabs.analyticsTab.backendNotConfiguredTitle"),description:a("mainPanelTabs.analyticsTab.backendNotConfiguredDescription")}):b.registered?t.jsx(Ys,{base:i,orgSlug:c.slug,site:s,status:b}):t.jsx(zs,{base:i,orgSlug:c.slug,site:s,host:b.host??null,onRegistered:p}),e[33]=i,e[34]=c.slug,e[35]=p,e[36]=s,e[37]=b,e[38]=m.error,e[39]=m.isLoading,e[40]=a,e[41]=w):w=e[41];let K;return e[42]!==S||e[43]!==P||e[44]!==w?(K=t.jsx("div",{className:g,children:t.jsxs("div",{className:h,children:[S,P,w]})}),e[42]=S,e[43]=P,e[44]=w,e[45]=K):K=e[45],K}export{da as A,Xe as C};
@@ -0,0 +1 @@
1
+ import{c as S,a4 as R,R as Q,K as Y,m as ce,q as J,e as V,j as i,hF as de,b as z,r as $,fT as me,gn as U,aS as ue,aR as fe,aO as ge,aM as pe,aN as ye,aQ as xe,aP as he,bl as je,B as w,t as q,fU as Ke,x as W,aY as X,w as Z,I as ee,y as te,v as se,D as ie}from"./index-BNmzMNlZ.js";import{i as Ce}from"./AlertCircle-COLuN3Qe.js";import{a as De}from"./Copy01-Tog1jA1S.js";import{i as ne}from"./Key01-D_nzK0xg.js";import{s as le}from"./Plus-BfnmJh1R.js";import{s as Ae}from"./Trash01-cH2tYIUn.js";import{E as Se}from"./empty-state-RpLaBfip.js";import{L as be}from"./label-BCxqhVIq.js";import{u as M}from"./use-mcp-client-ClU7gdfw.js";function H(t,e){if(t?.isError)throw new Error(t.content?.[0]?.text??e);if(!t.structuredContent)throw new Error(e);return t.structuredContent}function we(t){const e=S.c(11),{org:a}=R();let r;e[0]!==a.id||e[1]!==a.slug?(r={connectionId:Q,orgId:a.id,orgSlug:a.slug},e[0]=a.id,e[1]=a.slug,e[2]=r):r=e[2];const l=M(r);let s;e[3]!==a.id?(s=Y.apiKeysList(a.id),e[3]=a.id,e[4]=s):s=e[4];let n;e[5]!==l?(n=async()=>{const d=await l.callTool({name:"API_KEY_LIST",arguments:{}});return H(d,"Failed to list API keys").items},e[5]=l,e[6]=n):n=e[6];const c=t?.enabled??!0;let o;return e[7]!==s||e[8]!==n||e[9]!==c?(o={queryKey:s,queryFn:n,staleTime:3e4,enabled:c},e[7]=s,e[8]=n,e[9]=c,e[10]=o):o=e[10],ce(o)}function _e(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=M(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_CREATE",arguments:{name:o.name,permissions:o.permissions??{"*":["*"]}}});return H(d,"Failed to create API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ve(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=M(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:o}});return H(d,"Failed to delete API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ae(t){const e=S.c(6),{error:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(Ce,{size:16}),e[0]=l):l=e[0];let s;e[1]!==a.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:a.message}),e[1]=a.message,e[2]=r,e[3]=s):s=e[3];let n;return e[4]!==s?(n=i.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,i.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=n):n=e[5],n}function Pe(t){const e=S.c(20),{apiKey:a,onDelete:r}=t,l=z();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:i.jsx(ne,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let n;e[1]!==a.name?(n=i.jsx("span",{className:"font-medium text-sm truncate block",children:a.name}),e[1]=a.name,e[2]=n):n=e[2];let c;e[3]!==a.createdAt||e[4]!==l?(c=l("settings.apiKeys.createdAt",{date:new Date(a.createdAt).toLocaleDateString()}),e[3]=a.createdAt,e[4]=l,e[5]=c):c=e[5];let o;e[6]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:c}),e[6]=c,e[7]=o):o=e[7];let d;e[8]!==n||e[9]!==o?(d=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s,i.jsxs("div",{className:"min-w-0",children:[n,o]})]}),e[8]=n,e[9]=o,e[10]=d):d=e[10];let m;e[11]!==l?(m=l("settings.apiKeys.deleteKey"),e[11]=l,e[12]=m):m=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=i.jsx(Ae,{size:14}),e[13]=f):f=e[13];let g;e[14]!==r||e[15]!==m?(g=i.jsx(w,{variant:"ghost-destructive",size:"icon",className:"shrink-0",onClick:r,"aria-label":m,children:f}),e[14]=r,e[15]=m,e[16]=g):g=e[16];let u;return e[17]!==d||e[18]!==g?(u=i.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[d,g]}),e[17]=d,e[18]=g,e[19]=u):u=e[19],u}function Ee(t){const e=S.c(15),{onCreate:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(ne,{}),e[0]=l):l=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let n;e[3]!==r?(n=r("settings.apiKeys.emptyDescription"),e[3]=r,e[4]=n):n=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=i.jsx(le,{size:14}),e[5]=c):c=e[5];let o;e[6]!==r?(o=r("settings.apiKeys.newKey"),e[6]=r,e[7]=o):o=e[7];let d;e[8]!==a||e[9]!==o?(d=i.jsxs(w,{onClick:a,size:"sm",children:[c,o]}),e[8]=a,e[9]=o,e[10]=d):d=e[10];let m;return e[11]!==s||e[12]!==n||e[13]!==d?(m=i.jsx(Ke,{children:i.jsx(Se,{size:"inline",icon:l,title:s,description:n,children:d})}),e[11]=s,e[12]=n,e[13]=d,e[14]=m):m=e[14],m}function Ne(t){const e=S.c(40),{createdKey:a,onClose:r}=t,l=z(),s=a!==null;let n;e[0]!==r?(n=b=>!b&&r(),e[0]=r,e[1]=n):n=e[1];let c;e[2]!==l?(c=l("settings.apiKeys.createdTitle"),e[2]=l,e[3]=c):c=e[3];let o;e[4]!==c?(o=i.jsx(W,{children:c}),e[4]=c,e[5]=o):o=e[5];let d;e[6]!==l?(d=l("settings.apiKeys.createdDescription"),e[6]=l,e[7]=d):d=e[7];let m;e[8]!==d?(m=i.jsx(X,{children:d}),e[8]=d,e[9]=m):m=e[9];let f;e[10]!==o||e[11]!==m?(f=i.jsxs(Z,{children:[o,m]}),e[10]=o,e[11]=m,e[12]=f):f=e[12];const g=a?.key??"";let u;e[13]!==g?(u=i.jsx(ee,{readOnly:!0,value:g,className:"font-mono text-xs"}),e[13]=g,e[14]=u):u=e[14];let p;e[15]!==a||e[16]!==l?(p=()=>{a&&(navigator.clipboard?.writeText(a.key),q.success(l("settings.apiKeys.copied")))},e[15]=a,e[16]=l,e[17]=p):p=e[17];let y;e[18]!==l?(y=l("settings.apiKeys.copyKey"),e[18]=l,e[19]=y):y=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=i.jsx(De,{size:14}),e[20]=C):C=e[20];let x;e[21]!==p||e[22]!==y?(x=i.jsx(w,{type:"button",variant:"outline",size:"icon",onClick:p,"aria-label":y,children:C}),e[21]=p,e[22]=y,e[23]=x):x=e[23];let h;e[24]!==x||e[25]!==u?(h=i.jsxs("div",{className:"flex items-center gap-2",children:[u,x]}),e[24]=x,e[25]=u,e[26]=h):h=e[26];let j;e[27]!==l?(j=l("settings.apiKeys.done"),e[27]=l,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=i.jsx(te,{children:i.jsx(w,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let D;e[32]!==h||e[33]!==K||e[34]!==f?(D=i.jsxs(se,{className:"sm:max-w-lg",children:[f,h,K]}),e[32]=h,e[33]=K,e[34]=f,e[35]=D):D=e[35];let A;return e[36]!==s||e[37]!==D||e[38]!==n?(A=i.jsx(ie,{open:s,onOpenChange:n,children:D}),e[36]=s,e[37]=D,e[38]=n,e[39]=A):A=e[39],A}function Te(t){const e=S.c(64),{open:a,onOpenChange:r,onCreated:l}=t,s=z(),[n,c]=$.useState(""),o=_e();let d;e[0]!==r?(d=function(){c(""),r(!1)},e[0]=r,e[1]=d):d=e[1];const m=d;let f;e[2]!==o||e[3]!==m||e[4]!==n||e[5]!==l||e[6]!==s?(f=async function(oe){if(oe.preventDefault(),!!n.trim())try{const B=await o.mutateAsync({name:n.trim()});m(),l(B)}catch(B){const G=B;q.error(G instanceof Error?G.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=o,e[3]=m,e[4]=n,e[5]=l,e[6]=s,e[7]=f):f=e[7];const g=f;let u;e[8]!==m||e[9]!==r?(u=L=>{L?r(L):m()},e[8]=m,e[9]=r,e[10]=u):u=e[10];let p;e[11]!==s?(p=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=p):p=e[12];let y;e[13]!==p?(y=i.jsx(W,{children:p}),e[13]=p,e[14]=y):y=e[14];let C;e[15]!==s?(C=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=C):C=e[16];let x;e[17]!==C?(x=i.jsx(X,{children:C}),e[17]=C,e[18]=x):x=e[18];let h;e[19]!==y||e[20]!==x?(h=i.jsxs(Z,{children:[y,x]}),e[19]=y,e[20]=x,e[21]=h):h=e[21];let j;e[22]!==s?(j=s("settings.apiKeys.nameLabel"),e[22]=s,e[23]=j):j=e[23];let K;e[24]!==j?(K=i.jsx(be,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let D;e[26]===Symbol.for("react.memo_cache_sentinel")?(D=L=>c(L.target.value),e[26]=D):D=e[26];let A;e[27]!==s?(A=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=A):A=e[28];let b;e[29]!==n||e[30]!==A?(b=i.jsx(ee,{id:"api-key-name",value:n,onChange:D,placeholder:A,autoComplete:"off",required:!0}),e[29]=n,e[30]=A,e[31]=b):b=e[31];let _;e[32]!==K||e[33]!==b?(_=i.jsxs("div",{className:"space-y-1.5",children:[K,b]}),e[32]=K,e[33]=b,e[34]=_):_=e[34];const re=o.isPending;let v;e[35]!==s?(v=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=v):v=e[36];let P;e[37]!==o.isPending||e[38]!==m||e[39]!==v?(P=i.jsx(w,{type:"button",variant:"outline",onClick:m,disabled:re,children:v}),e[37]=o.isPending,e[38]=m,e[39]=v,e[40]=P):P=e[40];let E;e[41]!==o.isPending||e[42]!==n?(E=o.isPending||!n.trim(),e[41]=o.isPending,e[42]=n,e[43]=E):E=e[43];let N;e[44]!==o.isPending||e[45]!==s?(N=o.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=o.isPending,e[45]=s,e[46]=N):N=e[46];let T;e[47]!==E||e[48]!==N?(T=i.jsx(w,{type:"submit",disabled:E,children:N}),e[47]=E,e[48]=N,e[49]=T):T=e[49];let k;e[50]!==P||e[51]!==T?(k=i.jsxs(te,{children:[P,T]}),e[50]=P,e[51]=T,e[52]=k):k=e[52];let I;e[53]!==g||e[54]!==_||e[55]!==k?(I=i.jsxs("form",{onSubmit:g,className:"space-y-4",children:[_,k]}),e[53]=g,e[54]=_,e[55]=k,e[56]=I):I=e[56];let F;e[57]!==I||e[58]!==h?(F=i.jsxs(se,{className:"sm:max-w-lg",children:[h,I]}),e[57]=I,e[58]=h,e[59]=F):F=e[59];let O;return e[60]!==a||e[61]!==F||e[62]!==u?(O=i.jsx(ie,{open:a,onOpenChange:u,children:F}),e[60]=a,e[61]=F,e[62]=u,e[63]=O):O=e[63],O}function ke(){const t=z(),{data:e,isLoading:a,error:r}=we(),l=ve(),[s,n]=$.useState(!1),[c,o]=$.useState(null),[d,m]=$.useState(null),f=e??[];async function g(){if(d)try{await l.mutateAsync(d.id),q.success(t("settings.apiKeys.keyDeleted",{name:d.name}))}catch(u){q.error(u instanceof Error?u.message:t("settings.apiKeys.failedToDeleteKey"))}finally{m(null)}}return i.jsxs(me,{title:t("settings.apiKeys.sectionTitle"),description:t("settings.apiKeys.sectionDescription"),actions:f.length>0?i.jsxs(w,{onClick:()=>n(!0),size:"sm",children:[i.jsx(le,{size:14}),t("settings.apiKeys.newKey")]}):void 0,children:[a?i.jsx(U,{className:"gap-0 overflow-hidden p-0",children:i.jsx("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:t("settings.apiKeys.loading")})}):r&&f.length===0?i.jsx(ae,{error:r}):f.length===0?i.jsx(Ee,{onCreate:()=>n(!0)}):i.jsx(U,{className:"gap-0 overflow-hidden p-0",children:i.jsx("ul",{className:"divide-y divide-border",children:f.map(u=>i.jsx(Pe,{apiKey:u,onDelete:()=>m(u)},u.id))})}),i.jsx(Te,{open:s,onOpenChange:n,onCreated:o}),i.jsx(Ne,{createdKey:c,onClose:()=>o(null)}),i.jsx(ue,{open:d!==null,onOpenChange:u=>{u||m(null)},children:i.jsxs(fe,{children:[i.jsxs(ge,{children:[i.jsx(pe,{children:t("settings.apiKeys.deleteTitle",{name:d?.name??""})}),i.jsx(ye,{children:t("settings.apiKeys.deleteDescription")})]}),i.jsxs(xe,{children:[i.jsx(he,{children:t("settings.apiKeys.cancelButton")}),i.jsx(je,{onClick:g,children:t("settings.apiKeys.deleteKey")})]})]})})]})}function Ye(){const t=S.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(de,{group:"connect",errorFallback:Ie,children:i.jsx(ke,{})}),t[0]=e):e=t[0],e}function Ie(t){const{error:e}=t;return i.jsx(ae,{error:e??new Error("Failed to load API keys")})}export{ke as A,Ye as O,we as a,_e as u};
@@ -0,0 +1 @@
1
+ import{c as o,j as r}from"./index-BNmzMNlZ.js";import{O as e}from"./api-keys-Dj50tYQ9.js";import{R as m}from"./require-capability-Bm5pde_M.js";import"./AlertCircle-COLuN3Qe.js";import"./Copy01-Tog1jA1S.js";import"./Key01-D_nzK0xg.js";import"./Plus-BfnmJh1R.js";import"./Trash01-cH2tYIUn.js";import"./empty-state-RpLaBfip.js";import"./label-BCxqhVIq.js";import"./use-mcp-client-ClU7gdfw.js";import"./auth-CEIITB7d.js";import"./access-gate-CGDwkzkf.js";import"./capability-load-error-juzFeQ-_.js";function d(){const t=o.c(1);let i;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(m,{capability:"api-keys:manage",area:"api-keys",children:r.jsx(e,{})}),t[0]=i):i=t[0],i}export{d as default};
@@ -0,0 +1 @@
1
+ import{c as je,j as s,b as Ke,r as A,ay as Ne,l as Re,h as Te,t as xe}from"./index-BNmzMNlZ.js";import{u as Ce}from"./chat-context-C56OVvQP.js";import{S as Fe}from"./scroll-area-Cfsm1vBV.js";import{u as Ie,A as Pe}from"./use-section-preview-base-go9VMYa4.js";import{o as Me,av as $e}from"./parse-sections-B30A8ECY.js";import{H as Oe,d as Ue,u as Ve,v as ze,F as Le,w as qe,a as Ge,t as He,G as De}from"./held-block-view-DTUWWRfL.js";import{n as Ze,r as Je}from"./content-tab-BwyJP-DI.js";import"./use-panel-navigate-BrjENNrA.js";import"./thread-route-D01w_vQB.js";import"./use-project-scope-DryffHrf.js";import"./repository-binding-BZ7FmJ0X.js";import"./use-mcp-client-ClU7gdfw.js";import"./auth-CEIITB7d.js";import"./autosend-CbkP_bEt.js";import"./thread-intent-cB2EtHpg.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./watch-sse-pool-Bk0Yni6j.js";import"./task-board-DreQgJBj.js";import"./schema-DoiqvTL7.js";import"./slugify-CEUa2lfQ.js";import"./use-decopilot-events-C4OBhauN.js";import"./use-ai-providers-Bsehd5pg.js";import"./location-V0VwTJTt.js";import"./use-organization-settings-DeXdcCtZ.js";import"./index-BdQq_4o_.js";import"./UserSquare-DsAVH788.js";import"./agent-icon-CVEMdYFU.js";import"./AlertCircle-COLuN3Qe.js";import"./Tool01-Bon-ixH5.js";import"./ArrowUp-CRFAWnPc.js";import"./ArrowLeft-BYNlToA0.js";import"./LinkBroken01-Ctb4MZUK.js";import"./ShoppingBag01-usYkWunw.js";import"./ZoomOut-B1U_CHeD.js";import"./Building02-DinMBe3_.js";import"./CheckCircle-DCMOdEuL.js";import"./ChevronUp-4EkxqYyz.js";import"./ChevronSelectorVertical-Dwu4Nr-2.js";import"./Copy01-Tog1jA1S.js";import"./CreditCard01-B7MC6SfH.js";import"./DotsVertical-qUaZHjqd.js";import"./Image01-CW7Pcq-W.js";import"./Globe04-CGEgYyKw.js";import"./SwitchHorizontal01-DcP8c_x_.js";import"./Key01-D_nzK0xg.js";import"./Link01-CpcYQ7Qt.js";import"./Minus-DoRDGpun.js";import"./Monitor01-L9jyZGZ2.js";import"./Sun-B7TolJAG.js";import"./Play-Du5BNsRy.js";import"./Plus-BfnmJh1R.js";import"./SearchMd-JUAl7Zv6.js";import"./Trash01-cH2tYIUn.js";import"./Upload01-Bo60o4T6.js";import"./Users01-Bo_9DitT.js";import"./XClose-DhoOL-T1.js";import"./section-preview-url-7zfngvgW.js";import"./use-session-runtime-CQOTzbKn.js";import"./site-editor-toast-CT4NtD1f.js";import"./experiments-tab-choice-DZqY092h.js";import"./sandbox-url-D3mC8qhT.js";import"./utils-DeFulDMz.js";import"./use-sandbox-events-ClbDdVRn.js";import"./sandbox-git-api-CH_-QFpD.js";import"./sandbox-start-errors-BK_aDCyt.js";import"./pair-Dh_1oqHi.js";import"./collapsible-D3gNdr7N.js";import"./use-copy-Dpm_jhm-.js";import"./usage-stats-DDafRqWC.js";import"./tool-namespace-Crbzrqv8.js";import"./form-Gz8fbLdb.js";import"./label-BCxqhVIq.js";import"./utils-CVEq3hMx.js";import"./markdown-P8cO0xLZ.js";import"./use-mobile-nW9hYb6L.js";import"./tooltip-DibJz0Jl.js";import"./index-CaH8ekvn.js";import"./use-clock-tick-jRUiEK1v.js";import"./content-blocks-o63cs2vh.js";import"./mcp-app-renderer-CKUvsXnq.js";import"./types-BdOsWOEi.js";import"./omit-sandbox-map-jj4lCB2U.js";import"./shell-layout-DYY0I41_.js";import"./command-N9BazZHl.js";import"./index-kd3fyZ9a.js";import"./integration-icon-BrTM8z-s.js";import"./project-icon-9kbQzXfH.js";import"./new-project-dialog-BzJmdXI6.js";import"./repository-import-picker-Bjws7k2-.js";import"./use-navigate-to-agent-CvuO-uuz.js";import"./repository-picker-DkvIZLAj.js";import"./useInfiniteQuery-DWVaUM2t.js";import"./infiniteQueryObserver-ClGIthQz.js";import"./collection-search-BIuQ3VPN.js";import"./use-debounced-value-BtR2lyTj.js";import"./required-auth-layout-Dn8nNstE.js";import"./use-org-sso-DdzTjSOo.js";import"./sheet-C52S-h6R.js";import"./use-connection-CAR6Cxbr.js";import"./use-mcp-prompts-CFFfSPcj.js";import"./use-thread-outputs-D8Bvo55q.js";import"./file-type-icon-may_hs3N.js";import"./secret-ciphertext-cTA7BSVY.js";import"./alert-CYZdSIKq.js";import"./blocks-tab-states-PBqE8hLO.js";import"./slider-rNbrBC-4.js";import"./index-C6_m0mjP.js";import"./tooltipContext-BzrsG1UN.js";import"./CategoricalChart-Bx8yFu23.js";import"./index-DgWAoWIc.js";import"./ActiveShapeUtils-gwLrBsiR.js";import"./Sector-DL6Ad47o.js";import"./symbol-C3kEOGZ_.js";import"./empty-state-Cc_qF1X6.js";import"./switch-nUFQi60k.js";import"./textarea-y7TWtoua.js";import"./popover-DauDBkON.js";import"./monaco-editor-CBJkBgIU.js";import"./editor-B7sIq_vQ.js";import"./calendar-GMyXKkbA.js";import"./select-CTAm_W2d.js";import"./editor-classes-BinXFbFk.js";import"./core.esm-BYOMVmVh.js";import"./sortable.esm-Cw5kBwgn.js";import"./toggle-group-BIu6qfZV.js";import"./active-indicator-CCMhAsc_.js";import"./combobox-BEVN0Tvl.js";import"./search-input-DBKkXR0y.js";import"./tabs-BwD6LFyC.js";import"./use-file-configs-CuVchUT-.js";import"./asset-utils-DcPLl2K6.js";import"./match-site-slug-config-D3fUJ6vX.js";import"./mustache-Crsi4VAX.js";import"./use-content-sync-bYlxy6np.js";import"./sandbox-lifecycle-context-DMfngoi-.js";import"./checkbox-B6N4ay58.js";import"./date-utils-CrvIKg-s.js";import"./use-move-blocks-BKlQlSno.js";import"./badge-DeNt4-FX.js";import"./empty-state-RpLaBfip.js";function Qe(t,e){const a=(t.title||t.resolveType.split("/").pop()||"").replace(/\.(tsx?|jsx?)$/,"").replace(/[^A-Za-z0-9_-]/g,""),o=/^[A-Za-z]/.test(a)&&a.length>0?a:"Section",r=Ze(e,o);return{blockKey:r,data:{__resolveType:t.resolveType,name:r}}}function Fr(t){const e=je.c(9),a=t.saveGuard?void 0:t.block!==void 0;let o;e[0]!==t?(o=s.jsx(We,{...t}),e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==t.blockKey||e[3]!==t.branch||e[4]!==t.orgSlug||e[5]!==t.virtualMcpId||e[6]!==a||e[7]!==o?(r=s.jsx(Oe,{orgSlug:t.orgSlug,virtualMcpId:t.virtualMcpId,branch:t.branch,blockKey:t.blockKey,present:a,children:o}),e[2]=t.blockKey,e[3]=t.branch,e[4]=t.orgSlug,e[5]=t.virtualMcpId,e[6]=a,e[7]=o,e[8]=r):r=e[8],r}function We(t){const e=je.c(88),{orgSlug:a,virtualMcpId:o,branch:r,blockKey:n,block:x,meta:c,decofile:d,title:Be,excludeFields:D,schemaPending:be,previewBaseUrl:ve,notice:Z,saveGuard:J,persistDefaults:Q}=t,W=be===void 0?!1:be,X=ve===void 0?null:ve,Y=Ce()?.taskId??null,l=Ke();let N;e[0]!==r||e[1]!==X||e[2]!==o?(N={virtualMcpId:o,branch:r,sandboxUrl:X},e[0]=r,e[1]=X,e[2]=o,e[3]=N):N=e[3];const b=Ie(N),u=typeof x?.__resolveType=="string"?x.__resolveType:"";let R;e[4]!==D||e[5]!==c||e[6]!==u?(R=Je(u,c,D),e[4]=D,e[5]=c,e[6]=u,e[7]=R):R=e[7];const v=R;let T;e[8]!==v?(T=!!v&&Object.keys(v.properties??{}).length>0,e[8]=v,e[9]=T):T=e[9];const ee=T,ge=Be??(x?Me(n,x,c):n);let C;e[10]!==r||e[11]!==a||e[12]!==o?(C={orgSlug:a,virtualMcpId:o,branch:r},e[10]=r,e[11]=a,e[12]=o,e[13]=C):C=e[13];let F;e[14]!==J?(F={guard:J,holdsCopy:!0},e[14]=J,e[15]=F):F=e[15];const{save:te,flush:oe,isPending:re}=Ue(C,F);let I;e[16]!==r||e[17]!==a||e[18]!==o?(I={orgSlug:a,virtualMcpId:o,branch:r},e[16]=r,e[17]=a,e[18]=o,e[19]=I):I=e[19];const g=Ve(I);let P;e[20]!==g||e[21]!==l?(P=Ge((i,m)=>g.mutate({blockKey:i,data:m},{onError:p=>xe.error(l("sectionsEditor.sectionsEditor.saveFailed",{error:p.message}))})),e[20]=g,e[21]=l,e[22]=P):P=e[22];const ie=P,[we,_e]=A.useState(n),[se,Se]=A.useState(null),[ae,ye]=A.useState(0);let M;e[23]===Symbol.for("react.memo_cache_sentinel")?(M=[],e[23]=M):M=e[23];const[S,ke]=A.useState(M),[me,f]=A.useState(!1),$=A.useRef(null);we!==n&&(_e(n),Se(null),ye(Ye),ke([]));let O;e[24]!==x?(O=x??{},e[24]=x,e[25]=O):O=e[25];const le=O;let y;e[26]!==se?(y=se??{},e[26]=se,e[27]=y):y=e[27];let U;e[28]!==le||e[29]!==y?(U={...le,...y},e[28]=le,e[29]=y,e[30]=U):U=e[30];const ne=U;let V;e[31]!==n||e[32]!==u||e[33]!==te?(V=i=>{const m=i;Se(m),te(n,{...m,__resolveType:u})},e[31]=n,e[32]=u,e[33]=te,e[34]=V):V=e[34];const ce=V;let z;e[35]===Symbol.for("react.memo_cache_sentinel")?(z=i=>{ke(i)},e[35]=z):z=e[35];const K=z;let L;e[36]!==d||e[37]!==oe||e[38]!==g||e[39]!==l?(L=async(i,m)=>{try{const{blockKey:p,data:h}=Qe(i,d),he=await g.mutateAsync({blockKey:p,data:h});He(he)||xe.success(l("sandbox.appEditor.createdSection",{name:p})),m({__resolveType:p}),oe()}catch(p){const h=p,he=h instanceof Error?h.message:l("sandbox.appEditor.failedAddSection");throw xe.error(he),h}},e[36]=d,e[37]=oe,e[38]=g,e[39]=l,e[40]=L):L=e[40];const k=L;let q;e[41]!==f?(q=i=>{$.current=i.append,f(!0)},e[41]=f,e[42]=q):q=e[42];const pe=q;let G;e[43]!==k||e[44]!==f?(G=async i=>{const m=$.current;if(m)try{await k(i,p=>{m(p),f(!1),$.current=null})}catch{}},e[43]=k,e[44]=f,e[45]=G):G=e[45];const de=G,ue=S.length>0?[ge,...S]:[],Ee="flex h-full flex-col",Ae="flex h-12 shrink-0 items-center justify-between border-b px-6",fe=ue.length>0?s.jsx("nav",{"aria-label":l("sandbox.appEditor.editingBreadcrumb"),className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:ue.map((i,m)=>{const p=m===ue.length-1,h=ze(i);return s.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[m>0&&s.jsx(Ne,{className:"size-3 shrink-0 text-muted-foreground/60"}),s.jsx("button",{type:"button",onClick:()=>{K(m===0?[]:Le(S,m)),ye(Xe)},title:h,className:Re("min-w-0 truncate rounded-lg px-1 py-0.5 text-left transition-colors",p?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:h})]},`${h}-${m}`)})}):s.jsx("span",{className:"text-sm font-medium",children:ge});let j;e[46]!==re?(j=s.jsx(De,{isPending:re,isError:!1}),e[46]=re,e[47]=j):j=e[47];let B;e[48]!==fe||e[49]!==j?(B=s.jsxs("div",{className:Ae,children:[fe,j]}),e[48]=fe,e[49]=j,e[50]=B):B=e[50];let w;e[51]!==n||e[52]!==r||e[53]!==S||e[54]!==d||e[55]!==ne||e[56]!==ae||e[57]!==k||e[58]!==K||e[59]!==ce||e[60]!==pe||e[61]!==ee||e[62]!==c||e[63]!==a||e[64]!==Q||e[65]!==u||e[66]!==ie||e[67]!==v||e[68]!==W||e[69]!==b||e[70]!==l||e[71]!==Y||e[72]!==o?(w=ee?s.jsx(qe,{schema:v,value:ne,onChange:ce,persistDefaults:Q,basePath:"",breadcrumbPath:S,onBreadcrumbChange:K,decofile:d,meta:c,onSaveReferencedBlock:ie,previewBaseUrl:b,onAddSectionItem:k,onRequestAddSection:pe,sandbox:{orgSlug:a,virtualMcpId:o,branch:r,threadId:Y}},`${n}:${ae}`):W?s.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[s.jsx(Te,{className:"size-4"}),l("sandbox.appEditor.loadingSchema")]}):s.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:l($e(c,u)?"sandbox.appEditor.noEditableSchema":"sandbox.appEditor.schemaAwaitsBuild")}),e[51]=n,e[52]=r,e[53]=S,e[54]=d,e[55]=ne,e[56]=ae,e[57]=k,e[58]=K,e[59]=ce,e[60]=pe,e[61]=ee,e[62]=c,e[63]=a,e[64]=Q,e[65]=u,e[66]=ie,e[67]=v,e[68]=W,e[69]=b,e[70]=l,e[71]=Y,e[72]=o,e[73]=w):w=e[73];let _;e[74]!==Z||e[75]!==w?(_=s.jsx(Fe,{className:"min-h-0 min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:s.jsx("div",{className:"px-6 py-6",children:s.jsxs("div",{className:"mx-auto max-w-xl",children:[Z,w]})})}),e[74]=Z,e[75]=w,e[76]=_):_=e[76];let E;e[77]!==me||e[78]!==d||e[79]!==de||e[80]!==c||e[81]!==b||e[82]!==f?(E=b&&s.jsx(Pe,{open:me,onOpenChange:i=>{f(i),i||($.current=null)},meta:c,decofile:d,previewBaseUrl:b,onSelect:i=>{de(i)}}),e[77]=me,e[78]=d,e[79]=de,e[80]=c,e[81]=b,e[82]=f,e[83]=E):E=e[83];let H;return e[84]!==B||e[85]!==_||e[86]!==E?(H=s.jsxs("div",{className:Ee,children:[B,_,E]}),e[84]=B,e[85]=_,e[86]=E,e[87]=H):H=e[87],H}function Xe(t){return t+1}function Ye(t){return t+1}export{Fr as AppEditor};
@@ -1 +1 @@
1
- import{c as u,a2 as d,e as g,an as m,K as I,o as O}from"./index-BSPqDg2b.js";import{u as $}from"./useInfiniteQuery-BMw5-0ES.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
1
+ import{c as u,a4 as d,e as g,aq as m,K as I,q as O}from"./index-BNmzMNlZ.js";import{u as $}from"./useInfiniteQuery-DWVaUM2t.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
@@ -1 +1 @@
1
- import{b9 as v,ba as $,bb as W,bc as H,bd as D,be as y,bf as V,bg as x,bh as E,bi as j,bj as q,bk as N,bl as B,bm as Z,bn as F}from"./index-BSPqDg2b.js";function G(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function J({requestedResource:e,configuredResource:t}){const n=typeof e=="string"?new URL(e):new URL(e.href),r=typeof t=="string"?new URL(t):new URL(t.href);if(n.origin!==r.origin||n.pathname.length<r.pathname.length)return!1;const a=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return a.startsWith(i)}class pe extends Error{constructor(t){super(t??"Unauthorized")}}function Y(e){return["client_secret_basic","client_secret_post","none"].includes(e)}const p="code",_="S256";function K(e,t){const n=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Y(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?n?"client_secret_basic":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function Q(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":X(a,i,n);return;case"client_secret_post":ee(a,i,r);return;case"none":te(a,r);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function X(e,t,n){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const r=btoa(`${e}:${t}`);n.set("Authorization",`Basic ${r}`)}function ee(e,t,n){n.set("client_id",e),t&&n.set("client_secret",t)}function te(e,t){t.set("client_id",e)}async function L(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=B.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=Z[a]||y;return new o(i||"",s)}catch(r){const a=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${r}. Raw body: ${n}`;return new y(a)}}async function _e(e,t){try{return await U(e,t)}catch(n){if(n instanceof v||n instanceof $)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof W)return await e.invalidateCredentials?.("tokens"),await U(e,t);throw n}}async function U(e,{serverUrl:t,authorizationCode:n,scope:r,resourceMetadataUrl:a,fetchFn:i}){const s=await e.discoveryState?.();let o,c,u,h=a;if(!h&&s?.resourceMetadataUrl&&(h=new URL(s.resourceMetadataUrl)),s?.authorizationServerUrl){if(c=s.authorizationServerUrl,o=s.resourceMetadata,u=s.authorizationServerMetadata??await T(c,{fetchFn:i}),!o)try{o=await M(t,{resourceMetadataUrl:h},i)}catch{}(u!==s.authorizationServerMetadata||o!==s.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}else{const l=await ce(t,{resourceMetadataUrl:h,fetchFn:i});c=l.authorizationServerUrl,u=l.authorizationServerMetadata,o=l.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}const f=await re(t,e,o),A=r||o?.scopes_supported?.join(" ")||e.clientMetadata.scope;let d=await Promise.resolve(e.clientInformation());if(!d){if(n!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const l=u?.client_id_metadata_document_supported===!0,w=e.clientMetadataUrl;if(w&&!ne(w))throw new H(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${w}`);if(l&&w)d={client_id:w},await e.saveClientInformation?.(d);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const S=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(S),d=S}}const O=!e.redirectUrl;if(n!==void 0||O){const l=await he(e,c,{metadata:u,resource:f,authorizationCode:n,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}const k=await e.tokens();if(k?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:k.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof D)||l instanceof y))throw l}const C=e.state?await e.state():void 0,{authorizationUrl:z,codeVerifier:I}=await ue(c,{metadata:u,clientInformation:d,state:C,redirectUrl:e.redirectUrl,scope:A,resource:f});return await e.saveCodeVerifier(I),await e.redirectToAuthorization(z),"REDIRECT"}function ne(e){if(!e)return!1;try{const t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function re(e,t,n){const r=G(e);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!J({requestedResource:r,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}function Ue(e){const t=e.headers.get("WWW-Authenticate");if(!t)return{};const[n,r]=t.split(" ");if(n.toLowerCase()!=="bearer"||!r)return{};const a=m(e,"resource_metadata")||void 0;let i;if(a)try{i=new URL(a)}catch{}const s=m(e,"scope")||void 0,o=m(e,"error")||void 0;return{resourceMetadataUrl:i,scope:s,error:o}}function m(e,t){const n=e.headers.get("WWW-Authenticate");if(!n)return null;const r=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),a=n.match(r);return a?a[1]||a[2]:null}async function M(e,t,n=fetch){const r=await ie(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!r||r.status===404)throw await r?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!r.ok)throw await r.body?.cancel(),new Error(`HTTP ${r.status} trying to load well-known OAuth protected resource metadata.`);return j.parse(await r.json())}async function R(e,t,n=fetch){try{return await n(e,{headers:t})}catch(r){if(r instanceof TypeError)return t?R(e,void 0,n):void 0;throw r}}function ae(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function b(e,t,n=fetch){return await R(e,{"MCP-Protocol-Version":t},n)}function oe(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function ie(e,t,n,r){const a=new URL(e),i=r?.protocolVersion??E;let s;if(r?.metadataUrl)s=new URL(r.metadataUrl);else{const c=ae(t,a.pathname);s=new URL(c,r?.metadataServerUrl??a),s.search=a.search}let o=await b(s,i,n);if(!r?.metadataUrl&&oe(o,a.pathname)){const c=new URL(`/.well-known/${t}`,a);o=await b(c,i,n)}return o}function se(e){const t=typeof e=="string"?new URL(e):e,n=t.pathname!=="/",r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),r;let a=t.pathname;return a.endsWith("/")&&(a=a.slice(0,-1)),r.push({url:new URL(`/.well-known/oauth-authorization-server${a}`,t.origin),type:"oauth"}),r.push({url:new URL(`/.well-known/openid-configuration${a}`,t.origin),type:"oidc"}),r.push({url:new URL(`${a}/.well-known/openid-configuration`,t.origin),type:"oidc"}),r}async function T(e,{fetchFn:t=fetch,protocolVersion:n=E}={}){const r={"MCP-Protocol-Version":n,Accept:"application/json"},a=se(e);for(const{url:i,type:s}of a){const o=await R(i,r,t);if(o){if(!o.ok){if(await o.body?.cancel(),o.status>=400&&o.status<500)continue;throw new Error(`HTTP ${o.status} trying to load ${s==="oauth"?"OAuth":"OpenID provider"} metadata from ${i}`)}return s==="oauth"?V.parse(await o.json()):x.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await M(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),n.authorization_servers&&n.authorization_servers.length>0&&(r=n.authorization_servers[0])}catch{}r||(r=String(new URL("/",e)));const a=await T(r,{fetchFn:t?.fetchFn});return{authorizationServerUrl:r,authorizationServerMetadata:a,resourceMetadata:n}}async function ue(e,{metadata:t,clientInformation:n,redirectUrl:r,scope:a,state:i,resource:s}){let o;if(t){if(o=new URL(t.authorization_endpoint),!t.response_types_supported.includes(p))throw new Error(`Incompatible auth server: does not support response type ${p}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(_))throw new Error(`Incompatible auth server: does not support code challenge method ${_}`)}else o=new URL("/authorize",e);const c=await N(),u=c.code_verifier,h=c.code_challenge;return o.searchParams.set("response_type",p),o.searchParams.set("client_id",n.client_id),o.searchParams.set("code_challenge",h),o.searchParams.set("code_challenge_method",_),o.searchParams.set("redirect_uri",String(r)),i&&o.searchParams.set("state",i),a&&o.searchParams.set("scope",a),a?.includes("offline_access")&&o.searchParams.append("prompt","consent"),s&&o.searchParams.set("resource",s.href),{authorizationUrl:o,codeVerifier:u}}function P(e,t,n){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(n)})}async function g(e,{metadata:t,tokenRequestParams:n,clientInformation:r,addClientAuthentication:a,resource:i,fetchFn:s}){const o=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(i&&n.set("resource",i.href),a)await a(c,n,o,t);else if(r){const h=t?.token_endpoint_auth_methods_supported??[],f=K(r,h);Q(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await L(u);return F.parse(await u.json())}async function me(e,{metadata:t,clientInformation:n,authorizationCode:r,codeVerifier:a,redirectUri:i,resource:s,addClientAuthentication:o,fetchFn:c}){const u=P(r,a,i);return g(e,{metadata:t,tokenRequestParams:u,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:c})}async function le(e,{metadata:t,clientInformation:n,refreshToken:r,resource:a,addClientAuthentication:i,fetchFn:s}){const o=new URLSearchParams({grant_type:"refresh_token",refresh_token:r}),c=await g(e,{metadata:t,tokenRequestParams:o,clientInformation:n,addClientAuthentication:i,resource:a,fetchFn:s});return{refresh_token:r,...c}}async function he(e,t,{metadata:n,resource:r,authorizationCode:a,fetchFn:i}={}){const s=e.clientMetadata.scope;let o;if(e.prepareTokenRequest&&(o=await e.prepareTokenRequest(s)),!o){if(!a)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const u=await e.codeVerifier();o=P(a,u,e.redirectUrl)}const c=await e.clientInformation();return g(t,{metadata:n,tokenRequestParams:o,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:r,fetchFn:i})}async function de(e,{metadata:t,clientMetadata:n,scope:r,fetchFn:a}){let i;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");i=new URL(t.registration_endpoint)}else i=new URL("/register",e);const s=await(a??fetch)(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,...r!==void 0?{scope:r}:{}})});if(!s.ok)throw await L(s);return q.parse(await s.json())}export{pe as U,T as a,_e as b,Ue as c,M as d,me as e};
1
+ import{c8 as v,c9 as $,ca as W,cb as H,cc as D,cd as y,ce as V,cf as x,cg as L,ch as j,ci as q,cj as N,ck as B,cl as Z,cm as F}from"./index-BNmzMNlZ.js";function G(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function J({requestedResource:e,configuredResource:t}){const n=typeof e=="string"?new URL(e):new URL(e.href),r=typeof t=="string"?new URL(t):new URL(t.href);if(n.origin!==r.origin||n.pathname.length<r.pathname.length)return!1;const a=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return a.startsWith(i)}class pe extends Error{constructor(t){super(t??"Unauthorized")}}function Y(e){return["client_secret_basic","client_secret_post","none"].includes(e)}const p="code",_="S256";function K(e,t){const n=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Y(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?n?"client_secret_basic":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function Q(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":X(a,i,n);return;case"client_secret_post":ee(a,i,r);return;case"none":te(a,r);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function X(e,t,n){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const r=btoa(`${e}:${t}`);n.set("Authorization",`Basic ${r}`)}function ee(e,t,n){n.set("client_id",e),t&&n.set("client_secret",t)}function te(e,t){t.set("client_id",e)}async function M(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=B.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=Z[a]||y;return new o(i||"",s)}catch(r){const a=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${r}. Raw body: ${n}`;return new y(a)}}async function _e(e,t){try{return await U(e,t)}catch(n){if(n instanceof v||n instanceof $)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof W)return await e.invalidateCredentials?.("tokens"),await U(e,t);throw n}}async function U(e,{serverUrl:t,authorizationCode:n,scope:r,resourceMetadataUrl:a,fetchFn:i}){const s=await e.discoveryState?.();let o,c,u,h=a;if(!h&&s?.resourceMetadataUrl&&(h=new URL(s.resourceMetadataUrl)),s?.authorizationServerUrl){if(c=s.authorizationServerUrl,o=s.resourceMetadata,u=s.authorizationServerMetadata??await P(c,{fetchFn:i}),!o)try{o=await T(t,{resourceMetadataUrl:h},i)}catch{}(u!==s.authorizationServerMetadata||o!==s.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}else{const l=await ce(t,{resourceMetadataUrl:h,fetchFn:i});c=l.authorizationServerUrl,u=l.authorizationServerMetadata,o=l.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}const f=await re(t,e,o),A=r||o?.scopes_supported?.join(" ")||e.clientMetadata.scope;let d=await Promise.resolve(e.clientInformation());if(!d){if(n!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const l=u?.client_id_metadata_document_supported===!0,w=e.clientMetadataUrl;if(w&&!ne(w))throw new H(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${w}`);if(l&&w)d={client_id:w},await e.saveClientInformation?.(d);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const S=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(S),d=S}}const C=!e.redirectUrl;if(n!==void 0||C){const l=await he(e,c,{metadata:u,resource:f,authorizationCode:n,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}const k=await e.tokens();if(k?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:k.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof D)||l instanceof y))throw l}const z=e.state?await e.state():void 0,{authorizationUrl:b,codeVerifier:I}=await ue(c,{metadata:u,clientInformation:d,state:z,redirectUrl:e.redirectUrl,scope:A,resource:f});return await e.saveCodeVerifier(I),await e.redirectToAuthorization(b),"REDIRECT"}function ne(e){if(!e)return!1;try{const t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function re(e,t,n){const r=G(e);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!J({requestedResource:r,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}function Ue(e){const t=e.headers.get("WWW-Authenticate");if(!t)return{};const[n,r]=t.split(" ");if(n.toLowerCase()!=="bearer"||!r)return{};const a=m(e,"resource_metadata")||void 0;let i;if(a)try{i=new URL(a)}catch{}const s=m(e,"scope")||void 0,o=m(e,"error")||void 0;return{resourceMetadataUrl:i,scope:s,error:o}}function m(e,t){const n=e.headers.get("WWW-Authenticate");if(!n)return null;const r=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),a=n.match(r);return a?a[1]||a[2]:null}async function T(e,t,n=fetch){const r=await ie(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!r||r.status===404)throw await r?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!r.ok)throw await r.body?.cancel(),new Error(`HTTP ${r.status} trying to load well-known OAuth protected resource metadata.`);return j.parse(await r.json())}async function R(e,t,n=fetch){try{return await n(e,{headers:t})}catch(r){if(r instanceof TypeError)return t?R(e,void 0,n):void 0;throw r}}function ae(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function E(e,t,n=fetch){return await R(e,{"MCP-Protocol-Version":t},n)}function oe(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function ie(e,t,n,r){const a=new URL(e),i=r?.protocolVersion??L;let s;if(r?.metadataUrl)s=new URL(r.metadataUrl);else{const c=ae(t,a.pathname);s=new URL(c,r?.metadataServerUrl??a),s.search=a.search}let o=await E(s,i,n);if(!r?.metadataUrl&&oe(o,a.pathname)){const c=new URL(`/.well-known/${t}`,a);o=await E(c,i,n)}return o}function se(e){const t=typeof e=="string"?new URL(e):e,n=t.pathname!=="/",r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),r;let a=t.pathname;return a.endsWith("/")&&(a=a.slice(0,-1)),r.push({url:new URL(`/.well-known/oauth-authorization-server${a}`,t.origin),type:"oauth"}),r.push({url:new URL(`/.well-known/openid-configuration${a}`,t.origin),type:"oidc"}),r.push({url:new URL(`${a}/.well-known/openid-configuration`,t.origin),type:"oidc"}),r}async function P(e,{fetchFn:t=fetch,protocolVersion:n=L}={}){const r={"MCP-Protocol-Version":n,Accept:"application/json"},a=se(e);for(const{url:i,type:s}of a){const o=await R(i,r,t);if(o){if(!o.ok){if(await o.body?.cancel(),o.status>=400&&o.status<500)continue;throw new Error(`HTTP ${o.status} trying to load ${s==="oauth"?"OAuth":"OpenID provider"} metadata from ${i}`)}return s==="oauth"?V.parse(await o.json()):x.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await T(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),n.authorization_servers&&n.authorization_servers.length>0&&(r=n.authorization_servers[0])}catch{}r||(r=String(new URL("/",e)));const a=await P(r,{fetchFn:t?.fetchFn});return{authorizationServerUrl:r,authorizationServerMetadata:a,resourceMetadata:n}}async function ue(e,{metadata:t,clientInformation:n,redirectUrl:r,scope:a,state:i,resource:s}){let o;if(t){if(o=new URL(t.authorization_endpoint),!t.response_types_supported.includes(p))throw new Error(`Incompatible auth server: does not support response type ${p}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(_))throw new Error(`Incompatible auth server: does not support code challenge method ${_}`)}else o=new URL("/authorize",e);const c=await N(),u=c.code_verifier,h=c.code_challenge;return o.searchParams.set("response_type",p),o.searchParams.set("client_id",n.client_id),o.searchParams.set("code_challenge",h),o.searchParams.set("code_challenge_method",_),o.searchParams.set("redirect_uri",String(r)),i&&o.searchParams.set("state",i),a&&o.searchParams.set("scope",a),a?.includes("offline_access")&&o.searchParams.append("prompt","consent"),s&&o.searchParams.set("resource",s.href),{authorizationUrl:o,codeVerifier:u}}function O(e,t,n){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(n)})}async function g(e,{metadata:t,tokenRequestParams:n,clientInformation:r,addClientAuthentication:a,resource:i,fetchFn:s}){const o=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(i&&n.set("resource",i.href),a)await a(c,n,o,t);else if(r){const h=t?.token_endpoint_auth_methods_supported??[],f=K(r,h);Q(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await M(u);return F.parse(await u.json())}async function me(e,{metadata:t,clientInformation:n,authorizationCode:r,codeVerifier:a,redirectUri:i,resource:s,addClientAuthentication:o,fetchFn:c}){const u=O(r,a,i);return g(e,{metadata:t,tokenRequestParams:u,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:c})}async function le(e,{metadata:t,clientInformation:n,refreshToken:r,resource:a,addClientAuthentication:i,fetchFn:s}){const o=new URLSearchParams({grant_type:"refresh_token",refresh_token:r}),c=await g(e,{metadata:t,tokenRequestParams:o,clientInformation:n,addClientAuthentication:i,resource:a,fetchFn:s});return{refresh_token:r,...c}}async function he(e,t,{metadata:n,resource:r,authorizationCode:a,fetchFn:i}={}){const s=e.clientMetadata.scope;let o;if(e.prepareTokenRequest&&(o=await e.prepareTokenRequest(s)),!o){if(!a)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const u=await e.codeVerifier();o=O(a,u,e.redirectUrl)}const c=await e.clientInformation();return g(t,{metadata:n,tokenRequestParams:o,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:r,fetchFn:i})}async function de(e,{metadata:t,clientMetadata:n,scope:r,fetchFn:a}){let i;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");i=new URL(t.registration_endpoint)}else i=new URL("/register",e);const s=await(a??fetch)(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,...r!==void 0?{scope:r}:{}})});if(!s.ok)throw await M(s);return q.parse(await s.json())}export{pe as U,P as a,_e as b,Ue as c,T as d,me as e};
@@ -1 +1 @@
1
- import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-BSPqDg2b.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
1
+ import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-BNmzMNlZ.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
@@ -1 +1 @@
1
- import{a as $,a1 as Ne,r as b,e as ae,y as W,j as t,l as x,B as X,I as G,c as Ie,b as Ce,h as Ue}from"./index-BSPqDg2b.js";import{e as qe}from"./backoff-CrEUbyZT.js";import{d as De}from"./delay-CnY5UFtP.js";class Pe extends Error{constructor(e,o){super(`Retrying exceeded the maxAttempts (${o}).`),this.name="RetryError",this.cause=e}}async function ze(i,e){const{multiplier:o=2,maxTimeout:l=6e4,maxAttempts:w=5,minTimeout:g=1e3,jitter:r=1,isRetriable:u=()=>!0,signal:d}=e??{};if(!Number.isInteger(w)||w<1)throw new RangeError(`Cannot retry as 'maxAttempts' must be a positive integer: current value is ${w}`);if(!Number.isFinite(o)||o<1)throw new RangeError(`Cannot retry as 'multiplier' must be a finite number >= 1: current value is ${o}`);if(Number.isNaN(l)||l<=0)throw new RangeError(`Cannot retry as 'maxTimeout' must be a positive number: current value is ${l}`);if(Number.isNaN(g)||g<0)throw new RangeError(`Cannot retry as 'minTimeout' must be >= 0: current value is ${g}`);if(g>l)throw new RangeError(`Cannot retry as 'minTimeout' must be <= 'maxTimeout': current values 'minTimeout=${g}', 'maxTimeout=${l}'`);if(Number.isNaN(r)||r<0||r>1)throw new RangeError(`Cannot retry as 'jitter' must be between 0 and 1: current value is ${r}`);let P=0;for(;;){d?.throwIfAborted();try{return await i()}catch(A){if(!u(A))throw A;if(P+1>=w)throw new Pe(A,w);const O=qe(l,g,P,o,r);await De(O,d?{signal:d}:void 0)}P++}}const Ae={submitEmailPassword:({mode:i,email:e,password:o,name:l})=>i==="sign_up"?$.signUp.email({email:e,password:o,name:l||""}):$.signIn.email({email:e,password:o}),requestPasswordReset:({email:i,redirectTo:e})=>$.requestPasswordReset({email:i,redirectTo:e}),sendOtp:({email:i})=>$.emailOtp.sendVerificationOtp({email:i,type:"sign-in"}),submitOtp:({email:i,otp:e})=>$.signIn.emailOtp({email:i,otp:e}),socialSignIn:({provider:i,callbackURL:e})=>$.signIn.social({provider:i,callbackURL:e}),ssoSignIn:({providerId:i,callbackURL:e})=>$.signIn.sso({providerId:i,callbackURL:e}),onAuthenticated:i=>{window.location.href=i}},ie="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Be={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:i=>`Code sent to ${i}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:i=>`Continue with ${i}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ve({redirectUrl:i,callbackUrl:e="/",title:o,subtitle:l,brand:w,copy:g,variant:r="default",allowedSocialProviders:u,allowPassword:d=!0,onAuthEvent:P,actions:A}){const{emailAndPassword:O,resetPassword:S,emailOtp:E,socialProviders:F}=Ne(),j={...Ae,...A},h=s=>{try{P?.(s)}catch{}},p=r==="compact",Z=u?F.providers.filter(s=>u.includes(s.name)):F.providers,ee=F.enabled&&Z.length>0,ne=O.enabled&&(d||!E.enabled&&!ee),te=F.enabled&&F.providers.length>0&&!ee&&!E.enabled&&!ne?F.providers:Z,I=F.enabled&&te.length>0,C=O.enabled&&(d||!E.enabled&&!I),[c,N]=b.useState(""),[_,f]=b.useState(""),[re,ge]=b.useState(""),[oe,le]=b.useState(""),[M,de]=b.useState(!1),[ce,_e]=b.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[y,U]=b.useState(""),[he,pe]=b.useState(!1),[ke,me]=b.useState(null),a={...Be,...g},Y=b.useId(),q=`${Y}-email`,D=`${Y}-email-error`,fe=`${Y}-name`,xe=`${Y}-password`,be=`${Y}-otp`,v=ce==="signUp",R=ce==="forgotPassword",k=ce==="emailOtp",J=ae({mutationFn:async({email:s,password:n,name:L})=>{try{const H=await j.submitEmailPassword({mode:v?"sign_up":"sign_in",email:s,password:n,name:L});if(H.error)throw new Error(H.error.message||(v?a.signUpFailed:a.signInFailed));return H}catch(H){throw H instanceof Error?H:new Error(a.authenticationFailed)}},onMutate:()=>{h({type:"started",method:"email_password",mode:v?"sign_up":"sign_in"})},onSuccess:()=>{h({type:"succeeded",method:"email_password",mode:v?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),W(v?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const n=await j.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(n.error)throw new Error(n.error.message||a.resetEmailFailed);return n},onSuccess:()=>{W("password_reset_requested"),pe(!0)},onError:s=>{W("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),z=ae({mutationFn:async({email:s})=>{const n=await j.sendOtp({email:s});if(n.error)throw new Error(n.error.message||a.otpSendFailed);return n},onMutate:()=>{h({type:"started",method:"email_otp"})},onSuccess:()=>{h({type:"otp_sent",method:"email_otp"}),W("email_otp_sent"),de(!0)},onError:s=>{h({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),B=ae({mutationFn:async({email:s,otp:n})=>{const L=await j.submitOtp({email:s,otp:n});if(L.error)throw new Error(L.error.message||a.invalidCode);return L},onMutate:()=>{h({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{h({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),se=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),ue=()=>{c.trim()&&!se(c)&&U(a.invalidEmail)},Le=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}J.mutate({email:c,password:_,name:re})},Oe=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail);return}K.mutate({email:c})},Re=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}z.mutate({email:c})},Te=s=>{s.preventDefault(),B.mutate({email:c,otp:oe})},V=s=>n=>{s(n.target.value),we&&J.reset(),ve&&K.reset(),ye&&(z.reset(),B.reset()),s===N&&y&&U("")},Q=s=>{_e(s),ge(""),le(""),de(!1),U(""),pe(!1),me(null),J.reset(),K.reset(),z.reset(),B.reset()},m=J.isPending||K.isPending||z.isPending||B.isPending,we=J.error,ve=K.error,ye=z.error||B.error,T=v?c.trim()&&_.trim()&&re.trim():R?c.trim():k?M?oe.trim():c.trim():c.trim()&&_.trim(),$e=s=>{if(!s)return null;const n=s.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?a.invalidEmailOrPassword:n.includes("already exists")||n.includes("409")?a.accountExists:n.includes("network")||n.includes("fetch")?a.networkError:n.includes("rate limit")||n.includes("429")?a.tooManyAttempts:n.includes("invalid")&&n.includes("otp")?a.invalidOrExpiredCode:s.message||a.genericError},Ee=we||ve||ye||ke,We=async s=>{h({type:"started",method:"social",provider:s}),me(null);try{const n=await j.socialSignIn({provider:s,callbackURL:i??e});if(n.error)throw new Error(n.error.message||a.authenticationFailed)}catch(n){const L=n instanceof Error?n.message:String(n);h({type:"failed",method:"social",provider:s,stage:"redirect",error:L}),W("social_signin_failed",{provider:s,error:L}),me(n instanceof Error?n:new Error(L))}},Me=R?a.resetPasswordTitle:k&&M?a.verificationCodeTitle:o??a.welcomeTitle,Se=R?a.resetPasswordSubtitle:k&&M?a.codeSentTo(c):l===void 0?a.defaultSubtitle:l;return t.jsxs("div",{className:x("grid w-full",p?"gap-5":"gap-10"),children:[w??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:x("font-medium",p?"text-xl leading-7":"text-2xl leading-8"),children:Me}),Se&&t.jsx("p",{className:x("text-muted-foreground",p?"text-sm leading-5":"text-base leading-6"),children:Se})]}),Ee&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:$e(Ee)}),he&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:a.resetEmailSent}),!R&&!(k&&M)&&I&&t.jsx("div",{className:"grid gap-2",children:te.map(s=>t.jsxs(X,{type:"button",variant:"outline",size:p?"lg":"xl",disabled:m,onClick:()=>{We(s.name)},className:"w-full gap-3",children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:x("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),a.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!R&&!(k&&M)&&I&&(C||E.enabled)&&t.jsxs("div",{className:x("flex items-center gap-2.5",p?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:x("text-muted-foreground",p?"text-sm":"text-base"),children:a.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),k&&E.enabled&&t.jsx(t.Fragment,{children:M?t.jsxs("form",{onSubmit:Te,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:be,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.verificationCodeLabel}),t.jsx(G,{id:be,type:"text",placeholder:a.enterCodePlaceholder,value:oe,onChange:V(le),required:!0,disabled:m,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11"})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.verifying:a.verify}),t.jsx("button",{type:"button",onClick:()=>{de(!1),le(""),z.reset(),B.reset()},disabled:m,className:x("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",p&&"sm:col-span-2"),children:a.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Re,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:q,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:a.emailPlaceholder,value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive",children:y})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.sending:a.sendCode})]})}),R&&C&&!he&&t.jsxs("form",{onSubmit:Oe,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsx(X,{type:"submit",disabled:m||!T,className:"w-full font-semibold",size:"xl",children:m?a.sending:a.sendResetLink})]}),!R&&!k&&C&&t.jsxs("form",{onSubmit:Le,className:"grid gap-5",children:[v&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:fe,className:"block text-sm font-medium text-foreground mb-2",children:a.nameLabel}),t.jsx(G,{id:fe,type:"text",placeholder:a.namePlaceholder,value:re,onChange:V(ge),required:!0,disabled:m,autoComplete:"name",className:"h-11"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:xe,className:"block text-sm font-medium text-foreground",children:a.passwordLabel}),!v&&S.enabled&&t.jsx("button",{type:"button",onClick:()=>Q("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a.forgotPassword})]}),t.jsx(G,{id:xe,type:"password",placeholder:"••••••••",value:_,onChange:V(f),required:!0,disabled:m,autoComplete:v?"new-password":"current-password",className:"h-11"})]}),t.jsx("div",{className:x("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",T?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:x("p-1",!T&&"pointer-events-none"),children:t.jsx(X,{type:"submit",disabled:m||!T,className:x("w-full font-semibold"),size:"xl","aria-hidden":!T,children:m?v?a.creatingAccount:a.signingIn:a.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:R?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.backToSignIn}):k&&C?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.signInWithPassword}):!k&&C?t.jsxs(t.Fragment,{children:[v?a.alreadyHaveAccount:a.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>Q(v?"signIn":"signUp"),disabled:m,className:ie,children:v?a.signIn:a.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>Q("emailOtp"),disabled:m,className:ie,children:a.signInWithEmailCode})]})]}):null})]})}class je{constructor(e){this.response=e}response}function He(i){return i.startsWith("/")&&!i.startsWith("//")&&!i.startsWith("/\\")?i:"/"}function Ge({redirectTo:i,onAuthEvent:e}){const o=Ce(),[l,w]=b.useState(null),g=b.useEffectEvent(r=>{try{e?.(r)}catch{}});return b.useEffect(()=>{let r=!1;return(async()=>{g({type:"started",method:"local"});try{let u;try{u=await ze(async()=>{const d=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(d.status>=500)throw new je(d);return d},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(d){if(d instanceof Pe&&d.cause instanceof je)u=d.cause.response;else throw d}if(!u.ok){const d=await u.json().catch(()=>({}));throw new Error(d?.error||o("common.authEntry.autoLoginFailed"))}r||(g({type:"succeeded",method:"local"}),window.location.href=He(i))}catch(u){r||(g({type:"failed",method:"local",stage:"authenticate",error:u instanceof Error?u.message:String(u)}),w(u instanceof Error?u.message:o("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[i]),l?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:o("common.authEntry.autoLoginFailedWithError",{error:l})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:o("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function Fe(){const i=Ie.c(1);let e;return i[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Ue,{size:"lg",label:"Signing in"})}),i[0]=e):e=i[0],e}function Ye({callbackURL:i,providerId:e,ssoSignIn:o,onAuthEvent:l}){const w=b.useEffectEvent(r=>{try{l?.(r)}catch{}}),g=b.useEffectEvent(o);return b.useEffect(()=>{(async()=>{w({type:"started",method:"sso",provider:e});try{const r=await g({providerId:e,callbackURL:i});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){w({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,i]),t.jsx(Fe,{})}function Xe(i){const e=Ie.c(25),{callbackUrl:o,redirectUrl:l,allowAutoLogin:w,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,onAuthenticated:E}=i,F=w===void 0?!0:w,j=Ce(),{sso:h,emailAndPassword:p,magicLink:Z,emailOtp:ee,socialProviders:ne,localMode:te}=Ne(),I=l||o;let C;e[0]!==E?(C=E?{onAuthenticated:E}:void 0,e[0]=E,e[1]=C):C=e[1];const c=C;if(te&&F){let f;return e[2]!==S||e[3]!==I?(f=t.jsx(Ge,{redirectTo:I,onAuthEvent:S}),e[2]=S,e[3]=I,e[4]=f):f=e[4],f}if(h.enabled){let f;return e[5]!==S||e[6]!==I||e[7]!==h.providerId?(f=t.jsx(Ye,{callbackURL:I,providerId:h.providerId,ssoSignIn:Ae.ssoSignIn,onAuthEvent:S}),e[5]=S,e[6]=I,e[7]=h.providerId,e[8]=f):f=e[8],f}if(p.enabled||Z.enabled||ee.enabled||ne.enabled){let f;return e[9]!==O||e[10]!==A||e[11]!==u||e[12]!==o||e[13]!==c||e[14]!==d||e[15]!==S||e[16]!==l||e[17]!==r||e[18]!==g||e[19]!==P?(f=t.jsx(Ve,{redirectUrl:l,callbackUrl:o,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,actions:c}),e[9]=O,e[10]=A,e[11]=u,e[12]=o,e[13]=c,e[14]=d,e[15]=S,e[16]=l,e[17]=r,e[18]=g,e[19]=P,e[20]=f):f=e[20],f}let N;e[21]!==j?(N=j("common.authEntry.noLoginOptions"),e[21]=j,e[22]=N):N=e[22];let _;return e[23]!==N?(_=t.jsx("div",{children:N}),e[23]=N,e[24]=_):_=e[24],_}export{Fe as A,Xe as a};
1
+ import{a as $,a3 as Ne,r as b,e as ae,C as W,j as t,l as x,B as X,I as G,c as Ie,b as Ce,h as Ue}from"./index-BNmzMNlZ.js";import{e as qe}from"./backoff-CrEUbyZT.js";import{d as De}from"./delay-CnY5UFtP.js";class Pe extends Error{constructor(e,o){super(`Retrying exceeded the maxAttempts (${o}).`),this.name="RetryError",this.cause=e}}async function ze(i,e){const{multiplier:o=2,maxTimeout:l=6e4,maxAttempts:w=5,minTimeout:g=1e3,jitter:r=1,isRetriable:u=()=>!0,signal:d}=e??{};if(!Number.isInteger(w)||w<1)throw new RangeError(`Cannot retry as 'maxAttempts' must be a positive integer: current value is ${w}`);if(!Number.isFinite(o)||o<1)throw new RangeError(`Cannot retry as 'multiplier' must be a finite number >= 1: current value is ${o}`);if(Number.isNaN(l)||l<=0)throw new RangeError(`Cannot retry as 'maxTimeout' must be a positive number: current value is ${l}`);if(Number.isNaN(g)||g<0)throw new RangeError(`Cannot retry as 'minTimeout' must be >= 0: current value is ${g}`);if(g>l)throw new RangeError(`Cannot retry as 'minTimeout' must be <= 'maxTimeout': current values 'minTimeout=${g}', 'maxTimeout=${l}'`);if(Number.isNaN(r)||r<0||r>1)throw new RangeError(`Cannot retry as 'jitter' must be between 0 and 1: current value is ${r}`);let P=0;for(;;){d?.throwIfAborted();try{return await i()}catch(A){if(!u(A))throw A;if(P+1>=w)throw new Pe(A,w);const O=qe(l,g,P,o,r);await De(O,d?{signal:d}:void 0)}P++}}const Ae={submitEmailPassword:({mode:i,email:e,password:o,name:l})=>i==="sign_up"?$.signUp.email({email:e,password:o,name:l||""}):$.signIn.email({email:e,password:o}),requestPasswordReset:({email:i,redirectTo:e})=>$.requestPasswordReset({email:i,redirectTo:e}),sendOtp:({email:i})=>$.emailOtp.sendVerificationOtp({email:i,type:"sign-in"}),submitOtp:({email:i,otp:e})=>$.signIn.emailOtp({email:i,otp:e}),socialSignIn:({provider:i,callbackURL:e})=>$.signIn.social({provider:i,callbackURL:e}),ssoSignIn:({providerId:i,callbackURL:e})=>$.signIn.sso({providerId:i,callbackURL:e}),onAuthenticated:i=>{window.location.href=i}},ie="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Be={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:i=>`Code sent to ${i}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:i=>`Continue with ${i}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ve({redirectUrl:i,callbackUrl:e="/",title:o,subtitle:l,brand:w,copy:g,variant:r="default",allowedSocialProviders:u,allowPassword:d=!0,onAuthEvent:P,actions:A}){const{emailAndPassword:O,resetPassword:S,emailOtp:E,socialProviders:F}=Ne(),j={...Ae,...A},h=s=>{try{P?.(s)}catch{}},p=r==="compact",Z=u?F.providers.filter(s=>u.includes(s.name)):F.providers,ee=F.enabled&&Z.length>0,ne=O.enabled&&(d||!E.enabled&&!ee),te=F.enabled&&F.providers.length>0&&!ee&&!E.enabled&&!ne?F.providers:Z,I=F.enabled&&te.length>0,C=O.enabled&&(d||!E.enabled&&!I),[c,N]=b.useState(""),[_,f]=b.useState(""),[re,ge]=b.useState(""),[oe,le]=b.useState(""),[M,de]=b.useState(!1),[ce,_e]=b.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[y,U]=b.useState(""),[he,pe]=b.useState(!1),[ke,me]=b.useState(null),a={...Be,...g},Y=b.useId(),q=`${Y}-email`,D=`${Y}-email-error`,fe=`${Y}-name`,xe=`${Y}-password`,be=`${Y}-otp`,v=ce==="signUp",R=ce==="forgotPassword",k=ce==="emailOtp",J=ae({mutationFn:async({email:s,password:n,name:L})=>{try{const H=await j.submitEmailPassword({mode:v?"sign_up":"sign_in",email:s,password:n,name:L});if(H.error)throw new Error(H.error.message||(v?a.signUpFailed:a.signInFailed));return H}catch(H){throw H instanceof Error?H:new Error(a.authenticationFailed)}},onMutate:()=>{h({type:"started",method:"email_password",mode:v?"sign_up":"sign_in"})},onSuccess:()=>{h({type:"succeeded",method:"email_password",mode:v?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),W(v?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const n=await j.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(n.error)throw new Error(n.error.message||a.resetEmailFailed);return n},onSuccess:()=>{W("password_reset_requested"),pe(!0)},onError:s=>{W("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),z=ae({mutationFn:async({email:s})=>{const n=await j.sendOtp({email:s});if(n.error)throw new Error(n.error.message||a.otpSendFailed);return n},onMutate:()=>{h({type:"started",method:"email_otp"})},onSuccess:()=>{h({type:"otp_sent",method:"email_otp"}),W("email_otp_sent"),de(!0)},onError:s=>{h({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),B=ae({mutationFn:async({email:s,otp:n})=>{const L=await j.submitOtp({email:s,otp:n});if(L.error)throw new Error(L.error.message||a.invalidCode);return L},onMutate:()=>{h({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{h({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),se=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),ue=()=>{c.trim()&&!se(c)&&U(a.invalidEmail)},Le=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}J.mutate({email:c,password:_,name:re})},Oe=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail);return}K.mutate({email:c})},Re=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}z.mutate({email:c})},Te=s=>{s.preventDefault(),B.mutate({email:c,otp:oe})},V=s=>n=>{s(n.target.value),we&&J.reset(),ve&&K.reset(),ye&&(z.reset(),B.reset()),s===N&&y&&U("")},Q=s=>{_e(s),ge(""),le(""),de(!1),U(""),pe(!1),me(null),J.reset(),K.reset(),z.reset(),B.reset()},m=J.isPending||K.isPending||z.isPending||B.isPending,we=J.error,ve=K.error,ye=z.error||B.error,T=v?c.trim()&&_.trim()&&re.trim():R?c.trim():k?M?oe.trim():c.trim():c.trim()&&_.trim(),$e=s=>{if(!s)return null;const n=s.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?a.invalidEmailOrPassword:n.includes("already exists")||n.includes("409")?a.accountExists:n.includes("network")||n.includes("fetch")?a.networkError:n.includes("rate limit")||n.includes("429")?a.tooManyAttempts:n.includes("invalid")&&n.includes("otp")?a.invalidOrExpiredCode:s.message||a.genericError},Ee=we||ve||ye||ke,We=async s=>{h({type:"started",method:"social",provider:s}),me(null);try{const n=await j.socialSignIn({provider:s,callbackURL:i??e});if(n.error)throw new Error(n.error.message||a.authenticationFailed)}catch(n){const L=n instanceof Error?n.message:String(n);h({type:"failed",method:"social",provider:s,stage:"redirect",error:L}),W("social_signin_failed",{provider:s,error:L}),me(n instanceof Error?n:new Error(L))}},Me=R?a.resetPasswordTitle:k&&M?a.verificationCodeTitle:o??a.welcomeTitle,Se=R?a.resetPasswordSubtitle:k&&M?a.codeSentTo(c):l===void 0?a.defaultSubtitle:l;return t.jsxs("div",{className:x("grid w-full",p?"gap-5":"gap-10"),children:[w??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:x("font-medium",p?"text-xl leading-7":"text-2xl leading-8"),children:Me}),Se&&t.jsx("p",{className:x("text-muted-foreground",p?"text-sm leading-5":"text-base leading-6"),children:Se})]}),Ee&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:$e(Ee)}),he&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:a.resetEmailSent}),!R&&!(k&&M)&&I&&t.jsx("div",{className:"grid gap-2",children:te.map(s=>t.jsxs(X,{type:"button",variant:"outline",size:p?"lg":"xl",disabled:m,onClick:()=>{We(s.name)},className:"w-full gap-3",children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:x("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),a.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!R&&!(k&&M)&&I&&(C||E.enabled)&&t.jsxs("div",{className:x("flex items-center gap-2.5",p?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:x("text-muted-foreground",p?"text-sm":"text-base"),children:a.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),k&&E.enabled&&t.jsx(t.Fragment,{children:M?t.jsxs("form",{onSubmit:Te,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:be,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.verificationCodeLabel}),t.jsx(G,{id:be,type:"text",placeholder:a.enterCodePlaceholder,value:oe,onChange:V(le),required:!0,disabled:m,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11"})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.verifying:a.verify}),t.jsx("button",{type:"button",onClick:()=>{de(!1),le(""),z.reset(),B.reset()},disabled:m,className:x("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",p&&"sm:col-span-2"),children:a.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Re,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:q,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:a.emailPlaceholder,value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive",children:y})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.sending:a.sendCode})]})}),R&&C&&!he&&t.jsxs("form",{onSubmit:Oe,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsx(X,{type:"submit",disabled:m||!T,className:"w-full font-semibold",size:"xl",children:m?a.sending:a.sendResetLink})]}),!R&&!k&&C&&t.jsxs("form",{onSubmit:Le,className:"grid gap-5",children:[v&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:fe,className:"block text-sm font-medium text-foreground mb-2",children:a.nameLabel}),t.jsx(G,{id:fe,type:"text",placeholder:a.namePlaceholder,value:re,onChange:V(ge),required:!0,disabled:m,autoComplete:"name",className:"h-11"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:xe,className:"block text-sm font-medium text-foreground",children:a.passwordLabel}),!v&&S.enabled&&t.jsx("button",{type:"button",onClick:()=>Q("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a.forgotPassword})]}),t.jsx(G,{id:xe,type:"password",placeholder:"••••••••",value:_,onChange:V(f),required:!0,disabled:m,autoComplete:v?"new-password":"current-password",className:"h-11"})]}),t.jsx("div",{className:x("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",T?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:x("p-1",!T&&"pointer-events-none"),children:t.jsx(X,{type:"submit",disabled:m||!T,className:x("w-full font-semibold"),size:"xl","aria-hidden":!T,children:m?v?a.creatingAccount:a.signingIn:a.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:R?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.backToSignIn}):k&&C?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.signInWithPassword}):!k&&C?t.jsxs(t.Fragment,{children:[v?a.alreadyHaveAccount:a.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>Q(v?"signIn":"signUp"),disabled:m,className:ie,children:v?a.signIn:a.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>Q("emailOtp"),disabled:m,className:ie,children:a.signInWithEmailCode})]})]}):null})]})}class je{constructor(e){this.response=e}response}function He(i){return i.startsWith("/")&&!i.startsWith("//")&&!i.startsWith("/\\")?i:"/"}function Ge({redirectTo:i,onAuthEvent:e}){const o=Ce(),[l,w]=b.useState(null),g=b.useEffectEvent(r=>{try{e?.(r)}catch{}});return b.useEffect(()=>{let r=!1;return(async()=>{g({type:"started",method:"local"});try{let u;try{u=await ze(async()=>{const d=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(d.status>=500)throw new je(d);return d},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(d){if(d instanceof Pe&&d.cause instanceof je)u=d.cause.response;else throw d}if(!u.ok){const d=await u.json().catch(()=>({}));throw new Error(d?.error||o("common.authEntry.autoLoginFailed"))}r||(g({type:"succeeded",method:"local"}),window.location.href=He(i))}catch(u){r||(g({type:"failed",method:"local",stage:"authenticate",error:u instanceof Error?u.message:String(u)}),w(u instanceof Error?u.message:o("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[i]),l?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:o("common.authEntry.autoLoginFailedWithError",{error:l})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:o("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function Fe(){const i=Ie.c(1);let e;return i[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Ue,{size:"lg",label:"Signing in"})}),i[0]=e):e=i[0],e}function Ye({callbackURL:i,providerId:e,ssoSignIn:o,onAuthEvent:l}){const w=b.useEffectEvent(r=>{try{l?.(r)}catch{}}),g=b.useEffectEvent(o);return b.useEffect(()=>{(async()=>{w({type:"started",method:"sso",provider:e});try{const r=await g({providerId:e,callbackURL:i});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){w({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,i]),t.jsx(Fe,{})}function Xe(i){const e=Ie.c(25),{callbackUrl:o,redirectUrl:l,allowAutoLogin:w,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,onAuthenticated:E}=i,F=w===void 0?!0:w,j=Ce(),{sso:h,emailAndPassword:p,magicLink:Z,emailOtp:ee,socialProviders:ne,localMode:te}=Ne(),I=l||o;let C;e[0]!==E?(C=E?{onAuthenticated:E}:void 0,e[0]=E,e[1]=C):C=e[1];const c=C;if(te&&F){let f;return e[2]!==S||e[3]!==I?(f=t.jsx(Ge,{redirectTo:I,onAuthEvent:S}),e[2]=S,e[3]=I,e[4]=f):f=e[4],f}if(h.enabled){let f;return e[5]!==S||e[6]!==I||e[7]!==h.providerId?(f=t.jsx(Ye,{callbackURL:I,providerId:h.providerId,ssoSignIn:Ae.ssoSignIn,onAuthEvent:S}),e[5]=S,e[6]=I,e[7]=h.providerId,e[8]=f):f=e[8],f}if(p.enabled||Z.enabled||ee.enabled||ne.enabled){let f;return e[9]!==O||e[10]!==A||e[11]!==u||e[12]!==o||e[13]!==c||e[14]!==d||e[15]!==S||e[16]!==l||e[17]!==r||e[18]!==g||e[19]!==P?(f=t.jsx(Ve,{redirectUrl:l,callbackUrl:o,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,actions:c}),e[9]=O,e[10]=A,e[11]=u,e[12]=o,e[13]=c,e[14]=d,e[15]=S,e[16]=l,e[17]=r,e[18]=g,e[19]=P,e[20]=f):f=e[20],f}let N;e[21]!==j?(N=j("common.authEntry.noLoginOptions"),e[21]=j,e[22]=N):N=e[22];let _;return e[23]!==N?(_=t.jsx("div",{children:N}),e[23]=N,e[24]=_):_=e[24],_}export{Fe as A,Xe as a};
@@ -1 +1 @@
1
- import{c as g,l as p,j as f}from"./index-BSPqDg2b.js";function w(b){const e=g.c(20),{children:m,visual:r,align:j}=b,d=(j===void 0?"center":j)==="fill",x=d?"min-h-[100dvh] md:min-h-screen":"min-h-screen";let l;e[0]!==x?(l=p("flex w-full",x),e[0]=x,e[1]=l):l=e[1];const h=d?"h-[100dvh] justify-start pt-4 pb-8 md:h-auto":"justify-center py-6";let t;e[2]!==h?(t=p("flex flex-1 flex-col items-center bg-sidebar px-6 md:justify-center md:px-10 md:py-10",h),e[2]=h,e[3]=t):t=e[3];const u=d&&"flex min-h-0 flex-1 flex-col md:block md:flex-none";let s;e[4]!==u?(s=p("w-full max-w-[440px]",u),e[4]=u,e[5]=s):s=e[5];let i;e[6]!==m||e[7]!==s?(i=f.jsx("div",{className:s,children:m}),e[6]=m,e[7]=s,e[8]=i):i=e[8];let n;e[9]!==t||e[10]!==i?(n=f.jsx("section",{className:t,children:i}),e[9]=t,e[10]=i,e[11]=n):n=e[11];let c;e[12]!==r?(c=r??f.jsx("img",{src:"/onboarding-placeholder.png",alt:"",className:"absolute inset-0 h-full w-full object-cover"}),e[12]=r,e[13]=c):c=e[13];let a;e[14]!==c?(a=f.jsx("aside",{className:"relative hidden flex-1 overflow-hidden bg-muted md:flex",children:c}),e[14]=c,e[15]=a):a=e[15];let o;return e[16]!==a||e[17]!==l||e[18]!==n?(o=f.jsxs("main",{className:l,children:[n,a]}),e[16]=a,e[17]=l,e[18]=n,e[19]=o):o=e[19],o}export{w as A};
1
+ import{c as g,l as p,j as f}from"./index-BNmzMNlZ.js";function w(b){const e=g.c(20),{children:m,visual:r,align:j}=b,d=(j===void 0?"center":j)==="fill",x=d?"min-h-[100dvh] md:min-h-screen":"min-h-screen";let l;e[0]!==x?(l=p("flex w-full",x),e[0]=x,e[1]=l):l=e[1];const h=d?"h-[100dvh] justify-start pt-4 pb-8 md:h-auto":"justify-center py-6";let t;e[2]!==h?(t=p("flex flex-1 flex-col items-center bg-sidebar px-6 md:justify-center md:px-10 md:py-10",h),e[2]=h,e[3]=t):t=e[3];const u=d&&"flex min-h-0 flex-1 flex-col md:block md:flex-none";let s;e[4]!==u?(s=p("w-full max-w-[440px]",u),e[4]=u,e[5]=s):s=e[5];let i;e[6]!==m||e[7]!==s?(i=f.jsx("div",{className:s,children:m}),e[6]=m,e[7]=s,e[8]=i):i=e[8];let n;e[9]!==t||e[10]!==i?(n=f.jsx("section",{className:t,children:i}),e[9]=t,e[10]=i,e[11]=n):n=e[11];let c;e[12]!==r?(c=r??f.jsx("img",{src:"/onboarding-placeholder.png",alt:"",className:"absolute inset-0 h-full w-full object-cover"}),e[12]=r,e[13]=c):c=e[13];let a;e[14]!==c?(a=f.jsx("aside",{className:"relative hidden flex-1 overflow-hidden bg-muted md:flex",children:c}),e[14]=c,e[15]=a):a=e[15];let o;return e[16]!==a||e[17]!==l||e[18]!==n?(o=f.jsxs("main",{className:l,children:[n,a]}),e[16]=a,e[17]=l,e[18]=n,e[19]=o):o=e[19],o}export{w as A};
@@ -1 +1 @@
1
- import{a as u}from"./mcp-oauth-4UvGlLYO.js";import{i as p}from"./mcp-oauth-Bn5p4oSU.js";async function k({connectionId:n,orgId:s,orgSlug:o,persistFallback:r}){const c=new URL(`/api/${o}/mcp/${n}`,window.location.origin),i=await p({url:c.href,token:null,orgId:s});if(!i.supportsOAuth||i.isAuthenticated)return{ran:!1,ok:!0,error:null};const{token:t,tokenInfo:e,error:a}=await u({connectionId:n,orgSlug:o,scope:"offline_access"});if(a||!t)return{ran:!0,ok:!1,error:a??"no token received"};if(e)try{(await fetch(`/api/${o}/connections/${n}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,scope:e.scope,clientId:e.clientId,clientSecret:e.clientSecret,tokenEndpoint:e.tokenEndpoint})})).ok||await r(t)}catch{await r(t)}else await r(t);return{ran:!0,ok:!0,error:null}}export{k as a};
1
+ import{a as u}from"./mcp-oauth-DBMA8wIh.js";import{i as p}from"./mcp-oauth-C9hLQucs.js";async function k({connectionId:n,orgId:s,orgSlug:o,persistFallback:r}){const c=new URL(`/api/${o}/mcp/${n}`,window.location.origin),i=await p({url:c.href,token:null,orgId:s});if(!i.supportsOAuth||i.isAuthenticated)return{ran:!1,ok:!0,error:null};const{token:t,tokenInfo:e,error:a}=await u({connectionId:n,orgSlug:o,scope:"offline_access"});if(a||!t)return{ran:!0,ok:!1,error:a??"no token received"};if(e)try{(await fetch(`/api/${o}/connections/${n}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,scope:e.scope,clientId:e.clientId,clientSecret:e.clientSecret,tokenEndpoint:e.tokenEndpoint})})).ok||await r(t)}catch{await r(t)}else await r(t);return{ran:!0,ok:!0,error:null}}export{k as a};
@@ -0,0 +1 @@
1
+ import{c as G,b as J,r as ee,l as q,j as t,V as te,B as se,Z as ie,Y as ne,X as ae,aM as oe,aN as le,aO as re,aP as ce,bl as me,aQ as ue,aR as de,aS as fe}from"./index-BNmzMNlZ.js";import{B as ge}from"./badge-DeNt4-FX.js";import{A as xe,W as pe}from"./agent-icon-CVEMdYFU.js";import{i as he}from"./DotsVertical-qUaZHjqd.js";import{s as je}from"./Trash01-cH2tYIUn.js";import{i as we}from"./ZoomOut-B1U_CHeD.js";import{c as _e}from"./repository-binding-BZ7FmJ0X.js";import{a as ve}from"./use-automations-BscjsX1o.js";function ze(c){const e=G.c(89),{automation:s,showAgent:o,onClick:n}=c,i=J(),{remove:a}=ve(),[r,H]=ee.useState(!1),l=_e(o?s.virtual_mcp_id:void 0);let E;e[0]!==s.id||e[1]!==a?(E=()=>{a.mutate(s.id),H(!1)},e[0]=s.id,e[1]=a,e[2]=E):E=e[2];const Q=E;let F;e[3]!==n?(F=m=>{m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),n())},e[3]=n,e[4]=F):F=e[4];const W=F,X=s.active&&s.trigger_count>0?"bg-success":"bg-muted-foreground/40";let u;e[5]!==X?(u=q("inline-block size-2 rounded-full shrink-0",X),e[5]=X,e[6]=u):u=e[6];const Y=s.active&&s.trigger_count>0?"automations.automationListRow.ariaActive":s.active?"automations.automationListRow.ariaNoTriggers":"automations.automationListRow.ariaPaused";let d;e[7]!==i||e[8]!==Y?(d=i(Y),e[7]=i,e[8]=Y,e[9]=d):d=e[9];let f;e[10]!==u||e[11]!==d?(f=t.jsx("span",{className:u,"aria-label":d}),e[10]=u,e[11]=d,e[12]=f):f=e[12];let g;e[13]!==l?.icon||e[14]!==l?.title||e[15]!==s.name||e[16]!==o?(g=o&&t.jsx(xe,{icon:l?.icon??null,name:l?.title??s.name,size:"xs",className:"shrink-0"}),e[13]=l?.icon,e[14]=l?.title,e[15]=s.name,e[16]=o,e[17]=g):g=e[17];let x;e[18]!==s.name?(x=t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.name}),e[18]=s.name,e[19]=x):x=e[19];let p;e[20]!==s.system_key||e[21]!==i?(p=s.system_key&&t.jsx(ge,{variant:"muted",children:i("automations.builtin.badge")}),e[20]=s.system_key,e[21]=i,e[22]=p):p=e[22];let h;e[23]!==l||e[24]!==o?(h=o&&l&&t.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["· ",l.title]}),e[23]=l,e[24]=o,e[25]=h):h=e[25];let j;e[26]!==p||e[27]!==h||e[28]!==x?(j=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[x,p,h]}),e[26]=p,e[27]=h,e[28]=x,e[29]=j):j=e[29];let w;e[30]!==s.nearest_next_run_at||e[31]!==s.trigger_count?(w=t.jsx(De,{triggerCount:s.trigger_count,nextRunAt:s.nearest_next_run_at}),e[30]=s.nearest_next_run_at,e[31]=s.trigger_count,e[32]=w):w=e[32];let _;e[33]!==j||e[34]!==w?(_=t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[j,w]}),e[33]=j,e[34]=w,e[35]=_):_=e[35];const Z=s.system_key&&"invisible";let v;e[36]!==Z?(v=q("shrink-0",Z),e[36]=Z,e[37]=v):v=e[37];let $;e[38]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx(te,{asChild:!0,children:t.jsx(se,{variant:"ghost",size:"icon",className:"opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:t.jsx(he,{size:16})})}),e[38]=$):$=e[38];let K,I;e[39]===Symbol.for("react.memo_cache_sentinel")?(K=m=>{m.stopPropagation(),H(!0)},I=t.jsx(je,{size:16}),e[39]=K,e[40]=I):(K=e[39],I=e[40]);let y;e[41]!==i?(y=i("automations.automationListRow.delete"),e[41]=i,e[42]=y):y=e[42];let A;e[43]!==y?(A=t.jsxs(ie,{children:[$,t.jsx(ne,{align:"end",children:t.jsxs(ae,{variant:"destructive",onClick:K,children:[I,y]})})]}),e[43]=y,e[44]=A):A=e[44];let D;e[45]!==v||e[46]!==A?(D=t.jsx("div",{onClick:Ae,onKeyDown:ye,role:"presentation",className:v,children:A}),e[45]=v,e[46]=A,e[47]=D):D=e[47];let R;e[48]!==W||e[49]!==n||e[50]!==_||e[51]!==D||e[52]!==f||e[53]!==g?(R=t.jsxs("div",{role:"button",tabIndex:0,onClick:n,onKeyDown:W,className:"group w-full flex items-center gap-3 px-4 py-3 text-left hover:bg-accent transition-colors cursor-pointer focus-ring",children:[f,g,_,D]}),e[48]=W,e[49]=n,e[50]=_,e[51]=D,e[52]=f,e[53]=g,e[54]=R):R=e[54];let N;e[55]!==i?(N=i("automations.automationListRow.deleteTitle"),e[55]=i,e[56]=N):N=e[56];let k;e[57]!==N?(k=t.jsx(oe,{children:N}),e[57]=N,e[58]=k):k=e[58];let b;e[59]!==s.name||e[60]!==i?(b=i("automations.automationListRow.deleteDescription",{name:s.name}),e[59]=s.name,e[60]=i,e[61]=b):b=e[61];let L;e[62]!==b?(L=t.jsx(le,{children:b}),e[62]=b,e[63]=L):L=e[63];let C;e[64]!==k||e[65]!==L?(C=t.jsxs(re,{children:[k,L]}),e[64]=k,e[65]=L,e[66]=C):C=e[66];let P;e[67]!==i?(P=i("automations.automationListRow.cancel"),e[67]=i,e[68]=P):P=e[68];let T;e[69]!==P?(T=t.jsx(ce,{children:P}),e[69]=P,e[70]=T):T=e[70];const U=a.isPending;let z;e[71]!==i?(z=i("automations.automationListRow.deleteButton"),e[71]=i,e[72]=z):z=e[72];let B;e[73]!==Q||e[74]!==a.isPending||e[75]!==z?(B=t.jsx(me,{onClick:Q,disabled:U,variant:"destructive",children:z}),e[73]=Q,e[74]=a.isPending,e[75]=z,e[76]=B):B=e[76];let M;e[77]!==T||e[78]!==B?(M=t.jsxs(ue,{children:[T,B]}),e[77]=T,e[78]=B,e[79]=M):M=e[79];let S;e[80]!==C||e[81]!==M?(S=t.jsxs(de,{children:[C,M]}),e[80]=C,e[81]=M,e[82]=S):S=e[82];let O;e[83]!==r||e[84]!==S?(O=t.jsx(fe,{open:r,onOpenChange:H,children:S}),e[83]=r,e[84]=S,e[85]=O):O=e[85];let V;return e[86]!==R||e[87]!==O?(V=t.jsxs(t.Fragment,{children:[R,O]}),e[86]=R,e[87]=O,e[88]=V):V=e[88],V}function ye(c){return c.stopPropagation()}function Ae(c){return c.stopPropagation()}function De(c){const e=G.c(8),{triggerCount:s,nextRunAt:o}=c,n=J();if(s===0){let a;e[0]!==n?(a=n("automations.automationListRow.noTriggers"),e[0]=n,e[1]=a):a=e[1];let r;return e[2]!==a?(r=t.jsx("span",{className:"text-xs text-muted-foreground",children:a}),e[2]=a,e[3]=r):r=e[3],r}let i;return e[4]!==o||e[5]!==n||e[6]!==s?(i=t.jsx("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground min-w-0",children:o?t.jsxs(t.Fragment,{children:[t.jsx(pe,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:n("automations.automationListRow.nextRun",{date:new Date(o).toLocaleString()})})]}):t.jsxs(t.Fragment,{children:[t.jsx(we,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:s===1?n("automations.automationListRow.triggersOne"):n("automations.automationListRow.triggers",{count:s})})]})}),e[4]=o,e[5]=n,e[6]=s,e[7]=i):i=e[7],i}export{ze as A};
@@ -0,0 +1 @@
1
+ import{c as V,r as ot,b as X,a4 as it,R as rt,aq as ct,b4 as ut,K as tt,j as s,l as mt,m as dt,gn as ft}from"./index-BNmzMNlZ.js";import{u as xt}from"./useInfiniteQuery-DWVaUM2t.js";import{u as pt}from"./use-connection-CAR6Cxbr.js";import{u as gt}from"./use-mcp-client-ClU7gdfw.js";import{b as ht}from"./repository-binding-BZ7FmJ0X.js";import{b as Rt,a as jt}from"./sheet-C52S-h6R.js";import{e as Nt,a as bt,b as st,T as G,d as Tt,c as Q}from"./table-CxQHf5NT.js";import{E as et}from"./empty-state-Cc_qF1X6.js";import{u as St}from"./use-infinite-scroll-0YRynoMy.js";import{g as vt}from"./task-status-DcCdeelW.js";import{e as Ct}from"./use-automations-BscjsX1o.js";import{T as It,f as at,a as nt}from"./thread-sheet-body-C0IyWshl.js";function wt(c){const t=V.c(15),[i,r]=ot.useState(null);let e;t[0]!==c||t[1]!==i?(e=i!==null?c.findIndex(u=>u.id===i):-1,t[0]=c,t[1]=i,t[2]=e):e=t[2];const a=e,l=a!==-1?c[a]:null,n=l!==null;let o,C;t[3]===Symbol.for("react.memo_cache_sentinel")?(o=u=>r(u),C=()=>r(null),t[3]=o,t[4]=C):(o=t[3],C=t[4]);let f,x;t[5]!==a||t[6]!==c?(f=()=>{const u=c[a-1];a>0&&u&&r(u.id)},x=()=>{const u=c[a+1];a!==-1&&u&&r(u.id)},t[5]=a,t[6]=c,t[7]=f,t[8]=x):(f=t[7],x=t[8]);let d;return t[9]!==a||t[10]!==l||t[11]!==n||t[12]!==f||t[13]!==x?(d={selected:l,index:a,isOpen:n,select:o,close:C,prev:f,next:x},t[9]=a,t[10]=l,t[11]=n,t[12]=f,t[13]=x,t[14]=d):d=t[14],d}const W=50;function Y(c){const t=V.c(10),{title:i,value:r,subtitle:e}=c;let a;t[0]!==i?(a=s.jsx("span",{className:"text-sm text-foreground/70",children:i}),t[0]=i,t[1]=a):a=t[1];let l;t[2]!==r?(l=s.jsx("span",{className:"text-3xl font-normal tabular-nums",children:r}),t[2]=r,t[3]=l):l=t[3];let n;t[4]!==e?(n=e&&s.jsx("span",{className:"text-xs text-muted-foreground",children:e}),t[4]=e,t[5]=n):n=t[5];let o;return t[6]!==a||t[7]!==l||t[8]!==n?(o=s.jsxs(ft,{className:"pt-4 px-4 pb-5 gap-1",children:[a,l,n]}),t[6]=a,t[7]=l,t[8]=n,t[9]=o):o=t[9],o}function yt(c){const t=V.c(45),{automationId:i,range:r}=c,e=X(),{data:a,isLoading:l}=Ct(i,r),n=a?.runs,o=a?.usage;let C;t[0]!==n?(C=n&&n.total>0?`${Math.round(n.completed/n.total*100)}%`:"—",t[0]=n,t[1]=C):C=t[1];const f=C;let x;t[2]!==e||t[3]!==o?(x=o&&o.truncated?e("automations.automationRuns.lastRunsSubtitle",{count:o.sampledRuns}):void 0,t[2]=e,t[3]=o,t[4]=x):x=t[4];const d=x;let u;t[5]!==e?(u=e("automations.automationRuns.runsTitle"),t[5]=e,t[6]=u):u=t[6];let g;t[7]!==l||t[8]!==n?.total?(g=l?"…":n?.total.toLocaleString()??"0",t[7]=l,t[8]=n?.total,t[9]=g):g=t[9];let h;t[10]!==n||t[11]!==e?(h=n?`${n.completed} ${e("automations.automationRuns.ok")} · ${n.failed} ${e("automations.automationRuns.failed")}${n.inProgress>0?` · ${n.inProgress} ${e("automations.automationRuns.running")}`:""}`:void 0,t[10]=n,t[11]=e,t[12]=h):h=t[12];let R;t[13]!==u||t[14]!==g||t[15]!==h?(R=s.jsx(Y,{title:u,value:g,subtitle:h}),t[13]=u,t[14]=g,t[15]=h,t[16]=R):R=t[16];let T;t[17]!==e?(T=e("automations.automationRuns.successRateTitle"),t[17]=e,t[18]=T):T=t[18];const y=l?"…":f;let I;t[19]!==T||t[20]!==y?(I=s.jsx(Y,{title:T,value:y}),t[19]=T,t[20]=y,t[21]=I):I=t[21];let S;t[22]!==e?(S=e("automations.automationRuns.tokensTitle"),t[22]=e,t[23]=S):S=t[23];let p;t[24]!==l||t[25]!==o?.totalTokens?(p=l?"…":at(o?.totalTokens??0),t[24]=l,t[25]=o?.totalTokens,t[26]=p):p=t[26];let w;t[27]!==S||t[28]!==p||t[29]!==d?(w=s.jsx(Y,{title:S,value:p,subtitle:d}),t[27]=S,t[28]=p,t[29]=d,t[30]=w):w=t[30];let m;t[31]!==e?(m=e("automations.automationRuns.costTitle"),t[31]=e,t[32]=m):m=t[32];let j;t[33]!==l||t[34]!==o?(j=l?"…":o&&o.costUsd>0?nt(o.costUsd):"—",t[33]=l,t[34]=o,t[35]=j):j=t[35];let v;t[36]!==m||t[37]!==j||t[38]!==d?(v=s.jsx(Y,{title:m,value:j,subtitle:d}),t[36]=m,t[37]=j,t[38]=d,t[39]=v):v=t[39];let N;return t[40]!==w||t[41]!==v||t[42]!==R||t[43]!==I?(N=s.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:[R,I,w,v]}),t[40]=w,t[41]=v,t[42]=R,t[43]=I,t[44]=N):N=t[44],N}function _t(c){const t=V.c(57),{run:i,usage:r,onClick:e,lastRowRef:a}=c,l=X();let n,o;if(t[0]!==i.created_at){const k=new Date(i.created_at);n=k.toLocaleDateString("en-US",{month:"short",day:"numeric"}),o=k.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),t[0]=i.created_at,t[1]=n,t[2]=o}else n=t[1],o=t[2];const C=o;let f,x,d,u,g,h,R,T,y,I,S;if(t[3]!==a||t[4]!==e||t[5]!==i.status||t[6]!==i.title||t[7]!==l){const k=vt(i.status),U=k.icon;x=st,y=a,I="h-14 cursor-pointer hover:bg-accent transition-colors border-b-0",S=e,t[19]!==i.title?(d=s.jsx(Q,{className:"min-w-0 pr-2 pl-4 md:pr-4",children:s.jsx("div",{className:"font-medium text-foreground truncate",children:i.title})}),t[19]=i.title,t[20]=d):d=t[20],f=Q,T="w-28 px-3",h="flex items-center gap-1.5",R=s.jsx(U,{size:14,className:k.iconClassName}),u=mt("text-sm",k.labelColor),g=l(k.labelKey),t[3]=a,t[4]=e,t[5]=i.status,t[6]=i.title,t[7]=l,t[8]=f,t[9]=x,t[10]=d,t[11]=u,t[12]=g,t[13]=h,t[14]=R,t[15]=T,t[16]=y,t[17]=I,t[18]=S}else f=t[8],x=t[9],d=t[10],u=t[11],g=t[12],h=t[13],R=t[14],T=t[15],y=t[16],I=t[17],S=t[18];let p;t[21]!==u||t[22]!==g?(p=s.jsx("span",{className:u,children:g}),t[21]=u,t[22]=g,t[23]=p):p=t[23];let w;t[24]!==p||t[25]!==h||t[26]!==R?(w=s.jsxs("div",{className:h,children:[R,p]}),t[24]=p,t[25]=h,t[26]=R,t[27]=w):w=t[27];let m;t[28]!==f||t[29]!==w||t[30]!==T?(m=s.jsx(f,{className:T,children:w}),t[28]=f,t[29]=w,t[30]=T,t[31]=m):m=t[31];let j;t[32]!==r?(j=r?at(r.totalTokens):"—",t[32]=r,t[33]=j):j=t[33];let v;t[34]!==j?(v=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:j}),t[34]=j,t[35]=v):v=t[35];let N;t[36]!==r?(N=r&&r.costUsd>0?nt(r.costUsd):"—",t[36]=r,t[37]=N):N=t[37];let _;t[38]!==N?(_=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:N}),t[38]=N,t[39]=_):_=t[39];let D;t[40]!==n?(D=s.jsx("div",{children:n}),t[40]=n,t[41]=D):D=t[41];let P;t[42]!==C?(P=s.jsx("div",{className:"text-xs text-muted-foreground/60",children:C}),t[42]=C,t[43]=P):P=t[43];let E;t[44]!==D||t[45]!==P?(E=s.jsxs(Q,{className:"w-32 px-3 pr-5 text-muted-foreground",children:[D,P]}),t[44]=D,t[45]=P,t[46]=E):E=t[46];let $;return t[47]!==x||t[48]!==d||t[49]!==m||t[50]!==v||t[51]!==_||t[52]!==E||t[53]!==y||t[54]!==I||t[55]!==S?($=s.jsxs(x,{ref:y,className:I,onClick:S,children:[d,m,v,_,E]}),t[47]=x,t[48]=d,t[49]=m,t[50]=v,t[51]=_,t[52]=E,t[53]=y,t[54]=I,t[55]=S,t[56]=$):$=t[56],$}function Vt(c){const t=V.c(73),{automationId:i,triggerIds:r,range:e}=c,a=X(),{org:l,locator:n}=it();let o;t[0]!==l.id||t[1]!==l.slug?(o={connectionId:rt,orgId:l.id,orgSlug:l.slug},t[0]=l.id,t[1]=l.slug,t[2]=o):o=t[2];const C=gt(o),f=ct(),x=pt(),d=ht(),{data:u}=ut(),g=r.length>0;let h;t[3]!==i||t[4]!==l.id||t[5]!==r?(h=tt.automationRuns(l.id,i,r),t[3]=i,t[4]=l.id,t[5]=r,t[6]=h):h=t[6];let R;t[7]!==f||t[8]!==r?(R=async M=>{const{pageParam:J}=M,lt=J===void 0?0:J;return await f.call("COLLECTION_THREADS_LIST",{limit:W,offset:lt,where:{trigger_ids:r}})},t[7]=f,t[8]=r,t[9]=R):R=t[9];let T;t[10]!==g||t[11]!==h||t[12]!==R?(T={queryKey:h,queryFn:R,initialPageParam:0,getNextPageParam:Et,enabled:g,staleTime:3e4},t[10]=g,t[11]=h,t[12]=R,t[13]=T):T=t[13];const{data:y,fetchNextPage:I,hasNextPage:S,isFetchingNextPage:p,isLoading:w}=xt(T);let m,j,v,N;t[14]!==y?.pages||t[15]!==n||t[16]!==e?(m=(y?.pages??[]).flatMap(Dt),N=m.map(kt),v=dt,j=tt.monitoringThreadUsage(n,JSON.stringify({ids:N,...e})),t[14]=y?.pages,t[15]=n,t[16]=e,t[17]=m,t[18]=j,t[19]=v,t[20]=N):(m=t[17],j=t[18],v=t[19],N=t[20]);let _;t[21]!==e||t[22]!==f||t[23]!==N?(_=async()=>await f.call("MONITORING_THREAD_USAGE",{threadIds:N,...e.startDate?{startDate:e.startDate}:{},...e.endDate?{endDate:e.endDate}:{}}),t[21]=e,t[22]=f,t[23]=N,t[24]=_):_=t[24];const D=N.length>0;let P;t[25]!==j||t[26]!==_||t[27]!==D?(P={queryKey:j,queryFn:_,enabled:D,staleTime:3e4},t[25]=j,t[26]=_,t[27]=D,t[28]=P):P=t[28];const{data:E}=v(P);let $;t[29]!==E?.items?($=new Map((E?.items??[]).map(Pt)),t[29]=E?.items,t[30]=$):$=t[30];const k=$;let U;t[31]!==I||t[32]!==S||t[33]!==p?(U=()=>{S&&!p&&I()},t[31]=I,t[32]=S,t[33]=p,t[34]=U):U=t[34];const Z=St(U,S??!1,p),b=wt(m),B=b.selected;let L;t[35]!==i||t[36]!==e?(L=s.jsx(yt,{automationId:i,range:e}),t[35]=i,t[36]=e,t[37]=L):L=t[37];let O;t[38]!==g||t[39]!==w||t[40]!==Z||t[41]!==m||t[42]!==b||t[43]!==a||t[44]!==k?(O=g?w?s.jsx("div",{className:"py-16 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingRuns")}):m.length===0?s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noRunsTitle"),description:a("automations.automationRuns.noRunsDescription")})}):s.jsxs(Nt,{className:"w-full border-collapse",children:[s.jsx(bt,{className:"border-b-0",children:s.jsxs(st,{className:"h-9 hover:bg-transparent border-b border-border",children:[s.jsx(G,{className:"pl-4 font-normal text-meta",children:a("automations.automationRuns.runHeader")}),s.jsx(G,{className:"w-28 px-3 font-normal text-meta",children:a("automations.automationRuns.statusHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.tokensHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.costHeader")}),s.jsx(G,{className:"w-32 px-3 pr-5 font-normal text-meta",children:a("automations.automationRuns.startedHeader")})]})}),s.jsx(Tt,{children:m.map((M,J)=>s.jsx(_t,{run:M,usage:k.get(M.id),onClick:()=>b.select(M.id),lastRowRef:J===m.length-1?Z:void 0},M.id))})]}):s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noStartersTitle"),description:a("automations.automationRuns.noStartersDescription")})}),t[38]=g,t[39]=w,t[40]=Z,t[41]=m,t[42]=b,t[43]=a,t[44]=k,t[45]=O):O=t[45];let A;t[46]!==p||t[47]!==a?(A=p&&s.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingMore")}),t[46]=p,t[47]=a,t[48]=A):A=t[48];let H;t[49]!==b?(H=M=>{M||b.close()},t[49]=b,t[50]=H):H=t[50];let q;t[51]!==x||t[52]!==d||t[53]!==C||t[54]!==n||t[55]!==u||t[56]!==m||t[57]!==B||t[58]!==b.index||t[59]!==b.next||t[60]!==b.prev?(q=B&&s.jsx(It,{thread:B,client:C,locator:n,connections:x,virtualMcps:d,members:u,nav:{index:b.index,total:m.length,onPrev:b.prev,onNext:b.next}}),t[51]=x,t[52]=d,t[53]=C,t[54]=n,t[55]=u,t[56]=m,t[57]=B,t[58]=b.index,t[59]=b.next,t[60]=b.prev,t[61]=q):q=t[61];let K;t[62]!==q?(K=s.jsx(jt,{className:"sm:max-w-2xl flex flex-col p-0 gap-0",children:q}),t[62]=q,t[63]=K):K=t[63];let F;t[64]!==b.isOpen||t[65]!==H||t[66]!==K?(F=s.jsx(Rt,{open:b.isOpen,onOpenChange:H,children:K}),t[64]=b.isOpen,t[65]=H,t[66]=K,t[67]=F):F=t[67];let z;return t[68]!==L||t[69]!==O||t[70]!==A||t[71]!==F?(z=s.jsxs("div",{className:"flex flex-col gap-5",children:[L,O,A,F]}),t[68]=L,t[69]=O,t[70]=A,t[71]=F,t[72]=z):z=t[72],z}function Pt(c){return[c.threadId,{calls:c.calls,inputTokens:c.inputTokens,outputTokens:c.outputTokens,totalTokens:c.totalTokens,costUsd:c.costUsd}]}function kt(c){return c.id}function Dt(c){return c.items??[]}function Et(c,t){const i=c,r=t;if(!((i?.items?.length??0)<W))return r.length*W}export{Vt as A,wt as u};