decocms 3.26.3 → 3.27.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 (238) hide show
  1. package/dist/client/assets/{AlertCircle-DTxB9pUH.js → AlertCircle-Dk6vk346.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-zXKZw2Xb.js → ArrowUpRight-4oEjocH3.js} +1 -1
  3. package/dist/client/assets/{Check-CTLrORIv.js → Check-xMlMIzVH.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-BUQijftD.js → CheckCircle-ieh2HpZJ.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-CE2QQfze.js → ChevronDown-DXk0XLak.js} +1 -1
  6. package/dist/client/assets/{ChevronLeft-Cu7s4gqK.js → ChevronLeft-z0R4UDTf.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-VGojeAFz.js → ChevronRight-TZkuqway.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-4IXM99ti.js → ChevronUp-CDwUhj6r.js} +1 -1
  9. package/dist/client/assets/{Container-BoFlhIZL.js → Container-BuYdkyve.js} +1 -1
  10. package/dist/client/assets/{DotsVertical--R-pmXe3.js → DotsVertical-dauL8_mz.js} +1 -1
  11. package/dist/client/assets/{Eye-pMhw6sUG.js → Eye-DjmQZ2p3.js} +1 -1
  12. package/dist/client/assets/{FilterLines-Bz8yyibx.js → FilterLines-DCVUz1mF.js} +1 -1
  13. package/dist/client/assets/{Globe01-Cp3X_WfB.js → Globe01-BFX2DjNo.js} +1 -1
  14. package/dist/client/assets/{HardDrive-BH54c3De.js → HardDrive-ep-sJwLU.js} +1 -1
  15. package/dist/client/assets/{Key01-CfBifHqv.js → Key01-u8nOkLN5.js} +1 -1
  16. package/dist/client/assets/{LayoutLeft-DhbihSgJ.js → LayoutLeft-Ozgz9jeL.js} +1 -1
  17. package/dist/client/assets/{LinkExternal01-BGLjTHSM.js → LinkExternal01-C_bnt3ki.js} +1 -1
  18. package/dist/client/assets/{Monitor01-Djh_XBKr.js → Monitor01-BBuvzSNf.js} +1 -1
  19. package/dist/client/assets/{Palette-PH8MXuP9.js → Palette-CJj0LVDj.js} +1 -1
  20. package/dist/client/assets/{Play-C4oLlMWL.js → Play-BUy7F0as.js} +1 -1
  21. package/dist/client/assets/{Plus-BX4ueqQS.js → Plus-CSmw6cpp.js} +1 -1
  22. package/dist/client/assets/{RefreshCcw01-Duj7NlwB.js → RefreshCcw01-Ct_5xx8z.js} +1 -1
  23. package/dist/client/assets/{SearchMd-CL91MHi_.js → SearchMd-DXp3IUvU.js} +1 -1
  24. package/dist/client/assets/{Settings02-DWXKmfg4.js → Settings02-DttqwSGe.js} +1 -1
  25. package/dist/client/assets/{Shield01-5PYVS020.js → Shield01-BlrpeOP8.js} +1 -1
  26. package/dist/client/assets/{Star01-E49TkgRa.js → Star01-s_hRJjwq.js} +1 -1
  27. package/dist/client/assets/{Stars01-NNVgYP83.js → Stars01-U1zM7H-d.js} +1 -1
  28. package/dist/client/assets/{Stars02-BVMEIcco.js → Stars02-Cg2K8h2t.js} +1 -1
  29. package/dist/client/assets/{Sun-CC_Mb8Zc.js → Sun-D1pch37z.js} +1 -1
  30. package/dist/client/assets/{SwitchHorizontal01-Fq29tGDx.js → SwitchHorizontal01-DUBxuMB8.js} +1 -1
  31. package/dist/client/assets/{Tool01-B2YQjPAa.js → Tool01-CSM07Bd3.js} +1 -1
  32. package/dist/client/assets/{Trash01-XqCtMZQT.js → Trash01-BOiUMUTV.js} +1 -1
  33. package/dist/client/assets/{Upload01-CTIKtpO3.js → Upload01-B45bupsd.js} +1 -1
  34. package/dist/client/assets/{User01-Cz-IdAgQ.js → User01-CMlKZMq6.js} +1 -1
  35. package/dist/client/assets/{Users01-D7P0o8Z_.js → Users01-CHcmgQX1.js} +1 -1
  36. package/dist/client/assets/{Users03-DUZwXij4.js → Users03-C19XPgsH.js} +1 -1
  37. package/dist/client/assets/{X-8xcHoVBj.js → X-LT7RIKGm.js} +1 -1
  38. package/dist/client/assets/{XCircle-CGgdji5f.js → XCircle-fZmWWsk8.js} +1 -1
  39. package/dist/client/assets/{XClose-CxCjUb2p.js → XClose-CXQHotFO.js} +1 -1
  40. package/dist/client/assets/{Zap-DLFeSSQ0.js → Zap-DhYBCL8w.js} +1 -1
  41. package/dist/client/assets/{ZapSquare-C2mTTgos.js → ZapSquare-Br5HjwCx.js} +1 -1
  42. package/dist/client/assets/{ZoomOut-CR6ja8eb.js → ZoomOut-DiWWUJB1.js} +1 -1
  43. package/dist/client/assets/{access-gate-3WvSXWjg.js → access-gate-CAbN0Agd.js} +1 -1
  44. package/dist/client/assets/{accordion-DBEoJ6NR.js → accordion-CqS3rCYY.js} +1 -1
  45. package/dist/client/assets/add-section-modal-Xtytp9xF.js +1 -0
  46. package/dist/client/assets/{agent-capabilities-CeRZY0ao.js → agent-capabilities-CH2iEpSS.js} +1 -1
  47. package/dist/client/assets/{agent-icon-DyzI2_Id.js → agent-icon-DyETFFvd.js} +1 -1
  48. package/dist/client/assets/{agent-icons-CkjHTgLo.js → agent-icons-0as3WkuR.js} +1 -1
  49. package/dist/client/assets/{agents-list-DNeWvyP9.js → agents-list-CDTD2QQV.js} +1 -1
  50. package/dist/client/assets/{ai-providers-DAK2efaH.js → ai-providers-CmBK6tVa.js} +1 -1
  51. package/dist/client/assets/{alert-BHgS7nAN.js → alert-BvaxqAIW.js} +1 -1
  52. package/dist/client/assets/{alert-dialog-tg3D4mnu.js → alert-dialog-C_C5CWIi.js} +1 -1
  53. package/dist/client/assets/app-editor-BeU6l_dS.js +1 -0
  54. package/dist/client/assets/{auth-catchall-BOC0nYtA.js → auth-catchall-DBSfiKWC.js} +1 -1
  55. package/dist/client/assets/{auth-split-layout-VA3PSXMI.js → auth-split-layout-CEZXGHtA.js} +1 -1
  56. package/dist/client/assets/{automation-list-row-SEcTO2sW.js → automation-list-row-s3KQqnbA.js} +1 -1
  57. package/dist/client/assets/{automation-runs-S95csAA4.js → automation-runs-RFg521Hi.js} +1 -1
  58. package/dist/client/assets/{automations-Ce44y56V.js → automations-C4zBnLxc.js} +1 -1
  59. package/dist/client/assets/{avatar-DK3a4hPp.js → avatar-DI2KQvq0.js} +1 -1
  60. package/dist/client/assets/{badge-SRsZ13Ha.js → badge-DqS5s_eb.js} +1 -1
  61. package/dist/client/assets/{brand-context-CHR40nnF.js → brand-context-Cg_N2T5g.js} +1 -1
  62. package/dist/client/assets/{buckets-7WU_Biyf.js → buckets-CGFQSBKU.js} +1 -1
  63. package/dist/client/assets/{calendar-CC1tf37S.js → calendar-CuCfbpTI.js} +1 -1
  64. package/dist/client/assets/{capability-load-error-C5tUHDdB.js → capability-load-error-DMe1nIxk.js} +1 -1
  65. package/dist/client/assets/{card-BU_YNBo4.js → card-C0qmaAJH.js} +1 -1
  66. package/dist/client/assets/{chat-context-Moe82J6D.js → chat-context-DEKG6yp4.js} +1 -1
  67. package/dist/client/assets/{checkbox-CGo4P_LC.js → checkbox-ClCQ7aIa.js} +1 -1
  68. package/dist/client/assets/{cli-auth-success-D15RP8BC.js → cli-auth-success-YaavH1FD.js} +1 -1
  69. package/dist/client/assets/{collection-detail-CiMl4FG7.js → collection-detail-TiY0uzM1.js} +1 -1
  70. package/dist/client/assets/{collection-display-button-M_1xgyCf.js → collection-display-button-C6_DwOqJ.js} +1 -1
  71. package/dist/client/assets/{collection-search-CfzW8Ljz.js → collection-search-uQS9yrST.js} +1 -1
  72. package/dist/client/assets/{collection-table-wrapper-B4EgEmky.js → collection-table-wrapper-CTY0qyxJ.js} +1 -1
  73. package/dist/client/assets/{collection-tabs-BxpcEAFc.js → collection-tabs-dTL9gxGq.js} +1 -1
  74. package/dist/client/assets/{collections-BthqN0MR.js → collections-5f6Mz9W3.js} +1 -1
  75. package/dist/client/assets/{command-D_uV9Uyw.js → command-DZekvH1G.js} +1 -1
  76. package/dist/client/assets/{connect-desktop-dialog-BSZmVMpV.js → connect-desktop-dialog-Bi-Fd5NF.js} +1 -1
  77. package/dist/client/assets/{connection-card-CMo6aDgc.js → connection-card-CVH5Hy6F.js} +1 -1
  78. package/dist/client/assets/{connection-detail-Mimew6o2.js → connection-detail-mj8sHl20.js} +1 -1
  79. package/dist/client/assets/{connection-form-helpers-D7eAIFli.js → connection-form-helpers-DFXgro4O.js} +1 -1
  80. package/dist/client/assets/{connections-C3EDxDCA.js → connections-D3Q6bIzz.js} +1 -1
  81. package/dist/client/assets/{decopilot-sse-pool-8oQl4q0c.js → decopilot-sse-pool-Keqs3wfV.js} +1 -1
  82. package/dist/client/assets/{dialog-DSHkVmzb.js → dialog-BE3BWPis.js} +1 -1
  83. package/dist/client/assets/{domain-settings-BOHvvqIE.js → domain-settings-Bq8L3_pf.js} +1 -1
  84. package/dist/client/assets/{drawer-BCmqLnLy.js → drawer-BSFXr7hp.js} +1 -1
  85. package/dist/client/assets/{dropdown-menu-DFCaJxA8.js → dropdown-menu-D7fqzmBS.js} +1 -1
  86. package/dist/client/assets/{dynamic-plugin-layout-D3tgFtHQ.js → dynamic-plugin-layout-CK3Aqazw.js} +1 -1
  87. package/dist/client/assets/{empty-state-CVOhfUW7.js → empty-state-BumLAiri.js} +1 -1
  88. package/dist/client/assets/{empty-state-DqgO6Psg.js → empty-state-Eik7Dn7e.js} +1 -1
  89. package/dist/client/assets/{extract-connection-data-B52LuKdR.js → extract-connection-data-BLVQkjXZ.js} +1 -1
  90. package/dist/client/assets/{features-Dsrgvggp.js → features-BPRhAfHF.js} +1 -1
  91. package/dist/client/assets/{file-explorer-CAiKkVp8.js → file-explorer-D9JJ-ABp.js} +1 -1
  92. package/dist/client/assets/{file-type-icon-ThJaLePn.js → file-type-icon-I99Qy2JI.js} +1 -1
  93. package/dist/client/assets/{files-BwgPol6-.js → files-Bo9D7ZcJ.js} +1 -1
  94. package/dist/client/assets/{form-DngzP8fb.js → form-Bn5_lJ6b.js} +1 -1
  95. package/dist/client/assets/{general-D61AQybp.js → general-BKEEaSjd.js} +1 -1
  96. package/dist/client/assets/{generate-id-CDzcbt9l.js → generate-id-D0pLsbUu.js} +1 -1
  97. package/dist/client/assets/{github-repo-picker-Dy1vUJSU.js → github-repo-picker-CKp3ba8m.js} +1 -1
  98. package/dist/client/assets/header-tab-button-CbbR6n8q.js +5 -0
  99. package/dist/client/assets/{hover-card-CK_HvQcf.js → hover-card-NLGI_Z11.js} +1 -1
  100. package/dist/client/assets/{image-field-pfu57PP0.js → image-field-Baxidks4.js} +1 -1
  101. package/dist/client/assets/{index-hwXZ3lhJ.js → index-B-No0lhl.js} +1 -1
  102. package/dist/client/assets/{index-DqC0vS4o.js → index-B6YB9tmn.js} +1 -1
  103. package/dist/client/assets/{index-5lPKE0PI.js → index-BE8dVooN.js} +1 -1
  104. package/dist/client/assets/index-BGdRrrmO.js +1 -0
  105. package/dist/client/assets/{index-LDNFPs7X.js → index-BM5cVzVa.js} +3 -3
  106. package/dist/client/assets/{index-Df6ljz6n.js → index-BTFwMarm.js} +1 -1
  107. package/dist/client/assets/{index-hMTvGWUn.js → index-Bgv8YQhF.js} +1 -1
  108. package/dist/client/assets/{index-DLy_MgNO.js → index-Bll1AlZi.js} +26 -26
  109. package/dist/client/assets/{index-Dj1voR4t.js → index-Bz4SrPhc.js} +1 -1
  110. package/dist/client/assets/{index-DdnG6T0z.js → index-CF_awNaT.js} +1 -1
  111. package/dist/client/assets/{index-G1Ev5Inf.js → index-ClpGtndr.js} +1 -1
  112. package/dist/client/assets/{index-CZJ35dl3.css → index-DfYyH4IW.css} +1 -1
  113. package/dist/client/assets/{index-BepaMXhR.js → index-DxNfIzhJ.js} +1 -1
  114. package/dist/client/assets/{index-2EH0OR7k.js → index-YVfCniqO.js} +1 -1
  115. package/dist/client/assets/index-apuzt69p.js +310 -0
  116. package/dist/client/assets/{index-D7h1Qkk4.js → index-bSiT8Vjd.js} +1 -1
  117. package/dist/client/assets/{index-redirect-BkbiWtap.js → index-redirect-DjHBgih0.js} +1 -1
  118. package/dist/client/assets/{infiniteQueryObserver-CJIUgHAf.js → infiniteQueryObserver-B-dakPwk.js} +1 -1
  119. package/dist/client/assets/{input-CTpSARTD.js → input-CMMOM0dD.js} +1 -1
  120. package/dist/client/assets/{integration-icon-BpF3qWll.js → integration-icon-DblM7d27.js} +1 -1
  121. package/dist/client/assets/{label-Dh8yif55.js → label-cKO6vIjy.js} +1 -1
  122. package/dist/client/assets/{layout-D7xM_FMD.js → layout-QBDJ_skY.js} +1 -1
  123. package/dist/client/assets/{login-BsYL8EoQ.js → login-BAGu_SJp.js} +1 -1
  124. package/dist/client/assets/{members-D3KerYs6.js → members-C7uPVWw3.js} +1 -1
  125. package/dist/client/assets/{monaco-editor-47G-YgBx.js → monaco-editor-BD33gVrt.js} +1 -1
  126. package/dist/client/assets/{monitoring-stats-row-DLPVsavd.js → monitoring-stats-row-Bvt3RsAI.js} +1 -1
  127. package/dist/client/assets/{oauth-callback-DPmGsVIH.js → oauth-callback-DvAeoSNI.js} +1 -1
  128. package/dist/client/assets/{oauth-callback-ai-provider-B2SdgtVf.js → oauth-callback-ai-provider-BuhDe7NV.js} +1 -1
  129. package/dist/client/assets/{onboarding-CUnTn08b.js → onboarding-DiyHWSGI.js} +1 -1
  130. package/dist/client/assets/{org-install-D55Hf-Ci.js → org-install-B1rM2juw.js} +1 -1
  131. package/dist/client/assets/{org-layout-D1CUrdu0.js → org-layout-Ck7vt_mB.js} +1 -1
  132. package/dist/client/assets/{org-plugin-layout-C_lutJvY.js → org-plugin-layout-Cc5oLilE.js} +1 -1
  133. package/dist/client/assets/{page-seo-form-CDMGSBfI.js → page-seo-form-CTM0Xp8N.js} +1 -1
  134. package/dist/client/assets/page-seo-sheet-nSdCZ-KL.js +1 -0
  135. package/dist/client/assets/{pair-C8e4qd_P.js → pair-BidrJ4sX.js} +5 -5
  136. package/dist/client/assets/{plugin-empty-state-DOz60yXL.js → plugin-empty-state-CERz9K1r.js} +1 -1
  137. package/dist/client/assets/{plugin-header-dSexLn5d.js → plugin-header-CISIxXxk.js} +1 -1
  138. package/dist/client/assets/{plugin-layout-DeJC8Je1.js → plugin-layout-UkXtyZlZ.js} +1 -1
  139. package/dist/client/assets/{popover-BTf4Nz5d.js → popover-CNh3Ozeq.js} +1 -1
  140. package/dist/client/assets/{post-editor-DqMVZSkF.js → post-editor-C3YLiXXM.js} +3 -3
  141. package/dist/client/assets/{primitives-C5R0vRG0.js → primitives-Y0YbWOD4.js} +1 -1
  142. package/dist/client/assets/{profile-D24Mm1Bo.js → profile-o29P_MC2.js} +1 -1
  143. package/dist/client/assets/project-app-view-DHVFZPIZ.js +1 -0
  144. package/dist/client/assets/record-editor-DtXRmftd.js +1 -0
  145. package/dist/client/assets/registry-jlRh9TsH.js +2 -0
  146. package/dist/client/assets/{registry-layout-BTGZh3rH.js → registry-layout-zUgwlIce.js} +1 -1
  147. package/dist/client/assets/{require-capability-VkdqqQVh.js → require-capability-CQkA6hP5.js} +1 -1
  148. package/dist/client/assets/{required-auth-layout-B_Qr5rQD.js → required-auth-layout-Sv9_QEzP.js} +1 -1
  149. package/dist/client/assets/{reset-password-EasI5IT7.js → reset-password-C1pH8pyn.js} +1 -1
  150. package/dist/client/assets/{resizable-psD7TWaW.js → resizable-BTpQlX-z.js} +1 -1
  151. package/dist/client/assets/{roles-DcdBU5wW.js → roles-CL5RMNps.js} +1 -1
  152. package/dist/client/assets/save-referenced-block-JBVOc1Wy.js +1 -0
  153. package/dist/client/assets/{save-status-BBtiR3n4.js → save-status-Dfy3Cw0L.js} +1 -1
  154. package/dist/client/assets/{schema-form-CQrr8C2Q.js → schema-form-BLq0KNxn.js} +1 -1
  155. package/dist/client/assets/{scroll-area-EinmnR6o.js → scroll-area-SRbC7c25.js} +1 -1
  156. package/dist/client/assets/{search-input-IQT_u5qN.js → search-input-JFEU6QlH.js} +1 -1
  157. package/dist/client/assets/{secrets-CvkPaEJL.js → secrets-DvkQvbwt.js} +1 -1
  158. package/dist/client/assets/{sections-editor-4lprX9C-.js → sections-editor-HXjdp6eB.js} +2 -2
  159. package/dist/client/assets/{select-Dz1PdScB.js → select-CTk6Rsq0.js} +1 -1
  160. package/dist/client/assets/{select-model-azh5-bst.js → select-model-D2KMm6n2.js} +1 -1
  161. package/dist/client/assets/{seo-editor-Bhb2HHgZ.js → seo-editor-ifMY-Fw8.js} +1 -1
  162. package/dist/client/assets/{settings-layout-DXfn8mRu.js → settings-layout-BCPOwwNR.js} +1 -1
  163. package/dist/client/assets/{settings-section-DqhmLe6Q.js → settings-section-CcspUfab.js} +1 -1
  164. package/dist/client/assets/{sheet-CtgWE_6O.js → sheet-DokH5LKH.js} +1 -1
  165. package/dist/client/assets/{shell-controls-D5kseyts.js → shell-controls-rZZhpuW4.js} +1 -1
  166. package/dist/client/assets/{shell-layout-CWL5imKS.js → shell-layout-DO1LZiwY.js} +1 -1
  167. package/dist/client/assets/{shell-route-loading-Co6LGu_q.js → shell-route-loading-DI9OtFHe.js} +1 -1
  168. package/dist/client/assets/{sidebar-DRcLUASh.js → sidebar-hk7mPADd.js} +1 -1
  169. package/dist/client/assets/{skeleton-BH3hvPuC.js → skeleton-CxMjy9Kg.js} +1 -1
  170. package/dist/client/assets/{sortable.esm-Bv55LbH0.js → sortable.esm-BnSJaRIy.js} +1 -1
  171. package/dist/client/assets/{spinner-B_3Siejz.js → spinner-Dstb6AhM.js} +1 -1
  172. package/dist/client/assets/{sso-0oMpJ4kh.js → sso-lfWsp7Wf.js} +1 -1
  173. package/dist/client/assets/{store-BVB26WGO.js → store-CHpKgn9g.js} +1 -1
  174. package/dist/client/assets/store-registry-D9xAoVoW.js +2 -0
  175. package/dist/client/assets/{studio-tools-BxKekKsO.js → studio-tools-I8Y7AvNq.js} +1 -1
  176. package/dist/client/assets/{switch-DH2AgpKj.js → switch-Ds4XHhlB.js} +1 -1
  177. package/dist/client/assets/{tab-id-xylxHxk-.js → tab-id-D_jK7L5o.js} +1 -1
  178. package/dist/client/assets/{table-BF0TGzWk.js → table-BvWfaT33.js} +1 -1
  179. package/dist/client/assets/{tabs-zn3_c2X4.js → tabs-2_PrfGe1.js} +1 -1
  180. package/dist/client/assets/{task-status-CcBiqoc9.js → task-status-CyBgq1B0.js} +1 -1
  181. package/dist/client/assets/{textarea--0YfTbVD.js → textarea-D7mZzw_Y.js} +1 -1
  182. package/dist/client/assets/{toggle-group-CzCtoT44.js → toggle-group-CcV2qfqh.js} +1 -1
  183. package/dist/client/assets/{toolbar-GqBUNMmA.js → toolbar-Vk0X9zFW.js} +1 -1
  184. package/dist/client/assets/{tools-list-6mOdBofe.js → tools-list-DZyHvyxj.js} +1 -1
  185. package/dist/client/assets/{tooltip-DUvSyhJC.js → tooltip-B2vnmSMM.js} +1 -1
  186. package/dist/client/assets/{types-DA4RGvyb.js → types-DsBzghfJ.js} +1 -1
  187. package/dist/client/assets/{use-ai-providers-D2lIJSNP.js → use-ai-providers-BDbyWdvc.js} +1 -1
  188. package/dist/client/assets/{use-automations-DBfmwk1I.js → use-automations-DjpksCFK.js} +1 -1
  189. package/dist/client/assets/{use-capability-B4Fg7dX0.js → use-capability-cYRWRLhr.js} +1 -1
  190. package/dist/client/assets/{use-collections-CmHxKkjG.js → use-collections-DI2EpqEk.js} +1 -1
  191. package/dist/client/assets/{use-connection-DBknh1_S.js → use-connection-Cam2HslE.js} +1 -1
  192. package/dist/client/assets/{use-copy-Cwl7g8AE.js → use-copy-CyNGh3eK.js} +1 -1
  193. package/dist/client/assets/{use-create-virtual-mcp-C1TsXsHi.js → use-create-virtual-mcp-TPoPQ6hG.js} +1 -1
  194. package/dist/client/assets/{use-debounced-autosave-Bxr0aFzV.js → use-debounced-autosave-b8Qk2OvK.js} +1 -1
  195. package/dist/client/assets/{use-delete-connection-R6nqWnGZ.js → use-delete-connection-DXpw9Kqu.js} +1 -1
  196. package/dist/client/assets/{use-file-configs-DWXPP8uC.js → use-file-configs-J3tDrhRd.js} +1 -1
  197. package/dist/client/assets/{use-infinite-scroll-SoMG-nf0.js → use-infinite-scroll-CF4jvsDL.js} +1 -1
  198. package/dist/client/assets/{use-list-state-RN4viRCb.js → use-list-state-C3OBf8IN.js} +1 -1
  199. package/dist/client/assets/{use-mcp-client-FbAC4-Un.js → use-mcp-client-Des-fSV9.js} +1 -1
  200. package/dist/client/assets/{use-mcp-prompts-yCzBJuZf.js → use-mcp-prompts-d7xtcVsP.js} +1 -1
  201. package/dist/client/assets/{use-mcp-tools-CxFt6L0J.js → use-mcp-tools-DVBLMBo3.js} +1 -1
  202. package/dist/client/assets/{use-members-B2ko1Eht.js → use-members-CTowYB9Z.js} +1 -1
  203. package/dist/client/assets/{use-navigate-to-agent-Bg4INoCb.js → use-navigate-to-agent-TzPRxzJx.js} +1 -1
  204. package/dist/client/assets/{use-org-auth-client-D0Et-q9V.js → use-org-auth-client-uSzlmndB.js} +1 -1
  205. package/dist/client/assets/{use-org-sso-Ba3MjbPK.js → use-org-sso-Bez1Sajf.js} +1 -1
  206. package/dist/client/assets/{use-organization-roles-jFwocdK5.js → use-organization-roles-DfnjRa-5.js} +1 -1
  207. package/dist/client/assets/{use-organization-settings-Bdk0M31t.js → use-organization-settings-B5dKExdR.js} +1 -1
  208. package/dist/client/assets/{use-registry-connections-DkTd3pip.js → use-registry-connections-CWiPZtVM.js} +1 -1
  209. package/dist/client/assets/{use-secrets-B3XtAhqh.js → use-secrets-CrukgaJs.js} +1 -1
  210. package/dist/client/assets/{use-status-sounds-Bi-eGoxq.js → use-status-sounds-B1WepgCG.js} +1 -1
  211. package/dist/client/assets/{use-view-mode-CVu0jG_s.js → use-view-mode-q_aFx9Fj.js} +1 -1
  212. package/dist/client/assets/{use-virtual-mcp-CL360k9_.js → use-virtual-mcp-71PpEQrs.js} +1 -1
  213. package/dist/client/assets/useInfiniteQuery-Dl7i7ptk.js +1 -0
  214. package/dist/client/assets/{useRouterState-CBsQY2cY.js → useRouterState-l6E4h2DF.js} +1 -1
  215. package/dist/client/assets/useSuspenseInfiniteQuery-CmT2FyND.js +1 -0
  216. package/dist/client/assets/{user-ce-n8AzQ.js → user-ZvpM4E3a.js} +1 -1
  217. package/dist/client/assets/{view-mode-toggle-DPvhvCSl.js → view-mode-toggle-oQJDkJzK.js} +1 -1
  218. package/dist/client/assets/workflow-detail-Ba-EIKe1.js +1 -0
  219. package/dist/client/assets/{workflow-DEw4Tgx1.js → workflow-i0CMnn6N.js} +1 -1
  220. package/dist/client/index.html +2 -2
  221. package/dist/server/cli.js +439 -419
  222. package/dist/server/migrate.js +95 -95
  223. package/dist/server/server.js +287 -282
  224. package/package.json +1 -1
  225. package/dist/client/assets/add-section-modal-B-90MHzy.js +0 -1
  226. package/dist/client/assets/app-editor-WcogQO88.js +0 -1
  227. package/dist/client/assets/header-tab-button-YP4v_sFN.js +0 -5
  228. package/dist/client/assets/index-CIBQMZc3.js +0 -310
  229. package/dist/client/assets/index-Dy_atLRy.js +0 -1
  230. package/dist/client/assets/page-seo-sheet-D9mMBTfk.js +0 -1
  231. package/dist/client/assets/project-app-view-Bww_ZnyA.js +0 -1
  232. package/dist/client/assets/record-editor-dyb9Ijad.js +0 -1
  233. package/dist/client/assets/registry-BnciKKiV.js +0 -2
  234. package/dist/client/assets/save-referenced-block-H29Sz2fU.js +0 -1
  235. package/dist/client/assets/store-registry-CO_g7WZl.js +0 -2
  236. package/dist/client/assets/useInfiniteQuery-68Zg22Ld.js +0 -1
  237. package/dist/client/assets/useSuspenseInfiniteQuery-C32oPBV5.js +0 -1
  238. package/dist/client/assets/workflow-detail-DPYK3MGg.js +0 -1
