@vellumai/web 0.12.4-staging.2 → 0.12.4-staging.4

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 (227) hide show
  1. package/dist/assets/{a2a-invite-DizlchNv.js → a2a-invite-BSzXL6i3.js} +1 -1
  2. package/dist/assets/{about-page-Y8a--p-0.js → about-page-Ne3KY7p6.js} +1 -1
  3. package/dist/assets/{account-page-oXqvFuC5.js → account-page-DR4ueI-s.js} +1 -1
  4. package/dist/assets/{account-shell-BW5fY_u7.js → account-shell-BCvjHT7j.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-CViUQ4Gg.js → acp-run-detail-panel-BA9xGUzb.js} +1 -1
  6. package/dist/assets/{activation-list-route-swzAPcaY.js → activation-list-route-Br9gsfSd.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-Wc2DZYeP.js → activity-redirect-page-BOS14fri.js} +1 -1
  8. package/dist/assets/{activity-steps-panel--otugh_6.js → activity-steps-panel-88l6Ei6w.js} +1 -1
  9. package/dist/assets/add-credits-modal-0pYLUDo4.js +1 -0
  10. package/dist/assets/{add-credits-modal-ZnKmvy6V.js → add-credits-modal-O1N2pbak.js} +1 -1
  11. package/dist/assets/{ai-page-BMR6BEti.js → ai-page-DU0mYnYP.js} +1 -1
  12. package/dist/assets/all-chats-page-route-CkFi0Q7K.js +1 -0
  13. package/dist/assets/{android-billing-handoff-6shikm2k.js → android-billing-handoff-C06TxyLt.js} +1 -1
  14. package/dist/assets/{api-key-screen-CbnUNlGK.js → api-key-screen-BD62ySmK.js} +1 -1
  15. package/dist/assets/{app-D8sMVA0h.js → app-Qc-rYPt9.js} +46 -46
  16. package/dist/assets/{app-info-z1hPo0V6.js → app-info-YYU2hCWc.js} +1 -1
  17. package/dist/assets/{archive-redirect-page-DEdZNQal.js → archive-redirect-page-AYY4xZby.js} +1 -1
  18. package/dist/assets/{assistant-handle-modal-Rx01AWRM.js → assistant-handle-modal-BZJgqpG8.js} +1 -1
  19. package/dist/assets/{assistant-inbox-page-route-CWfD1nW8.js → assistant-inbox-page-route-B61doUw8.js} +1 -1
  20. package/dist/assets/{assistant-inbox-upgrade-body-DnzMfD6M.js → assistant-inbox-upgrade-body-BC-REEBi.js} +1 -1
  21. package/dist/assets/{assistant-status-panel-Cox-mezz.js → assistant-status-panel-uJMo_YOD.js} +1 -1
  22. package/dist/assets/auth-store-FcZEUxA_.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-Bwm2MF1q.js → auth-welcome-screen-uOY9YbXG.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-DcmDX83d.js +1 -0
  25. package/dist/assets/{avatar-random-DenoKEgP.js → avatar-random-DxLJmo42.js} +2 -2
  26. package/dist/assets/{await-org-header-settled-BxLRQCmZ.js → await-org-header-settled-dTqfGHq2.js} +1 -1
  27. package/dist/assets/{background-task-detail-panel-COBZw2lg.js → background-task-detail-panel-CBjRAdga.js} +1 -1
  28. package/dist/assets/{billing-page-DfUj1I0G.js → billing-page-CA6R2wjZ.js} +3 -3
  29. package/dist/assets/{billing-redirect-page-DKyiR6MR.js → billing-redirect-page-DK5z_EZp.js} +1 -1
  30. package/dist/assets/{bookmarks-page-CFEE1Uxr.js → bookmarks-page-DPEug6V3.js} +1 -1
  31. package/dist/assets/{bundle-confirm-page-B-d41LNa.js → bundle-confirm-page-Co72y9XS.js} +1 -1
  32. package/dist/assets/{channel-transcript-panel-CmHEsFMk.js → channel-transcript-panel-B0cRZsgw.js} +1 -1
  33. package/dist/assets/{channels-page-route-CuAKuwQD.js → channels-page-route-V3Fk_Hzf.js} +1 -1
  34. package/dist/assets/chat-BQddXCk9.js +3 -0
  35. package/dist/assets/chat-BZsmqRU3.js +3 -0
  36. package/dist/assets/{chat-AntDwRty.js → chat-C6WWTxFu.js} +1 -1
  37. package/dist/assets/chat-D7FyK_n_.js +3 -0
  38. package/dist/assets/chat-info-panel-Bv1Aet5S.js +1 -0
  39. package/dist/assets/{checkout-continuation-C7ALmXXi.js → checkout-continuation-c9cPR68T.js} +1 -1
  40. package/dist/assets/{checkout-page-BiKD4JLD.js → checkout-page-Cq5DAqbf.js} +1 -1
  41. package/dist/assets/checkout-return-target-CA5-Gi7-.js +1 -0
  42. package/dist/assets/command-palette-BUCV7aZK.js +1 -0
  43. package/dist/assets/{command-palette-BlZE0DtA.js → command-palette-Drf-HDLE.js} +1 -1
  44. package/dist/assets/{command-palette-window-page-B_vTgfMk.js → command-palette-window-page-DCE-g55A.js} +1 -1
  45. package/dist/assets/common-C7iok8sT.js +1 -0
  46. package/dist/assets/common-CMLZe_W6.js +1 -0
  47. package/dist/assets/common-Dgnh0Njn.js +1 -0
  48. package/dist/assets/common-QPQ83NEi.js +1 -0
  49. package/dist/assets/{community-page-h4SSKpvs.js → community-page-BJxApcxO.js} +1 -1
  50. package/dist/assets/{companion-accent-CpX6aNlW.js → companion-accent-Cp2MmcWR.js} +1 -1
  51. package/dist/assets/{companion-dock-zones-page-VmKgW5GB.js → companion-dock-zones-page-Zvhwz0Yz.js} +1 -1
  52. package/dist/assets/{companion-layout-TXE0PA9f.js → companion-layout-cM6NtktC.js} +1 -1
  53. package/dist/assets/{companion-popover-C-jOy9ph.js → companion-popover-D2taDck6.js} +1 -1
  54. package/dist/assets/{companion-popover-page-BroQfXvM.js → companion-popover-page-DGS-UTTL.js} +1 -1
  55. package/dist/assets/{companion-surface-DOIgH-bV.js → companion-surface-oVNh5kA4.js} +1 -1
  56. package/dist/assets/{companion-surface-page-DRLXSLvn.js → companion-surface-page-CXiHLf2G.js} +1 -1
  57. package/dist/assets/companion-tour-entry-CpXEfiiz.js +1 -0
  58. package/dist/assets/{companion-watch-frame-page-BrtR8aJG.js → companion-watch-frame-page-CIEEUVOP.js} +1 -1
  59. package/dist/assets/{connect-page-yTAoyfL3.js → connect-page-CILP_iqJ.js} +1 -1
  60. package/dist/assets/{consent-controls-n1HIl_Qh.js → consent-controls-ole3UEoz.js} +1 -1
  61. package/dist/assets/{contacts-gateway-CnUI-BQ8.js → contacts-gateway-zkBOSVyx.js} +1 -1
  62. package/dist/assets/{contacts-page-route-BeTKJ0wU.js → contacts-page-route-GyaYbluM.js} +1 -1
  63. package/dist/assets/{copy-button-zFMI1aRE.js → copy-button-CzMsh4gB.js} +1 -1
  64. package/dist/assets/{credential-entry-page-BX5tgHs-.js → credential-entry-page-CueibLp2.js} +1 -1
  65. package/dist/assets/{credentials-page-DO12GLZa.js → credentials-page-DgmnWmph.js} +1 -1
  66. package/dist/assets/{csv-preview-DTvQhodp.js → csv-preview-CemRbf9W.js} +1 -1
  67. package/dist/assets/{danger-zone-redirect-page-CKPdbPhO.js → danger-zone-redirect-page-BJ31hZvD.js} +1 -1
  68. package/dist/assets/{debug-page-KaXTLZ3j.js → debug-page-CYN-HFc_.js} +1 -1
  69. package/dist/assets/deploy-dialogs-C_aIE0ti.js +1 -0
  70. package/dist/assets/{deploy-dialogs-D1N0Mx60.js → deploy-dialogs-DP0ls5p1.js} +1 -1
  71. package/dist/assets/{desktop-preview-content-BGP-Q4ES.js → desktop-preview-content-BmkyExHH.js} +2 -2
  72. package/dist/assets/{desktop-status-DhhVXu3M.js → desktop-status-CG431FNc.js} +1 -1
  73. package/dist/assets/{desktop-viewer-BS0GRBKw.js → desktop-viewer-DwehmMBT.js} +1 -1
  74. package/dist/assets/{detail-card-5ja97d__.js → detail-card-DaoCCbYV.js} +1 -1
  75. package/dist/assets/{detail-panel-stop-button-C_TanbFS.js → detail-panel-stop-button-CZfhwEjC.js} +1 -1
  76. package/dist/assets/{detail-primitives-DlHfs3NY.js → detail-primitives-B2TDPtFR.js} +1 -1
  77. package/dist/assets/{developer-page-Ia_M--jA.js → developer-page-e5ZIJFP5.js} +1 -1
  78. package/dist/assets/{devices-redirect-page-Dicfe-Xh.js → devices-redirect-page-Dq7s97Ga.js} +1 -1
  79. package/dist/assets/{dictation-overlay-page-DLKil78N.js → dictation-overlay-page-DF-XpmHA.js} +1 -1
  80. package/dist/assets/document-load-88Gh0gTG.js +1 -0
  81. package/dist/assets/{document-load-D7lS0Qam.js → document-load-CcDODImt.js} +1 -1
  82. package/dist/assets/{document-viewer-page-Bvnx2eMP.js → document-viewer-page-DiD-zvuQ.js} +1 -1
  83. package/dist/assets/{emails-page-D3O_HhPG.js → emails-page-6gtVUatK.js} +1 -1
  84. package/dist/assets/{file-diff-view-D1j-t0cs.js → file-diff-view-bwx_MkXN.js} +1 -1
  85. package/dist/assets/{file-editor-CDuPINUR.js → file-editor-D0P-Gy-a.js} +1 -1
  86. package/dist/assets/general-page-BZQ7yEvH.js +2 -0
  87. package/dist/assets/hatching-screen-DBprFgEA.js +1 -0
  88. package/dist/assets/{hosting-screen-AXFQL3em.js → hosting-screen-BA7wRb0n.js} +1 -1
  89. package/dist/assets/identity-page-route-BfgfhU08.js +7 -0
  90. package/dist/assets/{inspect-page-EGAIWdPZ.js → inspect-page-CH3uVGix.js} +3 -3
  91. package/dist/assets/{integrations-page-BOgg6KK3.js → integrations-page-0clh02lf.js} +1 -1
  92. package/dist/assets/{intelligence-layout-BPa8zuju.js → intelligence-layout-CC6J5rMH.js} +1 -1
  93. package/dist/assets/intelligence-layout-slots-store-BrxvOjyS.js +1 -0
  94. package/dist/assets/{keyboard-shortcuts-redirect-page-3JddlI6I.js → keyboard-shortcuts-redirect-page-B1HB0ZJQ.js} +1 -1
  95. package/dist/assets/{latest-assistant-text-fShWplU9.js → latest-assistant-text-DFGZImdA.js} +1 -1
  96. package/dist/assets/{library-detail-page-CqqXK7mJ.js → library-detail-page-Db0s21ez.js} +1 -1
  97. package/dist/assets/{library-page-Db5rMvEu.js → library-page-CHncUGxN.js} +1 -1
  98. package/dist/assets/local-mode-D_-1ec4p.js +1 -0
  99. package/dist/assets/{login-page-BbfY1JYR.js → login-page-D2uVokBF.js} +1 -1
  100. package/dist/assets/{logout-page-DoibQ_Ri.js → logout-page-H2ViUr-T.js} +1 -1
  101. package/dist/assets/{logs-layout-Dobrj5WD.js → logs-layout-C0DDeC5h.js} +1 -1
  102. package/dist/assets/{markdown-preview-CNgPT8Ns.js → markdown-preview-BJR1Lp-C.js} +1 -1
  103. package/dist/assets/{media-preview-BB_3EZbz.js → media-preview-CVf1UuE9.js} +1 -1
  104. package/dist/assets/{memory-page-route-DLi_ptkl.js → memory-page-route-BBFz1YiU.js} +1 -1
  105. package/dist/assets/{memory-router-playground-page-DozE3X0H.js → memory-router-playground-page-BudLOTc4.js} +1 -1
  106. package/dist/assets/{message-files-panel-BPTDooXh.js → message-files-panel-Qq9UEaxA.js} +1 -1
  107. package/dist/assets/{metric-card-D0M85__8.js → metric-card-lmiHO3PF.js} +1 -1
  108. package/dist/assets/native-attachment-pickers-BhYBtKp-.js +1 -0
  109. package/dist/assets/native-file-D0FCYmrg.js +1 -0
  110. package/dist/assets/{notifications-page-Ysp5efLW.js → notifications-page-BmNyEMIk.js} +1 -1
  111. package/dist/assets/{oauth-complete-page-CDxvG_L-.js → oauth-complete-page-Cypawil4.js} +1 -1
  112. package/dist/assets/{oauth-popup-complete-page-CwJxBm2S.js → oauth-popup-complete-page-CWQF6Tbc.js} +1 -1
  113. package/dist/assets/paired-platform-identity-BqBlEtsv.js +1 -0
  114. package/dist/assets/{pairing-page-DIcQb9OJ.js → pairing-page-OjkCjTgJ.js} +1 -1
  115. package/dist/assets/password-reset-page-DakZp7KC.js +1 -0
  116. package/dist/assets/{pdf-file-preview-DX0ZQoVT.js → pdf-file-preview-BxCXMhqC.js} +1 -1
  117. package/dist/assets/{personality-page-BFiUCJ1L.js → personality-page-BU6yPK14.js} +1 -1
  118. package/dist/assets/{personality-page-D4cC26jw.js → personality-page-Dm9LQmBW.js} +1 -1
  119. package/dist/assets/{personality-sliders-BM4di6t9.js → personality-sliders-Dehyaji_.js} +1 -1
  120. package/dist/assets/{plans-page-miRpUo-U.js → plans-page-CAyi2Nxa.js} +1 -1
  121. package/dist/assets/{platform-loopback-page-CCG5On-e.js → platform-loopback-page-Dr-fFIwU.js} +1 -1
  122. package/dist/assets/{plugin-detail-page-Dt5XsCxQ.js → plugin-detail-page-B3Rx7z27.js} +1 -1
  123. package/dist/assets/{plugins-page-B_d5EVPw.js → plugins-page-DN9rPLRn.js} +1 -1
  124. package/dist/assets/plugins-surface-CrFNy0ps.js +1 -0
  125. package/dist/assets/{preview-error-DoWnZxU0.js → preview-error-DB2rjYvO.js} +1 -1
  126. package/dist/assets/{privacy-page-BmyUhMnI.js → privacy-page-BcpCT1Vb.js} +1 -1
  127. package/dist/assets/{privacy-screen-CuOvxzA8.js → privacy-screen-grsFP0UO.js} +1 -1
  128. package/dist/assets/{profile-card-DSHsAWzC.js → profile-card-BP9AMkh4.js} +1 -1
  129. package/dist/assets/{provider-callback-page-BVSe9lzW.js → provider-callback-page-g4qnXUAS.js} +1 -1
  130. package/dist/assets/{provider-key-Dn1NaLjs.js → provider-key-CK86YQ0g.js} +1 -1
  131. package/dist/assets/{provider-signup-page-B8wHDvGe.js → provider-signup-page-Ce4IEtKF.js} +1 -1
  132. package/dist/assets/{quick-input-page-BcTqo_SA.js → quick-input-page-BJ-kLGi7.js} +1 -1
  133. package/dist/assets/{referral-modal-CXPg4U-L.js → referral-modal-Bd_Bwh5m.js} +1 -1
  134. package/dist/assets/referral-modal-Ts_6L7Jq.js +1 -0
  135. package/dist/assets/{research-mock-page-lCKcSGWS.js → research-mock-page-bXHr3HJ1.js} +1 -1
  136. package/dist/assets/research-onboarding-route-BXcRnuIA.js +50 -0
  137. package/dist/assets/{review-terms-screen-CcKEKn6x.js → review-terms-screen-DZCb5jS5.js} +1 -1
  138. package/dist/assets/routes-CpEsYa-V.js +1 -0
  139. package/dist/assets/{schedules-C862mQ95.js → schedules-EEPosYPL.js} +1 -1
  140. package/dist/assets/schedules-page-Dqs-gg7s.js +1 -0
  141. package/dist/assets/{security-redirect-page-Cf6N-pAp.js → security-redirect-page-BUtDM_HH.js} +1 -1
  142. package/dist/assets/{select-assistant-screen-DmC81TOi.js → select-assistant-screen-BOubdStJ.js} +1 -1
  143. package/dist/assets/{self-hosted-servers-CuhcBUtc.js → self-hosted-servers-CJjUOVLQ.js} +1 -1
  144. package/dist/assets/{service-form-controls-Q1QYmu0R.js → service-form-controls-DwwYjgqa.js} +1 -1
  145. package/dist/assets/{setting-row-bAvkY8qq.js → setting-row-D7xTN4Nd.js} +1 -1
  146. package/dist/assets/{settings-divider-JNNvLiiq.js → settings-divider-y1Y7piXi.js} +1 -1
  147. package/dist/assets/{settings-layout-kZQ0T-wh.js → settings-layout-7t6GBbdu.js} +1 -1
  148. package/dist/assets/{share-feedback-modal-C1NM5ZQA.js → share-feedback-modal-DnH2sXjE.js} +1 -1
  149. package/dist/assets/share-feedback-modal-DuI0v7AI.js +1 -0
  150. package/dist/assets/{sidebar-tree-C31ptvb9.js → sidebar-tree-CqElNW5F.js} +1 -1
  151. package/dist/assets/{signup-page-BgeUPiLo.js → signup-page-ZDm4OjY3.js} +1 -1
  152. package/dist/assets/{signup-shell-qd7yOKsi.js → signup-shell-kgxV4p4a.js} +1 -1
  153. package/dist/assets/{skill-detail-page-Cx1j6Kur.js → skill-detail-page-nWwa0XFq.js} +1 -1
  154. package/dist/assets/{skill-detail-panel-CEblhGiR.js → skill-detail-panel-9H7ft8ro.js} +1 -1
  155. package/dist/assets/{skill-removal-dialog-sFJ2FlXs.js → skill-removal-dialog-DfBhw0Lh.js} +1 -1
  156. package/dist/assets/{skills-page-DwaV4t6G.js → skills-page-CamB2mns.js} +1 -1
  157. package/dist/assets/{sounds-page-DIwns3JM.js → sounds-page-Bj48pTCF.js} +1 -1
  158. package/dist/assets/{start-screen-Bhe95rpT.js → start-screen-DtUnAChR.js} +1 -1
  159. package/dist/assets/{stt-language-picker-modal-6st6DWoq.js → stt-language-picker-modal-Dgcq9xkd.js} +1 -1
  160. package/dist/assets/{subagent-detail-panel-zJtzbOlF.js → subagent-detail-panel-U4m5BxZG.js} +1 -1
  161. package/dist/assets/{superpowers-page-Cpl22-6n.js → superpowers-page-WkwbyGXZ.js} +1 -1
  162. package/dist/assets/{system-events-page-C2YAEfJf.js → system-events-page-Bw9HBTD3.js} +1 -1
  163. package/dist/assets/{system-events-redirect-page-CVuxUaY0.js → system-events-redirect-page-BfQvezRk.js} +1 -1
  164. package/dist/assets/{text-preview-BO6RkCx5.js → text-preview-CUqsudgl.js} +1 -1
  165. package/dist/assets/{theme-stage-page-DhT0XNI2.js → theme-stage-page-HhLVo3o6.js} +1 -1
  166. package/dist/assets/{tiptap-document-editor-BcLk_m4Z.js → tiptap-document-editor-rY7Mbt4u.js} +1 -1
  167. package/dist/assets/{tool-detail-panel-DgLms60D.js → tool-detail-panel-B9PQpvb8.js} +1 -1
  168. package/dist/assets/tool-detail-panel-Bt4vBf09.js +1 -0
  169. package/dist/assets/{trait-cycle-row-DaQ1Ws3F.js → trait-cycle-row-C-mybyb7.js} +1 -1
  170. package/dist/assets/{upgrade-cancel-page-CA1adXlD.js → upgrade-cancel-page-CfqBVU8V.js} +1 -1
  171. package/dist/assets/{upgrade-success-page-DQgW1mUo.js → upgrade-success-page-3efxDP6a.js} +1 -1
  172. package/dist/assets/{usage-redirect-page-CUIv8k9u.js → usage-redirect-page-D4aGhmzR.js} +1 -1
  173. package/dist/assets/{use-app-delete-rBDVuftC.js → use-app-delete-vuGBgQkn.js} +1 -1
  174. package/dist/assets/{use-assistant-identity-details-IZ1p17bP.js → use-assistant-identity-details-CrWNdPFJ.js} +1 -1
  175. package/dist/assets/{use-checkout-dismiss-refresh-CPok4Xxh.js → use-checkout-dismiss-refresh-BwT2zWIT.js} +1 -1
  176. package/dist/assets/{use-edge-swipe-back-C6D5cD0V.js → use-edge-swipe-back-DjHkqNOJ.js} +1 -1
  177. package/dist/assets/{use-hotkey-recorder-CQ81x0jZ.js → use-hotkey-recorder-OFYAQ-HC.js} +1 -1
  178. package/dist/assets/{use-invite-link-dialog-CEz7AGhb.js → use-invite-link-dialog-CCACCzhi.js} +1 -1
  179. package/dist/assets/{use-plugins-list-D7kaVDLa.js → use-plugins-list-D-azzToZ.js} +1 -1
  180. package/dist/assets/{use-return-to-short-circuit-B3O40EpG.js → use-return-to-short-circuit-CpUBlNYt.js} +1 -1
  181. package/dist/assets/{use-side-list-room-jwL301KF.js → use-side-list-room-DoHREePf.js} +1 -1
  182. package/dist/assets/{use-skill-actions-10SaGQ2V.js → use-skill-actions-DG-ZngUy.js} +1 -1
  183. package/dist/assets/{use-skill-detail-files-OgBPzm48.js → use-skill-detail-files-CHrwga8E.js} +1 -1
  184. package/dist/assets/use-supports-credentials-settings-Bq6T6gWf.js +1 -0
  185. package/dist/assets/{use-transcript-message-by-id-Iq7GcnGe.js → use-transcript-message-by-id-Bfbshp9w.js} +1 -1
  186. package/dist/assets/{voice-page-CaiYChec.js → voice-page-DiAOJ_tF.js} +1 -1
  187. package/dist/assets/{wake-detail-panel-CT3DYLQZ.js → wake-detail-panel-CeBICW69.js} +1 -1
  188. package/dist/assets/{weather-forecast-display-BFdH_k1K.js → weather-forecast-display-ULwhP9mt.js} +1 -1
  189. package/dist/assets/{welcome-screen-CqkJbp4o.js → welcome-screen-DgJPqZ2G.js} +1 -1
  190. package/dist/assets/{workflow-detail-panel-C-eS7Dvm.js → workflow-detail-panel-DmsjHIzU.js} +1 -1
  191. package/dist/assets/{workspace-page-BlTW2cBW.js → workspace-page-DHnNp7n8.js} +1 -1
  192. package/dist/index.html +1 -1
  193. package/package.json +1 -1
  194. package/dist/assets/add-credits-modal-8XswoyyE.js +0 -1
  195. package/dist/assets/auth-store-Cl64mEJk.js +0 -1
  196. package/dist/assets/avatar-bundled-components-D5UflXXI.js +0 -1
  197. package/dist/assets/chat-65GwDn4W.js +0 -3
  198. package/dist/assets/chat-B63XecSL.js +0 -3
  199. package/dist/assets/chat-cDbsbgu5.js +0 -3
  200. package/dist/assets/chat-info-panel-oH5Oyl38.js +0 -1
  201. package/dist/assets/checkout-return-target-DMdfJOOA.js +0 -1
  202. package/dist/assets/command-palette-w64ApCdQ.js +0 -1
  203. package/dist/assets/common-1dGFkyPX.js +0 -1
  204. package/dist/assets/common-CEWnU0pW.js +0 -1
  205. package/dist/assets/common-Cy_3dwBD.js +0 -1
  206. package/dist/assets/common-D42ZRpvb.js +0 -1
  207. package/dist/assets/companion-tour-entry-B1IsGYch.js +0 -1
  208. package/dist/assets/deploy-dialogs-CRJiVPdx.js +0 -1
  209. package/dist/assets/document-load-DSIq6Sq0.js +0 -1
  210. package/dist/assets/general-page-CsElCUdU.js +0 -2
  211. package/dist/assets/hatching-screen-DAfWJUbK.js +0 -1
  212. package/dist/assets/identity-page-route-DAr3l3g4.js +0 -7
  213. package/dist/assets/intelligence-layout-slots-store-BJaDjomF.js +0 -1
  214. package/dist/assets/local-mode-D_3DvD-d.js +0 -1
  215. package/dist/assets/native-attachment-pickers-CwbujgDo.js +0 -1
  216. package/dist/assets/native-file-D0pwPgoW.js +0 -1
  217. package/dist/assets/old-chats-page-route-BcqodIdi.js +0 -1
  218. package/dist/assets/paired-platform-identity-T0oJWAAF.js +0 -1
  219. package/dist/assets/password-reset-page-C7NkRhLd.js +0 -1
  220. package/dist/assets/plugins-surface-BxV_0iuU.js +0 -1
  221. package/dist/assets/referral-modal-CI2bBp4q.js +0 -1
  222. package/dist/assets/research-onboarding-route-CXMe3vp7.js +0 -50
  223. package/dist/assets/routes-QuWxfGvc.js +0 -1
  224. package/dist/assets/schedules-page-Vm7pjI-3.js +0 -1
  225. package/dist/assets/share-feedback-modal-C1e2jpWO.js +0 -1
  226. package/dist/assets/tool-detail-panel-BmOzPhuv.js +0 -1
  227. package/dist/assets/use-supports-credentials-settings-DuYuJNsF.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AC as t,Cp as n,DC as r,EC as i,Ey as a,IS as o,Ir as s,JS as c,KS as l,Lr as u,MS as d,Nm as f,OC as p,Rr as m,Sl as h,Sp as g,Sy as _,Tp as v,_C as y,_f as b,_u as x,_y as S,bc as C,bp as w,cC as T,dm as E,eC as D,eS as O,fm as k,gS as A,gi as j,gm as M,gu as N,hi as P,hu as F,jm as I,kC as L,lC as ee,lS as R,mC as z,mc as te,mi as ne,nC as B,nt as re,pC as V,p_ as ie,pc as H,pd as ae,pm as oe,qS as U,tS as se,um as ce,vC as W,wp as le,wy as G,xp as ue,yi as de,yy as fe,zi as pe,zr as me}from"./app-D8sMVA0h.js";import{$n as he,Qn as K,Yn as ge,j as q,tr as J}from"./vendor-DEhKVoiV.js";import{_ as _e,d as ve,f as ye,t as be,x as xe}from"./react-B9IgSVeK.js";import{$r as Se,A as Ce,At as we,D as Y,Ji as X,Lt as Te,Pt as Ee,Ya as De,Yn as Oe,Zr as ke,a as Ae,dr as je,ft as Me,gt as Ne,i as Pe,li as Fe,qi as Ie,vt as Le,za as Re}from"./icons-C0wyat6T.js";import{a as ze,n as Be,r as Ve,u as He}from"./use-plugins-list-D7kaVDLa.js";var Ue=De(`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`}]]),We=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Ge=new Set(We);function Ke(e){return typeof e==`string`&&Ge.has(e)}var Z=e(xe(),1),Q=be(),qe={"mcp-oauth":Ue,"mcp-manual":Ue,"managed-oauth":Me,"own-oauth":je};function Je(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 Ye(e,t,n){return e.map(e=>(0,Q.jsx)(W.Item,{icon:qe[e.kind],label:t(e),onSelect:()=>n(e)},e.id))}var Xe={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ze(e){return Object.entries(Xe).some(([t,n])=>t===e&&n!==e)}function Qe(e){return`plugin:${e}`}function $e(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function et(e){return async()=>(await e.install(),$e(await e.loadPluginServers()))}function tt(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function nt(e){return Ke(e)?e:null}function rt(e){let{connectedCount:t,needsAttention:n}=at(e,[]);return{connectedCount:t,needsAttention:n}}function it(e,t){return e.filter(e=>e.provider===t)}function at(e,t,n=!0){let r=t.flatMap(e=>e.servers),i=t.filter(e=>st(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 ot(e){return e.status===`connected`||e.hasOAuth||e.hasStaticAuth}function st(e,t=!0){return t?e.servers.some(ot)?!0:!!e.definition.installed&&$e(e.servers)===null:!!e.definition.installed||e.servers.length>0}function ct(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function lt(e,t,n,r=[],i=!0){let a=r.map(e=>({definition:e,servers:tt(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=it(t,e.provider_key);if(Ze(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:at(n,r,i).configured,category:nt(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:st(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,ct(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function ut(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 dt(e){return e.logo?de(`/images/integrations/${e.logo}`):null}function ft(e){return e===`mcp-oauth`||e===`mcp-manual`}function pt(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function mt(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=pt(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:ct(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ht(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function gt(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 _t(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?[ht(n,i,r)]:mt(e,i,r),plugin:n}}function vt(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(_t(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:gt(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=dt(o),a=o.description,n.push(_t(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 yt(e){return[e.primary,...e.alternatives]}function bt(e){return yt(e).flatMap(e=>e.connections)}function xt(e){return yt(e).filter(e=>!ft(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,St=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function Ct({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,layout:o=`row`}){return o===`tile`?(0,Q.jsxs)(z.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:`${St} 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}),(0,Q.jsx)(`p`,{className:`line-clamp-2 min-h-9 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n})]})]}):(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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]}),(0,Q.jsxs)(`div`,{className:`${St} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function wt({plan:e,title:t,description:n}){return(0,Q.jsx)(c.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(me,{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)(c.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Q.jsx)(c.Description,{children:n})]})]})})}function Tt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:a=!1,toolsByConnectionId:o,ownOAuthContent:s,tenantHost:u,onConnect:d,onLogin:f,onCancelAttempt:p,onRetryAttempt:m,onReconnect:h,onDisconnect:g,onOpenTools:_,onCopyCallbackUrl:v,onOpenSetupGuide:y,onClose:b}){let{t:x}=q(`settings`),S=Je(e.name),C=yt(e),w=bt(e),[T,E]=(0,Z.useState)(()=>n?{kind:`connect`,methodId:n}:w.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null);function j(t){return t.kind===`connect`?t:w.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!w.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let M=j(T);function N(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return x(`integrationConnect.tagMcp`);case`managed-oauth`:return x(`integrationConnect.tagVellum`);case`own-oauth`:return x(`integrationConnect.tagOwnApp`)}}function P(t){return t.label?t.label:ft(t.methodKind)?x(`integrationConnect.connectionMcpLabel`,{name:e.name}):x(`integrationConnect.connectionAccountLabel`,{name:e.name})}function F(e,t){return Ye(e,S,t)}function I(e){O(!1),E({kind:`connect`,methodId:e.id})}function L(){if(w.length>0){E({kind:`connections`});return}E({kind:`connect`,methodId:e.primary.id})}let ee=M.kind===`tools`?w.find(e=>e.id===M.connectionId):void 0,R=M.kind===`connect`?C.find(e=>e.id===M.methodId)??e.primary:e.primary;function z(e){let t=e.setupGuideUrl;return t?(0,Q.jsx)(i,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Q.jsx)(ke,{}),onClick:()=>y(t),children:x(`integrationConnect.setupGuide`)}):null}return(0,Q.jsxs)(c.Root,{open:!0,onOpenChange:e=>{e||b()},children:[(0,Q.jsx)(c.Content,{size:`md`,children:M.kind===`connect`?(0,Q.jsx)(Et,{plan:e,method:R,setupGuide:z(R),methods:C,attempt:t,callbackUrl:r,callbackCopied:a,ownOAuthContent:s,tenantHost:u,acknowledged:D,hasConnections:w.length>0,methodItems:F,onAcknowledge:O,onPickMethod:I,onBack:L,onConnect:d,onLogin:f,onCancelAttempt:p,onRetryAttempt:m,onCopyCallbackUrl:v,onClose:b}):M.kind===`tools`?(0,Q.jsx)(Mt,{plan:e,connection:ee,title:ee?P(ee):e.name,tools:o?.[M.connectionId],onBack:()=>E({kind:`connections`}),onClose:b}):(0,Q.jsx)(At,{plan:e,methods:C,connections:w,connectionTitle:P,methodTag:N,methodItems:F,onPickMethod:I,onOpenTools:e=>{_?.(e),E({kind:`tools`,connectionId:e.id})},onReconnect:e=>{h(e),E({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:A,onClose:b})}),(0,Q.jsx)(l,{open:k!==null,destructive:!0,title:x(`integrationConnect.removeTitle`,{label:k?P(k):``}),message:x(`integrationConnect.removeMessage`),confirmLabel:x(`integrationConnect.remove`),cancelLabel:x(`integrationConnect.cancel`),onConfirm:()=>{k&&g(k),A(null)},onCancel:()=>A(null)})]})}function Et({plan:e,method:t,methods:n,attempt:r,callbackUrl:a,callbackCopied:o,ownOAuthContent:s,tenantHost:l,acknowledged:u,hasConnections:d,setupGuide:f,methodItems:p,onAcknowledge:h,onPickMethod:g,onBack:_,onConnect:v,onLogin:b,onCancelAttempt:x,onRetryAttempt:S,onCopyCallbackUrl:C,onClose:w}){let{t:T}=q(`settings`),E=t.kind===`managed-oauth`?l:null,D=m(E),O=r?.methodId===t.id?r:null,k=O!==null&&O.phase!==`error`,A=t.availability===`login-required`,j=t.kind===`mcp-manual`&&a!==void 0&&(!u||a.status!==`ready`),M=t.id!==e.primary.id||d,N=n.filter(e=>e.id!==t.id);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:T(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??T(`integrationConnect.connectDescription`,{name:e.name})}),(0,Q.jsxs)(c.Body,{className:`space-y-4`,children:[M?(0,Q.jsx)(i,{variant:`ghost`,leftIcon:(0,Q.jsx)(Re,{}),onClick:_,children:T(`integrationConnect.back`)}):null,A?(0,Q.jsx)(V,{tone:`info`,children:T(`integrationConnect.loginRequired`,{name:e.name})}):null,O?(0,Q.jsx)(Dt,{name:e.name,attempt:O,onCancel:x,onRetry:S}):null,E?(0,Q.jsx)(B,{label:E.label,type:`text`,value:D.value,onChange:e=>D.setValue(e.target.value),placeholder:E.placeholder,"aria-invalid":D.showsInvalid||void 0,helperText:D.showsInvalid?T(`integrationConnect.tenantHostInvalid`,{label:E.label,placeholder:E.placeholder}):void 0,disabled:k,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Q.jsx)(Ot,{instructions:t.instructions,name:e.name,callbackUrl:a,callbackCopied:o,acknowledged:u,onAcknowledge:h,onCopyCallbackUrl:C}):t.kind===`own-oauth`?s:(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??T(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Q.jsxs)(c.Footer,{children:[f,(0,Q.jsx)(i,{variant:`ghost`,className:`min-h-11`,onClick:w,children:T(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Q.jsx)(y,{className:`min-h-11`,disabled:k||j||!D.valid,menuDisabled:k,leftIcon:k?(0,Q.jsx)(Oe,{className:`animate-spin`}):null,menuTitle:T(`integrationConnect.otherWays`),menuTriggerLabel:T(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:p(N,g),onClick:()=>A?b():v(t,{acknowledged:u,tenantHost:D.normalized}),children:T(A?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function Dt({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:a}=q(`settings`);if(t.phase===`error`)return(0,Q.jsx)(V,{tone:`error`,actions:(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(i,{variant:`outlined`,onClick:r,children:a(`integrationConnect.retry`)}),(0,Q.jsx)(i,{variant:`ghost`,onClick:n,children:t.canCancel?a(`integrationConnect.stopWaiting`):a(`integrationConnect.cancel`)})]}),children:(0,Q.jsx)(`p`,{children:t.error??a(`integrationConnect.attemptFailed`,{name:e})})});let o=t.phase===`starting`?a(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?a(`integrationConnect.attemptConnecting`,{name:e}):a(`integrationConnect.attemptWaiting`,{name:e});return(0,Q.jsx)(V,{tone:`info`,icon:(0,Q.jsx)(Oe,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Q.jsx)(i,{variant:`ghost`,onClick:n,children:a(`integrationConnect.stopWaiting`)}):void 0,children:o})}function Ot({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)(kt,{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)(i,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Q.jsx)(X,{}):(0,Q.jsx)(Fe,{}),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)(kt,{index:2,children:(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep2`,{name:t})})}),(0,Q.jsx)(kt,{index:3,children:(0,Q.jsx)(D,{checked:a,onCheckedChange:e=>o(e===!0),label:c(`integrationConnect.manualStep3`)})})]})]}):u}function kt({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 At({plan:e,methods:t,connections:n,connectionTitle:r,methodTag:a,methodItems:o,onPickMethod:s,onOpenTools:l,onReconnect:u,onRequestDisconnect:f,onClose:p}){let{t:m}=q(`settings`),h=xt(e);function g(e){let n=t.find(t=>t.id===e.methodId);if(t.length<2||!n)return e.detail;let r=a(n);return e.detail?m(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:e.name,description:m(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Q.jsx)(c.Body,{children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:n.map(e=>(0,Q.jsx)(d,{title:r(e),subtitle:g(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)(jt,{status:e.status}),e.canReconnect?(0,Q.jsx)(i,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(we,{}),onClick:()=>u(e),children:e.status===`pending`?m(`integrationConnect.finishConnecting`):m(`integrationConnect.reconnect`)}):null,ft(e.methodKind)?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ae,{}),"aria-label":m(`integrationConnect.toolsAndDetailsLabel`,{label:r(e)}),onClick:()=>l(e)}):null,(0,Q.jsx)(i,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":m(`integrationConnect.removeLabel`,{label:r(e)}),onClick:()=>f(e)})]})},e.id))})}),(0,Q.jsxs)(c.Footer,{children:[h.length>0?(0,Q.jsxs)(W.Root,{children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(i,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Q.jsx)(Ie,{}),children:m(`integrationConnect.connectAnother`)})}),(0,Q.jsx)(W.Content,{title:m(`integrationConnect.connectAnother`),children:o(h,s)})]}):null,(0,Q.jsx)(i,{className:`min-h-11`,onClick:p,children:m(`integrationConnect.done`)})]})]})}function jt({status:e}){let{t}=q(`settings`);switch(e){case`needs-attention`:return(0,Q.jsx)(T,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Q.jsx)(T,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Q.jsx)(T,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Mt({plan:e,connection:t,title:n,tools:r,onBack:a,onClose:s}){let{t:l}=q(`settings`),u=r?.summary;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:n,description:l(`integrationConnect.toolsAndDetails`)}),(0,Q.jsxs)(c.Body,{className:`space-y-4`,children:[(0,Q.jsx)(i,{variant:`ghost`,leftIcon:(0,Q.jsx)(Re,{}),onClick:a,children:l(`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:l(`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??l(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsLoading`)}):r?.error?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsError`)}):u&&u.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:l(`integrationConnect.toolsSummary`,{count:u.toolCount,tokens:u.estimatedTokens})}),(0,Q.jsx)(o.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:u.tools.map(e=>(0,Q.jsxs)(o.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsxs)(o.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)(Ie,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Q.jsx)(o.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:l(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsEmpty`)})]}),(0,Q.jsx)(c.Footer,{children:(0,Q.jsx)(i,{className:`min-h-11`,onClick:s,children:l(`integrationConnect.done`)})})]})}function Nt({providerKey:e,displayName:t,description:n,logoUrl:r,connections:a,mcpMethods:o=[],disabled:s,onConfigure:c}){let{t:l}=q(`settings`),{connectedCount:u}=rt(a),{needsAttention:d,configured:f}=at(a,o);return(0,Q.jsx)(Ct,{icon:(0,Q.jsx)(me,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:u>0?l(`integrationRow.connectedAccounts`,{count:u}):n,status:d?(0,Q.jsx)(T,{tone:`negative`,children:l(`integrationRow.needsAttention`)}):void 0,primaryAction:f?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":l(`integrationRow.configureLabel`,{name:t}),onClick:c,disabled:s}):(0,Q.jsx)(i,{variant:`primary`,onClick:c,disabled:s,children:l(`integrationRow.connect`)})})}function Pt({plan:e,state:t,layout:n=`tile`,showAlternatives:r=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=q(`settings`),f=Je(e.name),p=L(),m=t.phase===`waiting`||t.phase===`connecting`,h=m&&!p;function g(e){if(e.availability===`login-required`){s();return}o(e)}function _(e){return Ye(e,f,g)}let v=r&&e.alternatives.length>0?(0,Q.jsx)(y,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:_(yt(e)),disabled:a,onClick:()=>g(e.primary)}):(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>g(e.primary)});return m?v=(0,Q.jsx)(zt,{name:e.name,state:t,announce:!h,onCancel:c}):t.phase===`failed`&&(v=(0,Q.jsx)(Rt,{plan:e,state:t,disabled:a,methodItems:_,onRetry:l,onOpenSetupGuide:u})),(0,Q.jsx)(Ct,{layout:n,icon:(0,Q.jsx)(me,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:t.phase===`failed`?(0,Q.jsx)(Lt,{name:e.name,state:t}):h&&m?(0,Q.jsx)(`span`,{role:`status`,children:It(d,e.name,t)}):e.description??void 0,primaryAction:v})}var Ft=4e3;function It(e,t,n){return n.phase===`waiting`?e(`integrationTile.waiting`,{name:t}):e(`integrationTile.connecting`,{name:t})}function Lt({name:e,state:t}){let{t:n}=q(`settings`),r=t.error||n(`integrationTile.failedGeneric`,{name:e});return(0,Q.jsxs)(`span`,{role:`alert`,title:t.error||void 0,className:`font-medium text-[var(--system-negative-strong)]`,children:[(0,Q.jsx)(Y,{"aria-hidden":`true`,className:`mr-1 inline size-3.5 shrink-0 align-[-0.15em]`}),r]})}function Rt({plan:e,state:t,disabled:n,methodItems:r,onRetry:a,onOpenSetupGuide:o}){let{t:s}=q(`settings`),c=ft(t.methodKind)?t.setupGuideUrl:void 0,l=xt(e).filter(e=>e.id!==t.methodId),u=[...c?[(0,Q.jsx)(W.Item,{icon:ke,label:s(`integrationTile.setupGuide`),onSelect:()=>o(c)},`setup-guide`)]:[],...r(l)],d=s(`integrationTile.retryLabel`,{name:e.name});return u.length===0?(0,Q.jsx)(i,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(we,{}),"aria-label":d,disabled:n,onClick:a}):(0,Q.jsx)(y,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(we,{}),"aria-label":d,menuTitle:s(`connectMethod.otherWaysLabel`,{name:e.name}),menuTriggerLabel:s(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:u,disabled:n,onClick:a})}function zt({name:e,state:n,announce:a,onCancel:o}){let{t:s}=q(`settings`),c=L(),[l,u]=(0,Z.useState)(!1),d=(0,Z.useRef)(null),f=n.phase===`waiting`&&n.canCancel,m=It(s,e,n);function h(){d.current&&=(clearTimeout(d.current),null)}function g(e){h(),u(!0),e&&(d.current=setTimeout(()=>u(!1),Ft))}function _(){h(),u(!1)}(0,Z.useEffect)(()=>h,[]);function v(e){return c&&e!==`touch`}let y=a?(0,Q.jsx)(`span`,{role:`status`,className:`sr-only`,children:m}):null;return f?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:l?(0,Q.jsx)(Pe,{}):(0,Q.jsx)(Oe,{className:`animate-spin`}),"aria-label":s(`integrationTile.cancelLabel`,{name:e}),tooltip:s(`integrationTile.waitingCancel`,{name:e}),onPointerEnter:e=>{v(e.pointerType)&&g(!1)},onPointerLeave:e=>{v(e.pointerType)&&_()},onBlur:_,onClick:e=>{if(l||e.detail===0){_(),o();return}g(!0)}}),y]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{content:m,children:(0,Q.jsx)(`span`,{className:t(r({variant:`outlined`,iconOnly:!0}),$,`cursor-default hover:bg-transparent`),children:(0,Q.jsx)(Oe,{"aria-hidden":`true`,className:`size-3.5 animate-spin text-[var(--content-tertiary)]`})})}),y]})}function Bt({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=ne({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 Vt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ht(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ut({assistantId:e,providerKey:t,displayName:r,logoUrl:a}){let{t:o}=q(`settings`),s=J(),c=K({...g({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),u=K({...le({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),d=c.data??[],f=u.data??null,p=he({queries:d.map(t=>({...w({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),m={};d.forEach((e,t)=>{m[e.id]=p[t]?.data??[]});let h=n({path:{assistant_id:e},query:{provider_key:t}}),_=k({onSuccess:()=>{s.invalidateQueries({queryKey:h}),T(``),O(``),S(!1),U.success(o(`yourOwnOauthTab.appAddedToast`,{name:r}))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.createFailedToast`))}}),v=E({onSuccess:()=>{s.invalidateQueries({queryKey:h}),U.success(o(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.deleteFailedToast`))}}),y=ce({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.connectFailedToast`))}}),b=oe(),[x,S]=(0,Z.useState)(!1),[C,T]=(0,Z.useState)(``),[D,O]=(0,Z.useState)(``),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(null),I=_.isPending,L=v.isPending?v.variables?.path?.id??null:null,ee=y.isPending?y.variables?.path?.appId??null:null,R=b.isPending?b.variables?.path?.id??null:null,te=()=>{let n=C.trim(),r=D.trim();!n||!r||_.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ne=()=>{let t=M;N(null),t&&v.mutate({path:{assistant_id:e,id:t.id}})},re=t=>{y.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return c.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(Oe,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d.length===0||x?(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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:d.length===0?o(`yourOwnOauthTab.addOwnApp`,{name:r}):o(`yourOwnOauthTab.addAnotherApp`,{name:r})}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.credentialsNote`)})]}),f?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(B,{type:`text`,value:f,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{fe(f,{successMessage:o(`yourOwnOauthTab.copiedToast`),errorMessage:o(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{j(!0),setTimeout(()=>j(!1),2e3)}})},"aria-label":o(A?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:A?(0,Q.jsx)(X,{"aria-hidden":!0}):(0,Q.jsx)(Fe,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(B,{label:o(`yourOwnOauthTab.clientId`),type:`text`,value:C,onChange:e=>T(e.target.value),placeholder:o(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(B,{label:o(`yourOwnOauthTab.clientSecret`),type:`password`,value:D,onChange:e=>O(e.target.value),placeholder:o(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[d.length>0?(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{S(!1),T(``),O(``)},disabled:I,children:o(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(i,{type:`button`,size:`compact`,onClick:te,disabled:I||!C.trim()||!D.trim(),loading:I,leftIcon:(0,Q.jsx)(Te,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addApp`)})]})]})}):null,d.map(e=>{let n=m[e.id]??[],s=L===e.id,c=ee===e.id;return(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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:Vt(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.addedOn`,{date:Ht(e.created_at)})})]}),(0,Q.jsx)(i,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>N(e),disabled:s,"aria-label":o(`yourOwnOauthTab.deleteAppAria`,{id:Vt(e.client_id)}),loading:s,iconOnly:(0,Q.jsx)(Ce,{"aria-hidden":!0})})]}),n.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:n.map(n=>{let s=R===n.id,c=n.account_info??o(`yourOwnOauthTab.accountFallback`,{name:r});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(me,{providerKey:t,displayName:r,logoUrl:a,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:c}),(0,Q.jsx)(i,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>F({appId:e.id,connection:n}),disabled:s,"aria-label":o(`yourOwnOauthTab.disconnectAria`,{account:c}),loading:s,iconOnly:(0,Q.jsx)(Ce,{"aria-hidden":!0})})]},n.id)})}):null,(0,Q.jsx)(i,{type:`button`,size:`compact`,onClick:()=>re(e),disabled:c,className:`w-full`,loading:c,leftIcon:(0,Q.jsx)(ke,{"aria-hidden":!0}),children:o(c?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),d.length>0&&!x?(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>S(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(Te,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(l,{open:M!==null,title:o(`yourOwnOauthTab.deleteAppTitle`),message:M?o(`yourOwnOauthTab.deleteAppMessage`,{id:Vt(M.client_id)}):``,confirmLabel:o(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ne,onCancel:()=>N(null)}),(0,Q.jsx)(l,{open:P!==null,title:o(`yourOwnOauthTab.disconnectTitle`,{name:r}),message:P?o(`yourOwnOauthTab.disconnectMessage`,{account:P.connection.account_info??o(`yourOwnOauthTab.accountFallback`,{name:r})}):``,confirmLabel:o(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=P;F(null),t&&b.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=ue({path:{assistant_id:e,appId:t.appId}});s.invalidateQueries({queryKey:n}),s.invalidateQueries({queryKey:h}),U.success(o(`yourOwnOauthTab.disconnectedToast`,{name:r}))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>F(null)})]})}var Wt={phase:`idle`};function Gt({assistantId:e,mcp:t}){let{t:n}=q(`settings`),r=J(),{mutateAsync:i}=M(),[a,o]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(null),g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=t.auth.attempt,y=t.auth.connect,b=t.auth.retry,x=t.auth.stopWaiting,S=t.auth.isBusy,C=t.list.refetch;(0,Z.useEffect)(()=>{let e=g.current;if(e&&(g.current=null,v&&v.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:v.operationId});return}a&&v?.operationId!==a.operationId&&(o(null),_.current=null)},[v,a]),(0,Z.useEffect)(()=>{v?.phase===`connecting`&&(_.current=null)},[v?.phase]),(0,Z.useEffect)(()=>{!c||u?.status!==`connected`||(U.success(n(`useOauthConnect.accountConnected`,{name:c.providerLabel,ns:`common`})),l(null),d(null))},[c,u,n]);let w=(0,Z.useCallback)(async e=>{let t=await C();return t.isError?[]:tt(t.data?.servers??[],e)},[C]),{remove:T}=ze(e,{onRemoved:()=>{C(),h(null)},onRemoveError:(e,t)=>{R(t,{context:`integrations.connectRollback`,tags:{plugin:e}}),h(null)},announceWarnings:!1}),E=(0,Z.useCallback)((t,n)=>{let a=(async()=>{await i({path:{assistant_id:e},body:{name:t}}),te(r,e,t)})();return _.current={itemId:n,pluginName:t,landed:a.then(()=>!0,()=>!1)},a},[e,i,r]),D=(0,Z.useCallback)(()=>{let e=_.current;_.current=null,e&&(h(e.itemId),e.landed.then(t=>{if(!t){h(null);return}T(e.pluginName)}))},[T]),O=(0,Z.useCallback)(()=>{a&&x(),l(null),d(null),D()},[x,a,D]),k=(0,Z.useCallback)((e,t,n,r)=>{m!==e.itemId&&(O(),g.current={...e,priorOperationId:v?.operationId??null},y(t,r,n))},[v,y,O,m]),A=(0,Z.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||S)return;let i=!!r.installed;k({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},Qe(r.pluginName),t.name,et({install:i?()=>Promise.resolve():()=>E(r.pluginName,e.id),loadPluginServers:()=>w(r.pluginName)}))},[S,k,E,w]),j=(0,Z.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||S)return;let{provider:i}=e;if(!r?.tenantHost&&s(i.provider_key,i.tenant_host)){p({itemId:e.id,methodId:n.id});return}O(),l({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[S,O]),N=(0,Z.useCallback)((e,t,n,r)=>{if(ft(n.kind)){A(e,t,n);return}n.kind===`managed-oauth`&&j(e,t,n,r)},[j,A]),P=(0,Z.useCallback)((e,t,n)=>{let r=yt(t).find(e=>e.id===n.methodId);if(!ft(n.methodKind)){r&&j(e,t,r);return}!n.serverId||S||k({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[S,k,j]),F=(0,Z.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){p({itemId:e.id,methodId:n.id});return}N(e,t,n)},[N]),I=(0,Z.useCallback)(()=>{if(a){if(v?.phase!==`error`)return;g.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},b();return}d(null),l(e=>e&&{...e,restartToken:e.restartToken+1})},[v,b,a]),L=(0,Z.useCallback)((e,t)=>a?.itemId===e&&v?v.phase===`error`?{phase:`failed`,error:v.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:v.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:c?.itemId===e?u?.errorMessage?{phase:`failed`,error:u.errorMessage,methodId:c.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:Wt,[v,c,u,a,n]),ee=(0,Z.useCallback)(e=>a?.itemId===e&&v?{methodId:a.methodId,phase:v.phase,error:v.error,canCancel:!0}:c?.itemId===e?{methodId:c.methodId,phase:u?.errorMessage?`error`:`waiting`,error:u?.errorMessage??void 0,canCancel:!0}:null,[v,c,u,a]),z=(0,Z.useCallback)(e=>S&&a?.itemId!==e||c!==null&&c.itemId!==e||m===e,[S,c,a,m]),ne=(0,Z.useCallback)((e,t)=>p({itemId:e,methodId:t}),[]),B=(0,Z.useCallback)(()=>p(null),[]);return{start:F,run:N,reconnect:P,cancel:O,retry:I,stateFor:L,attemptFor:ee,isBusyElsewhere:z,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??c?.itemId??null,managed:c,onManagedReport:d,modal:f,openModal:ne,closeModal:B}}function Kt({assistantId:e,platformAssistantId:t,onStopAuth:n,onRemoveServer:r,onPluginRemoved:i}){let{t:a}=q(`settings`),o=J(),s=(0,Z.useRef)(``),c=ze(e,{onRemoved:()=>{i(),U.success(a(`integrationConnect.removedToast`,{name:s.current}))},onRemoveError:()=>U.error(a(`integrationConnect.removeFailedToast`,{name:s.current}))}),l={path:{assistant_id:t??``}},u=ae({onSuccess(e,t){U.success(a(`integrationConnect.disconnectedToast`,{name:s.current}));let n=t.path.connection_id;x(o,l,e=>e?.filter(e=>e.id!==n)),o.invalidateQueries({queryKey:N(l)})},onError(e){U.error(A(e,void 0,a(`integrationConnect.disconnectFailedToast`,{name:s.current})))}}),d=u.mutate,f=c.remove,p=c.isRemoving||u.isPending;return(0,Z.useCallback)((e,i)=>{if(!p){if(s.current=i,ft(e.methodKind)){if(n(e),e.pluginName){f(e.pluginName);return}e.serverId&&r(e.serverId);return}!e.accountId||!t||d({path:{assistant_id:t,connection_id:e.accountId}})}},[p,d,r,n,t,f])}var qt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Jt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Yt(e){return qt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Xt(e){return Jt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Zt({open:e,onClose:t,onAdd:n,isPending:r}){let{t:a}=q(`settings`),o=(0,Z.useMemo)(()=>Yt(a),[a]),s=(0,Z.useMemo)(()=>Xt(a),[a]),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(`sse`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(`none`),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(`X-API-Key`),[T,E]=(0,Z.useState)(``),D=(0,Z.useCallback)(()=>{u(``),f(`sse`),m(``),g(``),v(``),b(`none`),S(``),w(`X-API-Key`),E(``)},[]),O=(0,Z.useCallback)(()=>{r||(D(),t())},[r,D,t]),k=(0,Z.useCallback)(()=>{let e=l.trim();if(!e)return;let t={name:e,transportType:d};if(d===`stdio`){let e=h.trim();if(!e)return;t.command=e;let n=_.trim();n&&(t.args=n.split(/\s+/))}else{let e=p.trim();if(!e)return;t.url=e,y===`bearer`&&x.trim()?t.headers={Authorization:`Bearer ${x.trim()}`}:y===`api-key`&&C.trim()&&T.trim()?t.headers={[C.trim()]:T.trim()}:y===`oauth`&&(t.autoAuth=!0)}n(t)},[l,d,p,h,_,y,x,C,T,n]),A=d===`stdio`,j=l.trim()&&(A?h.trim():p.trim());return(0,Q.jsx)(c.Root,{open:e,onOpenChange:e=>{e||O()},children:(0,Q.jsxs)(c.Content,{size:`md`,children:[(0,Q.jsxs)(c.Header,{icon:Ue,children:[(0,Q.jsx)(c.Title,{children:a(`mcpAddServerModal.title`)}),(0,Q.jsx)(c.Description,{children:a(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(c.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:a(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(B,{id:`mcp-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:d,onChange:e=>f(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:s.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),A?(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:a(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(B,{id:`mcp-command`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(B,{id:`mcp-args`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(B,{id:`mcp-url`,type:`url`,value:p,onChange:e=>m(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:y,onChange:e=>b(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))})]}),y===`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:a(`mcpAddServerModal.oauthHint`)}):null,y===`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:a(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(B,{id:`mcp-bearer`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:a(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,y===`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:a(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(B,{id:`mcp-apikey-header`,type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(B,{id:`mcp-apikey-value`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:a(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(c.Footer,{children:[(0,Q.jsx)(i,{variant:`ghost`,onClick:O,disabled:r,children:a(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(i,{variant:`primary`,onClick:k,disabled:!j||r,children:a(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Qt=[`none`,`bearer`,`api-key`];function $t(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function en({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:a=!1,onClose:o,onSave:s,isPending:l}){let{t:u}=q(`settings`),[d,f]=(0,Z.useState)(`none`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(`X-API-Key`),[_,v]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(f(e.authType),m(``),g(e.authHeaderName??`X-API-Key`),v(``))},[e]);let y=(0,Z.useCallback)(()=>{if(!e||a)return;let t=d!==e.authType,n=d===`bearer`&&p.trim()!==``,r=d===`api-key`&&h.trim()!==``&&_.trim()!==``,i=t||n||r,o;o=i?d===`none`?null:d===`bearer`&&p.trim()?{Authorization:`Bearer ${p.trim()}`}:d===`api-key`&&h.trim()&&_.trim()?{[h.trim()]:_.trim()}:void 0:void 0,s(e.id,{name:e.id,...o===void 0?{}:{headers:o}})},[e,d,p,h,_,s,a]),b=(0,Z.useCallback)(()=>{l||o()},[l,o]);return e?(0,Q.jsx)(c.Root,{open:!!e,onOpenChange:e=>{e||b()},children:(0,Q.jsxs)(c.Content,{size:`lg`,children:[(0,Q.jsxs)(c.Header,{icon:Ue,children:[(0,Q.jsx)(c.Title,{children:e.id}),(0,Q.jsx)(c.Description,{children:u(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(c.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[!a&&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:u(`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:u(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`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:u(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:d,onChange:e=>f(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:Qt.map(e=>(0,Q.jsx)(`option`,{value:e,children:$t(e,u)},e))})]}),d===`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:u(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(B,{id:`mcp-detail-bearer`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?u(`mcpServerDetailModal.savedBearerPlaceholder`):u(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,d===`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:u(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(B,{id:`mcp-detail-apikey-header`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:u(`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:u(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(B,{id:`mcp-detail-apikey-value`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?u(`mcpServerDetailModal.savedApiCredentialPlaceholder`):u(`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`?u(`mcpServerDetailModal.command`):u(`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:u(`mcpServerDetailModal.toolsHeading`)}),n?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`mcpServerDetailModal.toolsLoading`)}):r?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`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:u(`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:u(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Q.jsxs)(c.Footer,{children:[(0,Q.jsx)(i,{variant:a?`primary`:`ghost`,onClick:b,disabled:l,children:u(a?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),a?null:(0,Q.jsx)(i,{variant:`primary`,onClick:y,disabled:l,children:u(l?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function tn({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=q(`settings`),{auth:a,add:o,save:s,remove:c,details:u,configureServer:d}=e;return(0,Q.jsxs)(Q.Fragment,{children:[a.attempt&&!n?(0,Q.jsx)(V,{tone:a.attempt.error?`warning`:`info`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:a.attempt.error??(a.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:a.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:a.attempt.displayName}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[a.attempt.phase===`error`?(0,Q.jsx)(i,{variant:`outlined`,onClick:a.retry,children:r(`mcpConnect.retry`)}):null,(0,Q.jsx)(i,{variant:`ghost`,onClick:a.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Q.jsx)(Zt,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:o.isPending}):null,(0,Q.jsx)(en,{server:d,readOnly:d?.source===`plugin`,toolsSummary:u.data?.servers.find(e=>e.serverId===d?.id),toolsLoading:u.isFetching,toolsError:u.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>s.mutate(t),isPending:s.isPending}),(0,Q.jsx)(l,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:c.isPending,onConfirm:()=>{e.removeServerId&&c.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function nn(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:nt(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function rn(){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)(Ee,{size:20})})}function an({server:e,onRemove:t,onConfigure:n,onAuthenticate:r,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)(Ct,{icon:(0,Q.jsx)(rn,{}),title:e.id,subtitle:l?e.pluginName:ct(e),status:e.status===`connected`?void 0:(0,Q.jsx)(T,{tone:`negative`,children:c(`mcpServerCard.statusNeedsAttention`)}),primaryAction:d?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":c(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>n(e.id)}):(0,Q.jsx)(i,{variant:u?`primary`:`outlined`,loading:o,onClick:()=>{l?a(e.pluginName):u&&r(e.id)},disabled:o||u&&s,children:f}),actionMenu:(0,Q.jsxs)(W.Root,{children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(i,{variant:`ghost`,iconOnly:(0,Q.jsx)(Se,{}),className:$,"aria-label":c(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Q.jsxs)(W.Content,{title:e.id,showTitle:!0,closeLabel:c(`mcpServerCard.actionsSheetClose`),align:`end`,children:[u||l?(0,Q.jsx)(W.Item,{icon:Ne,label:c(l?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>n(e.id)}):null,l?null:(0,Q.jsx)(W.Item,{icon:Ce,label:c(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>t(e.id)})]})]})})}function on({assistantId:e,definition:t}){let n=Ve(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Q.jsx)(He,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:dt(t)??void 0,size:`md`})}function sn({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:a}=q(`settings`),o=at([],[t]);return(0,Q.jsx)(Ct,{icon:(0,Q.jsx)(on,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:o.needsAttention?(0,Q.jsx)(T,{tone:`negative`,children:a(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":a(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function cn(e){let{data:t,response:n}=await S.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 ln(e){let{data:t,response:n}=await S.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 un(e,t){let{response:n}=await S.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 dn(e,t){let{response:n}=await S.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 fn(e,t){let{response:n}=await S.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 pn(e,t){let{data:n,response:r}=await S.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function mn(e,t){let{data:n,response:r}=await S.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}function hn(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function gn(e,t){return t?null:e}function _n(e){let{t}=q(`settings`),n=J(),[r,i]=(0,Z.useState)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),l=(0,Z.useCallback)(()=>{o.current=null,c.current=null,s.current?.close(),s.current=null,i(null)},[]);(0,Z.useEffect)(()=>(l(),()=>{o.current=null,c.current=null,s.current?.close(),s.current=null}),[e,l]);let u=r?.phase===`authorizing`||r?.phase===`waiting`,d=K({queryKey:H.auth(e,r?.operationId??``),queryFn:()=>mn(e,r.serverId),enabled:u,refetchInterval:u?P:!1,staleTime:0,gcTime:0,retry:1}),f=K({queryKey:H.list(e),queryFn:()=>cn(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?P:!1,staleTime:0,retry:1});(0,Z.useEffect)(()=>{!r||!u||o.current!==r.operationId||!d.data||(d.data.status===`complete`?(s.current?.close(),s.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:H.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`||o.current!==r.operationId||!f.data||f.isFetching||hn(f.data.servers,r.serverId)&&(l(),n.invalidateQueries({queryKey:H.details(e)}))},[e,r,n,f.data,f.isFetching,l]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=u?gn(d.error,d.isFetching):r.phase===`connecting`?gn(f.error,f.isFetching):null;e&&(R(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,d.error,d.isFetching,u,f.error,f.isFetching,t]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{o.current===r.operationId&&(s.current?.close(),s.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+j-Date.now()));return()=>clearTimeout(e)},[r,t]);let p=(0,Z.useCallback)(t=>{o.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:H.auth(e,t)}),n.invalidateQueries({queryKey:H.list(e)}))},[e,n]);(0,Z.useEffect)(()=>{let e=s.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&p(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,p]),(0,Z.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return G(()=>p(e))},[r?.operationId,r?.phase,p]);let m=(0,Z.useCallback)((n,l,u=n)=>{if(o.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();o.current=d,s.current?.close(),s.current=null,c.current=l?{operationId:d,run:l}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=a()||se(),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,s.current=m);let h=()=>o.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await l?.();if(c.current?.operationId===d&&(c.current=null),!h())return;if(t===null){m?.close(),s.current=null,o.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await pn(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),s.current=null,i({...n,phase:`connecting`});return}let a=new URL(r.auth_url);if(a.protocol!==`https:`&&a.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(a.href):await _(a.href)}catch(e){m?.close(),h()&&(s.current=null,R(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:m,retry:()=>{r&&m(r.serverId,c.current?.run,r.displayName)},stopWaiting:l}}function vn(e){let{t}=q(`settings`),n=J(),r=_n(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),f=K({queryKey:H.list(e),queryFn:()=>cn(e)}),p=f.data?.servers.find(e=>e.id===o)??null,m=K({queryKey:H.details(e),queryFn:()=>ln(e),enabled:p!==null||u!==null}),h=()=>{n.invalidateQueries({queryKey:H.list(e)}),n.invalidateQueries({queryKey:H.details(e)})},g=ge({mutationFn:t=>dn(e,t),onSuccess:()=>{h(),a(!1)},onError:e=>{R(e,{context:`mcp.add`}),U.error(t(`mcpConnect.addFailed`))}});return{list:f,details:m,auth:r,add:g,save:ge({mutationFn:t=>un(e,t),onSuccess:()=>{h(),s(null)},onError:e=>{R(e,{context:`mcp.update`}),U.error(t(`mcpConnect.saveFailed`))}}),remove:ge({mutationFn:t=>fn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),h(),l(null),s(null),U.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{R(e,{context:`mcp.remove`}),U.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await g.mutateAsync(e)},e.name):g.mutate(e)},addOpen:i,setAddOpen:a,configureServer:p,configureServerId:o,setConfigureServerId:s,removeServerId:c,setRemoveServerId:l,toolsServerId:u,setToolsServerId:d}}var yn={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`},bn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,xn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function Sn({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 Cn(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 wn({mcpAssistantId:e}){let{t}=q(`settings`),[n,r]=_e(),a=ye(),o=ve(),s=f(),c=I(),l=b.use.mcpAddServer(),d=b.use.hasHydrated(),[p,m]=(0,Z.useState)(null),[g,y]=(0,Z.useState)(!0),[x,S]=(0,Z.useState)(``),[w,T]=(0,Z.useState)(null),E=n.get(`provider`),D=(0,Z.useRef)(null),k=vn(e),A=Be(e),j=Gt({assistantId:e,mcp:k});(0,Z.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await ie(e);t&&n.ok&&m(n.data)}catch(e){R(e,{context:`integrations.getAssistant`})}finally{t&&y(!1)}})(),()=>{t=!1}},[e]);let{login:M}=C(`${o.pathname}${o.search}${o.hash}`),N=(0,Z.useCallback)(()=>void M(),[M]),P=j.closeModal,L=j.cancel,z=j.attemptItemId,te=j.modal?.itemId??null,ne=k.setToolsServerId,re=(0,Z.useCallback)(()=>{if(te!==null&&z===te&&L(),P(),ne(null),!n.has(`provider`))return;let e=new URLSearchParams(n);e.delete(`provider`),r(e,{replace:!0})},[L,z,P,te,n,r,ne]),{platformAssistantId:H,isLoading:ae,error:oe}=pe(p?.id,s===`full`),se=K({...v({path:{assistant_id:p?.id??``}}),select:e=>e.providers,enabled:!!p}),ce=K({...F({path:{assistant_id:H??``}}),enabled:!!H&&s===`full`});(0,Z.useEffect)(()=>{let e=n.get(`oauth_status`);if(!e)return;let r=n.get(`oauth_provider`),i=r?r.charAt(0).toUpperCase()+r.slice(1):null;e===`connected`?U.success(i?t(`integrationsPage.accountConnectedToast`,{providerLabel:i}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&U.error(Cn(t,n.get(`oauth_code`)??`unknown`)??(i?t(`integrationsPage.connectFailedToast`,{providerLabel:i}):t(`integrationsPage.connectFailedToastGeneric`))),a(O.settings.integrations,{replace:!0})},[n,a,t]);let W=se.isError||ce.isError||!!oe||!g&&!p,le=!W&&!!se.data&&(s!==`full`||!!ce.data),G=(0,Z.useMemo)(()=>lt(le?se.data??[]:[],le?ce.data??[]:[],k.list.data?.servers??[],A.installedLoaded?nn(A.catalogMatches,A.installedPlugins):[],k.list.isSuccess),[le,se.data,ce.data,k.list.data,k.list.isSuccess,A.installedLoaded,A.catalogMatches,A.installedPlugins]),ue=(0,Z.useMemo)(()=>{let e=new Map;for(let t of G)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return We.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[G]),de=ue.some(e=>e.category===w)?w:null,fe=(0,Z.useMemo)(()=>ut(G,x,de),[G,x,de]),me=(0,Z.useMemo)(()=>{let e=new Map;for(let t of G){if(t.kind===`mcp`)continue;let n=vt(t,{platformGate:s,ownOAuthAvailable:!c,mcpServersLoaded:k.list.isSuccess});n&&e.set(t.id,n)}return e},[G,c,k.list.isSuccess,s]),he=e=>me.has(e.id)&&(!e.configured||e.id===z&&j.modal?.itemId!==e.id),ge=e=>!e.configured||he(e),J=fe.filter(e=>!ge(e)),be=fe.filter(ge).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),xe=g||se.isLoading||ce.isLoading||ae||k.list.isLoading||(A.isLoading||A.catalogLoading)&&G.length===0,Se=k.auth.isBusy||j.managed!==null,Ce=g||!p||s===`full`&&!H,we=j.ownsMcpAttempt&&z!==null&&(j.modal?.itemId===z||fe.some(e=>e.id===z&&he(e))),Y=j.modal?G.find(e=>e.id===j.modal?.itemId):void 0,X=Y?me.get(Y.id):void 0,Ee=Y?.kind===`oauth`?Y.provider:void 0,De=u(Ee?.provider_key??``,Ee?.tenant_host),ke=j.openModal;(0,Z.useEffect)(()=>{if(!E){D.current=null;return}if(E===D.current)return;let e=G.find(e=>e.kind===`oauth`&&e.provider.provider_key===E);e&&(D.current=E,ke(e.id))},[G,ke,E]);let Ae=k.toolsServerId,je=k.list.data?.servers.find(e=>e.id===Ae),Me=X&&Ae?bt(X).find(e=>e.serverId===Ae):void 0,Ne=Me?{[Me.id]:{loading:k.details.isFetching,error:k.details.isError,summary:k.details.data?.servers.find(e=>e.serverId===Ae),endpointUrl:je?.transport.url}}:void 0,Pe=Kt({assistantId:e,platformAssistantId:H,onStopAuth:e=>{let t=k.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===Qe(e.pluginName)||k.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&k.auth.stopWaiting()},onRemoveServer:k.setRemoveServerId,onPluginRemoved:()=>void k.list.refetch()}),Fe=()=>{l?k.setAddOpen(!0):h(a,{prompt:t(`mcpPage.setupPrompt`)})},Ie=t=>{let n=t.kind===`mcp`?void 0:me.get(t.id);return t.kind!==`mcp`&&n&&he(t)?(0,Q.jsx)(Pt,{plan:n,state:j.stateFor(t.id,n.name),showAlternatives:!c,disabled:j.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&Ce,onConnect:e=>j.start(t,n,e),onLogin:N,onCancel:j.cancel,onRetry:j.retry,onOpenSetupGuide:e=>void _(e)},t.id):t.kind===`oauth`?(0,Q.jsx)(Nt,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:Ce||!n||j.isBusyElsewhere(t.id),onConfigure:()=>j.openModal(t.id)},t.id):t.kind===`plugin`?(0,Q.jsx)(sn,{assistantId:e,method:t.method,disabled:!n||j.isBusyElsewhere(t.id),onOpen:()=>j.openModal(t.id)},t.id):(0,Q.jsx)(an,{server:t.server,onRemove:k.setRemoveServerId,onConfigure:k.setConfigureServerId,onAuthenticate:e=>k.auth.connect(e),onManagePlugin:e=>a(e?`${O.plugins}/${encodeURIComponent(e)}`:O.plugins),isAuthenticating:k.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)(B,{value:x,onChange:e=>S(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(Le,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Q.jsx)(i,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Q.jsx)(Te,{}),onClick:Fe,disabled:!d||Se,children:t(`integrationsPage.addCustom`)})]}),ue.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:ue.map(e=>(0,Q.jsx)(ee,{selected:de===e.category,count:e.count,onClick:()=>T(de===e.category?null:e.category),children:t(yn[e.category])},e.category))}):null]}),W?(0,Q.jsx)(V,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,k.list.isError?(0,Q.jsx)(V,{tone:`warning`,actions:(0,Q.jsx)(i,{variant:`ghost`,onClick:()=>void k.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,A.catalogError||A.isError?(0,Q.jsx)(V,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Q.jsx)(tn,{connections:k,allowAdd:l,attemptReportedElsewhere:we}),j.managed&&p?(0,Q.jsx)(Bt,{assistantId:p.id,providerKey:j.managed.providerKey,providerLabel:j.managed.providerLabel,tenantHost:j.managed.tenantHost,restartToken:j.managed.restartToken,onReport:j.onManagedReport},j.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)(Oe,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,J.length>0?(0,Q.jsx)(Sn,{title:t(`integrationsPage.sectionConfigured`),count:J.length,gridClassName:bn,children:J.map(Ie)}):null,be.length>0?(0,Q.jsx)(Sn,{title:t(`integrationsPage.sectionAvailable`),count:be.length,gridClassName:xn,children:be.map(Ie)}):null,!xe&&fe.length===0?(0,Q.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:x.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:x.trim()}):de?t(`integrationsPage.emptyCategory`,{category:t(yn[de])}):t(`integrationsPage.empty`)}):null,j.modal&&X&&Y&&Y.kind!==`mcp`?(0,Q.jsx)(Tt,{plan:X,focusMethodId:j.modal.methodId,attempt:j.attemptFor(Y.id),tenantHost:De,toolsByConnectionId:Ne,ownOAuthContent:p&&Y.kind===`oauth`?(0,Q.jsx)(Ut,{assistantId:p.id,providerKey:Y.provider.provider_key,displayName:Y.name,logoUrl:Y.provider.logo_url}):null,onConnect:(e,t)=>j.run(Y,X,e,t),onLogin:N,onCancelAttempt:j.cancel,onRetryAttempt:j.retry,onReconnect:e=>j.reconnect(Y,X,e),onOpenTools:e=>k.setToolsServerId(e.serverId??null),onDisconnect:e=>Pe(e,X.name),onOpenSetupGuide:e=>void _(e),onClose:re},Y.id):null]})}function Tn(){let e=re();return(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(wn,{mcpAssistantId:e},e)})}export{Tn as IntegrationsPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AC as t,Cp as n,DC as r,EC as i,Ey as a,IS as o,Ir as s,JS as c,KS as l,Lr as u,MS as d,Nm as f,OC as p,Rr as m,Sl as h,Sp as g,Sy as _,Tp as v,_C as y,_f as b,_u as x,_y as S,bc as C,bp as w,cC as T,dm as E,eC as D,eS as O,fm as k,gS as A,gi as j,gm as M,gu as N,hi as P,hu as F,jm as I,kC as L,lC as ee,lS as R,mC as z,mc as te,mi as ne,nC as B,nt as re,pC as V,p_ as ie,pc as H,pd as ae,pm as oe,qS as U,tS as se,um as ce,vC as W,wp as le,wy as G,xp as ue,yi as de,yy as fe,zi as pe,zr as me}from"./app-Qc-rYPt9.js";import{$n as he,Qn as K,Yn as ge,j as q,tr as J}from"./vendor-DEhKVoiV.js";import{_ as _e,d as ve,f as ye,t as be,x as xe}from"./react-B9IgSVeK.js";import{$r as Se,A as Ce,At as we,D as Y,Ji as X,Lt as Te,Pt as Ee,Ya as De,Yn as Oe,Zr as ke,a as Ae,dr as je,ft as Me,gt as Ne,i as Pe,li as Fe,qi as Ie,vt as Le,za as Re}from"./icons-C0wyat6T.js";import{a as ze,n as Be,r as Ve,u as He}from"./use-plugins-list-D-azzToZ.js";var Ue=De(`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`}]]),We=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Ge=new Set(We);function Ke(e){return typeof e==`string`&&Ge.has(e)}var Z=e(xe(),1),Q=be(),qe={"mcp-oauth":Ue,"mcp-manual":Ue,"managed-oauth":Me,"own-oauth":je};function Je(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 Ye(e,t,n){return e.map(e=>(0,Q.jsx)(W.Item,{icon:qe[e.kind],label:t(e),onSelect:()=>n(e)},e.id))}var Xe={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ze(e){return Object.entries(Xe).some(([t,n])=>t===e&&n!==e)}function Qe(e){return`plugin:${e}`}function $e(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function et(e){return async()=>(await e.install(),$e(await e.loadPluginServers()))}function tt(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function nt(e){return Ke(e)?e:null}function rt(e){let{connectedCount:t,needsAttention:n}=at(e,[]);return{connectedCount:t,needsAttention:n}}function it(e,t){return e.filter(e=>e.provider===t)}function at(e,t,n=!0){let r=t.flatMap(e=>e.servers),i=t.filter(e=>st(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 ot(e){return e.status===`connected`||e.hasOAuth||e.hasStaticAuth}function st(e,t=!0){return t?e.servers.some(ot)?!0:!!e.definition.installed&&$e(e.servers)===null:!!e.definition.installed||e.servers.length>0}function ct(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function lt(e,t,n,r=[],i=!0){let a=r.map(e=>({definition:e,servers:tt(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=it(t,e.provider_key);if(Ze(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:at(n,r,i).configured,category:nt(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:st(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,ct(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function ut(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 dt(e){return e.logo?de(`/images/integrations/${e.logo}`):null}function ft(e){return e===`mcp-oauth`||e===`mcp-manual`}function pt(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function mt(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=pt(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:ct(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ht(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function gt(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 _t(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?[ht(n,i,r)]:mt(e,i,r),plugin:n}}function vt(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(_t(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:gt(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=dt(o),a=o.description,n.push(_t(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 yt(e){return[e.primary,...e.alternatives]}function bt(e){return yt(e).flatMap(e=>e.connections)}function xt(e){return yt(e).filter(e=>!ft(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,St=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function Ct({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,layout:o=`row`}){return o===`tile`?(0,Q.jsxs)(z.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:`${St} 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}),(0,Q.jsx)(`p`,{className:`line-clamp-2 min-h-9 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n})]})]}):(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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]}),(0,Q.jsxs)(`div`,{className:`${St} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function wt({plan:e,title:t,description:n}){return(0,Q.jsx)(c.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(me,{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)(c.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Q.jsx)(c.Description,{children:n})]})]})})}function Tt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:a=!1,toolsByConnectionId:o,ownOAuthContent:s,tenantHost:u,onConnect:d,onLogin:f,onCancelAttempt:p,onRetryAttempt:m,onReconnect:h,onDisconnect:g,onOpenTools:_,onCopyCallbackUrl:v,onOpenSetupGuide:y,onClose:b}){let{t:x}=q(`settings`),S=Je(e.name),C=yt(e),w=bt(e),[T,E]=(0,Z.useState)(()=>n?{kind:`connect`,methodId:n}:w.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null);function j(t){return t.kind===`connect`?t:w.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!w.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let M=j(T);function N(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return x(`integrationConnect.tagMcp`);case`managed-oauth`:return x(`integrationConnect.tagVellum`);case`own-oauth`:return x(`integrationConnect.tagOwnApp`)}}function P(t){return t.label?t.label:ft(t.methodKind)?x(`integrationConnect.connectionMcpLabel`,{name:e.name}):x(`integrationConnect.connectionAccountLabel`,{name:e.name})}function F(e,t){return Ye(e,S,t)}function I(e){O(!1),E({kind:`connect`,methodId:e.id})}function L(){if(w.length>0){E({kind:`connections`});return}E({kind:`connect`,methodId:e.primary.id})}let ee=M.kind===`tools`?w.find(e=>e.id===M.connectionId):void 0,R=M.kind===`connect`?C.find(e=>e.id===M.methodId)??e.primary:e.primary;function z(e){let t=e.setupGuideUrl;return t?(0,Q.jsx)(i,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Q.jsx)(ke,{}),onClick:()=>y(t),children:x(`integrationConnect.setupGuide`)}):null}return(0,Q.jsxs)(c.Root,{open:!0,onOpenChange:e=>{e||b()},children:[(0,Q.jsx)(c.Content,{size:`md`,children:M.kind===`connect`?(0,Q.jsx)(Et,{plan:e,method:R,setupGuide:z(R),methods:C,attempt:t,callbackUrl:r,callbackCopied:a,ownOAuthContent:s,tenantHost:u,acknowledged:D,hasConnections:w.length>0,methodItems:F,onAcknowledge:O,onPickMethod:I,onBack:L,onConnect:d,onLogin:f,onCancelAttempt:p,onRetryAttempt:m,onCopyCallbackUrl:v,onClose:b}):M.kind===`tools`?(0,Q.jsx)(Mt,{plan:e,connection:ee,title:ee?P(ee):e.name,tools:o?.[M.connectionId],onBack:()=>E({kind:`connections`}),onClose:b}):(0,Q.jsx)(At,{plan:e,methods:C,connections:w,connectionTitle:P,methodTag:N,methodItems:F,onPickMethod:I,onOpenTools:e=>{_?.(e),E({kind:`tools`,connectionId:e.id})},onReconnect:e=>{h(e),E({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:A,onClose:b})}),(0,Q.jsx)(l,{open:k!==null,destructive:!0,title:x(`integrationConnect.removeTitle`,{label:k?P(k):``}),message:x(`integrationConnect.removeMessage`),confirmLabel:x(`integrationConnect.remove`),cancelLabel:x(`integrationConnect.cancel`),onConfirm:()=>{k&&g(k),A(null)},onCancel:()=>A(null)})]})}function Et({plan:e,method:t,methods:n,attempt:r,callbackUrl:a,callbackCopied:o,ownOAuthContent:s,tenantHost:l,acknowledged:u,hasConnections:d,setupGuide:f,methodItems:p,onAcknowledge:h,onPickMethod:g,onBack:_,onConnect:v,onLogin:b,onCancelAttempt:x,onRetryAttempt:S,onCopyCallbackUrl:C,onClose:w}){let{t:T}=q(`settings`),E=t.kind===`managed-oauth`?l:null,D=m(E),O=r?.methodId===t.id?r:null,k=O!==null&&O.phase!==`error`,A=t.availability===`login-required`,j=t.kind===`mcp-manual`&&a!==void 0&&(!u||a.status!==`ready`),M=t.id!==e.primary.id||d,N=n.filter(e=>e.id!==t.id);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:T(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??T(`integrationConnect.connectDescription`,{name:e.name})}),(0,Q.jsxs)(c.Body,{className:`space-y-4`,children:[M?(0,Q.jsx)(i,{variant:`ghost`,leftIcon:(0,Q.jsx)(Re,{}),onClick:_,children:T(`integrationConnect.back`)}):null,A?(0,Q.jsx)(V,{tone:`info`,children:T(`integrationConnect.loginRequired`,{name:e.name})}):null,O?(0,Q.jsx)(Dt,{name:e.name,attempt:O,onCancel:x,onRetry:S}):null,E?(0,Q.jsx)(B,{label:E.label,type:`text`,value:D.value,onChange:e=>D.setValue(e.target.value),placeholder:E.placeholder,"aria-invalid":D.showsInvalid||void 0,helperText:D.showsInvalid?T(`integrationConnect.tenantHostInvalid`,{label:E.label,placeholder:E.placeholder}):void 0,disabled:k,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Q.jsx)(Ot,{instructions:t.instructions,name:e.name,callbackUrl:a,callbackCopied:o,acknowledged:u,onAcknowledge:h,onCopyCallbackUrl:C}):t.kind===`own-oauth`?s:(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??T(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Q.jsxs)(c.Footer,{children:[f,(0,Q.jsx)(i,{variant:`ghost`,className:`min-h-11`,onClick:w,children:T(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Q.jsx)(y,{className:`min-h-11`,disabled:k||j||!D.valid,menuDisabled:k,leftIcon:k?(0,Q.jsx)(Oe,{className:`animate-spin`}):null,menuTitle:T(`integrationConnect.otherWays`),menuTriggerLabel:T(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:p(N,g),onClick:()=>A?b():v(t,{acknowledged:u,tenantHost:D.normalized}),children:T(A?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function Dt({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:a}=q(`settings`);if(t.phase===`error`)return(0,Q.jsx)(V,{tone:`error`,actions:(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(i,{variant:`outlined`,onClick:r,children:a(`integrationConnect.retry`)}),(0,Q.jsx)(i,{variant:`ghost`,onClick:n,children:t.canCancel?a(`integrationConnect.stopWaiting`):a(`integrationConnect.cancel`)})]}),children:(0,Q.jsx)(`p`,{children:t.error??a(`integrationConnect.attemptFailed`,{name:e})})});let o=t.phase===`starting`?a(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?a(`integrationConnect.attemptConnecting`,{name:e}):a(`integrationConnect.attemptWaiting`,{name:e});return(0,Q.jsx)(V,{tone:`info`,icon:(0,Q.jsx)(Oe,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Q.jsx)(i,{variant:`ghost`,onClick:n,children:a(`integrationConnect.stopWaiting`)}):void 0,children:o})}function Ot({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)(kt,{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)(i,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Q.jsx)(X,{}):(0,Q.jsx)(Fe,{}),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)(kt,{index:2,children:(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep2`,{name:t})})}),(0,Q.jsx)(kt,{index:3,children:(0,Q.jsx)(D,{checked:a,onCheckedChange:e=>o(e===!0),label:c(`integrationConnect.manualStep3`)})})]})]}):u}function kt({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 At({plan:e,methods:t,connections:n,connectionTitle:r,methodTag:a,methodItems:o,onPickMethod:s,onOpenTools:l,onReconnect:u,onRequestDisconnect:f,onClose:p}){let{t:m}=q(`settings`),h=xt(e);function g(e){let n=t.find(t=>t.id===e.methodId);if(t.length<2||!n)return e.detail;let r=a(n);return e.detail?m(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:e.name,description:m(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Q.jsx)(c.Body,{children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:n.map(e=>(0,Q.jsx)(d,{title:r(e),subtitle:g(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)(jt,{status:e.status}),e.canReconnect?(0,Q.jsx)(i,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(we,{}),onClick:()=>u(e),children:e.status===`pending`?m(`integrationConnect.finishConnecting`):m(`integrationConnect.reconnect`)}):null,ft(e.methodKind)?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ae,{}),"aria-label":m(`integrationConnect.toolsAndDetailsLabel`,{label:r(e)}),onClick:()=>l(e)}):null,(0,Q.jsx)(i,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":m(`integrationConnect.removeLabel`,{label:r(e)}),onClick:()=>f(e)})]})},e.id))})}),(0,Q.jsxs)(c.Footer,{children:[h.length>0?(0,Q.jsxs)(W.Root,{children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(i,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Q.jsx)(Ie,{}),children:m(`integrationConnect.connectAnother`)})}),(0,Q.jsx)(W.Content,{title:m(`integrationConnect.connectAnother`),children:o(h,s)})]}):null,(0,Q.jsx)(i,{className:`min-h-11`,onClick:p,children:m(`integrationConnect.done`)})]})]})}function jt({status:e}){let{t}=q(`settings`);switch(e){case`needs-attention`:return(0,Q.jsx)(T,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Q.jsx)(T,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Q.jsx)(T,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Mt({plan:e,connection:t,title:n,tools:r,onBack:a,onClose:s}){let{t:l}=q(`settings`),u=r?.summary;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wt,{plan:e,title:n,description:l(`integrationConnect.toolsAndDetails`)}),(0,Q.jsxs)(c.Body,{className:`space-y-4`,children:[(0,Q.jsx)(i,{variant:`ghost`,leftIcon:(0,Q.jsx)(Re,{}),onClick:a,children:l(`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:l(`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??l(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsLoading`)}):r?.error?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsError`)}):u&&u.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:l(`integrationConnect.toolsSummary`,{count:u.toolCount,tokens:u.estimatedTokens})}),(0,Q.jsx)(o.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:u.tools.map(e=>(0,Q.jsxs)(o.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsxs)(o.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)(Ie,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Q.jsx)(o.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:l(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`integrationConnect.toolsEmpty`)})]}),(0,Q.jsx)(c.Footer,{children:(0,Q.jsx)(i,{className:`min-h-11`,onClick:s,children:l(`integrationConnect.done`)})})]})}function Nt({providerKey:e,displayName:t,description:n,logoUrl:r,connections:a,mcpMethods:o=[],disabled:s,onConfigure:c}){let{t:l}=q(`settings`),{connectedCount:u}=rt(a),{needsAttention:d,configured:f}=at(a,o);return(0,Q.jsx)(Ct,{icon:(0,Q.jsx)(me,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:u>0?l(`integrationRow.connectedAccounts`,{count:u}):n,status:d?(0,Q.jsx)(T,{tone:`negative`,children:l(`integrationRow.needsAttention`)}):void 0,primaryAction:f?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":l(`integrationRow.configureLabel`,{name:t}),onClick:c,disabled:s}):(0,Q.jsx)(i,{variant:`primary`,onClick:c,disabled:s,children:l(`integrationRow.connect`)})})}function Pt({plan:e,state:t,layout:n=`tile`,showAlternatives:r=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=q(`settings`),f=Je(e.name),p=L(),m=t.phase===`waiting`||t.phase===`connecting`,h=m&&!p;function g(e){if(e.availability===`login-required`){s();return}o(e)}function _(e){return Ye(e,f,g)}let v=r&&e.alternatives.length>0?(0,Q.jsx)(y,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:_(yt(e)),disabled:a,onClick:()=>g(e.primary)}):(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>g(e.primary)});return m?v=(0,Q.jsx)(zt,{name:e.name,state:t,announce:!h,onCancel:c}):t.phase===`failed`&&(v=(0,Q.jsx)(Rt,{plan:e,state:t,disabled:a,methodItems:_,onRetry:l,onOpenSetupGuide:u})),(0,Q.jsx)(Ct,{layout:n,icon:(0,Q.jsx)(me,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:t.phase===`failed`?(0,Q.jsx)(Lt,{name:e.name,state:t}):h&&m?(0,Q.jsx)(`span`,{role:`status`,children:It(d,e.name,t)}):e.description??void 0,primaryAction:v})}var Ft=4e3;function It(e,t,n){return n.phase===`waiting`?e(`integrationTile.waiting`,{name:t}):e(`integrationTile.connecting`,{name:t})}function Lt({name:e,state:t}){let{t:n}=q(`settings`),r=t.error||n(`integrationTile.failedGeneric`,{name:e});return(0,Q.jsxs)(`span`,{role:`alert`,title:t.error||void 0,className:`font-medium text-[var(--system-negative-strong)]`,children:[(0,Q.jsx)(Y,{"aria-hidden":`true`,className:`mr-1 inline size-3.5 shrink-0 align-[-0.15em]`}),r]})}function Rt({plan:e,state:t,disabled:n,methodItems:r,onRetry:a,onOpenSetupGuide:o}){let{t:s}=q(`settings`),c=ft(t.methodKind)?t.setupGuideUrl:void 0,l=xt(e).filter(e=>e.id!==t.methodId),u=[...c?[(0,Q.jsx)(W.Item,{icon:ke,label:s(`integrationTile.setupGuide`),onSelect:()=>o(c)},`setup-guide`)]:[],...r(l)],d=s(`integrationTile.retryLabel`,{name:e.name});return u.length===0?(0,Q.jsx)(i,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(we,{}),"aria-label":d,disabled:n,onClick:a}):(0,Q.jsx)(y,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(we,{}),"aria-label":d,menuTitle:s(`connectMethod.otherWaysLabel`,{name:e.name}),menuTriggerLabel:s(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:u,disabled:n,onClick:a})}function zt({name:e,state:n,announce:a,onCancel:o}){let{t:s}=q(`settings`),c=L(),[l,u]=(0,Z.useState)(!1),d=(0,Z.useRef)(null),f=n.phase===`waiting`&&n.canCancel,m=It(s,e,n);function h(){d.current&&=(clearTimeout(d.current),null)}function g(e){h(),u(!0),e&&(d.current=setTimeout(()=>u(!1),Ft))}function _(){h(),u(!1)}(0,Z.useEffect)(()=>h,[]);function v(e){return c&&e!==`touch`}let y=a?(0,Q.jsx)(`span`,{role:`status`,className:`sr-only`,children:m}):null;return f?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:l?(0,Q.jsx)(Pe,{}):(0,Q.jsx)(Oe,{className:`animate-spin`}),"aria-label":s(`integrationTile.cancelLabel`,{name:e}),tooltip:s(`integrationTile.waitingCancel`,{name:e}),onPointerEnter:e=>{v(e.pointerType)&&g(!1)},onPointerLeave:e=>{v(e.pointerType)&&_()},onBlur:_,onClick:e=>{if(l||e.detail===0){_(),o();return}g(!0)}}),y]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{content:m,children:(0,Q.jsx)(`span`,{className:t(r({variant:`outlined`,iconOnly:!0}),$,`cursor-default hover:bg-transparent`),children:(0,Q.jsx)(Oe,{"aria-hidden":`true`,className:`size-3.5 animate-spin text-[var(--content-tertiary)]`})})}),y]})}function Bt({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=ne({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 Vt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ht(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ut({assistantId:e,providerKey:t,displayName:r,logoUrl:a}){let{t:o}=q(`settings`),s=J(),c=K({...g({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),u=K({...le({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),d=c.data??[],f=u.data??null,p=he({queries:d.map(t=>({...w({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),m={};d.forEach((e,t)=>{m[e.id]=p[t]?.data??[]});let h=n({path:{assistant_id:e},query:{provider_key:t}}),_=k({onSuccess:()=>{s.invalidateQueries({queryKey:h}),T(``),O(``),S(!1),U.success(o(`yourOwnOauthTab.appAddedToast`,{name:r}))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.createFailedToast`))}}),v=E({onSuccess:()=>{s.invalidateQueries({queryKey:h}),U.success(o(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.deleteFailedToast`))}}),y=ce({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.connectFailedToast`))}}),b=oe(),[x,S]=(0,Z.useState)(!1),[C,T]=(0,Z.useState)(``),[D,O]=(0,Z.useState)(``),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(null),I=_.isPending,L=v.isPending?v.variables?.path?.id??null:null,ee=y.isPending?y.variables?.path?.appId??null:null,R=b.isPending?b.variables?.path?.id??null:null,te=()=>{let n=C.trim(),r=D.trim();!n||!r||_.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ne=()=>{let t=M;N(null),t&&v.mutate({path:{assistant_id:e,id:t.id}})},re=t=>{y.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return c.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(Oe,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d.length===0||x?(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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:d.length===0?o(`yourOwnOauthTab.addOwnApp`,{name:r}):o(`yourOwnOauthTab.addAnotherApp`,{name:r})}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.credentialsNote`)})]}),f?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(B,{type:`text`,value:f,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{fe(f,{successMessage:o(`yourOwnOauthTab.copiedToast`),errorMessage:o(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{j(!0),setTimeout(()=>j(!1),2e3)}})},"aria-label":o(A?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:A?(0,Q.jsx)(X,{"aria-hidden":!0}):(0,Q.jsx)(Fe,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(B,{label:o(`yourOwnOauthTab.clientId`),type:`text`,value:C,onChange:e=>T(e.target.value),placeholder:o(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(B,{label:o(`yourOwnOauthTab.clientSecret`),type:`password`,value:D,onChange:e=>O(e.target.value),placeholder:o(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[d.length>0?(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{S(!1),T(``),O(``)},disabled:I,children:o(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(i,{type:`button`,size:`compact`,onClick:te,disabled:I||!C.trim()||!D.trim(),loading:I,leftIcon:(0,Q.jsx)(Te,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addApp`)})]})]})}):null,d.map(e=>{let n=m[e.id]??[],s=L===e.id,c=ee===e.id;return(0,Q.jsx)(z.Root,{children:(0,Q.jsxs)(z.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:Vt(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.addedOn`,{date:Ht(e.created_at)})})]}),(0,Q.jsx)(i,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>N(e),disabled:s,"aria-label":o(`yourOwnOauthTab.deleteAppAria`,{id:Vt(e.client_id)}),loading:s,iconOnly:(0,Q.jsx)(Ce,{"aria-hidden":!0})})]}),n.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:n.map(n=>{let s=R===n.id,c=n.account_info??o(`yourOwnOauthTab.accountFallback`,{name:r});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(me,{providerKey:t,displayName:r,logoUrl:a,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:c}),(0,Q.jsx)(i,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>F({appId:e.id,connection:n}),disabled:s,"aria-label":o(`yourOwnOauthTab.disconnectAria`,{account:c}),loading:s,iconOnly:(0,Q.jsx)(Ce,{"aria-hidden":!0})})]},n.id)})}):null,(0,Q.jsx)(i,{type:`button`,size:`compact`,onClick:()=>re(e),disabled:c,className:`w-full`,loading:c,leftIcon:(0,Q.jsx)(ke,{"aria-hidden":!0}),children:o(c?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),d.length>0&&!x?(0,Q.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>S(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(Te,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(l,{open:M!==null,title:o(`yourOwnOauthTab.deleteAppTitle`),message:M?o(`yourOwnOauthTab.deleteAppMessage`,{id:Vt(M.client_id)}):``,confirmLabel:o(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ne,onCancel:()=>N(null)}),(0,Q.jsx)(l,{open:P!==null,title:o(`yourOwnOauthTab.disconnectTitle`,{name:r}),message:P?o(`yourOwnOauthTab.disconnectMessage`,{account:P.connection.account_info??o(`yourOwnOauthTab.accountFallback`,{name:r})}):``,confirmLabel:o(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=P;F(null),t&&b.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=ue({path:{assistant_id:e,appId:t.appId}});s.invalidateQueries({queryKey:n}),s.invalidateQueries({queryKey:h}),U.success(o(`yourOwnOauthTab.disconnectedToast`,{name:r}))},onError:e=>{U.error(e.message||o(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>F(null)})]})}var Wt={phase:`idle`};function Gt({assistantId:e,mcp:t}){let{t:n}=q(`settings`),r=J(),{mutateAsync:i}=M(),[a,o]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(null),g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=t.auth.attempt,y=t.auth.connect,b=t.auth.retry,x=t.auth.stopWaiting,S=t.auth.isBusy,C=t.list.refetch;(0,Z.useEffect)(()=>{let e=g.current;if(e&&(g.current=null,v&&v.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:v.operationId});return}a&&v?.operationId!==a.operationId&&(o(null),_.current=null)},[v,a]),(0,Z.useEffect)(()=>{v?.phase===`connecting`&&(_.current=null)},[v?.phase]),(0,Z.useEffect)(()=>{!c||u?.status!==`connected`||(U.success(n(`useOauthConnect.accountConnected`,{name:c.providerLabel,ns:`common`})),l(null),d(null))},[c,u,n]);let w=(0,Z.useCallback)(async e=>{let t=await C();return t.isError?[]:tt(t.data?.servers??[],e)},[C]),{remove:T}=ze(e,{onRemoved:()=>{C(),h(null)},onRemoveError:(e,t)=>{R(t,{context:`integrations.connectRollback`,tags:{plugin:e}}),h(null)},announceWarnings:!1}),E=(0,Z.useCallback)((t,n)=>{let a=(async()=>{await i({path:{assistant_id:e},body:{name:t}}),te(r,e,t)})();return _.current={itemId:n,pluginName:t,landed:a.then(()=>!0,()=>!1)},a},[e,i,r]),D=(0,Z.useCallback)(()=>{let e=_.current;_.current=null,e&&(h(e.itemId),e.landed.then(t=>{if(!t){h(null);return}T(e.pluginName)}))},[T]),O=(0,Z.useCallback)(()=>{a&&x(),l(null),d(null),D()},[x,a,D]),k=(0,Z.useCallback)((e,t,n,r)=>{m!==e.itemId&&(O(),g.current={...e,priorOperationId:v?.operationId??null},y(t,r,n))},[v,y,O,m]),A=(0,Z.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||S)return;let i=!!r.installed;k({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},Qe(r.pluginName),t.name,et({install:i?()=>Promise.resolve():()=>E(r.pluginName,e.id),loadPluginServers:()=>w(r.pluginName)}))},[S,k,E,w]),j=(0,Z.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||S)return;let{provider:i}=e;if(!r?.tenantHost&&s(i.provider_key,i.tenant_host)){p({itemId:e.id,methodId:n.id});return}O(),l({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[S,O]),N=(0,Z.useCallback)((e,t,n,r)=>{if(ft(n.kind)){A(e,t,n);return}n.kind===`managed-oauth`&&j(e,t,n,r)},[j,A]),P=(0,Z.useCallback)((e,t,n)=>{let r=yt(t).find(e=>e.id===n.methodId);if(!ft(n.methodKind)){r&&j(e,t,r);return}!n.serverId||S||k({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[S,k,j]),F=(0,Z.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){p({itemId:e.id,methodId:n.id});return}N(e,t,n)},[N]),I=(0,Z.useCallback)(()=>{if(a){if(v?.phase!==`error`)return;g.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},b();return}d(null),l(e=>e&&{...e,restartToken:e.restartToken+1})},[v,b,a]),L=(0,Z.useCallback)((e,t)=>a?.itemId===e&&v?v.phase===`error`?{phase:`failed`,error:v.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:v.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:c?.itemId===e?u?.errorMessage?{phase:`failed`,error:u.errorMessage,methodId:c.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:Wt,[v,c,u,a,n]),ee=(0,Z.useCallback)(e=>a?.itemId===e&&v?{methodId:a.methodId,phase:v.phase,error:v.error,canCancel:!0}:c?.itemId===e?{methodId:c.methodId,phase:u?.errorMessage?`error`:`waiting`,error:u?.errorMessage??void 0,canCancel:!0}:null,[v,c,u,a]),z=(0,Z.useCallback)(e=>S&&a?.itemId!==e||c!==null&&c.itemId!==e||m===e,[S,c,a,m]),ne=(0,Z.useCallback)((e,t)=>p({itemId:e,methodId:t}),[]),B=(0,Z.useCallback)(()=>p(null),[]);return{start:F,run:N,reconnect:P,cancel:O,retry:I,stateFor:L,attemptFor:ee,isBusyElsewhere:z,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??c?.itemId??null,managed:c,onManagedReport:d,modal:f,openModal:ne,closeModal:B}}function Kt({assistantId:e,platformAssistantId:t,onStopAuth:n,onRemoveServer:r,onPluginRemoved:i}){let{t:a}=q(`settings`),o=J(),s=(0,Z.useRef)(``),c=ze(e,{onRemoved:()=>{i(),U.success(a(`integrationConnect.removedToast`,{name:s.current}))},onRemoveError:()=>U.error(a(`integrationConnect.removeFailedToast`,{name:s.current}))}),l={path:{assistant_id:t??``}},u=ae({onSuccess(e,t){U.success(a(`integrationConnect.disconnectedToast`,{name:s.current}));let n=t.path.connection_id;x(o,l,e=>e?.filter(e=>e.id!==n)),o.invalidateQueries({queryKey:N(l)})},onError(e){U.error(A(e,void 0,a(`integrationConnect.disconnectFailedToast`,{name:s.current})))}}),d=u.mutate,f=c.remove,p=c.isRemoving||u.isPending;return(0,Z.useCallback)((e,i)=>{if(!p){if(s.current=i,ft(e.methodKind)){if(n(e),e.pluginName){f(e.pluginName);return}e.serverId&&r(e.serverId);return}!e.accountId||!t||d({path:{assistant_id:t,connection_id:e.accountId}})}},[p,d,r,n,t,f])}var qt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Jt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Yt(e){return qt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Xt(e){return Jt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Zt({open:e,onClose:t,onAdd:n,isPending:r}){let{t:a}=q(`settings`),o=(0,Z.useMemo)(()=>Yt(a),[a]),s=(0,Z.useMemo)(()=>Xt(a),[a]),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(`sse`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(`none`),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(`X-API-Key`),[T,E]=(0,Z.useState)(``),D=(0,Z.useCallback)(()=>{u(``),f(`sse`),m(``),g(``),v(``),b(`none`),S(``),w(`X-API-Key`),E(``)},[]),O=(0,Z.useCallback)(()=>{r||(D(),t())},[r,D,t]),k=(0,Z.useCallback)(()=>{let e=l.trim();if(!e)return;let t={name:e,transportType:d};if(d===`stdio`){let e=h.trim();if(!e)return;t.command=e;let n=_.trim();n&&(t.args=n.split(/\s+/))}else{let e=p.trim();if(!e)return;t.url=e,y===`bearer`&&x.trim()?t.headers={Authorization:`Bearer ${x.trim()}`}:y===`api-key`&&C.trim()&&T.trim()?t.headers={[C.trim()]:T.trim()}:y===`oauth`&&(t.autoAuth=!0)}n(t)},[l,d,p,h,_,y,x,C,T,n]),A=d===`stdio`,j=l.trim()&&(A?h.trim():p.trim());return(0,Q.jsx)(c.Root,{open:e,onOpenChange:e=>{e||O()},children:(0,Q.jsxs)(c.Content,{size:`md`,children:[(0,Q.jsxs)(c.Header,{icon:Ue,children:[(0,Q.jsx)(c.Title,{children:a(`mcpAddServerModal.title`)}),(0,Q.jsx)(c.Description,{children:a(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(c.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:a(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(B,{id:`mcp-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:d,onChange:e=>f(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:s.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),A?(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:a(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(B,{id:`mcp-command`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(B,{id:`mcp-args`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(B,{id:`mcp-url`,type:`url`,value:p,onChange:e=>m(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:y,onChange:e=>b(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))})]}),y===`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:a(`mcpAddServerModal.oauthHint`)}):null,y===`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:a(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(B,{id:`mcp-bearer`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:a(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,y===`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:a(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(B,{id:`mcp-apikey-header`,type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:a(`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:a(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(B,{id:`mcp-apikey-value`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:a(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(c.Footer,{children:[(0,Q.jsx)(i,{variant:`ghost`,onClick:O,disabled:r,children:a(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(i,{variant:`primary`,onClick:k,disabled:!j||r,children:a(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Qt=[`none`,`bearer`,`api-key`];function $t(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function en({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:a=!1,onClose:o,onSave:s,isPending:l}){let{t:u}=q(`settings`),[d,f]=(0,Z.useState)(`none`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(`X-API-Key`),[_,v]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(f(e.authType),m(``),g(e.authHeaderName??`X-API-Key`),v(``))},[e]);let y=(0,Z.useCallback)(()=>{if(!e||a)return;let t=d!==e.authType,n=d===`bearer`&&p.trim()!==``,r=d===`api-key`&&h.trim()!==``&&_.trim()!==``,i=t||n||r,o;o=i?d===`none`?null:d===`bearer`&&p.trim()?{Authorization:`Bearer ${p.trim()}`}:d===`api-key`&&h.trim()&&_.trim()?{[h.trim()]:_.trim()}:void 0:void 0,s(e.id,{name:e.id,...o===void 0?{}:{headers:o}})},[e,d,p,h,_,s,a]),b=(0,Z.useCallback)(()=>{l||o()},[l,o]);return e?(0,Q.jsx)(c.Root,{open:!!e,onOpenChange:e=>{e||b()},children:(0,Q.jsxs)(c.Content,{size:`lg`,children:[(0,Q.jsxs)(c.Header,{icon:Ue,children:[(0,Q.jsx)(c.Title,{children:e.id}),(0,Q.jsx)(c.Description,{children:u(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(c.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[!a&&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:u(`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:u(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`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:u(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:d,onChange:e=>f(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:Qt.map(e=>(0,Q.jsx)(`option`,{value:e,children:$t(e,u)},e))})]}),d===`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:u(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(B,{id:`mcp-detail-bearer`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?u(`mcpServerDetailModal.savedBearerPlaceholder`):u(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,d===`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:u(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(B,{id:`mcp-detail-apikey-header`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:u(`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:u(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(B,{id:`mcp-detail-apikey-value`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?u(`mcpServerDetailModal.savedApiCredentialPlaceholder`):u(`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`?u(`mcpServerDetailModal.command`):u(`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:u(`mcpServerDetailModal.toolsHeading`)}),n?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`mcpServerDetailModal.toolsLoading`)}):r?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`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:u(`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:u(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Q.jsxs)(c.Footer,{children:[(0,Q.jsx)(i,{variant:a?`primary`:`ghost`,onClick:b,disabled:l,children:u(a?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),a?null:(0,Q.jsx)(i,{variant:`primary`,onClick:y,disabled:l,children:u(l?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function tn({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=q(`settings`),{auth:a,add:o,save:s,remove:c,details:u,configureServer:d}=e;return(0,Q.jsxs)(Q.Fragment,{children:[a.attempt&&!n?(0,Q.jsx)(V,{tone:a.attempt.error?`warning`:`info`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:a.attempt.error??(a.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:a.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:a.attempt.displayName}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[a.attempt.phase===`error`?(0,Q.jsx)(i,{variant:`outlined`,onClick:a.retry,children:r(`mcpConnect.retry`)}):null,(0,Q.jsx)(i,{variant:`ghost`,onClick:a.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Q.jsx)(Zt,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:o.isPending}):null,(0,Q.jsx)(en,{server:d,readOnly:d?.source===`plugin`,toolsSummary:u.data?.servers.find(e=>e.serverId===d?.id),toolsLoading:u.isFetching,toolsError:u.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>s.mutate(t),isPending:s.isPending}),(0,Q.jsx)(l,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:c.isPending,onConfirm:()=>{e.removeServerId&&c.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function nn(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:nt(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function rn(){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)(Ee,{size:20})})}function an({server:e,onRemove:t,onConfigure:n,onAuthenticate:r,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)(Ct,{icon:(0,Q.jsx)(rn,{}),title:e.id,subtitle:l?e.pluginName:ct(e),status:e.status===`connected`?void 0:(0,Q.jsx)(T,{tone:`negative`,children:c(`mcpServerCard.statusNeedsAttention`)}),primaryAction:d?(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":c(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>n(e.id)}):(0,Q.jsx)(i,{variant:u?`primary`:`outlined`,loading:o,onClick:()=>{l?a(e.pluginName):u&&r(e.id)},disabled:o||u&&s,children:f}),actionMenu:(0,Q.jsxs)(W.Root,{children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(i,{variant:`ghost`,iconOnly:(0,Q.jsx)(Se,{}),className:$,"aria-label":c(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Q.jsxs)(W.Content,{title:e.id,showTitle:!0,closeLabel:c(`mcpServerCard.actionsSheetClose`),align:`end`,children:[u||l?(0,Q.jsx)(W.Item,{icon:Ne,label:c(l?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>n(e.id)}):null,l?null:(0,Q.jsx)(W.Item,{icon:Ce,label:c(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>t(e.id)})]})]})})}function on({assistantId:e,definition:t}){let n=Ve(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Q.jsx)(He,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:dt(t)??void 0,size:`md`})}function sn({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:a}=q(`settings`),o=at([],[t]);return(0,Q.jsx)(Ct,{icon:(0,Q.jsx)(on,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:o.needsAttention?(0,Q.jsx)(T,{tone:`negative`,children:a(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Q.jsx)(i,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ne,{}),"aria-label":a(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function cn(e){let{data:t,response:n}=await S.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 ln(e){let{data:t,response:n}=await S.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 un(e,t){let{response:n}=await S.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 dn(e,t){let{response:n}=await S.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 fn(e,t){let{response:n}=await S.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 pn(e,t){let{data:n,response:r}=await S.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function mn(e,t){let{data:n,response:r}=await S.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}function hn(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function gn(e,t){return t?null:e}function _n(e){let{t}=q(`settings`),n=J(),[r,i]=(0,Z.useState)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),l=(0,Z.useCallback)(()=>{o.current=null,c.current=null,s.current?.close(),s.current=null,i(null)},[]);(0,Z.useEffect)(()=>(l(),()=>{o.current=null,c.current=null,s.current?.close(),s.current=null}),[e,l]);let u=r?.phase===`authorizing`||r?.phase===`waiting`,d=K({queryKey:H.auth(e,r?.operationId??``),queryFn:()=>mn(e,r.serverId),enabled:u,refetchInterval:u?P:!1,staleTime:0,gcTime:0,retry:1}),f=K({queryKey:H.list(e),queryFn:()=>cn(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?P:!1,staleTime:0,retry:1});(0,Z.useEffect)(()=>{!r||!u||o.current!==r.operationId||!d.data||(d.data.status===`complete`?(s.current?.close(),s.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:H.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`||o.current!==r.operationId||!f.data||f.isFetching||hn(f.data.servers,r.serverId)&&(l(),n.invalidateQueries({queryKey:H.details(e)}))},[e,r,n,f.data,f.isFetching,l]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=u?gn(d.error,d.isFetching):r.phase===`connecting`?gn(f.error,f.isFetching):null;e&&(R(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,d.error,d.isFetching,u,f.error,f.isFetching,t]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{o.current===r.operationId&&(s.current?.close(),s.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+j-Date.now()));return()=>clearTimeout(e)},[r,t]);let p=(0,Z.useCallback)(t=>{o.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:H.auth(e,t)}),n.invalidateQueries({queryKey:H.list(e)}))},[e,n]);(0,Z.useEffect)(()=>{let e=s.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&p(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,p]),(0,Z.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return G(()=>p(e))},[r?.operationId,r?.phase,p]);let m=(0,Z.useCallback)((n,l,u=n)=>{if(o.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();o.current=d,s.current?.close(),s.current=null,c.current=l?{operationId:d,run:l}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=a()||se(),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,s.current=m);let h=()=>o.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await l?.();if(c.current?.operationId===d&&(c.current=null),!h())return;if(t===null){m?.close(),s.current=null,o.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await pn(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),s.current=null,i({...n,phase:`connecting`});return}let a=new URL(r.auth_url);if(a.protocol!==`https:`&&a.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(a.href):await _(a.href)}catch(e){m?.close(),h()&&(s.current=null,R(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:m,retry:()=>{r&&m(r.serverId,c.current?.run,r.displayName)},stopWaiting:l}}function vn(e){let{t}=q(`settings`),n=J(),r=_n(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),f=K({queryKey:H.list(e),queryFn:()=>cn(e)}),p=f.data?.servers.find(e=>e.id===o)??null,m=K({queryKey:H.details(e),queryFn:()=>ln(e),enabled:p!==null||u!==null}),h=()=>{n.invalidateQueries({queryKey:H.list(e)}),n.invalidateQueries({queryKey:H.details(e)})},g=ge({mutationFn:t=>dn(e,t),onSuccess:()=>{h(),a(!1)},onError:e=>{R(e,{context:`mcp.add`}),U.error(t(`mcpConnect.addFailed`))}});return{list:f,details:m,auth:r,add:g,save:ge({mutationFn:t=>un(e,t),onSuccess:()=>{h(),s(null)},onError:e=>{R(e,{context:`mcp.update`}),U.error(t(`mcpConnect.saveFailed`))}}),remove:ge({mutationFn:t=>fn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),h(),l(null),s(null),U.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{R(e,{context:`mcp.remove`}),U.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await g.mutateAsync(e)},e.name):g.mutate(e)},addOpen:i,setAddOpen:a,configureServer:p,configureServerId:o,setConfigureServerId:s,removeServerId:c,setRemoveServerId:l,toolsServerId:u,setToolsServerId:d}}var yn={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`},bn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,xn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function Sn({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 Cn(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 wn({mcpAssistantId:e}){let{t}=q(`settings`),[n,r]=_e(),a=ye(),o=ve(),s=f(),c=I(),l=b.use.mcpAddServer(),d=b.use.hasHydrated(),[p,m]=(0,Z.useState)(null),[g,y]=(0,Z.useState)(!0),[x,S]=(0,Z.useState)(``),[w,T]=(0,Z.useState)(null),E=n.get(`provider`),D=(0,Z.useRef)(null),k=vn(e),A=Be(e),j=Gt({assistantId:e,mcp:k});(0,Z.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await ie(e);t&&n.ok&&m(n.data)}catch(e){R(e,{context:`integrations.getAssistant`})}finally{t&&y(!1)}})(),()=>{t=!1}},[e]);let{login:M}=C(`${o.pathname}${o.search}${o.hash}`),N=(0,Z.useCallback)(()=>void M(),[M]),P=j.closeModal,L=j.cancel,z=j.attemptItemId,te=j.modal?.itemId??null,ne=k.setToolsServerId,re=(0,Z.useCallback)(()=>{if(te!==null&&z===te&&L(),P(),ne(null),!n.has(`provider`))return;let e=new URLSearchParams(n);e.delete(`provider`),r(e,{replace:!0})},[L,z,P,te,n,r,ne]),{platformAssistantId:H,isLoading:ae,error:oe}=pe(p?.id,s===`full`),se=K({...v({path:{assistant_id:p?.id??``}}),select:e=>e.providers,enabled:!!p}),ce=K({...F({path:{assistant_id:H??``}}),enabled:!!H&&s===`full`});(0,Z.useEffect)(()=>{let e=n.get(`oauth_status`);if(!e)return;let r=n.get(`oauth_provider`),i=r?r.charAt(0).toUpperCase()+r.slice(1):null;e===`connected`?U.success(i?t(`integrationsPage.accountConnectedToast`,{providerLabel:i}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&U.error(Cn(t,n.get(`oauth_code`)??`unknown`)??(i?t(`integrationsPage.connectFailedToast`,{providerLabel:i}):t(`integrationsPage.connectFailedToastGeneric`))),a(O.settings.integrations,{replace:!0})},[n,a,t]);let W=se.isError||ce.isError||!!oe||!g&&!p,le=!W&&!!se.data&&(s!==`full`||!!ce.data),G=(0,Z.useMemo)(()=>lt(le?se.data??[]:[],le?ce.data??[]:[],k.list.data?.servers??[],A.installedLoaded?nn(A.catalogMatches,A.installedPlugins):[],k.list.isSuccess),[le,se.data,ce.data,k.list.data,k.list.isSuccess,A.installedLoaded,A.catalogMatches,A.installedPlugins]),ue=(0,Z.useMemo)(()=>{let e=new Map;for(let t of G)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return We.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[G]),de=ue.some(e=>e.category===w)?w:null,fe=(0,Z.useMemo)(()=>ut(G,x,de),[G,x,de]),me=(0,Z.useMemo)(()=>{let e=new Map;for(let t of G){if(t.kind===`mcp`)continue;let n=vt(t,{platformGate:s,ownOAuthAvailable:!c,mcpServersLoaded:k.list.isSuccess});n&&e.set(t.id,n)}return e},[G,c,k.list.isSuccess,s]),he=e=>me.has(e.id)&&(!e.configured||e.id===z&&j.modal?.itemId!==e.id),ge=e=>!e.configured||he(e),J=fe.filter(e=>!ge(e)),be=fe.filter(ge).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),xe=g||se.isLoading||ce.isLoading||ae||k.list.isLoading||(A.isLoading||A.catalogLoading)&&G.length===0,Se=k.auth.isBusy||j.managed!==null,Ce=g||!p||s===`full`&&!H,we=j.ownsMcpAttempt&&z!==null&&(j.modal?.itemId===z||fe.some(e=>e.id===z&&he(e))),Y=j.modal?G.find(e=>e.id===j.modal?.itemId):void 0,X=Y?me.get(Y.id):void 0,Ee=Y?.kind===`oauth`?Y.provider:void 0,De=u(Ee?.provider_key??``,Ee?.tenant_host),ke=j.openModal;(0,Z.useEffect)(()=>{if(!E){D.current=null;return}if(E===D.current)return;let e=G.find(e=>e.kind===`oauth`&&e.provider.provider_key===E);e&&(D.current=E,ke(e.id))},[G,ke,E]);let Ae=k.toolsServerId,je=k.list.data?.servers.find(e=>e.id===Ae),Me=X&&Ae?bt(X).find(e=>e.serverId===Ae):void 0,Ne=Me?{[Me.id]:{loading:k.details.isFetching,error:k.details.isError,summary:k.details.data?.servers.find(e=>e.serverId===Ae),endpointUrl:je?.transport.url}}:void 0,Pe=Kt({assistantId:e,platformAssistantId:H,onStopAuth:e=>{let t=k.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===Qe(e.pluginName)||k.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&k.auth.stopWaiting()},onRemoveServer:k.setRemoveServerId,onPluginRemoved:()=>void k.list.refetch()}),Fe=()=>{l?k.setAddOpen(!0):h(a,{prompt:t(`mcpPage.setupPrompt`)})},Ie=t=>{let n=t.kind===`mcp`?void 0:me.get(t.id);return t.kind!==`mcp`&&n&&he(t)?(0,Q.jsx)(Pt,{plan:n,state:j.stateFor(t.id,n.name),showAlternatives:!c,disabled:j.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&Ce,onConnect:e=>j.start(t,n,e),onLogin:N,onCancel:j.cancel,onRetry:j.retry,onOpenSetupGuide:e=>void _(e)},t.id):t.kind===`oauth`?(0,Q.jsx)(Nt,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:Ce||!n||j.isBusyElsewhere(t.id),onConfigure:()=>j.openModal(t.id)},t.id):t.kind===`plugin`?(0,Q.jsx)(sn,{assistantId:e,method:t.method,disabled:!n||j.isBusyElsewhere(t.id),onOpen:()=>j.openModal(t.id)},t.id):(0,Q.jsx)(an,{server:t.server,onRemove:k.setRemoveServerId,onConfigure:k.setConfigureServerId,onAuthenticate:e=>k.auth.connect(e),onManagePlugin:e=>a(e?`${O.plugins}/${encodeURIComponent(e)}`:O.plugins),isAuthenticating:k.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)(B,{value:x,onChange:e=>S(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(Le,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Q.jsx)(i,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Q.jsx)(Te,{}),onClick:Fe,disabled:!d||Se,children:t(`integrationsPage.addCustom`)})]}),ue.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:ue.map(e=>(0,Q.jsx)(ee,{selected:de===e.category,count:e.count,onClick:()=>T(de===e.category?null:e.category),children:t(yn[e.category])},e.category))}):null]}),W?(0,Q.jsx)(V,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,k.list.isError?(0,Q.jsx)(V,{tone:`warning`,actions:(0,Q.jsx)(i,{variant:`ghost`,onClick:()=>void k.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,A.catalogError||A.isError?(0,Q.jsx)(V,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Q.jsx)(tn,{connections:k,allowAdd:l,attemptReportedElsewhere:we}),j.managed&&p?(0,Q.jsx)(Bt,{assistantId:p.id,providerKey:j.managed.providerKey,providerLabel:j.managed.providerLabel,tenantHost:j.managed.tenantHost,restartToken:j.managed.restartToken,onReport:j.onManagedReport},j.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)(Oe,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,J.length>0?(0,Q.jsx)(Sn,{title:t(`integrationsPage.sectionConfigured`),count:J.length,gridClassName:bn,children:J.map(Ie)}):null,be.length>0?(0,Q.jsx)(Sn,{title:t(`integrationsPage.sectionAvailable`),count:be.length,gridClassName:xn,children:be.map(Ie)}):null,!xe&&fe.length===0?(0,Q.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:x.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:x.trim()}):de?t(`integrationsPage.emptyCategory`,{category:t(yn[de])}):t(`integrationsPage.empty`)}):null,j.modal&&X&&Y&&Y.kind!==`mcp`?(0,Q.jsx)(Tt,{plan:X,focusMethodId:j.modal.methodId,attempt:j.attemptFor(Y.id),tenantHost:De,toolsByConnectionId:Ne,ownOAuthContent:p&&Y.kind===`oauth`?(0,Q.jsx)(Ut,{assistantId:p.id,providerKey:Y.provider.provider_key,displayName:Y.name,logoUrl:Y.provider.logo_url}):null,onConnect:(e,t)=>j.run(Y,X,e,t),onLogin:N,onCancelAttempt:j.cancel,onRetryAttempt:j.retry,onReconnect:e=>j.reconnect(Y,X,e),onOpenTools:e=>k.setToolsServerId(e.serverId??null),onDisconnect:e=>Pe(e,X.name),onOpenSetupGuide:e=>void _(e),onClose:re},Y.id):null]})}function Tn(){let e=re();return(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(wn,{mcpAssistantId:e},e)})}export{Tn as IntegrationsPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cl as t,EC as n,Rx as r,Zx as i,eS as a,gC as o,go as s,o as c}from"./app-D8sMVA0h.js";import{j as l}from"./vendor-DEhKVoiV.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-BJaDjomF.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=r.use.name(),{pathname:m}=u(),x=t(),S=s.use.setTopBarCenter(),C=s.use.setMobileTopBar(),w=_.use.headerTrailing(),T=i(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:a.identity})}),center:(0,y.jsx)(o,{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)(o,{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)(c,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(f,{to:a.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
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cl as t,EC as n,Rx as r,Zx as i,eS as a,gC as o,go as s,o as c}from"./app-Qc-rYPt9.js";import{j as l}from"./vendor-DEhKVoiV.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-BrxvOjyS.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=r.use.name(),{pathname:m}=u(),x=t(),S=s.use.setTopBarCenter(),C=s.use.setMobileTopBar(),w=_.use.headerTrailing(),T=i(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:a.identity})}),center:(0,y.jsx)(o,{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)(o,{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)(c,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(f,{to:a.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};
@@ -0,0 +1 @@
1
+ import{AS as e}from"./app-Qc-rYPt9.js";import{$ as t}from"./vendor-DEhKVoiV.js";var n=e(t(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{eS as t}from"./app-D8sMVA0h.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
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{eS as t}from"./app-Qc-rYPt9.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,4 +1,4 @@
1
- import{Y_ as e,rg as t}from"./app-D8sMVA0h.js";var n=2;function r({processing:e,sawProcessing:t,hasReply:r,stableReads:i}){return e===void 0?r&&i>=n:!e&&(r||t)}var i=e=>Math.max(0,Math.min(100,Math.round(e)));function a(t,n,r){let a=e=>i(t[e]??50),o=a(e.companionCoworker),s=a(e.executeCollaborate),c=a(e.playfulSerious),l=a(e.politeUnfiltered),u=n?.trim()||`The user`,d=r?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
1
+ import{Y_ as e,rg as t}from"./app-Qc-rYPt9.js";var n=2;function r({processing:e,sawProcessing:t,hasReply:r,stableReads:i}){return e===void 0?r&&i>=n:!e&&(r||t)}var i=e=>Math.max(0,Math.min(100,Math.round(e)));function a(t,n,r){let a=e=>i(t[e]??50),o=a(e.companionCoworker),s=a(e.executeCollaborate),c=a(e.playfulSerious),l=a(e.politeUnfiltered),u=n?.trim()||`The user`,d=r?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
2
2
  ${u} wants to customize your personality.
3
3
  This is what they want you to be:
4
4
  Companion (0-100): ${100-o}
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cl as t,Or as n,Sl as r,dr as i,eS as a,kr as o,lh as s,nt as c,sv as l,v as u}from"./app-D8sMVA0h.js";import{j as d}from"./vendor-DEhKVoiV.js";import{d as f,f as p,h as m,t as h,x as g}from"./react-B9IgSVeK.js";import{Yn as _}from"./icons-C0wyat6T.js";import{t as v}from"./deploy-dialogs-D1N0Mx60.js";import{t as y}from"./use-edge-swipe-back-C6D5cD0V.js";import{t as b}from"./app-types-oLaS-mTA.js";var x=e(g(),1),S=h();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{t:e}=d(`library`),{appId:h}=m(),g=c(),w=p(),{pathname:T}=f(),E=t(),D=n.use.isDeploying(),O=(0,x.useRef)(null),[k,A]=(0,x.useState)(null),[j,M]=(0,x.useState)(null),[N,P]=(0,x.useState)(!1),F=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(h)return F.current=h,A(null),M(null),l({path:{assistant_id:g,id:h},throwOnError:!0}).then(({data:e})=>{F.current===h&&(s(g,e.appId,e.html),A({assistantId:g,appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{F.current===h&&M(e instanceof Error?e.message:`Failed to open app`)}),()=>{F.current=null}},[g,h]);let I=(0,x.useCallback)(()=>{w(a.library.root)},[w]),L=(0,x.useCallback)(e=>{w(e)},[w]);y({containerRef:O,onBack:I,enabled:E,navKey:T,prefetchHref:a.library.root});let R=u(),z=(0,x.useCallback)(()=>{k&&R(k)},[k,R]),B=(0,x.useCallback)(async()=>{if(!(!k||N)){P(!0);try{await o(g,{id:k.appId,name:k.name},{exported:e(`libraryAppCard.exported`),failed:e(`libraryAppCard.shareFailed`)})}finally{P(!1)}}},[g,k,N,e]),V=(0,x.useCallback)(()=>{k&&n.getState().deployApp(g,k.appId,k.name,k.html)},[g,k]),H=(0,x.useCallback)(e=>{r(w,{prompt:e})},[w]);return h?j?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,S.jsx)(`button`,{type:`button`,onClick:I,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):k?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:O,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:E}),(0,S.jsx)(i,{appId:k.appId,appName:k.name,html:k.html,assistantId:g,onClose:I,onNavigateAppRoute:L,...b(k.origin)?{}:{onEdit:z,onShare:B,isSharing:N,onDeploy:V,isDeploying:D},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:g,onStartConversation:H})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(_,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cl as t,Or as n,Sl as r,dr as i,eS as a,kr as o,lh as s,nt as c,sv as l,v as u}from"./app-Qc-rYPt9.js";import{j as d}from"./vendor-DEhKVoiV.js";import{d as f,f as p,h as m,t as h,x as g}from"./react-B9IgSVeK.js";import{Yn as _}from"./icons-C0wyat6T.js";import{t as v}from"./deploy-dialogs-DP0ls5p1.js";import{t as y}from"./use-edge-swipe-back-DjHkqNOJ.js";import{t as b}from"./app-types-oLaS-mTA.js";var x=e(g(),1),S=h();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{t:e}=d(`library`),{appId:h}=m(),g=c(),w=p(),{pathname:T}=f(),E=t(),D=n.use.isDeploying(),O=(0,x.useRef)(null),[k,A]=(0,x.useState)(null),[j,M]=(0,x.useState)(null),[N,P]=(0,x.useState)(!1),F=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(h)return F.current=h,A(null),M(null),l({path:{assistant_id:g,id:h},throwOnError:!0}).then(({data:e})=>{F.current===h&&(s(g,e.appId,e.html),A({assistantId:g,appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{F.current===h&&M(e instanceof Error?e.message:`Failed to open app`)}),()=>{F.current=null}},[g,h]);let I=(0,x.useCallback)(()=>{w(a.library.root)},[w]),L=(0,x.useCallback)(e=>{w(e)},[w]);y({containerRef:O,onBack:I,enabled:E,navKey:T,prefetchHref:a.library.root});let R=u(),z=(0,x.useCallback)(()=>{k&&R(k)},[k,R]),B=(0,x.useCallback)(async()=>{if(!(!k||N)){P(!0);try{await o(g,{id:k.appId,name:k.name},{exported:e(`libraryAppCard.exported`),failed:e(`libraryAppCard.shareFailed`)})}finally{P(!1)}}},[g,k,N,e]),V=(0,x.useCallback)(()=>{k&&n.getState().deployApp(g,k.appId,k.name,k.html)},[g,k]),H=(0,x.useCallback)(e=>{r(w,{prompt:e})},[w]);return h?j?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,S.jsx)(`button`,{type:`button`,onClick:I,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):k?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:O,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:E}),(0,S.jsx)(i,{appId:k.appId,appName:k.name,html:k.html,assistantId:g,onClose:I,onNavigateAppRoute:L,...b(k.origin)?{}:{onEdit:z,onShare:B,isSharing:N,onDeploy:V,isDeploying:D},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:g,onStartConversation:H})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(_,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$f as t,Bi as n,Cl as r,EC as i,Fr as a,Ko as o,Mf as s,Or as c,Pr as l,Ro as u,Sl as d,ch as f,cv as p,eS as m,fr as h,jf as g,l as _,lS as v,nC as y,no as b,nt as x,pa as S,pr as C,qS as w,rc as T,sn as E,to as D,u as O,vC as k,zt as A}from"./app-D8sMVA0h.js";import{Qn as j,j as M,tr as N}from"./vendor-DEhKVoiV.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-D1N0Mx60.js";import{n as Y,r as re,t as ie}from"./use-app-delete-rBDVuftC.js";import{t as ae}from"./intelligence-layout-slots-store-BJaDjomF.js";import{t as oe}from"./app-types-oLaS-mTA.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:u(`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)(i,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function ue({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let{t:l}=M(`library`),d=oe(e.origin),p=d?void 0:a,m=d?void 0:o,g=(0,X.useCallback)(()=>f(t,e.id,e.updatedAt),[t,e.id,e.updatedAt]),_=Y(t,e,{exported:l(`libraryAppCard.exported`),failed:l(`libraryAppCard.shareFailed`)}),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(!1),w=(0,X.useCallback)(()=>x(!0),[]),{deployedUrl:T}=C(t,e.id,{enabled:b&&m!=null}),D=(0,X.useCallback)(()=>{T!=null&&h(T)},[T]);return(0,Z.jsx)(S,{trailingActions:[{id:`pin`,label:l(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:n?U:G,onSelect:()=>i(e)},...p?[{id:`delete`,label:l(`libraryAppCard.delete`),icon:z,variant:`destructive`,onSelect:()=>p(e)}]:[]],className:`rounded-xl`,children:(0,Z.jsxs)(`div`,{"data-reveal-row":``,className:u(`relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,onPointerEnter:w,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:u(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,Z.jsx)(E,{name:e.name,icon:e.icon,loadHtml:g})}),(0,Z.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,Z.jsx)(de,{appName:e.name,isPinned:n,open:v,onOpenChange:e=>{e&&w(),y(e)},onPin:()=>i(e),onDelete:p?()=>p(e):void 0,onShare:d?void 0:_,onDeploy:m,deployedUrl:T,onCopyDeployedLink:D})}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(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:n,onOpenChange:r,onPin:a,onDelete:o,onShare:s,onDeploy:c,deployedUrl:l,onCopyDeployedLink:u}){let{t:d}=M(`library`),f=l!=null&&l!==``&&u!=null,p=d(`libraryAppCard.actionsTitle`,{appName:e});return(0,Z.jsxs)(k.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(k.Trigger,{asChild:!0,children:(0,Z.jsx)(i,{variant:`primary`,size:`compact`,iconOnly:(0,Z.jsx)(R,{}),"aria-label":p,onClick:e=>e.stopPropagation()})}),(0,Z.jsxs)(k.Content,{title:p,children:[(0,Z.jsx)(k.Item,{icon:t?U:G,label:d(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),s?(0,Z.jsx)(k.Item,{icon:W,label:d(`libraryAppCard.share`),description:d(`libraryAppCard.shareSub`),onSelect:s}):null,c&&f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(k.Item,{icon:q,label:d(`libraryAppCard.deployed`),description:(0,Z.jsx)(`span`,{className:`break-all`,children:l}),trailing:d(`libraryAppCard.copyLink`),onSelect:()=>u?.()}),(0,Z.jsx)(k.Item,{icon:B,label:d(`libraryAppCard.redeploy`),description:d(`libraryAppCard.redeploySub`),onSelect:c})]}):c?(0,Z.jsx)(k.Item,{icon:H,label:d(`libraryAppCard.deploy`),description:d(`libraryAppCard.deploySub`),onSelect:c}):null,o?(0,Z.jsx)(k.Item,{icon:z,label:d(`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:r}=n(e),{data:i=[],isLoading:a,error:o}=j({...g({path:{assistant_id:e}}),select:e=>e.apps}),{data:s=[],isLoading:c,error:l}=j({...t({path:{assistant_id:e}}),select:e=>e.documents}),u=a||c,d=o&&l?o instanceof Error?o.message:`Failed to load library`:null,[f,p]=(0,X.useState)(``),m=(0,X.useMemo)(()=>{if(!f.trim())return i;let e=f.toLowerCase();return i.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[i,f]);return{apps:i,documents:s,filteredApps:m,pinnedApps:(0,X.useMemo)(()=>m.filter(e=>r.has(e.id)).sort($),[m,r]),recentApps:(0,X.useMemo)(()=>m.filter(e=>!r.has(e.id)).sort($),[m,r]),filteredDocuments:(0,X.useMemo)(()=>{if(!f.trim())return s;let e=f.toLowerCase();return s.filter(t=>t.title.toLowerCase().includes(e))},[s,f]),searchText:f,setSearchText:p,loading:u,error:d}}async function pe(e,t){let{data:n,error:r,response:i}=await p({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:a,onOpenDocument:l,onNewDocument:u,isCreatingDocument:d=!1,onOpenApp:p}){let{t:m}=M(`library`),h=r(),g=N(),{togglePin:_,pinnedAppIds:v}=n(e),b=c.use.isDeploying(),{apps:x,documents:S,filteredApps:C,pinnedApps:T,recentApps:E,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)(()=>o()?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 g.invalidateQueries({queryKey:s({path:{assistant_id:e}})}),w.success(m(`libraryView.imported`,{name:t.name})),p(t.appId)}catch(e){w.error(e instanceof Error?e.message:m(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,g,p,m]),W=(0,X.useCallback)(async t=>{if(b)return;let n=x.find(e=>e.id===t)?.name??`this app`;try{let r=await f(e,t);c.getState().deployApp(e,t,n,r)}catch{c.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=d?e:(0,Z.jsx)(ee,{"aria-hidden":!0});return K(h?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(i,{shape:`pill`,variant:`ghost`,iconOnly:t,"aria-label":m(`libraryView.import`),tooltip:m(`libraryView.import`),className:`max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:V}),u?(0,Z.jsx)(i,{shape:`pill`,variant:`ghost`,iconOnly:n,"aria-label":m(`libraryView.newDocument`),tooltip:m(`libraryView.newDocument`),className:`max-md:bg-[var(--surface-active)]`,onClick:u,disabled:d}):null]}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(i,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[t,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:m(`libraryView.import`)})]}),u?(0,Z.jsxs)(i,{size:`regular`,onClick:u,disabled:d,children:[n,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:m(`libraryView.newDocument`)})]}):null]})),()=>{K(null)}},[h,q,V,u,d,K,m]),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":m(`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:m(`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:a?()=>a():void 0})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,Z.jsx)(y,{fullWidth:!0,type:`text`,placeholder:m(`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:m(`libraryView.noMatches`,{query:O})})]}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,Z.jsx)(Q,{title:m(`libraryView.pinned`),apps:T,assistantId:e,pinnedAppIds:v,onOpen:p,onPin:G,onDelete:I,onDeploy:W}),(0,Z.jsx)(Q,{title:m(`libraryView.recents`),apps:E,assistantId:e,pinnedAppIds:v,onOpen:p,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:m(`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=>{l&&l(e)}},e.surfaceId))})]}):null]})}),(0,Z.jsx)(ne,{assistantId:e,assistantName:t,onStartConversation:a}),(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}=a(),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(!1);return{newDocument:(0,X.useCallback)(async()=>{if(!c.current){c.current=!0,s(!0);try{let a=await _({assistantId:e,fallback:n(`libraryView.newDocumentFailed`)});if(!a.ok){w.error(a.error);return}let o;try{({surfaceId:o}=await i({assistantId:e,conversationId:a.conversationId}))}catch(t){v(t,{context:`new_library_document`}),O(e,a.conversationId),w.error(n(`libraryView.newDocumentFailed`));return}T(r,e),t(o)}finally{c.current=!1,s(!1)}}},[e,i,t,r,n]),isCreating:o}}function ge(){let e=x(),t=F(),n=P(),r=(0,X.useCallback)(e=>{d(t,{prompt:e})},[t]),i=(0,X.useCallback)(e=>{t(b(e,n.pathname),{state:D(n,e)})},[t,n]),{newDocument:a,isCreating:o}=he(e,i),s=l(e),c=(0,X.useCallback)(()=>{a()},[a]),u=(0,X.useCallback)(e=>{t(m.library.app(e))},[t]);return(0,Z.jsx)(me,{assistantId:e,onNewConversation:r,onOpenDocument:i,onNewDocument:s?c:void 0,isCreatingDocument:o,onOpenApp:u})}export{ge as LibraryPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$f as t,Bi as n,Cl as r,EC as i,Fr as a,Ko as o,Mf as s,Or as c,Pr as l,Ro as u,Sl as d,ch as f,cv as p,eS as m,fr as h,ha as g,jf as _,l as v,lS as y,nC as b,no as x,nt as S,pr as C,qS as w,rc as T,sn as E,to as D,u as O,vC as k,zt as A}from"./app-Qc-rYPt9.js";import{Qn as j,j as M,tr as N}from"./vendor-DEhKVoiV.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-DP0ls5p1.js";import{n as Y,r as re,t as ie}from"./use-app-delete-vuGBgQkn.js";import{t as ae}from"./intelligence-layout-slots-store-BrxvOjyS.js";import{t as oe}from"./app-types-oLaS-mTA.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:u(`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)(i,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function ue({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let{t:l}=M(`library`),d=oe(e.origin),p=d?void 0:a,m=d?void 0:o,_=(0,X.useCallback)(()=>f(t,e.id,e.updatedAt),[t,e.id,e.updatedAt]),v=Y(t,e,{exported:l(`libraryAppCard.exported`),failed:l(`libraryAppCard.shareFailed`)}),[y,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1),w=(0,X.useCallback)(()=>S(!0),[]),{deployedUrl:T}=C(t,e.id,{enabled:x&&m!=null}),D=(0,X.useCallback)(()=>{T!=null&&h(T)},[T]);return(0,Z.jsx)(g,{trailingActions:[{id:`pin`,label:l(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:n?U:G,onSelect:()=>i(e)},...p?[{id:`delete`,label:l(`libraryAppCard.delete`),icon:z,variant:`destructive`,onSelect:()=>p(e)}]:[]],className:`rounded-xl`,children:(0,Z.jsxs)(`div`,{"data-reveal-row":``,className:u(`relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,onPointerEnter:w,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:u(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,Z.jsx)(E,{name:e.name,icon:e.icon,loadHtml:_})}),(0,Z.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,Z.jsx)(de,{appName:e.name,isPinned:n,open:y,onOpenChange:e=>{e&&w(),b(e)},onPin:()=>i(e),onDelete:p?()=>p(e):void 0,onShare:d?void 0:v,onDeploy:m,deployedUrl:T,onCopyDeployedLink:D})}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(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:n,onOpenChange:r,onPin:a,onDelete:o,onShare:s,onDeploy:c,deployedUrl:l,onCopyDeployedLink:u}){let{t:d}=M(`library`),f=l!=null&&l!==``&&u!=null,p=d(`libraryAppCard.actionsTitle`,{appName:e});return(0,Z.jsxs)(k.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(k.Trigger,{asChild:!0,children:(0,Z.jsx)(i,{variant:`primary`,size:`compact`,iconOnly:(0,Z.jsx)(R,{}),"aria-label":p,onClick:e=>e.stopPropagation()})}),(0,Z.jsxs)(k.Content,{title:p,children:[(0,Z.jsx)(k.Item,{icon:t?U:G,label:d(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),s?(0,Z.jsx)(k.Item,{icon:W,label:d(`libraryAppCard.share`),description:d(`libraryAppCard.shareSub`),onSelect:s}):null,c&&f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(k.Item,{icon:q,label:d(`libraryAppCard.deployed`),description:(0,Z.jsx)(`span`,{className:`break-all`,children:l}),trailing:d(`libraryAppCard.copyLink`),onSelect:()=>u?.()}),(0,Z.jsx)(k.Item,{icon:B,label:d(`libraryAppCard.redeploy`),description:d(`libraryAppCard.redeploySub`),onSelect:c})]}):c?(0,Z.jsx)(k.Item,{icon:H,label:d(`libraryAppCard.deploy`),description:d(`libraryAppCard.deploySub`),onSelect:c}):null,o?(0,Z.jsx)(k.Item,{icon:z,label:d(`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:r}=n(e),{data:i=[],isLoading:a,error:o}=j({..._({path:{assistant_id:e}}),select:e=>e.apps}),{data:s=[],isLoading:c,error:l}=j({...t({path:{assistant_id:e}}),select:e=>e.documents}),u=a||c,d=o&&l?o instanceof Error?o.message:`Failed to load library`:null,[f,p]=(0,X.useState)(``),m=(0,X.useMemo)(()=>{if(!f.trim())return i;let e=f.toLowerCase();return i.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[i,f]);return{apps:i,documents:s,filteredApps:m,pinnedApps:(0,X.useMemo)(()=>m.filter(e=>r.has(e.id)).sort($),[m,r]),recentApps:(0,X.useMemo)(()=>m.filter(e=>!r.has(e.id)).sort($),[m,r]),filteredDocuments:(0,X.useMemo)(()=>{if(!f.trim())return s;let e=f.toLowerCase();return s.filter(t=>t.title.toLowerCase().includes(e))},[s,f]),searchText:f,setSearchText:p,loading:u,error:d}}async function pe(e,t){let{data:n,error:r,response:i}=await p({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:a,onOpenDocument:l,onNewDocument:u,isCreatingDocument:d=!1,onOpenApp:p}){let{t:m}=M(`library`),h=r(),g=N(),{togglePin:_,pinnedAppIds:v}=n(e),y=c.use.isDeploying(),{apps:x,documents:S,filteredApps:C,pinnedApps:T,recentApps:E,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)(()=>o()?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 g.invalidateQueries({queryKey:s({path:{assistant_id:e}})}),w.success(m(`libraryView.imported`,{name:t.name})),p(t.appId)}catch(e){w.error(e instanceof Error?e.message:m(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,g,p,m]),W=(0,X.useCallback)(async t=>{if(y)return;let n=x.find(e=>e.id===t)?.name??`this app`;try{let r=await f(e,t);c.getState().deployApp(e,t,n,r)}catch{c.getState().deployApp(e,t,n,``)}},[e,y,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=d?e:(0,Z.jsx)(ee,{"aria-hidden":!0});return K(h?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(i,{shape:`pill`,variant:`ghost`,iconOnly:t,"aria-label":m(`libraryView.import`),tooltip:m(`libraryView.import`),className:`max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:V}),u?(0,Z.jsx)(i,{shape:`pill`,variant:`ghost`,iconOnly:n,"aria-label":m(`libraryView.newDocument`),tooltip:m(`libraryView.newDocument`),className:`max-md:bg-[var(--surface-active)]`,onClick:u,disabled:d}):null]}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(i,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[t,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:m(`libraryView.import`)})]}),u?(0,Z.jsxs)(i,{size:`regular`,onClick:u,disabled:d,children:[n,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:m(`libraryView.newDocument`)})]}):null]})),()=>{K(null)}},[h,q,V,u,d,K,m]),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":m(`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:m(`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:a?()=>a():void 0})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,Z.jsx)(b,{fullWidth:!0,type:`text`,placeholder:m(`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:m(`libraryView.noMatches`,{query:O})})]}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,Z.jsx)(Q,{title:m(`libraryView.pinned`),apps:T,assistantId:e,pinnedAppIds:v,onOpen:p,onPin:G,onDelete:I,onDeploy:W}),(0,Z.jsx)(Q,{title:m(`libraryView.recents`),apps:E,assistantId:e,pinnedAppIds:v,onOpen:p,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:m(`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=>{l&&l(e)}},e.surfaceId))})]}):null]})}),(0,Z.jsx)(ne,{assistantId:e,assistantName:t,onStartConversation:a}),(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}=a(),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(!1);return{newDocument:(0,X.useCallback)(async()=>{if(!c.current){c.current=!0,s(!0);try{let a=await v({assistantId:e,fallback:n(`libraryView.newDocumentFailed`)});if(!a.ok){w.error(a.error);return}let o;try{({surfaceId:o}=await i({assistantId:e,conversationId:a.conversationId}))}catch(t){y(t,{context:`new_library_document`}),O(e,a.conversationId),w.error(n(`libraryView.newDocumentFailed`));return}T(r,e),t(o)}finally{c.current=!1,s(!1)}}},[e,i,t,r,n]),isCreating:o}}function ge(){let e=S(),t=F(),n=P(),r=(0,X.useCallback)(e=>{d(t,{prompt:e})},[t]),i=(0,X.useCallback)(e=>{t(x(e,n.pathname),{state:D(n,e)})},[t,n]),{newDocument:a,isCreating:o}=he(e,i),s=l(e),c=(0,X.useCallback)(()=>{a()},[a]),u=(0,X.useCallback)(e=>{t(m.library.app(e))},[t]);return(0,Z.jsx)(me,{assistantId:e,onNewConversation:r,onOpenDocument:i,onNewDocument:s?c:void 0,isCreatingDocument:o,onOpenApp:u})}export{ge as LibraryPage};
@@ -0,0 +1 @@
1
+ import{dx as e}from"./app-Qc-rYPt9.js";export{e as markLockfileAssistantOnboarded};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cc as t,EC as n,Oy as r,Sc as i,ab as a,eS as o,ky as s,lS as c,wc as l,xc as u}from"./app-D8sMVA0h.js";import{j as d}from"./vendor-DEhKVoiV.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-Bwm2MF1q.js";import{n as v,t as y}from"./use-return-to-short-circuit-B3O40EpG.js";var b=e(m(),1),x=p();function S({returnTo:e}){let{t:a}=d(`account`),[o,s]=(0,b.useState)(null),[f,p]=(0,b.useState)(!1),m=async()=>{s(null),p(!0);try{await r({returnTo:e??null})}catch(e){if(i(e)){p(!1);return}c(e,{context:`native_login`,tags:{authError:t(e)??`unclassified`}}),s(a(l(e),{community:u})),p(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:o,children:(0,x.jsx)(n,{type:`button`,variant:`primary`,size:`large`,fullWidth:!0,onClick:()=>{m()},disabled:f,children:a(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t}=d(`account`),{search:n}=f(),r=a(e?`${o.account.signup}?returnTo=${encodeURIComponent(e)}`:o.account.signup,n);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:r}})}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
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cc as t,EC as n,Oy as r,Sc as i,ab as a,eS as o,ky as s,lS as c,wc as l,xc as u}from"./app-Qc-rYPt9.js";import{j as d}from"./vendor-DEhKVoiV.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-uOY9YbXG.js";import{n as v,t as y}from"./use-return-to-short-circuit-CpUBlNYt.js";var b=e(m(),1),x=p();function S({returnTo:e}){let{t:a}=d(`account`),[o,s]=(0,b.useState)(null),[f,p]=(0,b.useState)(!1),m=async()=>{s(null),p(!0);try{await r({returnTo:e??null})}catch(e){if(i(e)){p(!1);return}c(e,{context:`native_login`,tags:{authError:t(e)??`unclassified`}}),s(a(l(e),{community:u})),p(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:o,children:(0,x.jsx)(n,{type:`button`,variant:`primary`,size:`large`,fullWidth:!0,onClick:()=>{m()},disabled:f,children:a(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t}=d(`account`),{search:n}=f(),r=a(e?`${o.account.signup}?returnTo=${encodeURIComponent(e)}`:o.account.signup,n);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:r}})}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 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Fc as t,Im as n,eS as r,rb as i}from"./app-D8sMVA0h.js";import{j as a}from"./vendor-DEhKVoiV.js";import{_ as o,t as s,x as c}from"./react-B9IgSVeK.js";import{r as l,t as u}from"./account-shell-BW5fY_u7.js";var d=e(c(),1),f=s();function p(){let{t:e}=a(`account`),[s]=o(),c=n.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=i(s.get(`returnTo`),r.account.login),n=e.startsWith(`http`)||e===r.account.login?e:`${r.account.login}?returnTo=${encodeURIComponent(e)}`,a=!1;return c().then(()=>{a||t(n)},()=>{a||t(n)}),()=>{a=!0}},[c,s]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Fc as t,Im as n,eS as r,rb as i}from"./app-Qc-rYPt9.js";import{j as a}from"./vendor-DEhKVoiV.js";import{_ as o,t as s,x as c}from"./react-B9IgSVeK.js";import{r as l,t as u}from"./account-shell-BCvjHT7j.js";var d=e(c(),1),f=s();function p(){let{t:e}=a(`account`),[s]=o(),c=n.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=i(s.get(`returnTo`),r.account.login),n=e.startsWith(`http`)||e===r.account.login?e:`${r.account.login}?returnTo=${encodeURIComponent(e)}`,a=!1;return c().then(()=>{a||t(n)},()=>{a||t(n)}),()=>{a=!0}},[c,s]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Nm as t,eS as n}from"./app-D8sMVA0h.js";import{d as r,i,t as a,x as o}from"./react-B9IgSVeK.js";import{Vn as s,Ya as c}from"./icons-C0wyat6T.js";import{n as l,t as u}from"./sidebar-tree-C31ptvb9.js";var d=c(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(o(),1),p=[{id:`emails`,label:`Emails`,href:n.logs.emails,icon:s},{id:`system-events`,label:`System Events`,href:n.logs.systemEvents,icon:d}],m=a();function h(){let e=t({platformHostedOnly:!0}),a=t(),{pathname:o}=r(),s=(0,f.useMemo)(()=>p.filter(t=>!(t.id===`system-events`&&e===`gated`||t.id===`emails`&&a===`gated`)),[e,a]),c=(0,f.useMemo)(()=>{let e=p.find(e=>o===e.href||o.startsWith(e.href+`/`));return e?e.label:o===n.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[o]);return(0,m.jsx)(l,{backHref:n.assistant,sidebar:(0,m.jsx)(u,{items:s,indexPath:n.logs.root}),title:c,menuRoute:n.logs.root,children:(0,m.jsx)(i,{})})}export{h as LogsLayout};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Nm as t,eS as n}from"./app-Qc-rYPt9.js";import{d as r,i,t as a,x as o}from"./react-B9IgSVeK.js";import{Vn as s,Ya as c}from"./icons-C0wyat6T.js";import{n as l,t as u}from"./sidebar-tree-CqElNW5F.js";var d=c(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(o(),1),p=[{id:`emails`,label:`Emails`,href:n.logs.emails,icon:s},{id:`system-events`,label:`System Events`,href:n.logs.systemEvents,icon:d}],m=a();function h(){let e=t({platformHostedOnly:!0}),a=t(),{pathname:o}=r(),s=(0,f.useMemo)(()=>p.filter(t=>!(t.id===`system-events`&&e===`gated`||t.id===`emails`&&a===`gated`)),[e,a]),c=(0,f.useMemo)(()=>{let e=p.find(e=>o===e.href||o.startsWith(e.href+`/`));return e?e.label:o===n.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[o]);return(0,m.jsx)(l,{backHref:n.assistant,sidebar:(0,m.jsx)(u,{items:s,indexPath:n.logs.root}),title:c,menuRoute:n.logs.root,children:(0,m.jsx)(i,{})})}export{h as LogsLayout};
@@ -1 +1 @@
1
- import{In as e,Nn as t,or as n}from"./app-D8sMVA0h.js";import{j as r}from"./vendor-DEhKVoiV.js";import{t as i}from"./react-B9IgSVeK.js";import{t as a}from"./preview-error-DoWnZxU0.js";import{t as o}from"./use-truncated-blob-text-hsQUTRQS.js";var s=i(),c=512*1024;function l({blob:i,filename:l}){let{t:u}=r(`chat`),{text:d,truncated:f,decodeFailed:p}=o(i,c);return p?(0,s.jsx)(a,{filename:l}):d===null?(0,s.jsx)(n,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(t,{content:d}),f&&(0,s.jsx)(e,{children:u(`previewTruncationNotice.markdown`)})]})}export{l as MarkdownPreview};
1
+ import{In as e,Nn as t,or as n}from"./app-Qc-rYPt9.js";import{j as r}from"./vendor-DEhKVoiV.js";import{t as i}from"./react-B9IgSVeK.js";import{t as a}from"./preview-error-DB2rjYvO.js";import{t as o}from"./use-truncated-blob-text-hsQUTRQS.js";var s=i(),c=512*1024;function l({blob:i,filename:l}){let{t:u}=r(`chat`),{text:d,truncated:f,decodeFailed:p}=o(i,c);return p?(0,s.jsx)(a,{filename:l}):d===null?(0,s.jsx)(n,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(t,{content:d}),f&&(0,s.jsx)(e,{children:u(`previewTruncationNotice.markdown`)})]})}export{l as MarkdownPreview};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zm as t,ar as n,or as r}from"./app-D8sMVA0h.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=`nodownload noplaybackrate`;function l({blob:e,filename:i,kind:a}){let l=n(e,(0,o.useMemo)(()=>t({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:i}).mime,[e,i]));return l===null?(0,s.jsx)(r,{}):a===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:i,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):a===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":i,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":i,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zm as t,ar as n,or as r}from"./app-Qc-rYPt9.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=`nodownload noplaybackrate`;function l({blob:e,filename:i,kind:a}){let l=n(e,(0,o.useMemo)(()=>t({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:i}).mime,[e,i]));return l===null?(0,s.jsx)(r,{}):a===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:i,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):a===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":i,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":i,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};