decocms 4.373.6 → 4.373.8

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 (368) hide show
  1. package/dist/client/assets/{AlertCircle-D3eYSD-F.js → AlertCircle-1_aD--dB.js} +1 -1
  2. package/dist/client/assets/{AreaChart-DwaiozPI.js → AreaChart-DL1NARLv.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-pKUucwnA.js → ArrowLeft-DbYZw4_2.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-dpr4pl9N.js → ArrowRight-DNQSixjP.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-CYYVNB-P.js → ArrowUp-CSKb51sC.js} +1 -1
  6. package/dist/client/assets/{CartesianChart-C0zj7nlT.js → CartesianChart-C7UCTRH5.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-GeSGM969.js → CheckCircle-Cc6CY47i.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-D3WR1M0A.js → ChevronUp-C9Nhfb-x.js} +1 -1
  9. package/dist/client/assets/{Copy01-DqrZOvVi.js → Copy01-BjLGbqnG.js} +1 -1
  10. package/dist/client/assets/{CreditCard01-VmFyjxYd.js → CreditCard01-ByBlbqPe.js} +1 -1
  11. package/dist/client/assets/{DotsVertical-CD4T7H6_.js → DotsVertical-Czhni7yG.js} +1 -1
  12. package/dist/client/assets/{Download01-BRqjontI.js → Download01-CDh7RxaN.js} +1 -1
  13. package/dist/client/assets/{ErrorBarContext-DL2J6Vap.js → ErrorBarContext-Dwimm_GG.js} +1 -1
  14. package/dist/client/assets/{Eye-CI6aKDnd.js → Eye-BKjf_vUO.js} +1 -1
  15. package/dist/client/assets/{Globe01-DF7y1beg.js → Globe01-k6r26TAV.js} +1 -1
  16. package/dist/client/assets/{Globe04-BFA3LOH7.js → Globe04-DFGUZ8EW.js} +1 -1
  17. package/dist/client/assets/{Image01-B6W5URkI.js → Image01-DpNFr3GM.js} +1 -1
  18. package/dist/client/assets/{Key01-BB4eK9Eq.js → Key01-BkaZy7Ah.js} +1 -1
  19. package/dist/client/assets/{LayoutLeft-DEnYqvHT.js → LayoutLeft-D1fYrUGp.js} +1 -1
  20. package/dist/client/assets/{Line-DrZZSRLC.js → Line-B72CBrVS.js} +1 -1
  21. package/dist/client/assets/{Link01-DVDPoM5q.js → Link01-D45u3Kwy.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-DpqcCYOT.js → LinkExternal01-CZLsVISw.js} +1 -1
  23. package/dist/client/assets/{Monitor01-DKEZpVnT.js → Monitor01-BjQTJmPT.js} +1 -1
  24. package/dist/client/assets/{Package-BYLXGnrw.js → Package-MW9FV2l6.js} +1 -1
  25. package/dist/client/assets/{Palette-CJjjIC-G.js → Palette-D2r_rP7A.js} +1 -1
  26. package/dist/client/assets/{Play-DJHXfM-U.js → Play-CQYqv81V.js} +1 -1
  27. package/dist/client/assets/{Plus-CFFsuHFf.js → Plus-DWnlhQEG.js} +1 -1
  28. package/dist/client/assets/{SearchLg-DgqRTz9C.js → SearchLg-BeTAUTWq.js} +1 -1
  29. package/dist/client/assets/{SearchMd-DRk1Er2c.js → SearchMd-BCQ1CyGA.js} +1 -1
  30. package/dist/client/assets/{Sector-WqXSCDB7.js → Sector-BE44p-SO.js} +1 -1
  31. package/dist/client/assets/{Settings02-DsaxolGj.js → Settings02-S2K24EWO.js} +1 -1
  32. package/dist/client/assets/{Share07-NUMfhSqd.js → Share07-BaevX8Mw.js} +1 -1
  33. package/dist/client/assets/{Stars01-DwhcksvZ.js → Stars01-DxWX4pOr.js} +1 -1
  34. package/dist/client/assets/{Sun-C0V63ie9.js → Sun-edqgTWqM.js} +1 -1
  35. package/dist/client/assets/{Tool01-d_iK_DkH.js → Tool01-BOTbO9xX.js} +1 -1
  36. package/dist/client/assets/{Tool02-cweQ69Nx.js → Tool02-CyM8jIXw.js} +1 -1
  37. package/dist/client/assets/{Trash01-Desmqajq.js → Trash01-CDngQkql.js} +1 -1
  38. package/dist/client/assets/{TrendUp01-B7gk74Ha.js → TrendUp01-CsEPcUzR.js} +1 -1
  39. package/dist/client/assets/{Upload01-DelvmgfV.js → Upload01-D48ElPif.js} +1 -1
  40. package/dist/client/assets/{User01-CbDoD5mb.js → User01-CEit44ru.js} +1 -1
  41. package/dist/client/assets/{UserSquare-Bje-nfYn.js → UserSquare-sbsbnvWo.js} +1 -1
  42. package/dist/client/assets/{Users01-BqKNBiO6.js → Users01-Drj4BA_j.js} +1 -1
  43. package/dist/client/assets/{X-CTlWdd97.js → X-Cr1LzzwP.js} +1 -1
  44. package/dist/client/assets/{XCircle-D6WY1ym8.js → XCircle-DoUWUf9d.js} +1 -1
  45. package/dist/client/assets/{XClose-DS_Db3B_.js → XClose-DA1jDjt_.js} +1 -1
  46. package/dist/client/assets/{Zap-XRJ8YEEc.js → Zap-C8hEZAXG.js} +1 -1
  47. package/dist/client/assets/{ZoomOut-DBByf2mh.js → ZoomOut-D-FhOF2X.js} +1 -1
  48. package/dist/client/assets/{access-gate-BPsOGNar.js → access-gate-DN6XyU54.js} +1 -1
  49. package/dist/client/assets/{add-connection-dialog-TAht4cuO.js → add-connection-dialog-B2QrTqPz.js} +1 -1
  50. package/dist/client/assets/{agent-analytics-BU1-PzkI.js → agent-analytics-DU5TPtWM.js} +1 -1
  51. package/dist/client/assets/agent-app-Dlen_0Di.js +1 -0
  52. package/dist/client/assets/{agent-assets-BrYlDhjI.js → agent-assets-DcW1ORPj.js} +1 -1
  53. package/dist/client/assets/{agent-automation-DRIwy8Ar.js → agent-automation-9xM1Gtnb.js} +1 -1
  54. package/dist/client/assets/{agent-automations-BHxYXOUj.js → agent-automations-CmiwlkHP.js} +1 -1
  55. package/dist/client/assets/{agent-connect-sources-wRyuYv4j.js → agent-connect-sources-DQnuiEX7.js} +1 -1
  56. package/dist/client/assets/agent-deck-CNwv_Xxg.js +1 -0
  57. package/dist/client/assets/{agent-e2e-DY_ih97m.js → agent-e2e-B1yu3LmN.js} +1 -1
  58. package/dist/client/assets/{agent-experiments-dhU9xmuI.js → agent-experiments-DcMUbiO3.js} +1 -1
  59. package/dist/client/assets/agent-file-CYm8MPZc.js +1 -0
  60. package/dist/client/assets/{agent-git-Cnyq85Ut.js → agent-git-46vyb24u.js} +1 -1
  61. package/dist/client/assets/{agent-hosting-Bfupqb3A.js → agent-hosting-BSY1HOZj.js} +1 -1
  62. package/dist/client/assets/{agent-icon-BRULiLDc.js → agent-icon-Ds4wUFQr.js} +1 -1
  63. package/dist/client/assets/agent-library-file-BuTSLi66.js +1 -0
  64. package/dist/client/assets/{agent-monitor-aF5mIseh.js → agent-monitor-vTks-T2X.js} +1 -1
  65. package/dist/client/assets/{agent-overview-CUKcQOax.js → agent-overview-ByGWdLe6.js} +1 -1
  66. package/dist/client/assets/agent-settings-DYymML90.js +1 -0
  67. package/dist/client/assets/{agent-site-editor-BrClI9uN.js → agent-site-editor-DjTgNacN.js} +1 -1
  68. package/dist/client/assets/agent-site-editor-code-D3yflCXW.js +2 -0
  69. package/dist/client/assets/{agent-site-editor-content-aGIy9wkn.js → agent-site-editor-content-CHcFmRvs.js} +2 -2
  70. package/dist/client/assets/agent-site-editor-preview-DgGl4ejp.js +518 -0
  71. package/dist/client/assets/agent-view-Dly6F-Vf.js +1 -0
  72. package/dist/client/assets/{agent-view-guard-S1hwNIOS.js → agent-view-guard-CiTb-IfK.js} +1 -1
  73. package/dist/client/assets/{agents-list-BRkUdqSH.js → agents-list-D-o8r0uS.js} +1 -1
  74. package/dist/client/assets/{ai-providers-BCwuu37Q.js → ai-providers-2qCkDYbv.js} +1 -1
  75. package/dist/client/assets/{alert-B1s9CJD8.js → alert-DjtybrS0.js} +1 -1
  76. package/dist/client/assets/{alert-dialog-DqO-3R76.js → alert-dialog-CVY7NpNS.js} +1 -1
  77. package/dist/client/assets/{api-keys-MUj_Ov5B.js → api-keys-DhnkXPQZ.js} +1 -1
  78. package/dist/client/assets/api-keys-SHbXzKXe.js +1 -0
  79. package/dist/client/assets/app-editor-BVTQM-H0.js +1 -0
  80. package/dist/client/assets/{asset-utils-CcZCvpL7.js → asset-utils-R2NmFVJk.js} +1 -1
  81. package/dist/client/assets/{auth-catchall-CKeXgRzB.js → auth-catchall-HC-N9ZSa.js} +1 -1
  82. package/dist/client/assets/{auth-entry-DzpuiHht.js → auth-entry-DKvENBOx.js} +1 -1
  83. package/dist/client/assets/{auth-CXaWU5n-.js → auth-gLcu1CpT.js} +1 -1
  84. package/dist/client/assets/{auth-split-layout-B9R0oKiN.js → auth-split-layout-B0sFfkaP.js} +1 -1
  85. package/dist/client/assets/{authenticate-and-persist-oauth-D7P0kNl_.js → authenticate-and-persist-oauth-w1UaCnqr.js} +1 -1
  86. package/dist/client/assets/{automation-list-row-DhIsdNHC.js → automation-list-row-BWqCCVZt.js} +1 -1
  87. package/dist/client/assets/{automation-runs-JqP5LSua.js → automation-runs-ChsLWdft.js} +1 -1
  88. package/dist/client/assets/{automations-Bvrg2Ist.js → automations-BCNLJx72.js} +1 -1
  89. package/dist/client/assets/{autosend-Bpehk8fy.js → autosend-BcXsN51P.js} +1 -1
  90. package/dist/client/assets/{avatar-Didv6efi.js → avatar-qzN7CafM.js} +1 -1
  91. package/dist/client/assets/{badge-BNCSp2s3.js → badge-Jn9rjNBm.js} +1 -1
  92. package/dist/client/assets/{block-document-DGTOwJRV.js → block-document-CS7Dc6Jk.js} +1 -1
  93. package/dist/client/assets/{blocks-preview-workspace-context-MbXHAD_k.js → blocks-preview-workspace-context-CkWQ4HXu.js} +1 -1
  94. package/dist/client/assets/{breadcrumb-Boq-3hHe.js → breadcrumb-DxmYUb0I.js} +1 -1
  95. package/dist/client/assets/{buckets-D2ABK9h6.js → buckets-Bve35Vnp.js} +1 -1
  96. package/dist/client/assets/{build-improve-prompt-doc-Cokn8AIT.js → build-improve-prompt-doc-3sm8qZxG.js} +1 -1
  97. package/dist/client/assets/{bulk-category-panel-CGL0cNkF.js → bulk-category-panel-PSXvOwnQ.js} +1 -1
  98. package/dist/client/assets/{calendar-Dm4fhyz-.js → calendar-CSr2hmIz.js} +1 -1
  99. package/dist/client/assets/{capability-load-error-B0iwFf7_.js → capability-load-error-Cdp84b5C.js} +1 -1
  100. package/dist/client/assets/category-editor-2S0eDZog.js +1 -0
  101. package/dist/client/assets/{chart-Akk0F8wU.js → chart-FOXwCLGv.js} +1 -1
  102. package/dist/client/assets/{chat-context-iYlkLZJd.js → chat-context-B6h2xdo0.js} +1 -1
  103. package/dist/client/assets/{chat-draft-BT2YB8qY.js → chat-draft-VxzhQrWJ.js} +1 -1
  104. package/dist/client/assets/{checkbox-CEMIbeLG.js → checkbox-CeU6IqeR.js} +1 -1
  105. package/dist/client/assets/{choose-editor-D7H3RTiD.js → choose-editor-BPTc6Ttm.js} +1 -1
  106. package/dist/client/assets/{cli-auth-success-sL-AfU_l.js → cli-auth-success-e04cXoeC.js} +1 -1
  107. package/dist/client/assets/{client-icons-CceCjUyO.js → client-icons-D01N1JIB.js} +1 -1
  108. package/dist/client/assets/{collapsible-Ddmiof2Z.js → collapsible-1Kj_Hjxx.js} +1 -1
  109. package/dist/client/assets/{collection-detail-UAstqg8H.js → collection-detail-J302oKJK.js} +1 -1
  110. package/dist/client/assets/{collection-display-button-Cqjn8K7c.js → collection-display-button-DFru68mT.js} +1 -1
  111. package/dist/client/assets/{collection-search-DJYVC05l.js → collection-search-CY6qtMl2.js} +1 -1
  112. package/dist/client/assets/{collection-table-wrapper-qc6gW6SL.js → collection-table-wrapper-wS8JTYNq.js} +1 -1
  113. package/dist/client/assets/{collection-tabs-anNBFHFb.js → collection-tabs-C75WAB0u.js} +1 -1
  114. package/dist/client/assets/{combobox-CGYz-V_6.js → combobox-BhSInoyS.js} +1 -1
  115. package/dist/client/assets/{command-Dt5rZk11.js → command-CApdc7tB.js} +1 -1
  116. package/dist/client/assets/{companion-mcps-section-C6ViuDC1.js → companion-mcps-section-B9Du9wa_.js} +1 -1
  117. package/dist/client/assets/{connect-DlhT2_a0.js → connect-Cn0VFLPZ.js} +1 -1
  118. package/dist/client/assets/{connect-layout-UA_ojwUJ.js → connect-layout-CqRKUl7K.js} +1 -1
  119. package/dist/client/assets/{connection-BgOyoL-N.js → connection-DHsoRZa4.js} +1 -1
  120. package/dist/client/assets/{connection-card-DxPN8sYJ.js → connection-card-B4Lfzhnd.js} +1 -1
  121. package/dist/client/assets/{connection-detail-D4jYnX4w.js → connection-detail-DEVK6-mo.js} +1 -1
  122. package/dist/client/assets/{connection-form-helpers-BgtFrKr_.js → connection-form-helpers-Do68AahQ.js} +1 -1
  123. package/dist/client/assets/{connections-C1YycoCL.js → connections-CcxQm1vB.js} +1 -1
  124. package/dist/client/assets/{create-organization-dialog-B4051f2Y.js → create-organization-dialog-RGp21FdA.js} +1 -1
  125. package/dist/client/assets/{decofile-api-qrEn75pC.js → decofile-api-xtxqfgRa.js} +1 -1
  126. package/dist/client/assets/decopilot-BgEg3OT6.js +4 -0
  127. package/dist/client/assets/{dialog-BG4c8Ew3.js → dialog-Dl5zPv9e.js} +1 -1
  128. package/dist/client/assets/{discover-CZhPBem-.js → discover-B68h516y.js} +1 -1
  129. package/dist/client/assets/{domain-settings-B5xKTZUy.js → domain-settings-D74bsHDK.js} +1 -1
  130. package/dist/client/assets/{download-app-dialog-BUFOH47d.js → download-app-dialog-t4N-N3uU.js} +1 -1
  131. package/dist/client/assets/{drawer-HsdaIuzu.js → drawer-CgkgucN1.js} +1 -1
  132. package/dist/client/assets/{editor-D6niHdLA.js → editor-T3L5r0Fu.js} +1 -1
  133. package/dist/client/assets/{empty-state-BI6nLRJ9.js → empty-state-CKSGQb76.js} +1 -1
  134. package/dist/client/assets/{empty-state-DtKYrRQz.js → empty-state-jlXAM_Vx.js} +1 -1
  135. package/dist/client/assets/{extract-connection-data-BN2GqRYG.js → extract-connection-data-DcLFWp9p.js} +1 -1
  136. package/dist/client/assets/{feature-gate-CBjka-VN.js → feature-gate-B-yrcMj6.js} +1 -1
  137. package/dist/client/assets/{feature-paywall-CRwtygFs.js → feature-paywall-DlNMP7aX.js} +1 -1
  138. package/dist/client/assets/{file-explorer-Dm8CypxL.js → file-explorer-DuCWREXF.js} +1 -1
  139. package/dist/client/assets/{file-preview-C81z-6bM.js → file-preview-CaI7fK9R.js} +1 -1
  140. package/dist/client/assets/{file-share-button-DZuygGvz.js → file-share-button-DnOchcN5.js} +1 -1
  141. package/dist/client/assets/{file-type-icon-DpJWy5M2.js → file-type-icon-VOg1Vfy5.js} +1 -1
  142. package/dist/client/assets/{folder-icon-Bm639N0Y.js → folder-icon-jICbufb_.js} +1 -1
  143. package/dist/client/assets/{form-Dky9WQSJ.js → form-C_kDn5va.js} +1 -1
  144. package/dist/client/assets/{gateway-client-QdZQKIDo.js → gateway-client-CSBLiew8.js} +1 -1
  145. package/dist/client/assets/{general-D__F-EyS.js → general-s-LpWgDM.js} +1 -1
  146. package/dist/client/assets/{github-icon-B_0P_4Xb.js → github-icon-DVQ1NwUu.js} +1 -1
  147. package/dist/client/assets/{home-CDgdAzeZ.js → home-DV89XXOG.js} +1 -1
  148. package/dist/client/assets/{hooks-Dr4SK9lF.js → hooks-B2mYVhP_.js} +1 -1
  149. package/dist/client/assets/{hooks-BP4OlUD4.js → hooks-DvQkdYJL.js} +1 -1
  150. package/dist/client/assets/{icon-button-DcEuCL60.js → icon-button-CByYJZRV.js} +1 -1
  151. package/dist/client/assets/{index-ClSKfzUE.js → index-545LRaIz.js} +1 -1
  152. package/dist/client/assets/{index-BJVVvEJb.js → index-BLPQEXIu.js} +1 -1
  153. package/dist/client/assets/index-BNah-P_g.css +1 -0
  154. package/dist/client/assets/{index-DfOmiBMV.js → index-C6HQEiEx.js} +1 -1
  155. package/dist/client/assets/{index-v_Uq46OW.js → index-CARHKa4M.js} +1 -1
  156. package/dist/client/assets/{index-C4voA6sY.js → index-CGR18BSj.js} +1 -1
  157. package/dist/client/assets/{index-cOIC2Zfa.js → index-CNUd9Lae.js} +1 -1
  158. package/dist/client/assets/{index-CHtlQTUQ.js → index-Ci3mCUbP.js} +1 -1
  159. package/dist/client/assets/{index-BwRzUgh0.js → index-CkeC_MxK.js} +1 -1
  160. package/dist/client/assets/{index-CcHKaTn6.js → index-CpZ_1mN7.js} +1 -1
  161. package/dist/client/assets/{index-B9-heAAa.js → index-Dn-pE_oF.js} +2 -2
  162. package/dist/client/assets/{index-1S4uBH3x.js → index-DnDIM2xu.js} +1 -1
  163. package/dist/client/assets/{index-BvpMJL9X.js → index-O9d00ugp.js} +1 -1
  164. package/dist/client/assets/{index-Dc_i1Bik.js → index-WCc3fcxd.js} +1 -1
  165. package/dist/client/assets/{index-5QMOhTWH.js → index-ctxca5Ua.js} +1 -1
  166. package/dist/client/assets/{index-redirect-CT5fA9So.js → index-redirect-lO7wa7N_.js} +1 -1
  167. package/dist/client/assets/{infiniteQueryObserver-Dj9z-_Ba.js → infiniteQueryObserver-ZTOME-Yd.js} +1 -1
  168. package/dist/client/assets/{infra-billing-C_FQsgB0.js → infra-billing-DEXSrufy.js} +1 -1
  169. package/dist/client/assets/{input-Bsj5KDt6.js → input-B4lbwedr.js} +1 -1
  170. package/dist/client/assets/input-CcdXXTty.js +8 -0
  171. package/dist/client/assets/{input-D7UnEeXl.js → input-DfvK3BvZ.js} +1 -1
  172. package/dist/client/assets/{integration-icon-B6dtorjO.js → integration-icon-BbMj8xyp.js} +1 -1
  173. package/dist/client/assets/{label-BO4yFijb.js → label-nMs4JvQM.js} +1 -1
  174. package/dist/client/assets/{last-preview-page-Dv830AIe.js → last-preview-page-BP1aM3EQ.js} +1 -1
  175. package/dist/client/assets/{layout-Bxh_his-.js → layout-ecXPoMWs.js} +1 -1
  176. package/dist/client/assets/{legacy-agents-deep-qsw3IhVI.js → legacy-agents-deep-BnkOa_92.js} +1 -1
  177. package/dist/client/assets/{legacy-main-redirect-C6TKhr8-.js → legacy-main-redirect-Be3GXpEP.js} +1 -1
  178. package/dist/client/assets/{library-CfLbpWZK.js → library-BdS1qibY.js} +1 -1
  179. package/dist/client/assets/{login-CZbYiPIn.js → login-B4q0HQCV.js} +1 -1
  180. package/dist/client/assets/{markdown-BF4hkzaL.js → markdown-D50yVO4b.js} +1 -1
  181. package/dist/client/assets/{mcp-app-renderer-Bxmf7t4w.js → mcp-app-renderer-C46rwnJa.js} +1 -1
  182. package/dist/client/assets/{mcp-oauth-DzKWzujJ.js → mcp-oauth-D9zitCdn.js} +1 -1
  183. package/dist/client/assets/{members-CDm04dqD.js → members-wCJ1T-Jh.js} +1 -1
  184. package/dist/client/assets/{message-templates-Dqw35wcK.js → message-templates-DGuaJC7Y.js} +1 -1
  185. package/dist/client/assets/{mini-report-page-DImPoXRk.js → mini-report-page-CP1mebuW.js} +1 -1
  186. package/dist/client/assets/{mock-board-BmIzs8Cs.js → mock-board-CbTe5OBn.js} +3 -3
  187. package/dist/client/assets/{monaco-editor-CLDMxU3Q.js → monaco-editor-DwetGl4M.js} +2 -2
  188. package/dist/client/assets/{monitoring-stats-row-1O6-pYvX.js → monitoring-stats-row-DJ9fN0yN.js} +1 -1
  189. package/dist/client/assets/{multi-select-DJ-p4Z1M.js → multi-select-BE1NAYiV.js} +1 -1
  190. package/dist/client/assets/{mustache-7izSLTr2.js → mustache-wFLLi-RJ.js} +1 -1
  191. package/dist/client/assets/{oauth-callback-D4wX3DB9.js → oauth-callback-D8JHxvY7.js} +1 -1
  192. package/dist/client/assets/{oauth-callback-ai-provider-BkM4OhqK.js → oauth-callback-ai-provider-DomKyrb4.js} +1 -1
  193. package/dist/client/assets/{onboarding-QU_kmcMD.js → onboarding-DJcRNmWh.js} +1 -1
  194. package/dist/client/assets/{optimistic-project-sidebar-views-CyseA3Te.js → optimistic-project-sidebar-views-DMDmcznJ.js} +1 -1
  195. package/dist/client/assets/{org-file-open-context-BJOB9JXS.js → org-file-open-context-bJmEvFz7.js} +1 -1
  196. package/dist/client/assets/{organization-choice-Yyr2HSJT.js → organization-choice-B_p1WFTG.js} +1 -1
  197. package/dist/client/assets/{orgs-BV2AvFmU.js → orgs-BwgDyUJv.js} +1 -1
  198. package/dist/client/assets/{page-seo-form-BsO0DrNN.js → page-seo-form-CESXJ0d5.js} +1 -1
  199. package/dist/client/assets/pair-B93l5mBb.js +47 -0
  200. package/dist/client/assets/{plan-ladder-DokAEKuN.js → plan-ladder--9AA86Vw.js} +1 -1
  201. package/dist/client/assets/{popover-DM5IZa3t.js → popover-2ypE52tC.js} +1 -1
  202. package/dist/client/assets/{post-calendar-C-e5-TV2.js → post-calendar-DHFYHW34.js} +1 -1
  203. package/dist/client/assets/{post-editor-BcTEdZP9.js → post-editor-C2pNflme.js} +1 -1
  204. package/dist/client/assets/{preview-content-D4gN_IR-.js → preview-content-B2uHD2ji.js} +1 -1
  205. package/dist/client/assets/{preview-dialog-CUXp3Zgx.js → preview-dialog-BBrtVo7w.js} +1 -1
  206. package/dist/client/assets/{primitives-B5JG2jIM.js → primitives-BAuykeIS.js} +1 -1
  207. package/dist/client/assets/{profile-CT7SVHWT.js → profile-SaxqZy8C.js} +1 -1
  208. package/dist/client/assets/{project-app-view-CnjyPq4z.js → project-app-view-DMevjOJJ.js} +1 -1
  209. package/dist/client/assets/{project-feed-CWn-Lv0t.js → project-feed-BeIKiBhK.js} +1 -1
  210. package/dist/client/assets/{project-icon-Ba4aI2hq.js → project-icon-DcxLNBvR.js} +1 -1
  211. package/dist/client/assets/project-reports-Zx7QBvUm.js +1 -0
  212. package/dist/client/assets/project-tasks-DognbToz.js +1 -0
  213. package/dist/client/assets/{prompts-W3xLcrYm.js → prompts-BPaifu-G.js} +1 -1
  214. package/dist/client/assets/record-editor-B4oaFr3X.js +1 -0
  215. package/dist/client/assets/{redirect-editor-BMH4ehui.js → redirect-editor-DKcp7e1n.js} +1 -1
  216. package/dist/client/assets/registry-Cmuz9TXo.js +2 -0
  217. package/dist/client/assets/{registry-layout-B6_xJXmc.js → registry-layout-10KQ6qzs.js} +1 -1
  218. package/dist/client/assets/reports-Al2NBjvI.js +1 -0
  219. package/dist/client/assets/{reports-B4eXifzx.js → reports-BTFMjh6T.js} +1 -1
  220. package/dist/client/assets/{reports-onboarding-ZAUri_6S.js → reports-onboarding-SI9K65FB.js} +1 -1
  221. package/dist/client/assets/{reports-tab-D4AGFGPc.js → reports-tab-BZPtKneq.js} +2 -2
  222. package/dist/client/assets/{repositories-Buk76J8t.js → repositories-2YbqPWsA.js} +1 -1
  223. package/dist/client/assets/{repository-import-picker-ebb6WNSx.js → repository-import-picker-CC5rjGza.js} +1 -1
  224. package/dist/client/assets/{repository-picker-B9Ygev7q.js → repository-picker-oVfzv-hF.js} +1 -1
  225. package/dist/client/assets/{require-capability-DhJhDP-L.js → require-capability-BUixtCV_.js} +1 -1
  226. package/dist/client/assets/{required-auth-layout-Cac00Ws4.js → required-auth-layout-c8IKViEL.js} +1 -1
  227. package/dist/client/assets/{reset-password-B8vf7L1c.js → reset-password-BcCSqEgi.js} +1 -1
  228. package/dist/client/assets/{resizable-C3bWrtWT.js → resizable-C5i5wwZj.js} +1 -1
  229. package/dist/client/assets/{review-settings-C-hBeg41.js → review-settings-4QW7vK7s.js} +1 -1
  230. package/dist/client/assets/{rich-text-link-control-CvYxTCJj.js → rich-text-link-control-Beqn4IaU.js} +1 -1
  231. package/dist/client/assets/{roles-Dh9UUZcV.js → roles-14p4u72x.js} +1 -1
  232. package/dist/client/assets/{route-DwkJPD1w.js → route-7BgI5Woy.js} +1 -1
  233. package/dist/client/assets/{route-Bb-xA0Ol.js → route-D1BgROGd.js} +1 -1
  234. package/dist/client/assets/route-DyAzwdqu.js +1 -0
  235. package/dist/client/assets/{route-page-header-BfHqQiDS.js → route-page-header-BZt7tMeI.js} +1 -1
  236. package/dist/client/assets/runnable-block-editor-DLCoyC1l.js +16 -0
  237. package/dist/client/assets/{sandbox-lifecycle-context-DfY4dZfw.js → sandbox-lifecycle-context-BElwiIKp.js} +1 -1
  238. package/dist/client/assets/{schema-6mN0bvm3.js → schema-BJjGrX8W.js} +1 -1
  239. package/dist/client/assets/{scroll-area-D7qbBjMH.js → scroll-area-DglU8OjO.js} +1 -1
  240. package/dist/client/assets/{search-input-Ck0252jm.js → search-input-B0JWJqt0.js} +1 -1
  241. package/dist/client/assets/{search-toggle-BLXBsyeS.js → search-toggle-DAzXUHXL.js} +1 -1
  242. package/dist/client/assets/{secrets-CqlL4cwb.js → secrets-DfOK53jt.js} +1 -1
  243. package/dist/client/assets/{sections-editor-S86e9po8.js → sections-editor-JwUGjbSO.js} +1 -1
  244. package/dist/client/assets/{select-CGIEs0gc.js → select-CQa_dQzn.js} +1 -1
  245. package/dist/client/assets/{select-model-B_ckG0Vk.js → select-model-CyVGvEjL.js} +1 -1
  246. package/dist/client/assets/{seo-editor-CiJSQ0hg.js → seo-editor-BVsw5Vxc.js} +1 -1
  247. package/dist/client/assets/{separator-Lx1_tt_L.js → separator-B4rqYwHA.js} +1 -1
  248. package/dist/client/assets/{settings-tab-08jTQ5mn.js → settings-tab-LDWtDGaS.js} +1 -1
  249. package/dist/client/assets/{sheet-BCMwxEJt.js → sheet-CFcU_I-W.js} +1 -1
  250. package/dist/client/assets/{shell-layout-C1-8bBsl.js → shell-layout-Cu8BQ2YY.js} +1 -1
  251. package/dist/client/assets/{sidebar-CpgCLs_P.js → sidebar-BV5Lpxrt.js} +1 -1
  252. package/dist/client/assets/{skill-preview-B9Fe89d7.js → skill-preview-n1yWNAQL.js} +1 -1
  253. package/dist/client/assets/{skills-DEDSoqR0.js → skills-DGx6RRr9.js} +1 -1
  254. package/dist/client/assets/{sso-Bcqdho85.js → sso-BUsjtg7A.js} +1 -1
  255. package/dist/client/assets/{store-Cs5Bmze9.js → store-Bg3pg157.js} +1 -1
  256. package/dist/client/assets/store-registry-D0DynT60.js +2 -0
  257. package/dist/client/assets/{switch-B7r0dQcL.js → switch-RF4lhbzX.js} +1 -1
  258. package/dist/client/assets/{synced-repos-CMjTOFt-.js → synced-repos-Dev_EZMx.js} +1 -1
  259. package/dist/client/assets/{table-DgtBm1fC.js → table-BciFqWlt.js} +1 -1
  260. package/dist/client/assets/{tabs-8a-KIKo5.js → tabs-CpJgNx30.js} +1 -1
  261. package/dist/client/assets/{task-board-CiWJ5lUh.js → task-board-DxUiBcDP.js} +1 -1
  262. package/dist/client/assets/{task-route-CN2ffNmY.js → task-route-D0p98pAa.js} +1 -1
  263. package/dist/client/assets/{task-status-DPBgrE0W.js → task-status-W7i54FBc.js} +1 -1
  264. package/dist/client/assets/{taskboard-analytics-DtbeRtX6.js → taskboard-analytics-QY1OXppw.js} +1 -1
  265. package/dist/client/assets/{tasks-Csxrv5NN.js → tasks-B6HzEGHt.js} +1 -1
  266. package/dist/client/assets/tasks-mk0xpRui.js +1 -0
  267. package/dist/client/assets/{textarea-B4b4OfxE.js → textarea-DTACqjWS.js} +1 -1
  268. package/dist/client/assets/{thread-button-DPSOj2uV.js → thread-button-BDPXLKAH.js} +1 -1
  269. package/dist/client/assets/{thread-intent-D_ZAwkxt.js → thread-intent-DOmgYGxo.js} +1 -1
  270. package/dist/client/assets/{thread-route-Bb_Mex6m.js → thread-route-CQvzElwe.js} +1 -1
  271. package/dist/client/assets/{thread-route-MBCO8DTC.js → thread-route-DH7EC64o.js} +1 -1
  272. package/dist/client/assets/{thread-sheet-body-C_Vpg-fX.js → thread-sheet-body-Cn07EcYl.js} +1 -1
  273. package/dist/client/assets/{toggle-group-DG19r_KQ.js → toggle-group-8GW330jn.js} +1 -1
  274. package/dist/client/assets/{toolbar-icon-button-6kpUmydY.js → toolbar-icon-button-BR3O5nbS.js} +1 -1
  275. package/dist/client/assets/{tooltip-DB_mQQ5y.js → tooltip-C6ST3NpK.js} +1 -1
  276. package/dist/client/assets/{track-DVuJubzn.js → track-CbmiGiqA.js} +1 -1
  277. package/dist/client/assets/{types-C5y87H9S.js → types-CCxzQATz.js} +1 -1
  278. package/dist/client/assets/{usage-stats-rVm4rZXJ.js → usage-stats-BrYXmxF3.js} +1 -1
  279. package/dist/client/assets/{use-ai-providers-ChLr6stH.js → use-ai-providers-DUHhmQc6.js} +1 -1
  280. package/dist/client/assets/{use-automations-D29wqp0p.js → use-automations-U42Dldb-.js} +1 -1
  281. package/dist/client/assets/{use-autosave-DzXheZOH.js → use-autosave-edwInapC.js} +1 -1
  282. package/dist/client/assets/{use-connect-companion-C9XVvNbQ.js → use-connect-companion-C8SW5ee7.js} +1 -1
  283. package/dist/client/assets/{use-connection-CxUZdVtx.js → use-connection-zRPDIQ_n.js} +1 -1
  284. package/dist/client/assets/{use-copy-n0GWSVkA.js → use-copy-CIAIrC4p.js} +1 -1
  285. package/dist/client/assets/{use-create-virtual-mcp-Cqo-Z1Nz.js → use-create-virtual-mcp-VQEANfyF.js} +1 -1
  286. package/dist/client/assets/{use-date-fns-locale-DRlG3NUT.js → use-date-fns-locale-DeWcS2U7.js} +1 -1
  287. package/dist/client/assets/{use-debounced-autosave-0DRMOIhZ.js → use-debounced-autosave-CU5jh2Bj.js} +1 -1
  288. package/dist/client/assets/{use-debounced-value-D9Q5Remb.js → use-debounced-value-B3_m5S__.js} +1 -1
  289. package/dist/client/assets/{use-deco-credits-D_VcXnYT.js → use-deco-credits-B92-uMQD.js} +1 -1
  290. package/dist/client/assets/{use-decopilot-events-M5cJZFyY.js → use-decopilot-events-7Ia-4Ojl.js} +1 -1
  291. package/dist/client/assets/{use-delete-connection-D1JqYId6.js → use-delete-connection-Dnlrdtet.js} +1 -1
  292. package/dist/client/assets/{use-deployment-admin-CURK73vg.js → use-deployment-admin-CxktJ2MS.js} +1 -1
  293. package/dist/client/assets/{use-entitlements-BNCg22H6.js → use-entitlements-CJrgpU-3.js} +1 -1
  294. package/dist/client/assets/{use-fast-preview-draft-url-CamuNqdc.js → use-fast-preview-draft-url-Dg3eP3_b.js} +1 -1
  295. package/dist/client/assets/{use-file-configs-CtFInHrx.js → use-file-configs-BRGqSXQ6.js} +1 -1
  296. package/dist/client/assets/{use-in-settings-BVlXs-Md.js → use-in-settings-B8vln_7N.js} +1 -1
  297. package/dist/client/assets/{use-infinite-scroll-DWMzEhh9.js → use-infinite-scroll-CWZ-jt-q.js} +1 -1
  298. package/dist/client/assets/{use-join-requests--jRCdkZk.js → use-join-requests-CmLwY10S.js} +1 -1
  299. package/dist/client/assets/{use-main-panel-tabs-BoYcNsqs.js → use-main-panel-tabs-Cskdmhh-.js} +1 -1
  300. package/dist/client/assets/{use-mcp-auth-status-_gtuZE1M.js → use-mcp-auth-status-tmqmYFZf.js} +1 -1
  301. package/dist/client/assets/{use-mcp-client-QkBFbC3f.js → use-mcp-client-ixAVEgas.js} +1 -1
  302. package/dist/client/assets/{use-mcp-prompts-DvwjTF0b.js → use-mcp-prompts-2U0nS-wa.js} +1 -1
  303. package/dist/client/assets/{use-mcp-tools-Dqs2rAUi.js → use-mcp-tools-IEW4h9lj.js} +1 -1
  304. package/dist/client/assets/{use-members-aplVIbSX.js → use-members-CthmHZKF.js} +1 -1
  305. package/dist/client/assets/{use-mobile-z5LlRP9d.js → use-mobile-cGAaNUys.js} +1 -1
  306. package/dist/client/assets/{use-navigate-to-agent-B82Qcige.js → use-navigate-to-agent-BCAq2VrI.js} +1 -1
  307. package/dist/client/assets/{use-open-billing-url-6XxQw3Eh.js → use-open-billing-url-CqH0MvxG.js} +1 -1
  308. package/dist/client/assets/{use-org-auth-client-LTupMcfa.js → use-org-auth-client-CLrcF9If.js} +1 -1
  309. package/dist/client/assets/{use-org-fs-CP-M8wtZ.js → use-org-fs-DES7wpqb.js} +1 -1
  310. package/dist/client/assets/{use-org-repo-syncs-ug_mDBgC.js → use-org-repo-syncs-E3XPDOag.js} +1 -1
  311. package/dist/client/assets/{use-org-sso-jTEc7oSr.js → use-org-sso-Dv-UbNYl.js} +1 -1
  312. package/dist/client/assets/{use-organization-roles-BC9sU7Oz.js → use-organization-roles-BWlsyW31.js} +1 -1
  313. package/dist/client/assets/{use-organization-settings-CcUVu9tG.js → use-organization-settings-BfcOMNYp.js} +1 -1
  314. package/dist/client/assets/{use-panel-navigate-C1nn8JtC.js → use-panel-navigate-BWSWcls2.js} +1 -1
  315. package/dist/client/assets/{use-project-native-view-presence-dy3A_Smb.js → use-project-native-view-presence-D4KcE4ZV.js} +1 -1
  316. package/dist/client/assets/{use-project-scope-BC5vNotn.js → use-project-scope-BXLyS9dJ.js} +1 -1
  317. package/dist/client/assets/{use-registry-connections-D949LAVQ.js → use-registry-connections-D-bmaapw.js} +1 -1
  318. package/dist/client/assets/{use-releases-DbvQa9X0.js → use-releases-gwSkm006.js} +1 -1
  319. package/dist/client/assets/{use-reports-diagnostic-CvqD5Npp.js → use-reports-diagnostic-Bcblv5Yi.js} +1 -1
  320. package/dist/client/assets/{use-route-default-main-4UlGpexs.js → use-route-default-main-Cqwf9yFF.js} +1 -1
  321. package/dist/client/assets/{use-secrets-DQ0yv8Dx.js → use-secrets-BoxjTT25.js} +1 -1
  322. package/dist/client/assets/{use-section-preview-base-A8bn_b5M.js → use-section-preview-base-DqYppapS.js} +1 -1
  323. package/dist/client/assets/{use-session-runtime-D8PkcXOC.js → use-session-runtime-BjRK3zxG.js} +1 -1
  324. package/dist/client/assets/{use-tags-eYRRTNnb.js → use-tags-DoOM8lEs.js} +1 -1
  325. package/dist/client/assets/{use-task-board-analytics-D-kcn1Zu.js → use-task-board-analytics-Cs9CJCjT.js} +1 -1
  326. package/dist/client/assets/{use-task-metadata-DZMFkATI.js → use-task-metadata-DoKY3xZE.js} +1 -1
  327. package/dist/client/assets/{use-thread-outputs-DTZIvT49.js → use-thread-outputs-U4dosc_t.js} +1 -1
  328. package/dist/client/assets/{use-view-mode-DxPHENE7.js → use-view-mode-BstGnCoQ.js} +1 -1
  329. package/dist/client/assets/{use-virtual-mcp-fKIjaLUZ.js → use-virtual-mcp-DpRXFoRT.js} +1 -1
  330. package/dist/client/assets/useInfiniteQuery-oFY--skC.js +1 -0
  331. package/dist/client/assets/{useQueries-CivyO6wT.js → useQueries-D-H6sgTA.js} +1 -1
  332. package/dist/client/assets/useSuspenseInfiniteQuery-CeJnbkNg.js +1 -0
  333. package/dist/client/assets/{users-CUvKzNap.js → users-BYszNity.js} +1 -1
  334. package/dist/client/assets/{utils-DSkbGbRW.js → utils-BcWFUEDf.js} +1 -1
  335. package/dist/client/assets/{variant-calendar-DjBw6GgF.js → variant-calendar-CjdpLWMM.js} +1 -1
  336. package/dist/client/assets/{variant-matcher-override-DIc1blpZ.js → variant-matcher-override-tS-jImDP.js} +1 -1
  337. package/dist/client/assets/{view-mode-toggle-BEII9Hz5.js → view-mode-toggle-6iRVDc1B.js} +1 -1
  338. package/dist/client/assets/{virtual-mcp-BuIha-KP.js → virtual-mcp-BPECS6-J.js} +1 -1
  339. package/dist/client/index.html +2 -2
  340. package/dist/server/cli.js +1 -1
  341. package/dist/server/server.js +1 -1
  342. package/package.json +1 -1
  343. package/dist/client/assets/agent-app-DB0n9kOL.js +0 -1
  344. package/dist/client/assets/agent-deck-Bw6Hm4Fs.js +0 -1
  345. package/dist/client/assets/agent-file-B3o36mvT.js +0 -1
  346. package/dist/client/assets/agent-library-file-C6aVVhO7.js +0 -1
  347. package/dist/client/assets/agent-settings-BXN1E4GQ.js +0 -1
  348. package/dist/client/assets/agent-site-editor-code-lUlSWpIf.js +0 -2
  349. package/dist/client/assets/agent-site-editor-preview-BkdcHe-G.js +0 -518
  350. package/dist/client/assets/agent-view-DfomKgn9.js +0 -1
  351. package/dist/client/assets/api-keys-q9NetUp4.js +0 -1
  352. package/dist/client/assets/app-editor--D9yS_3r.js +0 -1
  353. package/dist/client/assets/category-editor-J_clPaRt.js +0 -1
  354. package/dist/client/assets/decopilot-DUPu0_xK.js +0 -4
  355. package/dist/client/assets/index-BOHOyAF8.css +0 -1
  356. package/dist/client/assets/input-DQJIevdV.js +0 -8
  357. package/dist/client/assets/pair-BUORk8Dw.js +0 -47
  358. package/dist/client/assets/project-reports-CT0QZktU.js +0 -1
  359. package/dist/client/assets/project-tasks-BBYQxnPi.js +0 -1
  360. package/dist/client/assets/record-editor-J2Uasy2O.js +0 -1
  361. package/dist/client/assets/registry-CCMThGEu.js +0 -2
  362. package/dist/client/assets/reports-DolpTcLc.js +0 -1
  363. package/dist/client/assets/route-sCTIOnzJ.js +0 -1
  364. package/dist/client/assets/runnable-block-editor-3WdOeD3r.js +0 -16
  365. package/dist/client/assets/store-registry-B9NkoB0_.js +0 -2
  366. package/dist/client/assets/tasks-snZl8AHp.js +0 -1
  367. package/dist/client/assets/useInfiniteQuery-BQbzbaMU.js +0 -1
  368. package/dist/client/assets/useSuspenseInfiniteQuery-ydSR9RDy.js +0 -1
