@vellumai/web 0.12.3 → 0.12.4-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/assets/{a2a-invite-YEhyUfHN.js → a2a-invite-jj2Bun74.js} +1 -1
  2. package/dist/assets/{about-page-DQ4Ec_gj.js → about-page-Dh2ckWOE.js} +1 -1
  3. package/dist/assets/{account-page-BghnPvuL.js → account-page-BcjsWrls.js} +1 -1
  4. package/dist/assets/{account-shell-CT_g1Cvn.js → account-shell-lPOLDkRg.js} +1 -1
  5. package/dist/assets/acp-run-detail-panel-n0Ba6LM3.js +3 -0
  6. package/dist/assets/activation-list-route-Bue7AEqM.js +1 -0
  7. package/dist/assets/{activity-redirect-page-XGaUoIu2.js → activity-redirect-page-B2fVuX5X.js} +1 -1
  8. package/dist/assets/activity-steps-panel-DYlB4_7_.js +1 -0
  9. package/dist/assets/{add-credits-modal-DQewP5v-.js → add-credits-modal-C0lQXUXT.js} +1 -1
  10. package/dist/assets/add-credits-modal-kbEjTabc.js +1 -0
  11. package/dist/assets/ai-page-BFaKQBxB.js +1 -0
  12. package/dist/assets/{android-billing-handoff-BsKu5TdI.js → android-billing-handoff-D4-N-fnT.js} +1 -1
  13. package/dist/assets/{api-key-screen-BQqbHhQW.js → api-key-screen-CRLzwWVq.js} +1 -1
  14. package/dist/assets/{app-info-_UBZr9dH.js → app-info-CdRiTxoQ.js} +1 -1
  15. package/dist/assets/app-w2JD1VZv.js +392 -0
  16. package/dist/assets/app-zgXC1Pzn.css +2 -0
  17. package/dist/assets/archive-redirect-page-DiwfXwvc.js +1 -0
  18. package/dist/assets/assistant-handle-modal-yKaqZVXx.js +1 -0
  19. package/dist/assets/assistant-inbox-page-route-DmLTPszc.js +8 -0
  20. package/dist/assets/{assistant-inbox-upgrade-body-vP7feu0-.js → assistant-inbox-upgrade-body-Blwy__Ys.js} +1 -1
  21. package/dist/assets/{assistant-status-panel-DyZG5B7d.js → assistant-status-panel-BL_8FYQu.js} +1 -1
  22. package/dist/assets/auth-store-BAb8Clcm.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-OOkWXm3h.js → auth-welcome-screen-DP80h-uD.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-B2CExswz.js +1 -0
  25. package/dist/assets/avatar-random-DfEsQV0m.js +2 -0
  26. package/dist/assets/{await-org-header-settled-BXDHXjvn.js → await-org-header-settled-CozXrf3Q.js} +1 -1
  27. package/dist/assets/background-task-detail-panel-CIlGA0b5.js +1 -0
  28. package/dist/assets/billing-page-DrXwg_-L.js +3 -0
  29. package/dist/assets/{billing-redirect-page-C8yes4JF.js → billing-redirect-page-Db1hPwQ7.js} +1 -1
  30. package/dist/assets/bookmarks-page-rqEVA4l1.js +1 -0
  31. package/dist/assets/{bundle-confirm-page-NBQ9F6Qf.js → bundle-confirm-page-Cqw0Ap5G.js} +1 -1
  32. package/dist/assets/channel-transcript-panel-BP9abgh5.js +1 -0
  33. package/dist/assets/channels-page-route-BWMQRGsN.js +1 -0
  34. package/dist/assets/chat-D4Rwce7K.js +3 -0
  35. package/dist/assets/{chat-CuuC3zzW.js → chat-DMczso4w.js} +1 -1
  36. package/dist/assets/chat-P_wksB9o.js +3 -0
  37. package/dist/assets/chat-info-panel-BMlJHrLu.js +1 -0
  38. package/dist/assets/chat-z0pCk_5Y.js +3 -0
  39. package/dist/assets/checkout-continuation-DNo0Mg_E.js +1 -0
  40. package/dist/assets/checkout-page-CLM3F5hC.js +1 -0
  41. package/dist/assets/checkout-return-target-CVm_4oN9.js +1 -0
  42. package/dist/assets/{command-palette-BA8nwW7R.js → command-palette-BTxrchwH.js} +1 -1
  43. package/dist/assets/command-palette-C2qyCmcx.js +1 -0
  44. package/dist/assets/{command-palette-window-page-B7uBXbJY.js → command-palette-window-page-C69Y21no.js} +1 -1
  45. package/dist/assets/{common-9xzLIcrw.js → common-Bg2XLdpk.js} +1 -1
  46. package/dist/assets/{common-Bs6eHe6c.js → common-CX8L-h5x.js} +1 -1
  47. package/dist/assets/{common-qa5Iw8ye.js → common-Ddws3NUA.js} +1 -1
  48. package/dist/assets/{common-DqBxs0W6.js → common-Dtm9fw2H.js} +1 -1
  49. package/dist/assets/{community-page-B8TI9Wcd.js → community-page-DPMWXRzG.js} +1 -1
  50. package/dist/assets/{companion-accent-ggBv1xjm.js → companion-accent-BkxgRb2l.js} +1 -1
  51. package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-AQPhrKT0.js} +1 -1
  52. package/dist/assets/{companion-layout-BTsiJq0U.js → companion-layout-Bqv18Wkl.js} +1 -1
  53. package/dist/assets/{companion-popover-CgAs-3Gu.js → companion-popover-L_7USt6D.js} +1 -1
  54. package/dist/assets/{companion-popover-page-BeUJyhWH.js → companion-popover-page-BYywr0nG.js} +1 -1
  55. package/dist/assets/companion-surface-page-tifcZS5_.js +1 -0
  56. package/dist/assets/{companion-watch-frame-page-dPkoED3s.js → companion-watch-frame-page-5ceEF7q3.js} +1 -1
  57. package/dist/assets/{connect-page-DbLeEQxF.js → connect-page-DNWZlgnv.js} +1 -1
  58. package/dist/assets/{consent-controls-DfR6IsHI.js → consent-controls-D9uj6JQJ.js} +1 -1
  59. package/dist/assets/contacts-gateway-D8RID1-I.js +1 -0
  60. package/dist/assets/contacts-page-route-C4EasY_x.js +1 -0
  61. package/dist/assets/{copy-button-D4V65x9R.js → copy-button-BLTfMlwy.js} +1 -1
  62. package/dist/assets/{credential-entry-page-CC_NFEbF.js → credential-entry-page-wNYjZ059.js} +1 -1
  63. package/dist/assets/credentials-page-Cf7CV5Rt.js +1 -0
  64. package/dist/assets/{csv-preview-DWddWd8B.js → csv-preview-8wISJBAJ.js} +1 -1
  65. package/dist/assets/danger-zone-redirect-page-vPibnLYQ.js +1 -0
  66. package/dist/assets/debug-page-DweOcyH1.js +4 -0
  67. package/dist/assets/deploy-dialogs-BYu-9i-a.js +1 -0
  68. package/dist/assets/deploy-dialogs-DYDH-2G5.js +1 -0
  69. package/dist/assets/desktop-preview-content-Dhyn3pAE.js +2 -0
  70. package/dist/assets/{desktop-status-D6XhFAXD.js → desktop-status-ihhlRRVj.js} +1 -1
  71. package/dist/assets/{desktop-viewer-CwGjxDiz.js → desktop-viewer-CDGzdF8U.js} +2 -2
  72. package/dist/assets/{detail-card-RBkdhZeE.js → detail-card-DUTPyMWR.js} +1 -1
  73. package/dist/assets/{detail-panel-stop-button-OKauZTzu.js → detail-panel-stop-button-vfHoa5g5.js} +1 -1
  74. package/dist/assets/detail-primitives-C5F2EgOQ.js +1 -0
  75. package/dist/assets/developer-page-qULH1S_T.js +1 -0
  76. package/dist/assets/devices-redirect-page-MEQQ2K3r.js +1 -0
  77. package/dist/assets/{dictation-overlay-page-DWi_654w.js → dictation-overlay-page-B6692Fw8.js} +1 -1
  78. package/dist/assets/document-load-5D_YjxOm.js +1 -0
  79. package/dist/assets/{document-load-BImJKE6b.js → document-load-Dg2X-prJ.js} +1 -1
  80. package/dist/assets/document-viewer-page-BZ9UMBmM.js +1 -0
  81. package/dist/assets/{emails-page-DRgG2iU-.js → emails-page-FQbvLnSE.js} +1 -1
  82. package/dist/assets/{esm-CAEWVAik.js → esm-5on2zBc9.js} +1 -1
  83. package/dist/assets/esm-CNEE-KGZ.js +1 -0
  84. package/dist/assets/esm-C_-Giy09.js +2 -0
  85. package/dist/assets/esm-D9rt57GT.js +1 -0
  86. package/dist/assets/esm-DB3k7A3I.js +2 -0
  87. package/dist/assets/{esm-DOxardAg.js → esm-DIg1zURi.js} +1 -1
  88. package/dist/assets/esm-TYAhF8No.js +2 -0
  89. package/dist/assets/{esm-CG0ueXyz.js → esm-_SL06ZfE.js} +2 -2
  90. package/dist/assets/esm-mvQAnJfG.js +2 -0
  91. package/dist/assets/esm-s7uCB4rr.js +2 -0
  92. package/dist/assets/{file-diff-view-MJLG55XC.js → file-diff-view-H2DWTdGR.js} +1 -1
  93. package/dist/assets/{file-editor-zljxVqM1.js → file-editor-DEOdNU4j.js} +1 -1
  94. package/dist/assets/general-page-B6Hlxtig.js +2 -0
  95. package/dist/assets/hatching-screen-BmHW0xEG.js +1 -0
  96. package/dist/assets/{hosting-screen-DCDIt-t-.js → hosting-screen-01xH93cA.js} +1 -1
  97. package/dist/assets/identity-page-route-D8I3Ctez.js +7 -0
  98. package/dist/assets/{inspect-page-xaoUoICP.js → inspect-page-BXsKJVcn.js} +5 -5
  99. package/dist/assets/integrations-page-DV3DSaJ9.js +1 -0
  100. package/dist/assets/intelligence-layout-BtF5CSja.js +1 -0
  101. package/dist/assets/intelligence-layout-slots-store-i9_6JG-3.js +1 -0
  102. package/dist/assets/keyboard-shortcuts-redirect-page-DBf_GXyi.js +1 -0
  103. package/dist/assets/{latest-assistant-text-BTp150tH.js → latest-assistant-text-jg3i_mms.js} +3 -3
  104. package/dist/assets/{library-detail-page-BzSb6IEQ.js → library-detail-page-r0rEbTPu.js} +1 -1
  105. package/dist/assets/library-page-C6cJKv8F.js +1 -0
  106. package/dist/assets/local-mode-DIJIIzLC.js +1 -0
  107. package/dist/assets/login-page-C6o5DHhg.js +1 -0
  108. package/dist/assets/logout-page-D_RRwFS_.js +1 -0
  109. package/dist/assets/{logs-layout-Xb4wGoWT.js → logs-layout-C9QbHOoq.js} +1 -1
  110. package/dist/assets/{markdown-preview-D0DqF7iz.js → markdown-preview-mnAsyZyQ.js} +1 -1
  111. package/dist/assets/{media-preview-DZN2yf7r.js → media-preview-1eVxyJPb.js} +1 -1
  112. package/dist/assets/{memory-page-route-DbTGy5dS.js → memory-page-route-DIqzhXI4.js} +2 -2
  113. package/dist/assets/{memory-router-playground-page-DAFTIiv5.js → memory-router-playground-page-BJndHb7S.js} +1 -1
  114. package/dist/assets/{message-files-panel-BuDKGaLT.js → message-files-panel-CKJaKSiV.js} +1 -1
  115. package/dist/assets/{metric-card-BncToo74.js → metric-card-BZ2KPDly.js} +1 -1
  116. package/dist/assets/native-attachment-pickers-BiEqiul6.js +1 -0
  117. package/dist/assets/native-file-BVDBVZQi.js +1 -0
  118. package/dist/assets/{notifications-page-C3i9p5Vc.js → notifications-page-CL6cpiwa.js} +1 -1
  119. package/dist/assets/{oauth-complete-page-DgqkoY_m.js → oauth-complete-page-5PkxRLNP.js} +1 -1
  120. package/dist/assets/{oauth-popup-complete-page-BmxSR325.js → oauth-popup-complete-page-C4anfUcc.js} +2 -2
  121. package/dist/assets/old-chats-page-route-Cpq-GGZu.js +1 -0
  122. package/dist/assets/paired-platform-identity-BgMJKD_7.js +1 -0
  123. package/dist/assets/{pairing-page-Dsbzq7L8.js → pairing-page-TWsyDtR1.js} +1 -1
  124. package/dist/assets/password-reset-page-fGMp3H5W.js +1 -0
  125. package/dist/assets/{pdf-file-preview-CWJ0OMTa.js → pdf-file-preview-BZLGKacS.js} +1 -1
  126. package/dist/assets/{peeking-eyes-CnCoikI6.js → peeking-eyes-Cvk9TVDP.js} +1 -1
  127. package/dist/assets/{personality-page-DlHUe2qc.js → personality-page-CRxiyGwr.js} +1 -1
  128. package/dist/assets/{personality-page-DKo_lJxu.js → personality-page-C_Qb2FsM.js} +1 -1
  129. package/dist/assets/personality-sliders-BXCfVe6f.js +1 -0
  130. package/dist/assets/plans-page-CN8tfnWX.js +1 -0
  131. package/dist/assets/{platform-loopback-page-BzQhvfv_.js → platform-loopback-page-C_6EKr9f.js} +1 -1
  132. package/dist/assets/plugin-detail-page-BRdZ9_PZ.js +1 -0
  133. package/dist/assets/{plugins-page-Dl7GFK6d.js → plugins-page-Do5fmApA.js} +1 -1
  134. package/dist/assets/plugins-surface-qM9pVxyj.js +1 -0
  135. package/dist/assets/{preview-error-DuDAfoam.js → preview-error-DebdwbR1.js} +1 -1
  136. package/dist/assets/privacy-page-DphaMD3F.js +1 -0
  137. package/dist/assets/privacy-screen-C6PcqCiz.js +1 -0
  138. package/dist/assets/profile-card-Cp0pViX1.js +1 -0
  139. package/dist/assets/{provider-callback-page-C0UGaWIw.js → provider-callback-page-CN1pwzmd.js} +1 -1
  140. package/dist/assets/{provider-key-CbhZiNNN.js → provider-key-5CVFROaJ.js} +1 -1
  141. package/dist/assets/{provider-signup-page-Drji-PwC.js → provider-signup-page-BZJqp_Br.js} +1 -1
  142. package/dist/assets/{provisioning-targets-DdCpl6ZX.js → provisioning-targets-BNRXmMfU.js} +1 -1
  143. package/dist/assets/{quick-input-page-DmpCyTr4.js → quick-input-page-B_Q2Q1HG.js} +1 -1
  144. package/dist/assets/{referral-modal-BSn13lRu.js → referral-modal-BU-_Bk5e.js} +1 -1
  145. package/dist/assets/referral-modal-Dn53V5E3.js +1 -0
  146. package/dist/assets/{rehype-katex-BYCIqkMD.js → rehype-katex-uauQJg6U.js} +1 -1
  147. package/dist/assets/{research-mock-page-8RHdSLhH.js → research-mock-page-BN2v051j.js} +1 -1
  148. package/dist/assets/research-onboarding-route-Csom4cDX.js +50 -0
  149. package/dist/assets/review-terms-screen-YQCrVz4G.js +1 -0
  150. package/dist/assets/routes-CmXYdFM_.js +1 -0
  151. package/dist/assets/schedules-B64gBkC-.js +1 -0
  152. package/dist/assets/schedules-BCFV8MBX.js +1 -0
  153. package/dist/assets/schedules-CKBcpKfW.js +1 -0
  154. package/dist/assets/schedules-CYHcCKDM.js +1 -0
  155. package/dist/assets/schedules-page-Ch0i1Bx8.js +1 -0
  156. package/dist/assets/security-redirect-page-Crs0vkbt.js +1 -0
  157. package/dist/assets/select-assistant-screen-Dan1H529.js +1 -0
  158. package/dist/assets/{self-hosted-servers-Cmtr5Sxi.js → self-hosted-servers-DRqHd9X0.js} +1 -1
  159. package/dist/assets/service-form-controls-6rocB58m.js +1 -0
  160. package/dist/assets/{setting-row-DJHlwNfk.js → setting-row-BJVjrwAM.js} +1 -1
  161. package/dist/assets/settings-divider-Cqp_zHA3.js +1 -0
  162. package/dist/assets/{settings-layout-BO2YTV10.js → settings-layout-1tVkE0F9.js} +1 -1
  163. package/dist/assets/share-feedback-modal-C8jqZXjZ.js +2 -0
  164. package/dist/assets/share-feedback-modal-vFMeagCZ.js +1 -0
  165. package/dist/assets/{sidebar-tree-CTzyarHJ.js → sidebar-tree-ClNKfilb.js} +1 -1
  166. package/dist/assets/{signup-page-BKvCi12D.js → signup-page-E62oW6Ee.js} +1 -1
  167. package/dist/assets/{signup-shell-gBjslY90.js → signup-shell-CA2BcztJ.js} +1 -1
  168. package/dist/assets/{skill-detail-page-zLTItuem.js → skill-detail-page-DhXzKBsS.js} +2 -2
  169. package/dist/assets/skill-detail-panel-8Jlvtw-f.js +1 -0
  170. package/dist/assets/{skill-removal-dialog-CJY2_gFa.js → skill-removal-dialog-CqkNrnI6.js} +1 -1
  171. package/dist/assets/{skills-page-BkT3-aGG.js → skills-page-WqXzDcSw.js} +1 -1
  172. package/dist/assets/{sounds-page-4d7iyYdU.js → sounds-page-DXMggXRN.js} +1 -1
  173. package/dist/assets/{start-screen-BIVBGox6.js → start-screen-BNpCuwAK.js} +1 -1
  174. package/dist/assets/{stt-language-picker-modal-D_LD1BqB.js → stt-language-picker-modal-Bo19Lxbg.js} +1 -1
  175. package/dist/assets/subagent-detail-panel-DEYI-MR7.js +1 -0
  176. package/dist/assets/superpowers-page-3y9Us08v.js +1 -0
  177. package/dist/assets/{system-events-page-BZ7CDi5p.js → system-events-page-DWm2K6yY.js} +1 -1
  178. package/dist/assets/system-events-redirect-page-CTKY2f90.js +1 -0
  179. package/dist/assets/{text-preview-Nsx4hRjY.js → text-preview-AHyJ-OlE.js} +1 -1
  180. package/dist/assets/{theme-stage-page-SR2lpWko.js → theme-stage-page-5v61dfFJ.js} +1 -1
  181. package/dist/assets/{tiptap-document-editor-Dugai94Z.js → tiptap-document-editor-CdCkeKj2.js} +1 -1
  182. package/dist/assets/tool-detail-panel-0-uBykY9.js +16 -0
  183. package/dist/assets/tool-detail-panel-cZnuhApE.js +1 -0
  184. package/dist/assets/{trait-cycle-row-BF-99QGB.js → trait-cycle-row-3KL42qVb.js} +1 -1
  185. package/dist/assets/upgrade-cancel-page-CXm11Ija.js +1 -0
  186. package/dist/assets/{upgrade-success-page-pgUoRwgU.js → upgrade-success-page-COGqHaiD.js} +1 -1
  187. package/dist/assets/{usage-redirect-page-gcglHutp.js → usage-redirect-page-BbhbtMeg.js} +1 -1
  188. package/dist/assets/{use-app-delete-6cqgxcYk.js → use-app-delete-CwZDQRbV.js} +1 -1
  189. package/dist/assets/use-assistant-identity-details-C3YN0L1m.js +1 -0
  190. package/dist/assets/use-checkout-dismiss-refresh-CbukFeEz.js +1 -0
  191. package/dist/assets/use-edge-swipe-back-D8qNocgj.js +1 -0
  192. package/dist/assets/{use-hotkey-recorder-Byjcx16O.js → use-hotkey-recorder-DsdNNoTd.js} +1 -1
  193. package/dist/assets/use-invite-link-dialog-CgCFFVuh.js +1 -0
  194. package/dist/assets/use-plugins-list-Bya3gS2p.js +1 -0
  195. package/dist/assets/use-return-to-short-circuit-BjUJgB1t.js +1 -0
  196. package/dist/assets/{use-side-list-room-T8KJvH7p.js → use-side-list-room-CRBa0Wsu.js} +1 -1
  197. package/dist/assets/{use-skill-actions-DBpPjM48.js → use-skill-actions-DTy_ehWy.js} +1 -1
  198. package/dist/assets/{use-skill-detail-files-DdP4ERwy.js → use-skill-detail-files-D4K5_bkS.js} +1 -1
  199. package/dist/assets/use-supports-credentials-settings-CzQCsZNb.js +1 -0
  200. package/dist/assets/use-transcript-message-by-id-DeNvx8hu.js +1 -0
  201. package/dist/assets/{vendor-CYmPHUS2.js → vendor-CdI_SanL.js} +2 -2
  202. package/dist/assets/voice-page-BTyr1y0l.js +1 -0
  203. package/dist/assets/wake-detail-panel--8KYCdrX.js +1 -0
  204. package/dist/assets/{weather-forecast-display-z2cn9Ylw.js → weather-forecast-display-CIaHe15d.js} +1 -1
  205. package/dist/assets/{web-uMYezZUh.js → web-Bzy7JpRT.js} +1 -1
  206. package/dist/assets/{web-DxZPopg-.js → web-C58Hc3sz.js} +1 -1
  207. package/dist/assets/{web-Ctv2Az05.js → web-CTztreeN.js} +1 -1
  208. package/dist/assets/{web-Dapt-meP.js → web-DOqF8Z_-.js} +1 -1
  209. package/dist/assets/{web-CI3vhYW4.js → web-De689DDo.js} +1 -1
  210. package/dist/assets/{web-BYVWYFiV.js → web-DfLqKdhu.js} +1 -1
  211. package/dist/assets/{web-5CbNg5DV.js → web-DgCQk9QK.js} +1 -1
  212. package/dist/assets/{web-D2TFV4O3.js → web-DxuQSSSw.js} +1 -1
  213. package/dist/assets/{web-CvkUifWd.js → web-NmqfNq3U.js} +1 -1
  214. package/dist/assets/welcome-screen-Bq8UEtIK.js +1 -0
  215. package/dist/assets/workflow-detail-panel-Ci_Mursi.js +1 -0
  216. package/dist/assets/{workspace-page-CAKrqiua.js → workspace-page-QxSQ0J1F.js} +1 -1
  217. package/dist/index.html +3 -3
  218. package/package.json +1 -1
  219. package/dist/assets/acp-run-detail-panel-ZMurb2U4.js +0 -3
  220. package/dist/assets/activation-list-route-B6gs5a1E.js +0 -1
  221. package/dist/assets/activity-steps-panel-oPxwforM.js +0 -1
  222. package/dist/assets/add-credits-modal-DPxdUzMN.js +0 -1
  223. package/dist/assets/ai-page-CkRPZ6AS.js +0 -1
  224. package/dist/assets/app-Bt7_4qDf.css +0 -2
  225. package/dist/assets/app-CuJb51Ub.js +0 -392
  226. package/dist/assets/archive-redirect-page-RvHNp7Bj.js +0 -1
  227. package/dist/assets/assistant-handle-modal-BRiG9i6h.js +0 -1
  228. package/dist/assets/assistant-inbox-page-route-bl3sym1B.js +0 -8
  229. package/dist/assets/auth-store-DaELMwxW.js +0 -1
  230. package/dist/assets/avatar-bundled-components-B17wqAfu.js +0 -1
  231. package/dist/assets/avatar-random-pfwnM7gG.js +0 -2
  232. package/dist/assets/background-task-detail-panel-ByKAldw1.js +0 -1
  233. package/dist/assets/billing-page-C8Kct5_W.js +0 -3
  234. package/dist/assets/bookmarks-page-DMD8fJ_4.js +0 -1
  235. package/dist/assets/channel-transcript-panel-CTebK_R-.js +0 -1
  236. package/dist/assets/channels-page-route-DdD8wtc6.js +0 -1
  237. package/dist/assets/chat-BMvgjoaE.js +0 -3
  238. package/dist/assets/chat-Tf6vwiZF.js +0 -3
  239. package/dist/assets/chat-XTdwAIMs.js +0 -3
  240. package/dist/assets/chat-info-panel-ZWQoXKte.js +0 -1
  241. package/dist/assets/checkout-continuation-B4jzmA7d.js +0 -1
  242. package/dist/assets/checkout-page-DXa67FMK.js +0 -1
  243. package/dist/assets/checkout-return-target-BPGhcrkl.js +0 -1
  244. package/dist/assets/command-palette-fmZyoBR-.js +0 -1
  245. package/dist/assets/companion-surface-page-3XNMFxTQ.js +0 -1
  246. package/dist/assets/contacts-gateway-d-y646Z7.js +0 -1
  247. package/dist/assets/contacts-page-route-fdw7hTRm.js +0 -1
  248. package/dist/assets/credentials-page-DB9ZdkHa.js +0 -1
  249. package/dist/assets/danger-zone-redirect-page-CSRwK5IS.js +0 -1
  250. package/dist/assets/debug-page-DhHfz_7g.js +0 -4
  251. package/dist/assets/deploy-dialogs-DR-3t8lu.js +0 -1
  252. package/dist/assets/deploy-dialogs-DjptDCDt.js +0 -1
  253. package/dist/assets/desktop-preview-content-DVu8RwqH.js +0 -2
  254. package/dist/assets/detail-primitives-DUplMiby.js +0 -1
  255. package/dist/assets/developer-page-C2A5rbGd.js +0 -1
  256. package/dist/assets/devices-redirect-page-CEhKfx9w.js +0 -1
  257. package/dist/assets/document-load-DigzYkKe.js +0 -1
  258. package/dist/assets/document-viewer-page-Ba33RQu-.js +0 -1
  259. package/dist/assets/esm-BH0KFYVK.js +0 -2
  260. package/dist/assets/esm-BXFfs0Tk.js +0 -2
  261. package/dist/assets/esm-CT0ZrwJA.js +0 -2
  262. package/dist/assets/esm-KPTngYDV.js +0 -1
  263. package/dist/assets/esm-bM6TjnbQ.js +0 -2
  264. package/dist/assets/esm-baSLKmq7.js +0 -1
  265. package/dist/assets/esm-v_AdtkOG.js +0 -2
  266. package/dist/assets/general-page-Cpso8KX8.js +0 -2
  267. package/dist/assets/hatching-screen-DxPhFMQU.js +0 -1
  268. package/dist/assets/identity-page-route-BrQVfOp-.js +0 -7
  269. package/dist/assets/integrations-page-CLoQBZkk.js +0 -1
  270. package/dist/assets/intelligence-layout-CaIcPBw8.js +0 -1
  271. package/dist/assets/intelligence-layout-slots-store-DvsrWW-i.js +0 -1
  272. package/dist/assets/keyboard-shortcuts-redirect-page-BPqjRP4K.js +0 -1
  273. package/dist/assets/library-page-CtJ9kssD.js +0 -1
  274. package/dist/assets/local-mode-CaoN0Sn7.js +0 -1
  275. package/dist/assets/login-page-BjrVlKsv.js +0 -1
  276. package/dist/assets/logout-page-DUl9JwnN.js +0 -1
  277. package/dist/assets/native-attachment-pickers-AncXy1zz.js +0 -1
  278. package/dist/assets/native-file-DM_uMrba.js +0 -1
  279. package/dist/assets/paired-platform-identity-DGOgilFb.js +0 -1
  280. package/dist/assets/password-reset-page-PdHEN7Fr.js +0 -1
  281. package/dist/assets/personality-sliders-BqmVzcmM.js +0 -1
  282. package/dist/assets/plans-page-BpFMs8mZ.js +0 -1
  283. package/dist/assets/plugin-detail-page-rt0R_AaV.js +0 -1
  284. package/dist/assets/plugins-surface-iPrkdvkP.js +0 -1
  285. package/dist/assets/privacy-page-Bh12czrY.js +0 -1
  286. package/dist/assets/privacy-screen-Cz6H68zD.js +0 -1
  287. package/dist/assets/profile-card-J_samGMh.js +0 -1
  288. package/dist/assets/referral-modal-QJAdmDzx.js +0 -1
  289. package/dist/assets/research-onboarding-route-BqvFXKx_.js +0 -50
  290. package/dist/assets/review-terms-screen-CpSlI6us.js +0 -1
  291. package/dist/assets/routes-DRjjKNUc.js +0 -1
  292. package/dist/assets/schedules-BM8Lza7o.js +0 -1
  293. package/dist/assets/schedules-COt7uOT5.js +0 -1
  294. package/dist/assets/schedules-DR6w8i2K.js +0 -1
  295. package/dist/assets/schedules-Dusp4Vm1.js +0 -1
  296. package/dist/assets/schedules-page-B5_qnJEH.js +0 -1
  297. package/dist/assets/security-redirect-page-DDk2mqiF.js +0 -1
  298. package/dist/assets/select-assistant-screen-CFAo9xC-.js +0 -1
  299. package/dist/assets/service-form-controls-DlTzRBdL.js +0 -1
  300. package/dist/assets/settings-divider-2hwVjQ2t.js +0 -1
  301. package/dist/assets/share-feedback-modal-BCn8wVXT.js +0 -1
  302. package/dist/assets/share-feedback-modal-bqiJ8vPh.js +0 -2
  303. package/dist/assets/skill-detail-panel-_BKlfS5A.js +0 -1
  304. package/dist/assets/subagent-detail-panel-DxQEOvTp.js +0 -1
  305. package/dist/assets/superpowers-page-BjEYHHMk.js +0 -1
  306. package/dist/assets/system-events-redirect-page-DqVcQQuk.js +0 -1
  307. package/dist/assets/tool-detail-panel-Bj8XNtkn.js +0 -16
  308. package/dist/assets/tool-detail-panel-CwG8CQh8.js +0 -1
  309. package/dist/assets/upgrade-cancel-page-CsrYUn80.js +0 -1
  310. package/dist/assets/use-assistant-identity-details-CE2qbada.js +0 -1
  311. package/dist/assets/use-checkout-dismiss-refresh-DkBaF6E8.js +0 -1
  312. package/dist/assets/use-edge-swipe-back-DkP4tGf3.js +0 -1
  313. package/dist/assets/use-invite-link-dialog-EnK2z5A8.js +0 -1
  314. package/dist/assets/use-plugins-list-B6wYwnD_.js +0 -1
  315. package/dist/assets/use-return-to-short-circuit-H0BQmE_J.js +0 -1
  316. package/dist/assets/use-supports-credentials-settings-bnerf0ml.js +0 -1
  317. package/dist/assets/use-transcript-message-by-id-DMHKS6AX.js +0 -1
  318. package/dist/assets/voice-page-BSofznRi.js +0 -1
  319. package/dist/assets/wake-detail-panel-BrI4U7x3.js +0 -1
  320. package/dist/assets/welcome-screen-DwN2j4Gh.js +0 -1
  321. package/dist/assets/workflow-detail-panel-nERp7IVc.js +0 -1
  322. /package/dist/assets/{account-CGF4YCs6.js → account-BEwyaW2A.js} +0 -0
  323. /package/dist/assets/{account-B6SZEbjB.js → account-BYr8qc1A.js} +0 -0
  324. /package/dist/assets/{account-CJNvbYMo.js → account-C4MERgPE.js} +0 -0
  325. /package/dist/assets/{account-BTCX8OvN.js → account-CGu6mX76.js} +0 -0
  326. /package/dist/assets/{activation-BcmlXlki.js → activation-BAj99dDA.js} +0 -0
  327. /package/dist/assets/{activation-BIb8yZib.js → activation-BaUj9yEX.js} +0 -0
  328. /package/dist/assets/{activation-CtKKSwsj.js → activation-C3_gPiyg.js} +0 -0
  329. /package/dist/assets/{activation-D4Z8d600.js → activation-CTW48-gx.js} +0 -0
  330. /package/dist/assets/{activation-tasks-CxKVYvoX.js → activation-tasks-BSv_5K6y.js} +0 -0
  331. /package/dist/assets/{activation-tasks-0CJ2Ckhl.js → activation-tasks-BhrqC5zD.js} +0 -0
  332. /package/dist/assets/{activation-tasks-BUCVYC6O.js → activation-tasks-C9IJwGQl.js} +0 -0
  333. /package/dist/assets/{activation-tasks-DIl_NU8H.js → activation-tasks-Dj6xgIno.js} +0 -0
  334. /package/dist/assets/{app-types-Bhv1QIYY.js → app-types-DWkzXVY-.js} +0 -0
  335. /package/dist/assets/{assistant-inbox-DsdFMHPG.js → assistant-inbox-B8rdhOZs.js} +0 -0
  336. /package/dist/assets/{assistant-inbox-D9TUdSDf.js → assistant-inbox-DAczGwBg.js} +0 -0
  337. /package/dist/assets/{assistant-inbox-BTthGy8r.js → assistant-inbox-DvkO5k8F.js} +0 -0
  338. /package/dist/assets/{assistant-inbox-afWVgVXS.js → assistant-inbox-lwoj_xbR.js} +0 -0
  339. /package/dist/assets/{build.umd-D2Gn4hc9.js → build.umd-CqckGTp_.js} +0 -0
  340. /package/dist/assets/{channels-D8sm_qqv.js → channels-BGnrxMlL.js} +0 -0
  341. /package/dist/assets/{channels-Ig5E4zAW.js → channels-CUIFz0tM.js} +0 -0
  342. /package/dist/assets/{channels-BuZPelJ-.js → channels-D5blMBQj.js} +0 -0
  343. /package/dist/assets/{channels-CuNLefDI.js → channels-DXT2LPU7.js} +0 -0
  344. /package/dist/assets/{contacts-MUCkcGvC.js → contacts-BBVPvUi_.js} +0 -0
  345. /package/dist/assets/{contacts-CK3oNIfb.js → contacts-CgJbx3wM.js} +0 -0
  346. /package/dist/assets/{contacts-Du0mkP7C.js → contacts-DPIW80Bj.js} +0 -0
  347. /package/dist/assets/{contacts-_nz42ZZ_.js → contacts-DaqO2ujW.js} +0 -0
  348. /package/dist/assets/{credential-requests-DubAqUiZ.js → credential-requests-B1tkyOYe.js} +0 -0
  349. /package/dist/assets/{credential-requests-Cp59Lsj5.js → credential-requests-BiqA39uf.js} +0 -0
  350. /package/dist/assets/{credential-requests-DkdgEuGe.js → credential-requests-ClpQoHpj.js} +0 -0
  351. /package/dist/assets/{credential-requests-BE0rJ0wR.js → credential-requests-DUSK44l-.js} +0 -0
  352. /package/dist/assets/{definitions-DaNVCwWR.js → definitions-B1DK4OsQ.js} +0 -0
  353. /package/dist/assets/{definitions-COMG0KSg.js → definitions-alqf_FBK.js} +0 -0
  354. /package/dist/assets/{diff-rows-DXG1Tw8n.js → diff-rows-Dbr46c1X.js} +0 -0
  355. /package/dist/assets/{format-countdown-V7kp5VfL.js → format-countdown-DC6-decy.js} +0 -0
  356. /package/dist/assets/{home-B4mFw6dT.js → home-BQ2k-J5k.js} +0 -0
  357. /package/dist/assets/{home-CYyxII3D.js → home-BfycUEfc.js} +0 -0
  358. /package/dist/assets/{home-CmNwqbst.js → home-DQV3uQdp.js} +0 -0
  359. /package/dist/assets/{home-BzR8_HQU.js → home-Dghz2la5.js} +0 -0
  360. /package/dist/assets/{intelligence-CpXzEjYF.js → intelligence-5R66JNXA.js} +0 -0
  361. /package/dist/assets/{intelligence-DGdtAPWo.js → intelligence-CVuKE08i.js} +0 -0
  362. /package/dist/assets/{intelligence-DBi0b7qu.js → intelligence-D4IQwdjZ.js} +0 -0
  363. /package/dist/assets/{intelligence-DNltjvNx.js → intelligence-nceFVq4Q.js} +0 -0
  364. /package/dist/assets/{library-zJtAtUFf.js → library-C3Xoa3dl.js} +0 -0
  365. /package/dist/assets/{library-DOKbGvUV.js → library-Cr1Ps6Jv.js} +0 -0
  366. /package/dist/assets/{library-Bf8joD86.js → library-DBpFmg90.js} +0 -0
  367. /package/dist/assets/{library-Cx2cjKPf.js → library-fzP-rCSA.js} +0 -0
  368. /package/dist/assets/{logs-Ax_rHiGT.js → logs-BAR6J_eh.js} +0 -0
  369. /package/dist/assets/{logs-xFKvsM90.js → logs-BwEEiIiP.js} +0 -0
  370. /package/dist/assets/{logs-B5trKA2g.js → logs-C1_cFGjD.js} +0 -0
  371. /package/dist/assets/{logs-BF5SeNKP.js → logs-u9EwjNcs.js} +0 -0
  372. /package/dist/assets/{machine-sizes-3x95p4n1.js → machine-sizes-DR6B2P3j.js} +0 -0
  373. /package/dist/assets/{onboarding-xZiMELt_.js → onboarding-Bd1uq_3I.js} +0 -0
  374. /package/dist/assets/{onboarding-BKY3R-h7.js → onboarding-C94kGV-y.js} +0 -0
  375. /package/dist/assets/{onboarding-Bcx45nYG.js → onboarding-DX7thP3M.js} +0 -0
  376. /package/dist/assets/{onboarding-DPxPqQZZ.js → onboarding-Dyv_-Oqu.js} +0 -0
  377. /package/dist/assets/{onboarding-step-layout-B7jTKWhx.js → onboarding-step-layout-shlirvZe.js} +0 -0
  378. /package/dist/assets/{pdf-BxHYDuSN.js → pdf-CIHZ5Dyn.js} +0 -0
  379. /package/dist/assets/{plugin-attribution-BxpfUKdX.js → plugin-attribution-ClFWn36v.js} +0 -0
  380. /package/dist/assets/{radio-card-nav-DkCS-TkI.js → radio-card-nav-BPAvyD6V.js} +0 -0
  381. /package/dist/assets/{remote-web-DLWX5CP8.js → remote-web-CkMkcuXP.js} +0 -0
  382. /package/dist/assets/{remote-web-D7sTkxyl.js → remote-web-CwQ8U-h7.js} +0 -0
  383. /package/dist/assets/{remote-web-DBr-nqs0.js → remote-web-D0OaKaVN.js} +0 -0
  384. /package/dist/assets/{remote-web-BNCSZhe7.js → remote-web-DyaxaETl.js} +0 -0
  385. /package/dist/assets/{schedules-Dg-sdjRQ.js → schedules-1QMuwrrT.js} +0 -0
  386. /package/dist/assets/{settings-C3z9L8MJ.js → settings-D7zdJ5Br.js} +0 -0
  387. /package/dist/assets/{settings-fUw4hAbD.js → settings-Dgksxo2-.js} +0 -0
  388. /package/dist/assets/{settings-B3vTMNhh.js → settings-DyTxaxka.js} +0 -0
  389. /package/dist/assets/{settings-DB7J6r5t.js → settings-G_D0ydZG.js} +0 -0
  390. /package/dist/assets/{status-badge-pill-DOZpKLHj.js → status-badge-pill-C_m-iPPh.js} +0 -0
  391. /package/dist/assets/{terminal-B2CXYcEa.js → terminal-BQYreO7Z.js} +0 -0
  392. /package/dist/assets/{terminal-C2Mcr7Di.js → terminal-BYsstUbg.js} +0 -0
  393. /package/dist/assets/{terminal-B5az4g11.js → terminal-BcirOSvD.js} +0 -0
  394. /package/dist/assets/{terminal-YHk7L5QT.js → terminal-OhEuID9L.js} +0 -0
  395. /package/dist/assets/{usage-window-ClzDdz34.js → usage-window-B4S3i-S_.js} +0 -0
  396. /package/dist/assets/{use-debounced-value-Dbgs3rOl.js → use-debounced-value-BerMmGRX.js} +0 -0
  397. /package/dist/assets/{workspace-CUWfQ3RP.js → workspace-B6mE9T0S.js} +0 -0
  398. /package/dist/assets/{workspace-Dh6SfA9u.js → workspace-DHOLON1y.js} +0 -0
  399. /package/dist/assets/{workspace-CI_A5iz2.js → workspace-Uyrz9IpI.js} +0 -0
  400. /package/dist/assets/{workspace-DUGmDQIb.js → workspace-b31DFdQ1.js} +0 -0
  401. /package/dist/assets/{xterm-BLrzNn2R.js → xterm-C_wiGu4Y.js} +0 -0
  402. /package/dist/assets/{xterm-addon-fit-Dcf9juuw.js → xterm-addon-fit-BJPWTwfs.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{BS as t,Bl as n,Bv as r,CS as i,Cx as a,Fp as o,Fr as s,Gf as c,Gv as l,Hd as u,Hl as d,Hs as f,Hv as p,IS as m,Ig as h,Ip as g,Ir as _,JS as v,Jf as y,Kf as b,LS as x,Li as S,Lp as C,Lr as w,MS as T,Mx as E,Pr as D,Rp as O,Ru as k,TS as A,Us as j,Vl as M,Vp as N,Xf as P,Yf as F,Ys as ee,Yv as I,Zc as te,_S as L,_i as R,aS as z,fi as B,gS as V,hS as H,im as ne,jS as U,mi as re,nm as ie,nt as ae,pi as oe,qf as se,qv as ce,tS as le,wx as ue,zS as de,zx as W}from"./app-CuJb51Ub.js";import{$n as fe,Qn as G,Yn as K,j as q,tr as J}from"./vendor-CYmPHUS2.js";import{_ as pe,d as me,f as he,t as ge,x as _e}from"./react-B9IgSVeK.js";import{$r as ve,A as ye,At as be,D as xe,Ji as Se,Lt as Ce,Pt as we,Ya as Te,Yn as Ee,Zr as Y,a as X,dr as De,ft as Oe,gt as ke,li as Ae,qi as je,vt as Me,za as Ne}from"./icons-C0wyat6T.js";import{a as Pe,n as Fe,r as Ie,u as Le}from"./use-plugins-list-B6wYwnD_.js";var Re=Te(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),ze=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Be=new Set(ze);function Ve(e){return typeof e==`string`&&Be.has(e)}var Z=e(_e(),1),Q=ge(),He={"mcp-oauth":Re,"mcp-manual":Re,"managed-oauth":Oe,"own-oauth":De};function Ue(e){let{t}=q(`settings`);return(0,Z.useCallback)(n=>{switch(n.kind){case`mcp-oauth`:return t(`connectMethod.mcp`,{name:e});case`mcp-manual`:return t(`connectMethod.mcpManual`);case`managed-oauth`:return t(`connectMethod.managed`);case`own-oauth`:return t(`connectMethod.own`)}},[t,e])}function We(e,n,r){return e.map(e=>(0,Q.jsx)(t.Item,{icon:He[e.kind],label:n(e),onSelect:()=>r(e)},e.id))}var Ge={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ke(e){return Object.entries(Ge).some(([t,n])=>t===e&&n!==e)}function qe(e){return`plugin:${e}`}function Je(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function Ye(e){return async()=>(await e.install(),Je(await e.loadPluginServers()))}function Xe(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function Ze(e){return Ve(e)?e:null}function Qe(e){let{connectedCount:t,needsAttention:n}=et(e,[]);return{connectedCount:t,needsAttention:n}}function $e(e,t){return e.filter(e=>e.provider===t)}function et(e,t,n=!0){let r=t.flatMap(e=>e.servers),i=t.filter(e=>nt(e,n));return{connectedCount:e.filter(e=>e.connected).length+r.filter(e=>e.status===`connected`).length,needsAttention:e.some(e=>!e.connected)||i.some(e=>e.servers.some(e=>e.status!==`connected`)),configured:e.length>0||i.length>0}}function tt(e){return e.status===`connected`||e.hasOAuth||e.hasStaticAuth}function nt(e,t=!0){return t?e.servers.some(tt)?!0:!!e.definition.installed&&Je(e.servers)===null:!!e.definition.installed||e.servers.length>0}function rt(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function it(e,t,n,r=[],i=!0){let a=r.map(e=>({definition:e,servers:Xe(n,e.pluginName)})),o=new Set,s=new Set(a.flatMap(e=>e.servers));return[...e.filter(e=>e.supports_managed_mode).flatMap(e=>{let n=$e(t,e.provider_key);if(Ke(e.provider_key)&&n.length===0)return[];let r=a.filter(t=>t.definition.oauthProvider===e.provider_key);return r.forEach(e=>o.add(e)),[{kind:`oauth`,id:`oauth:${e.provider_key}`,name:e.display_name??e.provider_key,description:[e.description,...r.map(e=>e.definition.description)].filter(Boolean).join(` `),configured:et(n,r,i).configured,category:Ze(e.category),provider:e,connections:n,methods:r}]}),...a.filter(e=>!o.has(e)).map(e=>({kind:`plugin`,id:`plugin:${e.definition.pluginName}`,name:e.definition.displayName,description:e.definition.description,configured:nt(e,i),category:e.definition.category??null,method:e})),...n.filter(e=>!s.has(e)).map(e=>({kind:`mcp`,id:`mcp:${e.id}`,name:e.id,description:[e.pluginName,rt(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function at(e,t,n=null){let r=t.trim().toLocaleLowerCase();return e.filter(e=>!n||e.category===n).filter(e=>!r||e.name.toLocaleLowerCase().includes(r)||e.description.toLocaleLowerCase().includes(r)).sort((e,t)=>Number(t.configured)-Number(e.configured)||e.name.localeCompare(t.name)||e.id.localeCompare(t.id))}function ot(e){return e.logo?R(`/images/integrations/${e.logo}`):null}function st(e){return e===`mcp-oauth`||e===`mcp-manual`}function ct(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function lt(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=ct(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:rt(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ut(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function dt(e,t){return e.map(e=>({id:`oauth:${e.id}`,methodId:t,methodKind:`managed-oauth`,label:e.account_label,accountId:e.id,status:e.connected?`connected`:`needs-attention`,canReconnect:!e.connected}))}function ft(e,t){let{definition:n}=e,r=n.setup.mode===`manual`?`mcp-manual`:`mcp-oauth`,i=`mcp:${n.pluginName}`,a=t&&e.servers.length===0&&n.installed;return{id:i,kind:r,availability:`available`,instructions:n.setup.instructions,setupGuideUrl:n.documentationUrl,connections:a?[ut(n,i,r)]:lt(e,i,r),plugin:n}}function pt(e,t){let n=[],r,i=null,a;if(e.kind===`oauth`){r=e.provider.provider_key,i=e.provider.logo_url,a=e.provider.description;for(let r of e.methods)n.push(ft(r,t.mcpServersLoaded));if(t.platformGate!==`gated`){let r=`managed:${e.provider.provider_key}`;n.push({id:r,kind:`managed-oauth`,availability:t.platformGate===`full`?`available`:`login-required`,connections:dt(e.connections,r)})}t.ownOAuthAvailable&&n.push({id:`own:${e.provider.provider_key}`,kind:`own-oauth`,availability:`available`,setupGuideUrl:e.provider.dashboard_url??void 0,connections:[]})}else{let{definition:o}=e.method;r=o.pluginName,i=ot(o),a=o.description,n.push(ft(e.method,t.mcpServersLoaded))}let[o,...s]=n;return o?{name:e.name,description:a,iconKey:r,logoUrl:i,primary:o,alternatives:s}:null}function mt(e){return[e.primary,...e.alternatives]}function ht(e){return mt(e).flatMap(e=>e.connections)}function gt(e){return mt(e).filter(e=>!st(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,_t=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function vt({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,footer:o,layout:s=`row`}){return s===`tile`?(0,Q.jsxs)(x.Root,{bordered:!0,className:`flex h-full flex-col gap-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[e,(0,Q.jsxs)(`div`,{className:`${_t} justify-end`,children:[i,a]})]}),(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),n?(0,Q.jsx)(`p`,{className:`line-clamp-2 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]})]}):(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.Body,{padding:`md`,className:`grid grid-cols-[2rem_minmax(6rem,1fr)_minmax(0,auto)] items-start gap-x-3`,children:[e,(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),r]}),n?(0,Q.jsx)(`p`,{className:`line-clamp-2 text-body-medium-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]}),(0,Q.jsxs)(`div`,{className:`${_t} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function yt({plan:e,title:t,description:n}){return(0,Q.jsx)(L.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(w,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:40}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(L.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Q.jsx)(L.Description,{children:n})]})]})})}function bt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:i=!1,toolsByConnectionId:a,ownOAuthContent:o,tenantHost:s,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onReconnect:f,onDisconnect:p,onOpenTools:m,onCopyCallbackUrl:h,onOpenSetupGuide:g,onClose:_}){let{t:y}=q(`settings`),b=Ue(e.name),x=mt(e),S=ht(e),[C,w]=(0,Z.useState)(()=>n?{kind:`connect`,methodId:n}:S.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(null);function k(t){return t.kind===`connect`?t:S.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!S.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let A=k(C);function j(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return y(`integrationConnect.tagMcp`);case`managed-oauth`:return y(`integrationConnect.tagVellum`);case`own-oauth`:return y(`integrationConnect.tagOwnApp`)}}function M(t){return t.label?t.label:st(t.methodKind)?y(`integrationConnect.connectionMcpLabel`,{name:e.name}):y(`integrationConnect.connectionAccountLabel`,{name:e.name})}function N(e,t){return We(e,b,t)}function P(e){E(!1),w({kind:`connect`,methodId:e.id})}function F(){if(S.length>0){w({kind:`connections`});return}w({kind:`connect`,methodId:e.primary.id})}let ee=A.kind===`tools`?S.find(e=>e.id===A.connectionId):void 0,I=A.kind===`connect`?x.find(e=>e.id===A.methodId)??e.primary:e.primary;function te(e){let t=e.setupGuideUrl;return t?(0,Q.jsx)(v,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>g(t),children:y(`integrationConnect.setupGuide`)}):null}return(0,Q.jsxs)(L.Root,{open:!0,onOpenChange:e=>{e||_()},children:[(0,Q.jsx)(L.Content,{size:`md`,children:A.kind===`connect`?(0,Q.jsx)(xt,{plan:e,method:I,setupGuide:te(I),methods:x,attempt:t,callbackUrl:r,callbackCopied:i,ownOAuthContent:o,tenantHost:s,acknowledged:T,hasConnections:S.length>0,methodItems:N,onAcknowledge:E,onPickMethod:P,onBack:F,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onCopyCallbackUrl:h,onClose:_}):A.kind===`tools`?(0,Q.jsx)(Dt,{plan:e,connection:ee,title:ee?M(ee):e.name,tools:a?.[A.connectionId],onBack:()=>w({kind:`connections`}),onClose:_}):(0,Q.jsx)(Tt,{plan:e,methods:x,connections:S,connectionTitle:M,methodTag:j,methodItems:N,onPickMethod:P,onOpenTools:e=>{m?.(e),w({kind:`tools`,connectionId:e.id})},onReconnect:e=>{f(e),w({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:O,onClose:_})}),(0,Q.jsx)(H,{open:D!==null,destructive:!0,title:y(`integrationConnect.removeTitle`,{label:D?M(D):``}),message:y(`integrationConnect.removeMessage`),confirmLabel:y(`integrationConnect.remove`),cancelLabel:y(`integrationConnect.cancel`),onConfirm:()=>{D&&p(D),O(null)},onCancel:()=>O(null)})]})}function xt({plan:e,method:t,methods:n,attempt:r,callbackUrl:i,callbackCopied:a,ownOAuthContent:o,tenantHost:s,acknowledged:c,hasConnections:l,setupGuide:u,methodItems:d,onAcknowledge:f,onPickMethod:p,onBack:h,onConnect:g,onLogin:y,onCancelAttempt:b,onRetryAttempt:x,onCopyCallbackUrl:S,onClose:C}){let{t:w}=q(`settings`),T=t.kind===`managed-oauth`?s:null,E=_(T),D=r?.methodId===t.id?r:null,O=D!==null&&D.phase!==`error`,k=t.availability===`login-required`,j=t.kind===`mcp-manual`&&i!==void 0&&(!c||i.status!==`ready`),M=t.id!==e.primary.id||l,N=n.filter(e=>e.id!==t.id);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:w(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??w(`integrationConnect.connectDescription`,{name:e.name})}),(0,Q.jsxs)(L.Body,{className:`space-y-4`,children:[M?(0,Q.jsx)(v,{variant:`ghost`,leftIcon:(0,Q.jsx)(Ne,{}),onClick:h,children:w(`integrationConnect.back`)}):null,k?(0,Q.jsx)(m,{tone:`info`,children:w(`integrationConnect.loginRequired`,{name:e.name})}):null,D?(0,Q.jsx)(St,{name:e.name,attempt:D,onCancel:b,onRetry:x}):null,T?(0,Q.jsx)(A,{label:T.label,type:`text`,value:E.value,onChange:e=>E.setValue(e.target.value),placeholder:T.placeholder,"aria-invalid":E.showsInvalid||void 0,helperText:E.showsInvalid?w(`integrationConnect.tenantHostInvalid`,{label:T.label,placeholder:T.placeholder}):void 0,disabled:O,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Q.jsx)(Ct,{instructions:t.instructions,name:e.name,callbackUrl:i,callbackCopied:a,acknowledged:c,onAcknowledge:f,onCopyCallbackUrl:S}):t.kind===`own-oauth`?o:(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??w(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Q.jsxs)(L.Footer,{children:[u,(0,Q.jsx)(v,{variant:`ghost`,className:`min-h-11`,onClick:C,children:w(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Q.jsx)(de,{className:`min-h-11`,disabled:O||j||!E.valid,menuDisabled:O,leftIcon:O?(0,Q.jsx)(Ee,{className:`animate-spin`}):null,menuTitle:w(`integrationConnect.otherWays`),menuTriggerLabel:w(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:d(N,p),onClick:()=>k?y():g(t,{acknowledged:c,tenantHost:E.normalized}),children:w(k?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function St({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:i}=q(`settings`);if(t.phase===`error`)return(0,Q.jsx)(m,{tone:`error`,actions:(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(v,{variant:`outlined`,onClick:r,children:i(`integrationConnect.retry`)}),(0,Q.jsx)(v,{variant:`ghost`,onClick:n,children:t.canCancel?i(`integrationConnect.stopWaiting`):i(`integrationConnect.cancel`)})]}),children:(0,Q.jsx)(`p`,{children:t.error??i(`integrationConnect.attemptFailed`,{name:e})})});let a=t.phase===`starting`?i(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?i(`integrationConnect.attemptConnecting`,{name:e}):i(`integrationConnect.attemptWaiting`,{name:e});return(0,Q.jsx)(m,{tone:`info`,icon:(0,Q.jsx)(Ee,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Q.jsx)(v,{variant:`ghost`,onClick:n,children:i(`integrationConnect.stopWaiting`)}):void 0,children:a})}function Ct({instructions:e,name:t,callbackUrl:n,callbackCopied:r,acknowledged:a,onAcknowledge:o,onCopyCallbackUrl:s}){let{t:c}=q(`settings`),l=n?.status===`ready`?n.url:void 0,u=e?(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e}):null;return n?(0,Q.jsxs)(Q.Fragment,{children:[u,(0,Q.jsxs)(`ol`,{className:`space-y-4`,children:[(0,Q.jsxs)(wt,{index:1,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep1`)}),l?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Q.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-body-small-default [overflow-wrap:anywhere]`,children:l}),s?(0,Q.jsx)(v,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Q.jsx)(Se,{}):(0,Q.jsx)(Ae,{}),onClick:()=>s(l),children:c(r?`integrationConnect.copied`:`integrationConnect.copy`)}):null]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n?.status===`error`?c(`integrationConnect.callbackError`):c(`integrationConnect.callbackLoading`)})]}),(0,Q.jsx)(wt,{index:2,children:(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep2`,{name:t})})}),(0,Q.jsx)(wt,{index:3,children:(0,Q.jsx)(i,{checked:a,onCheckedChange:e=>o(e===!0),label:c(`integrationConnect.manualStep3`)})})]})]}):u}function wt({index:e,children:t}){return(0,Q.jsxs)(`li`,{className:`flex gap-3`,children:[(0,Q.jsx)(`span`,{className:`w-3 shrink-0 text-body-medium-default text-[var(--content-tertiary)]`,children:e}),(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:t})]})}function Tt({plan:e,methods:n,connections:r,connectionTitle:i,methodTag:a,methodItems:o,onPickMethod:s,onOpenTools:c,onReconnect:l,onRequestDisconnect:u,onClose:d}){let{t:f}=q(`settings`),p=gt(e);function m(e){let t=n.find(t=>t.id===e.methodId);if(n.length<2||!t)return e.detail;let r=a(t);return e.detail?f(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:e.name,description:f(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Q.jsx)(L.Body,{children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:r.map(e=>(0,Q.jsx)(le,{title:i(e),subtitle:m(e),trailingInteractive:!0,trailing:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 touch-mobile:max-w-24`,children:[(0,Q.jsx)(Et,{status:e.status}),e.canReconnect?(0,Q.jsx)(v,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(be,{}),onClick:()=>l(e),children:e.status===`pending`?f(`integrationConnect.finishConnecting`):f(`integrationConnect.reconnect`)}):null,st(e.methodKind)?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(X,{}),"aria-label":f(`integrationConnect.toolsAndDetailsLabel`,{label:i(e)}),onClick:()=>c(e)}):null,(0,Q.jsx)(v,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(ye,{}),"aria-label":f(`integrationConnect.removeLabel`,{label:i(e)}),onClick:()=>u(e)})]})},e.id))})}),(0,Q.jsxs)(L.Footer,{children:[p.length>0?(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Q.jsx)(je,{}),children:f(`integrationConnect.connectAnother`)})}),(0,Q.jsx)(t.Content,{title:f(`integrationConnect.connectAnother`),children:o(p,s)})]}):null,(0,Q.jsx)(v,{className:`min-h-11`,onClick:d,children:f(`integrationConnect.done`)})]})]})}function Et({status:e}){let{t}=q(`settings`);switch(e){case`needs-attention`:return(0,Q.jsx)(U,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Q.jsx)(U,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Q.jsx)(U,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Dt({plan:e,connection:t,title:n,tools:r,onBack:i,onClose:a}){let{t:o}=q(`settings`),s=r?.summary;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:n,description:o(`integrationConnect.toolsAndDetails`)}),(0,Q.jsxs)(L.Body,{className:`space-y-4`,children:[(0,Q.jsx)(v,{variant:`ghost`,leftIcon:(0,Q.jsx)(Ne,{}),onClick:i,children:o(`integrationConnect.back`)}),(0,Q.jsxs)(`dl`,{className:`space-y-1`,children:[(0,Q.jsx)(`dt`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.endpoint`)}),(0,Q.jsx)(`dd`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:r?.endpointUrl??t?.detail??o(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsLoading`)}):r?.error?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsError`)}):s&&s.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.toolsSummary`,{count:s.toolCount,tokens:s.estimatedTokens})}),(0,Q.jsx)(z.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:s.tools.map(e=>(0,Q.jsxs)(z.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsxs)(z.Trigger,{className:`justify-between gap-2 px-3 py-2.5 text-left [&[data-state=open]>svg]:rotate-180`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default`,children:e.name}),(0,Q.jsx)(je,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Q.jsx)(z.Content,{children:(0,Q.jsxs)(`div`,{className:`space-y-1 px-3 pb-3`,children:[e.description?(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsEmpty`)})]}),(0,Q.jsx)(L.Footer,{children:(0,Q.jsx)(v,{className:`min-h-11`,onClick:a,children:o(`integrationConnect.done`)})})]})}function Ot({providerKey:e,displayName:t,description:n,logoUrl:r,connections:i,mcpMethods:a=[],disabled:o,onConfigure:s}){let{t:c}=q(`settings`),{connectedCount:l}=Qe(i),{needsAttention:u,configured:d}=et(i,a);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(w,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:l>0?c(`integrationRow.connectedAccounts`,{count:l}):n,status:u?(0,Q.jsx)(U,{tone:`negative`,children:c(`integrationRow.needsAttention`)}):void 0,primaryAction:d?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":c(`integrationRow.configureLabel`,{name:t}),onClick:s,disabled:o}):(0,Q.jsx)(v,{variant:`primary`,onClick:s,disabled:o,children:c(`integrationRow.connect`)})})}function kt({plan:e,state:n,layout:r=`tile`,showAlternatives:i=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=q(`settings`),f=Ue(e.name),p=n.phase===`waiting`||n.phase===`connecting`;function m(e){if(e.availability===`login-required`){s();return}o(e)}function h(e){return We(e,f,m)}let g=i&&e.alternatives.length>0?(0,Q.jsx)(de,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:h(mt(e)),disabled:a,onClick:()=>m(e.primary)}):(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>m(e.primary)}),_=p?(0,Q.jsx)(`span`,{className:`flex size-8 items-center justify-center`,children:(0,Q.jsx)(Ee,{"aria-hidden":`true`,className:`size-4 animate-spin text-[var(--content-tertiary)]`})}):n.phase===`failed`?(0,Q.jsx)(v,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(be,{}),"aria-label":d(`integrationTile.retryLabel`,{name:e.name}),disabled:a,onClick:l}):g,y=null;if(n.phase===`failed`){let r=gt(e).filter(e=>e.id!==n.methodId);y=(0,Q.jsx)(jt,{name:e.name,state:n,menu:r.length>0?(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,rightIcon:(0,Q.jsx)(je,{}),children:d(`integrationTile.tryAnother`)})}),(0,Q.jsx)(t.Content,{title:d(`integrationTile.tryAnotherLabel`,{name:e.name}),children:h(r)})]}):null,onOpenSetupGuide:u})}else p&&(y=(0,Q.jsx)(At,{name:e.name,state:n,onCancel:c}));return(0,Q.jsx)(vt,{layout:r,icon:(0,Q.jsx)(w,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:e.description??void 0,primaryAction:_,footer:y})}function At({name:e,state:t,onCancel:n}){let{t:r}=q(`settings`);return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 pt-1`,children:[(0,Q.jsx)(`p`,{role:`status`,className:`min-w-0 text-body-small-lighter text-[var(--content-secondary)]`,children:t.phase===`waiting`?r(`integrationTile.waiting`,{name:e}):r(`integrationTile.connecting`,{name:e})}),t.phase===`waiting`&&t.canCancel?(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,onClick:n,children:r(`integrationTile.cancel`)}):null]})}function jt({name:e,state:t,menu:n,onOpenSetupGuide:r}){let{t:i}=q(`settings`),a=st(t.methodKind)?t.setupGuideUrl:void 0,o=t.error||i(`integrationTile.failedGeneric`,{name:e});return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5 pt-1`,children:[(0,Q.jsxs)(`p`,{role:`alert`,className:`flex min-w-0 items-start gap-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Q.jsx)(xe,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{title:t.error||void 0,className:`line-clamp-3 min-w-0 [overflow-wrap:anywhere]`,children:o})]}),a?(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>r(a),children:i(`integrationTile.setupGuide`)}):null,n]})}function Mt({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=B({assistantId:e,providerKey:t,providerLabel:n}),u=(0,Z.useRef)(o),d=(0,Z.useRef)(r);return(0,Z.useLayoutEffect)(()=>{u.current=o,d.current=r}),(0,Z.useLayoutEffect)(()=>{u.current(void 0,d.current)},[i]),(0,Z.useEffect)(()=>s,[s]),(0,Z.useEffect)(()=>{a({status:c,errorMessage:l})},[l,a,c]),null}function Nt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Pt(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ft({assistantId:e,providerKey:t,displayName:n,logoUrl:r}){let{t:i}=q(`settings`),a=J(),s=G({...se({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),l=G({...F({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),u=s.data??[],d=l.data??null,f=fe({queries:u.map(t=>({...c({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),m={};u.forEach((e,t)=>{m[e.id]=f[t]?.data??[]});let h=y({path:{assistant_id:e},query:{provider_key:t}}),_=C({onSuccess:()=>{a.invalidateQueries({queryKey:h}),M(``),P(``),k(!1),V.success(i(`yourOwnOauthTab.appAddedToast`,{name:n}))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.createFailedToast`))}}),S=g({onSuccess:()=>{a.invalidateQueries({queryKey:h}),V.success(i(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.deleteFailedToast`))}}),T=o({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.connectFailedToast`))}}),E=O(),[D,k]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(``),[ee,I]=(0,Z.useState)(!1),[te,L]=(0,Z.useState)(null),[R,z]=(0,Z.useState)(null),B=_.isPending,ne=S.isPending?S.variables?.path?.id??null:null,U=T.isPending?T.variables?.path?.appId??null:null,re=E.isPending?E.variables?.path?.id??null:null,ie=()=>{let n=j.trim(),r=N.trim();!n||!r||_.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ae=()=>{let t=te;L(null),t&&S.mutate({path:{assistant_id:e,id:t.id}})},oe=t=>{T.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return s.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(Ee,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[u.length===0||D?(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:u.length===0?i(`yourOwnOauthTab.addOwnApp`,{name:n}):i(`yourOwnOauthTab.addAnotherApp`,{name:n})}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.credentialsNote`)})]}),d?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:i(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(A,{type:`text`,value:d,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{p(d,{successMessage:i(`yourOwnOauthTab.copiedToast`),errorMessage:i(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{I(!0),setTimeout(()=>I(!1),2e3)}})},"aria-label":i(ee?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:ee?(0,Q.jsx)(Se,{"aria-hidden":!0}):(0,Q.jsx)(Ae,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(A,{label:i(`yourOwnOauthTab.clientId`),type:`text`,value:j,onChange:e=>M(e.target.value),placeholder:i(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(A,{label:i(`yourOwnOauthTab.clientSecret`),type:`password`,value:N,onChange:e=>P(e.target.value),placeholder:i(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[u.length>0?(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{k(!1),M(``),P(``)},disabled:B,children:i(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(v,{type:`button`,size:`compact`,onClick:ie,disabled:B||!j.trim()||!N.trim(),loading:B,leftIcon:(0,Q.jsx)(Ce,{"aria-hidden":!0}),children:i(`yourOwnOauthTab.addApp`)})]})]})}):null,u.map(e=>{let a=m[e.id]??[],o=ne===e.id,s=U===e.id;return(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:Nt(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.addedOn`,{date:Pt(e.created_at)})})]}),(0,Q.jsx)(v,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L(e),disabled:o,"aria-label":i(`yourOwnOauthTab.deleteAppAria`,{id:Nt(e.client_id)}),loading:o,iconOnly:(0,Q.jsx)(ye,{"aria-hidden":!0})})]}),a.length>0?(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:a.map(a=>{let o=re===a.id,s=a.account_info??i(`yourOwnOauthTab.accountFallback`,{name:n});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(w,{providerKey:t,displayName:n,logoUrl:r,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:s}),(0,Q.jsx)(v,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>z({appId:e.id,connection:a}),disabled:o,"aria-label":i(`yourOwnOauthTab.disconnectAria`,{account:s}),loading:o,iconOnly:(0,Q.jsx)(ye,{"aria-hidden":!0})})]},a.id)})}):null,(0,Q.jsx)(v,{type:`button`,size:`compact`,onClick:()=>oe(e),disabled:s,className:`w-full`,loading:s,leftIcon:(0,Q.jsx)(Y,{"aria-hidden":!0}),children:i(s?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),u.length>0&&!D?(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>k(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(Ce,{"aria-hidden":!0}),children:i(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(H,{open:te!==null,title:i(`yourOwnOauthTab.deleteAppTitle`),message:te?i(`yourOwnOauthTab.deleteAppMessage`,{id:Nt(te.client_id)}):``,confirmLabel:i(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ae,onCancel:()=>L(null)}),(0,Q.jsx)(H,{open:R!==null,title:i(`yourOwnOauthTab.disconnectTitle`,{name:n}),message:R?i(`yourOwnOauthTab.disconnectMessage`,{account:R.connection.account_info??i(`yourOwnOauthTab.accountFallback`,{name:n})}):``,confirmLabel:i(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=R;z(null),t&&E.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=b({path:{assistant_id:e,appId:t.appId}});a.invalidateQueries({queryKey:r}),a.invalidateQueries({queryKey:h}),V.success(i(`yourOwnOauthTab.disconnectedToast`,{name:n}))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>z(null)})]})}var It={phase:`idle`};function Lt({assistantId:e,mcp:t}){let{t:n}=q(`settings`),r=J(),{mutateAsync:i}=N(),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(null),h=(0,Z.useRef)(null),g=(0,Z.useRef)(null),_=t.auth.attempt,v=t.auth.connect,y=t.auth.retry,b=t.auth.stopWaiting,x=t.auth.isBusy,S=t.list.refetch;(0,Z.useEffect)(()=>{let e=h.current;if(e&&(h.current=null,_&&_.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:_.operationId});return}a&&_?.operationId!==a.operationId&&(o(null),g.current=null)},[_,a]),(0,Z.useEffect)(()=>{_?.phase===`connecting`&&(g.current=null)},[_?.phase]),(0,Z.useEffect)(()=>{!s||l?.status!==`connected`||(V.success(n(`useOauthConnect.accountConnected`,{name:s.providerLabel,ns:`common`})),c(null),u(null))},[s,l,n]);let C=(0,Z.useCallback)(async e=>{let t=await S();return t.isError?[]:Xe(t.data?.servers??[],e)},[S]),{remove:w}=Pe(e,{onRemoved:()=>{S(),m(null)},onRemoveError:(e,t)=>{E(t,{context:`integrations.connectRollback`,tags:{plugin:e}}),m(null)},announceWarnings:!1}),T=(0,Z.useCallback)((t,n)=>{let a=(async()=>{await i({path:{assistant_id:e},body:{name:t}}),j(r,e,t)})();return g.current={itemId:n,pluginName:t,landed:a.then(()=>!0,()=>!1)},a},[e,i,r]),O=(0,Z.useCallback)(()=>{let e=g.current;g.current=null,e&&(m(e.itemId),e.landed.then(t=>{if(!t){m(null);return}w(e.pluginName)}))},[w]),k=(0,Z.useCallback)(()=>{a&&b(),c(null),u(null),O()},[b,a,O]),A=(0,Z.useCallback)((e,t,n,r)=>{p!==e.itemId&&(k(),h.current={...e,priorOperationId:_?.operationId??null},v(t,r,n))},[_,v,k,p]),M=(0,Z.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||x)return;let i=!!r.installed;A({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},qe(r.pluginName),t.name,Ye({install:i?()=>Promise.resolve():()=>T(r.pluginName,e.id),loadPluginServers:()=>C(r.pluginName)}))},[x,A,T,C]),P=(0,Z.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||x)return;let{provider:i}=e;if(!r?.tenantHost&&D(i.provider_key,i.tenant_host)){f({itemId:e.id,methodId:n.id});return}k(),c({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[x,k]),F=(0,Z.useCallback)((e,t,n,r)=>{if(st(n.kind)){M(e,t,n);return}n.kind===`managed-oauth`&&P(e,t,n,r)},[P,M]),ee=(0,Z.useCallback)((e,t,n)=>{let r=mt(t).find(e=>e.id===n.methodId);if(!st(n.methodKind)){r&&P(e,t,r);return}!n.serverId||x||A({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[x,A,P]),I=(0,Z.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){f({itemId:e.id,methodId:n.id});return}F(e,t,n)},[F]),te=(0,Z.useCallback)(()=>{if(a){if(_?.phase!==`error`)return;h.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},y();return}u(null),c(e=>e&&{...e,restartToken:e.restartToken+1})},[_,y,a]),L=(0,Z.useCallback)((e,t)=>a?.itemId===e&&_?_.phase===`error`?{phase:`failed`,error:_.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:_.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:s?.itemId===e?l?.errorMessage?{phase:`failed`,error:l.errorMessage,methodId:s.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:It,[_,s,l,a,n]),R=(0,Z.useCallback)(e=>a?.itemId===e&&_?{methodId:a.methodId,phase:_.phase,error:_.error,canCancel:!0}:s?.itemId===e?{methodId:s.methodId,phase:l?.errorMessage?`error`:`waiting`,error:l?.errorMessage??void 0,canCancel:!0}:null,[_,s,l,a]),z=(0,Z.useCallback)(e=>x&&a?.itemId!==e||s!==null&&s.itemId!==e||p===e,[x,s,a,p]),B=(0,Z.useCallback)((e,t)=>f({itemId:e,methodId:t}),[]),H=(0,Z.useCallback)(()=>f(null),[]);return{start:I,run:F,reconnect:ee,cancel:k,retry:te,stateFor:L,attemptFor:R,isBusyElsewhere:z,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??s?.itemId??null,managed:s,onManagedReport:u,modal:d,openModal:B,closeModal:H}}function Rt({assistantId:e,platformAssistantId:t,onStopAuth:n,onRemoveServer:r,onPluginRemoved:i}){let{t:a}=q(`settings`),o=J(),s=(0,Z.useRef)(``),c=Pe(e,{onRemoved:()=>{i(),V.success(a(`integrationConnect.removedToast`,{name:s.current}))},onRemoveError:()=>V.error(a(`integrationConnect.removeFailedToast`,{name:s.current}))}),l={path:{assistant_id:t??``}},u=k({onSuccess(e,t){V.success(a(`integrationConnect.disconnectedToast`,{name:s.current}));let n=t.path.connection_id;d(o,l,e=>e?.filter(e=>e.id!==n)),o.invalidateQueries({queryKey:M(l)})},onError(e){V.error(W(e,void 0,a(`integrationConnect.disconnectFailedToast`,{name:s.current})))}}),f=u.mutate,p=c.remove,m=c.isRemoving||u.isPending;return(0,Z.useCallback)((e,i)=>{if(!m){if(s.current=i,st(e.methodKind)){if(n(e),e.pluginName){p(e.pluginName);return}e.serverId&&r(e.serverId);return}!e.accountId||!t||f({path:{assistant_id:t,connection_id:e.accountId}})}},[m,f,r,n,t,p])}var zt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Bt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Vt(e){return zt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ht(e){return Bt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ut({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=q(`settings`),a=(0,Z.useMemo)(()=>Vt(i),[i]),o=(0,Z.useMemo)(()=>Ht(i),[i]),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(`sse`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,y]=(0,Z.useState)(`none`),[b,x]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(`X-API-Key`),[w,T]=(0,Z.useState)(``),E=(0,Z.useCallback)(()=>{c(``),u(`sse`),f(``),m(``),g(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Z.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Z.useCallback)(()=>{let e=s.trim();if(!e)return;let t={name:e,transportType:l};if(l===`stdio`){let e=p.trim();if(!e)return;t.command=e;let n=h.trim();n&&(t.args=n.split(/\s+/))}else{let e=d.trim();if(!e)return;t.url=e,_===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:_===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:_===`oauth`&&(t.autoAuth=!0)}n(t)},[s,l,d,p,h,_,b,S,w,n]),k=l===`stdio`,j=s.trim()&&(k?p.trim():d.trim());return(0,Q.jsx)(L.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,Q.jsxs)(L.Content,{size:`md`,children:[(0,Q.jsxs)(L.Header,{icon:Re,children:[(0,Q.jsx)(L.Title,{children:i(`mcpAddServerModal.title`)}),(0,Q.jsx)(L.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(L.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(A,{id:`mcp-name`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(A,{id:`mcp-command`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(A,{id:`mcp-args`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(A,{id:`mcp-url`,type:`url`,value:d,onChange:e=>f(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:_,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:a.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),_===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,_===`bearer`?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(A,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,_===`api-key`?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(A,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(A,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(L.Footer,{children:[(0,Q.jsx)(v,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(v,{variant:`primary`,onClick:O,disabled:!j||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Wt=[`none`,`bearer`,`api-key`];function Gt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function Kt({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:i=!1,onClose:a,onSave:o,isPending:s}){let{t:c}=q(`settings`),[l,u]=(0,Z.useState)(`none`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(`X-API-Key`),[h,g]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let _=(0,Z.useCallback)(()=>{if(!e||i)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,r=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||r,s;s=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,o(e.id,{name:e.id,...s===void 0?{}:{headers:s}})},[e,l,d,p,h,o,i]),y=(0,Z.useCallback)(()=>{s||a()},[s,a]);return e?(0,Q.jsx)(L.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Q.jsxs)(L.Content,{size:`lg`,children:[(0,Q.jsxs)(L.Header,{icon:Re,children:[(0,Q.jsx)(L.Title,{children:e.id}),(0,Q.jsx)(L.Description,{children:c(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(L.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[!i&&e.transport.type!==`stdio`?(0,Q.jsxs)(Q.Fragment,{children:[e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:c(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:Wt.map(e=>(0,Q.jsx)(`option`,{value:e,children:Gt(e,c)},e))})]}),l===`bearer`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:c(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(A,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?c(`mcpServerDetailModal.savedBearerPlaceholder`):c(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:c(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(A,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:c(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:c(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(A,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?c(`mcpServerDetailModal.savedApiCredentialPlaceholder`):c(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}):null,e.transport.url||e.transport.command?(0,Q.jsxs)(`dl`,{className:`space-y-1 text-body-small-default`,children:[(0,Q.jsx)(`dt`,{className:`text-[var(--content-secondary)]`,children:e.transport.type===`stdio`?c(`mcpServerDetailModal.command`):c(`mcpServerDetailModal.endpoint`)}),(0,Q.jsx)(`dd`,{className:`text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:e.transport.url??e.transport.command})]}):null,(0,Q.jsxs)(`section`,{className:`space-y-2`,children:[(0,Q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.toolsHeading`)}),n?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsLoading`)}):r?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsError`)}):t&&t.tools.length>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] rounded-lg border border-[var(--border-base)]`,children:t.tools.map(e=>(0,Q.jsxs)(`li`,{className:`space-y-1 px-3 py-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)] [overflow-wrap:anywhere]`,children:e.name}),e.description?(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Q.jsxs)(L.Footer,{children:[(0,Q.jsx)(v,{variant:i?`primary`:`ghost`,onClick:y,disabled:s,children:c(i?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),i?null:(0,Q.jsx)(v,{variant:`primary`,onClick:_,disabled:s,children:c(s?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function qt({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=q(`settings`),{auth:i,add:a,save:o,remove:s,details:c,configureServer:l}=e;return(0,Q.jsxs)(Q.Fragment,{children:[i.attempt&&!n?(0,Q.jsx)(m,{tone:i.attempt.error?`warning`:`info`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:i.attempt.error??(i.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:i.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:i.attempt.displayName}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[i.attempt.phase===`error`?(0,Q.jsx)(v,{variant:`outlined`,onClick:i.retry,children:r(`mcpConnect.retry`)}):null,(0,Q.jsx)(v,{variant:`ghost`,onClick:i.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Q.jsx)(Ut,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:a.isPending}):null,(0,Q.jsx)(Kt,{server:l,readOnly:l?.source===`plugin`,toolsSummary:c.data?.servers.find(e=>e.serverId===l?.id),toolsLoading:c.isFetching,toolsError:c.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>o.mutate(t),isPending:o.isPending}),(0,Q.jsx)(H,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:s.isPending,onConfirm:()=>{e.removeServerId&&s.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function Jt(e,t){let n=new Map(t.map(e=>[e.name,e]));return e.flatMap(e=>{let t=e.integration;if(t?.kind!==`mcp`)return[];let r=n.get(e.name);return[{pluginName:e.name,displayName:t.displayName,description:e.description??t.displayName,documentationUrl:t.documentationUrl,logo:t.logo,oauthProvider:t.oauthProvider,category:Ze(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function Yt(){return(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,Q.jsx)(we,{size:20})})}function Xt({server:e,onRemove:n,onConfigure:r,onAuthenticate:i,onManagePlugin:a,isAuthenticating:o,connectDisabled:s=!1}){let{t:c}=q(`settings`),l=e.source===`plugin`,u=!l&&e.status===`needs-auth`&&e.transport.type!==`stdio`,d=!l&&!o&&!u,f=l?c(`mcpServerCard.managePlugin`):o?c(`mcpServerCard.connecting`):e.hasOAuth?c(`mcpServerCard.reconnect`):c(`mcpServerCard.finishConnecting`);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(Yt,{}),title:e.id,subtitle:l?e.pluginName:rt(e),status:e.status===`connected`?void 0:(0,Q.jsx)(U,{tone:`negative`,children:c(`mcpServerCard.statusNeedsAttention`)}),primaryAction:d?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":c(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>r(e.id)}):(0,Q.jsx)(v,{variant:u?`primary`:`outlined`,loading:o,onClick:()=>{l?a(e.pluginName):u&&i(e.id)},disabled:o||u&&s,children:f}),actionMenu:(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`ghost`,iconOnly:(0,Q.jsx)(ve,{}),className:$,"aria-label":c(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Q.jsxs)(t.Content,{title:e.id,showTitle:!0,closeLabel:c(`mcpServerCard.actionsSheetClose`),align:`end`,children:[u||l?(0,Q.jsx)(t.Item,{icon:ke,label:c(l?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>r(e.id)}):null,l?null:(0,Q.jsx)(t.Item,{icon:ye,label:c(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>n(e.id)})]})]})})}function Zt({assistantId:e,definition:t}){let n=Ie(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Q.jsx)(Le,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:ot(t)??void 0,size:`md`})}function Qt({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:i}=q(`settings`),a=et([],[t]);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(Zt,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:a.needsAttention?(0,Q.jsx)(U,{tone:`negative`,children:i(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":i(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function $t(e){let{data:t,response:n}=await r.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function en(e){let{data:t,response:n}=await r.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function tn(e,t){let{response:n}=await r.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function nn(e,t){let{response:n}=await r.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function rn(e,t){let{response:n}=await r.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function an(e,t){let{data:n,response:i}=await r.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!i?.ok)throw Error(`Failed to start MCP auth: ${i?.status}`);return n}async function on(e,t){let{data:n,response:i}=await r.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!i?.ok)throw Error(`Failed to poll MCP auth status: ${i?.status}`);return n}function sn(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function cn(e,t){return t?null:e}function ln(e){let{t}=q(`settings`),n=J(),[r,i]=(0,Z.useState)(null),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=(0,Z.useCallback)(()=>{a.current=null,s.current=null,o.current?.close(),o.current=null,i(null)},[]);(0,Z.useEffect)(()=>(c(),()=>{a.current=null,s.current=null,o.current?.close(),o.current=null}),[e,c]);let u=r?.phase===`authorizing`||r?.phase===`waiting`,d=G({queryKey:f.auth(e,r?.operationId??``),queryFn:()=>on(e,r.serverId),enabled:u,refetchInterval:u?oe:!1,staleTime:0,gcTime:0,retry:1}),p=G({queryKey:f.list(e),queryFn:()=>$t(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?oe:!1,staleTime:0,retry:1});(0,Z.useEffect)(()=>{!r||!u||a.current!==r.operationId||!d.data||(d.data.status===`complete`?(o.current?.close(),o.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:f.list(e)})):d.data.status===`error`&&i({...r,phase:`error`,error:d.data.error?.replaceAll(r.serverId,r.displayName)??t(`mcpConnect.authorizationFailed`)}))},[e,r,d.data,u,n,t]),(0,Z.useEffect)(()=>{r?.phase!==`connecting`||a.current!==r.operationId||!p.data||p.isFetching||sn(p.data.servers,r.serverId)&&(c(),n.invalidateQueries({queryKey:f.details(e)}))},[e,r,n,p.data,p.isFetching,c]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=u?cn(d.error,d.isFetching):r.phase===`connecting`?cn(p.error,p.isFetching):null;e&&(E(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,d.error,d.isFetching,u,p.error,p.isFetching,t]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{a.current===r.operationId&&(o.current?.close(),o.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+re-Date.now()));return()=>clearTimeout(e)},[r,t]);let m=(0,Z.useCallback)(t=>{a.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:f.auth(e,t)}),n.invalidateQueries({queryKey:f.list(e)}))},[e,n]);(0,Z.useEffect)(()=>{let e=o.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&m(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,m]),(0,Z.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return ce(()=>m(e))},[r?.operationId,r?.phase,m]);let h=(0,Z.useCallback)((n,c,u=n)=>{if(a.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();a.current=d,o.current?.close(),o.current=null,s.current=c?{operationId:d,run:c}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=I()||ue(),m=p?null:window.open(``,`_blank`,`width=500,height=600`);if(!p&&!m){i({...f,phase:`error`,error:t(`mcpConnect.popupBlocked`)});return}m&&(m.opener=null,o.current=m);let h=()=>a.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await c?.();if(s.current?.operationId===d&&(s.current=null),!h())return;if(t===null){m?.close(),o.current=null,a.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await an(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),o.current=null,i({...n,phase:`connecting`});return}let u=new URL(r.auth_url);if(u.protocol!==`https:`&&u.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(u.href):await l(u.href)}catch(e){m?.close(),h()&&(o.current=null,E(e,{context:`mcp.connect.start`}),i(e=>e?.operationId===d?{...e,phase:`error`,error:t(`mcpConnect.startFailed`)}:e))}})()},[e,r?.phase,t]);return{attempt:r,isBusy:!!(r&&r.phase!==`error`),connect:h,retry:()=>{r&&h(r.serverId,s.current?.run,r.displayName)},stopWaiting:c}}function un(e){let{t}=q(`settings`),n=J(),r=ln(e),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),p=G({queryKey:f.list(e),queryFn:()=>$t(e)}),m=p.data?.servers.find(e=>e.id===o)??null,h=G({queryKey:f.details(e),queryFn:()=>en(e),enabled:m!==null||u!==null}),g=()=>{n.invalidateQueries({queryKey:f.list(e)}),n.invalidateQueries({queryKey:f.details(e)})},_=K({mutationFn:t=>nn(e,t),onSuccess:()=>{g(),a(!1)},onError:e=>{E(e,{context:`mcp.add`}),V.error(t(`mcpConnect.addFailed`))}});return{list:p,details:h,auth:r,add:_,save:K({mutationFn:t=>tn(e,t),onSuccess:()=>{g(),s(null)},onError:e=>{E(e,{context:`mcp.update`}),V.error(t(`mcpConnect.saveFailed`))}}),remove:K({mutationFn:t=>rn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),g(),l(null),s(null),V.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{E(e,{context:`mcp.remove`}),V.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await _.mutateAsync(e)},e.name):_.mutate(e)},addOpen:i,setAddOpen:a,configureServer:m,configureServerId:o,setConfigureServerId:s,removeServerId:c,setRemoveServerId:l,toolsServerId:u,setToolsServerId:d}}var dn={productivity:`integrationsPage.categories.productivity`,communication:`integrationsPage.categories.communication`,meetings:`integrationsPage.categories.meetings`,sales:`integrationsPage.categories.sales`,marketing:`integrationsPage.categories.marketing`,finance:`integrationsPage.categories.finance`,commerce:`integrationsPage.categories.commerce`,engineering:`integrationsPage.categories.engineering`,knowledge:`integrationsPage.categories.knowledge`,recruiting:`integrationsPage.categories.recruiting`},fn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,pn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function mn({title:e,count:t,gridClassName:n,children:r}){return(0,Q.jsxs)(`section`,{className:`space-y-3`,children:[(0,Q.jsxs)(`h2`,{className:`flex items-center gap-2 text-title-small text-[var(--content-default)]`,children:[e,(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t})]}),(0,Q.jsx)(`div`,{className:n,children:r})]})}function hn(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function gn({mcpAssistantId:e}){let{t}=q(`settings`),[r,i]=pe(),o=he(),c=me(),d=ne(),f=ie(),p=u.use.mcpAddServer(),g=u.use.hasHydrated(),[_,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(!0),[C,w]=(0,Z.useState)(``),[D,O]=(0,Z.useState)(null),k=r.get(`provider`),j=(0,Z.useRef)(null),M=un(e),N=Fe(e),F=Lt({assistantId:e,mcp:M});(0,Z.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await h(e);t&&n.ok&&y(n.data)}catch(e){E(e,{context:`integrations.getAssistant`})}finally{t&&x(!1)}})(),()=>{t=!1}},[e]);let{login:I}=ee(`${c.pathname}${c.search}${c.hash}`),L=(0,Z.useCallback)(()=>void I(),[I]),R=F.closeModal,z=F.cancel,B=F.attemptItemId,H=F.modal?.itemId??null,U=M.setToolsServerId,re=(0,Z.useCallback)(()=>{if(H!==null&&B===H&&z(),R(),U(null),!r.has(`provider`))return;let e=new URLSearchParams(r);e.delete(`provider`),i(e,{replace:!0})},[z,B,R,H,r,i,U]),{platformAssistantId:ae,isLoading:oe,error:se}=S(_?.id,d===`full`),ce=G({...P({path:{assistant_id:_?.id??``}}),select:e=>e.providers,enabled:!!_}),le=G({...n({path:{assistant_id:ae??``}}),enabled:!!ae&&d===`full`});(0,Z.useEffect)(()=>{let e=r.get(`oauth_status`);if(!e)return;let n=r.get(`oauth_provider`),i=n?n.charAt(0).toUpperCase()+n.slice(1):null;e===`connected`?V.success(i?t(`integrationsPage.accountConnectedToast`,{providerLabel:i}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&V.error(hn(t,r.get(`oauth_code`)??`unknown`)??(i?t(`integrationsPage.connectFailedToast`,{providerLabel:i}):t(`integrationsPage.connectFailedToastGeneric`))),o(a.settings.integrations,{replace:!0})},[r,o,t]);let ue=ce.isError||le.isError||!!se||!b&&!_,de=!ue&&!!ce.data&&(d!==`full`||!!le.data),W=(0,Z.useMemo)(()=>it(de?ce.data??[]:[],de?le.data??[]:[],M.list.data?.servers??[],N.installedLoaded?Jt(N.catalogMatches,N.installedPlugins):[],M.list.isSuccess),[de,ce.data,le.data,M.list.data,M.list.isSuccess,N.installedLoaded,N.catalogMatches,N.installedPlugins]),fe=(0,Z.useMemo)(()=>{let e=new Map;for(let t of W)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return ze.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[W]),K=fe.some(e=>e.category===D)?D:null,J=(0,Z.useMemo)(()=>at(W,C,K),[W,C,K]),ge=(0,Z.useMemo)(()=>{let e=new Map;for(let t of W){if(t.kind===`mcp`)continue;let n=pt(t,{platformGate:d,ownOAuthAvailable:!f,mcpServersLoaded:M.list.isSuccess});n&&e.set(t.id,n)}return e},[W,f,M.list.isSuccess,d]),_e=e=>ge.has(e.id)&&(!e.configured||e.id===B&&F.modal?.itemId!==e.id),ve=e=>!e.configured||_e(e),ye=J.filter(e=>!ve(e)),be=J.filter(ve).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),xe=b||ce.isLoading||le.isLoading||oe||M.list.isLoading||(N.isLoading||N.catalogLoading)&&W.length===0,Se=M.auth.isBusy||F.managed!==null,we=b||!_||d===`full`&&!ae,Te=F.ownsMcpAttempt&&B!==null&&(F.modal?.itemId===B||J.some(e=>e.id===B&&_e(e))),Y=F.modal?W.find(e=>e.id===F.modal?.itemId):void 0,X=Y?ge.get(Y.id):void 0,De=Y?.kind===`oauth`?Y.provider:void 0,Oe=s(De?.provider_key??``,De?.tenant_host),ke=F.openModal;(0,Z.useEffect)(()=>{if(!k){j.current=null;return}if(k===j.current)return;let e=W.find(e=>e.kind===`oauth`&&e.provider.provider_key===k);e&&(j.current=k,ke(e.id))},[W,ke,k]);let Ae=M.toolsServerId,je=M.list.data?.servers.find(e=>e.id===Ae),Ne=X&&Ae?ht(X).find(e=>e.serverId===Ae):void 0,Pe=Ne?{[Ne.id]:{loading:M.details.isFetching,error:M.details.isError,summary:M.details.data?.servers.find(e=>e.serverId===Ae),endpointUrl:je?.transport.url}}:void 0,Ie=Rt({assistantId:e,platformAssistantId:ae,onStopAuth:e=>{let t=M.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===qe(e.pluginName)||M.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&M.auth.stopWaiting()},onRemoveServer:M.setRemoveServerId,onPluginRemoved:()=>void M.list.refetch()}),Le=()=>{p?M.setAddOpen(!0):te(o,{prompt:t(`mcpPage.setupPrompt`)})},Re=t=>{let n=t.kind===`mcp`?void 0:ge.get(t.id);return t.kind!==`mcp`&&n&&_e(t)?(0,Q.jsx)(kt,{plan:n,state:F.stateFor(t.id,n.name),showAlternatives:!f,disabled:F.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&we,onConnect:e=>F.start(t,n,e),onLogin:L,onCancel:F.cancel,onRetry:F.retry,onOpenSetupGuide:e=>void l(e)},t.id):t.kind===`oauth`?(0,Q.jsx)(Ot,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:we||!n||F.isBusyElsewhere(t.id),onConfigure:()=>F.openModal(t.id)},t.id):t.kind===`plugin`?(0,Q.jsx)(Qt,{assistantId:e,method:t.method,disabled:!n||F.isBusyElsewhere(t.id),onOpen:()=>F.openModal(t.id)},t.id):(0,Q.jsx)(Xt,{server:t.server,onRemove:M.setRemoveServerId,onConfigure:M.setConfigureServerId,onAuthenticate:e=>M.auth.connect(e),onManagePlugin:e=>o(e?`${a.plugins}/${encodeURIComponent(e)}`:a.plugins),isAuthenticating:M.auth.attempt?.serverId===t.server.id&&Se,connectDisabled:Se},t.id)};return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(A,{value:C,onChange:e=>w(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(Me,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Q.jsx)(v,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Q.jsx)(Ce,{}),onClick:Le,disabled:!g||Se,children:t(`integrationsPage.addCustom`)})]}),fe.length>0?(0,Q.jsx)(`div`,{role:`group`,"aria-label":t(`integrationsPage.categoriesLabel`),className:`flex gap-2 overflow-x-auto pb-1 [scrollbar-width:none]`,children:fe.map(e=>(0,Q.jsx)(T,{selected:K===e.category,count:e.count,onClick:()=>O(K===e.category?null:e.category),children:t(dn[e.category])},e.category))}):null]}),ue?(0,Q.jsx)(m,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,M.list.isError?(0,Q.jsx)(m,{tone:`warning`,actions:(0,Q.jsx)(v,{variant:`ghost`,onClick:()=>void M.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,N.catalogError||N.isError?(0,Q.jsx)(m,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Q.jsx)(qt,{connections:M,allowAdd:p,attemptReportedElsewhere:Te}),F.managed&&_?(0,Q.jsx)(Mt,{assistantId:_.id,providerKey:F.managed.providerKey,providerLabel:F.managed.providerLabel,tenantHost:F.managed.tenantHost,restartToken:F.managed.restartToken,onReport:F.onManagedReport},F.managed.providerKey):null,xe?(0,Q.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(Ee,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,ye.length>0?(0,Q.jsx)(mn,{title:t(`integrationsPage.sectionConfigured`),count:ye.length,gridClassName:fn,children:ye.map(Re)}):null,be.length>0?(0,Q.jsx)(mn,{title:t(`integrationsPage.sectionAvailable`),count:be.length,gridClassName:pn,children:be.map(Re)}):null,!xe&&J.length===0?(0,Q.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:C.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:C.trim()}):K?t(`integrationsPage.emptyCategory`,{category:t(dn[K])}):t(`integrationsPage.empty`)}):null,F.modal&&X&&Y&&Y.kind!==`mcp`?(0,Q.jsx)(bt,{plan:X,focusMethodId:F.modal.methodId,attempt:F.attemptFor(Y.id),tenantHost:Oe,toolsByConnectionId:Pe,ownOAuthContent:_&&Y.kind===`oauth`?(0,Q.jsx)(Ft,{assistantId:_.id,providerKey:Y.provider.provider_key,displayName:Y.name,logoUrl:Y.provider.logo_url}):null,onConnect:(e,t)=>F.run(Y,X,e,t),onLogin:L,onCancelAttempt:F.cancel,onRetryAttempt:F.retry,onReconnect:e=>F.reconnect(Y,X,e),onOpenTools:e=>M.setToolsServerId(e.serverId??null),onDisconnect:e=>Ie(e,X.name),onOpenSetupGuide:e=>void l(e),onClose:re},Y.id):null]})}function _n(){let e=ae();return(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(gn,{mcpAssistantId:e},e)})}export{_n as IntegrationsPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,JS as n,Qc as r,RS as i,bx as a,o,qa as s,sx as c}from"./app-CuJb51Ub.js";import{j as l}from"./vendor-CYmPHUS2.js";import{d as u,i as d,n as f,t as p,x as m}from"./react-B9IgSVeK.js";import{Ki as h,za as g}from"./icons-C0wyat6T.js";import{t as _}from"./intelligence-layout-slots-store-DvsrWW-i.js";var v=e(m(),1),y=p(),b={schedules:`sections.schedules`,superpowers:`sections.superpowers`,plugins:`sections.superpowers`,skills:`sections.superpowers`,memory:`sections.memory`,library:`sections.library`,workspace:`sections.workspace`,contacts:`sections.contacts`,channels:`sections.channels`};function x(){let{t:e}=l(`intelligence`),p=c.use.name(),{pathname:m}=u(),x=r(),S=s.use.setTopBarCenter(),C=s.use.setMobileTopBar(),w=_.use.headerTrailing(),T=a(m),E=T?e(b[T.key]):null,D=x&&T?.key===`library`,O=p||e(`identityOverview.defaultAssistantName`),k=e(`intelligenceLayout.backToAriaLabel`,{name:O}),A=e(`intelligenceLayout.backToTitle`,{name:O});return(0,v.useEffect)(()=>(D&&E?(S(null),C({leading:(0,y.jsx)(n,{shape:`pill`,asChild:!0,variant:`ghost`,iconOnly:(0,y.jsx)(g,{"aria-hidden":!0}),"aria-label":k,tooltip:A,className:`max-md:bg-[var(--surface-active)]`,children:(0,y.jsx)(f,{to:t.identity})}),center:(0,y.jsx)(i,{variant:`body-medium-default`,className:`max-w-[50vw] truncate text-[var(--content-secondary)]`,children:E}),trailing:w})):x&&E?(C(null),S((0,y.jsx)(i,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:E}))):(C(null),S(null)),()=>{C(null),S(null)}),[k,A,w,x,E,C,S,D]),T?(0,y.jsxs)(o,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(f,{to:t.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":k,title:A,children:(0,y.jsx)(h,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,y.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:E}),w?(0,y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center`,children:w}):null]}),(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,y.jsx)(d,{})})]}):(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,y.jsx)(d,{})})}export{x as IntelligenceLayout};
@@ -1 +0,0 @@
1
- import{$x as e}from"./app-CuJb51Ub.js";import{$ as t}from"./vendor-CYmPHUS2.js";var n=e(t(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t}from"./app-CuJb51Ub.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$i as t,BS as n,Co as r,Cx as i,Fa as a,Ia as o,JS as s,Mr as c,Mx as l,Nm as u,Nr as d,Ns as f,Or as p,Qc as m,Ri as h,TS as g,Zc as _,fr as v,gS as y,ho as b,j_ as x,l as S,nf as C,nt as w,pr as T,rf as E,sn as D,u as O,wf as k,zt as A}from"./app-CuJb51Ub.js";import{Qn as j,j as M,tr as N}from"./vendor-CYmPHUS2.js";import{d as P,f as F,t as I,x as L}from"./react-B9IgSVeK.js";import{$r as R,A as z,At as B,Br as V,Cr as H,Ht as U,Ia as W,Ur as ee,Vt as G,ir as K,ri as te,tr as q,vt as J}from"./icons-C0wyat6T.js";import{t as ne}from"./deploy-dialogs-DjptDCDt.js";import{n as Y,r as re,t as ie}from"./use-app-delete-6cqgxcYk.js";import{t as ae}from"./intelligence-layout-slots-store-DvsrWW-i.js";import{t as oe}from"./app-types-Bhv1QIYY.js";var X=e(L(),1),Z=I();function se(e){return e===1?`1 word`:`${e} words`}function ce({document:e,onOpen:t}){return(0,Z.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:b(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,Z.jsx)(V,{size:34,className:`text-[var(--content-tertiary)]`}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:se(e.wordCount)})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 rounded-sm px-0.5 text-left outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:A(new Date(e.updatedAt))})]})]})}function le({onNewConversation:e}){let{t}=M(`library`);return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,Z.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,Z.jsx)(K,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,Z.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,Z.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,Z.jsx)(s,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function ue({app:e,assistantId:n,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:c,onAnimationEnd:l}){let{t:d}=M(`library`),f=oe(e.origin),p=f?void 0:o,m=f?void 0:s,h=(0,X.useCallback)(()=>u(n,e.id,e.updatedAt),[n,e.id,e.updatedAt]),g=Y(n,e,{exported:d(`libraryAppCard.exported`),failed:d(`libraryAppCard.shareFailed`)}),[_,y]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1),C=(0,X.useCallback)(()=>S(!0),[]),{deployedUrl:w}=T(n,e.id,{enabled:x&&m!=null}),E=(0,X.useCallback)(()=>{w!=null&&v(w)},[w]);return(0,Z.jsx)(t,{trailingActions:[{id:`pin`,label:d(r?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:r?U:G,onSelect:()=>a(e)},...p?[{id:`delete`,label:d(`libraryAppCard.delete`),icon:z,variant:`destructive`,onSelect:()=>p(e)}]:[]],className:`rounded-xl`,children:(0,Z.jsxs)(`div`,{"data-reveal-row":``,className:b(`relative flex flex-col gap-2`,c&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:c?l:void 0,onPointerEnter:C,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:b(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,Z.jsx)(D,{name:e.name,icon:e.icon,loadHtml:h})}),(0,Z.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,Z.jsx)(de,{appName:e.name,isPinned:r,open:_,onOpenChange:e=>{e&&C(),y(e)},onPin:()=>a(e),onDelete:p?()=>p(e):void 0,onShare:f?void 0:g,onDeploy:m,deployedUrl:w,onCopyDeployedLink:E})}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 rounded-sm px-0.5 text-left outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:A(new Date(e.createdAt))})]})]})})}function de({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:c,onDeploy:l,deployedUrl:u,onCopyDeployedLink:d}){let{t:f}=M(`library`),p=u!=null&&u!==``&&d!=null,m=f(`libraryAppCard.actionsTitle`,{appName:e});return(0,Z.jsxs)(n.Root,{open:r,onOpenChange:i,children:[(0,Z.jsx)(n.Trigger,{asChild:!0,children:(0,Z.jsx)(s,{variant:`primary`,size:`compact`,iconOnly:(0,Z.jsx)(R,{}),"aria-label":m,onClick:e=>e.stopPropagation()})}),(0,Z.jsxs)(n.Content,{title:m,children:[(0,Z.jsx)(n.Item,{icon:t?U:G,label:f(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),c?(0,Z.jsx)(n.Item,{icon:W,label:f(`libraryAppCard.share`),description:f(`libraryAppCard.shareSub`),onSelect:c}):null,l&&p?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(n.Item,{icon:q,label:f(`libraryAppCard.deployed`),description:(0,Z.jsx)(`span`,{className:`break-all`,children:u}),trailing:f(`libraryAppCard.copyLink`),onSelect:()=>d?.()}),(0,Z.jsx)(n.Item,{icon:B,label:f(`libraryAppCard.redeploy`),description:f(`libraryAppCard.redeploySub`),onSelect:l})]}):l?(0,Z.jsx)(n.Item,{icon:H,label:f(`libraryAppCard.deploy`),description:f(`libraryAppCard.deploySub`),onSelect:l}):null,o?(0,Z.jsx)(n.Item,{icon:z,label:f(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function Q({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,Z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,Z.jsx)(ue,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var $=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function fe(e){let{pinnedAppIds:t}=h(e),{data:n=[],isLoading:r,error:i}=j({...C({path:{assistant_id:e}}),select:e=>e.apps}),{data:a=[],isLoading:o,error:s}=j({...k({path:{assistant_id:e}}),select:e=>e.documents}),c=r||o,l=i&&s?i instanceof Error?i.message:`Failed to load library`:null,[u,d]=(0,X.useState)(``),f=(0,X.useMemo)(()=>{if(!u.trim())return n;let e=u.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,u]);return{apps:n,documents:a,filteredApps:f,pinnedApps:(0,X.useMemo)(()=>f.filter(e=>t.has(e.id)).sort($),[f,t]),recentApps:(0,X.useMemo)(()=>f.filter(e=>!t.has(e.id)).sort($),[f,t]),filteredDocuments:(0,X.useMemo)(()=>{if(!u.trim())return a;let e=u.toLowerCase();return a.filter(t=>t.title.toLowerCase().includes(e))},[a,u]),searchText:u,setSearchText:d,loading:c,error:l}}async function pe(e,t){let{data:n,error:r,response:i}=await x({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function me({assistantId:e,assistantName:t,onNewConversation:n,onOpenDocument:i,onNewDocument:a,isCreatingDocument:o=!1,onOpenApp:c}){let{t:l}=M(`library`),d=m(),f=N(),{togglePin:_,pinnedAppIds:v}=h(e),b=p.use.isDeploying(),{apps:x,documents:S,filteredApps:C,pinnedApps:w,recentApps:T,filteredDocuments:D,searchText:O,setSearchText:k,loading:A,error:j}=fe(e),{pendingDelete:P,isDeleting:F,requestDelete:I,confirmDelete:L,cancelDelete:R}=ie(e),[z]=(0,X.useState)(()=>r()?void 0:`.vellum`),B=(0,X.useRef)(null),[V,H]=(0,X.useState)(!1),U=(0,X.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||V)){H(!0);try{let t=await pe(e,n);await f.invalidateQueries({queryKey:E({path:{assistant_id:e}})}),y.success(l(`libraryView.imported`,{name:t.name})),c(t.appId)}catch(e){y.error(e instanceof Error?e.message:l(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,f,c,l]),W=(0,X.useCallback)(async t=>{if(b)return;let n=x.find(e=>e.id===t)?.name??`this app`;try{let r=await u(e,t);p.getState().deployApp(e,t,n,r)}catch{p.getState().deployApp(e,t,n,``)}},[e,b,x]),G=(0,X.useCallback)(e=>_(e.id),[_]),K=ae.use.setHeaderTrailing(),q=!A&&!j;if((0,X.useEffect)(()=>{if(!q){K(null);return}let e=(0,Z.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),t=V?e:(0,Z.jsx)(te,{"aria-hidden":!0}),n=o?e:(0,Z.jsx)(ee,{"aria-hidden":!0});return K(d?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(s,{shape:`pill`,variant:`ghost`,iconOnly:t,"aria-label":l(`libraryView.import`),tooltip:l(`libraryView.import`),className:`max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:V}),a?(0,Z.jsx)(s,{shape:`pill`,variant:`ghost`,iconOnly:n,"aria-label":l(`libraryView.newDocument`),tooltip:l(`libraryView.newDocument`),className:`max-md:bg-[var(--surface-active)]`,onClick:a,disabled:o}):null]}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(s,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[t,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.import`)})]}),a?(0,Z.jsxs)(s,{size:`regular`,onClick:a,disabled:o,children:[n,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.newDocument`)})]}):null]})),()=>{K(null)}},[d,q,V,a,o,K,l]),A)return(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":l(`libraryView.loadingAria`)})});if(j)return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,Z.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:l(`libraryView.retry`)})]});let Y=x.length===0&&S.length===0;return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,Z.jsx)(`input`,{ref:B,type:`file`,accept:z,className:`hidden`,onChange:U}),Y?(0,Z.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,Z.jsx)(le,{onNewConversation:n?()=>n():void 0})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,Z.jsx)(g,{fullWidth:!0,type:`text`,placeholder:l(`libraryView.searchPlaceholder`),value:O,onChange:e=>k(e.target.value),leftIcon:(0,Z.jsx)(J,{size:16})})}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:C.length===0&&D.length===0?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,Z.jsx)(J,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`libraryView.noMatches`,{query:O})})]}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,Z.jsx)(Q,{title:l(`libraryView.pinned`),apps:w,assistantId:e,pinnedAppIds:v,onOpen:c,onPin:G,onDelete:I,onDeploy:W}),(0,Z.jsx)(Q,{title:l(`libraryView.recents`),apps:T,assistantId:e,pinnedAppIds:v,onOpen:c,onPin:G,onDelete:I,onDeploy:W}),D.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:l(`libraryView.documents`)}),(0,Z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:D.map(e=>(0,Z.jsx)(ce,{document:e,onOpen:e=>{i&&i(e)}},e.surfaceId))})]}):null]})}),(0,Z.jsx)(ne,{assistantId:e,assistantName:t,onStartConversation:n}),(0,Z.jsx)(re,{app:P,isDeleting:F,onConfirm:L,onCancel:R})]})]})}function he(e,t){let{t:n}=M(`library`),r=N(),{createDocument:i}=d(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(!1);return{newDocument:(0,X.useCallback)(async()=>{if(!s.current){s.current=!0,o(!0);try{let a=await S({assistantId:e,fallback:n(`libraryView.newDocumentFailed`)});if(!a.ok){y.error(a.error);return}let o;try{({surfaceId:o}=await i({assistantId:e,conversationId:a.conversationId}))}catch(t){l(t,{context:`new_library_document`}),O(e,a.conversationId),y.error(n(`libraryView.newDocumentFailed`));return}f(r,e),t(o)}finally{s.current=!1,o(!1)}}},[e,i,t,r,n]),isCreating:a}}function ge(){let e=w(),t=F(),n=P(),r=(0,X.useCallback)(e=>{_(t,{prompt:e})},[t]),s=(0,X.useCallback)(e=>{t(o(e,n.pathname),{state:a(n,e)})},[t,n]),{newDocument:l,isCreating:u}=he(e,s),d=c(e),f=(0,X.useCallback)(()=>{l()},[l]),p=(0,X.useCallback)(e=>{t(i.library.app(e))},[t]);return(0,Z.jsx)(me,{assistantId:e,onNewConversation:r,onOpenDocument:s,onNewDocument:d?f:void 0,isCreatingDocument:u,onOpenApp:p})}export{ge as LibraryPage};
@@ -1 +0,0 @@
1
- import{Pb as e}from"./app-CuJb51Ub.js";export{e as markLockfileAssistantOnboarded};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$s as t,Cx as n,JS as r,Mx as i,Oy as a,Qs as o,Qv as s,Xs as c,Zs as l,Zv as u}from"./app-CuJb51Ub.js";import{j as d}from"./vendor-CYmPHUS2.js";import{d as f,t as p,x as m}from"./react-B9IgSVeK.js";import{n as h,r as g,t as _}from"./auth-welcome-screen-OOkWXm3h.js";import{n as v,t as y}from"./use-return-to-short-circuit-H0BQmE_J.js";var b=e(m(),1),x=p();function S({returnTo:e}){let{t:n}=d(`account`),[a,s]=(0,b.useState)(null),[f,p]=(0,b.useState)(!1),m=async()=>{s(null),p(!0);try{await u({returnTo:e??null})}catch(e){if(l(e)){p(!1);return}i(e,{context:`native_login`,tags:{authError:o(e)??`unclassified`}}),s(n(t(e),{community:c})),p(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:a,children:(0,x.jsx)(r,{type:`button`,variant:`primary`,size:`large`,fullWidth:!0,onClick:()=>{m()},disabled:f,children:n(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t}=d(`account`),{search:r}=f(),i=a(e?`${n.account.signup}?returnTo=${encodeURIComponent(e)}`:n.account.signup,r);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:i}})}function w(){let e=s(),t=y();return t.kind===`wait`?(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(v,{})}):t.kind===`redirect`?t.node:e?(0,x.jsx)(S,{returnTo:t.returnTo}):(0,x.jsx)(C,{returnTo:t.returnTo})}export{w as LoginPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Ey as n,sm as r,uc as i}from"./app-CuJb51Ub.js";import{j as a}from"./vendor-CYmPHUS2.js";import{_ as o,t as s,x as c}from"./react-B9IgSVeK.js";import{r as l,t as u}from"./account-shell-CT_g1Cvn.js";var d=e(c(),1),f=s();function p(){let{t:e}=a(`account`),[s]=o(),c=r.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=n(s.get(`returnTo`),t.account.login),r=e.startsWith(`http`)||e===t.account.login?e:`${t.account.login}?returnTo=${encodeURIComponent(e)}`,a=!1;return c().then(()=>{a||i(r)},()=>{a||i(r)}),()=>{a=!0}},[c,s]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
@@ -1 +0,0 @@
1
- import{lt as e}from"./app-CuJb51Ub.js";export{e as filesFromNativePaths};
@@ -1 +0,0 @@
1
- import{Ar as e}from"./app-CuJb51Ub.js";export{e as saveFile};
@@ -1 +0,0 @@
1
- import{Th as e}from"./app-CuJb51Ub.js";export{e as resolvePairedAssistantPlatformId};
@@ -1 +0,0 @@
1
- import{Cx as e}from"./app-CuJb51Ub.js";import{r as t,t as n}from"./react-B9IgSVeK.js";var r=n();function i(){return(0,r.jsx)(t,{to:e.account.login,replace:!0})}export{i as PasswordResetPage};
@@ -1 +0,0 @@
1
- import{Fv as e,Lx as t,v_ as n,y_ as r,zv as i}from"./app-CuJb51Ub.js";function a(e){return[`personality-sliders`,e]}function o(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function s(e){return Object.fromEntries(Object.values(n).map(t=>[t,e[t]??50]))}async function c(n){let{data:i,error:a,response:s}=await e({path:{assistant_id:n},query:{path:r},throwOnError:!1});if(t(s,a,`Failed to fetch personality sliders`),s.status===404)return null;if(!s.ok||!i)throw Error(`Failed to fetch personality sliders`);let c=JSON.parse(i.content);if(!o(c))throw Error(`Personality sliders sidecar is malformed`);return c}async function l(e,n){try{let{error:a,response:o}=await i({path:{assistant_id:e},body:{path:r,content:JSON.stringify(n,null,2),encoding:`utf-8`},throwOnError:!1});return t(o,a,`Failed to save personality sliders`),o.ok}catch{return!1}}export{l as i,c as n,a as r,s as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bh as t,Cx as n,Du as r,Eu as i,Gm as a,JS as o,Kv as s,Ou as c,RS as l,Uv as u,_S as d,bu as f,fy as p,gS as m,im as h,jS as g,nm as _,pS as v,rm as y,sh as ee,vi as b,vx as x,wx as S,yu as C}from"./app-CuJb51Ub.js";import{N as w,Qn as T,Yn as te,j as E,tr as ne}from"./vendor-CYmPHUS2.js";import{_ as re,f as D,t as ie,x as ae}from"./react-B9IgSVeK.js";import{D as O,Yn as oe,it as k,pi as se,xr as ce,za as le,zi as A}from"./icons-C0wyat6T.js";import{A as ue,B as de,E as fe,F as j,I as pe,K as me,L as M,M as N,N as he,O as P,P as F,R as ge,S as _e,U as I,W as ve,_ as ye,f as be,g as xe,h as Se,i as Ce,j as we,k as Te,n as Ee,o as De,q as L,r as Oe,s as ke,t as Ae,w as je,z as Me}from"./use-checkout-dismiss-refresh-DkBaF6E8.js";import{t as Ne}from"./android-billing-handoff-BsKu5TdI.js";import{t as Pe}from"./checkout-return-target-BPGhcrkl.js";import{i as R,r as Fe,s as Ie,t as z}from"./machine-sizes-3x95p4n1.js";var B=e(ae(),1),V=`__none__`,H=`__baseline__`,Le=`${R[z]} machine (${Fe[z]})`;function Re(e){let{proPlan:t,seed:n,machineTier:r,storageTier:i,creditChoice:a,noBundleLabel:o}=e,s=t.machine_tiers,c=t.storage_tiers,l=t.credit_tiers??[],u=r===H,d=u?null:s.find(e=>e.tier===r)??null,f=u?Le:d?.description??null,p=c.find(e=>e.tier===i)??null,m=a&&a!==`__none__`?l.find(e=>e.tier===a)??null:null,h=n!=null&&n.machineTier!=null?s.find(e=>e.tier===n.machineTier)??null:null,g=n==null?null:n.machineTier??`__baseline__`,_=n==null?void 0:n.machineTier==null?Le:h?.description,v=n==null?null:c.find(e=>e.tier===n.storageTier)??null,y=n!=null&&n.creditTier!=null?l.find(e=>e.tier===n.creditTier)??null:null,ee=n!=null&&n.machineTier!=null&&h==null,b=n!=null&&v==null,x=n!=null&&n.hasPlatformFee===!1,S=[{key:`base`,label:`Platform fee: ${ue(t.base_price_cents)}`,changed:x}];if(f!=null){let e=n!=null&&!ee&&g!==r;S.push({key:`machine`,label:f,previousLabel:e?_:void 0,changed:e})}if(p!=null){let e=n!=null&&!b&&v?.tier!==p.tier;S.push({key:`storage`,label:N(p.storage_gib),previousLabel:e&&v!=null?N(v.storage_gib):void 0,changed:e})}let C=a===`__none__`?o:m==null?null:m.label;if(C!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?o:y?.label;S.push({key:`credit`,label:C,previousLabel:e?t:void 0,changed:e})}let w=t.base_price_cents+(d?.price_cents??0)+(p?.price_cents??0)+(m?.price_cents??0),T=ee||b||n!=null&&n.creditTier!=null&&y==null;if(n==null||T)return{totalCents:w,previousTotalCents:null,deltaCents:null,rows:S};let te=(x?0:t.base_price_cents)+(h?.price_cents??0)+(v?.price_cents??0)+(y?.price_cents??0);return{totalCents:w,previousTotalCents:te,deltaCents:w-te,rows:S}}var ze=`https://www.vellum.ai/docs/pricing`,Be=`${ze}#machine-sizes`,Ve=`${ze}#storage`,He=`${ze}#credit-bundles`,U=ie();function W(e){return(0,U.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,ue(e)]})}function G({label:e,docsUrl:t,docsLabel:n,learnMore:r}){return(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,U.jsx)(u,{href:t,"aria-label":n,tone:`quiet`,glyph:!1,className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:r})]})}function Ue({open:e,proPlan:t,pending:n,currentStorageGib:r,initialSelection:i,onClose:a,onContinue:s}){let{t:c}=E(`settings`),l=c(`customPlanModal.noExtraUsage`),u=e?i??null:null,[f,p]=(0,B.useState)(()=>u?u.machineTier??`__baseline__`:``),[m,h]=(0,B.useState)(()=>u?.storageTier??``),[g,_]=(0,B.useState)(()=>u?u.creditTier??`__none__`:``),[y,ee]=(0,B.useState)({open:e,initialSelection:i});(y.open!==e||y.initialSelection!==i)&&(ee({open:e,initialSelection:i}),p(u?u.machineTier??`__baseline__`:``),h(u?.storageTier??``),_(u?u.creditTier??`__none__`:``));let b=t.machine_tiers,x=(0,B.useMemo)(()=>t.storage_tiers.filter(e=>!e.legacy||e.tier===i?.storageTier),[t.storage_tiers,i?.storageTier]),S=t.credit_tiers??[],C=(0,B.useMemo)(()=>(t.credit_tiers??[]).filter(e=>!e.legacy),[t.credit_tiers]),w=e=>_e(e)||e.legacy&&e.tier!==i?.storageTier||r!=null&&e.storage_gib<r,T=i!=null&&i.machineTier==null,te=[...T?[{value:H,label:Le,icon:(0,U.jsx)(L,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...b.map(e=>({value:e.tier,label:e.description,icon:(0,U.jsx)(L,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:W(e.price_cents),disabled:_e(e)}))],ne=x.map(e=>({value:e.tier,label:e.label,icon:(0,U.jsx)(ce,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:W(e.price_cents),disabled:w(e)})),re=g&&g!==`__none__`?S.find(e=>e.tier===g)??null:null,D=re?.legacy?re:null,ie=[{value:V,label:l,icon:(0,U.jsx)(se,{className:`h-4 w-4`,"aria-hidden":!0})},...C.map(e=>({value:e.tier,label:e.label,icon:(0,U.jsx)(se,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:W(e.price_cents)})),...D?[{value:D.tier,label:D.label,icon:(0,U.jsx)(se,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:W(D.price_cents),disabled:!0}]:[]],ae=f===H,O=ae?null:b.find(e=>e.tier===f)??null,oe=ae?T?{tier:null}:null:O==null?null:{tier:O.tier},le=m!==``&&m===i?.storageTier,de=x.find(e=>e.tier===m&&(le||!w(e)))??null,fe=g===`__none__`||g===i?.creditTier||C.some(e=>e.tier===g),j=g!==``&&fe?g:null,pe=oe!=null&&de!=null&&j!=null,me=i!=null&&i.hasPlatformFee!==!1&&f===(i.machineTier??`__baseline__`)&&m===i.storageTier&&g===(i.creditTier??`__none__`),M=(0,B.useMemo)(()=>Re({proPlan:t,seed:i??null,machineTier:f,storageTier:m,creditChoice:g,noBundleLabel:l}),[t,i,f,m,g,l]);return(0,U.jsx)(d.Root,{open:e,onOpenChange:e=>{e||a()},children:(0,U.jsx)(d.Content,{size:`lg`,"data-theme":`light`,hideCloseButton:!0,overlayClassName:`backdrop-blur-[2px]`,className:`max-w-[820px] md:min-h-[min(608px,calc(100vh-4rem))]`,children:(0,U.jsx)(d.Body,{className:`p-4`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,U.jsx)(k,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,U.jsx)(d.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.title`)}),(0,U.jsx)(d.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:c(`customPlanModal.subtitle`)})]})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,U.jsx)(G,{label:c(`customPlanModal.machineSizeLabel`),docsUrl:Be,docsLabel:c(`customPlanModal.machineSizeDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,U.jsx)(v,{"aria-label":c(`customPlanModal.machineSizeAriaLabel`),placeholder:c(`customPlanModal.machineSizePlaceholder`),value:f,onChange:p,options:te})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,U.jsx)(G,{label:c(`customPlanModal.storageLabel`),docsUrl:Ve,docsLabel:c(`customPlanModal.storageDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,U.jsx)(v,{"aria-label":c(`customPlanModal.storageAriaLabel`),placeholder:c(`customPlanModal.storagePlaceholder`),value:m,onChange:h,options:ne})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,U.jsx)(G,{label:c(`customPlanModal.usageBundleLabel`),docsUrl:He,docsLabel:c(`customPlanModal.usageBundleDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,U.jsx)(v,{"aria-label":c(`customPlanModal.usageBundleAriaLabel`),placeholder:c(`customPlanModal.usageBundlePlaceholder`),value:g,onChange:_,options:ie})]})]}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,U.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.recap`)}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,U.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:ue(M.totalCents)}),M.deltaCents!=null&&M.deltaCents!==0&&M.previousTotalCents!=null&&(0,U.jsx)(`span`,{className:`text-[12px] font-medium ${M.deltaCents>0?`text-[var(--system-positive-strong)]`:`text-[var(--system-negative-strong)]`}`,children:c(`customPlanModal.comparedToPrevious`,{delta:P(M.deltaCents),previous:Te(M.previousTotalCents)})}),(0,U.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.totalBilledMonthly`)})]}),(0,U.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,U.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.yourSelection`)}),(0,U.jsx)(`ul`,{className:`flex flex-col gap-2`,children:M.rows.map(e=>(0,U.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,U.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,U.jsx)(A,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,U.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,U.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,U.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,U.jsx)(A,{className:`mt-0.5 h-4 w-4 shrink-0 ${e.changed?`text-[var(--system-positive-strong)]`:`text-[var(--content-secondary)]`}`,"aria-hidden":!0}),(0,U.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,U.jsx)(o,{variant:`primary`,fullWidth:!0,disabled:!pe||me||n,onClick:()=>{!pe||me||n||s({machineTier:oe.tier,storageTier:de.tier,creditTier:j===`__none__`?null:j})},children:c(`customPlanModal.continue`)}),(0,U.jsx)(o,{variant:`ghost`,fullWidth:!0,disabled:n,onClick:a,children:c(`customPlanModal.cancel`)})]})]})]})})})})}function We({className:e,onConfigure:t,configureDisabled:n,isCurrent:r=!1,currentSummary:i}){let{t:a}=E(`settings`);return(0,U.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,U.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:a(`customPlanRow.prompt`)}),(0,U.jsxs)(`div`,{className:`flex w-[840px] max-w-full flex-col items-start gap-4 rounded-2xl bg-[var(--surface-lift)] p-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,U.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,U.jsx)(k,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:a(`customPlanRow.title`)}),r?(0,U.jsx)(g,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:a(`customPlanRow.currentPlanTag`)}):null]}),(0,U.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:i??a(`customPlanRow.genericDescriptor`)})]})]}),(0,U.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,U.jsx)(o,{variant:`outlined`,onClick:t,disabled:n,children:a(`customPlanRow.configure`)})})]})]})}function Ge({open:e,pending:t,onCancel:n,...r}){return(0,U.jsx)(d.Root,{open:e,onOpenChange:e=>{!e&&!t&&n()},children:(0,U.jsx)(d.Content,{size:`md`,hideCloseButton:!0,children:(0,U.jsx)(Ke,{pending:t,onCancel:n,...r})})})}function Ke({lostFeatures:e,viaPortal:t,pending:n,onCancel:r,onConfirm:i}){let{t:a}=E(`settings`),s=e.length>0,[c,u]=(0,B.useState)(pe),f=t||M(c);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(d.Header,{icon:O,children:(0,U.jsx)(d.Title,{children:a(`freeDowngradeConfirmModal.title`)})}),(0,U.jsxs)(d.Body,{children:[(0,U.jsx)(l,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:a(t?s?`freeDowngradeConfirmModal.bodyWithFeaturesPortal`:`freeDowngradeConfirmModal.bodyCancelOnlyPortal`:s?`freeDowngradeConfirmModal.bodyWithFeatures`:`freeDowngradeConfirmModal.bodyCancelOnly`)}),s?(0,U.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:e.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsx)(l,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null,t?null:(0,U.jsx)(j,{value:c,onChange:u,disabled:n})]}),(0,U.jsxs)(d.Footer,{children:[(0,U.jsx)(o,{variant:`outlined`,onClick:r,disabled:n,children:a(`freeDowngradeConfirmModal.cancel`)}),(0,U.jsx)(o,{variant:`danger`,onClick:()=>i(c),disabled:n||!f,"data-testid":`confirm-free-downgrade-button`,children:a(`freeDowngradeConfirmModal.confirm`)})]})]})}function qe({tierKey:e,name:t,tagline:n,priceLabel:r,priceCaption:i,ctaLabel:a,features:s,recommended:c=!1,tone:l=`dark`,isCurrent:u,intent:d=`upgrade`,pending:f,onCta:p}){let{t:m}=E(`settings`),h=d===`downgrade`&&!u;return(0,U.jsxs)(`div`,{"data-theme":l,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,U.jsx)(F,{tier:e,size:50}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!h&&!u?(0,U.jsx)(g,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:m(`planColumnCard.recommended`)}):null]}),(0,U.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:n})]}),(0,U.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,U.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:r}),(0,U.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:i})]}),(0,U.jsx)(o,{variant:h?`outlined`:`primary`,fullWidth:!0,disabled:u||f,onClick:p,children:u?m(`planColumnCard.currentPlan`):a}),(0,U.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,U.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:m(`planColumnCard.includes`)}),(0,U.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,U.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,U.jsx)(A,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,U.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Je(e,t){return t(`plansPage.featureComputer`,{machine:fe(e)})}function Ye(e,t,n){return[Je(e,n),n(`plansPage.featureStorage`,{gib:e.storage_gib}),n(`plansPage.featureUsage`,{name:e.name}),...t]}function Xe(e){return[e(`plansPage.freeFeatureSmallComputer`),e(`plansPage.freeFeatureStorage`,{gib:4}),e(`plansPage.freeFeaturePayAsYouGo`)]}var Ze=`#0A0A0B`,Qe=8e3,$e={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};b();function et(e,t){return je(e,t).join(` · `)}function tt(){let{t:e}=E(`settings`),l=D(),[d,g]=re(),v=ne(),b=S(),ie=h({platformHostedOnly:!0}),ae=_(),O=y(),k=ie===`full`&&ae,se=ie===`full`&&O,ce=T({...i(),enabled:k}),A=T({...C(),enabled:k}),ue=te(c()),{changePackage:fe,isPending:j}=Oe(),{changeTiers:pe,isPending:M,current:N,currentReady:P,currentKnown:F,primaryAssistantId:_e}=Ce({enabled:k});Ae();let[Te,L]=(0,B.useState)(!1),[je,R]=(0,B.useState)(!1),[Fe,z]=(0,B.useState)(!1),[V,H]=(0,B.useState)(null),[Le,Re]=(0,B.useState)(!1),[Be,Ve]=(0,B.useState)(void 0),He=(0,B.useRef)(!1),[W,G]=(0,B.useState)(!1),Ke=(0,B.useRef)(!1),[Je,tt]=(0,B.useState)(null),K=ce.data,q=A.data?.plans.find(e=>e.id===`pro`),nt=q?.packages??[],rt=nt.length>0,J=K?.plan_id===`pro`,it=ee(),at=me(_e,k&&it&&J&&F),ot=F?at:void 0,Y=K?K.plan_id===`base`?`free`:de(K.package)?K.package.key:null:null,{cancelSubscription:st,isPending:ct}=De(),lt=xe(K),ut=be(ke(K)),dt=t(),ft=new Set(A.data?.plans.find(e=>e.id===`base`)?.included_features??[]),pt=(q?.included_features??[]).filter(e=>!ft.has(e)),X=Te||j||ct||ut.isPending,mt=(0,B.useMemo)(()=>!J||N.storageTier==null?null:{machineTier:N.machineTier,storageTier:N.storageTier,creditTier:N.creditTier,hasPlatformFee:N.hasPlatformFee},[J,N.machineTier,N.storageTier,N.creditTier,N.hasPlatformFee]),Z=d.get(x),ht=!k&&!se,gt=k&&!A.isLoading&&!rt,Q=ht||!(Z!=null&&!W)&&(ce.isError||gt);(0,B.useEffect)(()=>{Q&&l(ht?n.settings.usageBilling:`${n.settings.usageBilling}&adjust_plan`,{replace:!0})},[Q,ht,l]);let _t=()=>{(window.history.state?.idx??0)>0?l(-1):l(n.settings.usageBilling)},vt=async t=>{L(!0);try{let e=await ue.mutateAsync({body:{...t,return_target:Pe()}});e.status===`redirect`&&e.checkout_url?(p(t.package?{kind:`package`,packageKey:t.package}:{kind:`custom`,machineTier:t.machine_tier??null,storageTier:t.storage_tier??null,creditTier:t.credit_tier??null}),a(v),s(e.checkout_url)):(await v.invalidateQueries({queryKey:r()}),await v.invalidateQueries({queryKey:f()}))}catch(t){m.error(Se(t,e(`plansPage.checkoutFailedToast`)))}finally{L(!1)}},$=(e,t)=>{if(K&&!X){if(dt){Ne(n.plans);return}if(J){if(e===`free`){z(!0);return}let r=nt.find(t=>t.key===e);if(!r||I(Y,r.key)===`current`)return;if(!ye(K)){l(`${n.settings.usageBilling}&adjust_plan`,{replace:t?.replaceOnBail===!0});return}H(r);return}e!==`free`&&vt({target_plan_id:`pro`,package:e,confirm:!0})}},yt=(0,B.useRef)($);(0,B.useEffect)(()=>{yt.current=$}),(0,B.useEffect)(()=>{if(Z==null||He.current||Q||!k||Ke.current)return;Ke.current=!0;let e=setTimeout(()=>{G(!0)},Qe),t=()=>{clearTimeout(e),G(!0)};Promise.all([v.refetchQueries({queryKey:r()}),v.refetchQueries({queryKey:f()})]).then(t,t)},[Q,Z,k,v]),(0,B.useEffect)(()=>{Z==null||He.current||Q||!k||!W||(He.current=!0,J&&Z!==`free`&&tt(Z),g(e=>{let t=new URLSearchParams(e);return t.delete(x),t},{replace:!0}))},[W,Q,Z,k,J,g]),(0,B.useEffect)(()=>{Je==null||Z!=null||(tt(null),yt.current(Je,{replaceOnBail:!0}))},[Z,Je]);let bt;if(K&&q&&rt){let t=J&&Y===null&&P&&N.storageGib!=null,r=t?et(N,q):void 0,i=async e=>{if(!lt){z(!1),ut.mutate({});return}await st(ge(e))&&(z(!1),l(n.settings.usageBilling,{replace:!0}))},a=()=>({creditTier:N.creditTier,fromSnapshot:{machineSize:ot?.machine_size??null,storageGib:ot?.provisioned_storage_gib??null}}),o=V?Y===null?`switch`:I(Y,V.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,s=async()=>{if(!V)return;let t=V,n=a(),r=Y===null||!P||!F||Ie(N.machineTier,t.machine_tier),i=await fe(t.key);if(!i)return;if(H(null),i.status===`no_op`){m.success(e(`plansPage.alreadyOnPlanToast`));return}let s=t.credit_tier??null;Ve({fromSnapshot:n.fromSnapshot,credits:s===n.creditTier?null:{fromTier:n.creditTier,toTier:s},direction:$e[o],canLowerResources:r}),Re(!0)},c=e=>vt({target_plan_id:`pro`,confirm:!0,machine_tier:e.machineTier,storage_tier:e.storageTier,credit_tier:e.creditTier}),d=async t=>{let n=a(),r=!F||Ie(N.machineTier,t.machineTier),i=await pe(t,mt??void 0);i&&(R(!1),i.needsResize||i.creditChanged?(Ve({fromSnapshot:n.fromSnapshot,credits:i.creditChanged?{fromTier:n.creditTier,toTier:t.creditTier}:null,direction:`change`,canLowerResources:r}),Re(!0)):m.success(e(`plansPage.planUpdatedToast`)))},f=()=>{if(!X){if(dt){Ne(n.plans);return}J&&!P||R(!0)}},p=[...nt].sort((e,t)=>Me.indexOf(e.key)-Me.indexOf(t.key)),h=he(`free`),g=J?`downgrade`:I(Y,`free`),_=Xe(e);bt=(0,U.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,U.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,U.jsx)(`h1`,{className:`text-[40px] text-[var(--content-emphasised)] sm:text-[60px]`,style:{fontFamily:`var(--font-serif)`,fontWeight:400,lineHeight:1.2,letterSpacing:`1.2px`},children:e(`plansPage.heading`)}),(0,U.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:e(`plansPage.subheading`)})]}),(0,U.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,U.jsx)(qe,{tierKey:`free`,name:`Base`,tagline:h?.tagline??``,priceLabel:e(`plansPage.freePriceLabel`),priceCaption:h?.priceCaption??e(`plansPage.foreverCaption`),ctaLabel:g===`downgrade`?e(`plansPage.downgradeTo`,{name:`Base`}):h?.cta??e(`plansPage.startFreeCta`),features:_,tone:`dark`,isCurrent:Y===`free`,intent:g,pending:X,onCta:()=>$(`free`)}),p.map(t=>{let n=he(t.key),r=I(Y,t.key);return(0,U.jsx)(qe,{tierKey:t.key,name:t.name,tagline:n?.tagline??``,priceLabel:we(t.total_price_cents),priceCaption:n?.priceCaption??e(`plansPage.billedMonthlyCaption`),ctaLabel:r===`downgrade`?e(`plansPage.downgradeTo`,{name:t.name}):n?.cta??t.name,features:Ye(t,n?.extraFeatures??[],e),recommended:n?.recommended,tone:n?.recommended?`light`:`dark`,isCurrent:Y===t.key,intent:r,pending:X,onCta:()=>$(t.key)},t.key)})]}),(0,U.jsx)(We,{className:`mt-6 sm:mt-10`,onConfigure:f,configureDisabled:J&&!P||X,isCurrent:t,currentSummary:r}),(0,U.jsx)(Ue,{open:je,proPlan:q,pending:Te||M,currentStorageGib:J?N.storageGib:null,initialSelection:mt,onClose:()=>R(!1),onContinue:e=>{J?d(e):c(e)}}),(0,U.jsx)(Ee,{open:V!==null,relation:o,packageName:V?.name??``,targetPackage:V,pending:j,onCancel:()=>H(null),onConfirm:()=>void s()}),(0,U.jsx)(Ge,{open:Fe,lostFeatures:pt,viaPortal:!lt,pending:ct||ut.isPending,onCancel:()=>z(!1),onConfirm:e=>void i(e)}),(0,U.jsx)(ve,{mode:`resize`,open:Le,onClose:()=>{Re(!1),Ve(void 0)},resizeContext:Be}),(0,U.jsx)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:(0,U.jsx)(w,{ns:`settings`,i18nKey:`plansPage.cancelAnytimeFooter`,components:{docsLink:(0,U.jsx)(u,{href:ze,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})})]})}else bt=(0,U.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,U.jsx)(oe,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`plansPage.loadingPlansAriaLabel`)})});return(0,U.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:Ze},children:[(0,U.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:b?`3rem`:`2rem`},children:(0,U.jsx)(o,{variant:`outlined`,leftIcon:(0,U.jsx)(le,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:_t,className:`[-webkit-app-region:no-drag]`,children:e(`plansPage.back`)})}),(0,U.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:b?`5rem`:`4rem`},children:bt})]})}function K(){return(0,U.jsx)(tt,{})}export{K as PlansPage};
@@ -1 +0,0 @@
1
- import{Cx as e,sx as t}from"./app-CuJb51Ub.js";import{h as n,r,t as i}from"./react-B9IgSVeK.js";import{t as a}from"./plugins-surface-iPrkdvkP.js";var o=i();function s(){let i=t.use.version(),s=a(),{name:c}=n();return i===null?null:!s||!c?(0,o.jsx)(r,{to:e.superpowers,replace:!0}):(0,o.jsx)(r,{to:`${e.superpowers}?plugin=${encodeURIComponent(c)}`,replace:!0})}export{s as PluginDetailPage};
@@ -1 +0,0 @@
1
- import{Kh as e}from"./app-CuJb51Ub.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$h as t,$u as n,$v as r,Ax as i,Ba as a,Cx as o,Dx as s,G as c,H as l,Ha as u,IS as d,JS as f,Jv as p,LS as m,Ox as h,Qh as g,Qm as _,Qu as v,Qv as y,Sx as b,TS as x,T_ as S,U as C,Ug as w,Uv as T,Va as E,Vh as D,W as O,ZS as k,Zm as A,ab as j,bd as M,bl as ee,cm as te,ey as ne,gS as N,hS as re,iS as P,im as F,jS as I,jx as ie,kh as ae,kx as L,nm as oe,no as R,nt as z,ny as B,pS as V,px as se,rm as ce,ro as le,ry as ue,sm as H,td as de,to as fe,ty as pe,wS as U,xd as me,xg as he,yh as W,yl as ge,yn as _e}from"./app-CuJb51Ub.js";import{N as ve,Qn as G,Yn as ye,j as K,tr as q}from"./vendor-CYmPHUS2.js";import{b as be,t as xe,x as Se}from"./react-B9IgSVeK.js";import{A as J,Gi as Ce,Yn as we,Zt as Te,ft as Ee,i as De,qi as Oe}from"./icons-C0wyat6T.js";import{t as Y}from"./detail-card-RBkdhZeE.js";import{t as ke}from"./setting-row-DJHlwNfk.js";import{n as Ae,r as je,t as Me}from"./settings-divider-2hwVjQ2t.js";var X=e(Se(),1),Z=xe(),Ne=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`},{id:`screen`,type:`system`,sourceKind:`screen`,availableOnWindows:!0},{id:`microphone`,type:`system`,sourceKind:`microphone`,availableOnWindows:!0},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,availableOnWindows:!0},{id:`notifications`,type:`system`,sourceKind:`notifications`,availableOnWindows:!0}],Pe=[{id:`notificationBadges`,type:`local`}];function Fe(e,t,n){switch(e){case`accessibility`:return{label:t(`systemPermissionsCard.accessibilityLabel`),description:t(`systemPermissionsCard.accessibilityDescription`)};case`screen`:return{label:t(`systemPermissionsCard.screenLabel`),description:t(`systemPermissionsCard.screenDescription`)};case`microphone`:return{label:t(`systemPermissionsCard.microphoneLabel`),description:t(`systemPermissionsCard.microphoneDescription`)};case`speechRecognition`:return{label:t(`systemPermissionsCard.speechRecognitionLabel`),description:t(n?`systemPermissionsCard.speechRecognitionWindowsDescription`:`systemPermissionsCard.speechRecognitionDescription`)};case`notifications`:return{label:t(`systemPermissionsCard.notificationsLabel`),description:t(n?`systemPermissionsCard.notificationsWindowsDescription`:`systemPermissionsCard.notificationsDescription`)};default:throw Error(`Unsupported system permission row: ${e}`)}}function Ie(){let[e,t]=(0,X.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function Le(){let[e,t]=(0,X.useState)(()=>s(`dockBadgesEnabled`,!0));return(0,X.useEffect)(()=>ie(`dockBadgesEnabled`,()=>{t(s(`dockBadgesEnabled`,!0))}),[]),[e,e=>{t(e),L(`dockBadgesEnabled`,e),e||E(0)}]}function Re({row:e,onToggle:t}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Z.jsx)(U,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:k(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,Z.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,Z.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function ze(){return(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function Be({compact:e=!1}){let{t:r}=K(),{state:i,loading:o,error:s,supported:c,refresh:l}=de(),{pendingKind:d,run:f}=Ie(),[p,m]=Le(),h=S.use.pushAvatarSender(),y=j.use.selectedAssistantId(),b=j.use.assistants(),x=H.use.user(),C=he(),w=ae(),T=w===`windows`,E=(0,X.useMemo)(()=>Ne.filter(e=>!T||e.availableOnWindows),[T]),D=(0,X.useMemo)(()=>{let e=new Map;if(!i)return e;for(let t of E){let n=i[t.sourceKind];n&&n.status!==`not-applicable`&&e.set(t.id,{meta:t,item:n})}return e},[i,E]),O=(0,X.useMemo)(()=>{let e=E.map(e=>{let t=D.get(e.id)?.item;if(!t)return null;let n=Fe(e.id,r,T);return{id:e.id,label:n.label,description:n.description,checked:t.status===`granted`,disabled:d===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}}).filter(Boolean),t=a()===`taskbar icon`?r(`systemPermissionsCard.taskbarIcon`):r(`systemPermissionsCard.dockIcon`),n=u()?Pe.map(e=>({id:e.id,label:r(`systemPermissionsCard.notificationBadgesLabel`),description:r(`systemPermissionsCard.notificationBadgesDescription`,{surface:t}),checked:p,disabled:d===e.id})):[];return[...e,...n]},[T,p,d,D,r,E]);if(!c&&O.length===0)return null;let k=async(e,r)=>{if(r.status===`granted`||r.status===`denied`||!r.canRequest)await v(e.sourceKind);else{let r=(()=>{if(e.sourceKind!==`notifications`||w!==`macos`||!h)return;let n=b.find(e=>e.id===y),r=A(n,x?.kind===`platform`?x.id:null,C,se()??(globalThis.location===void 0?null:globalThis.location.href));if(!n||!r)return;let i=g(r,n.id,_(n));if(!i)return;let a=t(i);if(!(!a?.name||!a.avatar))return{presentation:`assistant`,identity:i,sender:{id:i.nativeSenderId,name:a.name,avatarBase64:a.avatar.avatarBase64,avatarHash:a.avatar.avatarHash}}})();r?await n(e.sourceKind,r):await n(e.sourceKind)}await l()},M=e=>{let t=D.get(e);if(t){f(e,()=>k(t.meta,t.item));return}e===`notificationBadges`&&f(e,async()=>{m(!p)})};return(0,Z.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,Z.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:r(`systemPermissionsCard.title`)}),o&&O.length===0?(0,Z.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(ze,{}),r(`systemPermissionsCard.checking`)]}):(0,Z.jsx)(`div`,{className:`mt-3 space-y-2`,children:O.map(e=>(0,Z.jsx)(Re,{row:e,onToggle:M},e.id))}),s&&(0,Z.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-md border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:s})]})}var Ve=2**31-1;function He(){let{t:e}=K(`settings`),t=F({platformHostedOnly:!0}),n=oe(),r=ce(),i=q(),a=j.use.activeAssistantId(),o=t===`full`&&n&&a!==null,{data:s,isLoading:c,isError:l}=G({...ge({path:{id:a??``}}),enabled:o,refetchInterval:e=>{let t=e.state.data?.access_consent_expires_at;if(!e.state.data?.access_consented||!t)return!1;let n=new Date(t).getTime()-Date.now()+1e3;return Math.min(Math.max(n,1e3),Ve)}}),u=s?.access_consented===!0,d=u&&typeof s.access_consent_never_expires==`boolean`,p=u&&s.access_consent_never_expires===!0,m=u&&!p?s.access_consent_expires_at:null;je(m!==null);let h=ye({mutationFn:async({assistantId:e,next:t,mode:n})=>{let{data:r}=await w({path:{id:e},body:{access_consented:t,...n===`keepOn`?{never_expires:!0}:{}},throwOnError:!0});return r},onSuccess:(t,n)=>{ee(i,{path:{id:n.assistantId}},t),N.success(n.mode===`extend`?e(`accessConsentSetting.toastExtended`):n.mode===`keepOn`?e(`accessConsentSetting.toastKeptOn`):n.mode===`expireAgain`?e(`accessConsentSetting.toastExpiring`):t?.access_consented?e(`accessConsentSetting.toastEnabled`):e(`accessConsentSetting.toastDisabled`))},onError:()=>{N.error(e(`accessConsentSetting.toastUpdateFailed`))}});if(t===`gated`)return null;let g=t===`full`&&r,_=s?.access_consented??!1,v=t!==`full`||!n||a===null||c||l||h.isPending;return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`accessConsentSetting.title`)}),(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`accessConsentSetting.description`)}),t===`full`&&l&&(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,children:e(`accessConsentSetting.loadError`)}),m!==null&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`accessConsentSetting.expiresAt`,{when:Ae(m)})}),(0,Z.jsx)(f,{variant:`outlined`,size:`compact`,disabled:v,onClick:()=>{a&&h.mutate({assistantId:a,next:!0,mode:`extend`})},children:e(`accessConsentSetting.extend`)}),d&&(0,Z.jsx)(f,{variant:`outlined`,size:`compact`,disabled:v,onClick:()=>{a&&h.mutate({assistantId:a,next:!0,mode:`keepOn`})},children:e(`accessConsentSetting.keepOn`)})]}),p&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`accessConsentSetting.staysOn`)}),(0,Z.jsx)(f,{variant:`outlined`,size:`compact`,disabled:v,onClick:()=>{a&&h.mutate({assistantId:a,next:!0,mode:`expireAgain`})},children:e(`accessConsentSetting.expireAgain`)})]})]}),(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:t===`disabled`?null:(0,Z.jsxs)(Z.Fragment,{children:[(h.isPending||g)&&(0,Z.jsx)(we,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(U,{checked:_,disabled:v,onChange:()=>{a&&h.mutate({assistantId:a,next:!_})}})]})})]}),t===`disabled`&&(0,Z.jsx)(_e,{className:`mt-3`,children:e(`accessConsentSetting.loginNotice`)})]})}function Ue(){let{t:e}=K(`settings`),t=y(),n=D(),[i,a]=(0,X.useState)(()=>pe()),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(!1);if((0,X.useEffect)(()=>{if(!t)return;let e=!0;return ne().then(t=>{e&&s(t)}),()=>{e=!1}},[t]),!t||!o?.available)return null;let u=async()=>{l(!0);try{if(i)B(!1),await r(),a(!1);else{let e=p();if(!e||!await ue(e)){B(!1),a(!1);return}B(!0),a(!0)}}finally{l(!1)}};return(0,Z.jsx)(Y,{title:e(`biometricSettingsCard.title`),children:(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex-1`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`biometricSettingsCard.useForSignIn`,{label:o.label})}),(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(n?`biometricSettingsCard.descriptionWithPasscode`:`biometricSettingsCard.description`,{label:o.label})})]}),(0,Z.jsx)(U,{checked:i,onChange:()=>void u(),disabled:c})]})})}var Q=[`youtube.com`,`youtu.be`,`vimeo.com`,`loom.com`];function We(e){try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}catch{}return[...Q]}function Ge(){return s(`mediaEmbedsEnabled`,!0)}function Ke(){let e=h(`mediaEmbedDomains`,``);return e?We(e):[...Q]}function qe(){let{t:e}=K(`settings`),[t,n]=(0,X.useState)(()=>Ge()),[r,a]=(0,X.useState)(()=>Ke()),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(``),u=(0,X.useMemo)(()=>c.trim().toLowerCase(),[c]),d=e=>{n(e),L(`mediaEmbedsEnabled`,e)},p=e=>{a(e),i(`mediaEmbedDomains`,JSON.stringify(e))},m=()=>{if(u){if(r.includes(u)){l(``);return}p([...r,u]),l(``)}},h=e=>{p(r.filter(t=>t!==e))},g=()=>{p([...Q])},_=r.length===Q.length&&r.every((e,t)=>e===Q[t]);return(0,Z.jsxs)(Y,{title:e(`mediaEmbedsCard.title`),subtitle:e(`mediaEmbedsCard.subtitle`),children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`mediaEmbedsCard.autoToggle`)}),(0,Z.jsx)(U,{checked:t,onChange:d})]}),t&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`mt-4`,children:(0,Z.jsx)(Me,{})}),(0,Z.jsxs)(f,{type:`button`,variant:`ghost`,onClick:()=>s(e=>!e),className:`mt-4 w-full justify-between px-3`,"aria-expanded":o,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o?(0,Z.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":!0}):(0,Z.jsx)(Ce,{className:`h-4 w-4`,"aria-hidden":!0}),e(`mediaEmbedsCard.allowlist`)]}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`mediaEmbedsCard.domainCount`,{count:r.length})})]}),o&&(0,Z.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,Z.jsx)(x,{label:e(`mediaEmbedsCard.addDomainLabel`),type:`text`,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:e(`mediaEmbedsCard.addDomainPlaceholder`),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(f,{variant:`primary`,size:`compact`,onClick:m,disabled:!u,children:e(`mediaEmbedsCard.add`)})]}),r.length>0&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(f,{type:`button`,variant:`ghost`,size:`compact`,onClick:g,disabled:_,tintColor:`var(--content-tertiary)`,children:e(`mediaEmbedsCard.resetDefaults`)})}),r.length>0&&(0,Z.jsx)(`ul`,{className:`space-y-2`,children:r.map(t=>(0,Z.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] px-3 py-2 text-body-medium-lighter`,children:[(0,Z.jsx)(`span`,{className:`font-mono text-[var(--content-default)]`,children:t}),(0,Z.jsx)(f,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Z.jsx)(J,{}),onClick:()=>h(t),"aria-label":e(`mediaEmbedsCard.removeDomainAria`,{domain:t})})]},t))})]})]})]})}function Je(){return(0,Z.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Ye(){let{t:e}=K(`settings`),t=z(),n=(0,X.useMemo)(()=>l.map(t=>({value:t.id,label:e(t.labelKey,t.label),icon:(0,Z.jsx)(t.icon,{className:`h-3.5 w-3.5`})})),[e]),r=q(),{data:i,isError:a}=G({queryKey:[`thresholds`,t],queryFn:()=>O(t),staleTime:3e4}),[o,s]=(0,X.useState)(`relaxed`),[u,d]=(0,X.useState)(`conservative`),[f,p]=(0,X.useState)(`strict`),h=(0,X.useRef)(!1),[g,_]=(0,X.useState)(!1),v=(0,X.useRef)(null),y=(0,X.useRef)(null);(0,X.useEffect)(()=>{!i||h.current||(s(C(i.interactive).id),d(C(i.autonomous).id),p(C(i.headless).id),_(!0))},[i]),(0,X.useEffect)(()=>()=>{v.current!==null&&(clearTimeout(v.current),v.current=null,y.current?.(),y.current=null)},[]);let b=(0,X.useCallback)((e,n,i)=>{if(!t||!g)return;let a=l.find(t=>t.id===e)?.riskThreshold,o=l.find(e=>e.id===n)?.riskThreshold,s=l.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||c(t,{interactive:a,autonomous:o,headless:s}).then(()=>{r.invalidateQueries({queryKey:[`thresholds`,t]})}).catch(()=>{})},[t,g,r]),x=(0,X.useCallback)((e,t,n)=>{v.current!==null&&clearTimeout(v.current),y.current=()=>b(e,t,n),v.current=setTimeout(()=>{y.current?.(),v.current=null,y.current=null},500)},[b]),S=(0,X.useCallback)(e=>{h.current=!0,s(e),x(e,u,f)},[u,f,x]),w=(0,X.useCallback)(e=>{h.current=!0,d(e),x(o,e,f)},[o,f,x]),T=(0,X.useCallback)(e=>{h.current=!0,p(e),x(o,u,e)},[o,u,x]),E=l.find(e=>e.id===o),D=l.find(e=>e.id===u),k=l.find(e=>e.id===f),A=!t||!g;return(0,Z.jsxs)(m,{children:[(0,Z.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`riskToleranceSettings.title`)}),(0,Z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.description`)}),a&&(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-lighter text-[var(--system-negative-strong)]`,children:e(`riskToleranceSettings.loadError`)}),(0,Z.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.conversationsTitle`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.conversationsDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Z.jsx)(V,{value:o,onChange:S,options:n,disabled:A})}),E&&(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:e(E.descriptionKey,E.description)})]}),(0,Z.jsx)(Je,{}),(0,Z.jsxs)(P.Root,{children:[(0,Z.jsx)(P.Trigger,{size:`medium`,children:e(`riskToleranceSettings.advanced`)}),(0,Z.jsxs)(P.Content,{keepMounted:!0,className:`mt-4 space-y-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.backgroundTitle`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.backgroundDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Z.jsx)(V,{value:u,onChange:w,options:n,disabled:A})}),D&&(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:e(D.descriptionKey,D.description)})]}),(0,Z.jsx)(Je,{}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.headlessTitle`)}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.headlessDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Z.jsx)(V,{value:f,onChange:T,options:n,disabled:A})}),k&&(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:e(k.descriptionKey,k.description)})]})]})]})]})]})}var Xe=e(be(),1),Ze=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`];function Qe({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let{t:i}=K(`settings`),a=(0,X.useRef)(null),[o,s]=(0,X.useState)(t.tool),[c,l]=(0,X.useState)(t.pattern),[u,f]=(0,X.useState)(t.risk),[p,m]=(0,X.useState)(t.description??``),[h,g]=(0,X.useState)(!1),[_,v]=(0,X.useState)(null),y=[{value:`low`,label:i(`trustRuleFormModal.riskLow`),description:i(`trustRuleFormModal.riskLowDescription`)},{value:`medium`,label:i(`trustRuleFormModal.riskMedium`),description:i(`trustRuleFormModal.riskMediumDescription`)},{value:`high`,label:i(`trustRuleFormModal.riskHigh`),description:i(`trustRuleFormModal.riskHighDescription`)}],b=c.trim(),S=b.length>0&&!h,C=i(`trustRuleFormModal.defaultDescription`,{tool:o,pattern:b||i(`trustRuleFormModal.patternFallback`)}),w=(0,X.useCallback)(async n=>{if(n.preventDefault(),!S)return;let a=p.trim()||C;g(!0),v(null);try{await le(e,t.id,{risk:u,description:a}),r()}catch(e){v(e instanceof Error?e.message:i(`trustRuleFormModal.saveFailed`))}finally{g(!1)}},[e,S,C,p,t,r,u,i]);return(0,Xe.createPortal)((0,Z.jsx)(`div`,{ref:a,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,X.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),n())},[n]),onClick:(0,X.useCallback)(e=>{e.target===a.current&&n()},[n]),children:(0,Z.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,Z.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:i(`trustRuleFormModal.title`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`trustRuleFormModal.closeAriaLabel`),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,Z.jsx)(De,{className:`h-4 w-4`})})]}),(0,Z.jsxs)(`form`,{onSubmit:e=>void w(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[_&&(0,Z.jsx)(d,{tone:`error`,children:_}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:i(`trustRuleFormModal.toolLabel`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(0,Z.jsx)(V,{value:o,onChange:s,disabled:!0,options:Ze.map(e=>({value:e,label:e}))})})]}),(0,Z.jsx)(x,{label:i(`trustRuleFormModal.patternLabel`),type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:i(`trustRuleFormModal.patternPlaceholder`),disabled:!0}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:i(`trustRuleFormModal.riskLevelLabel`)}),(0,Z.jsx)(`div`,{className:`mt-2 flex gap-2`,children:y.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${u===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] text-[var(--system-mid-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,Z.jsx)(`div`,{children:e.label}),(0,Z.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,Z.jsx)(x,{label:i(`trustRuleFormModal.descriptionLabel`),type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:C}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:i(`trustRuleFormModal.cancel`)}),(0,Z.jsx)(`button`,{type:`submit`,disabled:!S,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:i(h?`trustRuleFormModal.saving`:`trustRuleFormModal.save`)})]})]})]})}),document.body)}function $e(e){return e.origin===`default`&&!e.userModified}function et(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function tt(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function nt({assistantId:e,onClose:t}){let{t:n}=K(`settings`),r=(0,X.useRef)(null),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!0),[c,l]=(0,X.useState)(null),[u,p]=(0,X.useState)(null),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(!1),v=(0,X.useCallback)(e=>{switch(e){case`low`:return n(`trustRulesModal.riskLow`);case`medium`:return n(`trustRulesModal.riskMedium`);case`high`:return n(`trustRulesModal.riskHigh`)}},[n]),y=(0,X.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([R(e),R(e,{origin:`default`})]);return et(t,n)}return R(e)},[e]),b=(0,X.useCallback)(async()=>{s(!0);try{a(await y(g)),l(null)}catch(e){l(e instanceof Error?e.message:n(`trustRulesModal.loadErrorFallback`))}finally{s(!1)}},[y,g,n]);(0,X.useEffect)(()=>{let e=!1;return(async()=>{s(!0);try{let t=await y(g);e||(a(t),l(null))}catch(t){e||l(t instanceof Error?t.message:n(`trustRulesModal.loadErrorFallback`))}finally{e||s(!1)}})(),()=>{e=!0}},[y,g,n]);let x=(0,X.useCallback)(async()=>{if(m)try{await fe(e,m.id),b()}catch(e){l(e instanceof Error?e.message:n(`trustRulesModal.deleteErrorFallback`))}finally{h(null)}},[e,m,b,n]);return(0,Xe.createPortal)((0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{ref:r,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,X.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t())},[t]),onClick:(0,X.useCallback)(e=>{e.target===r.current&&t()},[t]),children:(0,Z.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,Z.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:n(`trustRulesModal.title`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(U,{checked:g,onChange:_,label:n(`trustRulesModal.showAllDefaults`)}),(0,Z.jsx)(f,{variant:`outlined`,onClick:t,children:n(`trustRulesModal.done`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[c&&(0,Z.jsx)(`div`,{className:`mb-3`,children:(0,Z.jsx)(d,{tone:`error`,children:c})}),o?(0,Z.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`trustRulesModal.loading`)}):i.length===0?(0,Z.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(Ee,{className:`h-8 w-8`}),(0,Z.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:n(`trustRulesModal.empty`)})]}):(0,Z.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:i.map(e=>{let t=$e(e);return(0,Z.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,Z.jsx)(I,{tone:tt(e.risk),children:v(e.risk)}),e.origin===`default`&&(0,Z.jsx)(I,{tone:`neutral`,children:n(`trustRulesModal.defaultTag`)}),e.userModified&&(0,Z.jsx)(I,{tone:`warning`,children:n(`trustRulesModal.modifiedTag`)})]}),(0,Z.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,Z.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(`button`,{type:`button`,"aria-label":n(`trustRulesModal.editRuleAria`,{tool:e.tool}),onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,Z.jsx)(Te,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,Z.jsx)(f,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Z.jsx)(J,{className:`h-4 w-4`}),"aria-label":n(`trustRulesModal.deleteRuleAria`,{tool:e.tool}),onClick:()=>h(e)})]})]},e.id)})})]})]})}),u&&(0,Z.jsx)(Qe,{assistantId:e,existingRule:u,onClose:()=>p(null),onSaved:()=>{p(null),b()}}),(0,Z.jsx)(re,{open:m!==null,title:n(`trustRulesModal.deleteTitle`),message:m?n(`trustRulesModal.deleteMessage`,{risk:v(m.risk).toLowerCase(),tool:m.tool,pattern:m.pattern}):``,confirmLabel:n(`trustRulesModal.delete`),cancelLabel:n(`trustRulesModal.cancel`),destructive:!0,onConfirm:()=>void x(),onCancel:()=>h(null)})]}),document.body)}function rt(){let{t:e}=K(`settings`),t=z(),[n,r]=(0,X.useState)(!1);return(0,Z.jsxs)(m,{children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Z.jsx)(Ee,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,Z.jsxs)(`div`,{className:`flex-1`,children:[(0,Z.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`trustRules.title`)}),(0,Z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`trustRules.description`)})]}),(0,Z.jsx)(f,{variant:`outlined`,onClick:()=>r(!0),children:e(`trustRules.manage`)})]}),n&&(0,Z.jsx)(nt,{assistantId:t,onClose:()=>r(!1)})]})}var it=[{value:`dontRetain`,labelKey:`privacyPage.retentionDontRetain`},{value:`oneHour`,labelKey:`privacyPage.retentionOneHour`},{value:`oneDay`,labelKey:`privacyPage.retentionOneDay`},{value:`sevenDays`,labelKey:`privacyPage.retentionSevenDays`},{value:`thirtyDays`,labelKey:`privacyPage.retentionThirtyDays`},{value:`ninetyDays`,labelKey:`privacyPage.retentionNinetyDays`},{value:`keepForever`,labelKey:`privacyPage.retentionKeepForever`}],at=`thirtyDays`;function $(){return(0,Z.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function ot(){let{t:e}=K(`settings`),t=F({platformHostedOnly:!0}),n=te(),r=n,a=H.use.user()?.id??null,[s]=M(),[c]=me(),l=s??!0,u=c??!0,[d,f]=(0,X.useState)(()=>h(`llmLogRetention`,at)),p=(0,X.useMemo)(()=>it.map(t=>({value:t.value,label:e(t.labelKey)})),[e]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(Ue,{}),(0,Z.jsx)(Be,{}),(0,Z.jsx)(rt,{}),(0,Z.jsx)(Ye,{}),(0,Z.jsx)(qe,{}),(0,Z.jsx)(Y,{title:e(`privacyPage.title`),subtitle:n?(0,Z.jsx)(ve,{ns:`settings`,i18nKey:`privacyPage.subtitleWithPolicy`,components:{policyLink:(0,Z.jsx)(T,{href:b(o.docs.legal.privacyPolicy),tone:`quiet`,glyph:!1})}}):void 0,children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ke,{label:e(`privacyPage.shareAnalyticsLabel`),helperText:e(`privacyPage.shareAnalyticsHelper`),checked:l,onChange:()=>{W(`share_analytics`,!l,{userId:a,hasPlatformSession:n})},variant:`toggle-trailing`}),(0,Z.jsx)($,{}),(0,Z.jsx)(ke,{label:e(`privacyPage.shareDiagnosticsLabel`),helperText:e(`privacyPage.shareDiagnosticsHelper`),checked:u,onChange:()=>{W(`share_diagnostics`,!u,{userId:a,hasPlatformSession:n})},variant:`toggle-trailing`}),(0,Z.jsx)($,{})]}),(0,Z.jsx)(He,{}),t!==`gated`&&(0,Z.jsx)($,{}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:e(`privacyPage.llmLogRetentionLabel`)}),(0,Z.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Z.jsx)(V,{value:d,onChange:e=>{f(e),i(`llmLogRetention`,e)},options:p})}),(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`privacyPage.llmLogRetentionDescription`)})]})]})})]})}export{ot as PrivacyPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Eb as n,JS as r,Qv as i,Sd as a,ab as o,bi as s,cs as c,fd as l,gi as u,gy as d,hx as f,hy as p,lm as m,ly as h,my as g,os as _,sm as v,sy as y,us as b,uy as x,vh as S,vx as C,vy as w,wx as T,xd as E,yd as D,yy as O}from"./app-CuJb51Ub.js";import{j as k}from"./vendor-CYmPHUS2.js";import{_ as ee,f as te,t as A,x as j}from"./react-B9IgSVeK.js";import{t as M}from"./plugin-attribution-BxpfUKdX.js";import{n as N,t as P}from"./consent-controls-DfR6IsHI.js";import{r as F,t as I}from"./checkout-continuation-B4jzmA7d.js";var L=e(j(),1),R=A();function z({current:e,total:t,color:n}){let{t:r}=k(`onboarding`);return(0,R.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":r(`stepIndicator.ariaLabel`,{current:e+1,total:t}),children:Array.from({length:t},(t,r)=>(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors`,style:n?{backgroundColor:n,opacity:r<=e?1:.3}:void 0,children:n?null:(0,R.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${r<=e?``:`opacity-20`}`})},r))})}function B(){let{t:e}=k(`onboarding`),y=te(),[C]=ee(),A=v.use.user()?.id??null,j=T(),B=i(),[H,U]=E(),W=H??!0,[G,K]=a(),[q,J]=D(),Y=m(),X=F();(0,L.useEffect)(()=>{b()},[]);let Z=C.get(`preview`)===`true`,Q=(0,L.useCallback)(e=>{},[]),ne=Z?Q:U,re=Z?Q:K,ie=Z?Q:J,ae=g(),$=(0,L.useCallback)(e=>{if(Z)return;S({userId:A,tos:G,privacy:q,shareAnalytics:null,shareDiagnostics:W,hasPlatformSession:Y}),c(_.privacyTos,{userId:A});let r=l(C.get(`returnTo`));if(r){y(e?w(r):r,s);return}let i=C.get(`hosting`),a=new URLSearchParams;i&&a.set(`hosting`,i);let u=C.get(M);u&&a.set(M,u);let m=a.toString(),g=d({isLocalHatch:n()&&i!==null&&i!==`vellum-cloud`,skipResearch:e,selectedAssistantOnboarded:O(o.getState().assistants,f()),newAssistant:p(C)}),v=e?w(`${g}${m?`?${m}`:``}`):`${g}${m?`?${m}`:``}`,b=x();if(b?.resumeAfterOnboarding===!0)if(X===`disabled`)h();else{let e=V(b);if(e){e.set(I,v),y(`${t.checkout}?${e.toString()}`,s);return}}y(v,s)},[q,Y,Z,y,C,W,X,G,A]);return(0,R.jsx)(u,{avatarWave:`beside`,children:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${j?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[B&&(0,R.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,R.jsx)(z,{current:2,total:3})}),(0,R.jsx)(`h1`,{className:j?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`privacyScreen.title`)}),(0,R.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${j?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`privacyScreen.body`)}),(0,R.jsx)(N,{electron:j,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:W,onShareAnalyticsChange:Q,onShareDiagnosticsChange:ne,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,R.jsx)(P,{electron:j,privacyConsent:q,tosAccepted:G,onPrivacyChange:ie,onTosChange:re,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,R.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${j?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,R.jsx)(r,{variant:`primary`,size:j?`regular`:`large`,fullWidth:!0,disabled:!G||!q,onClick:()=>$(!1),children:e(`privacyScreen.start`)}),ae&&(0,R.jsx)(r,{variant:`outlined`,size:j?`regular`:`large`,fullWidth:!0,disabled:!G||!q,onClick:()=>$(!0),children:e(`privacyScreen.skipToChat`)}),(0,R.jsx)(r,{variant:`ghost`,size:j?`regular`:`large`,fullWidth:!0,onClick:()=>y(n()?t.onboarding.hosting:t.onboarding.start,s),children:e(`actions.back`)})]})]})})}function V(e){return e.kind===`package`?new URLSearchParams({[C]:e.packageKey}):e.storageTier===null?null:y({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{B as PrivacyScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ch as t,Cx as n,El as r,Ix as i,JS as a,Lx as o,Sh as s,TS as c,Zg as l,bh as u,cS as d,gS as f,kS as p,n_ as m,sm as h,wh as g,xh as _,zx as v}from"./app-CuJb51Ub.js";import{N as y,Qn as b,_ as x,f as S,g as C,j as w}from"./vendor-CYmPHUS2.js";import{n as T,t as E,x as D}from"./react-B9IgSVeK.js";import{Ji as O,Ui as k,Yn as A}from"./icons-C0wyat6T.js";import{t as j}from"./detail-card-RBkdhZeE.js";var M=e(D(),1),N=u,P=`Please choose a different handle.`;async function F(e,t){let{data:n,error:r,response:i}=await m({path:{id:e},body:{handle:t},throwOnError:!1});if(!i)return{kind:`error`,message:v(r,void 0,`Failed to save handle.`)??`Failed to save handle.`};if(i.ok&&n)return{kind:`ok`,data:n};if(i.status===409){let{message:e}=g(r,`handle`,N.taken);return{kind:`taken`,message:e}}if(i.status===400){let{code:e,message:t}=g(r,`handle`,P);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:v(r,i,`Failed to save handle.`)}}async function I(e,t,n){let{data:r,error:a,response:s}=await l({path:{assistant_id:e},query:{handle:t},signal:n,throwOnError:!1});if(o(s,a,`Failed to check handle availability.`),!s.ok||!r)throw new i(s.status,s.status===429?`Too many checks — try again in a moment.`:v(a,s,`Failed to check handle availability.`));return{available:r.available,code:r.code??null,message:r.message??null}}function L(e){return/\d{2,}$/.test(e)}var R=E(),z=300,B=1400;function V({initialHandle:e,inputLabel:t,helperText:n,idleHelperText:r,checkAvailable:i,save:o,onSaved:s,saveSuccessToast:l,fieldId:u,layout:d=`inline`}){let p=d===`modal`,{t:m}=w(),[h,g]=(0,M.useState)(e),[_,v]=(0,M.useState)(null),[y,b]=(0,M.useState)(!1),[T,E]=(0,M.useState)(`idle`),[D,j]=(0,M.useState)(null),P=S(),F=(0,M.useRef)(null),I=(0,M.useMemo)(()=>h.trim().toLowerCase(),[h]),L=I===e.toLowerCase();(0,M.useEffect)(()=>{if(L||I.length===0){b(!1),F.current?.abort();return}let e=new AbortController;F.current?.abort(),F.current=e,b(!0);let t=window.setTimeout(async()=>{try{let t=await i(I,e.signal);e.signal.aborted||v(t)}catch(t){e.signal.aborted||j(t instanceof Error?t.message:m(`profileCard.checkAvailabilityFailed`))}finally{e.signal.aborted||b(!1)}},z);return()=>{window.clearTimeout(t),e.abort()}},[I,L,i,m]);let V=(()=>{if(D)return D;if(_&&!_.available){let e=_.code;return _.message??(e?N[e]:m(`profileCard.chooseDifferentHandle`))}return null})(),H=V?n:L?r??null:y?m(`profileCard.checkingAvailability`):_?.available?m(`profileCard.availableHelper`):null,U=!L&&!y&&_?.available!==!1&&T!==`saving`,W=(0,M.useCallback)(async()=>{if(!U)return;E(`saving`),j(null);let e=await o(I);if(e.kind===`ok`){E(`saved`),s(e.data),f.success(l),window.setTimeout(()=>E(`idle`),B);return}if(e.kind===`taken`){E(`idle`),v({available:!1,code:`taken`,message:e.message});return}if(e.kind===`invalid`){E(`idle`),v({available:!1,code:e.code,message:e.message});return}E(`error`),j(e.message),f.error(e.message)},[U,I,s,o,l]),G=(()=>{if(L&&h.length>0||h.length===0)return null;let e=y?`checking`:_?.available?`available`:_?.available===!1?`invalid`:null;return e?(0,R.jsx)(x,{mode:`wait`,initial:!1,children:(0,R.jsxs)(C.span,{initial:P?!1:{opacity:0,scale:.85},animate:{opacity:1,scale:1},exit:P?void 0:{opacity:0,scale:.85},transition:{duration:.14,ease:`easeOut`},className:`flex items-center`,"aria-hidden":e!==`available`&&e!==`invalid`,children:[e===`checking`&&(0,R.jsx)(A,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),e===`available`&&(0,R.jsx)(O,{className:`h-4 w-4 text-[var(--system-positive-strong)]`,"aria-label":m(`profileCard.available`)}),e===`invalid`&&(0,R.jsx)(k,{className:`h-4 w-4 text-[var(--system-negative-strong)]`,"aria-label":m(`profileCard.notAvailable`)})]},e)}):null})(),K=(()=>{switch(T){case`saving`:return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,R.jsx)(A,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}),m(`profileCard.saving`)]});case`saved`:return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,R.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),m(`profileCard.saved`)]});default:return m(`profileCard.save`)}})();return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(c,{label:p?void 0:t,"aria-label":p?t:void 0,value:h,onChange:e=>{g(e.target.value.replace(/\s+/g,``)),v(null),j(null)},autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,maxLength:30,leftIcon:(0,R.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),rightIcon:G,errorText:V??void 0,helperText:H??(p?n:void 0),"aria-invalid":!!V,fullWidth:!0,"data-testid":`${u}-input`}),p?(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsx)(a,{variant:`primary`,onClick:W,disabled:!U,"aria-live":`polite`,"data-testid":`${u}-save`,children:K})}):null,!p&&(!L||T!==`idle`)&&(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsx)(a,{variant:`primary`,size:`compact`,onClick:W,disabled:!U,"aria-live":`polite`,"data-testid":`${u}-save`,children:K})})]})}function H({initial:e,onSaved:n}){let{t:r}=w(),i=h.use.refreshSession(),a=L(e.username)?r(`profileCard.userHandleIdleAutoGenerated`):void 0,o=(0,M.useCallback)(async e=>await t({username:e}),[]),s=(0,M.useCallback)((e,t)=>_(e,t),[]),c=(0,M.useCallback)(e=>{n(e),i()},[n,i]);return(0,R.jsx)(V,{initialHandle:e.username,inputLabel:r(`profileCard.userHandleLabel`),helperText:r(`profileCard.handleHelper`),idleHelperText:a,checkAvailable:s,save:o,onSaved:c,saveSuccessToast:r(`profileCard.profileUpdated`),fieldId:`user-handle`})}function U({assistant:e,onSaved:t,layout:i=`inline`}){let{t:a}=w(),o=e.handle??``,s=b({...r({path:{assistant_id:e.id}})}).data?.results?.[0],l=!!s&&s.subdomain.toLowerCase()===o.toLowerCase(),u=o.length===0?a(`profileCard.assistantHandleIdleEmpty`):void 0,d=(0,M.useCallback)(async t=>await F(e.id,t),[e.id]),f=(0,M.useCallback)((t,n)=>I(e.id,t,n),[e.id]);return l?(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(c,{label:i===`modal`?void 0:a(`profileCard.assistantHandleLabel`),"aria-label":i===`modal`?a(`profileCard.assistantHandleLabel`):void 0,value:o,readOnly:!0,disabled:!0,leftIcon:(0,R.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),fullWidth:!0,"data-testid":`assistant-handle-input`}),(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,R.jsx)(y,{i18nKey:`profileCard.handleLocked`,components:{releaseLink:(0,R.jsx)(T,{to:`${n.channels}?setup=email&release=1`,className:p()})}})})]}):(0,R.jsx)(V,{initialHandle:o,inputLabel:a(`profileCard.assistantHandleLabel`),helperText:a(i===`modal`?`assistantHandleModal.helper`:`profileCard.handleHelper`),idleHelperText:u,checkAvailable:f,save:d,onSaved:t,saveSuccessToast:a(`profileCard.assistantHandleUpdated`),fieldId:`assistant-handle`,layout:i})}function W(){let{t:e}=w();return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-busy":!0,"aria-live":`polite`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(d,{className:`h-3 w-16`}),(0,R.jsx)(d,{className:`h-9 w-full rounded-md`}),(0,R.jsx)(d,{className:`h-3 w-72`})]}),(0,R.jsx)(d,{className:`h-9 w-full rounded-md`}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,R.jsx)(d,{className:`h-3 w-60`}),(0,R.jsx)(d,{className:`h-7 w-16 rounded-md`})]}),(0,R.jsx)(`span`,{className:`sr-only`,children:e(`profileCard.loading`)})]})}function G(){return(0,R.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`})}function K({assistant:e,showHandles:t=!0,children:n}={}){let{t:r}=w(),i=h.use.user?.()?.email??null;return(0,R.jsx)(j,{title:r(`profileCard.title`),subtitle:r(`profileCard.subtitle`),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i&&(0,R.jsx)(`div`,{className:`max-w-[420px]`,children:(0,R.jsx)(c,{label:r(`profileCard.emailLabel`),value:i,disabled:!0,readOnly:!0})}),t&&(0,R.jsxs)(R.Fragment,{children:[i&&(0,R.jsx)(G,{}),(0,R.jsx)(q,{assistant:e})]}),n!=null&&(0,R.jsxs)(R.Fragment,{children:[(i||t)&&(0,R.jsx)(G,{}),n]})]})})}function q({assistant:e}){let[t,n]=(0,M.useState)(null),[r,i]=(0,M.useState)(null),a=S(),[o,c]=(0,M.useState)(e??null);return(0,M.useEffect)(()=>{c(e??null)},[e]),(0,M.useEffect)(()=>{let e=!1;return s().then(t=>{e||n(t)}).catch(t=>{e||i(t instanceof Error?t.message:`Failed to load profile.`)}),()=>{e=!0}},[]),r?(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:r}):t?(0,R.jsxs)(C.div,{initial:a?!1:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},className:`flex flex-col gap-6`,children:[(0,R.jsx)(H,{initial:t,onSaved:n}),o&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,R.jsx)(U,{assistant:o,onSaved:c})]})]}):(0,R.jsx)(W,{})}export{I as i,K as n,N as r,U as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./referral-modal-BSn13lRu.js";export{e as ReferralModal};