@@ -1 +1 @@
1
- import{e as k,j as o,p as T,r as N,O as D}from"./index-DLy_MgNO.js";import{u as z,S as E,a as I,b as L}from"./sidebar-DRcLUASh.js";import{T as M,a as O,b as A,u as P}from"./tooltip-DUvSyhJC.js";import{S as $,a as W,b as B}from"./shell-route-loading-Co6LGu_q.js";import{u as X,C as H}from"./chat-context-Moe82J6D.js";import{T as F}from"./tab-id-xylxHxk-.js";import{i as q}from"./Monitor01-Djh_XBKr.js";import{v as G,C as K}from"./connect-desktop-dialog-BSZmVMpV.js";import{T as Y,a as b}from"./toolbar-GqBUNMmA.js";import{S as U,M as J}from"./shell-controls-D5kseyts.js";import"./LayoutLeft-DhbihSgJ.js";import"./sheet-CtgWE_6O.js";import"./X-8xcHoVBj.js";import"./useRouterState-CBsQY2cY.js";import"./ZoomOut-CR6ja8eb.js";import"./skeleton-BH3hvPuC.js";import"./popover-BTf4Nz5d.js";import"./drawer-BCmqLnLy.js";import"./SearchMd-CL91MHi_.js";import"./Star01-E49TkgRa.js";import"./Plus-BX4ueqQS.js";import"./use-mcp-client-FbAC4-Un.js";import"./use-virtual-mcp-CL360k9_.js";import"./use-collections-CmHxKkjG.js";import"./use-create-virtual-mcp-C1TsXsHi.js";import"./use-navigate-to-agent-Bg4INoCb.js";import"./github-repo-picker-Dy1vUJSU.js";import"./use-connection-DBknh1_S.js";import"./dialog-DSHkVmzb.js";import"./RefreshCcw01-Duj7NlwB.js";import"./collection-search-CfzW8Ljz.js";import"./checkbox-CGo4P_LC.js";import"./Check-CTLrORIv.js";import"./agent-icon-DyzI2_Id.js";import"./AlertCircle-DTxB9pUH.js";import"./Tool01-B2YQjPAa.js";import"./SwitchHorizontal01-Fq29tGDx.js";import"./XCircle-CGgdji5f.js";import"./ArrowUpRight-zXKZw2Xb.js";import"./ZapSquare-C2mTTgos.js";import"./Users03-DUZwXij4.js";import"./CheckCircle-BUQijftD.js";import"./ChevronDown-CE2QQfze.js";import"./ChevronLeft-Cu7s4gqK.js";import"./ChevronRight-VGojeAFz.js";import"./ChevronUp-4IXM99ti.js";import"./DotsVertical--R-pmXe3.js";import"./Container-BoFlhIZL.js";import"./Eye-pMhw6sUG.js";import"./Globe01-Cp3X_WfB.js";import"./FilterLines-Bz8yyibx.js";import"./Palette-PH8MXuP9.js";import"./HardDrive-BH54c3De.js";import"./Stars02-BVMEIcco.js";import"./Key01-CfBifHqv.js";import"./LinkExternal01-BGLjTHSM.js";import"./Sun-CC_Mb8Zc.js";import"./Play-C4oLlMWL.js";import"./Settings02-DWXKmfg4.js";import"./Shield01-5PYVS020.js";import"./Stars01-NNVgYP83.js";import"./Trash01-XqCtMZQT.js";import"./Upload01-CTIKtpO3.js";import"./User01-Cz-IdAgQ.js";import"./Users01-D7P0o8Z_.js";import"./XClose-CxCjUb2p.js";import"./Zap-DLFeSSQ0.js";import"./use-mcp-tools-CxFt6L0J.js";import"./extract-connection-data-B52LuKdR.js";import"./generate-id-CDzcbt9l.js";import"./collections-BthqN0MR.js";import"./shell-layout-CWL5imKS.js";import"./avatar-DK3a4hPp.js";import"./required-auth-layout-B_Qr5rQD.js";import"./use-organization-settings-Bdk0M31t.js";import"./use-org-sso-Ba3MjbPK.js";import"./alert-dialog-tg3D4mnu.js";import"./form-DngzP8fb.js";import"./label-Dh8yif55.js";import"./input-CTpSARTD.js";import"./spinner-B_3Siejz.js";import"./index-5lPKE0PI.js";import"./sortable.esm-Bv55LbH0.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-CMo6aDgc.js";import"./use-registry-connections-DkTd3pip.js";import"./useInfiniteQuery-68Zg22Ld.js";import"./infiniteQueryObserver-CJIUgHAf.js";import"./card-BU_YNBo4.js";import"./integration-icon-BpF3qWll.js";import"./collection-tabs-BxpcEAFc.js";import"./badge-SRsZ13Ha.js";import"./select-Dz1PdScB.js";import"./textarea--0YfTbVD.js";import"./connection-form-helpers-D7eAIFli.js";import"./use-infinite-scroll-SoMG-nf0.js";import"./useSuspenseInfiniteQuery-C32oPBV5.js";import"./use-ai-providers-D2lIJSNP.js";import"./command-D_uV9Uyw.js";import"./index-BepaMXhR.js";import"./studio-tools-BxKekKsO.js";import"./use-org-auth-client-D0Et-q9V.js";import"./hover-card-CK_HvQcf.js";import"./task-status-CcBiqoc9.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./decopilot-sse-pool-8oQl4q0c.js";import"./create-sse-subscription-BS5983N4.js";function Q(e){const t=k.c(5),{onPointerDown:r,onDoubleClick:d}=e,{state:f,isMobile:u}=z();if(u||f==="collapsed")return null;let s,n;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={left:"var(--sidebar-width)"},n=o.jsx("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-transparent transition-colors duration-150 group-hover/resize:bg-border group-active/resize:bg-border"}),t[0]=s,t[1]=n):(s=t[0],n=t[1]);let i;return t[2]!==d||t[3]!==r?(i=o.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize, double-click to reset",onPointerDown:r,onDoubleClick:d,className:"group/resize absolute top-0 z-20 h-full w-2 -translate-x-1/2 cursor-col-resize",style:s,children:n}),t[2]=d,t[3]=r,t[4]=i):i=t[4],i}const R=240,V=400,Z="sidebar.width";function _(e){return Math.max(R,Math.min(V,e))}function ee(){const e=k.c(11),[t,r]=T(Z,te),d=N.useRef(null);let f;e[0]!==r||e[1]!==t?(f=a=>{a.preventDefault();const m=a.clientX,p=_(t),c=d.current??(typeof document<"u"?document.querySelector('[data-slot="sidebar-wrapper"]'):null),h=c?Array.from(c.querySelectorAll('[data-slot="sidebar"], [data-slot="sidebar-container"]')):[];for(const x of h)x.style.transition="none";const j=x=>{const g=_(p+(x.clientX-m));c?.style.setProperty("--sidebar-width",`${g}px`)},S=x=>{const g=_(p+(x.clientX-m));r(g);for(const v of h)v.style.transition="";window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",S),document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="col-resize",window.addEventListener("pointermove",j),window.addEventListener("pointerup",S)},e[0]=r,e[1]=t,e[2]=f):f=e[2];const u=f;let s;e[3]!==r?(s=()=>{r(R)},e[3]=r,e[4]=s):s=e[4];const n=s;let i;e[5]!==t?(i=_(t),e[5]=t,e[6]=i):i=e[6];let l;return e[7]!==u||e[8]!==n||e[9]!==i?(l={width:i,wrapperRef:d,onStartResize:u,resetWidth:n},e[7]=u,e[8]=n,e[9]=i,e[10]=l):l=e[10],l}function te(e){return typeof e=="number"?_(e):R}function oe(){const e=k.c(22),t=X(),[r,d]=N.useState(!1);let f;if(e[0]!==t.capabilities||e[1]!==t.hostname||e[2]!==t.machineId||e[3]!==t.online){const j=G(t.capabilities);f=t.online?o.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[o.jsx("span",{className:"font-medium",children:t.hostname??t.machineId??"Desktop linked"}),o.jsx("span",{className:"text-muted-foreground",children:j.length>0?`Available: ${j.join(", ")}`:"No CLI agents detected"})]}):o.jsx("span",{className:"text-xs",children:"Desktop disconnected"}),e[0]=t.capabilities,e[1]=t.hostname,e[2]=t.machineId,e[3]=t.online,e[4]=f}else f=e[4];const u=f;let s;e[5]===Symbol.for("react.memo_cache_sentinel")?(s=()=>d(!0),e[5]=s):s=e[5];const n=t.online?"Desktop linked":"Connect your desktop";let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(q,{size:16}),e[6]=i):i=e[6];let l;e[7]!==t.online?(l=t.online&&o.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-success ring-2 ring-background animate-pulse"}),e[7]=t.online,e[8]=l):l=e[8];let a;e[9]!==n||e[10]!==l?(a=o.jsx(M,{asChild:!0,children:o.jsxs(Y,{onClick:s,"aria-label":n,children:[i,l]})}),e[9]=n,e[10]=l,e[11]=a):a=e[11];let m;e[12]!==u?(m=o.jsx(O,{side:"bottom",children:u}),e[12]=u,e[13]=m):m=e[13];let p;e[14]!==a||e[15]!==m?(p=o.jsxs(A,{children:[a,m]}),e[14]=a,e[15]=m,e[16]=p):p=e[16];let c;e[17]!==r?(c=o.jsx(K,{open:r,onOpenChange:d}),e[17]=r,e[18]=c):c=e[18];let h;return e[19]!==p||e[20]!==c?(h=o.jsxs(o.Fragment,{children:[p,c]}),e[19]=p,e[20]=c,e[21]=h):h=e[21],h}const ie="sidebar.open";function re(){const e=k.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=o.jsx(B,{}),e[0]=t):t=e[0],t}function no(){const e=k.c(26),t=P(),[r,d]=T(ie,!1),{width:f,wrapperRef:u,onStartResize:s,resetWidth:n}=ee();let i,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(b.LogoLink,{}),l=o.jsx(U,{}),e[0]=i,e[1]=l):(i=e[0],l=e[1]);let a,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsxs(b.LeftColumn,{children:[i,l,o.jsx("span",{className:"hidden md:contents",children:o.jsx(b.Nav,{})}),o.jsx(b.TogglesSlot,{}),o.jsx(oe,{})]}),m=o.jsx(b.CenterSlot,{}),e[2]=a,e[3]=m):(a=e[2],m=e[3]);let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=o.jsxs(b.Header,{children:[a,m,o.jsxs(b.RightColumn,{children:[o.jsx("div",{className:"min-w-0 flex-1 overflow-x-auto [scrollbar-width:none] flex justify-end",children:o.jsx(b.TabsSlot,{})}),o.jsx(b.RightSlot,{})]})]}),e[4]=p):p=e[4];const c=`${f}px`;let h;e[5]!==c?(h={"--sidebar-width":c,"--sidebar-width-icon":"3.5rem"},e[5]=c,e[6]=h):h=e[6];const j=h;let S;e[7]!==t||e[8]!==s||e[9]!==n?(S=!t&&o.jsxs(o.Fragment,{children:[o.jsx($,{}),o.jsx(Q,{onPointerDown:s,onDoubleClick:n})]}),e[7]=t,e[8]=s,e[9]=n,e[10]=S):S=e[10];let x;e[11]===Symbol.for("react.memo_cache_sentinel")?(x={background:"transparent",containerType:"inline-size"},e[11]=x):x=e[11];let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=o.jsx(E,{className:"flex flex-col",style:x,children:o.jsx("div",{className:"flex flex-col h-full min-h-0",children:o.jsx("div",{className:"relative flex-1 min-h-0 flex flex-row",children:o.jsx(N.Suspense,{fallback:o.jsx(re,{}),children:o.jsx(D,{})})})})}),e[12]=g):g=e[12];let v;e[13]!==j||e[14]!==S||e[15]!==u?(v=o.jsxs(I,{ref:u,className:"flex-1 bg-sidebar relative min-h-0",style:j,children:[S,g]}),e[13]=j,e[14]=S,e[15]=u,e[16]=v):v=e[16];let y;e[17]!==t?(y=t&&o.jsx(J,{renderSidebar:se}),e[17]=t,e[18]=y):y=e[18];let w;e[19]!==v||e[20]!==y?(w=o.jsx(H,{children:o.jsxs("div",{className:"app-shell-root flex flex-col h-dvh overflow-hidden",children:[p,v,y]})}),e[19]=v,e[20]=y,e[21]=w):w=e[21];let C;return e[22]!==d||e[23]!==r||e[24]!==w?(C=o.jsx(F,{children:o.jsx(b.Provider,{children:o.jsx(L,{open:r,onOpenChange:d,children:w})})}),e[22]=d,e[23]=r,e[24]=w,e[25]=C):C=e[25],C}function se(e){const{onClose:t}=e;return o.jsx("div",{className:"flex h-full",children:o.jsx("div",{className:"w-full bg-sidebar flex flex-col overflow-y-auto group/sidebar","data-state":"expanded",children:o.jsx(W,{onClose:t})})})}export{no as default};
1
+ import{e as k,j as o,p as T,r as N,O as D}from"./index-Bll1AlZi.js";import{u as z,S as E,a as I,b as L}from"./sidebar-hk7mPADd.js";import{T as M,a as O,b as A,u as P}from"./tooltip-B2vnmSMM.js";import{S as $,a as W,b as B}from"./shell-route-loading-DI9OtFHe.js";import{u as X,C as H}from"./chat-context-DEKG6yp4.js";import{T as F}from"./tab-id-D_jK7L5o.js";import{i as q}from"./Monitor01-BBuvzSNf.js";import{v as G,C as K}from"./connect-desktop-dialog-Bi-Fd5NF.js";import{T as Y,a as b}from"./toolbar-Vk0X9zFW.js";import{S as U,M as J}from"./shell-controls-rZZhpuW4.js";import"./LayoutLeft-Ozgz9jeL.js";import"./sheet-DokH5LKH.js";import"./X-LT7RIKGm.js";import"./useRouterState-l6E4h2DF.js";import"./ZoomOut-DiWWUJB1.js";import"./skeleton-CxMjy9Kg.js";import"./popover-CNh3Ozeq.js";import"./drawer-BSFXr7hp.js";import"./SearchMd-DXp3IUvU.js";import"./Star01-s_hRJjwq.js";import"./Plus-CSmw6cpp.js";import"./use-mcp-client-Des-fSV9.js";import"./use-virtual-mcp-71PpEQrs.js";import"./use-collections-DI2EpqEk.js";import"./use-create-virtual-mcp-TPoPQ6hG.js";import"./use-navigate-to-agent-TzPRxzJx.js";import"./github-repo-picker-CKp3ba8m.js";import"./use-connection-Cam2HslE.js";import"./dialog-BE3BWPis.js";import"./RefreshCcw01-Ct_5xx8z.js";import"./collection-search-uQS9yrST.js";import"./checkbox-ClCQ7aIa.js";import"./Check-xMlMIzVH.js";import"./agent-icon-DyETFFvd.js";import"./AlertCircle-Dk6vk346.js";import"./Tool01-CSM07Bd3.js";import"./SwitchHorizontal01-DUBxuMB8.js";import"./XCircle-fZmWWsk8.js";import"./ArrowUpRight-4oEjocH3.js";import"./ZapSquare-Br5HjwCx.js";import"./Users03-C19XPgsH.js";import"./CheckCircle-ieh2HpZJ.js";import"./ChevronDown-DXk0XLak.js";import"./ChevronLeft-z0R4UDTf.js";import"./ChevronRight-TZkuqway.js";import"./ChevronUp-CDwUhj6r.js";import"./DotsVertical-dauL8_mz.js";import"./Container-BuYdkyve.js";import"./Eye-DjmQZ2p3.js";import"./Globe01-BFX2DjNo.js";import"./FilterLines-DCVUz1mF.js";import"./Palette-CJj0LVDj.js";import"./HardDrive-ep-sJwLU.js";import"./Stars02-Cg2K8h2t.js";import"./Key01-u8nOkLN5.js";import"./LinkExternal01-C_bnt3ki.js";import"./Sun-D1pch37z.js";import"./Play-BUy7F0as.js";import"./Settings02-DttqwSGe.js";import"./Shield01-BlrpeOP8.js";import"./Stars01-U1zM7H-d.js";import"./Trash01-BOiUMUTV.js";import"./Upload01-B45bupsd.js";import"./User01-CMlKZMq6.js";import"./Users01-CHcmgQX1.js";import"./XClose-CXQHotFO.js";import"./Zap-DhYBCL8w.js";import"./use-mcp-tools-DVBLMBo3.js";import"./extract-connection-data-BLVQkjXZ.js";import"./generate-id-D0pLsbUu.js";import"./collections-5f6Mz9W3.js";import"./shell-layout-DO1LZiwY.js";import"./avatar-DI2KQvq0.js";import"./required-auth-layout-Sv9_QEzP.js";import"./use-organization-settings-B5dKExdR.js";import"./use-org-sso-Bez1Sajf.js";import"./alert-dialog-C_C5CWIi.js";import"./form-Bn5_lJ6b.js";import"./label-cKO6vIjy.js";import"./input-CMMOM0dD.js";import"./spinner-Dstb6AhM.js";import"./index-BE8dVooN.js";import"./sortable.esm-BnSJaRIy.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-CVH5Hy6F.js";import"./use-registry-connections-CWiPZtVM.js";import"./useInfiniteQuery-Dl7i7ptk.js";import"./infiniteQueryObserver-B-dakPwk.js";import"./card-C0qmaAJH.js";import"./integration-icon-DblM7d27.js";import"./collection-tabs-dTL9gxGq.js";import"./badge-DqS5s_eb.js";import"./select-CTk6Rsq0.js";import"./textarea-D7mZzw_Y.js";import"./connection-form-helpers-DFXgro4O.js";import"./use-infinite-scroll-CF4jvsDL.js";import"./useSuspenseInfiniteQuery-CmT2FyND.js";import"./use-ai-providers-BDbyWdvc.js";import"./command-DZekvH1G.js";import"./index-DxNfIzhJ.js";import"./studio-tools-I8Y7AvNq.js";import"./use-org-auth-client-uSzlmndB.js";import"./hover-card-NLGI_Z11.js";import"./task-status-CyBgq1B0.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./decopilot-sse-pool-Keqs3wfV.js";import"./create-sse-subscription-BS5983N4.js";function Q(e){const t=k.c(5),{onPointerDown:r,onDoubleClick:d}=e,{state:f,isMobile:u}=z();if(u||f==="collapsed")return null;let s,n;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={left:"var(--sidebar-width)"},n=o.jsx("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-transparent transition-colors duration-150 group-hover/resize:bg-border group-active/resize:bg-border"}),t[0]=s,t[1]=n):(s=t[0],n=t[1]);let i;return t[2]!==d||t[3]!==r?(i=o.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize, double-click to reset",onPointerDown:r,onDoubleClick:d,className:"group/resize absolute top-0 z-20 h-full w-2 -translate-x-1/2 cursor-col-resize",style:s,children:n}),t[2]=d,t[3]=r,t[4]=i):i=t[4],i}const R=240,V=400,Z="sidebar.width";function _(e){return Math.max(R,Math.min(V,e))}function ee(){const e=k.c(11),[t,r]=T(Z,te),d=N.useRef(null);let f;e[0]!==r||e[1]!==t?(f=a=>{a.preventDefault();const m=a.clientX,p=_(t),c=d.current??(typeof document<"u"?document.querySelector('[data-slot="sidebar-wrapper"]'):null),h=c?Array.from(c.querySelectorAll('[data-slot="sidebar"], [data-slot="sidebar-container"]')):[];for(const x of h)x.style.transition="none";const j=x=>{const g=_(p+(x.clientX-m));c?.style.setProperty("--sidebar-width",`${g}px`)},S=x=>{const g=_(p+(x.clientX-m));r(g);for(const v of h)v.style.transition="";window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",S),document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="col-resize",window.addEventListener("pointermove",j),window.addEventListener("pointerup",S)},e[0]=r,e[1]=t,e[2]=f):f=e[2];const u=f;let s;e[3]!==r?(s=()=>{r(R)},e[3]=r,e[4]=s):s=e[4];const n=s;let i;e[5]!==t?(i=_(t),e[5]=t,e[6]=i):i=e[6];let l;return e[7]!==u||e[8]!==n||e[9]!==i?(l={width:i,wrapperRef:d,onStartResize:u,resetWidth:n},e[7]=u,e[8]=n,e[9]=i,e[10]=l):l=e[10],l}function te(e){return typeof e=="number"?_(e):R}function oe(){const e=k.c(22),t=X(),[r,d]=N.useState(!1);let f;if(e[0]!==t.capabilities||e[1]!==t.hostname||e[2]!==t.machineId||e[3]!==t.online){const j=G(t.capabilities);f=t.online?o.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[o.jsx("span",{className:"font-medium",children:t.hostname??t.machineId??"Desktop linked"}),o.jsx("span",{className:"text-muted-foreground",children:j.length>0?`Available: ${j.join(", ")}`:"No CLI agents detected"})]}):o.jsx("span",{className:"text-xs",children:"Desktop disconnected"}),e[0]=t.capabilities,e[1]=t.hostname,e[2]=t.machineId,e[3]=t.online,e[4]=f}else f=e[4];const u=f;let s;e[5]===Symbol.for("react.memo_cache_sentinel")?(s=()=>d(!0),e[5]=s):s=e[5];const n=t.online?"Desktop linked":"Connect your desktop";let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(q,{size:16}),e[6]=i):i=e[6];let l;e[7]!==t.online?(l=t.online&&o.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-success ring-2 ring-background animate-pulse"}),e[7]=t.online,e[8]=l):l=e[8];let a;e[9]!==n||e[10]!==l?(a=o.jsx(M,{asChild:!0,children:o.jsxs(Y,{onClick:s,"aria-label":n,children:[i,l]})}),e[9]=n,e[10]=l,e[11]=a):a=e[11];let m;e[12]!==u?(m=o.jsx(O,{side:"bottom",children:u}),e[12]=u,e[13]=m):m=e[13];let p;e[14]!==a||e[15]!==m?(p=o.jsxs(A,{children:[a,m]}),e[14]=a,e[15]=m,e[16]=p):p=e[16];let c;e[17]!==r?(c=o.jsx(K,{open:r,onOpenChange:d}),e[17]=r,e[18]=c):c=e[18];let h;return e[19]!==p||e[20]!==c?(h=o.jsxs(o.Fragment,{children:[p,c]}),e[19]=p,e[20]=c,e[21]=h):h=e[21],h}const ie="sidebar.open";function re(){const e=k.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=o.jsx(B,{}),e[0]=t):t=e[0],t}function no(){const e=k.c(26),t=P(),[r,d]=T(ie,!1),{width:f,wrapperRef:u,onStartResize:s,resetWidth:n}=ee();let i,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(b.LogoLink,{}),l=o.jsx(U,{}),e[0]=i,e[1]=l):(i=e[0],l=e[1]);let a,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsxs(b.LeftColumn,{children:[i,l,o.jsx("span",{className:"hidden md:contents",children:o.jsx(b.Nav,{})}),o.jsx(b.TogglesSlot,{}),o.jsx(oe,{})]}),m=o.jsx(b.CenterSlot,{}),e[2]=a,e[3]=m):(a=e[2],m=e[3]);let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=o.jsxs(b.Header,{children:[a,m,o.jsxs(b.RightColumn,{children:[o.jsx("div",{className:"min-w-0 flex-1 overflow-x-auto [scrollbar-width:none] flex justify-end",children:o.jsx(b.TabsSlot,{})}),o.jsx(b.RightSlot,{})]})]}),e[4]=p):p=e[4];const c=`${f}px`;let h;e[5]!==c?(h={"--sidebar-width":c,"--sidebar-width-icon":"3.5rem"},e[5]=c,e[6]=h):h=e[6];const j=h;let S;e[7]!==t||e[8]!==s||e[9]!==n?(S=!t&&o.jsxs(o.Fragment,{children:[o.jsx($,{}),o.jsx(Q,{onPointerDown:s,onDoubleClick:n})]}),e[7]=t,e[8]=s,e[9]=n,e[10]=S):S=e[10];let x;e[11]===Symbol.for("react.memo_cache_sentinel")?(x={background:"transparent",containerType:"inline-size"},e[11]=x):x=e[11];let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=o.jsx(E,{className:"flex flex-col",style:x,children:o.jsx("div",{className:"flex flex-col h-full min-h-0",children:o.jsx("div",{className:"relative flex-1 min-h-0 flex flex-row",children:o.jsx(N.Suspense,{fallback:o.jsx(re,{}),children:o.jsx(D,{})})})})}),e[12]=g):g=e[12];let v;e[13]!==j||e[14]!==S||e[15]!==u?(v=o.jsxs(I,{ref:u,className:"flex-1 bg-sidebar relative min-h-0",style:j,children:[S,g]}),e[13]=j,e[14]=S,e[15]=u,e[16]=v):v=e[16];let y;e[17]!==t?(y=t&&o.jsx(J,{renderSidebar:se}),e[17]=t,e[18]=y):y=e[18];let w;e[19]!==v||e[20]!==y?(w=o.jsx(H,{children:o.jsxs("div",{className:"app-shell-root flex flex-col h-dvh overflow-hidden",children:[p,v,y]})}),e[19]=v,e[20]=y,e[21]=w):w=e[21];let C;return e[22]!==d||e[23]!==r||e[24]!==w?(C=o.jsx(F,{children:o.jsx(b.Provider,{children:o.jsx(L,{open:r,onOpenChange:d,children:w})})}),e[22]=d,e[23]=r,e[24]=w,e[25]=C):C=e[25],C}function se(e){const{onClose:t}=e;return o.jsx("div",{className:"flex h-full",children:o.jsx("div",{className:"w-full bg-sidebar flex flex-col overflow-y-auto group/sidebar","data-state":"expanded",children:o.jsx(W,{onClose:t})})})}export{no as default};
@@ -1 +1 @@
1
- import{e as c,g as p,j as s,l as u,N as a}from"./index-DLy_MgNO.js";import{a as x}from"./use-capability-B4Fg7dX0.js";import{C as j}from"./capability-load-error-C5tUHDdB.js";function v(){const t=c.c(21);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={from:"/shell/$org"},t[0]=o):o=t[0];const{org:r}=p(o),{capabilities:l,isPrivileged:m,loading:f,error:g}=x();if(f){let e;return t[1]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"flex flex-1 items-center justify-center p-8",children:s.jsx(u,{size:20,className:"animate-spin text-muted-foreground"})}),t[1]=e):e=t[1],e}if(g){let e;return t[2]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(j,{}),t[2]=e):e=t[2],e}const i=e=>m||l[e]===!0;if(i("org:manage")){let e;return t[3]!==r?(e=s.jsx(a,{to:"/$org/settings/general",params:{org:r},replace:!0}),t[3]=r,t[4]=e):e=t[4],e}if(i("ai-providers:manage")){let e;return t[5]!==r?(e=s.jsx(a,{to:"/$org/settings/ai-providers",params:{org:r},replace:!0}),t[5]=r,t[6]=e):e=t[6],e}if(i("secrets:manage")){let e;return t[7]!==r?(e=s.jsx(a,{to:"/$org/settings/secrets",params:{org:r},replace:!0}),t[7]=r,t[8]=e):e=t[8],e}if(i("file-configs:manage")){let e;return t[9]!==r?(e=s.jsx(a,{to:"/$org/settings/buckets",params:{org:r},replace:!0}),t[9]=r,t[10]=e):e=t[10],e}if(i("automations:manage")){let e;return t[11]!==r?(e=s.jsx(a,{to:"/$org/settings/automations",params:{org:r},replace:!0}),t[11]=r,t[12]=e):e=t[12],e}if(i("registry:manage")){let e;return t[13]!==r?(e=s.jsx(a,{to:"/$org/settings/store",params:{org:r},replace:!0}),t[13]=r,t[14]=e):e=t[14],e}if(i("monitoring:view")){let e;return t[15]!==r?(e=s.jsx(a,{to:"/$org/settings/monitor",params:{org:r},replace:!0}),t[15]=r,t[16]=e):e=t[16],e}if(i("members:manage")){let e;return t[17]!==r?(e=s.jsx(a,{to:"/$org/settings/members",params:{org:r},replace:!0}),t[17]=r,t[18]=e):e=t[18],e}let n;return t[19]!==r?(n=s.jsx(a,{to:"/$org/settings/profile",params:{org:r},replace:!0}),t[19]=r,t[20]=n):n=t[20],n}export{v as default};
1
+ import{e as c,g as p,j as s,l as u,N as a}from"./index-Bll1AlZi.js";import{a as x}from"./use-capability-cYRWRLhr.js";import{C as j}from"./capability-load-error-DMe1nIxk.js";function v(){const t=c.c(21);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={from:"/shell/$org"},t[0]=o):o=t[0];const{org:r}=p(o),{capabilities:l,isPrivileged:m,loading:f,error:g}=x();if(f){let e;return t[1]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"flex flex-1 items-center justify-center p-8",children:s.jsx(u,{size:20,className:"animate-spin text-muted-foreground"})}),t[1]=e):e=t[1],e}if(g){let e;return t[2]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(j,{}),t[2]=e):e=t[2],e}const i=e=>m||l[e]===!0;if(i("org:manage")){let e;return t[3]!==r?(e=s.jsx(a,{to:"/$org/settings/general",params:{org:r},replace:!0}),t[3]=r,t[4]=e):e=t[4],e}if(i("ai-providers:manage")){let e;return t[5]!==r?(e=s.jsx(a,{to:"/$org/settings/ai-providers",params:{org:r},replace:!0}),t[5]=r,t[6]=e):e=t[6],e}if(i("secrets:manage")){let e;return t[7]!==r?(e=s.jsx(a,{to:"/$org/settings/secrets",params:{org:r},replace:!0}),t[7]=r,t[8]=e):e=t[8],e}if(i("file-configs:manage")){let e;return t[9]!==r?(e=s.jsx(a,{to:"/$org/settings/buckets",params:{org:r},replace:!0}),t[9]=r,t[10]=e):e=t[10],e}if(i("automations:manage")){let e;return t[11]!==r?(e=s.jsx(a,{to:"/$org/settings/automations",params:{org:r},replace:!0}),t[11]=r,t[12]=e):e=t[12],e}if(i("registry:manage")){let e;return t[13]!==r?(e=s.jsx(a,{to:"/$org/settings/store",params:{org:r},replace:!0}),t[13]=r,t[14]=e):e=t[14],e}if(i("monitoring:view")){let e;return t[15]!==r?(e=s.jsx(a,{to:"/$org/settings/monitor",params:{org:r},replace:!0}),t[15]=r,t[16]=e):e=t[16],e}if(i("members:manage")){let e;return t[17]!==r?(e=s.jsx(a,{to:"/$org/settings/members",params:{org:r},replace:!0}),t[17]=r,t[18]=e):e=t[18],e}let n;return t[19]!==r?(n=s.jsx(a,{to:"/$org/settings/profile",params:{org:r},replace:!0}),t[19]=r,t[20]=n):n=t[20],n}export{v as default};
@@ -1 +1 @@
1
- import{av as g,dE as d,dF as v}from"./index-DLy_MgNO.js";var b=class extends g{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){const{state:s}=e,i=super.createResult(e,t),{isFetching:a,isRefetching:u,isError:c,isRefetchError:P}=i,r=s.fetchMeta?.fetchMore?.direction,h=c&&r==="forward",o=a&&r==="forward",n=c&&r==="backward",f=a&&r==="backward";return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:v(t,s.data),hasPreviousPage:d(t,s.data),isFetchNextPageError:h,isFetchingNextPage:o,isFetchPreviousPageError:n,isFetchingPreviousPage:f,isRefetchError:P&&!h&&!n,isRefetching:u&&!o&&!f}}};export{b as I};
1
+ import{av as g,dE as d,dF as v}from"./index-Bll1AlZi.js";var b=class extends g{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){const{state:s}=e,i=super.createResult(e,t),{isFetching:a,isRefetching:u,isError:c,isRefetchError:P}=i,r=s.fetchMeta?.fetchMore?.direction,h=c&&r==="forward",o=a&&r==="forward",n=c&&r==="backward",f=a&&r==="backward";return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:v(t,s.data),hasPreviousPage:d(t,s.data),isFetchNextPageError:h,isFetchingNextPage:o,isFetchPreviousPageError:n,isFetchingPreviousPage:f,isRefetchError:P&&!h&&!n,isRefetching:u&&!o&&!f}}};export{b as I};
@@ -1 +1 @@
1
- import{e as s,c as a,j as d}from"./index-DLy_MgNO.js";function f(l){const e=s.c(10);let i,t,r;e[0]!==l?({className:i,type:r,...t}=l,e[0]=l,e[1]=i,e[2]=t,e[3]=r):(i=e[1],t=e[2],r=e[3]);let n;e[4]!==i?(n=a("file:text-foreground text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-lg bg-background dark:bg-input/30 px-3 py-1 text-sm transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:opacity-50 card-shadow","focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:ring-[2px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),e[4]=i,e[5]=n):n=e[5];let o;return e[6]!==t||e[7]!==n||e[8]!==r?(o=d.jsx("input",{type:r,"data-slot":"input",className:n,...t}),e[6]=t,e[7]=n,e[8]=r,e[9]=o):o=e[9],o}export{f as I};
1
+ import{e as s,c as a,j as d}from"./index-Bll1AlZi.js";function f(l){const e=s.c(10);let i,t,r;e[0]!==l?({className:i,type:r,...t}=l,e[0]=l,e[1]=i,e[2]=t,e[3]=r):(i=e[1],t=e[2],r=e[3]);let n;e[4]!==i?(n=a("file:text-foreground text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-lg bg-background dark:bg-input/30 px-3 py-1 text-sm transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:opacity-50 card-shadow","focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:ring-[2px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),e[4]=i,e[5]=n):n=e[5];let o;return e[6]!==t||e[7]!==n||e[8]!==r?(o=d.jsx("input",{type:r,"data-slot":"input",className:n,...t}),e[6]=t,e[7]=n,e[8]=r,e[9]=o):o=e[9],o}export{f as I};
@@ -1 +1 @@
1
- import{e as A,j as h,r as z,c as _}from"./index-DLy_MgNO.js";import{n as L}from"./Container-BoFlhIZL.js";import{A as k}from"./agent-icon-DyzI2_Id.js";const C={"2xs":"h-4 w-4",xs:"h-6 w-6",sm:"h-9 w-9",md:"h-12 w-12",lg:"h-16 w-16",xl:"h-14 w-14"},Z={"2xs":"min-w-4",xs:"min-w-6",sm:"min-w-9",md:"min-w-12",lg:"min-w-16",xl:"min-w-14"},y={"2xs":8,xs:12,sm:16,md:24,lg:32,xl:28},M={"2xs":"xs",xs:"xs",sm:"sm",md:"md",lg:"lg",xl:"lg"};function q(E){const e=A.c(12),{icon:t,name:s,size:w,className:o,fallbackIcon:c}=E,n=w===void 0?"md":w;if(t?.startsWith("icon://")||t?.includes("#agentcolor=")){const r=M[n];let l;return e[0]!==o||e[1]!==t||e[2]!==s||e[3]!==r?(l=h.jsx(k,{icon:t,name:s,size:r,className:o}),e[0]=o,e[1]=t,e[2]=s,e[3]=r,e[4]=l):l=e[4],l}const g=t??"no-icon";let i;return e[5]!==o||e[6]!==c||e[7]!==t||e[8]!==s||e[9]!==n||e[10]!==g?(i=h.jsx(R,{icon:t,name:s,size:n,className:o,fallbackIcon:c},g),e[5]=o,e[6]=c,e[7]=t,e[8]=s,e[9]=n,e[10]=g,e[11]=i):i=e[11],i}function R(E){const e=A.c(24),{icon:t,name:s,size:w,className:o,fallbackIcon:c}=E,n=w===void 0?"md":w,[g,i]=z.useState(!1),r=!!t&&g,l=C[n],b=Z[n];let a;e[0]!==o||e[1]!==l||e[2]!==b?(a=_("rounded-lg border border-border shrink-0 overflow-hidden aspect-square bg-white",l,b,o),e[0]=o,e[1]=l,e[2]=b,e[3]=a):a=e[3];const p=t||void 0,N=!r&&"hidden";let m;e[4]!==N?(m=_("h-full w-full object-cover",N),e[4]=N,e[5]=m):m=e[5];let I,S;e[6]===Symbol.for("react.memo_cache_sentinel")?(I=()=>i(!1),S=()=>i(!0),e[6]=I,e[7]=S):(I=e[6],S=e[7]);let d;e[8]!==s||e[9]!==p||e[10]!==m?(d=h.jsx("img",{src:p,alt:s,className:m,onError:I,onLoad:S}),e[8]=s,e[9]=p,e[10]=m,e[11]=d):d=e[11];const v=r&&"hidden";let f;e[12]!==v?(f=_("h-full w-full flex items-center justify-center bg-muted/20",v),e[12]=v,e[13]=f):f=e[13];let x;e[14]!==c||e[15]!==n?(x=c??h.jsx(L,{size:y[n],className:"text-muted-foreground"}),e[14]=c,e[15]=n,e[16]=x):x=e[16];let u;e[17]!==f||e[18]!==x?(u=h.jsx("div",{className:f,children:x}),e[17]=f,e[18]=x,e[19]=u):u=e[19];let j;return e[20]!==d||e[21]!==u||e[22]!==a?(j=h.jsxs("div",{className:a,children:[d,u]}),e[20]=d,e[21]=u,e[22]=a,e[23]=j):j=e[23],j}export{q as I};
1
+ import{e as A,j as h,r as z,c as _}from"./index-Bll1AlZi.js";import{n as L}from"./Container-BuYdkyve.js";import{A as k}from"./agent-icon-DyETFFvd.js";const C={"2xs":"h-4 w-4",xs:"h-6 w-6",sm:"h-9 w-9",md:"h-12 w-12",lg:"h-16 w-16",xl:"h-14 w-14"},Z={"2xs":"min-w-4",xs:"min-w-6",sm:"min-w-9",md:"min-w-12",lg:"min-w-16",xl:"min-w-14"},y={"2xs":8,xs:12,sm:16,md:24,lg:32,xl:28},M={"2xs":"xs",xs:"xs",sm:"sm",md:"md",lg:"lg",xl:"lg"};function q(E){const e=A.c(12),{icon:t,name:s,size:w,className:o,fallbackIcon:c}=E,n=w===void 0?"md":w;if(t?.startsWith("icon://")||t?.includes("#agentcolor=")){const r=M[n];let l;return e[0]!==o||e[1]!==t||e[2]!==s||e[3]!==r?(l=h.jsx(k,{icon:t,name:s,size:r,className:o}),e[0]=o,e[1]=t,e[2]=s,e[3]=r,e[4]=l):l=e[4],l}const g=t??"no-icon";let i;return e[5]!==o||e[6]!==c||e[7]!==t||e[8]!==s||e[9]!==n||e[10]!==g?(i=h.jsx(R,{icon:t,name:s,size:n,className:o,fallbackIcon:c},g),e[5]=o,e[6]=c,e[7]=t,e[8]=s,e[9]=n,e[10]=g,e[11]=i):i=e[11],i}function R(E){const e=A.c(24),{icon:t,name:s,size:w,className:o,fallbackIcon:c}=E,n=w===void 0?"md":w,[g,i]=z.useState(!1),r=!!t&&g,l=C[n],b=Z[n];let a;e[0]!==o||e[1]!==l||e[2]!==b?(a=_("rounded-lg border border-border shrink-0 overflow-hidden aspect-square bg-white",l,b,o),e[0]=o,e[1]=l,e[2]=b,e[3]=a):a=e[3];const p=t||void 0,N=!r&&"hidden";let m;e[4]!==N?(m=_("h-full w-full object-cover",N),e[4]=N,e[5]=m):m=e[5];let I,S;e[6]===Symbol.for("react.memo_cache_sentinel")?(I=()=>i(!1),S=()=>i(!0),e[6]=I,e[7]=S):(I=e[6],S=e[7]);let d;e[8]!==s||e[9]!==p||e[10]!==m?(d=h.jsx("img",{src:p,alt:s,className:m,onError:I,onLoad:S}),e[8]=s,e[9]=p,e[10]=m,e[11]=d):d=e[11];const v=r&&"hidden";let f;e[12]!==v?(f=_("h-full w-full flex items-center justify-center bg-muted/20",v),e[12]=v,e[13]=f):f=e[13];let x;e[14]!==c||e[15]!==n?(x=c??h.jsx(L,{size:y[n],className:"text-muted-foreground"}),e[14]=c,e[15]=n,e[16]=x):x=e[16];let u;e[17]!==f||e[18]!==x?(u=h.jsx("div",{className:f,children:x}),e[17]=f,e[18]=x,e[19]=u):u=e[19];let j;return e[20]!==d||e[21]!==u||e[22]!==a?(j=h.jsxs("div",{className:a,children:[d,u]}),e[20]=d,e[21]=u,e[22]=a,e[23]=j):j=e[23],j}export{q as I};
@@ -1 +1 @@
1
- import{e as n,c as r,j as i,bw as p}from"./index-DLy_MgNO.js";function c(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=r("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(p,{"data-slot":"label",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}export{c as L};
1
+ import{e as n,c as r,j as i,bw as p}from"./index-Bll1AlZi.js";function c(l){const e=n.c(8);let t,s;e[0]!==l?({className:t,...s}=l,e[0]=l,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let a;e[3]!==t?(a=r("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),e[3]=t,e[4]=a):a=e[4];let o;return e[5]!==s||e[6]!==a?(o=i.jsx(p,{"data-slot":"label",className:a,...s}),e[5]=s,e[6]=a,e[7]=o):o=e[7],o}export{c as L};
@@ -1 +1 @@
1
- import{e as C,r as i,c as A,j as a,aU as V}from"./index-DLy_MgNO.js";import{P as E}from"./index-hMTvGWUn.js";const H=i.createContext(null);function q(x){const e=C.c(3),{children:l}=x,s=i.useContext(H);if(!s?.tabsEl)return null;let c;return e[0]!==l||e[1]!==s.tabsEl?(c=V.createPortal(l,s.tabsEl),e[0]=l,e[1]=s.tabsEl,e[2]=c):c=e[2],c}function D(x){const e=C.c(3),{children:l}=x,s=i.useContext(H);if(!s?.actionsEl)return null;let c;return e[0]!==l||e[1]!==s.actionsEl?(c=V.createPortal(l,s.actionsEl),e[0]=l,e[1]=s.actionsEl,e[2]=c):c=e[2],c}const z=D;function B(x){const e=C.c(21),{children:l,breadcrumb:s,hideHeader:c}=x;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={leftEl:null,tabsEl:null,actionsEl:null},e[0]=b):b=e[0];const[w,g]=i.useState(b),N=i.useRef(null),P=i.useRef(null),L=i.useRef(null);let h;e[1]===Symbol.for("react.memo_cache_sentinel")?(h=t=>{N.current=t,t&&g(n=>n.leftEl===t?n:{...n,leftEl:t})},e[1]=h):h=e[1];const $=h;let R;e[2]===Symbol.for("react.memo_cache_sentinel")?(R=t=>{P.current=t,t&&g(n=>n.tabsEl===t?n:{...n,tabsEl:t})},e[2]=R):R=e[2];const _=R;let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=t=>{L.current=t,t&&g(n=>n.actionsEl===t?n:{...n,actionsEl:t})},e[3]=d):d=e[3];const k=d,p=c&&"hidden";let o;e[4]!==p?(o=A(p),e[4]=p,e[5]=o):o=e[5];let j;e[6]===Symbol.for("react.memo_cache_sentinel")?(j=a.jsx("div",{ref:$,className:"flex items-center gap-2 min-w-0"}),e[6]=j):j=e[6];let r;e[7]!==s?(r=a.jsxs(E.Header.Left,{children:[s,j]}),e[7]=s,e[8]=r):r=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=a.jsxs(E.Header.Right,{children:[a.jsx("div",{ref:_,className:"flex items-center gap-2 overflow-x-auto min-w-0"}),a.jsx("div",{ref:k,className:"flex items-center gap-2 shrink-0"})]}),e[9]=y):y=e[9];let f;e[10]!==o||e[11]!==r?(f=a.jsxs(E.Header,{className:o,children:[r,y]}),e[10]=o,e[11]=r,e[12]=f):f=e[12];let m;e[13]!==l?(m=a.jsx(E.Content,{children:l}),e[13]=l,e[14]=m):m=e[14];let u;e[15]!==f||e[16]!==m?(u=a.jsxs(E,{children:[f,m]}),e[15]=f,e[16]=m,e[17]=u):u=e[17];let S;return e[18]!==w||e[19]!==u?(S=a.jsx(H,{value:w,children:u}),e[18]=w,e[19]=u,e[20]=S):S=e[20],S}export{B as V,z as a,q as b};
1
+ import{e as C,r as i,c as A,j as a,aU as V}from"./index-Bll1AlZi.js";import{P as E}from"./index-Bgv8YQhF.js";const H=i.createContext(null);function q(x){const e=C.c(3),{children:l}=x,s=i.useContext(H);if(!s?.tabsEl)return null;let c;return e[0]!==l||e[1]!==s.tabsEl?(c=V.createPortal(l,s.tabsEl),e[0]=l,e[1]=s.tabsEl,e[2]=c):c=e[2],c}function D(x){const e=C.c(3),{children:l}=x,s=i.useContext(H);if(!s?.actionsEl)return null;let c;return e[0]!==l||e[1]!==s.actionsEl?(c=V.createPortal(l,s.actionsEl),e[0]=l,e[1]=s.actionsEl,e[2]=c):c=e[2],c}const z=D;function B(x){const e=C.c(21),{children:l,breadcrumb:s,hideHeader:c}=x;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={leftEl:null,tabsEl:null,actionsEl:null},e[0]=b):b=e[0];const[w,g]=i.useState(b),N=i.useRef(null),P=i.useRef(null),L=i.useRef(null);let h;e[1]===Symbol.for("react.memo_cache_sentinel")?(h=t=>{N.current=t,t&&g(n=>n.leftEl===t?n:{...n,leftEl:t})},e[1]=h):h=e[1];const $=h;let R;e[2]===Symbol.for("react.memo_cache_sentinel")?(R=t=>{P.current=t,t&&g(n=>n.tabsEl===t?n:{...n,tabsEl:t})},e[2]=R):R=e[2];const _=R;let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=t=>{L.current=t,t&&g(n=>n.actionsEl===t?n:{...n,actionsEl:t})},e[3]=d):d=e[3];const k=d,p=c&&"hidden";let o;e[4]!==p?(o=A(p),e[4]=p,e[5]=o):o=e[5];let j;e[6]===Symbol.for("react.memo_cache_sentinel")?(j=a.jsx("div",{ref:$,className:"flex items-center gap-2 min-w-0"}),e[6]=j):j=e[6];let r;e[7]!==s?(r=a.jsxs(E.Header.Left,{children:[s,j]}),e[7]=s,e[8]=r):r=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=a.jsxs(E.Header.Right,{children:[a.jsx("div",{ref:_,className:"flex items-center gap-2 overflow-x-auto min-w-0"}),a.jsx("div",{ref:k,className:"flex items-center gap-2 shrink-0"})]}),e[9]=y):y=e[9];let f;e[10]!==o||e[11]!==r?(f=a.jsxs(E.Header,{className:o,children:[r,y]}),e[10]=o,e[11]=r,e[12]=f):f=e[12];let m;e[13]!==l?(m=a.jsx(E.Content,{children:l}),e[13]=l,e[14]=m):m=e[14];let u;e[15]!==f||e[16]!==m?(u=a.jsxs(E,{children:[f,m]}),e[15]=f,e[16]=m,e[17]=u):u=e[17];let S;return e[18]!==w||e[19]!==u?(S=a.jsx(H,{value:w,children:u}),e[18]=w,e[19]=u,e[20]=S):S=e[20],S}export{B as V,z as a,q as b};
@@ -1 +1 @@
1
- import{u as X,r as m,a as z,t as P,b,j as e,c as B,B as Q,d as ie,S as W,N as oe,e as le}from"./index-DLy_MgNO.js";import{I}from"./input-CTpSARTD.js";import{A as de}from"./auth-split-layout-VA3PSXMI.js";function ce({redirectUrl:s,callbackUrl:n="/"}){const{emailAndPassword:d,resetPassword:u,emailOtp:i,socialProviders:l}=X(),[r,j]=m.useState(""),[y,D]=m.useState(""),[w,C]=m.useState(""),[A,O]=m.useState(""),[f,L]=m.useState(!1),[F,N]=m.useState(()=>i.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[c,S]=m.useState(""),[$,Y]=m.useState(!1),h=F==="signUp",p=F==="forgotPassword",x=F==="emailOtp",R=z({mutationFn:async({email:t,password:a,name:q})=>{try{if(h){const g=await b.signUp.email({email:t,password:a,name:q||""});if(g.error)throw new Error(g.error.message||"Sign up failed");return g}else{const g=await b.signIn.email({email:t,password:a});if(g.error)throw new Error(g.error.message||"Sign in failed");return g}}catch(g){throw g instanceof Error?g:new Error("Authentication failed")}},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),window.location.href=s??n},onError:t=>{P(h?"user_signup_failed":"user_signin_failed",{error:t instanceof Error?t.message:String(t)})}}),U=z({mutationFn:async({email:t})=>{const a=await b.requestPasswordReset({email:t,redirectTo:"/reset-password"});if(a.error)throw new Error(a.error.message||"Failed to send reset email");return a},onSuccess:()=>{P("password_reset_requested"),Y(!0)},onError:t=>{P("password_reset_request_failed",{error:t instanceof Error?t.message:String(t)})}}),E=z({mutationFn:async({email:t})=>{const a=await b.emailOtp.sendVerificationOtp({email:t,type:"sign-in"});if(a.error)throw new Error(a.error.message||"Failed to send code");return a},onSuccess:()=>{P("email_otp_sent"),L(!0)},onError:t=>{P("email_otp_send_failed",{error:t instanceof Error?t.message:String(t)})}}),_=z({mutationFn:async({email:t,otp:a})=>{const q=await b.signIn.emailOtp({email:t,otp:a});if(q.error)throw new Error(q.error.message||"Invalid code");return q},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),window.location.href=s??n},onError:t=>{P("email_otp_verify_failed",{error:t instanceof Error?t.message:String(t)})}}),T=t=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t),V=()=>{r.trim()&&!T(r)&&S("Invalid email address")},Z=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}R.mutate({email:r,password:y,name:w})},ee=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}U.mutate({email:r})},te=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}E.mutate({email:r})},se=t=>{t.preventDefault(),_.mutate({email:r,otp:A})},k=t=>a=>{t(a.target.value),G&&R.reset(),H&&U.reset(),J&&(E.reset(),_.reset()),t===j&&c&&S("")},M=t=>{N(t),C(""),O(""),L(!1),S(""),Y(!1),R.reset(),U.reset(),E.reset(),_.reset()},o=R.isPending||U.isPending||E.isPending||_.isPending,G=R.error,H=U.error,J=E.error||_.error,v=h?r.trim()&&y.trim()&&w.trim():p?r.trim():x?f?A.trim():r.trim():r.trim()&&y.trim(),ne=t=>{if(!t)return null;const a=t.message.toLowerCase();return a.includes("unauthorized")||a.includes("401")?"Invalid email or password. Please try again.":a.includes("already exists")||a.includes("409")?"An account with this email already exists. Try signing in instead.":a.includes("network")||a.includes("fetch")?"Network error. Please check your connection and try again.":a.includes("rate limit")||a.includes("429")?"Too many attempts. Please wait a moment and try again.":a.includes("invalid")&&a.includes("otp")?"Invalid or expired code. Please try again.":t.message||"An error occurred. Please try again."},K=G||H||J,re=p?"Reset your password":x&&f?"Enter verification code":"Welcome to deco",ae=p?"We'll send you a reset link":x&&f?`Code sent to ${r}`:"Sign in or create a new account";return e.jsxs("div",{className:"w-full grid gap-10",children:[e.jsxs("div",{children:[e.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),e.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-2xl font-medium leading-8",children:re}),e.jsx("p",{className:"text-base text-muted-foreground leading-6",children:ae})]}),K&&e.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:ne(K)}),$&&e.jsx("div",{className:"rounded-xl bg-emerald-500/10 p-3 text-sm text-emerald-600 dark:text-emerald-400 text-center",children:"Check your email for a password reset link."}),!p&&!(x&&f)&&l.enabled&&e.jsx("div",{className:"grid gap-2",children:l.providers.map(t=>e.jsxs("button",{type:"button",disabled:o,onClick:()=>{b.signIn.social({provider:t.name,callbackURL:s??n})},className:"flex h-12 w-full items-center justify-center gap-3 rounded-xl bg-background dark:bg-input/30 px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground dark:hover:bg-input/50 disabled:opacity-50 disabled:pointer-events-none",children:[t.icon&&e.jsx("img",{src:t.icon,alt:"",className:B("h-5 w-5",t.name==="github"&&"dark:invert"),"aria-hidden":"true"}),"Continue with"," ",t.name.charAt(0).toUpperCase()+t.name.slice(1)]},t.name))}),!p&&!(x&&f)&&l.enabled&&(d.enabled||i.enabled)&&e.jsxs("div",{className:"flex items-center gap-2.5 -my-4",children:[e.jsx("div",{className:"h-px flex-1 bg-border"}),e.jsx("span",{className:"text-base text-muted-foreground",children:"or"}),e.jsx("div",{className:"h-px flex-1 bg-border"})]}),x&&i.enabled&&e.jsx(e.Fragment,{children:f?e.jsxs("form",{onSubmit:se,className:"grid gap-2",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:"Verification code"}),e.jsx(I,{type:"text",placeholder:"Enter code",value:A,onChange:k(O),required:!0,disabled:o,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),e.jsx("button",{type:"submit",disabled:o||!v,className:"flex h-12 w-full items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:opacity-50 disabled:pointer-events-none",children:o?"Verifying...":"Verify"}),e.jsx("button",{type:"button",onClick:()=>{L(!1),O(""),E.reset(),_.reset()},disabled:o,className:"mt-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Use a different email"})]}):e.jsxs("form",{onSubmit:te,className:"grid gap-2",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:"Email"}),e.jsx(I,{type:"email",placeholder:"Email address",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive",children:c})]}),e.jsx("button",{type:"submit",disabled:o||!v,className:"flex h-12 w-full items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:opacity-50 disabled:pointer-events-none",children:o?"Sending...":"Send code"})]})}),p&&d.enabled&&!$&&e.jsxs("form",{onSubmit:ee,className:"grid gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(I,{type:"email",placeholder:"you@example.com",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:c})]}),e.jsx(Q,{type:"submit",disabled:o||!v,className:"w-full font-semibold",size:"xl",children:o?"Sending...":"Send reset link"})]}),!p&&!x&&d.enabled&&e.jsxs("form",{onSubmit:Z,className:"grid gap-5",children:[h&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Name"}),e.jsx(I,{type:"text",placeholder:"Your name",value:w,onChange:k(C),required:!0,disabled:o,className:"h-11 rounded-lg"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(I,{type:"email",placeholder:"you@example.com",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:c})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("label",{className:"block text-sm font-medium text-foreground",children:"Password"}),!h&&u.enabled&&e.jsx("button",{type:"button",onClick:()=>M("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Forgot password?"})]}),e.jsx(I,{type:"password",placeholder:"••••••••",value:y,onChange:k(D),required:!0,disabled:o,className:"h-11 rounded-lg"})]}),e.jsx("div",{className:B("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",v?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsx("div",{className:B("p-1",!v&&"pointer-events-none"),children:e.jsx(Q,{type:"submit",disabled:o||!v,className:B("w-full font-semibold"),size:"xl","aria-hidden":!v,children:o?h?"Creating account...":"Signing in...":"Continue"})})})]}),e.jsx("div",{className:"text-sm text-muted-foreground",children:p?e.jsx("button",{type:"button",onClick:()=>M("signIn"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Back to sign in"}):x&&d.enabled?e.jsx("button",{type:"button",onClick:()=>M("signIn"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Sign in with password instead"}):!x&&d.enabled?e.jsxs(e.Fragment,{children:[h?"Already have an account? ":"Don't have an account? ",e.jsx("button",{type:"button",onClick:()=>M(h?"signIn":"signUp"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:h?"Sign in":"Sign up"}),i.enabled&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"mx-2",children:"·"}),e.jsx("button",{type:"button",onClick:()=>M("emailOtp"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Sign in with email code"})]})]}):null})]})}function ue({redirectTo:s}){const[n,d]=m.useState(null);return m.useEffect(()=>{let u=!1;return(async()=>{try{let i;for(let l=0;l<5&&(i=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"}),!(i.ok||i.status<500));l++)await new Promise(r=>setTimeout(r,Math.min(1e3*2**l,1e4)));if(!i?.ok){const l=await i?.json().catch(()=>({}));throw new Error(l?.error||"Auto-login failed")}if(!u){const l=s.startsWith("/")&&!s.startsWith("//")?s:"/";window.location.href=l}}catch(i){u||d(i instanceof Error?i.message:"Auto-login failed")}})(),()=>{u=!0}},[s]),n?e.jsx("div",{className:"flex min-h-screen items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsxs("p",{className:"text-destructive mb-2",children:["Auto-login failed: ",n]}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Try restarting the server."})]})}):e.jsx(W,{})}function me(s){if(!s.client_id||s.response_type!=="code")return null;const n=new URLSearchParams;return s.client_id&&n.set("client_id",s.client_id),s.redirect_uri&&n.set("redirect_uri",s.redirect_uri),s.response_type&&n.set("response_type",s.response_type),s.state&&n.set("state",s.state),s.scope&&n.set("scope",s.scope),s.code_challenge&&n.set("code_challenge",s.code_challenge),s.code_challenge_method&&n.set("code_challenge_method",s.code_challenge_method),`/api/auth/mcp/authorize?${n.toString()}`}function ge(s){const n=le.c(5),{callbackURL:d,providerId:u}=s;let i,l;n[0]!==d||n[1]!==u?(i=()=>{(async()=>await b.signIn.sso({providerId:u,callbackURL:d}))()},l=[u,d],n[0]=d,n[1]=u,n[2]=i,n[3]=l):(i=n[2],l=n[3]),m.useEffect(i,l);let r;return n[4]===Symbol.for("react.memo_cache_sentinel")?(r=e.jsx(W,{}),n[4]=r):r=n[4],r}function pe(){const s=b.useSession(),n=ie({from:"/login"}),{next:d="/",client_id:u,redirect_uri:i,response_type:l,state:r,scope:j,code_challenge:y,code_challenge_method:D}=n,w=d.startsWith("/")&&!d.startsWith("//")?d:"/",{sso:C,emailAndPassword:A,magicLink:O,emailOtp:f,socialProviders:L,localMode:F}=X(),N=me({client_id:u,redirect_uri:i,response_type:l,state:r,scope:j,code_challenge:y,code_challenge_method:D}),c=N||w;return s.data?N?(window.location.href=N,e.jsx(W,{})):e.jsx(oe,{to:w}):F?e.jsx(ue,{redirectTo:c}):C.enabled?e.jsx(ge,{callbackURL:c,providerId:C.providerId}):A.enabled||O.enabled||f.enabled||L.enabled?e.jsx(de,{children:e.jsx(ce,{redirectUrl:N,callbackUrl:w})}):e.jsx("div",{children:"No login options available"})}export{pe as default};
1
+ import{u as X,r as m,a as z,t as P,b,j as e,c as B,B as Q,d as ie,S as W,N as oe,e as le}from"./index-Bll1AlZi.js";import{I}from"./input-CMMOM0dD.js";import{A as de}from"./auth-split-layout-CEZXGHtA.js";function ce({redirectUrl:s,callbackUrl:n="/"}){const{emailAndPassword:d,resetPassword:u,emailOtp:i,socialProviders:l}=X(),[r,j]=m.useState(""),[y,D]=m.useState(""),[w,C]=m.useState(""),[A,O]=m.useState(""),[f,L]=m.useState(!1),[F,N]=m.useState(()=>i.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[c,S]=m.useState(""),[$,Y]=m.useState(!1),h=F==="signUp",p=F==="forgotPassword",x=F==="emailOtp",R=z({mutationFn:async({email:t,password:a,name:q})=>{try{if(h){const g=await b.signUp.email({email:t,password:a,name:q||""});if(g.error)throw new Error(g.error.message||"Sign up failed");return g}else{const g=await b.signIn.email({email:t,password:a});if(g.error)throw new Error(g.error.message||"Sign in failed");return g}}catch(g){throw g instanceof Error?g:new Error("Authentication failed")}},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),window.location.href=s??n},onError:t=>{P(h?"user_signup_failed":"user_signin_failed",{error:t instanceof Error?t.message:String(t)})}}),U=z({mutationFn:async({email:t})=>{const a=await b.requestPasswordReset({email:t,redirectTo:"/reset-password"});if(a.error)throw new Error(a.error.message||"Failed to send reset email");return a},onSuccess:()=>{P("password_reset_requested"),Y(!0)},onError:t=>{P("password_reset_request_failed",{error:t instanceof Error?t.message:String(t)})}}),E=z({mutationFn:async({email:t})=>{const a=await b.emailOtp.sendVerificationOtp({email:t,type:"sign-in"});if(a.error)throw new Error(a.error.message||"Failed to send code");return a},onSuccess:()=>{P("email_otp_sent"),L(!0)},onError:t=>{P("email_otp_send_failed",{error:t instanceof Error?t.message:String(t)})}}),_=z({mutationFn:async({email:t,otp:a})=>{const q=await b.signIn.emailOtp({email:t,otp:a});if(q.error)throw new Error(q.error.message||"Invalid code");return q},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),window.location.href=s??n},onError:t=>{P("email_otp_verify_failed",{error:t instanceof Error?t.message:String(t)})}}),T=t=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t),V=()=>{r.trim()&&!T(r)&&S("Invalid email address")},Z=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}R.mutate({email:r,password:y,name:w})},ee=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}U.mutate({email:r})},te=t=>{if(t.preventDefault(),!T(r)){S("Invalid email address");return}E.mutate({email:r})},se=t=>{t.preventDefault(),_.mutate({email:r,otp:A})},k=t=>a=>{t(a.target.value),G&&R.reset(),H&&U.reset(),J&&(E.reset(),_.reset()),t===j&&c&&S("")},M=t=>{N(t),C(""),O(""),L(!1),S(""),Y(!1),R.reset(),U.reset(),E.reset(),_.reset()},o=R.isPending||U.isPending||E.isPending||_.isPending,G=R.error,H=U.error,J=E.error||_.error,v=h?r.trim()&&y.trim()&&w.trim():p?r.trim():x?f?A.trim():r.trim():r.trim()&&y.trim(),ne=t=>{if(!t)return null;const a=t.message.toLowerCase();return a.includes("unauthorized")||a.includes("401")?"Invalid email or password. Please try again.":a.includes("already exists")||a.includes("409")?"An account with this email already exists. Try signing in instead.":a.includes("network")||a.includes("fetch")?"Network error. Please check your connection and try again.":a.includes("rate limit")||a.includes("429")?"Too many attempts. Please wait a moment and try again.":a.includes("invalid")&&a.includes("otp")?"Invalid or expired code. Please try again.":t.message||"An error occurred. Please try again."},K=G||H||J,re=p?"Reset your password":x&&f?"Enter verification code":"Welcome to deco",ae=p?"We'll send you a reset link":x&&f?`Code sent to ${r}`:"Sign in or create a new account";return e.jsxs("div",{className:"w-full grid gap-10",children:[e.jsxs("div",{children:[e.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),e.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-2xl font-medium leading-8",children:re}),e.jsx("p",{className:"text-base text-muted-foreground leading-6",children:ae})]}),K&&e.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:ne(K)}),$&&e.jsx("div",{className:"rounded-xl bg-emerald-500/10 p-3 text-sm text-emerald-600 dark:text-emerald-400 text-center",children:"Check your email for a password reset link."}),!p&&!(x&&f)&&l.enabled&&e.jsx("div",{className:"grid gap-2",children:l.providers.map(t=>e.jsxs("button",{type:"button",disabled:o,onClick:()=>{b.signIn.social({provider:t.name,callbackURL:s??n})},className:"flex h-12 w-full items-center justify-center gap-3 rounded-xl bg-background dark:bg-input/30 px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground dark:hover:bg-input/50 disabled:opacity-50 disabled:pointer-events-none",children:[t.icon&&e.jsx("img",{src:t.icon,alt:"",className:B("h-5 w-5",t.name==="github"&&"dark:invert"),"aria-hidden":"true"}),"Continue with"," ",t.name.charAt(0).toUpperCase()+t.name.slice(1)]},t.name))}),!p&&!(x&&f)&&l.enabled&&(d.enabled||i.enabled)&&e.jsxs("div",{className:"flex items-center gap-2.5 -my-4",children:[e.jsx("div",{className:"h-px flex-1 bg-border"}),e.jsx("span",{className:"text-base text-muted-foreground",children:"or"}),e.jsx("div",{className:"h-px flex-1 bg-border"})]}),x&&i.enabled&&e.jsx(e.Fragment,{children:f?e.jsxs("form",{onSubmit:se,className:"grid gap-2",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:"Verification code"}),e.jsx(I,{type:"text",placeholder:"Enter code",value:A,onChange:k(O),required:!0,disabled:o,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),e.jsx("button",{type:"submit",disabled:o||!v,className:"flex h-12 w-full items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:opacity-50 disabled:pointer-events-none",children:o?"Verifying...":"Verify"}),e.jsx("button",{type:"button",onClick:()=>{L(!1),O(""),E.reset(),_.reset()},disabled:o,className:"mt-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Use a different email"})]}):e.jsxs("form",{onSubmit:te,className:"grid gap-2",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:"Email"}),e.jsx(I,{type:"email",placeholder:"Email address",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive",children:c})]}),e.jsx("button",{type:"submit",disabled:o||!v,className:"flex h-12 w-full items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:opacity-50 disabled:pointer-events-none",children:o?"Sending...":"Send code"})]})}),p&&d.enabled&&!$&&e.jsxs("form",{onSubmit:ee,className:"grid gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(I,{type:"email",placeholder:"you@example.com",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:c})]}),e.jsx(Q,{type:"submit",disabled:o||!v,className:"w-full font-semibold",size:"xl",children:o?"Sending...":"Send reset link"})]}),!p&&!x&&d.enabled&&e.jsxs("form",{onSubmit:Z,className:"grid gap-5",children:[h&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Name"}),e.jsx(I,{type:"text",placeholder:"Your name",value:w,onChange:k(C),required:!0,disabled:o,className:"h-11 rounded-lg"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(I,{type:"email",placeholder:"you@example.com",value:r,onChange:k(j),onBlur:V,required:!0,disabled:o,"aria-invalid":!!c,className:"h-11 rounded-lg"}),c&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:c})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("label",{className:"block text-sm font-medium text-foreground",children:"Password"}),!h&&u.enabled&&e.jsx("button",{type:"button",onClick:()=>M("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Forgot password?"})]}),e.jsx(I,{type:"password",placeholder:"••••••••",value:y,onChange:k(D),required:!0,disabled:o,className:"h-11 rounded-lg"})]}),e.jsx("div",{className:B("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",v?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsx("div",{className:B("p-1",!v&&"pointer-events-none"),children:e.jsx(Q,{type:"submit",disabled:o||!v,className:B("w-full font-semibold"),size:"xl","aria-hidden":!v,children:o?h?"Creating account...":"Signing in...":"Continue"})})})]}),e.jsx("div",{className:"text-sm text-muted-foreground",children:p?e.jsx("button",{type:"button",onClick:()=>M("signIn"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Back to sign in"}):x&&d.enabled?e.jsx("button",{type:"button",onClick:()=>M("signIn"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Sign in with password instead"}):!x&&d.enabled?e.jsxs(e.Fragment,{children:[h?"Already have an account? ":"Don't have an account? ",e.jsx("button",{type:"button",onClick:()=>M(h?"signIn":"signUp"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:h?"Sign in":"Sign up"}),i.enabled&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"mx-2",children:"·"}),e.jsx("button",{type:"button",onClick:()=>M("emailOtp"),disabled:o,className:"font-medium text-[#8CAA25] hover:underline disabled:opacity-50",children:"Sign in with email code"})]})]}):null})]})}function ue({redirectTo:s}){const[n,d]=m.useState(null);return m.useEffect(()=>{let u=!1;return(async()=>{try{let i;for(let l=0;l<5&&(i=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"}),!(i.ok||i.status<500));l++)await new Promise(r=>setTimeout(r,Math.min(1e3*2**l,1e4)));if(!i?.ok){const l=await i?.json().catch(()=>({}));throw new Error(l?.error||"Auto-login failed")}if(!u){const l=s.startsWith("/")&&!s.startsWith("//")?s:"/";window.location.href=l}}catch(i){u||d(i instanceof Error?i.message:"Auto-login failed")}})(),()=>{u=!0}},[s]),n?e.jsx("div",{className:"flex min-h-screen items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsxs("p",{className:"text-destructive mb-2",children:["Auto-login failed: ",n]}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Try restarting the server."})]})}):e.jsx(W,{})}function me(s){if(!s.client_id||s.response_type!=="code")return null;const n=new URLSearchParams;return s.client_id&&n.set("client_id",s.client_id),s.redirect_uri&&n.set("redirect_uri",s.redirect_uri),s.response_type&&n.set("response_type",s.response_type),s.state&&n.set("state",s.state),s.scope&&n.set("scope",s.scope),s.code_challenge&&n.set("code_challenge",s.code_challenge),s.code_challenge_method&&n.set("code_challenge_method",s.code_challenge_method),`/api/auth/mcp/authorize?${n.toString()}`}function ge(s){const n=le.c(5),{callbackURL:d,providerId:u}=s;let i,l;n[0]!==d||n[1]!==u?(i=()=>{(async()=>await b.signIn.sso({providerId:u,callbackURL:d}))()},l=[u,d],n[0]=d,n[1]=u,n[2]=i,n[3]=l):(i=n[2],l=n[3]),m.useEffect(i,l);let r;return n[4]===Symbol.for("react.memo_cache_sentinel")?(r=e.jsx(W,{}),n[4]=r):r=n[4],r}function pe(){const s=b.useSession(),n=ie({from:"/login"}),{next:d="/",client_id:u,redirect_uri:i,response_type:l,state:r,scope:j,code_challenge:y,code_challenge_method:D}=n,w=d.startsWith("/")&&!d.startsWith("//")?d:"/",{sso:C,emailAndPassword:A,magicLink:O,emailOtp:f,socialProviders:L,localMode:F}=X(),N=me({client_id:u,redirect_uri:i,response_type:l,state:r,scope:j,code_challenge:y,code_challenge_method:D}),c=N||w;return s.data?N?(window.location.href=N,e.jsx(W,{})):e.jsx(oe,{to:w}):F?e.jsx(ue,{redirectTo:c}):C.enabled?e.jsx(ge,{callbackURL:c,providerId:C.providerId}):A.enabled||O.enabled||f.enabled||L.enabled?e.jsx(de,{children:e.jsx(ce,{redirectUrl:N,callbackUrl:w})}):e.jsx("div",{children:"No login options available"})}export{pe as default};
@@ -1,3 +1,3 @@
1
- import{W as zt,r as ce,q as fe,G as $e,b as $t,H as Dt,a as pe,t as ue,o as G,K as ie,j as s,B as Pe,e as Y,s as kt,n as Nt,c as ze,l as Ze,E as Ft}from"./index-DLy_MgNO.js";import{C as Ot}from"./collection-display-button-M_1xgyCf.js";import{S as Lt}from"./search-input-IQT_u5qN.js";import{P as Ee}from"./index-hMTvGWUn.js";import{C as qt}from"./collection-table-wrapper-B4EgEmky.js";import{E as Je}from"./empty-state-CVOhfUW7.js";import{D as Bt,i as Kt,a as Vt,b as Qt,c as Ut,d as Gt}from"./dialog-DSHkVmzb.js";import{a as Ht,F as ot,b as rt,c as Jt,d as ct,f as mt}from"./form-DngzP8fb.js";import{d as Xe,S as et,a as tt,b as st,c as nt}from"./select-Dz1PdScB.js";import{T as Wt}from"./textarea--0YfTbVD.js";import{u as at}from"./use-org-auth-client-D0Et-q9V.js";import{u as Tt}from"./use-organization-roles-jFwocdK5.js";import{u as Yt}from"./use-members-B2ko1Eht.js";import{u as De}from"./studio-tools-BxKekKsO.js";import{T as Zt,a as Xt,c as es,b as ts}from"./tooltip-DUvSyhJC.js";import{a as dt,e as ut,g as ft,b as ht,c as gt,d as pt,f as xt,A as bt}from"./alert-dialog-tg3D4mnu.js";import{A as Ke}from"./avatar-DK3a4hPp.js";import{B as Qe}from"./badge-SRsZ13Ha.js";import{C as jt}from"./card-BU_YNBo4.js";import{D as It,a as At,b as Mt,e as ss,f as ns,g as is,c as it,d as as}from"./dropdown-menu-DFCaJxA8.js";import{i as Et}from"./DotsVertical--R-pmXe3.js";import{i as ls}from"./Key01-CfBifHqv.js";import{i as os}from"./Shield01-5PYVS020.js";import{a as rs}from"./SwitchHorizontal01-Fq29tGDx.js";import{s as cs}from"./Trash01-XqCtMZQT.js";import{s as Pt}from"./XClose-CxCjUb2p.js";import{C as vt}from"./checkbox-CGo4P_LC.js";import{a as We,e as Ye,f as Ct,C as ms,d as ds,b as us,c as fs}from"./command-D_uV9Uyw.js";import{b as hs,P as gs,a as ps}from"./popover-BTf4Nz5d.js";import{t as xs}from"./ChevronDown-CE2QQfze.js";import{s as bs}from"./Plus-BX4ueqQS.js";import{R as js}from"./require-capability-VkdqqQVh.js";import"./Check-CTLrORIv.js";import"./view-mode-toggle-DPvhvCSl.js";import"./SearchMd-CL91MHi_.js";import"./sidebar-DRcLUASh.js";import"./LayoutLeft-DhbihSgJ.js";import"./sheet-CtgWE_6O.js";import"./X-8xcHoVBj.js";import"./table-BF0TGzWk.js";import"./label-Dh8yif55.js";import"./ChevronUp-4IXM99ti.js";import"./User01-Cz-IdAgQ.js";import"./ChevronRight-VGojeAFz.js";import"./index-BepaMXhR.js";import"./use-capability-B4Fg7dX0.js";import"./access-gate-3WvSXWjg.js";import"./capability-load-error-C5tUHDdB.js";const vs=zt().email("Invalid email address");function Cs(t){if(!t.trim())return[];const e=t.split(/[,;\n]/).map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return Array.from(new Set(e))}function ys({trigger:t}){const[e,n]=ce.useState(!1),{locator:l}=fe(),a=at(),i=$e(),{data:o}=$t.useSession(),c=o?.user?.email,{roles:p,isLoading:x}=Tt(),j=p.filter(m=>m.role!=="owner"),g=Dt({mode:"onChange",defaultValues:{emailsText:"",role:"user"}}),b=g.watch("emailsText"),M=g.watch("role"),v=Cs(b).filter(m=>{const r=vs.safeParse(m).success,f=!c||m!==c.toLowerCase();return r&&f}),N=pe({mutationFn:async({emails:m,role:r})=>{if(!r)throw new Error("Please select a role");const f=await Promise.allSettled(m.map(async w=>{const A=await a.organization.inviteMember({email:w,role:r});if(A.error)throw new Error(A.error.message);return A.data})),I=f.filter(w=>w.status==="rejected");if(I.length>0)throw new Error(`Failed to invite ${I.length} member${I.length>1?"s":""}`);return f},onSuccess:(m,{emails:r,role:f})=>{ue("member_invited",{count:r.length,role:f}),i.invalidateQueries({queryKey:ie.members(l)}),i.invalidateQueries({queryKey:ie.invitations(l)}),G.success(r.length===1?"Member invited successfully!":`${r.length} members invited successfully!`),g.reset({emailsText:"",role:"user"}),n(!1)},onError:(m,{emails:r,role:f})=>{ue("member_invite_failed",{count:r.length,role:f,error:m instanceof Error?m.message:String(m)}),G.error(m instanceof Error?m.message:"Failed to invite members")}}),y=m=>{if(v.length===0){G.error("Please enter at least one valid email address");return}if(!m.role){G.error("Please select a role");return}N.mutate({emails:v,role:m.role})},$=v.length>0&&!!M;return s.jsxs(Bt,{open:e,onOpenChange:n,children:[s.jsx(Kt,{asChild:!0,children:t}),s.jsxs(Vt,{className:"sm:max-w-lg",children:[s.jsx(Qt,{children:s.jsx(Ut,{children:"Invite members"})}),s.jsx(Ht,{...g,children:s.jsxs("form",{onSubmit:g.handleSubmit(y),className:"space-y-4",children:[s.jsx(ot,{control:g.control,name:"emailsText",render:({field:m})=>s.jsxs(rt,{children:[s.jsx(Jt,{children:"Email addresses"}),s.jsx(ct,{children:s.jsx(Wt,{...m,disabled:N.isPending,placeholder:`Enter email addresses separated by commas or new lines
1
+ import{W as zt,r as ce,q as fe,G as $e,b as $t,H as Dt,a as pe,t as ue,o as G,K as ie,j as s,B as Pe,e as Y,s as kt,n as Nt,c as ze,l as Ze,E as Ft}from"./index-Bll1AlZi.js";import{C as Ot}from"./collection-display-button-C6_DwOqJ.js";import{S as Lt}from"./search-input-JFEU6QlH.js";import{P as Ee}from"./index-Bgv8YQhF.js";import{C as qt}from"./collection-table-wrapper-CTY0qyxJ.js";import{E as Je}from"./empty-state-BumLAiri.js";import{D as Bt,i as Kt,a as Vt,b as Qt,c as Ut,d as Gt}from"./dialog-BE3BWPis.js";import{a as Ht,F as ot,b as rt,c as Jt,d as ct,f as mt}from"./form-Bn5_lJ6b.js";import{d as Xe,S as et,a as tt,b as st,c as nt}from"./select-CTk6Rsq0.js";import{T as Wt}from"./textarea-D7mZzw_Y.js";import{u as at}from"./use-org-auth-client-uSzlmndB.js";import{u as Tt}from"./use-organization-roles-DfnjRa-5.js";import{u as Yt}from"./use-members-CTowYB9Z.js";import{u as De}from"./studio-tools-I8Y7AvNq.js";import{T as Zt,a as Xt,c as es,b as ts}from"./tooltip-B2vnmSMM.js";import{a as dt,e as ut,g as ft,b as ht,c as gt,d as pt,f as xt,A as bt}from"./alert-dialog-C_C5CWIi.js";import{A as Ke}from"./avatar-DI2KQvq0.js";import{B as Qe}from"./badge-DqS5s_eb.js";import{C as jt}from"./card-C0qmaAJH.js";import{D as It,a as At,b as Mt,d as ss,e as ns,f as is,c as it,g as as}from"./dropdown-menu-D7fqzmBS.js";import{i as Et}from"./DotsVertical-dauL8_mz.js";import{i as ls}from"./Key01-u8nOkLN5.js";import{i as os}from"./Shield01-BlrpeOP8.js";import{a as rs}from"./SwitchHorizontal01-DUBxuMB8.js";import{s as cs}from"./Trash01-BOiUMUTV.js";import{s as Pt}from"./XClose-CXQHotFO.js";import{C as vt}from"./checkbox-ClCQ7aIa.js";import{a as We,e as Ye,f as Ct,C as ms,d as ds,b as us,c as fs}from"./command-DZekvH1G.js";import{b as hs,P as gs,a as ps}from"./popover-CNh3Ozeq.js";import{t as xs}from"./ChevronDown-DXk0XLak.js";import{s as bs}from"./Plus-CSmw6cpp.js";import{R as js}from"./require-capability-CQkA6hP5.js";import"./Check-xMlMIzVH.js";import"./view-mode-toggle-oQJDkJzK.js";import"./SearchMd-DXp3IUvU.js";import"./sidebar-hk7mPADd.js";import"./LayoutLeft-Ozgz9jeL.js";import"./sheet-DokH5LKH.js";import"./X-LT7RIKGm.js";import"./table-BvWfaT33.js";import"./label-cKO6vIjy.js";import"./ChevronUp-CDwUhj6r.js";import"./User01-CMlKZMq6.js";import"./ChevronRight-TZkuqway.js";import"./index-DxNfIzhJ.js";import"./use-capability-cYRWRLhr.js";import"./access-gate-CAbN0Agd.js";import"./capability-load-error-DMe1nIxk.js";const vs=zt().email("Invalid email address");function Cs(t){if(!t.trim())return[];const e=t.split(/[,;\n]/).map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return Array.from(new Set(e))}function ys({trigger:t}){const[e,n]=ce.useState(!1),{locator:l}=fe(),a=at(),i=$e(),{data:o}=$t.useSession(),c=o?.user?.email,{roles:p,isLoading:x}=Tt(),j=p.filter(m=>m.role!=="owner"),g=Dt({mode:"onChange",defaultValues:{emailsText:"",role:"user"}}),b=g.watch("emailsText"),M=g.watch("role"),v=Cs(b).filter(m=>{const r=vs.safeParse(m).success,f=!c||m!==c.toLowerCase();return r&&f}),N=pe({mutationFn:async({emails:m,role:r})=>{if(!r)throw new Error("Please select a role");const f=await Promise.allSettled(m.map(async w=>{const A=await a.organization.inviteMember({email:w,role:r});if(A.error)throw new Error(A.error.message);return A.data})),I=f.filter(w=>w.status==="rejected");if(I.length>0)throw new Error(`Failed to invite ${I.length} member${I.length>1?"s":""}`);return f},onSuccess:(m,{emails:r,role:f})=>{ue("member_invited",{count:r.length,role:f}),i.invalidateQueries({queryKey:ie.members(l)}),i.invalidateQueries({queryKey:ie.invitations(l)}),G.success(r.length===1?"Member invited successfully!":`${r.length} members invited successfully!`),g.reset({emailsText:"",role:"user"}),n(!1)},onError:(m,{emails:r,role:f})=>{ue("member_invite_failed",{count:r.length,role:f,error:m instanceof Error?m.message:String(m)}),G.error(m instanceof Error?m.message:"Failed to invite members")}}),y=m=>{if(v.length===0){G.error("Please enter at least one valid email address");return}if(!m.role){G.error("Please select a role");return}N.mutate({emails:v,role:m.role})},$=v.length>0&&!!M;return s.jsxs(Bt,{open:e,onOpenChange:n,children:[s.jsx(Kt,{asChild:!0,children:t}),s.jsxs(Vt,{className:"sm:max-w-lg",children:[s.jsx(Qt,{children:s.jsx(Ut,{children:"Invite members"})}),s.jsx(Ht,{...g,children:s.jsxs("form",{onSubmit:g.handleSubmit(y),className:"space-y-4",children:[s.jsx(ot,{control:g.control,name:"emailsText",render:({field:m})=>s.jsxs(rt,{children:[s.jsx(Jt,{children:"Email addresses"}),s.jsx(ct,{children:s.jsx(Wt,{...m,disabled:N.isPending,placeholder:`Enter email addresses separated by commas or new lines
2
2
  e.g. user1@example.com, user2@example.com
3
3
  or one per line`,className:"min-h-[120px] resize-none"})}),s.jsx(mt,{})]})}),s.jsx(ot,{control:g.control,name:"role",render:({field:m})=>s.jsxs(rt,{children:[s.jsx(ct,{children:s.jsxs(Xe,{value:m.value,onValueChange:m.onChange,disabled:N.isPending||x,children:[s.jsx(et,{className:"w-full",children:s.jsx(tt,{placeholder:"Select a role"})}),s.jsx(st,{children:j.map(r=>{const f=[];return r.isBuiltin||(r.allowsAllStaticPermissions?f.push("Full org access"):r.staticPermissionCount&&r.staticPermissionCount>0&&f.push(`${r.staticPermissionCount} org perm${r.staticPermissionCount!==1?"s":""}`),r.allowsAllConnections?f.push("All connections"):r.connectionCount&&r.connectionCount>0&&f.push(`${r.connectionCount} connection${r.connectionCount!==1?"s":""}`),(r.connectionCount!==0||r.allowsAllConnections)&&(r.allowsAllTools?f.push("all tools"):r.toolCount&&r.toolCount>0&&f.push(`${r.toolCount} tool${r.toolCount!==1?"s":""}`))),s.jsx(nt,{value:r.role,children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:r.label}),!r.isBuiltin&&f.length>0&&s.jsx("span",{className:"text-xs text-muted-foreground",children:f.join(", ")})]})},r.role)})})]})}),s.jsx(mt,{})]})}),s.jsxs(Gt,{children:[s.jsx(Pe,{variant:"outline",onClick:()=>{g.reset({emailsText:"",role:"user"}),n(!1)},type:"button",disabled:N.isPending,children:"Cancel"}),s.jsx(Pe,{type:"submit",disabled:N.isPending||!$,children:N.isPending?"Inviting...":`Invite ${v.length||0} Member${v.length!==1?"s":""}`})]})]})})]})]})}function Ss(){const t=Y.c(7),{locator:e}=fe(),n=De();let l;t[0]!==e?(l=ie.invitations(e),t[0]=e,t[1]=l):l=t[1];let a;t[2]!==n?(a=async()=>(await n.call("ORGANIZATION_GET",{}))?.invitations??[],t[2]=n,t[3]=a):a=t[3];let i;return t[4]!==l||t[5]!==a?(i={queryKey:l,queryFn:a},t[4]=l,t[5]=a,t[6]=i):i=t[6],kt(i)}function ws(){const t=Y.c(10),{locator:e}=fe(),n=at(),l=$e();let a;t[0]!==n?(a=async x=>{const j=await n.organization.cancelInvitation({invitationId:x});if(j?.error)throw new Error(j.error.message);return j.data},t[0]=n,t[1]=a):a=t[1];let i;t[2]!==e||t[3]!==l?(i=()=>{l.invalidateQueries({queryKey:ie.invitations(e)}),G.success("Invitation cancelled")},t[2]=e,t[3]=l,t[4]=i):i=t[4];let o;t[5]!==a||t[6]!==i?(o={mutationFn:a,onSuccess:i,onError:Ns},t[5]=a,t[6]=i,t[7]=o):o=t[7];const c=pe(o);let p;return t[8]!==c?(p={cancel:c},t[8]=c,t[9]=p):p=t[9],p}function Ns(t){G.error(t instanceof Error?t.message:"Failed to cancel invitation")}function Ts(){const t=Y.c(7),{locator:e}=fe(),n=De();let l;t[0]!==e?(l=ie.tags(e),t[0]=e,t[1]=l):l=t[1];let a;t[2]!==n?(a=async()=>{const{tags:o}=await n.call("TAGS_LIST",{});return o},t[2]=n,t[3]=a):a=t[3];let i;return t[4]!==l||t[5]!==a?(i={queryKey:l,queryFn:a,staleTime:3e4},t[4]=l,t[5]=a,t[6]=i):i=t[6],Nt(i)}function Is(){const t=Y.c(8),e=$e(),{locator:n}=fe(),l=De();let a;t[0]!==l?(a=async c=>{const{tag:p}=await l.call("TAGS_CREATE",{name:c});return p},t[0]=l,t[1]=a):a=t[1];let i;t[2]!==n||t[3]!==e?(i=()=>{e.invalidateQueries({queryKey:ie.tags(n)})},t[2]=n,t[3]=e,t[4]=i):i=t[4];let o;return t[5]!==a||t[6]!==i?(o={mutationFn:a,onSuccess:i,onError:As},t[5]=a,t[6]=i,t[7]=o):o=t[7],pe(o)}function As(t){G.error(t instanceof Error?t.message:"Failed to create tag")}function Ms(t){const e=Y.c(10),{locator:n}=fe(),l=De();let a;e[0]!==n||e[1]!==t?(a=ie.memberTags(n,t),e[0]=n,e[1]=t,e[2]=a):a=e[2];let i;e[3]!==t||e[4]!==l?(i=async()=>{const{tags:p}=await l.call("MEMBER_TAGS_GET",{memberId:t});return p},e[3]=t,e[4]=l,e[5]=i):i=e[5];const o=!!t;let c;return e[6]!==a||e[7]!==i||e[8]!==o?(c={queryKey:a,queryFn:i,staleTime:3e4,enabled:o},e[6]=a,e[7]=i,e[8]=o,e[9]=c):c=e[9],Nt(c)}function Es(){const t=Y.c(8),e=$e(),{locator:n}=fe(),l=De();let a;t[0]!==l?(a=async c=>{const{memberId:p,tagIds:x}=c;return await l.call("MEMBER_TAGS_SET",{memberId:p,tagIds:x})},t[0]=l,t[1]=a):a=t[1];let i;t[2]!==n||t[3]!==e?(i=(c,p)=>{e.invalidateQueries({queryKey:ie.memberTags(n,p.memberId)})},t[2]=n,t[3]=e,t[4]=i):i=t[4];let o;return t[5]!==a||t[6]!==i?(o={mutationFn:a,onSuccess:i,onError:Ps},t[5]=a,t[6]=i,t[7]=o):o=t[7],pe(o)}function Ps(t){G.error(t instanceof Error?t.message:"Failed to update member tags")}function _t(t){const e=Y.c(44),{memberId:n,className:l,disabled:a,placeholder:i,maxDisplay:o}=t,c=a===void 0?!1:a,p=i===void 0?"Add tags...":i,x=o===void 0?2:o,[j,g]=ce.useState(!1),[b,M]=ce.useState(""),{data:R,isLoading:v}=Ts(),N=R===void 0?[]:R,{data:y,isLoading:$}=Ms(n),m=y===void 0?[]:y,r=Is(),f=Es(),I=v||$,w=m.map(Rs);let A;e[0]!==b?(A=S=>S.name.toLowerCase().includes(b.toLowerCase()),e[0]=b,e[1]=A):A=e[1];const z=N.filter(A);let T;e[2]!==b?(T=S=>S.name.toLowerCase()===b.toLowerCase(),e[2]=b,e[3]=T):T=e[3];const K=N.find(T),E=b.trim()&&!K,k=async S=>{const ge=w.includes(S.id)?w.filter(je=>je!==S.id):[...w,S.id];await f.mutateAsync({memberId:n,tagIds:ge})},P=async()=>{if(!b.trim())return;const S=await r.mutateAsync(b.trim());await f.mutateAsync({memberId:n,tagIds:[...w,S.id]}),M("")},d=async S=>{const ne=w.filter(ge=>ge!==S);await f.mutateAsync({memberId:n,tagIds:ne})},C=r.isPending||f.isPending,L=gs;let D;e[4]!==j?(D=()=>g(!j),e[4]=j,e[5]=D):D=e[5];let F;e[6]!==l?(F=ze("h-auto min-h-8 px-2 py-1 justify-start font-normal","hover:bg-accent/50",l),e[6]=l,e[7]=F):F=e[7];const V=c||I,O=I?s.jsx(Ze,{size:14,className:"animate-spin text-muted-foreground"}):m.length>0?s.jsxs("div",{className:"flex items-center gap-1 flex-wrap",children:[m.slice(0,x).map(_s),m.length>x&&s.jsxs(Qe,{variant:"secondary",className:"text-xs px-1.5 py-0 h-5",children:["+",m.length-x]})]}):s.jsx("span",{className:"text-muted-foreground text-xs",children:p});let Q;e[8]===Symbol.for("react.memo_cache_sentinel")?(Q=s.jsx(xs,{size:14,className:"ml-1 shrink-0 opacity-50"}),e[8]=Q):Q=e[8];let q;e[9]!==V||e[10]!==O||e[11]!==D||e[12]!==F?(q=s.jsx(ps,{asChild:!0,children:s.jsxs(Pe,{variant:"ghost",size:"sm",onClick:D,className:F,disabled:V,children:[O,Q]})}),e[9]=V,e[10]=O,e[11]=D,e[12]=F,e[13]=q):q=e[13];const U=hs,H="w-56 p-0",J="start";let W;e[14]===Symbol.for("react.memo_cache_sentinel")?(W=()=>g(!1),e[14]=W):W=e[14];const ae=us,xe=!1;let Z;e[15]!==b?(Z=s.jsx(fs,{placeholder:"Search or create...",value:b,onValueChange:M,className:"h-9"}),e[15]=b,e[16]=Z):Z=e[16];const le=ds,me=m.length>0&&s.jsxs(s.Fragment,{children:[s.jsx(We,{heading:"Selected",children:m.map(S=>s.jsx(Ye,{onSelect:()=>k(S),className:"cursor-pointer",children:s.jsxs("div",{className:"flex items-center justify-between w-full",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(vt,{checked:!0,className:"[&_svg]:!text-primary-foreground"}),s.jsx("span",{children:S.name})]}),s.jsx("button",{onClick:ne=>{ne.stopPropagation(),d(S.id)},className:"opacity-50 hover:opacity-100",disabled:C,children:s.jsx(Pt,{size:14})})]})},S.id))}),s.jsx(Ct,{})]}),_e=We,be="Available",Re=z.length===0&&!E&&s.jsx(ms,{children:"No tags found."}),he=z.filter(S=>!w.includes(S.id)).map(S=>s.jsx(Ye,{onSelect:()=>k(S),className:"cursor-pointer",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(vt,{checked:!1,className:"[&_svg]:!text-primary-foreground"}),s.jsx("span",{children:S.name})]})},S.id));let oe;e[17]!==_e||e[18]!==Re||e[19]!==he?(oe=s.jsxs(_e,{heading:be,children:[Re,he]}),e[17]=_e,e[18]=Re,e[19]=he,e[20]=oe):oe=e[20];let re;e[21]!==P||e[22]!==C||e[23]!==b||e[24]!==E?(re=E&&s.jsxs(s.Fragment,{children:[s.jsx(Ct,{}),s.jsx(We,{children:s.jsx(Ye,{onSelect:P,className:"cursor-pointer",disabled:C,children:s.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[C?s.jsx(Ze,{size:14,className:"animate-spin"}):s.jsx(bs,{size:14}),s.jsxs("span",{children:['Create "',b.trim(),'"']})]})})})]}),e[21]=P,e[22]=C,e[23]=b,e[24]=E,e[25]=re):re=e[25];let X;e[26]!==le||e[27]!==me||e[28]!==oe||e[29]!==re?(X=s.jsxs(le,{children:[me,oe,re]}),e[26]=le,e[27]=me,e[28]=oe,e[29]=re,e[30]=X):X=e[30];let ee;e[31]!==ae||e[32]!==Z||e[33]!==X?(ee=s.jsxs(ae,{shouldFilter:xe,children:[Z,X]}),e[31]=ae,e[32]=Z,e[33]=X,e[34]=ee):ee=e[34];let te;e[35]!==U||e[36]!==W||e[37]!==ee?(te=s.jsx(U,{className:H,align:J,onEscapeKeyDown:W,children:ee}),e[35]=U,e[36]=W,e[37]=ee,e[38]=te):te=e[38];let se;return e[39]!==L||e[40]!==j||e[41]!==q||e[42]!==te?(se=s.jsxs(L,{open:j,onOpenChange:g,children:[q,te]}),e[39]=L,e[40]=j,e[41]=q,e[42]=te,e[43]=se):se=e[43],se}function _s(t){return s.jsx(Qe,{variant:"secondary",className:"text-xs px-1.5 py-0 h-5",children:t.name},t.id)}function Rs(t){return t.id}const yt=["bg-neutral-400","bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500","bg-slate-500"],zs={owner:"bg-red-500",admin:"bg-blue-500",user:"bg-green-500"};function Ve(t){return t?t.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}function $s(t){const e=new Map;for(const[n,l]of Object.entries(zs))e.set(n,l);for(let n=0;n<t.length;n++){const l=t[n];l&&!e.has(l.role)&&e.set(l.role,yt[n%yt.length]??"bg-neutral-400")}return e}function Ds(t){return new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function Be(t){const e=Y.c(79),{role:n,memberId:l,isOwner:a,roleColorMap:i,selectableRoles:o,onRoleChange:c,size:p,className:x}=t,j=p===void 0?"xs":p;let g,b,M,R,v,N,y,$,m,r,f;if(e[0]!==x||e[1]!==a||e[2]!==l||e[3]!==c||e[4]!==n||e[5]!==i||e[6]!==o||e[7]!==j){f=Symbol.for("react.early_return_sentinel");e:{const P=i.get(n)??"bg-neutral-400";if(a){let d;e[19]!==l||e[20]!==c?(d=H=>c(l,H),e[19]=l,e[20]=c,e[21]=d):d=e[21];let C;e[22]!==n?(C=s.jsx("span",{className:"capitalize truncate",children:n}),e[22]=n,e[23]=C):C=e[23];const L=s.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[s.jsx("div",{className:ze("size-2 rounded-full shrink-0",P)}),C]});let D;e[24]!==L?(D=s.jsx(tt,{children:L}),e[24]=L,e[25]=D):D=e[25];let F;e[26]!==x||e[27]!==j||e[28]!==D?(F=s.jsx(et,{size:j,className:x,children:D}),e[26]=x,e[27]=j,e[28]=D,e[29]=F):F=e[29];let V;if(e[30]!==i||e[31]!==o){let H;e[33]!==i?(H=J=>{const W=i.get(J.role)??"bg-neutral-400";return s.jsx(nt,{value:J.role,children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:ze("size-3 rounded-full",W)}),s.jsx("span",{className:"capitalize",children:J.label})]})},J.role)},e[33]=i,e[34]=H):H=e[34],V=o.map(H),e[30]=i,e[31]=o,e[32]=V}else V=e[32];let O;e[35]!==V?(O=s.jsx(st,{children:V}),e[35]=V,e[36]=O):O=e[36];let Q;e[37]!==a||e[38]!==n||e[39]!==d||e[40]!==F||e[41]!==O?(Q=s.jsx(Zt,{asChild:!0,children:s.jsx("div",{className:"w-fit",children:s.jsxs(Xe,{value:n,onValueChange:d,disabled:a,children:[F,O]})})}),e[37]=a,e[38]=n,e[39]=d,e[40]=F,e[41]=O,e[42]=Q):Q=e[42];let q;e[43]===Symbol.for("react.memo_cache_sentinel")?(q=s.jsx(Xt,{children:s.jsx("p",{children:"The owner role cannot be changed"})}),e[43]=q):q=e[43];let U;e[44]!==Q?(U=s.jsx(es,{children:s.jsxs(ts,{children:[Q,q]})}),e[44]=Q,e[45]=U):U=e[45],f=U;break e}M=Xe,$=n,e[46]!==l||e[47]!==c?(m=d=>c(l,d),e[46]=l,e[47]=c,e[48]=m):m=e[48],r=a,b=et,N=j,y=x,g=tt,v="flex items-center gap-2 min-w-0",R=ze("size-2 rounded-full shrink-0",P)}e[0]=x,e[1]=a,e[2]=l,e[3]=c,e[4]=n,e[5]=i,e[6]=o,e[7]=j,e[8]=g,e[9]=b,e[10]=M,e[11]=R,e[12]=v,e[13]=N,e[14]=y,e[15]=$,e[16]=m,e[17]=r,e[18]=f}else g=e[8],b=e[9],M=e[10],R=e[11],v=e[12],N=e[13],y=e[14],$=e[15],m=e[16],r=e[17],f=e[18];if(f!==Symbol.for("react.early_return_sentinel"))return f;let I;e[49]!==R?(I=s.jsx("div",{className:R}),e[49]=R,e[50]=I):I=e[50];let w;e[51]!==n?(w=s.jsx("span",{className:"capitalize truncate",children:n}),e[51]=n,e[52]=w):w=e[52];let A;e[53]!==I||e[54]!==w||e[55]!==v?(A=s.jsxs("div",{className:v,children:[I,w]}),e[53]=I,e[54]=w,e[55]=v,e[56]=A):A=e[56];let z;e[57]!==g||e[58]!==A?(z=s.jsx(g,{children:A}),e[57]=g,e[58]=A,e[59]=z):z=e[59];let T;e[60]!==b||e[61]!==z||e[62]!==N||e[63]!==y?(T=s.jsx(b,{size:N,className:y,children:z}),e[60]=b,e[61]=z,e[62]=N,e[63]=y,e[64]=T):T=e[64];let K;if(e[65]!==i||e[66]!==o){let P;e[68]!==i?(P=d=>{const C=i.get(d.role)??"bg-neutral-400";return s.jsx(nt,{value:d.role,children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:ze("size-3 rounded-full",C)}),s.jsx("span",{className:"capitalize",children:d.label})]})},d.role)},e[68]=i,e[69]=P):P=e[69],K=o.map(P),e[65]=i,e[66]=o,e[67]=K}else K=e[67];let E;e[70]!==K?(E=s.jsx(st,{children:K}),e[70]=K,e[71]=E):E=e[71];let k;return e[72]!==M||e[73]!==T||e[74]!==E||e[75]!==$||e[76]!==m||e[77]!==r?(k=s.jsxs(M,{value:$,onValueChange:m,disabled:r,children:[T,E]}),e[72]=M,e[73]=T,e[74]=E,e[75]=$,e[76]=m,e[77]=r,e[78]=k):k=e[78],k}function St(t){const e=Y.c(51),{member:n,roles:l,onChangeRole:a,onRemove:i,isUpdating:o}=t,c=o===void 0?!1:o,p=n.role==="owner";let x,j,g,b,M,R,v,N,y;if(e[0]!==p||e[1]!==c||e[2]!==n.id||e[3]!==n.role||e[4]!==a||e[5]!==l){let T;e[15]!==n.role?(T=d=>d.role!==n.role&&d.role!=="owner",e[15]=n.role,e[16]=T):T=e[16];const K=l.filter(T);b=It;let E;e[17]===Symbol.for("react.memo_cache_sentinel")?(E=s.jsx(Et,{size:20}),e[17]=E):E=e[17],e[18]!==p?(y=s.jsx(At,{asChild:!0,children:s.jsx(Pe,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",disabled:p,onClick:Fs,children:E})}),e[18]=p,e[19]=y):y=e[19],g=Mt,v="end",N=ks,j=ss;let k;e[20]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(rs,{size:16}),e[20]=k):k=e[20],e[21]!==c?(R=s.jsxs(ns,{disabled:c,children:[k,"Change Role"]}),e[21]=c,e[22]=R):R=e[22],x=is;let P;e[23]!==c||e[24]!==n.id||e[25]!==a?(P=d=>{const C=[];return d.isBuiltin||(d.allowsAllStaticPermissions?C.push("Full org access"):d.staticPermissionCount&&d.staticPermissionCount>0&&C.push(`${d.staticPermissionCount} org perm${d.staticPermissionCount!==1?"s":""}`),d.allowsAllConnections?C.push("All connections"):d.connectionCount&&d.connectionCount>0&&C.push(`${d.connectionCount} connection${d.connectionCount!==1?"s":""}`),(d.connectionCount!==0||d.allowsAllConnections)&&(d.allowsAllTools?C.push("all tools"):d.toolCount&&d.toolCount>0&&C.push(`${d.toolCount} tool${d.toolCount!==1?"s":""}`))),s.jsxs(it,{onClick:L=>{L.stopPropagation(),a(n.id,d.role)},disabled:c,children:[d.isBuiltin?s.jsx(os,{size:16}):s.jsx(ls,{size:16}),s.jsxs("span",{className:"flex flex-col",children:[s.jsx("span",{children:d.label}),!d.isBuiltin&&C.length>0&&s.jsx("span",{className:"text-xs text-muted-foreground",children:C.join(", ")})]})]},d.role)},e[23]=c,e[24]=n.id,e[25]=a,e[26]=P):P=e[26],M=K.map(P),e[0]=p,e[1]=c,e[2]=n.id,e[3]=n.role,e[4]=a,e[5]=l,e[6]=x,e[7]=j,e[8]=g,e[9]=b,e[10]=M,e[11]=R,e[12]=v,e[13]=N,e[14]=y}else x=e[6],j=e[7],g=e[8],b=e[9],M=e[10],R=e[11],v=e[12],N=e[13],y=e[14];let $;e[27]!==x||e[28]!==M?($=s.jsx(x,{children:M}),e[27]=x,e[28]=M,e[29]=$):$=e[29];let m;e[30]!==j||e[31]!==R||e[32]!==$?(m=s.jsxs(j,{children:[R,$]}),e[30]=j,e[31]=R,e[32]=$,e[33]=m):m=e[33];let r;e[34]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(as,{}),e[34]=r):r=e[34];let f;e[35]!==n.id||e[36]!==i?(f=T=>{T.stopPropagation(),i(n.id)},e[35]=n.id,e[36]=i,e[37]=f):f=e[37];let I;e[38]===Symbol.for("react.memo_cache_sentinel")?(I=s.jsx(cs,{size:16}),e[38]=I):I=e[38];let w;e[39]!==f?(w=s.jsxs(it,{variant:"destructive",onClick:f,children:[I,"Remove Member"]}),e[39]=f,e[40]=w):w=e[40];let A;e[41]!==g||e[42]!==w||e[43]!==v||e[44]!==N||e[45]!==m?(A=s.jsxs(g,{align:v,onClick:N,children:[m,r,w]}),e[41]=g,e[42]=w,e[43]=v,e[44]=N,e[45]=m,e[46]=A):A=e[46];let z;return e[47]!==b||e[48]!==A||e[49]!==y?(z=s.jsxs(b,{children:[y,A]}),e[47]=b,e[48]=A,e[49]=y,e[50]=z):z=e[50],z}function ks(t){return t.stopPropagation()}function Fs(t){return t.stopPropagation()}function wt(t){const e=Y.c(8),{invitationId:n,onCancel:l,isCancelling:a}=t,i=a===void 0?!1:a;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(At,{asChild:!0,children:s.jsx(Pe,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:Ls,children:s.jsx(Et,{size:20})})}),e[0]=o):o=e[0];let c;e[1]!==n||e[2]!==l?(c=j=>{j.stopPropagation(),l(n)},e[1]=n,e[2]=l,e[3]=c):c=e[3];let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsx(Pt,{size:16}),e[4]=p):p=e[4];let x;return e[5]!==i||e[6]!==c?(x=s.jsxs(It,{children:[o,s.jsx(Mt,{align:"end",onClick:Os,children:s.jsxs(it,{variant:"destructive",onClick:c,disabled:i,children:[p,"Cancel Invitation"]})})]}),e[5]=i,e[6]=c,e[7]=x):x=e[7],x}function Os(t){return t.stopPropagation()}function Ls(t){return t.stopPropagation()}function qs(){const t=Y.c(101),{data:e}=Yt(),{data:n}=Ss(),l=ws(),a=$e(),{locator:i}=fe(),o=at(),[c,p]=ce.useState(null),[x,j]=ce.useState(null),[g,b]=ce.useState(""),[M,R]=ce.useState("table"),[v,N]=ce.useState("member"),[y,$]=ce.useState("asc"),m=e?.data?.members;let r;t[0]!==v?(r=u=>{v===u?$(Zs):(N(u),$("asc"))},t[0]=v,t[1]=r):r=t[1];const f=r;let I=m??[],w=n??[];if(g){const u=g.toLowerCase();I=I.filter(h=>h.user?.name?.toLowerCase().includes(u)||h.user?.email?.toLowerCase().includes(u)||h.role?.toLowerCase().includes(u)),w=w.filter(h=>h.email?.toLowerCase().includes(u)||h.role?.toLowerCase().includes(u))}if(v&&y){let u;t[2]!==y||t[3]!==v?(u=(h,_)=>{let B,de;e:switch(v){case"member":{B=h.user?.name||"",de=_.user?.name||"";break e}case"role":{B=h.role||"",de=_.role||"";break e}case"joined":{B=h.createdAt?typeof h.createdAt=="string"?h.createdAt:h.createdAt.toISOString():"",de=_.createdAt?typeof _.createdAt=="string"?_.createdAt:_.createdAt.toISOString():"";break e}default:return 0}return y==="asc"?B.localeCompare(de):de.localeCompare(B)},t[2]=y,t[3]=v,t[4]=u):u=t[4],I=[...I].sort(u)}const A=I;let z;t[5]!==o?(z=async u=>{const h=await o.organization.removeMember({memberIdOrEmail:u});if(h?.error)throw new Error(h.error.message)},t[5]=o,t[6]=z):z=t[6];let T;t[7]!==i||t[8]!==a?(T=()=>{ue("member_removed"),a.invalidateQueries({queryKey:ie.members(i)}),G.success("Member has been removed from the organization"),p(null)},t[7]=i,t[8]=a,t[9]=T):T=t[9];let K;t[10]!==z||t[11]!==T?(K={mutationFn:z,onSuccess:T,onError:Ys},t[10]=z,t[11]=T,t[12]=K):K=t[12];const E=pe(K);let k;t[13]!==o?(k=async u=>{const{memberId:h,role:_}=u,B=await o.organization.updateMemberRole({memberId:h,role:[_]});if(B?.error)throw new Error(B.error.message)},t[13]=o,t[14]=k):k=t[14];let P;t[15]!==i||t[16]!==a?(P=(u,h)=>{ue("member_role_updated",{new_role:h.role}),a.invalidateQueries({queryKey:ie.members(i)}),G.success("Member's role has been updated")},t[15]=i,t[16]=a,t[17]=P):P=t[17];let d;t[18]!==k||t[19]!==P?(d={mutationFn:k,onSuccess:P,onError:Ws},t[18]=k,t[19]=P,t[20]=d):d=t[20];const C=pe(d);let L;t[21]!==o?(L=async u=>{const{invitationId:h,role:_,email:B}=u,de=await o.organization.cancelInvitation({invitationId:h});if(de?.error)throw new Error(de.error.message);const lt=await o.organization.inviteMember({email:B,role:_});if(lt?.error)throw new Error(lt.error.message)},t[21]=o,t[22]=L):L=t[22];let D;t[23]!==i||t[24]!==a?(D=(u,h)=>{ue("invitation_role_updated",{new_role:h.role}),a.invalidateQueries({queryKey:ie.invitations(i)}),G.success("Invitation role has been updated")},t[23]=i,t[24]=a,t[25]=D):D=t[25];let F;t[26]!==L||t[27]!==D?(F={mutationFn:L,onSuccess:D,onError:Js},t[26]=L,t[27]=D,t[28]=F):F=t[28];const V=pe(F),{roles:O,customRoles:Q}=Tt();let q;t[29]!==Q?(q=$s(Q),t[29]=Q,t[30]=q):q=t[30];const U=q;let H;t[31]!==O?(H=O.filter(Hs),t[31]=O,t[32]=H):H=t[32];const J=H;let W;t[33]===Symbol.for("react.memo_cache_sentinel")?(W={id:"member",header:"Member",render:Gs,cellClassName:"flex-1 min-w-0",sortable:!0},t[33]=W):W=t[33];let ae;t[34]!==U||t[35]!==J||t[36]!==V||t[37]!==C?(ae={id:"role",header:"Role",render:u=>u.type==="member"?s.jsx(Be,{role:u.data.role,memberId:u.data.id,isOwner:u.data.role==="owner",roleColorMap:U,selectableRoles:J,onRoleChange:(h,_)=>C.mutate({memberId:h,role:_}),className:"w-36"}):s.jsx(Be,{role:u.data.role,memberId:u.data.id,isOwner:!1,roleColorMap:U,selectableRoles:J,onRoleChange:(h,_)=>V.mutate({invitationId:h,role:_,email:u.data.email}),className:"w-36"}),cellClassName:"w-36 shrink-0",sortable:!0},t[34]=U,t[35]=J,t[36]=V,t[37]=C,t[38]=ae):ae=t[38];let xe,Z;t[39]===Symbol.for("react.memo_cache_sentinel")?(xe={id:"tags",header:"Tags",render:Us,cellClassName:"w-40 shrink-0"},Z={id:"joined",header:"Joined",render:Qs,cellClassName:"w-48 shrink-0",sortable:!0},t[39]=xe,t[40]=Z):(xe=t[39],Z=t[40]);let le;t[41]!==l.cancel.isPending||t[42]!==O||t[43]!==C?(le={id:"actions",header:"",render:u=>u.type==="member"?s.jsx(St,{member:u.data,roles:O,onChangeRole:(h,_)=>C.mutate({memberId:h,role:_}),onRemove:p,isUpdating:C.isPending}):s.jsx(wt,{invitationId:u.data.id,onCancel:j,isCancelling:l.cancel.isPending}),cellClassName:"w-12 shrink-0"},t[41]=l.cancel.isPending,t[42]=O,t[43]=C,t[44]=le):le=t[44];let me;t[45]!==ae||t[46]!==le?(me=[W,ae,xe,Z,le],t[45]=ae,t[46]=le,t[47]=me):me=t[47];const _e=me;let be;t[48]===Symbol.for("react.memo_cache_sentinel")?(be=s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(ys,{trigger:s.jsx(Pe,{children:"Invite Member"})})}),t[48]=be):be=t[48];const Re=be,he=[...A.map(Vs),...w.filter(Ks).map(Bs)],oe=Ee,re=!!x;let X;t[49]===Symbol.for("react.memo_cache_sentinel")?(X=()=>j(null),t[49]=X):X=t[49];let ee;t[50]===Symbol.for("react.memo_cache_sentinel")?(ee=s.jsxs(ht,{children:[s.jsx(gt,{children:"Cancel Invitation"}),s.jsx(pt,{children:"Are you sure you want to cancel this invitation? The invitee will no longer be able to join the organization with this invitation."})]}),t[50]=ee):ee=t[50];let te;t[51]===Symbol.for("react.memo_cache_sentinel")?(te=s.jsx(xt,{children:"Keep Invitation"}),t[51]=te):te=t[51];let se;t[52]!==l.cancel||t[53]!==x?(se=()=>{x&&(l.cancel.mutate(x),j(null))},t[52]=l.cancel,t[53]=x,t[54]=se):se=t[54];let S;t[55]!==l.cancel.isPending||t[56]!==se?(S=s.jsxs(dt,{children:[ee,s.jsxs(ut,{children:[te,s.jsx(ft,{onClick:se,disabled:l.cancel.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Cancel Invitation"})]})]}),t[55]=l.cancel.isPending,t[56]=se,t[57]=S):S=t[57];let ne;t[58]!==re||t[59]!==S?(ne=s.jsx(bt,{open:re,onOpenChange:X,children:S}),t[58]=re,t[59]=S,t[60]=ne):ne=t[60];const ge=!!c;let je;t[61]===Symbol.for("react.memo_cache_sentinel")?(je=()=>p(null),t[61]=je):je=t[61];let ke;t[62]===Symbol.for("react.memo_cache_sentinel")?(ke=s.jsxs(ht,{children:[s.jsx(gt,{children:"Remove Member"}),s.jsx(pt,{children:"Are you sure you want to remove this member from the organization? This action cannot be undone."})]}),t[62]=ke):ke=t[62];let Fe;t[63]===Symbol.for("react.memo_cache_sentinel")?(Fe=s.jsx(xt,{children:"Cancel"}),t[63]=Fe):Fe=t[63];let ve;t[64]!==c||t[65]!==E?(ve=()=>c&&E.mutate(c),t[64]=c,t[65]=E,t[66]=ve):ve=t[66];let Ce;t[67]!==E.isPending||t[68]!==ve?(Ce=s.jsxs(dt,{children:[ke,s.jsxs(ut,{children:[Fe,s.jsx(ft,{onClick:ve,disabled:E.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),t[67]=E.isPending,t[68]=ve,t[69]=Ce):Ce=t[69];let ye;t[70]!==ge||t[71]!==Ce?(ye=s.jsx(bt,{open:ge,onOpenChange:je,children:Ce}),t[70]=ge,t[71]=Ce,t[72]=ye):ye=t[72];const Ue=Ee,Ge=Ee,Rt="flex flex-col gap-6";let Se;t[73]===Symbol.for("react.memo_cache_sentinel")?(Se=s.jsx(Ee.Title,{children:"Members"}),t[73]=Se):Se=t[73];let Oe;t[74]===Symbol.for("react.memo_cache_sentinel")?(Oe=u=>{u.key==="Escape"&&(b(""),u.target.blur())},t[74]=Oe):Oe=t[74];let we;t[75]!==g?(we=s.jsx(Lt,{value:g,onChange:b,placeholder:"Search members...",className:"w-full md:w-[375px]",onKeyDown:Oe}),t[75]=g,t[76]=we):we=t[76];let Le;t[77]===Symbol.for("react.memo_cache_sentinel")?(Le=[{id:"member",label:"Name"},{id:"role",label:"Role"},{id:"joined",label:"Joined"}],t[77]=Le):Le=t[77];let Ne;t[78]!==f||t[79]!==y||t[80]!==v||t[81]!==M?(Ne=s.jsx(Ot,{viewMode:M,onViewModeChange:R,sortKey:v,sortDirection:y,onSort:f,sortOptions:Le}),t[78]=f,t[79]=y,t[80]=v,t[81]=M,t[82]=Ne):Ne=t[82];let Te;t[83]!==we||t[84]!==Ne?(Te=s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[we,Ne]}),Re]}),t[83]=we,t[84]=Ne,t[85]=Te):Te=t[85];const He=M==="cards"?s.jsx("div",{children:he.length===0?s.jsx(Je,{title:"No members found",description:g?`No members match "${g}"`:"Invite members to get started."}):s.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:he.map(u=>{if(u.type==="invitation")return s.jsxs(jt,{className:"transition-colors relative opacity-75",children:[s.jsx("div",{className:"absolute top-4 right-4 z-10",children:s.jsx(wt,{invitationId:u.data.id,onCancel:j,isCancelling:l.cancel.isPending})}),s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(Ke,{fallback:Ve(u.data.email),shape:"circle",size:"lg",className:"shrink-0"}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:u.data.email}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(Qe,{variant:"outline",className:"w-fit text-amber-600 border-amber-400",children:"Pending"})}),s.jsx(Be,{role:u.data.role,memberId:u.data.id,isOwner:!1,roleColorMap:U,selectableRoles:J,onRoleChange:(_,B)=>V.mutate({invitationId:_,role:B,email:u.data.email}),className:"w-fit"})]})]})]},`inv-${u.data.id}`);const h=u.data;return s.jsxs(jt,{className:"transition-colors relative",children:[s.jsx("div",{className:"absolute top-4 right-4 z-10",children:s.jsx(St,{member:h,roles:O,onChangeRole:(_,B)=>C.mutate({memberId:_,role:B}),onRemove:p,isUpdating:C.isPending})}),s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(Ke,{url:h.user?.image??void 0,fallback:Ve(h.user?.name),shape:"circle",size:"lg",className:"shrink-0"}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:h.user?.name||"Unknown"}),s.jsx("p",{className:"text-sm text-muted-foreground truncate",children:h.user?.email}),s.jsx(Be,{role:h.role,memberId:h.id,isOwner:h.role==="owner",roleColorMap:U,selectableRoles:J,onRoleChange:(_,B)=>C.mutate({memberId:_,role:B}),className:"w-fit"}),s.jsx(_t,{memberId:h.id,maxDisplay:3})]})]})]},h.id)})})}):s.jsx(qt,{columns:_e,data:he,isLoading:!1,sortKey:v,sortDirection:y,onSort:f,emptyState:g?s.jsx(Je,{title:"No members found",description:`No members match "${g}"`}):s.jsx(Je,{title:"No members found",description:"Invite members to get started."})});let Ie;t[86]!==Se||t[87]!==Te||t[88]!==He?(Ie=s.jsxs("div",{className:Rt,children:[Se,Te,He]}),t[86]=Se,t[87]=Te,t[88]=He,t[89]=Ie):Ie=t[89];let Ae;t[90]!==Ge.Body||t[91]!==Ie?(Ae=s.jsx(Ge.Body,{children:Ie}),t[90]=Ge.Body,t[91]=Ie,t[92]=Ae):Ae=t[92];let Me;t[93]!==Ue.Content||t[94]!==Ae?(Me=s.jsx(Ue.Content,{children:Ae}),t[93]=Ue.Content,t[94]=Ae,t[95]=Me):Me=t[95];let qe;return t[96]!==oe||t[97]!==ne||t[98]!==ye||t[99]!==Me?(qe=s.jsxs(oe,{children:[ne,ye,Me]}),t[96]=oe,t[97]=ne,t[98]=ye,t[99]=Me,t[100]=qe):qe=t[100],qe}function Bs(t){return{type:"invitation",data:t}}function Ks(t){return t.status==="pending"}function Vs(t){return{type:"member",data:t}}function Qs(t){return t.type==="member"?s.jsx("span",{className:"text-sm text-foreground",children:t.data.createdAt?Ds(t.data.createdAt):"N/A"}):s.jsx(Qe,{variant:"outline",children:"Pending"})}function Us(t){return t.type==="member"?s.jsx(_t,{memberId:t.data.id,maxDisplay:2}):s.jsx("span",{className:"text-xs text-muted-foreground",children:"-"})}function Gs(t){return t.type==="member"?s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(Ke,{url:t.data.user?.image??void 0,fallback:Ve(t.data.user?.name),shape:"circle",size:"sm"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:t.data.user?.name||"Unknown"}),s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:t.data.user?.email})]})]}):s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(Ke,{fallback:Ve(t.data.email),shape:"circle",size:"sm"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:t.data.email}),s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:"Invitation sent"})]})]})}function Hs(t){return t.role!=="owner"}function Js(t,e){ue("invitation_role_update_failed",{new_role:e.role,error:t instanceof Error?t.message:String(t)}),G.error(t instanceof Error?t.message:"Failed to update invitation role")}function Ws(t,e){ue("member_role_update_failed",{new_role:e.role,error:t instanceof Error?t.message:String(t)}),G.error(t instanceof Error?t.message:"Failed to update role")}function Ys(t){ue("member_remove_failed",{error:t instanceof Error?t.message:String(t)}),G.error(t instanceof Error?t.message:"Failed to remove member")}function Zs(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Xs(){const t=Y.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(Ee,{children:s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed to load members"})})}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(Ft,{fallback:e,children:s.jsx(ce.Suspense,{fallback:s.jsx(Ee,{children:s.jsx("div",{className:"flex items-center justify-center h-full",children:s.jsx(Ze,{size:32,className:"animate-spin text-muted-foreground"})})}),children:s.jsx(qs,{})})}),t[1]=n):n=t[1],n}function Jn(){const t=Y.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(js,{capability:"members:manage",area:"members",children:s.jsx(Xs,{})}),t[0]=e):e=t[0],e}export{Jn as default};
@@ -1,4 +1,4 @@
1
- import{r as c,e as $,j as f,_ as O}from"./index-DLy_MgNO.js";import{l as I,F as K}from"./index-hwXZ3lhJ.js";import{S as N}from"./spinner-B_3Siejz.js";async function A(t){const e=t.getModel();if(!e)throw new Error("[Monaco] No model found in editor");const r=e.getValue(),i=r.replace(/export default (async )?function/,"export default $1function __default")+`
1
+ import{r as c,e as $,j as f,_ as O}from"./index-Bll1AlZi.js";import{l as I,F as K}from"./index-B-No0lhl.js";import{S as N}from"./spinner-Dstb6AhM.js";async function A(t){const e=t.getModel();if(!e)throw new Error("[Monaco] No model found in editor");const r=e.getValue(),i=r.replace(/export default (async )?function/,"export default $1function __default")+`
2
2
  type __ExpandRecursively<T> = T extends (...args: infer A) => infer R
3
3
  ? (...args: __ExpandRecursively<A>) => __ExpandRecursively<R>
4
4
  : T extends object