@@ -0,0 +1 @@
1
+ import{c as s,j as e,X as l}from"./index-Dn-pE_oF.js";import{C as u}from"./index-BLPQEXIu.js";import{AppViewContent as c}from"./project-app-view-DMevjOJJ.js";import{S as d}from"./settings-tab-LDWtDGaS.js";import{a as f}from"./use-virtual-mcp-DpRXFoRT.js";import"./use-mobile-cGAaNUys.js";import"./thread-button-BDPXLKAH.js";import"./sidebar-BV5Lpxrt.js";import"./LayoutLeft-D1fYrUGp.js";import"./sheet-CFcU_I-W.js";import"./X-Cr1LzzwP.js";import"./tooltip-C6ST3NpK.js";import"./index-CpZ_1mN7.js";import"./thread-route-DH7EC64o.js";import"./use-panel-navigate-BWSWcls2.js";import"./use-project-scope-BXLyS9dJ.js";import"./github-repo-BknN0SVI.js";import"./use-route-default-main-Cqwf9yFF.js";import"./hooks-DvQkdYJL.js";import"./use-mcp-client-ixAVEgas.js";import"./auth-gLcu1CpT.js";import"./backoff-8mStPHYB.js";import"./task-board-DxUiBcDP.js";import"./schema-BJjGrX8W.js";import"./agent-icon-Ds4wUFQr.js";import"./AlertCircle-1_aD--dB.js";import"./Tool01-BOTbO9xX.js";import"./ArrowUp-CSKb51sC.js";import"./ArrowLeft-DbYZw4_2.js";import"./Tool02-CyM8jIXw.js";import"./ArrowRight-DNQSixjP.js";import"./TrendUp01-CsEPcUzR.js";import"./ZoomOut-D-FhOF2X.js";import"./Globe04-DFGUZ8EW.js";import"./CheckCircle-Cc6CY47i.js";import"./ChevronUp-C9Nhfb-x.js";import"./UserSquare-sbsbnvWo.js";import"./Copy01-BjLGbqnG.js";import"./CreditCard01-ByBlbqPe.js";import"./DotsVertical-Czhni7yG.js";import"./Download01-CDh7RxaN.js";import"./Settings02-S2K24EWO.js";import"./Eye-BKjf_vUO.js";import"./Share07-BaevX8Mw.js";import"./Globe01-k6r26TAV.js";import"./XClose-DA1jDjt_.js";import"./Image01-DpNFr3GM.js";import"./Key01-BkaZy7Ah.js";import"./Link01-D45u3Kwy.js";import"./LinkExternal01-CZLsVISw.js";import"./Monitor01-BjQTJmPT.js";import"./Sun-edqgTWqM.js";import"./Package-MW9FV2l6.js";import"./Palette-D2r_rP7A.js";import"./Play-CQYqv81V.js";import"./Plus-DWnlhQEG.js";import"./SearchLg-BeTAUTWq.js";import"./SearchMd-BCQ1CyGA.js";import"./Stars01-DxWX4pOr.js";import"./Trash01-CDngQkql.js";import"./Upload01-D48ElPif.js";import"./User01-CEit44ru.js";import"./Users01-Drj4BA_j.js";import"./XCircle-DoUWUf9d.js";import"./Zap-C8hEZAXG.js";import"./toolbar-icon-button-BR3O5nbS.js";import"./use-in-settings-B8vln_7N.js";import"./shell-layout-Cu8BQ2YY.js";import"./avatar-qzN7CafM.js";import"./download-app-dialog-t4N-N3uU.js";import"./dialog-Dl5zPv9e.js";import"./command-CApdc7tB.js";import"./index-Ci3mCUbP.js";import"./integration-icon-BbMj8xyp.js";import"./project-icon-DcxLNBvR.js";import"./use-is-desktop-app-BNujXJc_.js";import"./required-auth-layout-c8IKViEL.js";import"./autosend-BcXsN51P.js";import"./use-organization-settings-BfcOMNYp.js";import"./use-org-sso-Dv-UbNYl.js";import"./resizable-C5i5wwZj.js";import"./route-page-header-BZt7tMeI.js";import"./gateway-client-CSBLiew8.js";import"./tool-namespace-DmnQIdtF.js";import"./use-mcp-tools-IEW4h9lj.js";import"./sandbox-lifecycle-context-BElwiIKp.js";import"./use-session-runtime-BjRK3zxG.js";import"./thread-intent-DOmgYGxo.js";import"./slugify-CEUa2lfQ.js";import"./chat-context-B6h2xdo0.js";import"./use-entitlements-CJrgpU-3.js";import"./use-ai-providers-DUHhmQc6.js";import"./location-oTTXFrSF.js";import"./use-decopilot-events-7Ia-4Ojl.js";import"./sandbox-url-D3mC8qhT.js";import"./sandbox-start-errors-BK_aDCyt.js";import"./content-blocks-o63cs2vh.js";import"./mcp-app-renderer-C46rwnJa.js";import"./types-CCxzQATz.js";import"./site-url-en5df9c-.js";import"./use-connect-companion-C8SW5ee7.js";import"./companions-core-WMNDPuPs.js";import"./github-D4UJ99TO.js";import"./github-repo-scope-C8GSbvaz.js";import"./metadata-dUsYcpuu.js";import"./form-C_kDn5va.js";import"./label-nMs4JvQM.js";import"./input-DfvK3BvZ.js";import"./use-debounced-value-B3_m5S__.js";import"./provision-repo-scoped-github-connection-B6zdkC6p.js";import"./extract-connection-data-DcLFWp9p.js";import"./connection-DHsoRZa4.js";import"./useQueries-D-H6sgTA.js";import"./authenticate-and-persist-oauth-w1UaCnqr.js";import"./mcp-oauth-D9zitCdn.js";import"./track-CbmiGiqA.js";import"./popover-2ypE52tC.js";import"./scroll-area-DglU8OjO.js";import"./select-CQa_dQzn.js";import"./breadcrumb-DxmYUb0I.js";import"./build-improve-prompt-doc-3sm8qZxG.js";import"./empty-state-CKSGQb76.js";import"./use-date-fns-locale-DeWcS2U7.js";import"./differenceInSeconds-C3x8sHUj.js";import"./use-connection-zRPDIQ_n.js";import"./alert-dialog-CVY7NpNS.js";import"./textarea-DTACqjWS.js";import"./use-debounced-autosave-CU5jh2Bj.js";import"./add-connection-dialog-B2QrTqPz.js";import"./collection-search-CY6qtMl2.js";import"./connection-card-B4Lfzhnd.js";import"./use-registry-connections-D-bmaapw.js";import"./useInfiniteQuery-oFY--skC.js";import"./infiniteQueryObserver-ZTOME-Yd.js";import"./retry-i8LvYSZg.js";import"./connection-slug-CITJ0kGN.js";import"./drawer-CgkgucN1.js";import"./connection-form-helpers-Do68AahQ.js";import"./collection-tabs-C75WAB0u.js";import"./badge-Jn9rjNBm.js";import"./use-infinite-scroll-CWZ-jt-q.js";import"./useSuspenseInfiniteQuery-CeJnbkNg.js";import"./file-type-icon-VOg1Vfy5.js";import"./use-org-fs-DES7wpqb.js";import"./checkbox-CeU6IqeR.js";import"./search-input-B0JWJqt0.js";import"./use-mcp-auth-status-tmqmYFZf.js";import"./use-mcp-prompts-2U0nS-wa.js";import"./utils-CVEq3hMx.js";import"./switch-RF4lhbzX.js";import"./use-project-native-view-presence-D4KcE4ZV.js";import"./match-site-slug-config-D3fUJ6vX.js";import"./use-file-configs-BRGqSXQ6.js";import"./site-slug-uya6Wp4-.js";import"./optimistic-project-sidebar-views-DMDmcznJ.js";import"./virtual-mcp-BPECS6-J.js";import"./repository-import-picker-CC5rjGza.js";import"./use-navigate-to-agent-BCAq2VrI.js";import"./repository-picker-oVfzv-hF.js";import"./github-icon-DVQ1NwUu.js";import"./use-secrets-BoxjTT25.js";import"./omit-sandbox-map-jj4lCB2U.js";import"./serial-task-queue-CGOeQgpr.js";const g=l("/shell/$org/org-shell/agent-shell/projects/$agentId/views/$viewId");function w(){const t=s.c(7),{agentId:o,viewId:i}=g.useParams(),a=f(o);let m;t[0]!==a?.metadata?.ui?.layout?.tabs||t[1]!==i?(m=a?.metadata?.ui?.layout?.tabs?.find(n=>n.id===i),t[0]=a?.metadata?.ui?.layout?.tabs,t[1]=i,t[2]=m):m=t[2];const r=m;let p;return t[3]!==o||t[4]!==r||t[5]!==i?(p=r?e.jsx(c,{connectionId:r.view.appId,toolName:r.id,args:r.view.args},i):e.jsx(d,{virtualMcpId:o}),t[3]=o,t[4]=r,t[5]=i,t[6]=p):p=t[6],p}function Ii(){const t=s.c(1);let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(u.Content,{children:e.jsx(w,{})}),t[0]=o):o=t[0],o}export{Ii as default};
@@ -1 +1 @@
1
- import{c as g,j as l,N as d,J as p,X as m}from"./index-B9-heAAa.js";import{u as f}from"./use-main-panel-tabs-BoYcNsqs.js";import{a as I}from"./thread-route-MBCO8DTC.js";import{r as h}from"./use-panel-navigate-C1nn8JtC.js";const v=m("/shell/$org/org-shell/agent-shell/projects/$agentId");function P(o){const e=g.c(6),{children:u,tabId:c}=o,s=v.useParams(),t=s.agentId,n=I();let a;e[0]!==t||e[1]!==n?(a={virtualMcpId:t,taskId:n},e[0]=t,e[1]=n,e[2]=a):a=e[2];const{activeTab:i}=f(a);if(c==="code"?i==="code"||i.startsWith("code:"):i===c)return u;let r;return e[3]!==t||e[4]!==s.org?(r=l.jsx(d,{to:p.settings,params:{org:s.org,agentId:t},search:R,replace:!0}),e[3]=t,e[4]=s.org,e[5]=r):r=e[5],r}function R(o){return h({previous:o,destination:"agent"})}export{P as A};
1
+ import{c as g,j as l,N as d,J as p,X as m}from"./index-Dn-pE_oF.js";import{u as f}from"./use-main-panel-tabs-Cskdmhh-.js";import{a as I}from"./thread-route-DH7EC64o.js";import{r as h}from"./use-panel-navigate-BWSWcls2.js";const v=m("/shell/$org/org-shell/agent-shell/projects/$agentId");function P(o){const e=g.c(6),{children:u,tabId:c}=o,s=v.useParams(),t=s.agentId,n=I();let a;e[0]!==t||e[1]!==n?(a={virtualMcpId:t,taskId:n},e[0]=t,e[1]=n,e[2]=a):a=e[2];const{activeTab:i}=f(a);if(c==="code"?i==="code"||i.startsWith("code:"):i===c)return u;let r;return e[3]!==t||e[4]!==s.org?(r=l.jsx(d,{to:p.settings,params:{org:s.org,agentId:t},search:R,replace:!0}),e[3]=t,e[4]=s.org,e[5]=r):r=e[5],r}function R(o){return h({previous:o,destination:"agent"})}export{P as A};
@@ -1 +1 @@
1
- import{c as fe,b as he,j as s,G as de,p as Le,aj as Ee,H as we,ag as Fe,F as ve,B as ue,I as Se,eL as Pe,a0 as xe,W as ke,a as Ne,o as _e,r as M,dh as Ge,m as Me,K as De,e as Oe,q as Q,t as je,l as Re,z as Ue,Z as ze,af as $e,n as ge}from"./index-B9-heAAa.js";import{b as Ve,c as He,g as Be}from"./use-virtual-mcp-fKIjaLUZ.js";import{i as Ke}from"./DotsVertical-CD4T7H6_.js";import{a as qe}from"./Settings02-DsaxolGj.js";import{s as Qe}from"./Trash01-Desmqajq.js";import{A as Ye,bi as We}from"./agent-icon-BRULiLDc.js";import{u as Je,f as ye}from"./use-date-fns-locale-DRlG3NUT.js";import{u as Ae}from"./use-navigate-to-agent-B82Qcige.js";import{n as Ze}from"./use-organization-settings-CcUVu9tG.js";import{E as Xe}from"./empty-state-BI6nLRJ9.js";import{u as et}from"./use-create-virtual-mcp-Cqo-Z1Nz.js";import{b as tt,u as ot}from"./use-connection-CxUZdVtx.js";import{u as Ce}from"./use-mcp-client-QkBFbC3f.js";import{a as st}from"./authenticate-and-persist-oauth-D7P0kNl_.js";import{c as it}from"./use-mcp-tools-Dqs2rAUi.js";import{e as nt}from"./extract-connection-data-BN2GqRYG.js";import{f as rt,g as lt}from"./thread-intent-D_ZAwkxt.js";import{a as at}from"./github-repo-scope-C8GSbvaz.js";import{f as ct,a as mt,G as dt,p as ut}from"./provision-repo-scoped-github-connection-B6zdkC6p.js";import{D as pt,b as gt,c as ft,d as ht,e as xt}from"./dialog-BG4c8Ew3.js";import{i as bt}from"./ArrowLeft-pKUucwnA.js";import{C as jt}from"./collection-search-DJYVC05l.js";import{G as Ct}from"./github-icon-B_0P_4Xb.js";import{A as Dt,a as yt,b as wt,c as vt,g as St,d as Nt,e as _t,f as At}from"./alert-dialog-DqO-3R76.js";import{S as It}from"./search-input-Ck0252jm.js";import{s as Tt}from"./Plus-CFFsuHFf.js";import{R as Lt}from"./repository-import-picker-ebb6WNSx.js";import{u as Et}from"./use-debounced-value-D9Q5Remb.js";import"./AlertCircle-D3eYSD-F.js";import"./Tool01-d_iK_DkH.js";import"./ArrowUp-CYYVNB-P.js";import"./Tool02-cweQ69Nx.js";import"./ArrowRight-dpr4pl9N.js";import"./TrendUp01-B7gk74Ha.js";import"./ZoomOut-DBByf2mh.js";import"./Globe04-BFA3LOH7.js";import"./CheckCircle-GeSGM969.js";import"./ChevronUp-D3WR1M0A.js";import"./UserSquare-Bje-nfYn.js";import"./Copy01-DqrZOvVi.js";import"./CreditCard01-VmFyjxYd.js";import"./Download01-BRqjontI.js";import"./Eye-CI6aKDnd.js";import"./Share07-NUMfhSqd.js";import"./Globe01-DF7y1beg.js";import"./XClose-DS_Db3B_.js";import"./Image01-B6W5URkI.js";import"./Key01-BB4eK9Eq.js";import"./LayoutLeft-DEnYqvHT.js";import"./Link01-DVDPoM5q.js";import"./LinkExternal01-DpqcCYOT.js";import"./Monitor01-DKEZpVnT.js";import"./Sun-C0V63ie9.js";import"./Package-BYLXGnrw.js";import"./Palette-CJjjIC-G.js";import"./Play-DJHXfM-U.js";import"./SearchLg-DgqRTz9C.js";import"./SearchMd-DRk1Er2c.js";import"./Stars01-DwhcksvZ.js";import"./Upload01-DelvmgfV.js";import"./User01-CbDoD5mb.js";import"./Users01-BqKNBiO6.js";import"./XCircle-D6WY1ym8.js";import"./X-CTlWdd97.js";import"./Zap-XRJ8YEEc.js";import"./differenceInSeconds-C3x8sHUj.js";import"./hooks-BP4OlUD4.js";import"./backoff-8mStPHYB.js";import"./task-board-CiWJ5lUh.js";import"./schema-6mN0bvm3.js";import"./github-repo-BknN0SVI.js";import"./auth-CXaWU5n-.js";import"./mcp-oauth-DzKWzujJ.js";import"./metadata-dUsYcpuu.js";import"./github-D4UJ99TO.js";import"./connection-BgOyoL-N.js";import"./slugify-CEUa2lfQ.js";import"./repository-picker-B9Ygev7q.js";import"./tooltip-DB_mQQ5y.js";import"./index-CcHKaTn6.js";import"./input-D7UnEeXl.js";import"./label-BO4yFijb.js";import"./useInfiniteQuery-BQbzbaMU.js";import"./infiniteQueryObserver-Dj9z-_Ba.js";import"./avatar-Didv6efi.js";function Ft(e){const t=fe.c(26),{onCreateFromScratch:o,onImportGitHub:i,onImportDeco:r,isCreating:h,align:g,side:b,showBetaBadge:d,showDecoImport:C}=e,j=g===void 0?"end":g,u=he();let x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Le,{size:14}),t[0]=x):x=t[0];let m;t[1]!==u?(m=u("common.createAgentDropdown.createFromScratch"),t[1]=u,t[2]=m):m=t[2];let f;t[3]!==h||t[4]!==o||t[5]!==m?(f=s.jsxs(de,{disabled:h,onClick:o,children:[x,m]}),t[3]=h,t[4]=o,t[5]=m,t[6]=f):f=t[6];let D;t[7]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(Ee,{className:"size-3.5"}),t[7]=D):D=t[7];let c;t[8]!==u?(c=u("common.createAgentDropdown.importFromGitHub"),t[8]=u,t[9]=c):c=t[9];let l;t[10]!==d?(l=d&&s.jsx("span",{className:"ml-auto text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Beta"}),t[10]=d,t[11]=l):l=t[11];let p;t[12]!==i||t[13]!==c||t[14]!==l?(p=s.jsxs(de,{onClick:i,children:[D,c,l]}),t[12]=i,t[13]=c,t[14]=l,t[15]=p):p=t[15];let a;t[16]!==r||t[17]!==C||t[18]!==u?(a=C&&s.jsxs(de,{onClick:r,children:[s.jsx("img",{src:"/logos/deco%20logo.svg",alt:"deco.cx",className:"size-3.5"}),u("common.createAgentDropdown.importFromDeco")]}),t[16]=r,t[17]=C,t[18]=u,t[19]=a):a=t[19];let y;return t[20]!==j||t[21]!==b||t[22]!==f||t[23]!==p||t[24]!==a?(y=s.jsxs(we,{side:b,align:j,className:"w-48",children:[f,p,a]}),t[20]=j,t[21]=b,t[22]=f,t[23]=p,t[24]=a,t[25]=y):y=t[25],y}function Pt(e){const t=fe.c(50),{project:o,lastUsedAt:i,onDeleteClick:r}=e,h=Ae(),g=he(),b=Je(),d=o.metadata?.ui?.layout;let C;t[0]!==d?(C=Fe(d),t[0]=d,t[1]=C):C=t[1];const j=C;let u;t[2]!==j||t[3]!==h||t[4]!==o.id?(u=()=>h(o.id,{panel:j}),t[2]=j,t[3]=h,t[4]=o.id,t[5]=u):u=t[5];let x;t[6]!==o.title||t[7]!==u?(x=s.jsx("button",{type:"button",onClick:u,className:"absolute inset-0 z-0","aria-label":o.title}),t[6]=o.title,t[7]=u,t[8]=x):x=t[8];let m;t[9]!==o.icon||t[10]!==o.title?(m=s.jsx(Ye,{icon:o.icon,name:o.title,size:"sm",className:"shrink-0 shadow-sm"}),t[9]=o.icon,t[10]=o.title,t[11]=m):m=t[11];let f;t[12]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(ve,{asChild:!0,children:s.jsx(ue,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:s.jsx(Ke,{size:20})})}),t[12]=f):f=t[12];let D;t[13]!==h||t[14]!==o.id?(D=()=>h(o.id,{panel:"settings"}),t[13]=h,t[14]=o.id,t[15]=D):D=t[15];let c;t[16]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(qe,{size:16}),t[16]=c):c=t[16];let l;t[17]!==D?(l=s.jsxs(de,{onClick:D,children:[c,"Settings"]}),t[17]=D,t[18]=l):l=t[18];let p;t[19]!==r?(p=r&&s.jsxs(de,{variant:"destructive",onClick:n=>{n.stopPropagation(),r(n)},children:[s.jsx(Qe,{size:16}),"Delete"]}),t[19]=r,t[20]=p):p=t[20];let a;t[21]!==p||t[22]!==l?(a=s.jsx("div",{className:"relative z-10 pointer-events-auto transition-opacity sm:opacity-0 sm:group-hover:opacity-100",children:s.jsxs(Se,{children:[f,s.jsxs(we,{align:"end",children:[l,p]})]})}),t[21]=p,t[22]=l,t[23]=a):a=t[23];let y;t[24]!==a||t[25]!==m?(y=s.jsxs("div",{className:"flex items-start justify-between",children:[m,a]}),t[24]=a,t[25]=m,t[26]=y):y=t[26];let w;t[27]!==o.title?(w=s.jsx("div",{className:"flex items-center gap-2 min-w-0",children:s.jsx("h3",{className:"text-sm font-medium text-foreground truncate",children:o.title})}),t[27]=o.title,t[28]=w):w=t[28];const O=o.description||"No description";let E;t[29]!==O?(E=s.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:O}),t[29]=O,t[30]=E):E=t[30];let F;t[31]!==w||t[32]!==E?(F=s.jsxs("div",{className:"flex flex-col gap-1",children:[w,E]}),t[31]=w,t[32]=E,t[33]=F):F=t[33];let S;t[34]!==y||t[35]!==F?(S=s.jsxs("div",{className:"flex flex-col gap-3 p-4.5",children:[y,F]}),t[34]=y,t[35]=F,t[36]=S):S=t[36];let N;t[37]!==i||t[38]!==b||t[39]!==o.updated_at||t[40]!==g?(N=i?g("home.projectCard.lastUsed",{time:ye(new Date(i),{addSuffix:!0,locale:b})}):g("home.projectCard.updated",{time:ye(new Date(o.updated_at),{addSuffix:!0,locale:b})}),t[37]=i,t[38]=b,t[39]=o.updated_at,t[40]=g,t[41]=N):N=t[41];let A;t[42]!==N?(A=s.jsx("div",{className:"border-t border-border mt-auto",children:s.jsx("div",{className:"h-10 flex items-center px-4.5",children:s.jsx("p",{className:"text-xs text-muted-foreground",children:N})})}),t[42]=N,t[43]=A):A=t[43];let k;t[44]!==S||t[45]!==A?(k=s.jsxs("div",{className:"flex flex-col flex-1 pointer-events-none",children:[S,A]}),t[44]=S,t[45]=A,t[46]=k):k=t[46];let P;return t[47]!==k||t[48]!==x?(P=s.jsxs(Pe,{className:"relative transition-colors group overflow-hidden flex flex-col h-full hover:bg-muted/50",children:[x,k]}),t[47]=k,t[48]=x,t[49]=P):P=t[49],P}function kt(e,t){const o=fe.c(12),{org:i}=xe();let r;o[0]!==i.id?(r=ke.REGISTRY(i.id),o[0]=i.id,o[1]=r):r=o[1];const h=r;let g;o[2]!==i.id||o[3]!==i.slug||o[4]!==h?(g={connectionId:h,orgId:i.id,orgSlug:i.slug},o[2]=i.id,o[3]=i.slug,o[4]=h,o[5]=g):g=o[5];const b=Ce(g);let d;o[6]!==e?(d={name:e},o[6]=e,o[7]=d):d=o[7];const C=t?.enabled??!0;let j;return o[8]!==b||o[9]!==d||o[10]!==C?(j={client:b,toolName:"COLLECTION_REGISTRY_APP_GET",toolArguments:d,enabled:C,staleTime:3e5,select:Gt},o[8]=b,o[9]=d,o[10]=C,o[11]=j):j=o[11],it(j)}function Gt(e){return e.structuredContent?.item??null}const Mt="deco/mcp-github";function Ot(e){const{org:t}=xe(),{data:o}=Ne.useSession(),i=tt(),r=_e(),[h,g]=M.useState("idle"),[b,d]=M.useState(null),[C,j]=M.useState(null),{data:u,isLoading:x}=kt(Mt,{enabled:e.enabled}),m=M.useRef(!1);e.enabled&&u&&!x&&!m.current&&o?.user?.id&&h==="idle"&&(m.current=!0,f());async function f(){if(!(!u||!o?.user?.id||!t))try{g("installing"),d(null);const c=nt(u,t.id,o.user.id,{remoteIndex:0});if(!c.connection_url)throw new Error("Registry item is missing a remote URL for mcp-github");const{id:p}=await i.create.mutateAsync(c);g("authenticating");const a=await st({connectionId:p,orgId:t.id,orgSlug:t.slug,persistFallback:y=>i.update.mutateAsync({id:p,data:{connection_token:y}}).then(()=>{})});if(a.ran&&!a.ok){try{await i.delete.mutateAsync(p)}catch{}throw new Error(a.error&&a.error!=="no token received"?a.error:"No token received from GitHub")}Ge(r,t.id),j(c),g("ready")}catch(c){d(c instanceof Error?c.message:String(c)),g("error")}}function D(){g("idle"),d(null),j(null),m.current=!1}return e.enabled&&x&&h==="idle"?{status:"installing",error:null,connection:null,retry:D}:{status:h,error:b,connection:C,retry:D}}const Rt="deco-sites";function Ut(e){if(!e||typeof e!="object")return null;const t=e.github;if(!t||typeof t!="object")return null;const o=t.owner,i=t.repo;return typeof o!="string"||typeof i!="string"||o.length===0||i.length===0?null:{owner:o,repo:i}}function zt(e,t){const o=t?Ut(t):null,i=o?.owner??Rt,r=o?.repo??e;return{owner:i,name:r,url:`https://github.com/${i}/${r}`}}function $t(e){return e.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function Ie(e,t,o){const i=await fetch(e,t),r=await i.json().catch(()=>({}));if(!i.ok)throw new Error(r.error??`${o} (${i.status})`);return r}function Vt(e){return Ie(`/api/${e}/deco-sites`,void 0,"Failed to load sites")}function Ht({open:e,onOpenChange:t,onBack:o}){const i=he(),{org:r}=xe(),h=Ae(),g=_e(),{data:b}=Ne.useSession(),[d,C]=M.useState(null),[j,u]=M.useState(null),[x,m]=M.useState(""),f=Ce({connectionId:Ue,orgId:r.id,orgSlug:r.slug}),D=ot({slug:"mcp-github"}),c=at(D),l=Ot({enabled:e&&c.length===0}),p=c.length===1?c[0]??null:j,a=c.length>1&&!p,y=Ce({connectionId:p?.id??"",orgId:r.id,orgSlug:r.slug}),w=e&&c.length===0&&(l.status==="installing"||l.status==="authenticating"||l.status==="idle"),{data:O,isLoading:E,error:F}=Me({queryKey:De.decoSites(b?.user?.email),queryFn:()=>Vt(r.slug),enabled:e&&!!b?.user?.email,staleTime:6e4,retry:!1}),S=O?.sites??[],N=n=>{n||(C(null),u(null),m("")),t(n)},A=S.filter(n=>n.name.toLowerCase().includes(x.toLowerCase())||(n.domains?.[0]?.domain?.toLowerCase().includes(x.toLowerCase())??!1)),k=!d||A.some(n=>n.name===d),P=Oe({mutationFn:async n=>{if(!p)throw new Error(i("common.importFromDecoDialog.githubNotConnected"));Q("deco_site_import_started",{site_name:n});const{installations:G}=await ct(L=>f.callTool(L),p.id),I=S.find(L=>L.name===n);if(!I)throw new Error(i("common.importFromDecoDialog.siteNoLongerAvailable"));const v=zt(n,I.metadata),T=mt(G,v.owner);if(!T)throw new Error(i("common.importFromDecoDialog.installGithubApp",{owner:v.owner,installUrl:dt}));let H=null,R=null;const ce=async()=>{R&&await f.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:R}}).catch(()=>{}),H&&await f.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:H,force:!0}}).catch(()=>{})};try{const L=await Ie(`/api/${r.slug}/deco-sites/prepare`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({siteName:n})},i("common.importFromDecoDialog.failedToPrepareImport")),{childConnectionId:U,reused:me}=await ut({orgSlug:r.slug,sourceConnection:p,installationId:T.installationId,owner:v.owner,repo:v.name,githubCallTool:q=>y.callTool(q),selfCallTool:q=>f.callTool(q)});H=me?null:U;const Y=L.icon??null,z=$t(n),B=n.toLowerCase(),$=rt(n),V=await f.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:n,description:"Imported from deco.cx",pinned:!1,icon:Y??null,metadata:{instructions:null,enabled_plugins:[],siteSlug:B,previewServerUrl:$,productionUrl:$,githubRepo:{owner:v.owner,name:v.name,url:v.url,installationId:T.installationId,connectionId:U},ui:{banner:null,bannerColor:"#22C55E",icon:Y,themeColor:"#22C55E",slug:z,pinnedViews:null,layout:{defaultMainView:{type:"site-editor"},chatDefaultOpen:!1}}},connections:[{connection_id:U}]}}}),K=V.structuredContent??V;if(!K.item?.id)throw new Error(i("common.importFromDecoDialog.failedToCreateAgent"));return R=K.item.id,{slug:z,virtualMcpId:K.item.id,item:K.item}}catch(L){throw await ce(),L}},onSuccess:({slug:n,virtualMcpId:G,item:I})=>{Q("deco_site_import_succeeded",{site_name:I.title,virtual_mcp_id:G,slug:n}),g.setQueryData(De.collectionItem(f,r.id,"","VIRTUAL_MCP",G),{item:I}),g.invalidateQueries({predicate:v=>{const T=v.queryKey;return T[1]===r.id&&T[3]==="collection"&&T[4]==="VIRTUAL_MCP"}}),je.success(i("common.importFromDecoDialog.importSuccess",{slug:n})),N(!1),h(G)},onError:n=>{Q("deco_site_import_failed",{error:n instanceof Error?n.message:"Unknown error"}),je.error(i("common.importFromDecoDialog.importFailed",{error:(n instanceof Error?n.message:i("common.importFromDecoDialog.unknownError"))??""}))}});return s.jsx(pt,{open:e,onOpenChange:N,children:s.jsxs(gt,{className:"sm:max-w-[900px] p-0 gap-0 overflow-hidden",children:[s.jsx(ft,{className:"sr-only",children:s.jsx(ht,{children:i("common.importFromDecoDialog.title")})}),s.jsxs("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3",children:[o&&s.jsx("button",{type:"button",onClick:o,className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors","aria-label":i("common.importFromDecoDialog.goBack"),children:s.jsx(bt,{size:18})}),s.jsx("span",{className:"text-sm font-medium text-foreground",children:i("common.importFromDecoDialog.title")})]}),s.jsx("div",{children:s.jsx(jt,{value:x,onChange:m,placeholder:i("common.importFromDecoDialog.searchPlaceholder"),onKeyDown:n=>{n.key==="Escape"&&m("")}})}),s.jsxs("div",{className:"pb-0 min-h-[300px]",children:[l.status==="error"&&s.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-48 px-8 text-center",children:[s.jsx("p",{className:"text-sm text-destructive",children:l.error??i("common.importFromDecoDialog.failedToConnectGithub")}),s.jsx(ue,{variant:"outline",size:"sm",onClick:l.retry,children:i("common.importFromDecoDialog.retryGithubSetup")})]}),w&&l.status!=="error"&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.settingUpGithub")}),a&&!w&&l.status!=="error"&&s.jsxs("div",{className:"flex flex-col py-2",children:[s.jsx("div",{className:"px-8 py-2",children:s.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:i("common.importFromDecoDialog.selectGithubConnection")})}),c.map(n=>s.jsxs("button",{type:"button",onClick:()=>u(n),className:"flex items-center gap-3 px-8 py-3 hover:bg-accent transition-colors text-left",children:[n.icon?s.jsx("img",{src:n.icon,alt:n.title,className:"size-7 rounded-full shrink-0"}):s.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:s.jsx(Ct,{className:"size-3.5 text-muted-foreground"})}),s.jsx("span",{className:"text-sm font-medium",children:n.title})]},n.id))]}),E&&!w&&l.status!=="error"&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.loadingSites")}),!E&&!w&&!a&&l.status!=="error"&&!F&&S.length===0&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.noSitesFound")}),!E&&!w&&!a&&l.status!=="error"&&S.length>0&&s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 max-h-[420px] overflow-y-auto py-4 px-8 [scrollbar-gutter:stable]",children:[A.length===0&&s.jsx("p",{className:"col-span-3 text-sm text-muted-foreground text-center py-8",children:i("common.importFromDecoDialog.noSitesMatch",{search:x})}),A.map(n=>{const G=lt(n.domains),I=d===n.name;return s.jsxs("button",{type:"button",onClick:()=>C(n.name),className:Re("flex flex-col rounded-xl border overflow-hidden text-left transition-all cursor-pointer",I?"border-primary ring-1 ring-primary":"border-border hover:border-muted-foreground/40"),children:[s.jsx("div",{className:"w-full aspect-video bg-muted overflow-hidden",children:n.thumb_url?s.jsx("img",{src:n.thumb_url,alt:n.name,className:"w-full h-full object-cover",loading:"lazy"}):s.jsx("div",{className:"w-full h-full bg-muted"})}),s.jsxs("div",{className:"px-4 py-3",children:[s.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:n.name}),G&&s.jsx("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:G})]})]},n.name)})]})]}),s.jsxs(xt,{className:"px-8 py-5 border-t border-border",children:[s.jsx(ue,{variant:"outline",onClick:()=>N(!1),disabled:P.isPending,children:i("common.importFromDecoDialog.cancel")}),s.jsx(ue,{disabled:!d||!k||P.isPending||E||w||a||!p||l.status==="error",onClick:()=>d&&P.mutate(d),children:P.isPending?i("common.importFromDecoDialog.importing"):i("common.importFromDecoDialog.import")})]})]})})}function vs(){const e=fe.c(83),t=ze(),o=he(),{org:i}=xe(),[r,h]=M.useState(""),g=Et(r,300);let b;e[0]!==g?(b={searchTerm:g},e[0]=g,e[1]=b):b=e[1];const d=Ve(b),C=He();let j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j={navigateOnCreate:!0},e[2]=j):j=e[2];const{createVirtualMCP:u,isCreating:x}=et(j),[m,f]=M.useState(null),[D,c]=M.useState(!1),[l,p]=M.useState(!1),{granted:a}=$e("agents:manage"),y=Ze();let w;e[3]!==i?(w=_=>_.id!==i.id,e[3]=i,e[4]=w):w=e[4];const O=d.filter(w),{data:E}=Be(O.map(Bt));let F;e[5]!==C||e[6]!==m||e[7]!==o?(F=async()=>{if(!m)return;const{id:_,title:Te}=m;f(null);try{await C.delete.mutateAsync(_),Q("agent_deleted",{agent_id:_,source:"agents_list"}),je.success(o("routes.agentsList.deletedAgent",{title:Te}))}catch{}},e[5]=C,e[6]=m,e[7]=o,e[8]=F):F=e[8];const S=F;let N;e[9]!==a||e[10]!==u||e[11]!==x||e[12]!==y||e[13]!==o?(N=a&&s.jsxs(Se,{children:[s.jsx(ve,{asChild:!0,children:s.jsxs(ue,{size:"sm",children:[s.jsx(Tt,{size:14}),o("routes.agentsList.createAgent")]})}),s.jsx(Ft,{onCreateFromScratch:()=>{Q("agent_create_clicked",{source:"agents_list",method:"scratch"}),u()},onImportGitHub:()=>{Q("agent_create_clicked",{source:"agents_list",method:"github"}),p(!0)},onImportDeco:()=>{Q("agent_create_clicked",{source:"agents_list",method:"deco"}),c(!0)},isCreating:x,align:"end",showDecoImport:y})]}),e[9]=a,e[10]=u,e[11]=x,e[12]=y,e[13]=o,e[14]=N):N=e[14];const A=N,k=ge,P=ge,n=ge,G=t&&A;let I;e[15]!==o?(I=o("routes.agentsList.title"),e[15]=o,e[16]=I):I=e[16];let v;e[17]!==G||e[18]!==I?(v=s.jsx(ge.Title,{actions:G,children:I}),e[17]=G,e[18]=I,e[19]=v):v=e[19];let T;e[20]!==o?(T=o("routes.agentsList.searchPlaceholder"),e[20]=o,e[21]=T):T=e[21];let H;e[22]===Symbol.for("react.memo_cache_sentinel")?(H=_=>{_.key==="Escape"&&(h(""),_.target.blur())},e[22]=H):H=e[22];let R;e[23]!==r||e[24]!==T?(R=s.jsx(It,{value:r,onChange:h,placeholder:T,className:"w-full md:w-[375px]",onKeyDown:H}),e[23]=r,e[24]=T,e[25]=R):R=e[25];const ce=!t&&A;let L;e[26]!==R||e[27]!==ce?(L=s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[R,ce]}),e[26]=R,e[27]=ce,e[28]=L):L=e[28];let U;e[29]!==L||e[30]!==v?(U=s.jsxs("div",{className:"flex flex-col gap-6",children:[v,L]}),e[29]=L,e[30]=v,e[31]=U):U=e[31];const me=O.length===0&&s.jsx("div",{className:"flex items-center justify-center py-20",children:s.jsx(Xe,{actions:!t&&!r&&A,image:s.jsx(We,{size:48,className:"text-muted-foreground"}),title:o(r?"routes.agentsList.noAgentsFound":"routes.agentsList.noAgentsYet"),description:r?o("routes.agentsList.noAgentsMatchSearch",{search:r}):o(a?"routes.agentsList.createAgentToGetStarted":"routes.agentsList.askAdminToCreate")})}),Y=O.length>0&&s.jsxs("div",{className:"mt-6 @container",children:[s.jsx("h3",{className:"text-sm font-medium text-muted-foreground mb-3",children:o("routes.agentsList.agentsHeading")}),s.jsx("div",{className:"grid grid-cols-1 @lg:grid-cols-2 @4xl:grid-cols-3 @6xl:grid-cols-4 gap-4",children:O.map(_=>s.jsx(Pt,{project:_,lastUsedAt:E?.get(_.id)?.last_used_at,onDeleteClick:a?()=>f({id:_.id,title:_.title}):void 0},_.id))})]});let z;e[32]!==U||e[33]!==me||e[34]!==Y||e[35]!==n.Container?(z=s.jsxs(n.Container,{children:[U,me,Y]}),e[32]=U,e[33]=me,e[34]=Y,e[35]=n.Container,e[36]=z):z=e[36];let B;e[37]!==z||e[38]!==P.Content?(B=s.jsx(P.Content,{children:z}),e[37]=z,e[38]=P.Content,e[39]=B):B=e[39];let $;e[40]!==l?($=s.jsx(Lt,{open:l,onOpenChange:p}),e[40]=l,e[41]=$):$=e[41];let V;e[42]!==D?(V=s.jsx(Ht,{open:D,onOpenChange:c}),e[42]=D,e[43]=V):V=e[43];const K=!!m;let q;e[44]===Symbol.for("react.memo_cache_sentinel")?(q=_=>!_&&f(null),e[44]=q):q=e[44];let W;e[45]!==o?(W=o("routes.agentsList.deleteAgentTitle"),e[45]=o,e[46]=W):W=e[46];let J;e[47]!==W?(J=s.jsx(Dt,{children:W}),e[47]=W,e[48]=J):J=e[48];let Z;e[49]!==o?(Z=o("routes.agentsList.deleteAgentDescription"),e[49]=o,e[50]=Z):Z=e[50];const be=m?.title;let X;e[51]!==be?(X=s.jsx("span",{className:"font-medium text-foreground",children:be}),e[51]=be,e[52]=X):X=e[52];let ee;e[53]!==Z||e[54]!==X?(ee=s.jsxs(yt,{children:[Z," ",X,"."]}),e[53]=Z,e[54]=X,e[55]=ee):ee=e[55];let te;e[56]!==J||e[57]!==ee?(te=s.jsxs(wt,{children:[J,ee]}),e[56]=J,e[57]=ee,e[58]=te):te=e[58];let oe;e[59]!==o?(oe=o("routes.agentsList.cancelButton"),e[59]=o,e[60]=oe):oe=e[60];let se;e[61]!==oe?(se=s.jsx(vt,{children:oe}),e[61]=oe,e[62]=se):se=e[62];let ie;e[63]!==o?(ie=o("routes.agentsList.deleteButton"),e[63]=o,e[64]=ie):ie=e[64];let ne;e[65]!==S||e[66]!==ie?(ne=s.jsx(St,{onClick:S,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:ie}),e[65]=S,e[66]=ie,e[67]=ne):ne=e[67];let re;e[68]!==se||e[69]!==ne?(re=s.jsxs(Nt,{children:[se,ne]}),e[68]=se,e[69]=ne,e[70]=re):re=e[70];let le;e[71]!==te||e[72]!==re?(le=s.jsxs(_t,{children:[te,re]}),e[71]=te,e[72]=re,e[73]=le):le=e[73];let ae;e[74]!==K||e[75]!==le?(ae=s.jsx(At,{open:K,onOpenChange:q,children:le}),e[74]=K,e[75]=le,e[76]=ae):ae=e[76];let pe;return e[77]!==k||e[78]!==B||e[79]!==$||e[80]!==V||e[81]!==ae?(pe=s.jsxs(k,{children:[B,$,V,ae]}),e[77]=k,e[78]=B,e[79]=$,e[80]=V,e[81]=ae,e[82]=pe):pe=e[82],pe}function Bt(e){return e.id}export{vs as default};
1
+ import{c as fe,b as he,j as s,G as de,p as Le,aj as Ee,H as we,ag as Fe,F as ve,B as ue,I as Se,eL as Pe,a0 as xe,W as ke,a as Ne,o as _e,r as M,dh as Ge,m as Me,K as De,e as Oe,q as Q,t as je,l as Re,z as Ue,Z as ze,af as $e,n as ge}from"./index-Dn-pE_oF.js";import{b as Ve,c as He,g as Be}from"./use-virtual-mcp-DpRXFoRT.js";import{i as Ke}from"./DotsVertical-Czhni7yG.js";import{a as qe}from"./Settings02-S2K24EWO.js";import{s as Qe}from"./Trash01-CDngQkql.js";import{A as Ye,bi as We}from"./agent-icon-Ds4wUFQr.js";import{u as Je,f as ye}from"./use-date-fns-locale-DeWcS2U7.js";import{u as Ae}from"./use-navigate-to-agent-BCAq2VrI.js";import{n as Ze}from"./use-organization-settings-BfcOMNYp.js";import{E as Xe}from"./empty-state-CKSGQb76.js";import{u as et}from"./use-create-virtual-mcp-VQEANfyF.js";import{b as tt,u as ot}from"./use-connection-zRPDIQ_n.js";import{u as Ce}from"./use-mcp-client-ixAVEgas.js";import{a as st}from"./authenticate-and-persist-oauth-w1UaCnqr.js";import{c as it}from"./use-mcp-tools-IEW4h9lj.js";import{e as nt}from"./extract-connection-data-DcLFWp9p.js";import{f as rt,g as lt}from"./thread-intent-DOmgYGxo.js";import{a as at}from"./github-repo-scope-C8GSbvaz.js";import{f as ct,a as mt,G as dt,p as ut}from"./provision-repo-scoped-github-connection-B6zdkC6p.js";import{D as pt,b as gt,c as ft,d as ht,e as xt}from"./dialog-Dl5zPv9e.js";import{i as bt}from"./ArrowLeft-DbYZw4_2.js";import{C as jt}from"./collection-search-CY6qtMl2.js";import{G as Ct}from"./github-icon-DVQ1NwUu.js";import{A as Dt,a as yt,b as wt,c as vt,g as St,d as Nt,e as _t,f as At}from"./alert-dialog-CVY7NpNS.js";import{S as It}from"./search-input-B0JWJqt0.js";import{s as Tt}from"./Plus-DWnlhQEG.js";import{R as Lt}from"./repository-import-picker-CC5rjGza.js";import{u as Et}from"./use-debounced-value-B3_m5S__.js";import"./AlertCircle-1_aD--dB.js";import"./Tool01-BOTbO9xX.js";import"./ArrowUp-CSKb51sC.js";import"./Tool02-CyM8jIXw.js";import"./ArrowRight-DNQSixjP.js";import"./TrendUp01-CsEPcUzR.js";import"./ZoomOut-D-FhOF2X.js";import"./Globe04-DFGUZ8EW.js";import"./CheckCircle-Cc6CY47i.js";import"./ChevronUp-C9Nhfb-x.js";import"./UserSquare-sbsbnvWo.js";import"./Copy01-BjLGbqnG.js";import"./CreditCard01-ByBlbqPe.js";import"./Download01-CDh7RxaN.js";import"./Eye-BKjf_vUO.js";import"./Share07-BaevX8Mw.js";import"./Globe01-k6r26TAV.js";import"./XClose-DA1jDjt_.js";import"./Image01-DpNFr3GM.js";import"./Key01-BkaZy7Ah.js";import"./LayoutLeft-D1fYrUGp.js";import"./Link01-D45u3Kwy.js";import"./LinkExternal01-CZLsVISw.js";import"./Monitor01-BjQTJmPT.js";import"./Sun-edqgTWqM.js";import"./Package-MW9FV2l6.js";import"./Palette-D2r_rP7A.js";import"./Play-CQYqv81V.js";import"./SearchLg-BeTAUTWq.js";import"./SearchMd-BCQ1CyGA.js";import"./Stars01-DxWX4pOr.js";import"./Upload01-D48ElPif.js";import"./User01-CEit44ru.js";import"./Users01-Drj4BA_j.js";import"./XCircle-DoUWUf9d.js";import"./X-Cr1LzzwP.js";import"./Zap-C8hEZAXG.js";import"./differenceInSeconds-C3x8sHUj.js";import"./hooks-DvQkdYJL.js";import"./backoff-8mStPHYB.js";import"./task-board-DxUiBcDP.js";import"./schema-BJjGrX8W.js";import"./github-repo-BknN0SVI.js";import"./auth-gLcu1CpT.js";import"./mcp-oauth-D9zitCdn.js";import"./metadata-dUsYcpuu.js";import"./github-D4UJ99TO.js";import"./connection-DHsoRZa4.js";import"./slugify-CEUa2lfQ.js";import"./repository-picker-oVfzv-hF.js";import"./tooltip-C6ST3NpK.js";import"./index-CpZ_1mN7.js";import"./input-DfvK3BvZ.js";import"./label-nMs4JvQM.js";import"./useInfiniteQuery-oFY--skC.js";import"./infiniteQueryObserver-ZTOME-Yd.js";import"./avatar-qzN7CafM.js";function Ft(e){const t=fe.c(26),{onCreateFromScratch:o,onImportGitHub:i,onImportDeco:r,isCreating:h,align:g,side:b,showBetaBadge:d,showDecoImport:C}=e,j=g===void 0?"end":g,u=he();let x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Le,{size:14}),t[0]=x):x=t[0];let m;t[1]!==u?(m=u("common.createAgentDropdown.createFromScratch"),t[1]=u,t[2]=m):m=t[2];let f;t[3]!==h||t[4]!==o||t[5]!==m?(f=s.jsxs(de,{disabled:h,onClick:o,children:[x,m]}),t[3]=h,t[4]=o,t[5]=m,t[6]=f):f=t[6];let D;t[7]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(Ee,{className:"size-3.5"}),t[7]=D):D=t[7];let c;t[8]!==u?(c=u("common.createAgentDropdown.importFromGitHub"),t[8]=u,t[9]=c):c=t[9];let l;t[10]!==d?(l=d&&s.jsx("span",{className:"ml-auto text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Beta"}),t[10]=d,t[11]=l):l=t[11];let p;t[12]!==i||t[13]!==c||t[14]!==l?(p=s.jsxs(de,{onClick:i,children:[D,c,l]}),t[12]=i,t[13]=c,t[14]=l,t[15]=p):p=t[15];let a;t[16]!==r||t[17]!==C||t[18]!==u?(a=C&&s.jsxs(de,{onClick:r,children:[s.jsx("img",{src:"/logos/deco%20logo.svg",alt:"deco.cx",className:"size-3.5"}),u("common.createAgentDropdown.importFromDeco")]}),t[16]=r,t[17]=C,t[18]=u,t[19]=a):a=t[19];let y;return t[20]!==j||t[21]!==b||t[22]!==f||t[23]!==p||t[24]!==a?(y=s.jsxs(we,{side:b,align:j,className:"w-48",children:[f,p,a]}),t[20]=j,t[21]=b,t[22]=f,t[23]=p,t[24]=a,t[25]=y):y=t[25],y}function Pt(e){const t=fe.c(50),{project:o,lastUsedAt:i,onDeleteClick:r}=e,h=Ae(),g=he(),b=Je(),d=o.metadata?.ui?.layout;let C;t[0]!==d?(C=Fe(d),t[0]=d,t[1]=C):C=t[1];const j=C;let u;t[2]!==j||t[3]!==h||t[4]!==o.id?(u=()=>h(o.id,{panel:j}),t[2]=j,t[3]=h,t[4]=o.id,t[5]=u):u=t[5];let x;t[6]!==o.title||t[7]!==u?(x=s.jsx("button",{type:"button",onClick:u,className:"absolute inset-0 z-0","aria-label":o.title}),t[6]=o.title,t[7]=u,t[8]=x):x=t[8];let m;t[9]!==o.icon||t[10]!==o.title?(m=s.jsx(Ye,{icon:o.icon,name:o.title,size:"sm",className:"shrink-0 shadow-sm"}),t[9]=o.icon,t[10]=o.title,t[11]=m):m=t[11];let f;t[12]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(ve,{asChild:!0,children:s.jsx(ue,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:s.jsx(Ke,{size:20})})}),t[12]=f):f=t[12];let D;t[13]!==h||t[14]!==o.id?(D=()=>h(o.id,{panel:"settings"}),t[13]=h,t[14]=o.id,t[15]=D):D=t[15];let c;t[16]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(qe,{size:16}),t[16]=c):c=t[16];let l;t[17]!==D?(l=s.jsxs(de,{onClick:D,children:[c,"Settings"]}),t[17]=D,t[18]=l):l=t[18];let p;t[19]!==r?(p=r&&s.jsxs(de,{variant:"destructive",onClick:n=>{n.stopPropagation(),r(n)},children:[s.jsx(Qe,{size:16}),"Delete"]}),t[19]=r,t[20]=p):p=t[20];let a;t[21]!==p||t[22]!==l?(a=s.jsx("div",{className:"relative z-10 pointer-events-auto transition-opacity sm:opacity-0 sm:group-hover:opacity-100",children:s.jsxs(Se,{children:[f,s.jsxs(we,{align:"end",children:[l,p]})]})}),t[21]=p,t[22]=l,t[23]=a):a=t[23];let y;t[24]!==a||t[25]!==m?(y=s.jsxs("div",{className:"flex items-start justify-between",children:[m,a]}),t[24]=a,t[25]=m,t[26]=y):y=t[26];let w;t[27]!==o.title?(w=s.jsx("div",{className:"flex items-center gap-2 min-w-0",children:s.jsx("h3",{className:"text-sm font-medium text-foreground truncate",children:o.title})}),t[27]=o.title,t[28]=w):w=t[28];const O=o.description||"No description";let E;t[29]!==O?(E=s.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:O}),t[29]=O,t[30]=E):E=t[30];let F;t[31]!==w||t[32]!==E?(F=s.jsxs("div",{className:"flex flex-col gap-1",children:[w,E]}),t[31]=w,t[32]=E,t[33]=F):F=t[33];let S;t[34]!==y||t[35]!==F?(S=s.jsxs("div",{className:"flex flex-col gap-3 p-4.5",children:[y,F]}),t[34]=y,t[35]=F,t[36]=S):S=t[36];let N;t[37]!==i||t[38]!==b||t[39]!==o.updated_at||t[40]!==g?(N=i?g("home.projectCard.lastUsed",{time:ye(new Date(i),{addSuffix:!0,locale:b})}):g("home.projectCard.updated",{time:ye(new Date(o.updated_at),{addSuffix:!0,locale:b})}),t[37]=i,t[38]=b,t[39]=o.updated_at,t[40]=g,t[41]=N):N=t[41];let A;t[42]!==N?(A=s.jsx("div",{className:"border-t border-border mt-auto",children:s.jsx("div",{className:"h-10 flex items-center px-4.5",children:s.jsx("p",{className:"text-xs text-muted-foreground",children:N})})}),t[42]=N,t[43]=A):A=t[43];let k;t[44]!==S||t[45]!==A?(k=s.jsxs("div",{className:"flex flex-col flex-1 pointer-events-none",children:[S,A]}),t[44]=S,t[45]=A,t[46]=k):k=t[46];let P;return t[47]!==k||t[48]!==x?(P=s.jsxs(Pe,{className:"relative transition-colors group overflow-hidden flex flex-col h-full hover:bg-muted/50",children:[x,k]}),t[47]=k,t[48]=x,t[49]=P):P=t[49],P}function kt(e,t){const o=fe.c(12),{org:i}=xe();let r;o[0]!==i.id?(r=ke.REGISTRY(i.id),o[0]=i.id,o[1]=r):r=o[1];const h=r;let g;o[2]!==i.id||o[3]!==i.slug||o[4]!==h?(g={connectionId:h,orgId:i.id,orgSlug:i.slug},o[2]=i.id,o[3]=i.slug,o[4]=h,o[5]=g):g=o[5];const b=Ce(g);let d;o[6]!==e?(d={name:e},o[6]=e,o[7]=d):d=o[7];const C=t?.enabled??!0;let j;return o[8]!==b||o[9]!==d||o[10]!==C?(j={client:b,toolName:"COLLECTION_REGISTRY_APP_GET",toolArguments:d,enabled:C,staleTime:3e5,select:Gt},o[8]=b,o[9]=d,o[10]=C,o[11]=j):j=o[11],it(j)}function Gt(e){return e.structuredContent?.item??null}const Mt="deco/mcp-github";function Ot(e){const{org:t}=xe(),{data:o}=Ne.useSession(),i=tt(),r=_e(),[h,g]=M.useState("idle"),[b,d]=M.useState(null),[C,j]=M.useState(null),{data:u,isLoading:x}=kt(Mt,{enabled:e.enabled}),m=M.useRef(!1);e.enabled&&u&&!x&&!m.current&&o?.user?.id&&h==="idle"&&(m.current=!0,f());async function f(){if(!(!u||!o?.user?.id||!t))try{g("installing"),d(null);const c=nt(u,t.id,o.user.id,{remoteIndex:0});if(!c.connection_url)throw new Error("Registry item is missing a remote URL for mcp-github");const{id:p}=await i.create.mutateAsync(c);g("authenticating");const a=await st({connectionId:p,orgId:t.id,orgSlug:t.slug,persistFallback:y=>i.update.mutateAsync({id:p,data:{connection_token:y}}).then(()=>{})});if(a.ran&&!a.ok){try{await i.delete.mutateAsync(p)}catch{}throw new Error(a.error&&a.error!=="no token received"?a.error:"No token received from GitHub")}Ge(r,t.id),j(c),g("ready")}catch(c){d(c instanceof Error?c.message:String(c)),g("error")}}function D(){g("idle"),d(null),j(null),m.current=!1}return e.enabled&&x&&h==="idle"?{status:"installing",error:null,connection:null,retry:D}:{status:h,error:b,connection:C,retry:D}}const Rt="deco-sites";function Ut(e){if(!e||typeof e!="object")return null;const t=e.github;if(!t||typeof t!="object")return null;const o=t.owner,i=t.repo;return typeof o!="string"||typeof i!="string"||o.length===0||i.length===0?null:{owner:o,repo:i}}function zt(e,t){const o=t?Ut(t):null,i=o?.owner??Rt,r=o?.repo??e;return{owner:i,name:r,url:`https://github.com/${i}/${r}`}}function $t(e){return e.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function Ie(e,t,o){const i=await fetch(e,t),r=await i.json().catch(()=>({}));if(!i.ok)throw new Error(r.error??`${o} (${i.status})`);return r}function Vt(e){return Ie(`/api/${e}/deco-sites`,void 0,"Failed to load sites")}function Ht({open:e,onOpenChange:t,onBack:o}){const i=he(),{org:r}=xe(),h=Ae(),g=_e(),{data:b}=Ne.useSession(),[d,C]=M.useState(null),[j,u]=M.useState(null),[x,m]=M.useState(""),f=Ce({connectionId:Ue,orgId:r.id,orgSlug:r.slug}),D=ot({slug:"mcp-github"}),c=at(D),l=Ot({enabled:e&&c.length===0}),p=c.length===1?c[0]??null:j,a=c.length>1&&!p,y=Ce({connectionId:p?.id??"",orgId:r.id,orgSlug:r.slug}),w=e&&c.length===0&&(l.status==="installing"||l.status==="authenticating"||l.status==="idle"),{data:O,isLoading:E,error:F}=Me({queryKey:De.decoSites(b?.user?.email),queryFn:()=>Vt(r.slug),enabled:e&&!!b?.user?.email,staleTime:6e4,retry:!1}),S=O?.sites??[],N=n=>{n||(C(null),u(null),m("")),t(n)},A=S.filter(n=>n.name.toLowerCase().includes(x.toLowerCase())||(n.domains?.[0]?.domain?.toLowerCase().includes(x.toLowerCase())??!1)),k=!d||A.some(n=>n.name===d),P=Oe({mutationFn:async n=>{if(!p)throw new Error(i("common.importFromDecoDialog.githubNotConnected"));Q("deco_site_import_started",{site_name:n});const{installations:G}=await ct(L=>f.callTool(L),p.id),I=S.find(L=>L.name===n);if(!I)throw new Error(i("common.importFromDecoDialog.siteNoLongerAvailable"));const v=zt(n,I.metadata),T=mt(G,v.owner);if(!T)throw new Error(i("common.importFromDecoDialog.installGithubApp",{owner:v.owner,installUrl:dt}));let H=null,R=null;const ce=async()=>{R&&await f.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:R}}).catch(()=>{}),H&&await f.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:H,force:!0}}).catch(()=>{})};try{const L=await Ie(`/api/${r.slug}/deco-sites/prepare`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({siteName:n})},i("common.importFromDecoDialog.failedToPrepareImport")),{childConnectionId:U,reused:me}=await ut({orgSlug:r.slug,sourceConnection:p,installationId:T.installationId,owner:v.owner,repo:v.name,githubCallTool:q=>y.callTool(q),selfCallTool:q=>f.callTool(q)});H=me?null:U;const Y=L.icon??null,z=$t(n),B=n.toLowerCase(),$=rt(n),V=await f.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:n,description:"Imported from deco.cx",pinned:!1,icon:Y??null,metadata:{instructions:null,enabled_plugins:[],siteSlug:B,previewServerUrl:$,productionUrl:$,githubRepo:{owner:v.owner,name:v.name,url:v.url,installationId:T.installationId,connectionId:U},ui:{banner:null,bannerColor:"#22C55E",icon:Y,themeColor:"#22C55E",slug:z,pinnedViews:null,layout:{defaultMainView:{type:"site-editor"},chatDefaultOpen:!1}}},connections:[{connection_id:U}]}}}),K=V.structuredContent??V;if(!K.item?.id)throw new Error(i("common.importFromDecoDialog.failedToCreateAgent"));return R=K.item.id,{slug:z,virtualMcpId:K.item.id,item:K.item}}catch(L){throw await ce(),L}},onSuccess:({slug:n,virtualMcpId:G,item:I})=>{Q("deco_site_import_succeeded",{site_name:I.title,virtual_mcp_id:G,slug:n}),g.setQueryData(De.collectionItem(f,r.id,"","VIRTUAL_MCP",G),{item:I}),g.invalidateQueries({predicate:v=>{const T=v.queryKey;return T[1]===r.id&&T[3]==="collection"&&T[4]==="VIRTUAL_MCP"}}),je.success(i("common.importFromDecoDialog.importSuccess",{slug:n})),N(!1),h(G)},onError:n=>{Q("deco_site_import_failed",{error:n instanceof Error?n.message:"Unknown error"}),je.error(i("common.importFromDecoDialog.importFailed",{error:(n instanceof Error?n.message:i("common.importFromDecoDialog.unknownError"))??""}))}});return s.jsx(pt,{open:e,onOpenChange:N,children:s.jsxs(gt,{className:"sm:max-w-[900px] p-0 gap-0 overflow-hidden",children:[s.jsx(ft,{className:"sr-only",children:s.jsx(ht,{children:i("common.importFromDecoDialog.title")})}),s.jsxs("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3",children:[o&&s.jsx("button",{type:"button",onClick:o,className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors","aria-label":i("common.importFromDecoDialog.goBack"),children:s.jsx(bt,{size:18})}),s.jsx("span",{className:"text-sm font-medium text-foreground",children:i("common.importFromDecoDialog.title")})]}),s.jsx("div",{children:s.jsx(jt,{value:x,onChange:m,placeholder:i("common.importFromDecoDialog.searchPlaceholder"),onKeyDown:n=>{n.key==="Escape"&&m("")}})}),s.jsxs("div",{className:"pb-0 min-h-[300px]",children:[l.status==="error"&&s.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-48 px-8 text-center",children:[s.jsx("p",{className:"text-sm text-destructive",children:l.error??i("common.importFromDecoDialog.failedToConnectGithub")}),s.jsx(ue,{variant:"outline",size:"sm",onClick:l.retry,children:i("common.importFromDecoDialog.retryGithubSetup")})]}),w&&l.status!=="error"&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.settingUpGithub")}),a&&!w&&l.status!=="error"&&s.jsxs("div",{className:"flex flex-col py-2",children:[s.jsx("div",{className:"px-8 py-2",children:s.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:i("common.importFromDecoDialog.selectGithubConnection")})}),c.map(n=>s.jsxs("button",{type:"button",onClick:()=>u(n),className:"flex items-center gap-3 px-8 py-3 hover:bg-accent transition-colors text-left",children:[n.icon?s.jsx("img",{src:n.icon,alt:n.title,className:"size-7 rounded-full shrink-0"}):s.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:s.jsx(Ct,{className:"size-3.5 text-muted-foreground"})}),s.jsx("span",{className:"text-sm font-medium",children:n.title})]},n.id))]}),E&&!w&&l.status!=="error"&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.loadingSites")}),!E&&!w&&!a&&l.status!=="error"&&!F&&S.length===0&&s.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:i("common.importFromDecoDialog.noSitesFound")}),!E&&!w&&!a&&l.status!=="error"&&S.length>0&&s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 max-h-[420px] overflow-y-auto py-4 px-8 [scrollbar-gutter:stable]",children:[A.length===0&&s.jsx("p",{className:"col-span-3 text-sm text-muted-foreground text-center py-8",children:i("common.importFromDecoDialog.noSitesMatch",{search:x})}),A.map(n=>{const G=lt(n.domains),I=d===n.name;return s.jsxs("button",{type:"button",onClick:()=>C(n.name),className:Re("flex flex-col rounded-xl border overflow-hidden text-left transition-all cursor-pointer",I?"border-primary ring-1 ring-primary":"border-border hover:border-muted-foreground/40"),children:[s.jsx("div",{className:"w-full aspect-video bg-muted overflow-hidden",children:n.thumb_url?s.jsx("img",{src:n.thumb_url,alt:n.name,className:"w-full h-full object-cover",loading:"lazy"}):s.jsx("div",{className:"w-full h-full bg-muted"})}),s.jsxs("div",{className:"px-4 py-3",children:[s.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:n.name}),G&&s.jsx("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:G})]})]},n.name)})]})]}),s.jsxs(xt,{className:"px-8 py-5 border-t border-border",children:[s.jsx(ue,{variant:"outline",onClick:()=>N(!1),disabled:P.isPending,children:i("common.importFromDecoDialog.cancel")}),s.jsx(ue,{disabled:!d||!k||P.isPending||E||w||a||!p||l.status==="error",onClick:()=>d&&P.mutate(d),children:P.isPending?i("common.importFromDecoDialog.importing"):i("common.importFromDecoDialog.import")})]})]})})}function vs(){const e=fe.c(83),t=ze(),o=he(),{org:i}=xe(),[r,h]=M.useState(""),g=Et(r,300);let b;e[0]!==g?(b={searchTerm:g},e[0]=g,e[1]=b):b=e[1];const d=Ve(b),C=He();let j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j={navigateOnCreate:!0},e[2]=j):j=e[2];const{createVirtualMCP:u,isCreating:x}=et(j),[m,f]=M.useState(null),[D,c]=M.useState(!1),[l,p]=M.useState(!1),{granted:a}=$e("agents:manage"),y=Ze();let w;e[3]!==i?(w=_=>_.id!==i.id,e[3]=i,e[4]=w):w=e[4];const O=d.filter(w),{data:E}=Be(O.map(Bt));let F;e[5]!==C||e[6]!==m||e[7]!==o?(F=async()=>{if(!m)return;const{id:_,title:Te}=m;f(null);try{await C.delete.mutateAsync(_),Q("agent_deleted",{agent_id:_,source:"agents_list"}),je.success(o("routes.agentsList.deletedAgent",{title:Te}))}catch{}},e[5]=C,e[6]=m,e[7]=o,e[8]=F):F=e[8];const S=F;let N;e[9]!==a||e[10]!==u||e[11]!==x||e[12]!==y||e[13]!==o?(N=a&&s.jsxs(Se,{children:[s.jsx(ve,{asChild:!0,children:s.jsxs(ue,{size:"sm",children:[s.jsx(Tt,{size:14}),o("routes.agentsList.createAgent")]})}),s.jsx(Ft,{onCreateFromScratch:()=>{Q("agent_create_clicked",{source:"agents_list",method:"scratch"}),u()},onImportGitHub:()=>{Q("agent_create_clicked",{source:"agents_list",method:"github"}),p(!0)},onImportDeco:()=>{Q("agent_create_clicked",{source:"agents_list",method:"deco"}),c(!0)},isCreating:x,align:"end",showDecoImport:y})]}),e[9]=a,e[10]=u,e[11]=x,e[12]=y,e[13]=o,e[14]=N):N=e[14];const A=N,k=ge,P=ge,n=ge,G=t&&A;let I;e[15]!==o?(I=o("routes.agentsList.title"),e[15]=o,e[16]=I):I=e[16];let v;e[17]!==G||e[18]!==I?(v=s.jsx(ge.Title,{actions:G,children:I}),e[17]=G,e[18]=I,e[19]=v):v=e[19];let T;e[20]!==o?(T=o("routes.agentsList.searchPlaceholder"),e[20]=o,e[21]=T):T=e[21];let H;e[22]===Symbol.for("react.memo_cache_sentinel")?(H=_=>{_.key==="Escape"&&(h(""),_.target.blur())},e[22]=H):H=e[22];let R;e[23]!==r||e[24]!==T?(R=s.jsx(It,{value:r,onChange:h,placeholder:T,className:"w-full md:w-[375px]",onKeyDown:H}),e[23]=r,e[24]=T,e[25]=R):R=e[25];const ce=!t&&A;let L;e[26]!==R||e[27]!==ce?(L=s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[R,ce]}),e[26]=R,e[27]=ce,e[28]=L):L=e[28];let U;e[29]!==L||e[30]!==v?(U=s.jsxs("div",{className:"flex flex-col gap-6",children:[v,L]}),e[29]=L,e[30]=v,e[31]=U):U=e[31];const me=O.length===0&&s.jsx("div",{className:"flex items-center justify-center py-20",children:s.jsx(Xe,{actions:!t&&!r&&A,image:s.jsx(We,{size:48,className:"text-muted-foreground"}),title:o(r?"routes.agentsList.noAgentsFound":"routes.agentsList.noAgentsYet"),description:r?o("routes.agentsList.noAgentsMatchSearch",{search:r}):o(a?"routes.agentsList.createAgentToGetStarted":"routes.agentsList.askAdminToCreate")})}),Y=O.length>0&&s.jsxs("div",{className:"mt-6 @container",children:[s.jsx("h3",{className:"text-sm font-medium text-muted-foreground mb-3",children:o("routes.agentsList.agentsHeading")}),s.jsx("div",{className:"grid grid-cols-1 @lg:grid-cols-2 @4xl:grid-cols-3 @6xl:grid-cols-4 gap-4",children:O.map(_=>s.jsx(Pt,{project:_,lastUsedAt:E?.get(_.id)?.last_used_at,onDeleteClick:a?()=>f({id:_.id,title:_.title}):void 0},_.id))})]});let z;e[32]!==U||e[33]!==me||e[34]!==Y||e[35]!==n.Container?(z=s.jsxs(n.Container,{children:[U,me,Y]}),e[32]=U,e[33]=me,e[34]=Y,e[35]=n.Container,e[36]=z):z=e[36];let B;e[37]!==z||e[38]!==P.Content?(B=s.jsx(P.Content,{children:z}),e[37]=z,e[38]=P.Content,e[39]=B):B=e[39];let $;e[40]!==l?($=s.jsx(Lt,{open:l,onOpenChange:p}),e[40]=l,e[41]=$):$=e[41];let V;e[42]!==D?(V=s.jsx(Ht,{open:D,onOpenChange:c}),e[42]=D,e[43]=V):V=e[43];const K=!!m;let q;e[44]===Symbol.for("react.memo_cache_sentinel")?(q=_=>!_&&f(null),e[44]=q):q=e[44];let W;e[45]!==o?(W=o("routes.agentsList.deleteAgentTitle"),e[45]=o,e[46]=W):W=e[46];let J;e[47]!==W?(J=s.jsx(Dt,{children:W}),e[47]=W,e[48]=J):J=e[48];let Z;e[49]!==o?(Z=o("routes.agentsList.deleteAgentDescription"),e[49]=o,e[50]=Z):Z=e[50];const be=m?.title;let X;e[51]!==be?(X=s.jsx("span",{className:"font-medium text-foreground",children:be}),e[51]=be,e[52]=X):X=e[52];let ee;e[53]!==Z||e[54]!==X?(ee=s.jsxs(yt,{children:[Z," ",X,"."]}),e[53]=Z,e[54]=X,e[55]=ee):ee=e[55];let te;e[56]!==J||e[57]!==ee?(te=s.jsxs(wt,{children:[J,ee]}),e[56]=J,e[57]=ee,e[58]=te):te=e[58];let oe;e[59]!==o?(oe=o("routes.agentsList.cancelButton"),e[59]=o,e[60]=oe):oe=e[60];let se;e[61]!==oe?(se=s.jsx(vt,{children:oe}),e[61]=oe,e[62]=se):se=e[62];let ie;e[63]!==o?(ie=o("routes.agentsList.deleteButton"),e[63]=o,e[64]=ie):ie=e[64];let ne;e[65]!==S||e[66]!==ie?(ne=s.jsx(St,{onClick:S,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:ie}),e[65]=S,e[66]=ie,e[67]=ne):ne=e[67];let re;e[68]!==se||e[69]!==ne?(re=s.jsxs(Nt,{children:[se,ne]}),e[68]=se,e[69]=ne,e[70]=re):re=e[70];let le;e[71]!==te||e[72]!==re?(le=s.jsxs(_t,{children:[te,re]}),e[71]=te,e[72]=re,e[73]=le):le=e[73];let ae;e[74]!==K||e[75]!==le?(ae=s.jsx(At,{open:K,onOpenChange:q,children:le}),e[74]=K,e[75]=le,e[76]=ae):ae=e[76];let pe;return e[77]!==k||e[78]!==B||e[79]!==$||e[80]!==V||e[81]!==ae?(pe=s.jsxs(k,{children:[B,$,V,ae]}),e[77]=k,e[78]=B,e[79]=$,e[80]=V,e[81]=ae,e[82]=pe):pe=e[82],pe}function Bt(e){return e.id}export{vs as default};
@@ -1,4 +1,4 @@
1
- import{c as V,b as Q,aq as Oe,ar as Fe,r as G,j as s,aU as st,dY as Le,t as X,dX as de,dW as ae,aH as qe,a0 as se,a6 as te,o as oe,e as ie,x as he,B as W,K as Z,m as pe,aP as ue,l as re,d8 as Be,fs as it,eL as ve,af as lt,an as rt,L as nt,a9 as at,q as Ke,h as ot,ao as ct,ap as xe,fr as dt}from"./index-B9-heAAa.js";import{i as ut}from"./AlertCircle-D3eYSD-F.js";import{u as He,a as me,i as mt,b as ft,p as pt,e as be,f as gt,d as ze}from"./use-ai-providers-ChLr6stH.js";import{i as xt}from"./CheckCircle-GeSGM969.js";import{d as ht,l as vt}from"./use-organization-settings-CcUVu9tG.js";import{S as bt}from"./schema-6mN0bvm3.js";import{M as jt}from"./select-model-B_ckG0Vk.js";import{u as yt}from"./use-debounced-autosave-0DRMOIhZ.js";import{I as ce}from"./input-D7UnEeXl.js";import{T as Ae,a as Nt}from"./toggle-group-DG19r_KQ.js";import{A as je,a as ye,b as Ne,c as Se,g as Ce,d as Pe,e as _e,f as Ie}from"./alert-dialog-DqO-3R76.js";import{u as ge,d as we,a as Ve,e as St}from"./use-entitlements-BNCg22H6.js";import{u as Ge}from"./use-open-billing-url-6XxQw3Eh.js";import{u as Qe,P as Ye,a as Ct,c as Pt,f as _t,F as It}from"./plan-ladder-DokAEKuN.js";import{b as wt,a as kt}from"./Tool01-d_iK_DkH.js";import{s as Dt}from"./Plus-CFFsuHFf.js";import{s as Kt}from"./Trash01-Desmqajq.js";import{A as At}from"./avatar-Didv6efi.js";import{u as Et,f as Tt}from"./use-date-fns-locale-DRlG3NUT.js";import{c as We,P as Rt,C as Ee}from"./decopilot-DUPu0_xK.js";import{P as Ut}from"./ai-providers-logos-DD3qZ33J.js";import{i as Mt}from"./Settings02-DsaxolGj.js";import{s as $t}from"./Eye-CI6aKDnd.js";import{d as Ot,c as Ft,b as Lt,D as qt,e as Bt}from"./dialog-BG4c8Ew3.js";import{R as Ht}from"./require-capability-DhJhDP-L.js";import"./task-board-CiWJ5lUh.js";import"./drawer-HsdaIuzu.js";import"./use-mobile-z5LlRP9d.js";import"./chat-context-iYlkLZJd.js";import"./use-panel-navigate-C1nn8JtC.js";import"./thread-route-MBCO8DTC.js";import"./use-project-scope-BC5vNotn.js";import"./use-virtual-mcp-fKIjaLUZ.js";import"./use-mcp-client-QkBFbC3f.js";import"./auth-CXaWU5n-.js";import"./github-repo-BknN0SVI.js";import"./autosend-Bpehk8fy.js";import"./thread-intent-D_ZAwkxt.js";import"./slugify-CEUa2lfQ.js";import"./hooks-BP4OlUD4.js";import"./backoff-8mStPHYB.js";import"./use-is-desktop-app-BNujXJc_.js";import"./location-oTTXFrSF.js";import"./use-decopilot-events-M5cJZFyY.js";import"./index-Dc_i1Bik.js";import"./User01-CbDoD5mb.js";import"./differenceInSeconds-C3x8sHUj.js";import"./checkbox-CEMIbeLG.js";import"./select-CGIEs0gc.js";import"./index-CcHKaTn6.js";import"./ChevronUp-D3WR1M0A.js";import"./ArrowLeft-pKUucwnA.js";import"./Key01-BB4eK9Eq.js";import"./SearchMd-DRk1Er2c.js";import"./Monitor01-DKEZpVnT.js";import"./download-app-dialog-BUFOH47d.js";import"./Copy01-DqrZOvVi.js";import"./Download01-BRqjontI.js";import"./Image01-B6W5URkI.js";import"./Stars01-DwhcksvZ.js";import"./X-CTlWdd97.js";import"./access-gate-BPsOGNar.js";import"./capability-load-error-B0iwFf7_.js";const zt=e=>e.capabilities?.includes("image")===!0,Vt=e=>mt(e),Gt=e=>ft(e),Qt=[{key:"fast",filter:void 0},{key:"smart",filter:void 0},{key:"thinking",filter:void 0},{key:"image",filter:zt},{key:"web_search",filter:Vt},{key:"deep_research",filter:Gt}];function Yt(e){const t=V.c(30),{slot:i,onSlotChange:r,filterModels:o,defaultKeyId:n}=e,c=He(),l=c.some(I=>I.id===i?.keyId)?i?.keyId:null,[d,g]=G.useState(l??n);let f,a;t[0]!==l?(f=()=>{l&&g(l)},a=[l],t[0]=l,t[1]=f,t[2]=a):(f=t[1],a=t[2]),G.useEffect(f,a);let x;t[3]!==c||t[4]!==n||t[5]!==d?(x=c.some(I=>I.id===d)?d:n,t[3]=c,t[4]=n,t[5]=d,t[6]=x):x=t[6];const u=x;let v;t[7]!==u||t[8]!==c?(v=u?c.find(I=>I.id===u):null,t[7]=u,t[8]=c,t[9]=v):v=t[9];const C=v,{models:y,isLoading:h}=me(o?u??void 0:void 0),j=o?h||y.some(o):!0;let N;t[10]!==i||t[11]!==C?.providerId||t[12]!==l?(N=i&&l?{modelId:i.modelId,title:i.title??i.modelId,keyId:i.keyId,providerId:C?.providerId??"deco",description:null,logo:null,capabilities:[],limits:null,costs:null}:null,t[10]=i,t[11]=C?.providerId,t[12]=l,t[13]=N):N=t[13];const w=N,m=Q();if(o&&!j){let I;t[14]!==m?(I=m("settings.simpleModeSection.notAvailableWithCurrentProvider"),t[14]=m,t[15]=I):I=t[15];let k;return t[16]!==I?(k=s.jsx("p",{className:"text-xs text-muted-foreground italic",children:I}),t[16]=I,t[17]=k):k=t[17],k}let b;t[18]!==m?(b=m("settings.simpleModeSection.pickModel"),t[18]=m,t[19]=b):b=t[19];let S;t[20]===Symbol.for("react.memo_cache_sentinel")?(S=I=>g(I),t[20]=S):S=t[20];let p;t[21]!==u||t[22]!==r?(p=I=>{const k=I.keyId??u??"";g(k),r({keyId:k,modelId:I.modelId,title:I.title})},t[21]=u,t[22]=r,t[23]=p):p=t[23];let P;return t[24]!==u||t[25]!==o||t[26]!==w||t[27]!==b||t[28]!==p?(P=s.jsx(jt,{variant:"bordered",placeholder:b,model:w,credentialId:u,filterModels:o,onCredentialChange:S,onModelChange:p}),t[24]=u,t[25]=o,t[26]=w,t[27]=b,t[28]=p,t[29]=P):P=t[29],P}function Wt(e){const t=V.c(10),{isPending:i,showSaved:r}=e,o=Q();if(i){let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(qe,{size:12,className:"animate-spin"}),t[0]=n):n=t[0];let c;t[1]!==o?(c=o("settings.simpleModeSection.saving"),t[1]=o,t[2]=c):c=t[2];let l;return t[3]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n,c]}),t[3]=c,t[4]=l):l=t[4],l}if(r){let n;t[5]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(xt,{size:12}),t[5]=n):n=t[5];let c;t[6]!==o?(c=o("settings.simpleModeSection.saved"),t[6]=o,t[7]=c):c=t[7];let l;return t[8]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n,c]}),t[8]=c,t[9]=l):l=t[9],l}return null}function Xt(){const e=V.c(58),t=Q(),i=He(),r=ht(),o=i.length>0;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=Oe(bt),e[0]=n):n=e[0];let c;e[1]!==r?(c={resolver:n,values:r,mode:"onChange"},e[1]=r,e[2]=c):c=e[2];const l=Fe(c),{mutate:d,isPending:g,isSuccess:f}=vt(),a=l.formState.isDirty;let x;e[3]!==l||e[4]!==r||e[5]!==t||e[6]!==d?(x={delayMs:250,save:async()=>{const _=l.getValues();d(_,{onSuccess:()=>l.reset(_,{keepValues:!0}),onError:M=>{l.reset(r),X.error(t("settings.simpleModeSection.failedToSave",{error:M.message}))}})}},e[3]=l,e[4]=r,e[5]=t,e[6]=d,e[7]=x):x=e[7];const{schedule:u}=yt(x),v=i[0],C=i[1],y=i[2],{models:h}=me(v?.id),{models:j}=me(C?.id),{models:N}=me(y?.id);let w,m;e[8]!==l||e[9]!==o?(w=()=>{o||l.reset({tiers:{fast:null,smart:null,thinking:null,image:null,web_search:null,deep_research:null}})},m=[o,l],e[8]=l,e[9]=o,e[10]=w,e[11]=m):(w=e[10],m=e[11]),G.useEffect(w,m);let b;e[12]!==i||e[13]!==l||e[14]!==v||e[15]!==C||e[16]!==y||e[17]!==h||e[18]!==j||e[19]!==N?(b=()=>{const _=l.getValues(),M=new Set(i.map(Zt)),B={};v?.id&&(B[v.id]=h),C?.id&&(B[C.id]=j),y?.id&&(B[y.id]=N);const z=le=>le!=null&&!M.has(le.keyId),K={fast:z(_.tiers.fast)?null:_.tiers.fast,smart:z(_.tiers.smart)?null:_.tiers.smart,thinking:z(_.tiers.thinking)?null:_.tiers.thinking,image:z(_.tiers.image)?null:_.tiers.image,web_search:z(_.tiers.web_search)?null:_.tiers.web_search,deep_research:z(_.tiers.deep_research)?null:_.tiers.deep_research},Y=!K.fast||!K.smart||!K.thinking||!K.image||!K.web_search||!K.deep_research,J=K.fast===_.tiers.fast&&K.smart===_.tiers.smart&&K.thinking===_.tiers.thinking&&K.image===_.tiers.image&&K.web_search===_.tiers.web_search&&K.deep_research===_.tiers.deep_research;if(!Y&&J)return;const ee=pt(i,B);l.reset({tiers:{fast:K.fast??ee.chat.fast,smart:K.smart??ee.chat.smart,thinking:K.thinking??ee.chat.thinking,image:K.image??ee.image,web_search:K.web_search??ee.webSearch,deep_research:K.deep_research??ee.deepResearch}},{keepDirty:!0})},e[12]=i,e[13]=l,e[14]=v,e[15]=C,e[16]=y,e[17]=h,e[18]=j,e[19]=N,e[20]=b):b=e[20];const S=v?.id,p=C?.id,P=y?.id;let I;e[21]!==i||e[22]!==l||e[23]!==h||e[24]!==j||e[25]!==N||e[26]!==S||e[27]!==p||e[28]!==P?(I=[l,i,h,j,N,S,p,P],e[21]=i,e[22]=l,e[23]=h,e[24]=j,e[25]=N,e[26]=S,e[27]=p,e[28]=P,e[29]=I):I=e[29],G.useEffect(b,I);let k;e[30]!==t?(k=_=>({fast:t("settings.simpleModeSection.tierFast"),smart:t("settings.simpleModeSection.tierSmart"),thinking:t("settings.simpleModeSection.tierThinking"),image:t("settings.simpleModeSection.tierImage"),web_search:t("settings.simpleModeSection.tierWebSearch"),deep_research:t("settings.simpleModeSection.tierDeepResearch")})[_]||_,e[30]=t,e[31]=k):k=e[31];const T=k;let A;e[32]!==t?(A=_=>({fast:t("settings.simpleModeSection.tierFastDesc"),smart:t("settings.simpleModeSection.tierSmartDesc"),thinking:t("settings.simpleModeSection.tierThinkingDesc"),image:t("settings.simpleModeSection.tierImageDesc"),web_search:t("settings.simpleModeSection.tierWebSearchDesc"),deep_research:t("settings.simpleModeSection.tierDeepResearchDesc")})[_]||"",e[32]=t,e[33]=A):A=e[33];const U=A;let E;e[34]!==t?(E=t("settings.simpleModeSection.defaultModels"),e[34]=t,e[35]=E):E=e[35];let R;e[36]!==t?(R=t("settings.simpleModeSection.modelsPowerDescription"),e[36]=t,e[37]=R):R=e[37];let $;e[38]!==R?($=s.jsx("p",{className:"text-sm text-muted-foreground",children:R}),e[38]=R,e[39]=$):$=e[39];const q=f&&!a;let O;e[40]!==g||e[41]!==q?(O=s.jsx(Wt,{isPending:g,showSaved:q}),e[40]=g,e[41]=q,e[42]=O):O=e[42];let F;e[43]!==$||e[44]!==O?(F=s.jsxs("div",{className:"flex items-center justify-between -mt-2 mb-2",children:[$,O]}),e[43]=$,e[44]=O,e[45]=F):F=e[45];let L;e[46]!==i[0]?.id||e[47]!==l.control||e[48]!==U||e[49]!==T||e[50]!==u?(L=Qt.map(_=>s.jsx(st,{control:l.control,name:`tiers.${_.key}`,render:M=>{const{field:B}=M;return s.jsx(Le,{title:T(_.key),description:U(_.key),action:s.jsx(Yt,{slot:B.value,defaultKeyId:i[0]?.id??null,filterModels:_.filter,onSlotChange:z=>{B.onChange(z),u()}})})}},_.key)),e[46]=i[0]?.id,e[47]=l.control,e[48]=U,e[49]=T,e[50]=u,e[51]=L):L=e[51];let H;e[52]!==L?(H=s.jsx(de,{children:L}),e[52]=L,e[53]=H):H=e[53];let D;return e[54]!==E||e[55]!==F||e[56]!==H?(D=s.jsxs(ae,{title:E,headerClassName:"pl-0",children:[F,H]}),e[54]=E,e[55]=F,e[56]=H,e[57]=D):D=e[57],D}function Zt(e){return e.id}const Jt={usd:[10,20,100],brl:[50,100,500]};function Xe(){const e=V.c(30),t=Q(),i=te(),[r]=he(),[o,n]=G.useState(!1);let c;e[0]!==t?(c=p=>{X.error(t("settings.decoCreditsHero.topUpFailed",{message:p.message}))},e[0]=t,e[1]=c):c=e[1];const{mutate:l,isPending:d}=ie({mutationFn:async p=>{const{url:P}=await i.call("AI_PROVIDER_TOPUP_URL",{providerId:"deco",amountCents:p,currency:u});return P},onSuccess:es,onError:c}),[g,f]=G.useState(""),[a,x]=G.useState(r.language==="pt-BR"?"brl":"usd"),u=a,v=parseFloat(g),C=!isNaN(v)&&v>=1,y=u==="brl"?"R$":"$";let h;e[2]!==x?(h=p=>{p&&x(p)},e[2]=x,e[3]=h):h=e[3];let j,N;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(Ae,{value:"usd",className:"h-8 px-3 text-sm",children:"USD"}),N=s.jsx(Ae,{value:"brl",className:"h-8 px-3 text-sm",children:"BRL"}),e[4]=j,e[5]=N):(j=e[4],N=e[5]);let w;e[6]!==u||e[7]!==h?(w=s.jsxs(Nt,{type:"single",variant:"outline",size:"sm",value:u,onValueChange:h,children:[j,N]}),e[6]=u,e[7]=h,e[8]=w):w=e[8];let m;e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==d||e[13]!==t||e[14]!==l?(m=!o&&s.jsxs(s.Fragment,{children:[Jt[u].map(p=>s.jsxs(W,{variant:"outline",className:"tabular-nums",disabled:d,onClick:()=>l(p*100),children:[y,p]},p)),s.jsx(W,{variant:"ghost",className:"text-muted-foreground",onClick:()=>n(!0),disabled:d,children:t("settings.decoCreditsHero.custom")})]}),e[9]=u,e[10]=y,e[11]=o,e[12]=d,e[13]=t,e[14]=l,e[15]=m):m=e[15];let b;e[16]!==y||e[17]!==g||e[18]!==v||e[19]!==o||e[20]!==C||e[21]!==d||e[22]!==f||e[23]!==t||e[24]!==l?(b=o&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"relative max-w-[140px]",children:[s.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:y}),s.jsx(ce,{type:"number",min:"1",step:"1",placeholder:t("settings.decoCreditsHero.amountPlaceholder"),value:g,onChange:p=>f(p.target.value),className:"h-8 text-sm pl-7",autoFocus:!0})]}),s.jsx(W,{disabled:!C||d,onClick:()=>l(Math.round(v*100)),children:d?"...":t("settings.decoCreditsHero.add")}),s.jsx(W,{variant:"ghost",className:"text-muted-foreground",onClick:()=>{n(!1),f("")},children:t("settings.decoCreditsHero.cancel")})]}),e[16]=y,e[17]=g,e[18]=v,e[19]=o,e[20]=C,e[21]=d,e[22]=f,e[23]=t,e[24]=l,e[25]=b):b=e[25];let S;return e[26]!==w||e[27]!==m||e[28]!==b?(S=s.jsx("div",{className:"flex flex-col gap-2.5",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[w,m,b]})}),e[26]=w,e[27]=m,e[28]=b,e[29]=S):S=e[29],S}function es(e){e&&window.open(e,"_blank","noopener,noreferrer")}function ts(e){return e<=0?"text-destructive":e<=1?"text-warning":"text-foreground"}function ss(e){const t=V.c(38),{enabled:i}=e,r=Q(),{org:o}=se(),n=te();let c;t[0]!==o.id?(c=Z.aiProviderCredits(o.id,"deco"),t[0]=o.id,t[1]=c):c=t[1];let l;t[2]!==n?(l=async()=>{try{return await n.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}},t[2]=n,t[3]=l):l=t[3];let d;t[4]!==i||t[5]!==c||t[6]!==l?(d={queryKey:c,enabled:i,staleTime:6e4,queryFn:l},t[4]=i,t[5]=c,t[6]=l,t[7]=d):d=t[7];const{data:g,isLoading:f,refetch:a,isFetching:x}=pe(d);if(!i)return null;const u=g?.balanceCents!=null?g.balanceCents/100:null;let v;t[8]!==u?(v=u!=null?`$${u.toFixed(2)}`:"—",t[8]=u,t[9]=v):v=t[9];const C=v;let y;t[10]!==u||t[11]!==C||t[12]!==x||t[13]!==f?(y=f||x?s.jsx(ue,{className:"h-9 w-24"}):s.jsx("span",{className:re("text-3xl font-semibold tabular-nums tracking-tight",u!=null&&ts(u)),children:C}),t[10]=u,t[11]=C,t[12]=x,t[13]=f,t[14]=y):y=t[14];let h;t[15]!==a?(h=()=>a(),t[15]=a,t[16]=h):h=t[16];let j;t[17]!==r?(j=r("settings.decoCreditsHero.refreshBalance"),t[17]=r,t[18]=j):j=t[18];const N=x&&"animate-spin";let w;t[19]!==N?(w=re(N),t[19]=N,t[20]=w):w=t[20];let m;t[21]!==w?(m=s.jsx(qe,{size:14,className:w}),t[21]=w,t[22]=m):m=t[22];let b;t[23]!==x||t[24]!==m||t[25]!==h||t[26]!==j?(b=s.jsx("button",{type:"button",onClick:h,disabled:x,className:"text-muted-foreground hover:text-foreground disabled:opacity-50 transition-colors p-1 classic:rounded-md compact:rounded-lg hover:bg-muted/50","aria-label":j,children:m}),t[23]=x,t[24]=m,t[25]=h,t[26]=j,t[27]=b):b=t[27];let S;t[28]!==b||t[29]!==y?(S=s.jsxs("div",{className:"flex items-baseline gap-2",children:[y,b]}),t[28]=b,t[29]=y,t[30]=S):S=t[30];let p;t[31]!==r?(p=r("settings.decoCreditsHero.availableBalance"),t[31]=r,t[32]=p):p=t[32];let P;t[33]!==p?(P=s.jsx("p",{className:"text-xs text-muted-foreground",children:p}),t[33]=p,t[34]=P):P=t[34];let I;return t[35]!==S||t[36]!==P?(I=s.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[S,P]}),t[35]=S,t[36]=P,t[37]=I):I=t[37],I}function is(){const e=V.c(74),t=Q(),{org:i}=se(),r=te(),o=oe(),n=be();let c;e[0]!==n?(c=n.find(ls),e[0]=n,e[1]=c):c=e[1];const l=c,d=ge(),g=we("credits"),[f,a]=G.useState(!1);let x;e[2]!==l||e[3]!==r?(x=async()=>{l&&await r.call("AI_PROVIDER_KEY_DELETE",{keyId:l.id})},e[2]=l,e[3]=r,e[4]=x):x=e[4];let u;e[5]!==i||e[6]!==o||e[7]!==t?(u=()=>{o.invalidateQueries({queryKey:Z.aiProviderKeys(i.id)}),o.invalidateQueries({queryKey:Z.aiProviders(i.id)}),X.success(t("settings.decoCreditsHero.disconnectSuccess")),a(!1)},e[5]=i,e[6]=o,e[7]=t,e[8]=u):u=e[8];let v;e[9]!==t?(v=z=>{X.error(t("settings.decoCreditsHero.disconnectError",{message:z.message}))},e[9]=t,e[10]=v):v=e[10];let C;e[11]!==x||e[12]!==u||e[13]!==v?(C={mutationFn:x,onSuccess:u,onError:v},e[11]=x,e[12]=u,e[13]=v,e[14]=C):C=e[14];const{mutate:y,isPending:h}=ie(C);if(!l)return null;let j;e[15]!==t?(j=t("settings.decoCreditsHero.title"),e[15]=t,e[16]=j):j=e[16];let N;e[17]!==t?(N=t("settings.decoCreditsHero.decoAiGatewayAlt"),e[17]=t,e[18]=N):N=e[18];let w;e[19]!==N?(w=s.jsx("div",{className:"flex items-center gap-3",children:s.jsx("img",{src:"/logos/deco%20logo.svg",alt:N,className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"})}),e[19]=N,e[20]=w):w=e[20];let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=()=>a(!0),e[21]=m):m=e[21];let b;e[22]!==t?(b=t("settings.decoCreditsHero.disconnect"),e[22]=t,e[23]=b):b=e[23];let S;e[24]!==h||e[25]!==b?(S=s.jsx(W,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive",onClick:m,disabled:h,children:b}),e[24]=h,e[25]=b,e[26]=S):S=e[26];let p;e[27]!==S||e[28]!==w?(p=s.jsxs("div",{className:"flex items-center justify-between",children:[w,S]}),e[27]=S,e[28]=w,e[29]=p):p=e[29];let P;e[30]!==t?(P=t("settings.decoCreditsHero.disconnectTitle"),e[30]=t,e[31]=P):P=e[31];let I;e[32]!==P?(I=s.jsx(je,{children:P}),e[32]=P,e[33]=I):I=e[33];let k;e[34]!==t?(k=t("settings.decoCreditsHero.disconnectDescription"),e[34]=t,e[35]=k):k=e[35];let T;e[36]!==k?(T=s.jsx(ye,{children:k}),e[36]=k,e[37]=T):T=e[37];let A;e[38]!==I||e[39]!==T?(A=s.jsxs(Ne,{children:[I,T]}),e[38]=I,e[39]=T,e[40]=A):A=e[40];let U;e[41]!==t?(U=t("settings.decoCreditsHero.cancelButton"),e[41]=t,e[42]=U):U=e[42];let E;e[43]!==U?(E=s.jsx(Se,{children:U}),e[43]=U,e[44]=E):E=e[44];let R;e[45]!==y?(R=()=>y(),e[45]=y,e[46]=R):R=e[46];let $;e[47]!==t?($=t("settings.decoCreditsHero.disconnectButton"),e[47]=t,e[48]=$):$=e[48];let q;e[49]!==R||e[50]!==$?(q=s.jsx(Ce,{onClick:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$}),e[49]=R,e[50]=$,e[51]=q):q=e[51];let O;e[52]!==E||e[53]!==q?(O=s.jsxs(Pe,{children:[E,q]}),e[52]=E,e[53]=q,e[54]=O):O=e[54];let F;e[55]!==A||e[56]!==O?(F=s.jsxs(_e,{children:[A,O]}),e[55]=A,e[56]=O,e[57]=F):F=e[57];let L;e[58]!==f||e[59]!==F?(L=s.jsx(Ie,{open:f,onOpenChange:a,children:F}),e[58]=f,e[59]=F,e[60]=L):L=e[60];const H=!d;let D;e[61]!==H?(D=s.jsx(ss,{enabled:H}),e[61]=H,e[62]=D):D=e[62];let _;e[63]!==g||e[64]!==t?(_=g?s.jsxs("div",{className:"pt-4 border-t border-border/60",children:[s.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2.5",children:t("settings.decoCreditsHero.addCredits")}),s.jsx(Xe,{})]}):null,e[63]=g,e[64]=t,e[65]=_):_=e[65];let M;e[66]!==p||e[67]!==L||e[68]!==D||e[69]!==_?(M=s.jsx(de,{children:s.jsxs("div",{className:"px-5 py-5 flex flex-col gap-5",children:[p,L,D,_]})}),e[66]=p,e[67]=L,e[68]=D,e[69]=_,e[70]=M):M=e[70];let B;return e[71]!==M||e[72]!==j?(B=s.jsx(ae,{title:j,children:M}),e[71]=M,e[72]=j,e[73]=B):B=e[73],B}function ls(e){return e.providerId==="deco"}var ke="Progress",De=100,[rs]=it(ke),[ns,as]=rs(ke),Ze=G.forwardRef((e,t)=>{const{__scopeProgress:i,value:r=null,max:o,getValueLabel:n=os,...c}=e;(o||o===0)&&!Te(o)&&console.error(cs(`${o}`,"Progress"));const l=Te(o)?o:De;r!==null&&!Re(r,l)&&console.error(ds(`${r}`,"Progress"));const d=Re(r,l)?r:null,g=fe(d)?n(d,l):void 0;return s.jsx(ns,{scope:i,value:d,max:l,children:s.jsx(Be.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":fe(d)?d:void 0,"aria-valuetext":g,role:"progressbar","data-state":tt(d,l),"data-value":d??void 0,"data-max":l,...c,ref:t})})});Ze.displayName=ke;var Je="ProgressIndicator",et=G.forwardRef((e,t)=>{const{__scopeProgress:i,...r}=e,o=as(Je,i);return s.jsx(Be.div,{"data-state":tt(o.value,o.max),"data-value":o.value??void 0,"data-max":o.max,...r,ref:t})});et.displayName=Je;function os(e,t){return`${Math.round(e/t*100)}%`}function tt(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function fe(e){return typeof e=="number"}function Te(e){return fe(e)&&!isNaN(e)&&e>0}function Re(e,t){return fe(e)&&!isNaN(e)&&e<=t&&e>=0}function cs(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${De}\`.`}function ds(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
1
+ import{c as V,b as Q,aq as Oe,ar as Fe,r as G,j as s,aU as st,dY as Le,t as X,dX as de,dW as ae,aH as qe,a0 as se,a6 as te,o as oe,e as ie,x as he,B as W,K as Z,m as pe,aP as ue,l as re,d8 as Be,fs as it,eL as ve,af as lt,an as rt,L as nt,a9 as at,q as Ke,h as ot,ao as ct,ap as xe,fr as dt}from"./index-Dn-pE_oF.js";import{i as ut}from"./AlertCircle-1_aD--dB.js";import{u as He,a as me,i as mt,b as ft,p as pt,e as be,f as gt,d as ze}from"./use-ai-providers-DUHhmQc6.js";import{i as xt}from"./CheckCircle-Cc6CY47i.js";import{d as ht,l as vt}from"./use-organization-settings-BfcOMNYp.js";import{S as bt}from"./schema-BJjGrX8W.js";import{M as jt}from"./select-model-CyVGvEjL.js";import{u as yt}from"./use-debounced-autosave-CU5jh2Bj.js";import{I as ce}from"./input-DfvK3BvZ.js";import{T as Ae,a as Nt}from"./toggle-group-8GW330jn.js";import{A as je,a as ye,b as Ne,c as Se,g as Ce,d as Pe,e as _e,f as Ie}from"./alert-dialog-CVY7NpNS.js";import{u as ge,d as we,a as Ve,e as St}from"./use-entitlements-CJrgpU-3.js";import{u as Ge}from"./use-open-billing-url-CqH0MvxG.js";import{u as Qe,P as Ye,a as Ct,c as Pt,f as _t,F as It}from"./plan-ladder--9AA86Vw.js";import{b as wt,a as kt}from"./Tool01-BOTbO9xX.js";import{s as Dt}from"./Plus-DWnlhQEG.js";import{s as Kt}from"./Trash01-CDngQkql.js";import{A as At}from"./avatar-qzN7CafM.js";import{u as Et,f as Tt}from"./use-date-fns-locale-DeWcS2U7.js";import{c as We,P as Rt,C as Ee}from"./decopilot-BgEg3OT6.js";import{P as Ut}from"./ai-providers-logos-DD3qZ33J.js";import{i as Mt}from"./Settings02-S2K24EWO.js";import{s as $t}from"./Eye-BKjf_vUO.js";import{d as Ot,c as Ft,b as Lt,D as qt,e as Bt}from"./dialog-Dl5zPv9e.js";import{R as Ht}from"./require-capability-BUixtCV_.js";import"./task-board-DxUiBcDP.js";import"./drawer-CgkgucN1.js";import"./use-mobile-cGAaNUys.js";import"./chat-context-B6h2xdo0.js";import"./use-panel-navigate-BWSWcls2.js";import"./thread-route-DH7EC64o.js";import"./use-project-scope-BXLyS9dJ.js";import"./use-virtual-mcp-DpRXFoRT.js";import"./use-mcp-client-ixAVEgas.js";import"./auth-gLcu1CpT.js";import"./github-repo-BknN0SVI.js";import"./autosend-BcXsN51P.js";import"./thread-intent-DOmgYGxo.js";import"./slugify-CEUa2lfQ.js";import"./hooks-DvQkdYJL.js";import"./backoff-8mStPHYB.js";import"./use-is-desktop-app-BNujXJc_.js";import"./location-oTTXFrSF.js";import"./use-decopilot-events-7Ia-4Ojl.js";import"./index-WCc3fcxd.js";import"./User01-CEit44ru.js";import"./differenceInSeconds-C3x8sHUj.js";import"./checkbox-CeU6IqeR.js";import"./select-CQa_dQzn.js";import"./index-CpZ_1mN7.js";import"./ChevronUp-C9Nhfb-x.js";import"./ArrowLeft-DbYZw4_2.js";import"./Key01-BkaZy7Ah.js";import"./SearchMd-BCQ1CyGA.js";import"./Monitor01-BjQTJmPT.js";import"./download-app-dialog-t4N-N3uU.js";import"./Copy01-BjLGbqnG.js";import"./Download01-CDh7RxaN.js";import"./Image01-DpNFr3GM.js";import"./Stars01-DxWX4pOr.js";import"./X-Cr1LzzwP.js";import"./access-gate-DN6XyU54.js";import"./capability-load-error-Cdp84b5C.js";const zt=e=>e.capabilities?.includes("image")===!0,Vt=e=>mt(e),Gt=e=>ft(e),Qt=[{key:"fast",filter:void 0},{key:"smart",filter:void 0},{key:"thinking",filter:void 0},{key:"image",filter:zt},{key:"web_search",filter:Vt},{key:"deep_research",filter:Gt}];function Yt(e){const t=V.c(30),{slot:i,onSlotChange:r,filterModels:o,defaultKeyId:n}=e,c=He(),l=c.some(I=>I.id===i?.keyId)?i?.keyId:null,[d,g]=G.useState(l??n);let f,a;t[0]!==l?(f=()=>{l&&g(l)},a=[l],t[0]=l,t[1]=f,t[2]=a):(f=t[1],a=t[2]),G.useEffect(f,a);let x;t[3]!==c||t[4]!==n||t[5]!==d?(x=c.some(I=>I.id===d)?d:n,t[3]=c,t[4]=n,t[5]=d,t[6]=x):x=t[6];const u=x;let v;t[7]!==u||t[8]!==c?(v=u?c.find(I=>I.id===u):null,t[7]=u,t[8]=c,t[9]=v):v=t[9];const C=v,{models:y,isLoading:h}=me(o?u??void 0:void 0),j=o?h||y.some(o):!0;let N;t[10]!==i||t[11]!==C?.providerId||t[12]!==l?(N=i&&l?{modelId:i.modelId,title:i.title??i.modelId,keyId:i.keyId,providerId:C?.providerId??"deco",description:null,logo:null,capabilities:[],limits:null,costs:null}:null,t[10]=i,t[11]=C?.providerId,t[12]=l,t[13]=N):N=t[13];const w=N,m=Q();if(o&&!j){let I;t[14]!==m?(I=m("settings.simpleModeSection.notAvailableWithCurrentProvider"),t[14]=m,t[15]=I):I=t[15];let k;return t[16]!==I?(k=s.jsx("p",{className:"text-xs text-muted-foreground italic",children:I}),t[16]=I,t[17]=k):k=t[17],k}let b;t[18]!==m?(b=m("settings.simpleModeSection.pickModel"),t[18]=m,t[19]=b):b=t[19];let S;t[20]===Symbol.for("react.memo_cache_sentinel")?(S=I=>g(I),t[20]=S):S=t[20];let p;t[21]!==u||t[22]!==r?(p=I=>{const k=I.keyId??u??"";g(k),r({keyId:k,modelId:I.modelId,title:I.title})},t[21]=u,t[22]=r,t[23]=p):p=t[23];let P;return t[24]!==u||t[25]!==o||t[26]!==w||t[27]!==b||t[28]!==p?(P=s.jsx(jt,{variant:"bordered",placeholder:b,model:w,credentialId:u,filterModels:o,onCredentialChange:S,onModelChange:p}),t[24]=u,t[25]=o,t[26]=w,t[27]=b,t[28]=p,t[29]=P):P=t[29],P}function Wt(e){const t=V.c(10),{isPending:i,showSaved:r}=e,o=Q();if(i){let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(qe,{size:12,className:"animate-spin"}),t[0]=n):n=t[0];let c;t[1]!==o?(c=o("settings.simpleModeSection.saving"),t[1]=o,t[2]=c):c=t[2];let l;return t[3]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n,c]}),t[3]=c,t[4]=l):l=t[4],l}if(r){let n;t[5]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(xt,{size:12}),t[5]=n):n=t[5];let c;t[6]!==o?(c=o("settings.simpleModeSection.saved"),t[6]=o,t[7]=c):c=t[7];let l;return t[8]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n,c]}),t[8]=c,t[9]=l):l=t[9],l}return null}function Xt(){const e=V.c(58),t=Q(),i=He(),r=ht(),o=i.length>0;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=Oe(bt),e[0]=n):n=e[0];let c;e[1]!==r?(c={resolver:n,values:r,mode:"onChange"},e[1]=r,e[2]=c):c=e[2];const l=Fe(c),{mutate:d,isPending:g,isSuccess:f}=vt(),a=l.formState.isDirty;let x;e[3]!==l||e[4]!==r||e[5]!==t||e[6]!==d?(x={delayMs:250,save:async()=>{const _=l.getValues();d(_,{onSuccess:()=>l.reset(_,{keepValues:!0}),onError:M=>{l.reset(r),X.error(t("settings.simpleModeSection.failedToSave",{error:M.message}))}})}},e[3]=l,e[4]=r,e[5]=t,e[6]=d,e[7]=x):x=e[7];const{schedule:u}=yt(x),v=i[0],C=i[1],y=i[2],{models:h}=me(v?.id),{models:j}=me(C?.id),{models:N}=me(y?.id);let w,m;e[8]!==l||e[9]!==o?(w=()=>{o||l.reset({tiers:{fast:null,smart:null,thinking:null,image:null,web_search:null,deep_research:null}})},m=[o,l],e[8]=l,e[9]=o,e[10]=w,e[11]=m):(w=e[10],m=e[11]),G.useEffect(w,m);let b;e[12]!==i||e[13]!==l||e[14]!==v||e[15]!==C||e[16]!==y||e[17]!==h||e[18]!==j||e[19]!==N?(b=()=>{const _=l.getValues(),M=new Set(i.map(Zt)),B={};v?.id&&(B[v.id]=h),C?.id&&(B[C.id]=j),y?.id&&(B[y.id]=N);const z=le=>le!=null&&!M.has(le.keyId),K={fast:z(_.tiers.fast)?null:_.tiers.fast,smart:z(_.tiers.smart)?null:_.tiers.smart,thinking:z(_.tiers.thinking)?null:_.tiers.thinking,image:z(_.tiers.image)?null:_.tiers.image,web_search:z(_.tiers.web_search)?null:_.tiers.web_search,deep_research:z(_.tiers.deep_research)?null:_.tiers.deep_research},Y=!K.fast||!K.smart||!K.thinking||!K.image||!K.web_search||!K.deep_research,J=K.fast===_.tiers.fast&&K.smart===_.tiers.smart&&K.thinking===_.tiers.thinking&&K.image===_.tiers.image&&K.web_search===_.tiers.web_search&&K.deep_research===_.tiers.deep_research;if(!Y&&J)return;const ee=pt(i,B);l.reset({tiers:{fast:K.fast??ee.chat.fast,smart:K.smart??ee.chat.smart,thinking:K.thinking??ee.chat.thinking,image:K.image??ee.image,web_search:K.web_search??ee.webSearch,deep_research:K.deep_research??ee.deepResearch}},{keepDirty:!0})},e[12]=i,e[13]=l,e[14]=v,e[15]=C,e[16]=y,e[17]=h,e[18]=j,e[19]=N,e[20]=b):b=e[20];const S=v?.id,p=C?.id,P=y?.id;let I;e[21]!==i||e[22]!==l||e[23]!==h||e[24]!==j||e[25]!==N||e[26]!==S||e[27]!==p||e[28]!==P?(I=[l,i,h,j,N,S,p,P],e[21]=i,e[22]=l,e[23]=h,e[24]=j,e[25]=N,e[26]=S,e[27]=p,e[28]=P,e[29]=I):I=e[29],G.useEffect(b,I);let k;e[30]!==t?(k=_=>({fast:t("settings.simpleModeSection.tierFast"),smart:t("settings.simpleModeSection.tierSmart"),thinking:t("settings.simpleModeSection.tierThinking"),image:t("settings.simpleModeSection.tierImage"),web_search:t("settings.simpleModeSection.tierWebSearch"),deep_research:t("settings.simpleModeSection.tierDeepResearch")})[_]||_,e[30]=t,e[31]=k):k=e[31];const T=k;let A;e[32]!==t?(A=_=>({fast:t("settings.simpleModeSection.tierFastDesc"),smart:t("settings.simpleModeSection.tierSmartDesc"),thinking:t("settings.simpleModeSection.tierThinkingDesc"),image:t("settings.simpleModeSection.tierImageDesc"),web_search:t("settings.simpleModeSection.tierWebSearchDesc"),deep_research:t("settings.simpleModeSection.tierDeepResearchDesc")})[_]||"",e[32]=t,e[33]=A):A=e[33];const U=A;let E;e[34]!==t?(E=t("settings.simpleModeSection.defaultModels"),e[34]=t,e[35]=E):E=e[35];let R;e[36]!==t?(R=t("settings.simpleModeSection.modelsPowerDescription"),e[36]=t,e[37]=R):R=e[37];let $;e[38]!==R?($=s.jsx("p",{className:"text-sm text-muted-foreground",children:R}),e[38]=R,e[39]=$):$=e[39];const q=f&&!a;let O;e[40]!==g||e[41]!==q?(O=s.jsx(Wt,{isPending:g,showSaved:q}),e[40]=g,e[41]=q,e[42]=O):O=e[42];let F;e[43]!==$||e[44]!==O?(F=s.jsxs("div",{className:"flex items-center justify-between -mt-2 mb-2",children:[$,O]}),e[43]=$,e[44]=O,e[45]=F):F=e[45];let L;e[46]!==i[0]?.id||e[47]!==l.control||e[48]!==U||e[49]!==T||e[50]!==u?(L=Qt.map(_=>s.jsx(st,{control:l.control,name:`tiers.${_.key}`,render:M=>{const{field:B}=M;return s.jsx(Le,{title:T(_.key),description:U(_.key),action:s.jsx(Yt,{slot:B.value,defaultKeyId:i[0]?.id??null,filterModels:_.filter,onSlotChange:z=>{B.onChange(z),u()}})})}},_.key)),e[46]=i[0]?.id,e[47]=l.control,e[48]=U,e[49]=T,e[50]=u,e[51]=L):L=e[51];let H;e[52]!==L?(H=s.jsx(de,{children:L}),e[52]=L,e[53]=H):H=e[53];let D;return e[54]!==E||e[55]!==F||e[56]!==H?(D=s.jsxs(ae,{title:E,headerClassName:"pl-0",children:[F,H]}),e[54]=E,e[55]=F,e[56]=H,e[57]=D):D=e[57],D}function Zt(e){return e.id}const Jt={usd:[10,20,100],brl:[50,100,500]};function Xe(){const e=V.c(30),t=Q(),i=te(),[r]=he(),[o,n]=G.useState(!1);let c;e[0]!==t?(c=p=>{X.error(t("settings.decoCreditsHero.topUpFailed",{message:p.message}))},e[0]=t,e[1]=c):c=e[1];const{mutate:l,isPending:d}=ie({mutationFn:async p=>{const{url:P}=await i.call("AI_PROVIDER_TOPUP_URL",{providerId:"deco",amountCents:p,currency:u});return P},onSuccess:es,onError:c}),[g,f]=G.useState(""),[a,x]=G.useState(r.language==="pt-BR"?"brl":"usd"),u=a,v=parseFloat(g),C=!isNaN(v)&&v>=1,y=u==="brl"?"R$":"$";let h;e[2]!==x?(h=p=>{p&&x(p)},e[2]=x,e[3]=h):h=e[3];let j,N;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(Ae,{value:"usd",className:"h-8 px-3 text-sm",children:"USD"}),N=s.jsx(Ae,{value:"brl",className:"h-8 px-3 text-sm",children:"BRL"}),e[4]=j,e[5]=N):(j=e[4],N=e[5]);let w;e[6]!==u||e[7]!==h?(w=s.jsxs(Nt,{type:"single",variant:"outline",size:"sm",value:u,onValueChange:h,children:[j,N]}),e[6]=u,e[7]=h,e[8]=w):w=e[8];let m;e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==d||e[13]!==t||e[14]!==l?(m=!o&&s.jsxs(s.Fragment,{children:[Jt[u].map(p=>s.jsxs(W,{variant:"outline",className:"tabular-nums",disabled:d,onClick:()=>l(p*100),children:[y,p]},p)),s.jsx(W,{variant:"ghost",className:"text-muted-foreground",onClick:()=>n(!0),disabled:d,children:t("settings.decoCreditsHero.custom")})]}),e[9]=u,e[10]=y,e[11]=o,e[12]=d,e[13]=t,e[14]=l,e[15]=m):m=e[15];let b;e[16]!==y||e[17]!==g||e[18]!==v||e[19]!==o||e[20]!==C||e[21]!==d||e[22]!==f||e[23]!==t||e[24]!==l?(b=o&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"relative max-w-[140px]",children:[s.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:y}),s.jsx(ce,{type:"number",min:"1",step:"1",placeholder:t("settings.decoCreditsHero.amountPlaceholder"),value:g,onChange:p=>f(p.target.value),className:"h-8 text-sm pl-7",autoFocus:!0})]}),s.jsx(W,{disabled:!C||d,onClick:()=>l(Math.round(v*100)),children:d?"...":t("settings.decoCreditsHero.add")}),s.jsx(W,{variant:"ghost",className:"text-muted-foreground",onClick:()=>{n(!1),f("")},children:t("settings.decoCreditsHero.cancel")})]}),e[16]=y,e[17]=g,e[18]=v,e[19]=o,e[20]=C,e[21]=d,e[22]=f,e[23]=t,e[24]=l,e[25]=b):b=e[25];let S;return e[26]!==w||e[27]!==m||e[28]!==b?(S=s.jsx("div",{className:"flex flex-col gap-2.5",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[w,m,b]})}),e[26]=w,e[27]=m,e[28]=b,e[29]=S):S=e[29],S}function es(e){e&&window.open(e,"_blank","noopener,noreferrer")}function ts(e){return e<=0?"text-destructive":e<=1?"text-warning":"text-foreground"}function ss(e){const t=V.c(38),{enabled:i}=e,r=Q(),{org:o}=se(),n=te();let c;t[0]!==o.id?(c=Z.aiProviderCredits(o.id,"deco"),t[0]=o.id,t[1]=c):c=t[1];let l;t[2]!==n?(l=async()=>{try{return await n.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}},t[2]=n,t[3]=l):l=t[3];let d;t[4]!==i||t[5]!==c||t[6]!==l?(d={queryKey:c,enabled:i,staleTime:6e4,queryFn:l},t[4]=i,t[5]=c,t[6]=l,t[7]=d):d=t[7];const{data:g,isLoading:f,refetch:a,isFetching:x}=pe(d);if(!i)return null;const u=g?.balanceCents!=null?g.balanceCents/100:null;let v;t[8]!==u?(v=u!=null?`$${u.toFixed(2)}`:"—",t[8]=u,t[9]=v):v=t[9];const C=v;let y;t[10]!==u||t[11]!==C||t[12]!==x||t[13]!==f?(y=f||x?s.jsx(ue,{className:"h-9 w-24"}):s.jsx("span",{className:re("text-3xl font-semibold tabular-nums tracking-tight",u!=null&&ts(u)),children:C}),t[10]=u,t[11]=C,t[12]=x,t[13]=f,t[14]=y):y=t[14];let h;t[15]!==a?(h=()=>a(),t[15]=a,t[16]=h):h=t[16];let j;t[17]!==r?(j=r("settings.decoCreditsHero.refreshBalance"),t[17]=r,t[18]=j):j=t[18];const N=x&&"animate-spin";let w;t[19]!==N?(w=re(N),t[19]=N,t[20]=w):w=t[20];let m;t[21]!==w?(m=s.jsx(qe,{size:14,className:w}),t[21]=w,t[22]=m):m=t[22];let b;t[23]!==x||t[24]!==m||t[25]!==h||t[26]!==j?(b=s.jsx("button",{type:"button",onClick:h,disabled:x,className:"text-muted-foreground hover:text-foreground disabled:opacity-50 transition-colors p-1 classic:rounded-md compact:rounded-lg hover:bg-muted/50","aria-label":j,children:m}),t[23]=x,t[24]=m,t[25]=h,t[26]=j,t[27]=b):b=t[27];let S;t[28]!==b||t[29]!==y?(S=s.jsxs("div",{className:"flex items-baseline gap-2",children:[y,b]}),t[28]=b,t[29]=y,t[30]=S):S=t[30];let p;t[31]!==r?(p=r("settings.decoCreditsHero.availableBalance"),t[31]=r,t[32]=p):p=t[32];let P;t[33]!==p?(P=s.jsx("p",{className:"text-xs text-muted-foreground",children:p}),t[33]=p,t[34]=P):P=t[34];let I;return t[35]!==S||t[36]!==P?(I=s.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[S,P]}),t[35]=S,t[36]=P,t[37]=I):I=t[37],I}function is(){const e=V.c(74),t=Q(),{org:i}=se(),r=te(),o=oe(),n=be();let c;e[0]!==n?(c=n.find(ls),e[0]=n,e[1]=c):c=e[1];const l=c,d=ge(),g=we("credits"),[f,a]=G.useState(!1);let x;e[2]!==l||e[3]!==r?(x=async()=>{l&&await r.call("AI_PROVIDER_KEY_DELETE",{keyId:l.id})},e[2]=l,e[3]=r,e[4]=x):x=e[4];let u;e[5]!==i||e[6]!==o||e[7]!==t?(u=()=>{o.invalidateQueries({queryKey:Z.aiProviderKeys(i.id)}),o.invalidateQueries({queryKey:Z.aiProviders(i.id)}),X.success(t("settings.decoCreditsHero.disconnectSuccess")),a(!1)},e[5]=i,e[6]=o,e[7]=t,e[8]=u):u=e[8];let v;e[9]!==t?(v=z=>{X.error(t("settings.decoCreditsHero.disconnectError",{message:z.message}))},e[9]=t,e[10]=v):v=e[10];let C;e[11]!==x||e[12]!==u||e[13]!==v?(C={mutationFn:x,onSuccess:u,onError:v},e[11]=x,e[12]=u,e[13]=v,e[14]=C):C=e[14];const{mutate:y,isPending:h}=ie(C);if(!l)return null;let j;e[15]!==t?(j=t("settings.decoCreditsHero.title"),e[15]=t,e[16]=j):j=e[16];let N;e[17]!==t?(N=t("settings.decoCreditsHero.decoAiGatewayAlt"),e[17]=t,e[18]=N):N=e[18];let w;e[19]!==N?(w=s.jsx("div",{className:"flex items-center gap-3",children:s.jsx("img",{src:"/logos/deco%20logo.svg",alt:N,className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"})}),e[19]=N,e[20]=w):w=e[20];let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=()=>a(!0),e[21]=m):m=e[21];let b;e[22]!==t?(b=t("settings.decoCreditsHero.disconnect"),e[22]=t,e[23]=b):b=e[23];let S;e[24]!==h||e[25]!==b?(S=s.jsx(W,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive",onClick:m,disabled:h,children:b}),e[24]=h,e[25]=b,e[26]=S):S=e[26];let p;e[27]!==S||e[28]!==w?(p=s.jsxs("div",{className:"flex items-center justify-between",children:[w,S]}),e[27]=S,e[28]=w,e[29]=p):p=e[29];let P;e[30]!==t?(P=t("settings.decoCreditsHero.disconnectTitle"),e[30]=t,e[31]=P):P=e[31];let I;e[32]!==P?(I=s.jsx(je,{children:P}),e[32]=P,e[33]=I):I=e[33];let k;e[34]!==t?(k=t("settings.decoCreditsHero.disconnectDescription"),e[34]=t,e[35]=k):k=e[35];let T;e[36]!==k?(T=s.jsx(ye,{children:k}),e[36]=k,e[37]=T):T=e[37];let A;e[38]!==I||e[39]!==T?(A=s.jsxs(Ne,{children:[I,T]}),e[38]=I,e[39]=T,e[40]=A):A=e[40];let U;e[41]!==t?(U=t("settings.decoCreditsHero.cancelButton"),e[41]=t,e[42]=U):U=e[42];let E;e[43]!==U?(E=s.jsx(Se,{children:U}),e[43]=U,e[44]=E):E=e[44];let R;e[45]!==y?(R=()=>y(),e[45]=y,e[46]=R):R=e[46];let $;e[47]!==t?($=t("settings.decoCreditsHero.disconnectButton"),e[47]=t,e[48]=$):$=e[48];let q;e[49]!==R||e[50]!==$?(q=s.jsx(Ce,{onClick:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$}),e[49]=R,e[50]=$,e[51]=q):q=e[51];let O;e[52]!==E||e[53]!==q?(O=s.jsxs(Pe,{children:[E,q]}),e[52]=E,e[53]=q,e[54]=O):O=e[54];let F;e[55]!==A||e[56]!==O?(F=s.jsxs(_e,{children:[A,O]}),e[55]=A,e[56]=O,e[57]=F):F=e[57];let L;e[58]!==f||e[59]!==F?(L=s.jsx(Ie,{open:f,onOpenChange:a,children:F}),e[58]=f,e[59]=F,e[60]=L):L=e[60];const H=!d;let D;e[61]!==H?(D=s.jsx(ss,{enabled:H}),e[61]=H,e[62]=D):D=e[62];let _;e[63]!==g||e[64]!==t?(_=g?s.jsxs("div",{className:"pt-4 border-t border-border/60",children:[s.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2.5",children:t("settings.decoCreditsHero.addCredits")}),s.jsx(Xe,{})]}):null,e[63]=g,e[64]=t,e[65]=_):_=e[65];let M;e[66]!==p||e[67]!==L||e[68]!==D||e[69]!==_?(M=s.jsx(de,{children:s.jsxs("div",{className:"px-5 py-5 flex flex-col gap-5",children:[p,L,D,_]})}),e[66]=p,e[67]=L,e[68]=D,e[69]=_,e[70]=M):M=e[70];let B;return e[71]!==M||e[72]!==j?(B=s.jsx(ae,{title:j,children:M}),e[71]=M,e[72]=j,e[73]=B):B=e[73],B}function ls(e){return e.providerId==="deco"}var ke="Progress",De=100,[rs]=it(ke),[ns,as]=rs(ke),Ze=G.forwardRef((e,t)=>{const{__scopeProgress:i,value:r=null,max:o,getValueLabel:n=os,...c}=e;(o||o===0)&&!Te(o)&&console.error(cs(`${o}`,"Progress"));const l=Te(o)?o:De;r!==null&&!Re(r,l)&&console.error(ds(`${r}`,"Progress"));const d=Re(r,l)?r:null,g=fe(d)?n(d,l):void 0;return s.jsx(ns,{scope:i,value:d,max:l,children:s.jsx(Be.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":fe(d)?d:void 0,"aria-valuetext":g,role:"progressbar","data-state":tt(d,l),"data-value":d??void 0,"data-max":l,...c,ref:t})})});Ze.displayName=ke;var Je="ProgressIndicator",et=G.forwardRef((e,t)=>{const{__scopeProgress:i,...r}=e,o=as(Je,i);return s.jsx(Be.div,{"data-state":tt(o.value,o.max),"data-value":o.value??void 0,"data-max":o.max,...r,ref:t})});et.displayName=Je;function os(e,t){return`${Math.round(e/t*100)}%`}function tt(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function fe(e){return typeof e=="number"}function Te(e){return fe(e)&&!isNaN(e)&&e>0}function Re(e,t){return fe(e)&&!isNaN(e)&&e<=t&&e>=0}function cs(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${De}\`.`}function ds(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
2
2
  - a positive number
3
3
  - less than the value passed to \`max\` (or ${De} if no \`max\` prop is set)
4
4
  - \`null\` or \`undefined\` if the progress is indeterminate.
@@ -1 +1 @@
1
- import{c as n,l as o,j as c,aF as d}from"./index-B9-heAAa.js";const u=d("relative w-full rounded-lg border px-4 py-3 text-sm flex items-start gap-3 [&>svg]:size-4 [&>svg]:flex-shrink-0 [&>svg]:mt-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-destructive/5 text-destructive border-destructive/25 [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-warning/10 text-warning-foreground border-warning [&>svg]:text-current *:data-[slot=alert-description]:text-warning-foreground/90",success:"bg-success/10 text-success-foreground border-success [&>svg]:text-current *:data-[slot=alert-description]:text-success-foreground/90",info:"bg-card text-card-foreground border-border [&>svg]:text-current *:data-[slot=alert-description]:text-muted-foreground/90"}},defaultVariants:{variant:"default"}});function f(l){const e=n.c(10);let t,r,s;e[0]!==l?({className:t,variant:s,...r}=l,e[0]=l,e[1]=t,e[2]=r,e[3]=s):(t=e[1],r=e[2],s=e[3]);let a;e[4]!==t||e[5]!==s?(a=o(u({variant:s}),t),e[4]=t,e[5]=s,e[6]=a):a=e[6];let i;return e[7]!==r||e[8]!==a?(i=c.jsx("div",{"data-slot":"alert",role:"alert",className:a,...r}),e[7]=r,e[8]=a,e[9]=i):i=e[9],i}function x(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("line-clamp-1 min-h-4 font-medium tracking-tight",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-title",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}function v(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("text-muted-foreground leading-relaxed",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-description",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}export{v as A,f as a,x as b};
1
+ import{c as n,l as o,j as c,aF as d}from"./index-Dn-pE_oF.js";const u=d("relative w-full rounded-lg border px-4 py-3 text-sm flex items-start gap-3 [&>svg]:size-4 [&>svg]:flex-shrink-0 [&>svg]:mt-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-destructive/5 text-destructive border-destructive/25 [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-warning/10 text-warning-foreground border-warning [&>svg]:text-current *:data-[slot=alert-description]:text-warning-foreground/90",success:"bg-success/10 text-success-foreground border-success [&>svg]:text-current *:data-[slot=alert-description]:text-success-foreground/90",info:"bg-card text-card-foreground border-border [&>svg]:text-current *:data-[slot=alert-description]:text-muted-foreground/90"}},defaultVariants:{variant:"default"}});function f(l){const e=n.c(10);let t,r,s;e[0]!==l?({className:t,variant:s,...r}=l,e[0]=l,e[1]=t,e[2]=r,e[3]=s):(t=e[1],r=e[2],s=e[3]);let a;e[4]!==t||e[5]!==s?(a=o(u({variant:s}),t),e[4]=t,e[5]=s,e[6]=a):a=e[6];let i;return e[7]!==r||e[8]!==a?(i=c.jsx("div",{"data-slot":"alert",role:"alert",className:a,...r}),e[7]=r,e[8]=a,e[9]=i):i=e[9],i}function x(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("line-clamp-1 min-h-4 font-medium tracking-tight",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-title",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}function v(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("text-muted-foreground leading-relaxed",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-description",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}export{v as A,f as a,x as b};
@@ -1,4 +1,4 @@
1
- import{j as r,bf as w,r as i,bm as m,da as T,as as O,bp as M,bg as I,bh as F,bl as A,db as v,bi as z,dc as L,bF as k,bj as G,bk as H,c as n,l as p,av as D}from"./index-B9-heAAa.js";var x="AlertDialog",[V]=k(x,[v]),d=v(),N=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(w,{...a,...t,modal:!0})};N.displayName=x;var W="AlertDialogTrigger",Y=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(G,{...o,...a,ref:e})});Y.displayName=W;var q="AlertDialogPortal",b=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(z,{...a,...t})};b.displayName=q;var B="AlertDialogOverlay",y=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(H,{...o,...a,ref:e})});y.displayName=B;var f="AlertDialogContent",[J,K]=V(f),Q=L("AlertDialogContent"),j=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,children:a,...o}=l,s=d(t),c=i.useRef(null),P=m(e,c),u=i.useRef(null);return r.jsx(T,{contentName:f,titleName:_,docsSlug:"alert-dialog",children:r.jsx(J,{scope:t,cancelRef:u,children:r.jsxs(O,{role:"alertdialog",...s,...o,ref:P,onOpenAutoFocus:M(o.onOpenAutoFocus,g=>{g.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[r.jsx(Q,{children:a}),r.jsx(X,{contentRef:c})]})})})});j.displayName=f;var _="AlertDialogTitle",h=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(I,{...o,...a,ref:e})});h.displayName=_;var E="AlertDialogDescription",R=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(F,{...o,...a,ref:e})});R.displayName=E;var U="AlertDialogAction",C=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(A,{...o,...a,ref:e})});C.displayName=U;var $="AlertDialogCancel",S=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,{cancelRef:o}=K($,t),s=d(t),c=m(e,o);return r.jsx(A,{...s,...a,ref:c})});S.displayName=$;var X=({contentRef:l})=>{const e=`\`${f}\` requires a description for the component to be accessible for screen reader users.
1
+ import{j as r,bf as w,r as i,bm as m,da as T,as as O,bp as M,bg as I,bh as F,bl as A,db as v,bi as z,dc as L,bF as k,bj as G,bk as H,c as n,l as p,av as D}from"./index-Dn-pE_oF.js";var x="AlertDialog",[V]=k(x,[v]),d=v(),N=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(w,{...a,...t,modal:!0})};N.displayName=x;var W="AlertDialogTrigger",Y=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(G,{...o,...a,ref:e})});Y.displayName=W;var q="AlertDialogPortal",b=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(z,{...a,...t})};b.displayName=q;var B="AlertDialogOverlay",y=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(H,{...o,...a,ref:e})});y.displayName=B;var f="AlertDialogContent",[J,K]=V(f),Q=L("AlertDialogContent"),j=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,children:a,...o}=l,s=d(t),c=i.useRef(null),P=m(e,c),u=i.useRef(null);return r.jsx(T,{contentName:f,titleName:_,docsSlug:"alert-dialog",children:r.jsx(J,{scope:t,cancelRef:u,children:r.jsxs(O,{role:"alertdialog",...s,...o,ref:P,onOpenAutoFocus:M(o.onOpenAutoFocus,g=>{g.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[r.jsx(Q,{children:a}),r.jsx(X,{contentRef:c})]})})})});j.displayName=f;var _="AlertDialogTitle",h=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(I,{...o,...a,ref:e})});h.displayName=_;var E="AlertDialogDescription",R=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(F,{...o,...a,ref:e})});R.displayName=E;var U="AlertDialogAction",C=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(A,{...o,...a,ref:e})});C.displayName=U;var $="AlertDialogCancel",S=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,{cancelRef:o}=K($,t),s=d(t),c=m(e,o);return r.jsx(A,{...s,...a,ref:c})});S.displayName=$;var X=({contentRef:l})=>{const e=`\`${f}\` requires a description for the component to be accessible for screen reader users.
2
2
 
3
3
  You can add a description to the \`${f}\` by passing a \`${E}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
4
 
@@ -1 +1 @@
1
- import{c as A,a0 as Q,z as R,K as Y,m as ce,o as J,e as U,j as i,fr as de,b as F,r as O,dW as me,eL as W,B as v,t as q}from"./index-B9-heAAa.js";import{i as fe}from"./AlertCircle-D3eYSD-F.js";import{a as ue}from"./Copy01-DqrZOvVi.js";import{i as V}from"./Key01-BB4eK9Eq.js";import{s as X}from"./Plus-CFFsuHFf.js";import{s as ge}from"./Trash01-Desmqajq.js";import{f as pe,e as ye,b as xe,A as he,a as je,d as Ke,c as Ce,g as be}from"./alert-dialog-DqO-3R76.js";import{d as Z,h as ee,c as te,e as se,b as ie,D as ne}from"./dialog-BG4c8Ew3.js";import{I as le}from"./input-D7UnEeXl.js";import{L as De}from"./label-BO4yFijb.js";import{u as H}from"./use-mcp-client-QkBFbC3f.js";function M(t,e){if(t?.isError)throw new Error(t.content?.[0]?.text??e);if(!t.structuredContent)throw new Error(e);return t.structuredContent}function Ae(t){const e=A.c(11),{org:a}=Q();let r;e[0]!==a.id||e[1]!==a.slug?(r={connectionId:R,orgId:a.id,orgSlug:a.slug},e[0]=a.id,e[1]=a.slug,e[2]=r):r=e[2];const l=H(r);let s;e[3]!==a.id?(s=Y.apiKeysList(a.id),e[3]=a.id,e[4]=s):s=e[4];let n;e[5]!==l?(n=async()=>{const d=await l.callTool({name:"API_KEY_LIST",arguments:{}});return M(d,"Failed to list API keys").items},e[5]=l,e[6]=n):n=e[6];const c=t?.enabled??!0;let o;return e[7]!==s||e[8]!==n||e[9]!==c?(o={queryKey:s,queryFn:n,staleTime:3e4,enabled:c},e[7]=s,e[8]=n,e[9]=c,e[10]=o):o=e[10],ce(o)}function Se(){const t=A.c(11),{org:e}=Q();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:R,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_CREATE",arguments:{name:o.name,permissions:o.permissions??{"*":["*"]}}});return M(d,"Failed to create API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],U(c)}function ve(){const t=A.c(11),{org:e}=Q();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:R,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:o}});return M(d,"Failed to delete API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],U(c)}function ae(t){const e=A.c(6),{error:a}=t,r=F();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(fe,{size:16}),e[0]=l):l=e[0];let s;e[1]!==a.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:a.message}),e[1]=a.message,e[2]=r,e[3]=s):s=e[3];let n;return e[4]!==s?(n=i.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,i.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=n):n=e[5],n}function Ne(t){const e=A.c(20),{apiKey:a,onDelete:r}=t,l=F();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:i.jsx(V,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let n;e[1]!==a.name?(n=i.jsx("span",{className:"font-medium text-sm truncate block",children:a.name}),e[1]=a.name,e[2]=n):n=e[2];let c;e[3]!==a.createdAt||e[4]!==l?(c=l("settings.apiKeys.createdAt",{date:new Date(a.createdAt).toLocaleDateString()}),e[3]=a.createdAt,e[4]=l,e[5]=c):c=e[5];let o;e[6]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:c}),e[6]=c,e[7]=o):o=e[7];let d;e[8]!==n||e[9]!==o?(d=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s,i.jsxs("div",{className:"min-w-0",children:[n,o]})]}),e[8]=n,e[9]=o,e[10]=d):d=e[10];let m;e[11]!==l?(m=l("settings.apiKeys.deleteKey"),e[11]=l,e[12]=m):m=e[12];let u;e[13]===Symbol.for("react.memo_cache_sentinel")?(u=i.jsx(ge,{size:14}),e[13]=u):u=e[13];let g;e[14]!==r||e[15]!==m?(g=i.jsx(v,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:r,"aria-label":m,children:u}),e[14]=r,e[15]=m,e[16]=g):g=e[16];let f;return e[17]!==d||e[18]!==g?(f=i.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[d,g]}),e[17]=d,e[18]=g,e[19]=f):f=e[19],f}function we(t){const e=A.c(21),{onCreate:a}=t,r=F();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:i.jsx(V,{size:20,className:"text-muted-foreground"})}),e[0]=l):l=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let n;e[3]!==s?(n=i.jsx("p",{className:"font-medium text-sm",children:s}),e[3]=s,e[4]=n):n=e[4];let c;e[5]!==r?(c=r("settings.apiKeys.emptyDescription"),e[5]=r,e[6]=c):c=e[6];let o;e[7]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:c}),e[7]=c,e[8]=o):o=e[8];let d;e[9]!==n||e[10]!==o?(d=i.jsxs("div",{children:[n,o]}),e[9]=n,e[10]=o,e[11]=d):d=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=i.jsx(X,{size:14}),e[12]=m):m=e[12];let u;e[13]!==r?(u=r("settings.apiKeys.newKey"),e[13]=r,e[14]=u):u=e[14];let g;e[15]!==a||e[16]!==u?(g=i.jsxs(v,{onClick:a,size:"sm",className:"mt-2",children:[m,u]}),e[15]=a,e[16]=u,e[17]=g):g=e[17];let f;return e[18]!==d||e[19]!==g?(f=i.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[l,d,g]}),e[18]=d,e[19]=g,e[20]=f):f=e[20],f}function _e(t){const e=A.c(40),{createdKey:a,onClose:r}=t,l=F(),s=a!==null;let n;e[0]!==r?(n=S=>!S&&r(),e[0]=r,e[1]=n):n=e[1];let c;e[2]!==l?(c=l("settings.apiKeys.createdTitle"),e[2]=l,e[3]=c):c=e[3];let o;e[4]!==c?(o=i.jsx(Z,{children:c}),e[4]=c,e[5]=o):o=e[5];let d;e[6]!==l?(d=l("settings.apiKeys.createdDescription"),e[6]=l,e[7]=d):d=e[7];let m;e[8]!==d?(m=i.jsx(ee,{children:d}),e[8]=d,e[9]=m):m=e[9];let u;e[10]!==o||e[11]!==m?(u=i.jsxs(te,{children:[o,m]}),e[10]=o,e[11]=m,e[12]=u):u=e[12];const g=a?.key??"";let f;e[13]!==g?(f=i.jsx(le,{readOnly:!0,value:g,className:"font-mono text-xs"}),e[13]=g,e[14]=f):f=e[14];let p;e[15]!==a||e[16]!==l?(p=()=>{a&&(navigator.clipboard?.writeText(a.key),q.success(l("settings.apiKeys.copied")))},e[15]=a,e[16]=l,e[17]=p):p=e[17];let y;e[18]!==l?(y=l("settings.apiKeys.copyKey"),e[18]=l,e[19]=y):y=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=i.jsx(ue,{size:14}),e[20]=C):C=e[20];let x;e[21]!==p||e[22]!==y?(x=i.jsx(v,{type:"button",variant:"outline",size:"icon",onClick:p,"aria-label":y,children:C}),e[21]=p,e[22]=y,e[23]=x):x=e[23];let h;e[24]!==x||e[25]!==f?(h=i.jsxs("div",{className:"flex items-center gap-2",children:[f,x]}),e[24]=x,e[25]=f,e[26]=h):h=e[26];let j;e[27]!==l?(j=l("settings.apiKeys.done"),e[27]=l,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=i.jsx(se,{children:i.jsx(v,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let b;e[32]!==h||e[33]!==K||e[34]!==u?(b=i.jsxs(ie,{className:"sm:max-w-lg",children:[u,h,K]}),e[32]=h,e[33]=K,e[34]=u,e[35]=b):b=e[35];let D;return e[36]!==s||e[37]!==b||e[38]!==n?(D=i.jsx(ne,{open:s,onOpenChange:n,children:b}),e[36]=s,e[37]=b,e[38]=n,e[39]=D):D=e[39],D}function Pe(t){const e=A.c(64),{open:a,onOpenChange:r,onCreated:l}=t,s=F(),[n,c]=O.useState(""),o=Se();let d;e[0]!==r?(d=function(){c(""),r(!1)},e[0]=r,e[1]=d):d=e[1];const m=d;let u;e[2]!==o||e[3]!==m||e[4]!==n||e[5]!==l||e[6]!==s?(u=async function(oe){if(oe.preventDefault(),!!n.trim())try{const B=await o.mutateAsync({name:n.trim()});m(),l(B)}catch(B){const G=B;q.error(G instanceof Error?G.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=o,e[3]=m,e[4]=n,e[5]=l,e[6]=s,e[7]=u):u=e[7];const g=u;let f;e[8]!==m||e[9]!==r?(f=z=>{z?r(z):m()},e[8]=m,e[9]=r,e[10]=f):f=e[10];let p;e[11]!==s?(p=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=p):p=e[12];let y;e[13]!==p?(y=i.jsx(Z,{children:p}),e[13]=p,e[14]=y):y=e[14];let C;e[15]!==s?(C=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=C):C=e[16];let x;e[17]!==C?(x=i.jsx(ee,{children:C}),e[17]=C,e[18]=x):x=e[18];let h;e[19]!==y||e[20]!==x?(h=i.jsxs(te,{children:[y,x]}),e[19]=y,e[20]=x,e[21]=h):h=e[21];let j;e[22]!==s?(j=s("settings.apiKeys.nameLabel"),e[22]=s,e[23]=j):j=e[23];let K;e[24]!==j?(K=i.jsx(De,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let b;e[26]===Symbol.for("react.memo_cache_sentinel")?(b=z=>c(z.target.value),e[26]=b):b=e[26];let D;e[27]!==s?(D=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=D):D=e[28];let S;e[29]!==n||e[30]!==D?(S=i.jsx(le,{id:"api-key-name",value:n,onChange:b,placeholder:D,autoComplete:"off",required:!0}),e[29]=n,e[30]=D,e[31]=S):S=e[31];let N;e[32]!==K||e[33]!==S?(N=i.jsxs("div",{className:"space-y-1.5",children:[K,S]}),e[32]=K,e[33]=S,e[34]=N):N=e[34];const re=o.isPending;let w;e[35]!==s?(w=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=w):w=e[36];let _;e[37]!==o.isPending||e[38]!==m||e[39]!==w?(_=i.jsx(v,{type:"button",variant:"outline",onClick:m,disabled:re,children:w}),e[37]=o.isPending,e[38]=m,e[39]=w,e[40]=_):_=e[40];let P;e[41]!==o.isPending||e[42]!==n?(P=o.isPending||!n.trim(),e[41]=o.isPending,e[42]=n,e[43]=P):P=e[43];let E;e[44]!==o.isPending||e[45]!==s?(E=o.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=o.isPending,e[45]=s,e[46]=E):E=e[46];let T;e[47]!==P||e[48]!==E?(T=i.jsx(v,{type:"submit",disabled:P,children:E}),e[47]=P,e[48]=E,e[49]=T):T=e[49];let k;e[50]!==_||e[51]!==T?(k=i.jsxs(se,{children:[_,T]}),e[50]=_,e[51]=T,e[52]=k):k=e[52];let I;e[53]!==g||e[54]!==N||e[55]!==k?(I=i.jsxs("form",{onSubmit:g,className:"space-y-4",children:[N,k]}),e[53]=g,e[54]=N,e[55]=k,e[56]=I):I=e[56];let L;e[57]!==I||e[58]!==h?(L=i.jsxs(ie,{className:"sm:max-w-lg",children:[h,I]}),e[57]=I,e[58]=h,e[59]=L):L=e[59];let $;return e[60]!==a||e[61]!==L||e[62]!==f?($=i.jsx(ne,{open:a,onOpenChange:f,children:L}),e[60]=a,e[61]=L,e[62]=f,e[63]=$):$=e[63],$}function Ee(){const t=F(),{data:e,isLoading:a,error:r}=Ae(),l=ve(),[s,n]=O.useState(!1),[c,o]=O.useState(null),[d,m]=O.useState(null),u=e??[];async function g(){if(d)try{await l.mutateAsync(d.id),q.success(t("settings.apiKeys.keyDeleted",{name:d.name}))}catch(f){q.error(f instanceof Error?f.message:t("settings.apiKeys.failedToDeleteKey"))}finally{m(null)}}return i.jsxs(me,{headerClassName:"px-0",title:t("settings.apiKeys.sectionTitle"),description:t("settings.apiKeys.sectionDescription"),actions:u.length>0?i.jsxs(v,{onClick:()=>n(!0),size:"sm",children:[i.jsx(X,{size:14}),t("settings.apiKeys.newKey")]}):void 0,children:[a?i.jsx(W,{className:"gap-0 overflow-hidden p-0",children:i.jsx("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:t("settings.apiKeys.loading")})}):r&&u.length===0?i.jsx(ae,{error:r}):u.length===0?i.jsx(we,{onCreate:()=>n(!0)}):i.jsx(W,{className:"gap-0 overflow-hidden p-0",children:i.jsx("ul",{className:"divide-y divide-border",children:u.map(f=>i.jsx(Ne,{apiKey:f,onDelete:()=>m(f)},f.id))})}),i.jsx(Pe,{open:s,onOpenChange:n,onCreated:o}),i.jsx(_e,{createdKey:c,onClose:()=>o(null)}),i.jsx(pe,{open:d!==null,onOpenChange:f=>{f||m(null)},children:i.jsxs(ye,{children:[i.jsxs(xe,{children:[i.jsx(he,{children:t("settings.apiKeys.deleteTitle",{name:d?.name??""})}),i.jsx(je,{children:t("settings.apiKeys.deleteDescription")})]}),i.jsxs(Ke,{children:[i.jsx(Ce,{children:t("settings.apiKeys.cancelButton")}),i.jsx(be,{onClick:g,children:t("settings.apiKeys.deleteKey")})]})]})})]})}function Ye(){const t=A.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(de,{group:"connect",errorFallback:Te,children:i.jsx(Ee,{})}),t[0]=e):e=t[0],e}function Te(t){const{error:e}=t;return i.jsx(ae,{error:e??new Error("Failed to load API keys")})}export{Ee as A,Ye as O,Ae as a,Se as u};
1
+ import{c as A,a0 as Q,z as R,K as Y,m as ce,o as J,e as U,j as i,fr as de,b as F,r as O,dW as me,eL as W,B as v,t as q}from"./index-Dn-pE_oF.js";import{i as fe}from"./AlertCircle-1_aD--dB.js";import{a as ue}from"./Copy01-BjLGbqnG.js";import{i as V}from"./Key01-BkaZy7Ah.js";import{s as X}from"./Plus-DWnlhQEG.js";import{s as ge}from"./Trash01-CDngQkql.js";import{f as pe,e as ye,b as xe,A as he,a as je,d as Ke,c as Ce,g as be}from"./alert-dialog-CVY7NpNS.js";import{d as Z,h as ee,c as te,e as se,b as ie,D as ne}from"./dialog-Dl5zPv9e.js";import{I as le}from"./input-DfvK3BvZ.js";import{L as De}from"./label-nMs4JvQM.js";import{u as H}from"./use-mcp-client-ixAVEgas.js";function M(t,e){if(t?.isError)throw new Error(t.content?.[0]?.text??e);if(!t.structuredContent)throw new Error(e);return t.structuredContent}function Ae(t){const e=A.c(11),{org:a}=Q();let r;e[0]!==a.id||e[1]!==a.slug?(r={connectionId:R,orgId:a.id,orgSlug:a.slug},e[0]=a.id,e[1]=a.slug,e[2]=r):r=e[2];const l=H(r);let s;e[3]!==a.id?(s=Y.apiKeysList(a.id),e[3]=a.id,e[4]=s):s=e[4];let n;e[5]!==l?(n=async()=>{const d=await l.callTool({name:"API_KEY_LIST",arguments:{}});return M(d,"Failed to list API keys").items},e[5]=l,e[6]=n):n=e[6];const c=t?.enabled??!0;let o;return e[7]!==s||e[8]!==n||e[9]!==c?(o={queryKey:s,queryFn:n,staleTime:3e4,enabled:c},e[7]=s,e[8]=n,e[9]=c,e[10]=o):o=e[10],ce(o)}function Se(){const t=A.c(11),{org:e}=Q();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:R,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_CREATE",arguments:{name:o.name,permissions:o.permissions??{"*":["*"]}}});return M(d,"Failed to create API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],U(c)}function ve(){const t=A.c(11),{org:e}=Q();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:R,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=J();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:o}});return M(d,"Failed to delete API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],U(c)}function ae(t){const e=A.c(6),{error:a}=t,r=F();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(fe,{size:16}),e[0]=l):l=e[0];let s;e[1]!==a.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:a.message}),e[1]=a.message,e[2]=r,e[3]=s):s=e[3];let n;return e[4]!==s?(n=i.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,i.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=n):n=e[5],n}function Ne(t){const e=A.c(20),{apiKey:a,onDelete:r}=t,l=F();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:i.jsx(V,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let n;e[1]!==a.name?(n=i.jsx("span",{className:"font-medium text-sm truncate block",children:a.name}),e[1]=a.name,e[2]=n):n=e[2];let c;e[3]!==a.createdAt||e[4]!==l?(c=l("settings.apiKeys.createdAt",{date:new Date(a.createdAt).toLocaleDateString()}),e[3]=a.createdAt,e[4]=l,e[5]=c):c=e[5];let o;e[6]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:c}),e[6]=c,e[7]=o):o=e[7];let d;e[8]!==n||e[9]!==o?(d=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s,i.jsxs("div",{className:"min-w-0",children:[n,o]})]}),e[8]=n,e[9]=o,e[10]=d):d=e[10];let m;e[11]!==l?(m=l("settings.apiKeys.deleteKey"),e[11]=l,e[12]=m):m=e[12];let u;e[13]===Symbol.for("react.memo_cache_sentinel")?(u=i.jsx(ge,{size:14}),e[13]=u):u=e[13];let g;e[14]!==r||e[15]!==m?(g=i.jsx(v,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:r,"aria-label":m,children:u}),e[14]=r,e[15]=m,e[16]=g):g=e[16];let f;return e[17]!==d||e[18]!==g?(f=i.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[d,g]}),e[17]=d,e[18]=g,e[19]=f):f=e[19],f}function we(t){const e=A.c(21),{onCreate:a}=t,r=F();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:i.jsx(V,{size:20,className:"text-muted-foreground"})}),e[0]=l):l=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let n;e[3]!==s?(n=i.jsx("p",{className:"font-medium text-sm",children:s}),e[3]=s,e[4]=n):n=e[4];let c;e[5]!==r?(c=r("settings.apiKeys.emptyDescription"),e[5]=r,e[6]=c):c=e[6];let o;e[7]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:c}),e[7]=c,e[8]=o):o=e[8];let d;e[9]!==n||e[10]!==o?(d=i.jsxs("div",{children:[n,o]}),e[9]=n,e[10]=o,e[11]=d):d=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=i.jsx(X,{size:14}),e[12]=m):m=e[12];let u;e[13]!==r?(u=r("settings.apiKeys.newKey"),e[13]=r,e[14]=u):u=e[14];let g;e[15]!==a||e[16]!==u?(g=i.jsxs(v,{onClick:a,size:"sm",className:"mt-2",children:[m,u]}),e[15]=a,e[16]=u,e[17]=g):g=e[17];let f;return e[18]!==d||e[19]!==g?(f=i.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[l,d,g]}),e[18]=d,e[19]=g,e[20]=f):f=e[20],f}function _e(t){const e=A.c(40),{createdKey:a,onClose:r}=t,l=F(),s=a!==null;let n;e[0]!==r?(n=S=>!S&&r(),e[0]=r,e[1]=n):n=e[1];let c;e[2]!==l?(c=l("settings.apiKeys.createdTitle"),e[2]=l,e[3]=c):c=e[3];let o;e[4]!==c?(o=i.jsx(Z,{children:c}),e[4]=c,e[5]=o):o=e[5];let d;e[6]!==l?(d=l("settings.apiKeys.createdDescription"),e[6]=l,e[7]=d):d=e[7];let m;e[8]!==d?(m=i.jsx(ee,{children:d}),e[8]=d,e[9]=m):m=e[9];let u;e[10]!==o||e[11]!==m?(u=i.jsxs(te,{children:[o,m]}),e[10]=o,e[11]=m,e[12]=u):u=e[12];const g=a?.key??"";let f;e[13]!==g?(f=i.jsx(le,{readOnly:!0,value:g,className:"font-mono text-xs"}),e[13]=g,e[14]=f):f=e[14];let p;e[15]!==a||e[16]!==l?(p=()=>{a&&(navigator.clipboard?.writeText(a.key),q.success(l("settings.apiKeys.copied")))},e[15]=a,e[16]=l,e[17]=p):p=e[17];let y;e[18]!==l?(y=l("settings.apiKeys.copyKey"),e[18]=l,e[19]=y):y=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=i.jsx(ue,{size:14}),e[20]=C):C=e[20];let x;e[21]!==p||e[22]!==y?(x=i.jsx(v,{type:"button",variant:"outline",size:"icon",onClick:p,"aria-label":y,children:C}),e[21]=p,e[22]=y,e[23]=x):x=e[23];let h;e[24]!==x||e[25]!==f?(h=i.jsxs("div",{className:"flex items-center gap-2",children:[f,x]}),e[24]=x,e[25]=f,e[26]=h):h=e[26];let j;e[27]!==l?(j=l("settings.apiKeys.done"),e[27]=l,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=i.jsx(se,{children:i.jsx(v,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let b;e[32]!==h||e[33]!==K||e[34]!==u?(b=i.jsxs(ie,{className:"sm:max-w-lg",children:[u,h,K]}),e[32]=h,e[33]=K,e[34]=u,e[35]=b):b=e[35];let D;return e[36]!==s||e[37]!==b||e[38]!==n?(D=i.jsx(ne,{open:s,onOpenChange:n,children:b}),e[36]=s,e[37]=b,e[38]=n,e[39]=D):D=e[39],D}function Pe(t){const e=A.c(64),{open:a,onOpenChange:r,onCreated:l}=t,s=F(),[n,c]=O.useState(""),o=Se();let d;e[0]!==r?(d=function(){c(""),r(!1)},e[0]=r,e[1]=d):d=e[1];const m=d;let u;e[2]!==o||e[3]!==m||e[4]!==n||e[5]!==l||e[6]!==s?(u=async function(oe){if(oe.preventDefault(),!!n.trim())try{const B=await o.mutateAsync({name:n.trim()});m(),l(B)}catch(B){const G=B;q.error(G instanceof Error?G.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=o,e[3]=m,e[4]=n,e[5]=l,e[6]=s,e[7]=u):u=e[7];const g=u;let f;e[8]!==m||e[9]!==r?(f=z=>{z?r(z):m()},e[8]=m,e[9]=r,e[10]=f):f=e[10];let p;e[11]!==s?(p=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=p):p=e[12];let y;e[13]!==p?(y=i.jsx(Z,{children:p}),e[13]=p,e[14]=y):y=e[14];let C;e[15]!==s?(C=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=C):C=e[16];let x;e[17]!==C?(x=i.jsx(ee,{children:C}),e[17]=C,e[18]=x):x=e[18];let h;e[19]!==y||e[20]!==x?(h=i.jsxs(te,{children:[y,x]}),e[19]=y,e[20]=x,e[21]=h):h=e[21];let j;e[22]!==s?(j=s("settings.apiKeys.nameLabel"),e[22]=s,e[23]=j):j=e[23];let K;e[24]!==j?(K=i.jsx(De,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let b;e[26]===Symbol.for("react.memo_cache_sentinel")?(b=z=>c(z.target.value),e[26]=b):b=e[26];let D;e[27]!==s?(D=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=D):D=e[28];let S;e[29]!==n||e[30]!==D?(S=i.jsx(le,{id:"api-key-name",value:n,onChange:b,placeholder:D,autoComplete:"off",required:!0}),e[29]=n,e[30]=D,e[31]=S):S=e[31];let N;e[32]!==K||e[33]!==S?(N=i.jsxs("div",{className:"space-y-1.5",children:[K,S]}),e[32]=K,e[33]=S,e[34]=N):N=e[34];const re=o.isPending;let w;e[35]!==s?(w=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=w):w=e[36];let _;e[37]!==o.isPending||e[38]!==m||e[39]!==w?(_=i.jsx(v,{type:"button",variant:"outline",onClick:m,disabled:re,children:w}),e[37]=o.isPending,e[38]=m,e[39]=w,e[40]=_):_=e[40];let P;e[41]!==o.isPending||e[42]!==n?(P=o.isPending||!n.trim(),e[41]=o.isPending,e[42]=n,e[43]=P):P=e[43];let E;e[44]!==o.isPending||e[45]!==s?(E=o.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=o.isPending,e[45]=s,e[46]=E):E=e[46];let T;e[47]!==P||e[48]!==E?(T=i.jsx(v,{type:"submit",disabled:P,children:E}),e[47]=P,e[48]=E,e[49]=T):T=e[49];let k;e[50]!==_||e[51]!==T?(k=i.jsxs(se,{children:[_,T]}),e[50]=_,e[51]=T,e[52]=k):k=e[52];let I;e[53]!==g||e[54]!==N||e[55]!==k?(I=i.jsxs("form",{onSubmit:g,className:"space-y-4",children:[N,k]}),e[53]=g,e[54]=N,e[55]=k,e[56]=I):I=e[56];let L;e[57]!==I||e[58]!==h?(L=i.jsxs(ie,{className:"sm:max-w-lg",children:[h,I]}),e[57]=I,e[58]=h,e[59]=L):L=e[59];let $;return e[60]!==a||e[61]!==L||e[62]!==f?($=i.jsx(ne,{open:a,onOpenChange:f,children:L}),e[60]=a,e[61]=L,e[62]=f,e[63]=$):$=e[63],$}function Ee(){const t=F(),{data:e,isLoading:a,error:r}=Ae(),l=ve(),[s,n]=O.useState(!1),[c,o]=O.useState(null),[d,m]=O.useState(null),u=e??[];async function g(){if(d)try{await l.mutateAsync(d.id),q.success(t("settings.apiKeys.keyDeleted",{name:d.name}))}catch(f){q.error(f instanceof Error?f.message:t("settings.apiKeys.failedToDeleteKey"))}finally{m(null)}}return i.jsxs(me,{headerClassName:"px-0",title:t("settings.apiKeys.sectionTitle"),description:t("settings.apiKeys.sectionDescription"),actions:u.length>0?i.jsxs(v,{onClick:()=>n(!0),size:"sm",children:[i.jsx(X,{size:14}),t("settings.apiKeys.newKey")]}):void 0,children:[a?i.jsx(W,{className:"gap-0 overflow-hidden p-0",children:i.jsx("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:t("settings.apiKeys.loading")})}):r&&u.length===0?i.jsx(ae,{error:r}):u.length===0?i.jsx(we,{onCreate:()=>n(!0)}):i.jsx(W,{className:"gap-0 overflow-hidden p-0",children:i.jsx("ul",{className:"divide-y divide-border",children:u.map(f=>i.jsx(Ne,{apiKey:f,onDelete:()=>m(f)},f.id))})}),i.jsx(Pe,{open:s,onOpenChange:n,onCreated:o}),i.jsx(_e,{createdKey:c,onClose:()=>o(null)}),i.jsx(pe,{open:d!==null,onOpenChange:f=>{f||m(null)},children:i.jsxs(ye,{children:[i.jsxs(xe,{children:[i.jsx(he,{children:t("settings.apiKeys.deleteTitle",{name:d?.name??""})}),i.jsx(je,{children:t("settings.apiKeys.deleteDescription")})]}),i.jsxs(Ke,{children:[i.jsx(Ce,{children:t("settings.apiKeys.cancelButton")}),i.jsx(be,{onClick:g,children:t("settings.apiKeys.deleteKey")})]})]})})]})}function Ye(){const t=A.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(de,{group:"connect",errorFallback:Te,children:i.jsx(Ee,{})}),t[0]=e):e=t[0],e}function Te(t){const{error:e}=t;return i.jsx(ae,{error:e??new Error("Failed to load API keys")})}export{Ee as A,Ye as O,Ae as a,Se as u};
@@ -0,0 +1 @@
1
+ import{c as o,j as r}from"./index-Dn-pE_oF.js";import{O as m}from"./api-keys-DhnkXPQZ.js";import{R as p}from"./require-capability-BUixtCV_.js";import"./AlertCircle-1_aD--dB.js";import"./Copy01-BjLGbqnG.js";import"./Key01-BkaZy7Ah.js";import"./Plus-DWnlhQEG.js";import"./Trash01-CDngQkql.js";import"./alert-dialog-CVY7NpNS.js";import"./dialog-Dl5zPv9e.js";import"./X-Cr1LzzwP.js";import"./input-DfvK3BvZ.js";import"./label-nMs4JvQM.js";import"./use-mcp-client-ixAVEgas.js";import"./auth-gLcu1CpT.js";import"./access-gate-DN6XyU54.js";import"./capability-load-error-Cdp84b5C.js";function A(){const t=o.c(1);let i;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(p,{capability:"api-keys:manage",area:"api-keys",children:r.jsx(m,{})}),t[0]=i):i=t[0],i}export{A as default};
@@ -0,0 +1 @@
1
+ import{c as jt,b as Bt,r as A,j as o,an as wt,l as _t,h as At,t as ht}from"./index-Dn-pE_oF.js";import{u as Et}from"./chat-context-B6h2xdo0.js";import{S as Nt}from"./scroll-area-DglU8OjO.js";import{u as Rt,A as Tt}from"./use-section-preview-base-DqYppapS.js";import{o as Ct}from"./claim-phase-copy-0btUuJoC.js";import{h as Kt,u as Pt,w as Ft,aM as Ot,x as Ut,d as $t,aN as It}from"./runnable-block-editor-DLCoyC1l.js";import{n as zt,r as Lt}from"./agent-site-editor-content-CHcFmRvs.js";import"./use-panel-navigate-BWSWcls2.js";import"./thread-route-DH7EC64o.js";import"./use-project-scope-BXLyS9dJ.js";import"./use-virtual-mcp-DpRXFoRT.js";import"./use-mcp-client-ixAVEgas.js";import"./auth-gLcu1CpT.js";import"./github-repo-BknN0SVI.js";import"./autosend-BcXsN51P.js";import"./thread-intent-DOmgYGxo.js";import"./slugify-CEUa2lfQ.js";import"./hooks-DvQkdYJL.js";import"./backoff-8mStPHYB.js";import"./task-board-DxUiBcDP.js";import"./schema-BJjGrX8W.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-entitlements-CJrgpU-3.js";import"./use-ai-providers-DUHhmQc6.js";import"./location-oTTXFrSF.js";import"./use-decopilot-events-7Ia-4Ojl.js";import"./use-organization-settings-BfcOMNYp.js";import"./select-CQa_dQzn.js";import"./index-CpZ_1mN7.js";import"./ChevronUp-C9Nhfb-x.js";import"./agent-icon-Ds4wUFQr.js";import"./AlertCircle-1_aD--dB.js";import"./Tool01-BOTbO9xX.js";import"./ArrowUp-CSKb51sC.js";import"./ArrowLeft-DbYZw4_2.js";import"./Tool02-CyM8jIXw.js";import"./ArrowRight-DNQSixjP.js";import"./TrendUp01-CsEPcUzR.js";import"./ZoomOut-D-FhOF2X.js";import"./Globe04-DFGUZ8EW.js";import"./CheckCircle-Cc6CY47i.js";import"./UserSquare-sbsbnvWo.js";import"./Copy01-BjLGbqnG.js";import"./CreditCard01-ByBlbqPe.js";import"./DotsVertical-Czhni7yG.js";import"./Download01-CDh7RxaN.js";import"./Settings02-S2K24EWO.js";import"./Eye-BKjf_vUO.js";import"./Share07-BaevX8Mw.js";import"./Globe01-k6r26TAV.js";import"./XClose-DA1jDjt_.js";import"./Image01-DpNFr3GM.js";import"./Key01-BkaZy7Ah.js";import"./LayoutLeft-D1fYrUGp.js";import"./Link01-D45u3Kwy.js";import"./LinkExternal01-CZLsVISw.js";import"./Monitor01-BjQTJmPT.js";import"./Sun-edqgTWqM.js";import"./Package-MW9FV2l6.js";import"./Palette-D2r_rP7A.js";import"./Play-CQYqv81V.js";import"./Plus-DWnlhQEG.js";import"./SearchLg-BeTAUTWq.js";import"./SearchMd-BCQ1CyGA.js";import"./Stars01-DxWX4pOr.js";import"./Trash01-CDngQkql.js";import"./Upload01-D48ElPif.js";import"./User01-CEit44ru.js";import"./Users01-Drj4BA_j.js";import"./XCircle-DoUWUf9d.js";import"./X-Cr1LzzwP.js";import"./Zap-C8hEZAXG.js";import"./dialog-Dl5zPv9e.js";import"./input-DfvK3BvZ.js";import"./section-preview-url-Csj0_ZDg.js";import"./use-session-runtime-BjRK3zxG.js";import"./decofile-api-xtxqfgRa.js";import"./utils-BcWFUEDf.js";import"./sandbox-url-D3mC8qhT.js";import"./sandbox-start-errors-BK_aDCyt.js";import"./pair-B93l5mBb.js";import"./format-time-BtXRrtv4.js";import"./differenceInSeconds-C3x8sHUj.js";import"./collapsible-1Kj_Hjxx.js";import"./use-copy-CIAIrC4p.js";import"./usage-stats-BrYXmxF3.js";import"./markdown-D50yVO4b.js";import"./org-file-open-context-bJmEvFz7.js";import"./use-mobile-cGAaNUys.js";import"./tooltip-C6ST3NpK.js";import"./content-blocks-o63cs2vh.js";import"./mcp-app-renderer-C46rwnJa.js";import"./types-CCxzQATz.js";import"./omit-sandbox-map-jj4lCB2U.js";import"./gateway-client-CSBLiew8.js";import"./tool-namespace-DmnQIdtF.js";import"./utils-CVEq3hMx.js";import"./shell-layout-Cu8BQ2YY.js";import"./avatar-qzN7CafM.js";import"./download-app-dialog-t4N-N3uU.js";import"./command-CApdc7tB.js";import"./index-Ci3mCUbP.js";import"./integration-icon-BbMj8xyp.js";import"./project-icon-DcxLNBvR.js";import"./required-auth-layout-c8IKViEL.js";import"./use-org-sso-Dv-UbNYl.js";import"./sheet-CFcU_I-W.js";import"./use-connection-zRPDIQ_n.js";import"./use-navigate-to-agent-BCAq2VrI.js";import"./use-mcp-prompts-2U0nS-wa.js";import"./index-CGR18BSj.js";import"./form-C_kDn5va.js";import"./label-nMs4JvQM.js";import"./use-thread-outputs-U4dosc_t.js";import"./file-type-icon-VOg1Vfy5.js";import"./popover-2ypE52tC.js";import"./monaco-editor-DwetGl4M.js";import"./editor-T3L5r0Fu.js";import"./calendar-CSr2hmIz.js";import"./textarea-DTACqjWS.js";import"./rich-text-link-control-Beqn4IaU.js";import"./switch-RF4lhbzX.js";import"./safe-image-url-D5z803Ot.js";import"./search-input-B0JWJqt0.js";import"./tabs-CpJgNx30.js";import"./use-debounced-value-B3_m5S__.js";import"./use-file-configs-BRGqSXQ6.js";import"./asset-utils-R2NmFVJk.js";import"./useInfiniteQuery-oFY--skC.js";import"./infiniteQueryObserver-ZTOME-Yd.js";import"./match-site-slug-config-D3fUJ6vX.js";import"./toggle-group-8GW330jn.js";import"./alert-dialog-CVY7NpNS.js";import"./sandbox-git-api-CMdpE2TE.js";import"./agent-view-guard-CiTb-IfK.js";import"./use-main-panel-tabs-Cskdmhh-.js";import"./use-route-default-main-Cqwf9yFF.js";import"./use-mcp-tools-IEW4h9lj.js";import"./index-DnDIM2xu.js";import"./drawer-CgkgucN1.js";import"./collection-search-CY6qtMl2.js";import"./input-CcdXXTty.js";import"./chat-draft-VxzhQrWJ.js";import"./use-deco-credits-B92-uMQD.js";import"./use-open-billing-url-CqH0MvxG.js";import"./decopilot-BgEg3OT6.js";import"./checkbox-CeU6IqeR.js";import"./ai-providers-logos-DD3qZ33J.js";import"./index-WCc3fcxd.js";import"./input-B4lbwedr.js";import"./hooks-B2mYVhP_.js";import"./use-org-fs-DES7wpqb.js";import"./question-004-sINsf4GQ.js";import"./use-members-CthmHZKF.js";import"./use-org-auth-client-CLrcF9If.js";import"./feature-paywall-DlNMP7aX.js";import"./plan-ladder--9AA86Vw.js";import"./add-connection-dialog-B2QrTqPz.js";import"./extract-connection-data-DcLFWp9p.js";import"./metadata-dUsYcpuu.js";import"./github-D4UJ99TO.js";import"./connection-DHsoRZa4.js";import"./connection-card-B4Lfzhnd.js";import"./use-registry-connections-D-bmaapw.js";import"./retry-i8LvYSZg.js";import"./connection-slug-CITJ0kGN.js";import"./connection-form-helpers-Do68AahQ.js";import"./authenticate-and-persist-oauth-w1UaCnqr.js";import"./mcp-oauth-D9zitCdn.js";import"./collection-tabs-C75WAB0u.js";import"./badge-Jn9rjNBm.js";import"./use-infinite-scroll-CWZ-jt-q.js";import"./useSuspenseInfiniteQuery-CeJnbkNg.js";import"./sandbox-lifecycle-context-BElwiIKp.js";import"./use-task-metadata-DoKY3xZE.js";import"./use-project-native-view-presence-D4KcE4ZV.js";import"./site-slug-uya6Wp4-.js";import"./virtual-mcp-BPECS6-J.js";import"./feature-gate-B-yrcMj6.js";import"./mustache-wFLLi-RJ.js";import"./empty-state-CKSGQb76.js";import"./github-icon-DVQ1NwUu.js";import"./repository-import-picker-CC5rjGza.js";import"./repository-picker-oVfzv-hF.js";function Vt(n,t){const m=(n.title||n.resolveType.split("/").pop()||"").replace(/\.(tsx?|jsx?)$/,"").replace(/[^A-Za-z0-9_-]/g,""),i=/^[A-Za-z]/.test(m)&&m.length>0?m:"Section",p=zt(t,i);return{blockKey:p,data:{__resolveType:n.resolveType,name:p}}}function fi(n){const t=jt.c(79),{orgSlug:m,virtualMcpId:i,branch:p,blockKey:s,block:x,meta:a,decofile:l,title:bt,excludeFields:Z,schemaPending:lt,previewBaseUrl:ct}=n,D=lt===void 0?!1:lt,H=ct===void 0?null:ct,G=Et()?.taskId??null,c=Bt();let N;t[0]!==H||t[1]!==i?(N={virtualMcpId:i,sandboxUrl:H},t[0]=H,t[1]=i,t[2]=N):N=t[2];const h=Rt(N),v=typeof x?.__resolveType=="string"?x.__resolveType:"";let R;t[3]!==Z||t[4]!==a||t[5]!==v?(R=Lt(v,a,Z),t[3]=Z,t[4]=a,t[5]=v,t[6]=R):R=t[6];const b=R;let T;t[7]!==b?(T=!!b&&Object.keys(b.properties??{}).length>0,t[7]=b,t[8]=T):T=t[8];const J=T,dt=bt??(x?Ct(s,x,a):s);let C;t[9]!==p||t[10]!==m||t[11]!==i?(C={orgSlug:m,virtualMcpId:i,branch:p},t[9]=p,t[10]=m,t[11]=i,t[12]=C):C=t[12];const{save:S,flush:Q,isPending:W}=Kt(C);let K;t[13]!==p||t[14]!==m||t[15]!==i?(K={orgSlug:m,virtualMcpId:i,branch:p},t[13]=p,t[14]=m,t[15]=i,t[16]=K):K=t[16];const X=Pt(K);let P;t[17]!==S?(P=$t((e,r)=>S(e,r)),t[17]=S,t[18]=P):P=t[18];const Y=P,[vt,St]=A.useState(s),[tt,ut]=A.useState(null),[et,ft]=A.useState(0);let F;t[19]===Symbol.for("react.memo_cache_sentinel")?(F=[],t[19]=F):F=t[19];const[g,xt]=A.useState(F),[ot,d]=A.useState(!1),O=A.useRef(null);vt!==s&&(St(s),ut(null),ft(Mt),xt([]));let U;t[20]!==x?(U=x??{},t[20]=x,t[21]=U):U=t[21];const rt=U;let y;t[22]!==tt?(y=tt??{},t[22]=tt,t[23]=y):y=t[23];let $;t[24]!==rt||t[25]!==y?($={...rt,...y},t[24]=rt,t[25]=y,t[26]=$):$=t[26];const it=$;let I;t[27]!==s||t[28]!==v||t[29]!==S?(I=e=>{const r=e;ut(r),S(s,{...r,__resolveType:v})},t[27]=s,t[28]=v,t[29]=S,t[30]=I):I=t[30];const mt=I;let z;t[31]===Symbol.for("react.memo_cache_sentinel")?(z=e=>{xt(e)},t[31]=z):z=t[31];const E=z;let L;t[32]!==l||t[33]!==Q||t[34]!==X||t[35]!==c?(L=async(e,r)=>{try{const{blockKey:u,data:f}=Vt(e,l);await X.mutateAsync({blockKey:u,data:f}),ht.success(c("sandbox.appEditor.createdSection",{name:u})),r({__resolveType:u}),Q()}catch(u){const f=u,kt=f instanceof Error?f.message:c("sandbox.appEditor.failedAddSection");throw ht.error(kt),f}},t[32]=l,t[33]=Q,t[34]=X,t[35]=c,t[36]=L):L=t[36];const k=L;let V;t[37]!==d?(V=e=>{O.current=e.append,d(!0)},t[37]=d,t[38]=V):V=t[38];const pt=V;let q;t[39]!==k||t[40]!==d?(q=async e=>{const r=O.current;if(r)try{await k(e,u=>{r(u),d(!1),O.current=null})}catch{}},t[39]=k,t[40]=d,t[41]=q):q=t[41];const st=q,at=g.length>0?[dt,...g]:[],gt="flex h-full flex-col",yt="flex h-12 shrink-0 items-center justify-between border-b px-6",nt=at.length>0?o.jsx("nav",{"aria-label":c("sandbox.appEditor.editingBreadcrumb"),className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:at.map((e,r)=>{const u=r===at.length-1,f=Ft(e);return o.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[r>0&&o.jsx(wt,{className:"size-3 shrink-0 text-muted-foreground/60"}),o.jsx("button",{type:"button",onClick:()=>{E(r===0?[]:Ot(g,r)),ft(qt)},title:f,className:_t("min-w-0 truncate classic:rounded-md compact:rounded-lg px-1 py-0.5 text-left transition-colors",u?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:f})]},`${f}-${r}`)})}):o.jsx("span",{className:"text-sm font-medium",children:dt});let j;t[42]!==W?(j=o.jsx(It,{isPending:W,isError:!1}),t[42]=W,t[43]=j):j=t[43];let B;t[44]!==nt||t[45]!==j?(B=o.jsxs("div",{className:yt,children:[nt,j]}),t[44]=nt,t[45]=j,t[46]=B):B=t[46];let w;t[47]!==s||t[48]!==p||t[49]!==g||t[50]!==l||t[51]!==it||t[52]!==et||t[53]!==k||t[54]!==E||t[55]!==mt||t[56]!==pt||t[57]!==J||t[58]!==a||t[59]!==m||t[60]!==Y||t[61]!==b||t[62]!==D||t[63]!==h||t[64]!==c||t[65]!==G||t[66]!==i?(w=o.jsx(Nt,{className:"min-h-0 min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:o.jsx("div",{className:"px-6 py-6",children:o.jsx("div",{className:"mx-auto max-w-xl",children:J?o.jsx(Ut,{schema:b,value:it,onChange:mt,basePath:"",breadcrumbPath:g,onBreadcrumbChange:E,decofile:l,meta:a,onSaveReferencedBlock:Y,previewBaseUrl:h,onAddSectionItem:k,onRequestAddSection:pt,sandbox:{orgSlug:m,virtualMcpId:i,branch:p,threadId:G}},`${s}:${et}`):D?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(At,{className:"size-4"}),c("sandbox.appEditor.loadingSchema")]}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:c("sandbox.appEditor.noEditableSchema")})})})}),t[47]=s,t[48]=p,t[49]=g,t[50]=l,t[51]=it,t[52]=et,t[53]=k,t[54]=E,t[55]=mt,t[56]=pt,t[57]=J,t[58]=a,t[59]=m,t[60]=Y,t[61]=b,t[62]=D,t[63]=h,t[64]=c,t[65]=G,t[66]=i,t[67]=w):w=t[67];let _;t[68]!==ot||t[69]!==l||t[70]!==st||t[71]!==a||t[72]!==h||t[73]!==d?(_=h&&o.jsx(Tt,{open:ot,onOpenChange:e=>{d(e),e||(O.current=null)},meta:a,decofile:l,previewBaseUrl:h,onSelect:e=>{st(e)}}),t[68]=ot,t[69]=l,t[70]=st,t[71]=a,t[72]=h,t[73]=d,t[74]=_):_=t[74];let M;return t[75]!==B||t[76]!==w||t[77]!==_?(M=o.jsxs("div",{className:gt,children:[B,w,_]}),t[75]=B,t[76]=w,t[77]=_,t[78]=M):M=t[78],M}function qt(n){return n+1}function Mt(n){return n+1}export{fi as AppEditor};
@@ -1 +1 @@
1
- import{c as u,a0 as d,e as g,a6 as m,K as I,o as O}from"./index-B9-heAAa.js";import{u as $}from"./useInfiniteQuery-BQbzbaMU.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
1
+ import{c as u,a0 as d,e as g,a6 as m,K as I,o as O}from"./index-Dn-pE_oF.js";import{u as $}from"./useInfiniteQuery-oFY--skC.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
@@ -1 +1 @@
1
- import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-B9-heAAa.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
1
+ import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-Dn-pE_oF.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
@@ -1 +1 @@
1
- import{a as V,Y as _e,r as v,e as me,q as z,j as t,l as N,B as xe,o as Be,m as Ve,K as ue,c as oe,b as be,h as Fe}from"./index-B9-heAAa.js";import{I as ee}from"./input-D7UnEeXl.js";import{i as ze}from"./use-is-desktop-app-BNujXJc_.js";import{r as Qe,R as He}from"./retry-i8LvYSZg.js";const Le={submitEmailPassword:({mode:n,email:e,password:m,name:f})=>n==="sign_up"?V.signUp.email({email:e,password:m,name:f||""}):V.signIn.email({email:e,password:m}),requestPasswordReset:({email:n,redirectTo:e})=>V.requestPasswordReset({email:n,redirectTo:e}),sendOtp:({email:n})=>V.emailOtp.sendVerificationOtp({email:n,type:"sign-in"}),submitOtp:({email:n,otp:e})=>V.signIn.emailOtp({email:n,otp:e}),socialSignIn:({provider:n,callbackURL:e})=>V.signIn.social({provider:n,callbackURL:e}),ssoSignIn:({providerId:n,callbackURL:e})=>V.signIn.sso({providerId:n,callbackURL:e}),onAuthenticated:n=>{window.location.href=n}},ge="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Ke={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:n=>`Code sent to ${n}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:n=>`Continue with ${n}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ye({redirectUrl:n,callbackUrl:e="/",title:m,subtitle:f,brand:p,copy:u,variant:r="default",allowedSocialProviders:d,allowPassword:g=!0,onAuthEvent:k,actions:A}){const{emailAndPassword:C,resetPassword:w,emailOtp:y,socialProviders:S}=_e(),o={...Le,...A},c=s=>{try{k?.(s)}catch{}},P=r==="compact",te=d?S.providers.filter(s=>d.includes(s.name)):S.providers,se=S.enabled&&te.length>0,le=C.enabled&&(g||!y.enabled&&!se),de=S.enabled&&S.providers.length>0&&!se&&!y.enabled&&!le?S.providers:te,h=S.enabled&&de.length>0,_=C.enabled&&(g||!y.enabled&&!h),[b,F]=v.useState(""),[L,Q]=v.useState(""),[$,O]=v.useState(""),[D,a]=v.useState(""),[x,M]=v.useState(!1),[q,W]=v.useState(()=>y.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[j,H]=v.useState(""),[ye,ve]=v.useState(!1),[Te,he]=v.useState(null),i={...Ke,...u},ne=v.useId(),K=`${ne}-email`,Y=`${ne}-email-error`,we=`${ne}-name`,Ee=`${ne}-password`,Se=`${ne}-otp`,I=q==="signUp",U=q==="forgotPassword",T=q==="emailOtp",ie=me({mutationFn:async({email:s,password:l,name:R})=>{try{const Z=await o.submitEmailPassword({mode:I?"sign_up":"sign_in",email:s,password:l,name:R});if(Z.error)throw new Error(Z.error.message||(I?i.signUpFailed:i.signInFailed));return Z}catch(Z){throw Z instanceof Error?Z:new Error(i.authenticationFailed)}},onMutate:()=>{c({type:"started",method:"email_password",mode:I?"sign_up":"sign_in"})},onSuccess:()=>{c({type:"succeeded",method:"email_password",mode:I?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),o.onAuthenticated(n??e)},onError:s=>{c({type:"failed",method:"email_password",mode:I?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),z(I?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),re=me({mutationFn:async({email:s})=>{const l=await o.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(l.error)throw new Error(l.error.message||i.resetEmailFailed);return l},onSuccess:()=>{z("password_reset_requested"),ve(!0)},onError:s=>{z("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),G=me({mutationFn:async({email:s})=>{const l=await o.sendOtp({email:s});if(l.error)throw new Error(l.error.message||i.otpSendFailed);return l},onMutate:()=>{c({type:"started",method:"email_otp"})},onSuccess:()=>{c({type:"otp_sent",method:"email_otp"}),z("email_otp_sent"),M(!0)},onError:s=>{c({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),z("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),J=me({mutationFn:async({email:s,otp:l})=>{const R=await o.submitOtp({email:s,otp:l});if(R.error)throw new Error(R.error.message||i.invalidCode);return R},onMutate:()=>{c({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{c({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),o.onAuthenticated(n??e)},onError:s=>{c({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),z("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),ce=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),pe=()=>{b.trim()&&!ce(b)&&H(i.invalidEmail)},Re=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail),c({type:"failed",method:"email_password",mode:I?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}ie.mutate({email:b,password:L,name:$})},De=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail);return}re.mutate({email:b})},Me=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail),c({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}G.mutate({email:b})},qe=s=>{s.preventDefault(),J.mutate({email:b,otp:D})},X=s=>l=>{s(l.target.value),je&&ie.reset(),Ne&&re.reset(),Ae&&(G.reset(),J.reset()),s===F&&j&&H("")},ae=s=>{W(s),O(""),a(""),M(!1),H(""),ve(!1),he(null),ie.reset(),re.reset(),G.reset(),J.reset()},E=ie.isPending||re.isPending||G.isPending||J.isPending,je=ie.error,Ne=re.error,Ae=G.error||J.error,B=I?b.trim()&&L.trim()&&$.trim():U?b.trim():T?x?D.trim():b.trim():b.trim()&&L.trim(),We=s=>{if(!s)return null;const l=s.message.toLowerCase();return l.includes("unauthorized")||l.includes("401")?i.invalidEmailOrPassword:l.includes("already exists")||l.includes("409")?i.accountExists:l.includes("network")||l.includes("fetch")?i.networkError:l.includes("rate limit")||l.includes("429")?i.tooManyAttempts:l.includes("invalid")&&l.includes("otp")?i.invalidOrExpiredCode:s.message||i.genericError},Pe=je||Ne||Ae||Te,Ue=async s=>{c({type:"started",method:"social",provider:s}),he(null);try{const l=await o.socialSignIn({provider:s,callbackURL:n??e});if(l.error)throw new Error(l.error.message||i.authenticationFailed)}catch(l){const R=l instanceof Error?l.message:String(l);c({type:"failed",method:"social",provider:s,stage:"redirect",error:R}),z("social_signin_failed",{provider:s,error:R}),he(l instanceof Error?l:new Error(R))}},$e=U?i.resetPasswordTitle:T&&x?i.verificationCodeTitle:m??i.welcomeTitle,Ce=U?i.resetPasswordSubtitle:T&&x?i.codeSentTo(b):f===void 0?i.defaultSubtitle:f;return t.jsxs("div",{className:N("grid w-full",P?"gap-5":"gap-10"),children:[p??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:N("font-medium",P?"text-xl leading-7":"text-2xl leading-8"),children:$e}),Ce&&t.jsx("p",{className:N("text-muted-foreground",P?"text-sm leading-5":"text-base leading-6"),children:Ce})]}),Pe&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:We(Pe)}),ye&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:i.resetEmailSent}),!U&&!(T&&x)&&h&&t.jsx("div",{className:"grid gap-2",children:de.map(s=>t.jsxs("button",{type:"button",disabled:E,onClick:()=>{Ue(s.name)},className:N("flex w-full items-center justify-center gap-3 bg-background px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-input/30 dark:hover:bg-input/50 compact:rounded-lg",P?"h-11":"h-12"),children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:N("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),i.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!U&&!(T&&x)&&h&&(_||y.enabled)&&t.jsxs("div",{className:N("flex items-center gap-2.5",P?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:N("text-muted-foreground",P?"text-sm":"text-base"),children:i.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),T&&y.enabled&&t.jsx(t.Fragment,{children:x?t.jsxs("form",{onSubmit:qe,className:N("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:Se,className:N("text-sm font-medium text-foreground",P&&"sr-only"),children:i.verificationCodeLabel}),t.jsx(ee,{id:Se,type:"text",placeholder:i.enterCodePlaceholder,value:D,onChange:X(a),required:!0,disabled:E,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),t.jsx("button",{type:"submit",disabled:E||!B,className:N("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:E?i.verifying:i.verify}),t.jsx("button",{type:"button",onClick:()=>{M(!1),a(""),G.reset(),J.reset()},disabled:E,className:N("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",P&&"sm:col-span-2"),children:i.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Me,className:N("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:K,className:N("text-sm font-medium text-foreground",P&&"sr-only"),children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:i.emailPlaceholder,value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive",children:j})]}),t.jsx("button",{type:"submit",disabled:E||!B,className:N("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:E?i.sending:i.sendCode})]})}),U&&_&&!ye&&t.jsxs("form",{onSubmit:De,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:K,className:"block text-sm font-medium text-foreground mb-2",children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:"you@example.com",value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive mt-1.5",children:j})]}),t.jsx(xe,{type:"submit",disabled:E||!B,className:"w-full font-semibold",size:"xl",children:E?i.sending:i.sendResetLink})]}),!U&&!T&&_&&t.jsxs("form",{onSubmit:Re,className:"grid gap-5",children:[I&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:we,className:"block text-sm font-medium text-foreground mb-2",children:i.nameLabel}),t.jsx(ee,{id:we,type:"text",placeholder:i.namePlaceholder,value:$,onChange:X(O),required:!0,disabled:E,autoComplete:"name",className:"h-11 rounded-lg"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:K,className:"block text-sm font-medium text-foreground mb-2",children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:"you@example.com",value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive mt-1.5",children:j})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:Ee,className:"block text-sm font-medium text-foreground",children:i.passwordLabel}),!I&&w.enabled&&t.jsx("button",{type:"button",onClick:()=>ae("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:i.forgotPassword})]}),t.jsx(ee,{id:Ee,type:"password",placeholder:"••••••••",value:L,onChange:X(Q),required:!0,disabled:E,autoComplete:I?"new-password":"current-password",className:"h-11 rounded-lg"})]}),t.jsx("div",{className:N("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",B?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:N("p-1",!B&&"pointer-events-none"),children:t.jsx(xe,{type:"submit",disabled:E||!B,className:N("w-full font-semibold"),size:"xl","aria-hidden":!B,children:E?I?i.creatingAccount:i.signingIn:i.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:U?t.jsx("button",{type:"button",onClick:()=>ae("signIn"),disabled:E,className:ge,children:i.backToSignIn}):T&&_?t.jsx("button",{type:"button",onClick:()=>ae("signIn"),disabled:E,className:ge,children:i.signInWithPassword}):!T&&_?t.jsxs(t.Fragment,{children:[I?i.alreadyHaveAccount:i.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>ae(I?"signIn":"signUp"),disabled:E,className:ge,children:I?i.signIn:i.signUp}),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>ae("emailOtp"),disabled:E,className:ge,children:i.signInWithEmailCode})]})]}):null})]})}async function fe(){throw new Error("Tauri bridge is unavailable outside the desktop build")}function Ge(){const n=Be(),e=ze(),m=Ve({queryKey:ue.desktopAuthStatus(),queryFn:async()=>(await fe()).fetchAuthStatus(),enabled:e,staleTime:3e4,refetchOnWindowFocus:!0}),[f,p]=v.useState(!1),[u,r]=v.useState(null),[d,g]=v.useState(!1),[k,A]=v.useState(null);v.useEffect(()=>{},[e,n]);async function C(){p(!0),r(null);try{const o=await fe();await o.performAuthLogin();const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}catch(o){r(o instanceof Error?o.message:"Sign-in failed")}finally{p(!1)}}async function w(){p(!0);try{const o=await fe();await o.performAuthLogout();const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}finally{p(!1)}}async function y(){g(!0),A(null);let o;try{o=await fe()}catch(c){A(c instanceof Error?c.message:"Sign-in failed"),g(!1);return}try{await o.performAuthCompleteSession()}catch(c){A(c instanceof Error?c.message:"Sign-in failed")}finally{try{const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}finally{g(!1)}}}async function S(){await m.refetch()}return{status:m.data,isChecking:m.isLoading,isRetryingStatus:m.isFetching,isPending:f,loginError:u,login:C,logout:w,isCompletingSession:d,completeSessionError:k,completeSession:y,retryStatus:S}}function Je(n){return!(n.emailAndPassword.enabled||n.emailOtp.enabled||n.socialProviders.enabled)&&!n.sso.enabled&&n.magicLink.enabled}function Xe(){return oe.c(10),Ge(),null}function Ze(n){const e=oe.c(25),{onContinue:m,isPending:f,error:p}=n,u=be();let r;e[0]!==u?(r=u("common.authEntry.browserOnlyTitle"),e[0]=u,e[1]=r):r=e[1];let d;e[2]!==r?(d=t.jsx("h1",{className:"text-lg font-medium text-foreground",children:r}),e[2]=r,e[3]=d):d=e[3];let g;e[4]!==u?(g=u("common.authEntry.browserOnlyDescription"),e[4]=u,e[5]=g):g=e[5];let k;e[6]!==g?(k=t.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:g}),e[6]=g,e[7]=k):k=e[7];let A;e[8]!==d||e[9]!==k?(A=t.jsxs("div",{className:"flex flex-col gap-1",children:[d,k]}),e[8]=d,e[9]=k,e[10]=A):A=e[10];let C;e[11]!==m?(C=()=>{m()},e[11]=m,e[12]=C):C=e[12];let w;e[13]!==u?(w=u("common.authEntry.browserOnlyCta"),e[13]=u,e[14]=w):w=e[14];let y;e[15]!==f||e[16]!==C||e[17]!==w?(y=t.jsx(xe,{onClick:C,disabled:f,children:w}),e[15]=f,e[16]=C,e[17]=w,e[18]=y):y=e[18];let S;e[19]!==p?(S=p&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:p}),e[19]=p,e[20]=S):S=e[20];let o;return e[21]!==A||e[22]!==y||e[23]!==S?(o=t.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[A,y,S]}),e[21]=A,e[22]=y,e[23]=S,e[24]=o):o=e[24],o}function Ie(n){const e=oe.c(8),{label:m,error:f}=n;let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Fe,{size:"lg"}),e[0]=p):p=e[0];let u;e[1]!==m?(u=m&&t.jsx("p",{className:"text-sm text-muted-foreground",children:m}),e[1]=m,e[2]=u):u=e[2];let r;e[3]!==f?(r=f&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:f}),e[3]=f,e[4]=r):r=e[4];let d;return e[5]!==u||e[6]!==r?(d=t.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[p,u,r]}),e[5]=u,e[6]=r,e[7]=d):d=e[7],d}class ke{constructor(e){this.response=e}response}function et(n){return n.startsWith("/")&&!n.startsWith("//")?n:"/"}function tt({redirectTo:n,onAuthEvent:e}){const m=be(),[f,p]=v.useState(null),u=v.useEffectEvent(r=>{try{e?.(r)}catch{}});return v.useEffect(()=>{let r=!1;return(async()=>{u({type:"started",method:"local"});try{let d;try{d=await Qe(async()=>{const g=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(g.status>=500)throw new ke(g);return g},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(g){if(g instanceof He&&g.cause instanceof ke)d=g.cause.response;else throw g}if(!d.ok){const g=await d.json().catch(()=>({}));throw new Error(g?.error||m("common.authEntry.autoLoginFailed"))}r||(u({type:"succeeded",method:"local"}),window.location.href=et(n))}catch(d){r||(u({type:"failed",method:"local",stage:"authenticate",error:d instanceof Error?d.message:String(d)}),p(d instanceof Error?d.message:m("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[n]),f?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:m("common.authEntry.autoLoginFailedWithError",{error:f})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:m("common.authEntry.tryRestartingServer")})]})}):t.jsx(Oe,{})}function Oe(){const n=oe.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Fe,{size:"lg",label:"Signing in"})}),n[0]=e):e=n[0],e}function st({callbackURL:n,providerId:e,ssoSignIn:m,onAuthEvent:f}){const p=v.useEffectEvent(r=>{try{f?.(r)}catch{}}),u=v.useEffectEvent(m);return v.useEffect(()=>{(async()=>{p({type:"started",method:"sso",provider:e});try{const r=await u({providerId:e,callbackURL:n});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){p({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,n]),t.jsx(Oe,{})}function ot(n){const e=oe.c(51),{callbackUrl:m,redirectUrl:f,allowAutoLogin:p,title:u,subtitle:r,brand:d,copy:g,variant:k,allowedSocialProviders:A,allowPassword:C,onAuthEvent:w,onAuthenticated:y}=n,S=p===void 0?!0:p,o=be(),{sso:c,emailAndPassword:P,magicLink:te,emailOtp:se,socialProviders:le,localMode:de}=_e(),h=Xe(),_=f||m;let b;e[0]!==y?(b=y?{onAuthenticated:y}:void 0,e[0]=y,e[1]=b):b=e[1];const F=b,L=h?.actions;let Q;e[2]!==F||e[3]!==L?(Q={...Le,...F,...L},e[2]=F,e[3]=L,e[4]=Q):Q=e[4];const $=Q;if(h?.isPending){let a;e[5]!==o?(a=o("common.authEntry.finishSignInInBrowser"),e[5]=o,e[6]=a):a=e[6];let x;return e[7]!==h.loginError||e[8]!==a?(x=t.jsx(Ie,{label:a,error:h.loginError}),e[7]=h.loginError,e[8]=a,e[9]=x):x=e[9],x}if(h?.isCompletingSession){let a;e[10]!==o?(a=o("common.authEntry.finishingSignIn"),e[10]=o,e[11]=a):a=e[11];let x;return e[12]!==h.completeSessionError||e[13]!==a?(x=t.jsx(Ie,{label:a,error:h.completeSessionError}),e[12]=h.completeSessionError,e[13]=a,e[14]=x):x=e[14],x}if(de&&S){let a;return e[15]!==w||e[16]!==_?(a=t.jsx(tt,{redirectTo:_,onAuthEvent:w}),e[15]=w,e[16]=_,e[17]=a):a=e[17],a}if(c.enabled){let a;return e[18]!==w||e[19]!==_||e[20]!==$.ssoSignIn||e[21]!==c.providerId?(a=t.jsx(st,{callbackURL:_,providerId:c.providerId,ssoSignIn:$.ssoSignIn,onAuthEvent:w}),e[18]=w,e[19]=_,e[20]=$.ssoSignIn,e[21]=c.providerId,e[22]=a):a=e[22],a}if(h&&Je({emailAndPassword:P,emailOtp:se,socialProviders:le,magicLink:te,sso:c})){let a;return e[23]!==h.isPending||e[24]!==h.login||e[25]!==h.loginError?(a=t.jsx(Ze,{onContinue:h.login,isPending:h.isPending,error:h.loginError}),e[23]=h.isPending,e[24]=h.login,e[25]=h.loginError,e[26]=a):a=e[26],a}if(P.enabled||te.enabled||se.enabled||le.enabled){const a=h?.loginError??h?.completeSessionError??null;let x;e[27]!==F||e[28]!==L?(x={...F,...L},e[27]=F,e[28]=L,e[29]=x):x=e[29];let M;e[30]!==C||e[31]!==A||e[32]!==d||e[33]!==m||e[34]!==g||e[35]!==w||e[36]!==f||e[37]!==r||e[38]!==x||e[39]!==u||e[40]!==k?(M=t.jsx(Ye,{redirectUrl:f,callbackUrl:m,title:u,subtitle:r,brand:d,copy:g,variant:k,allowedSocialProviders:A,allowPassword:C,onAuthEvent:w,actions:x}),e[30]=C,e[31]=A,e[32]=d,e[33]=m,e[34]=g,e[35]=w,e[36]=f,e[37]=r,e[38]=x,e[39]=u,e[40]=k,e[41]=M):M=e[41];const q=M;if(!a)return q;let W;e[42]!==a?(W=t.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:a}),e[42]=a,e[43]=W):W=e[43];let j;return e[44]!==q||e[45]!==W?(j=t.jsxs("div",{className:"grid gap-4",children:[W,q]}),e[44]=q,e[45]=W,e[46]=j):j=e[46],j}let O;e[47]!==o?(O=o("common.authEntry.noLoginOptions"),e[47]=o,e[48]=O):O=e[48];let D;return e[49]!==O?(D=t.jsx("div",{children:O}),e[49]=O,e[50]=D):D=e[50],D}export{Oe as A,ot as a,Ge as u};
1
+ import{a as V,Y as _e,r as v,e as me,q as z,j as t,l as N,B as xe,o as Be,m as Ve,K as ue,c as oe,b as be,h as Fe}from"./index-Dn-pE_oF.js";import{I as ee}from"./input-DfvK3BvZ.js";import{i as ze}from"./use-is-desktop-app-BNujXJc_.js";import{r as Qe,R as He}from"./retry-i8LvYSZg.js";const Le={submitEmailPassword:({mode:n,email:e,password:m,name:f})=>n==="sign_up"?V.signUp.email({email:e,password:m,name:f||""}):V.signIn.email({email:e,password:m}),requestPasswordReset:({email:n,redirectTo:e})=>V.requestPasswordReset({email:n,redirectTo:e}),sendOtp:({email:n})=>V.emailOtp.sendVerificationOtp({email:n,type:"sign-in"}),submitOtp:({email:n,otp:e})=>V.signIn.emailOtp({email:n,otp:e}),socialSignIn:({provider:n,callbackURL:e})=>V.signIn.social({provider:n,callbackURL:e}),ssoSignIn:({providerId:n,callbackURL:e})=>V.signIn.sso({providerId:n,callbackURL:e}),onAuthenticated:n=>{window.location.href=n}},ge="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Ke={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:n=>`Code sent to ${n}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:n=>`Continue with ${n}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ye({redirectUrl:n,callbackUrl:e="/",title:m,subtitle:f,brand:p,copy:u,variant:r="default",allowedSocialProviders:d,allowPassword:g=!0,onAuthEvent:k,actions:A}){const{emailAndPassword:C,resetPassword:w,emailOtp:y,socialProviders:S}=_e(),o={...Le,...A},c=s=>{try{k?.(s)}catch{}},P=r==="compact",te=d?S.providers.filter(s=>d.includes(s.name)):S.providers,se=S.enabled&&te.length>0,le=C.enabled&&(g||!y.enabled&&!se),de=S.enabled&&S.providers.length>0&&!se&&!y.enabled&&!le?S.providers:te,h=S.enabled&&de.length>0,_=C.enabled&&(g||!y.enabled&&!h),[b,F]=v.useState(""),[L,Q]=v.useState(""),[$,O]=v.useState(""),[D,a]=v.useState(""),[x,M]=v.useState(!1),[q,W]=v.useState(()=>y.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[j,H]=v.useState(""),[ye,ve]=v.useState(!1),[Te,he]=v.useState(null),i={...Ke,...u},ne=v.useId(),K=`${ne}-email`,Y=`${ne}-email-error`,we=`${ne}-name`,Ee=`${ne}-password`,Se=`${ne}-otp`,I=q==="signUp",U=q==="forgotPassword",T=q==="emailOtp",ie=me({mutationFn:async({email:s,password:l,name:R})=>{try{const Z=await o.submitEmailPassword({mode:I?"sign_up":"sign_in",email:s,password:l,name:R});if(Z.error)throw new Error(Z.error.message||(I?i.signUpFailed:i.signInFailed));return Z}catch(Z){throw Z instanceof Error?Z:new Error(i.authenticationFailed)}},onMutate:()=>{c({type:"started",method:"email_password",mode:I?"sign_up":"sign_in"})},onSuccess:()=>{c({type:"succeeded",method:"email_password",mode:I?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),o.onAuthenticated(n??e)},onError:s=>{c({type:"failed",method:"email_password",mode:I?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),z(I?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),re=me({mutationFn:async({email:s})=>{const l=await o.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(l.error)throw new Error(l.error.message||i.resetEmailFailed);return l},onSuccess:()=>{z("password_reset_requested"),ve(!0)},onError:s=>{z("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),G=me({mutationFn:async({email:s})=>{const l=await o.sendOtp({email:s});if(l.error)throw new Error(l.error.message||i.otpSendFailed);return l},onMutate:()=>{c({type:"started",method:"email_otp"})},onSuccess:()=>{c({type:"otp_sent",method:"email_otp"}),z("email_otp_sent"),M(!0)},onError:s=>{c({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),z("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),J=me({mutationFn:async({email:s,otp:l})=>{const R=await o.submitOtp({email:s,otp:l});if(R.error)throw new Error(R.error.message||i.invalidCode);return R},onMutate:()=>{c({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{c({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),o.onAuthenticated(n??e)},onError:s=>{c({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),z("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),ce=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),pe=()=>{b.trim()&&!ce(b)&&H(i.invalidEmail)},Re=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail),c({type:"failed",method:"email_password",mode:I?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}ie.mutate({email:b,password:L,name:$})},De=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail);return}re.mutate({email:b})},Me=s=>{if(s.preventDefault(),!ce(b)){H(i.invalidEmail),c({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}G.mutate({email:b})},qe=s=>{s.preventDefault(),J.mutate({email:b,otp:D})},X=s=>l=>{s(l.target.value),je&&ie.reset(),Ne&&re.reset(),Ae&&(G.reset(),J.reset()),s===F&&j&&H("")},ae=s=>{W(s),O(""),a(""),M(!1),H(""),ve(!1),he(null),ie.reset(),re.reset(),G.reset(),J.reset()},E=ie.isPending||re.isPending||G.isPending||J.isPending,je=ie.error,Ne=re.error,Ae=G.error||J.error,B=I?b.trim()&&L.trim()&&$.trim():U?b.trim():T?x?D.trim():b.trim():b.trim()&&L.trim(),We=s=>{if(!s)return null;const l=s.message.toLowerCase();return l.includes("unauthorized")||l.includes("401")?i.invalidEmailOrPassword:l.includes("already exists")||l.includes("409")?i.accountExists:l.includes("network")||l.includes("fetch")?i.networkError:l.includes("rate limit")||l.includes("429")?i.tooManyAttempts:l.includes("invalid")&&l.includes("otp")?i.invalidOrExpiredCode:s.message||i.genericError},Pe=je||Ne||Ae||Te,Ue=async s=>{c({type:"started",method:"social",provider:s}),he(null);try{const l=await o.socialSignIn({provider:s,callbackURL:n??e});if(l.error)throw new Error(l.error.message||i.authenticationFailed)}catch(l){const R=l instanceof Error?l.message:String(l);c({type:"failed",method:"social",provider:s,stage:"redirect",error:R}),z("social_signin_failed",{provider:s,error:R}),he(l instanceof Error?l:new Error(R))}},$e=U?i.resetPasswordTitle:T&&x?i.verificationCodeTitle:m??i.welcomeTitle,Ce=U?i.resetPasswordSubtitle:T&&x?i.codeSentTo(b):f===void 0?i.defaultSubtitle:f;return t.jsxs("div",{className:N("grid w-full",P?"gap-5":"gap-10"),children:[p??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:N("font-medium",P?"text-xl leading-7":"text-2xl leading-8"),children:$e}),Ce&&t.jsx("p",{className:N("text-muted-foreground",P?"text-sm leading-5":"text-base leading-6"),children:Ce})]}),Pe&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:We(Pe)}),ye&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:i.resetEmailSent}),!U&&!(T&&x)&&h&&t.jsx("div",{className:"grid gap-2",children:de.map(s=>t.jsxs("button",{type:"button",disabled:E,onClick:()=>{Ue(s.name)},className:N("flex w-full items-center justify-center gap-3 bg-background px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-input/30 dark:hover:bg-input/50 compact:rounded-lg",P?"h-11":"h-12"),children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:N("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),i.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!U&&!(T&&x)&&h&&(_||y.enabled)&&t.jsxs("div",{className:N("flex items-center gap-2.5",P?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:N("text-muted-foreground",P?"text-sm":"text-base"),children:i.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),T&&y.enabled&&t.jsx(t.Fragment,{children:x?t.jsxs("form",{onSubmit:qe,className:N("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:Se,className:N("text-sm font-medium text-foreground",P&&"sr-only"),children:i.verificationCodeLabel}),t.jsx(ee,{id:Se,type:"text",placeholder:i.enterCodePlaceholder,value:D,onChange:X(a),required:!0,disabled:E,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),t.jsx("button",{type:"submit",disabled:E||!B,className:N("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:E?i.verifying:i.verify}),t.jsx("button",{type:"button",onClick:()=>{M(!1),a(""),G.reset(),J.reset()},disabled:E,className:N("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",P&&"sm:col-span-2"),children:i.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Me,className:N("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:K,className:N("text-sm font-medium text-foreground",P&&"sr-only"),children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:i.emailPlaceholder,value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive",children:j})]}),t.jsx("button",{type:"submit",disabled:E||!B,className:N("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:E?i.sending:i.sendCode})]})}),U&&_&&!ye&&t.jsxs("form",{onSubmit:De,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:K,className:"block text-sm font-medium text-foreground mb-2",children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:"you@example.com",value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive mt-1.5",children:j})]}),t.jsx(xe,{type:"submit",disabled:E||!B,className:"w-full font-semibold",size:"xl",children:E?i.sending:i.sendResetLink})]}),!U&&!T&&_&&t.jsxs("form",{onSubmit:Re,className:"grid gap-5",children:[I&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:we,className:"block text-sm font-medium text-foreground mb-2",children:i.nameLabel}),t.jsx(ee,{id:we,type:"text",placeholder:i.namePlaceholder,value:$,onChange:X(O),required:!0,disabled:E,autoComplete:"name",className:"h-11 rounded-lg"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:K,className:"block text-sm font-medium text-foreground mb-2",children:i.emailLabel}),t.jsx(ee,{id:K,type:"email",placeholder:"you@example.com",value:b,onChange:X(F),onBlur:pe,required:!0,disabled:E,autoComplete:"email","aria-invalid":!!j,"aria-describedby":j?Y:void 0,className:"h-11 rounded-lg"}),j&&t.jsx("p",{id:Y,role:"alert",className:"text-xs text-destructive mt-1.5",children:j})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:Ee,className:"block text-sm font-medium text-foreground",children:i.passwordLabel}),!I&&w.enabled&&t.jsx("button",{type:"button",onClick:()=>ae("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:i.forgotPassword})]}),t.jsx(ee,{id:Ee,type:"password",placeholder:"••••••••",value:L,onChange:X(Q),required:!0,disabled:E,autoComplete:I?"new-password":"current-password",className:"h-11 rounded-lg"})]}),t.jsx("div",{className:N("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",B?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:N("p-1",!B&&"pointer-events-none"),children:t.jsx(xe,{type:"submit",disabled:E||!B,className:N("w-full font-semibold"),size:"xl","aria-hidden":!B,children:E?I?i.creatingAccount:i.signingIn:i.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:U?t.jsx("button",{type:"button",onClick:()=>ae("signIn"),disabled:E,className:ge,children:i.backToSignIn}):T&&_?t.jsx("button",{type:"button",onClick:()=>ae("signIn"),disabled:E,className:ge,children:i.signInWithPassword}):!T&&_?t.jsxs(t.Fragment,{children:[I?i.alreadyHaveAccount:i.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>ae(I?"signIn":"signUp"),disabled:E,className:ge,children:I?i.signIn:i.signUp}),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>ae("emailOtp"),disabled:E,className:ge,children:i.signInWithEmailCode})]})]}):null})]})}async function fe(){throw new Error("Tauri bridge is unavailable outside the desktop build")}function Ge(){const n=Be(),e=ze(),m=Ve({queryKey:ue.desktopAuthStatus(),queryFn:async()=>(await fe()).fetchAuthStatus(),enabled:e,staleTime:3e4,refetchOnWindowFocus:!0}),[f,p]=v.useState(!1),[u,r]=v.useState(null),[d,g]=v.useState(!1),[k,A]=v.useState(null);v.useEffect(()=>{},[e,n]);async function C(){p(!0),r(null);try{const o=await fe();await o.performAuthLogin();const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}catch(o){r(o instanceof Error?o.message:"Sign-in failed")}finally{p(!1)}}async function w(){p(!0);try{const o=await fe();await o.performAuthLogout();const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}finally{p(!1)}}async function y(){g(!0),A(null);let o;try{o=await fe()}catch(c){A(c instanceof Error?c.message:"Sign-in failed"),g(!1);return}try{await o.performAuthCompleteSession()}catch(c){A(c instanceof Error?c.message:"Sign-in failed")}finally{try{const c=await o.fetchAuthStatus();n.setQueryData(ue.desktopAuthStatus(),c)}finally{g(!1)}}}async function S(){await m.refetch()}return{status:m.data,isChecking:m.isLoading,isRetryingStatus:m.isFetching,isPending:f,loginError:u,login:C,logout:w,isCompletingSession:d,completeSessionError:k,completeSession:y,retryStatus:S}}function Je(n){return!(n.emailAndPassword.enabled||n.emailOtp.enabled||n.socialProviders.enabled)&&!n.sso.enabled&&n.magicLink.enabled}function Xe(){return oe.c(10),Ge(),null}function Ze(n){const e=oe.c(25),{onContinue:m,isPending:f,error:p}=n,u=be();let r;e[0]!==u?(r=u("common.authEntry.browserOnlyTitle"),e[0]=u,e[1]=r):r=e[1];let d;e[2]!==r?(d=t.jsx("h1",{className:"text-lg font-medium text-foreground",children:r}),e[2]=r,e[3]=d):d=e[3];let g;e[4]!==u?(g=u("common.authEntry.browserOnlyDescription"),e[4]=u,e[5]=g):g=e[5];let k;e[6]!==g?(k=t.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:g}),e[6]=g,e[7]=k):k=e[7];let A;e[8]!==d||e[9]!==k?(A=t.jsxs("div",{className:"flex flex-col gap-1",children:[d,k]}),e[8]=d,e[9]=k,e[10]=A):A=e[10];let C;e[11]!==m?(C=()=>{m()},e[11]=m,e[12]=C):C=e[12];let w;e[13]!==u?(w=u("common.authEntry.browserOnlyCta"),e[13]=u,e[14]=w):w=e[14];let y;e[15]!==f||e[16]!==C||e[17]!==w?(y=t.jsx(xe,{onClick:C,disabled:f,children:w}),e[15]=f,e[16]=C,e[17]=w,e[18]=y):y=e[18];let S;e[19]!==p?(S=p&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:p}),e[19]=p,e[20]=S):S=e[20];let o;return e[21]!==A||e[22]!==y||e[23]!==S?(o=t.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[A,y,S]}),e[21]=A,e[22]=y,e[23]=S,e[24]=o):o=e[24],o}function Ie(n){const e=oe.c(8),{label:m,error:f}=n;let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Fe,{size:"lg"}),e[0]=p):p=e[0];let u;e[1]!==m?(u=m&&t.jsx("p",{className:"text-sm text-muted-foreground",children:m}),e[1]=m,e[2]=u):u=e[2];let r;e[3]!==f?(r=f&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:f}),e[3]=f,e[4]=r):r=e[4];let d;return e[5]!==u||e[6]!==r?(d=t.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[p,u,r]}),e[5]=u,e[6]=r,e[7]=d):d=e[7],d}class ke{constructor(e){this.response=e}response}function et(n){return n.startsWith("/")&&!n.startsWith("//")?n:"/"}function tt({redirectTo:n,onAuthEvent:e}){const m=be(),[f,p]=v.useState(null),u=v.useEffectEvent(r=>{try{e?.(r)}catch{}});return v.useEffect(()=>{let r=!1;return(async()=>{u({type:"started",method:"local"});try{let d;try{d=await Qe(async()=>{const g=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(g.status>=500)throw new ke(g);return g},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(g){if(g instanceof He&&g.cause instanceof ke)d=g.cause.response;else throw g}if(!d.ok){const g=await d.json().catch(()=>({}));throw new Error(g?.error||m("common.authEntry.autoLoginFailed"))}r||(u({type:"succeeded",method:"local"}),window.location.href=et(n))}catch(d){r||(u({type:"failed",method:"local",stage:"authenticate",error:d instanceof Error?d.message:String(d)}),p(d instanceof Error?d.message:m("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[n]),f?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:m("common.authEntry.autoLoginFailedWithError",{error:f})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:m("common.authEntry.tryRestartingServer")})]})}):t.jsx(Oe,{})}function Oe(){const n=oe.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Fe,{size:"lg",label:"Signing in"})}),n[0]=e):e=n[0],e}function st({callbackURL:n,providerId:e,ssoSignIn:m,onAuthEvent:f}){const p=v.useEffectEvent(r=>{try{f?.(r)}catch{}}),u=v.useEffectEvent(m);return v.useEffect(()=>{(async()=>{p({type:"started",method:"sso",provider:e});try{const r=await u({providerId:e,callbackURL:n});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){p({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,n]),t.jsx(Oe,{})}function ot(n){const e=oe.c(51),{callbackUrl:m,redirectUrl:f,allowAutoLogin:p,title:u,subtitle:r,brand:d,copy:g,variant:k,allowedSocialProviders:A,allowPassword:C,onAuthEvent:w,onAuthenticated:y}=n,S=p===void 0?!0:p,o=be(),{sso:c,emailAndPassword:P,magicLink:te,emailOtp:se,socialProviders:le,localMode:de}=_e(),h=Xe(),_=f||m;let b;e[0]!==y?(b=y?{onAuthenticated:y}:void 0,e[0]=y,e[1]=b):b=e[1];const F=b,L=h?.actions;let Q;e[2]!==F||e[3]!==L?(Q={...Le,...F,...L},e[2]=F,e[3]=L,e[4]=Q):Q=e[4];const $=Q;if(h?.isPending){let a;e[5]!==o?(a=o("common.authEntry.finishSignInInBrowser"),e[5]=o,e[6]=a):a=e[6];let x;return e[7]!==h.loginError||e[8]!==a?(x=t.jsx(Ie,{label:a,error:h.loginError}),e[7]=h.loginError,e[8]=a,e[9]=x):x=e[9],x}if(h?.isCompletingSession){let a;e[10]!==o?(a=o("common.authEntry.finishingSignIn"),e[10]=o,e[11]=a):a=e[11];let x;return e[12]!==h.completeSessionError||e[13]!==a?(x=t.jsx(Ie,{label:a,error:h.completeSessionError}),e[12]=h.completeSessionError,e[13]=a,e[14]=x):x=e[14],x}if(de&&S){let a;return e[15]!==w||e[16]!==_?(a=t.jsx(tt,{redirectTo:_,onAuthEvent:w}),e[15]=w,e[16]=_,e[17]=a):a=e[17],a}if(c.enabled){let a;return e[18]!==w||e[19]!==_||e[20]!==$.ssoSignIn||e[21]!==c.providerId?(a=t.jsx(st,{callbackURL:_,providerId:c.providerId,ssoSignIn:$.ssoSignIn,onAuthEvent:w}),e[18]=w,e[19]=_,e[20]=$.ssoSignIn,e[21]=c.providerId,e[22]=a):a=e[22],a}if(h&&Je({emailAndPassword:P,emailOtp:se,socialProviders:le,magicLink:te,sso:c})){let a;return e[23]!==h.isPending||e[24]!==h.login||e[25]!==h.loginError?(a=t.jsx(Ze,{onContinue:h.login,isPending:h.isPending,error:h.loginError}),e[23]=h.isPending,e[24]=h.login,e[25]=h.loginError,e[26]=a):a=e[26],a}if(P.enabled||te.enabled||se.enabled||le.enabled){const a=h?.loginError??h?.completeSessionError??null;let x;e[27]!==F||e[28]!==L?(x={...F,...L},e[27]=F,e[28]=L,e[29]=x):x=e[29];let M;e[30]!==C||e[31]!==A||e[32]!==d||e[33]!==m||e[34]!==g||e[35]!==w||e[36]!==f||e[37]!==r||e[38]!==x||e[39]!==u||e[40]!==k?(M=t.jsx(Ye,{redirectUrl:f,callbackUrl:m,title:u,subtitle:r,brand:d,copy:g,variant:k,allowedSocialProviders:A,allowPassword:C,onAuthEvent:w,actions:x}),e[30]=C,e[31]=A,e[32]=d,e[33]=m,e[34]=g,e[35]=w,e[36]=f,e[37]=r,e[38]=x,e[39]=u,e[40]=k,e[41]=M):M=e[41];const q=M;if(!a)return q;let W;e[42]!==a?(W=t.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:a}),e[42]=a,e[43]=W):W=e[43];let j;return e[44]!==q||e[45]!==W?(j=t.jsxs("div",{className:"grid gap-4",children:[W,q]}),e[44]=q,e[45]=W,e[46]=j):j=e[46],j}let O;e[47]!==o?(O=o("common.authEntry.noLoginOptions"),e[47]=o,e[48]=O):O=e[48];let D;return e[49]!==O?(D=t.jsx("div",{children:O}),e[49]=O,e[50]=D):D=e[50],D}export{Oe as A,ot as a,Ge as u};