@vellumai/web 0.12.7 → 0.12.9

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 (328) hide show
  1. package/dist/assets/{a2a-invite-CYkZ2bwB.js → a2a-invite-C4885wc_.js} +1 -1
  2. package/dist/assets/{about-page-CDf8_c83.js → about-page-OhJ1Y0_b.js} +1 -1
  3. package/dist/assets/{account-page-DYgu7ene.js → account-page-Bd7a2i5_.js} +1 -1
  4. package/dist/assets/{account-shell-Cxi1v479.js → account-shell-RM4hokh5.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel--S5Mrgwf.js → acp-run-detail-panel-CCLk2KCU.js} +1 -1
  6. package/dist/assets/{activation-list-route-fUUXXrqq.js → activation-list-route-DzBmo7MF.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-Dday27zi.js → activity-redirect-page-aalRz3ru.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-BnCTZLXH.js → activity-steps-panel-MY7LyILM.js} +1 -1
  9. package/dist/assets/add-credits-modal-C65Z6nbb.js +1 -0
  10. package/dist/assets/{add-credits-modal-BPRQXrJL.js → add-credits-modal-DYXqJVrA.js} +1 -1
  11. package/dist/assets/{ai-page-BmPw_Cbb.js → ai-page-Bv8MHKwy.js} +1 -1
  12. package/dist/assets/{all-chats-page-route-XyYPy--V.js → all-chats-page-route-BC4cJbn9.js} +1 -1
  13. package/dist/assets/{android-billing-handoff-CvgyuFs9.js → android-billing-handoff-DkztgMMX.js} +1 -1
  14. package/dist/assets/{animated-stat-square-gKVZj83m.js → animated-stat-square-DfspueEE.js} +1 -1
  15. package/dist/assets/{api-key-screen-B3eNGHTQ.js → api-key-screen-DMYrX3xq.js} +1 -1
  16. package/dist/assets/{app-KRIEMzuO.js → app-BEoekemj.js} +21 -19
  17. package/dist/assets/{app-info-BS5SWiPy.js → app-info-JELjTeSr.js} +1 -1
  18. package/dist/assets/{archive-redirect-page-B_JVRF8z.js → archive-redirect-page-CDu9_cSE.js} +1 -1
  19. package/dist/assets/{assistant-handle-modal-cqAXFvU4.js → assistant-handle-modal-B9aYt_fz.js} +1 -1
  20. package/dist/assets/{assistant-inbox-page-route-BmMCSNYC.js → assistant-inbox-page-route-BlKCkLjN.js} +1 -1
  21. package/dist/assets/{assistant-status-panel-5KKU97Nr.js → assistant-status-panel-Ib811iyR.js} +1 -1
  22. package/dist/assets/auth-store-BNRELUI-.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-CK9ayr5r.js → auth-welcome-screen-CnpHRdVh.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-CA2b3Qbn.js +1 -0
  25. package/dist/assets/{avatar-random-B0PlMwfP.js → avatar-random-Bqs0WRXW.js} +2 -2
  26. package/dist/assets/{await-org-header-settled-DCrUbt__.js → await-org-header-settled-Bka_Fh2i.js} +1 -1
  27. package/dist/assets/{background-task-detail-panel-ByZEhdsg.js → background-task-detail-panel-pwmuvBdb.js} +1 -1
  28. package/dist/assets/{billing-page-CYKuyCF5.js → billing-page-CQDe4wC9.js} +3 -3
  29. package/dist/assets/{billing-redirect-page-t6TNZq6q.js → billing-redirect-page-CgxuQ6OG.js} +1 -1
  30. package/dist/assets/{bookmarks-page-DkomjdJQ.js → bookmarks-page-BVSEx2HM.js} +1 -1
  31. package/dist/assets/{bundle-confirm-page-BRqor1bF.js → bundle-confirm-page-DxLUosoE.js} +1 -1
  32. package/dist/assets/{channel-transcript-panel-BZPmdLEj.js → channel-transcript-panel-AnyjZw-p.js} +1 -1
  33. package/dist/assets/{channels-page-route-CtttpYll.js → channels-page-route-CoXHj9DC.js} +1 -1
  34. package/dist/assets/{chat-info-panel-DQumRkcF.js → chat-info-panel-oNSMH-Rg.js} +1 -1
  35. package/dist/assets/{checkout-continuation-DDjhky4Y.js → checkout-continuation-ZsRm--tW.js} +1 -1
  36. package/dist/assets/{checkout-page-CDYYh4ze.js → checkout-page-Cbc1Yxhk.js} +1 -1
  37. package/dist/assets/checkout-return-target-DMexYntq.js +1 -0
  38. package/dist/assets/{command-palette-BUFKVA4Z.js → command-palette-D98tgb3c.js} +1 -1
  39. package/dist/assets/{command-palette-window-page-C0dY_FbH.js → command-palette-window-page-BwYCB4uz.js} +1 -1
  40. package/dist/assets/command-palette-xFt9p-Zp.js +1 -0
  41. package/dist/assets/{community-page-DDVVXFKB.js → community-page-C_t6hJx9.js} +1 -1
  42. package/dist/assets/{companion-accent-obJ7TDkU.js → companion-accent-DHN8mSGN.js} +1 -1
  43. package/dist/assets/{companion-dock-zones-page-CUZsYl_W.js → companion-dock-zones-page-yp3BLs-9.js} +1 -1
  44. package/dist/assets/{companion-layout-Cl8T5Bfs.js → companion-layout-DUIauyGx.js} +1 -1
  45. package/dist/assets/{companion-popover-Duq3If7x.js → companion-popover-CEltebX7.js} +1 -1
  46. package/dist/assets/{companion-popover-page-8OaaN-qP.js → companion-popover-page-NrLfgW85.js} +1 -1
  47. package/dist/assets/{companion-surface-DzxGavvE.js → companion-surface-CEpWVTaQ.js} +1 -1
  48. package/dist/assets/{companion-surface-page-BI1DVG0L.js → companion-surface-page-Dfs9lnVq.js} +1 -1
  49. package/dist/assets/{companion-tour-entry-D35urSvp.js → companion-tour-entry-CEdPrBsl.js} +1 -1
  50. package/dist/assets/{companion-watch-frame-page-chC7gmAI.js → companion-watch-frame-page-XbdyXdlU.js} +1 -1
  51. package/dist/assets/{connect-page-Cx7ACmXt.js → connect-page-DvwqAL21.js} +1 -1
  52. package/dist/assets/{consent-controls-B8KluMR-.js → consent-controls-CSns_4iB.js} +1 -1
  53. package/dist/assets/{contacts-gateway-DJQtU5it.js → contacts-gateway-DL44TLR9.js} +1 -1
  54. package/dist/assets/{contacts-page-route-g0cBfSRU.js → contacts-page-route-BIASFsPk.js} +1 -1
  55. package/dist/assets/{copy-button-Bwu12tAq.js → copy-button-benjZQNN.js} +1 -1
  56. package/dist/assets/{credential-entry-page-CrMmjA4m.js → credential-entry-page-fH4FNFwY.js} +1 -1
  57. package/dist/assets/{credentials-page-DXegpKuT.js → credentials-page-BgsUXMw4.js} +1 -1
  58. package/dist/assets/{csv-preview-BUNDraKQ.js → csv-preview-CBVZAL8V.js} +1 -1
  59. package/dist/assets/{danger-zone-redirect-page-Dju7UyCP.js → danger-zone-redirect-page-rAqyukS8.js} +1 -1
  60. package/dist/assets/debug-page-s3VnB3Jn.js +4 -0
  61. package/dist/assets/{deploy-dialogs-CKv9kQor.js → deploy-dialogs-BwKeOiNO.js} +1 -1
  62. package/dist/assets/deploy-dialogs-CKFVL9lA.js +1 -0
  63. package/dist/assets/{desktop-preview-content-BwMNHlWb.js → desktop-preview-content-DyhOQZfU.js} +2 -2
  64. package/dist/assets/{desktop-status-CCzewHXe.js → desktop-status-rhE91WHU.js} +1 -1
  65. package/dist/assets/{desktop-viewer-DBH1IT5s.js → desktop-viewer-DnRXsZHE.js} +1 -1
  66. package/dist/assets/{detail-card-C53pHjsM.js → detail-card-DdL-TwEw.js} +1 -1
  67. package/dist/assets/{detail-panel-stop-button-t_VDZYtt.js → detail-panel-stop-button-9gdxgBZq.js} +1 -1
  68. package/dist/assets/{detail-primitives-BHVQRcGw.js → detail-primitives-DbHxZutJ.js} +1 -1
  69. package/dist/assets/{developer-page-CKcDBScK.js → developer-page-CLDXmpgw.js} +1 -1
  70. package/dist/assets/{devices-redirect-page-BEyGhbmn.js → devices-redirect-page-DTriAmul.js} +1 -1
  71. package/dist/assets/{dictation-overlay-page-DpanSK5-.js → dictation-overlay-page-8oynsdBm.js} +1 -1
  72. package/dist/assets/document-load-Dd9T9sVB.js +1 -0
  73. package/dist/assets/{document-load-B5HpKq-W.js → document-load-DdRg4kwv.js} +1 -1
  74. package/dist/assets/{document-viewer-page-4Z_VnjKZ.js → document-viewer-page-DwqleCG5.js} +1 -1
  75. package/dist/assets/{emails-page-DyrcXFet.js → emails-page-d48Qo5TY.js} +1 -1
  76. package/dist/assets/esm-BMVS8Ywz.js +2 -0
  77. package/dist/assets/esm-Bm61i-L4.js +1 -0
  78. package/dist/assets/esm-CUO0AHtA.js +2 -0
  79. package/dist/assets/esm-Ci2CqtrR.js +2 -0
  80. package/dist/assets/esm-DM-kxKqE.js +1 -0
  81. package/dist/assets/esm-PJP6gQUq.js +2 -0
  82. package/dist/assets/{esm-DFoZ6rpj.js → esm-YJgArrZn.js} +1 -1
  83. package/dist/assets/esm-ZDwTeYcs.js +2 -0
  84. package/dist/assets/{esm-COgrn4oo.js → esm-oFf4cNn1.js} +2 -2
  85. package/dist/assets/{esm-DPwp_tyY.js → esm-xHo3DTmi.js} +1 -1
  86. package/dist/assets/{file-diff-view-DqA1_0h3.js → file-diff-view-A52sCKKz.js} +1 -1
  87. package/dist/assets/{file-view-mode-DPofWJnz.js → file-view-mode-DqXCmgGD.js} +1 -1
  88. package/dist/assets/general-page-Y55ICpxV.js +2 -0
  89. package/dist/assets/{hatching-screen-C5fid3Mi.js → hatching-screen-BCrEhJki.js} +1 -1
  90. package/dist/assets/{hosting-screen-BTxmBl_3.js → hosting-screen-DrbGcUwu.js} +1 -1
  91. package/dist/assets/{identity-page-route-DSyT39Yq.js → identity-page-route-PW0b8HfB.js} +1 -1
  92. package/dist/assets/{inspect-page-WDA56TDM.js → inspect-page-DsB1BUwJ.js} +3 -3
  93. package/dist/assets/{integrations-page-7jff5YRS.js → integrations-page-phceinc7.js} +1 -1
  94. package/dist/assets/{intelligence-layout-DOOxr8TM.js → intelligence-layout-ClXPJOlz.js} +1 -1
  95. package/dist/assets/intelligence-layout-slots-store-jzhqxk-F.js +1 -0
  96. package/dist/assets/{keyboard-shortcuts-redirect-page-0f4iR9cK.js → keyboard-shortcuts-redirect-page-CZG9PbfD.js} +1 -1
  97. package/dist/assets/{latest-assistant-text-C5TlzsjF.js → latest-assistant-text-CfRyVmjf.js} +1 -1
  98. package/dist/assets/{library-detail-page-CXu1dzI8.js → library-detail-page-DB03TRkW.js} +1 -1
  99. package/dist/assets/{library-page-BdtUHlv5.js → library-page-SCpSNw8r.js} +1 -1
  100. package/dist/assets/local-mode-C-TKP5UT.js +1 -0
  101. package/dist/assets/{login-page-BYz-IJwG.js → login-page-DlzYKg__.js} +1 -1
  102. package/dist/assets/{logout-page-CA2Gb3fM.js → logout-page-DNJegpBL.js} +1 -1
  103. package/dist/assets/{logs-layout-BgviygkY.js → logs-layout-BYnI6Won.js} +1 -1
  104. package/dist/assets/managed-export-B8hZl8fK.js +1 -0
  105. package/dist/assets/{markdown-preview-CBXcCZg7.js → markdown-preview-BOAf9rHZ.js} +1 -1
  106. package/dist/assets/{media-preview-CTjI28Y4.js → media-preview-CiWddeik.js} +1 -1
  107. package/dist/assets/{memory-page-route-Od3Muhow.js → memory-page-route-DAe7cXOM.js} +1 -1
  108. package/dist/assets/{memory-router-playground-page-D8do5kDw.js → memory-router-playground-page-B6RLB6SJ.js} +1 -1
  109. package/dist/assets/{message-files-panel-CnyA6dJL.js → message-files-panel-D8Cvtzm7.js} +1 -1
  110. package/dist/assets/mutation-error-C2MukXLE.js +1 -0
  111. package/dist/assets/native-attachment-pickers-DMi3o2P3.js +1 -0
  112. package/dist/assets/native-file-Dcnehsuk.js +1 -0
  113. package/dist/assets/{notifications-page-CICwZV_j.js → notifications-page-B6BaoRe4.js} +1 -1
  114. package/dist/assets/{oauth-complete-page-HYAqM-h3.js → oauth-complete-page-C8RguTIe.js} +1 -1
  115. package/dist/assets/{oauth-popup-complete-page-0Nnhyx6m.js → oauth-popup-complete-page-9mkrWQG1.js} +1 -1
  116. package/dist/assets/paired-platform-identity-RQOjYmiL.js +1 -0
  117. package/dist/assets/{pairing-page-CbPjyGMx.js → pairing-page-BoIDiN07.js} +1 -1
  118. package/dist/assets/password-reset-page-CMKwr9QD.js +1 -0
  119. package/dist/assets/{pdf-file-preview-CfJUarVV.js → pdf-file-preview-BdmWkRby.js} +1 -1
  120. package/dist/assets/{peeking-eyes-C3X1d6Jj.js → peeking-eyes-GhtIN21V.js} +1 -1
  121. package/dist/assets/{permission-guide-page-DgNjuyxd.js → permission-guide-page-D4XS94Lj.js} +1 -1
  122. package/dist/assets/{permission-setup-C4VdQwwz.js → permission-setup-BKUZnWJQ.js} +1 -1
  123. package/dist/assets/{personality-page-BEzNdxON.js → personality-page-B7hhb6bJ.js} +1 -1
  124. package/dist/assets/{personality-page-ILl8FXFu.js → personality-page-DbSLfV_N.js} +1 -1
  125. package/dist/assets/{personality-sliders-PxNPuK2H.js → personality-sliders-DahfpXIK.js} +1 -1
  126. package/dist/assets/{plans-page-CI3FmLNs.js → plans-page-Q2u7IYdx.js} +1 -1
  127. package/dist/assets/{platform-loopback-page-DM2A9sb6.js → platform-loopback-page-Gsgl1-C1.js} +1 -1
  128. package/dist/assets/{plugin-detail-page-Cj6u283V.js → plugin-detail-page-CwTxMfPK.js} +1 -1
  129. package/dist/assets/{plugins-page-D7_NjR08.js → plugins-page-BeceTGDE.js} +1 -1
  130. package/dist/assets/plugins-surface-DRWOFcBb.js +1 -0
  131. package/dist/assets/{preview-error-B2MuMDf7.js → preview-error-Bsw56ZjR.js} +1 -1
  132. package/dist/assets/privacy-page-C0L5u1-E.js +1 -0
  133. package/dist/assets/{privacy-screen-BnqXrWj-.js → privacy-screen-q5pYNYHV.js} +1 -1
  134. package/dist/assets/{profile-card-BJ45rF7O.js → profile-card-ORX8JyeJ.js} +1 -1
  135. package/dist/assets/{provider-callback-page-CNNhqRdO.js → provider-callback-page-Bh4aARKp.js} +1 -1
  136. package/dist/assets/{provider-key-CqD-hAxF.js → provider-key-DhHj1MSM.js} +1 -1
  137. package/dist/assets/{provider-signup-page-BEBgiI0J.js → provider-signup-page-BZcyuRq8.js} +1 -1
  138. package/dist/assets/{quick-input-page-ZC5y6AKn.js → quick-input-page-B0vdeXBp.js} +1 -1
  139. package/dist/assets/referral-modal-0tLKuYzN.js +1 -0
  140. package/dist/assets/{referral-modal-B5zxNJBt.js → referral-modal-BgoEpFmG.js} +1 -1
  141. package/dist/assets/{rehype-katex-DWUGzNKD.js → rehype-katex-CwfN9TOG.js} +1 -1
  142. package/dist/assets/{research-mock-page-B3giO94y.js → research-mock-page-oXOlmOna.js} +1 -1
  143. package/dist/assets/{research-onboarding-route-Dim74aoQ.js → research-onboarding-route-q3lZEjxC.js} +1 -1
  144. package/dist/assets/{review-terms-screen-CIYiUq4M.js → review-terms-screen-LCDdoz6t.js} +1 -1
  145. package/dist/assets/routes-1ENCqxlq.js +1 -0
  146. package/dist/assets/{schedules-J3G9N-px.js → schedules-RwCneOYe.js} +1 -1
  147. package/dist/assets/{schedules-page-Cnl8mEzJ.js → schedules-page-D2HxxCQz.js} +1 -1
  148. package/dist/assets/{security-redirect-page-BEtWQiAG.js → security-redirect-page-BdOwkxkl.js} +1 -1
  149. package/dist/assets/{select-assistant-screen-BHvcUbOb.js → select-assistant-screen-B1NbmvWZ.js} +1 -1
  150. package/dist/assets/{self-hosted-servers-Bn0mvFIm.js → self-hosted-servers-Dn5AaPCS.js} +1 -1
  151. package/dist/assets/{service-form-controls-DaeZPEiA.js → service-form-controls-Bn1R361b.js} +1 -1
  152. package/dist/assets/{setting-row-DPTW9jvI.js → setting-row-CaxliRhN.js} +1 -1
  153. package/dist/assets/{settings-Bh67VJVe.js → settings-CPmDyMN-.js} +4 -2
  154. package/dist/assets/{settings-k5uhZfPH.js → settings-DFXVH_HE.js} +4 -2
  155. package/dist/assets/{settings-ClEDqshB.js → settings-DydJJiwS.js} +4 -2
  156. package/dist/assets/settings-divider-DipomhZT.js +1 -0
  157. package/dist/assets/{settings-layout-DEmxtBd4.js → settings-layout-C7CQeAi8.js} +1 -1
  158. package/dist/assets/{settings-DDU54LDK.js → settings-w04_tItH.js} +4 -2
  159. package/dist/assets/share-feedback-modal-CrOSSoWU.js +1 -0
  160. package/dist/assets/{share-feedback-modal-Du_F68zS.js → share-feedback-modal-W3JhVF1c.js} +2 -2
  161. package/dist/assets/{sidebar-tree-D43H3cb8.js → sidebar-tree-CtDTchuN.js} +1 -1
  162. package/dist/assets/{signup-page-BiV-Kq2O.js → signup-page-BgVg1-Cz.js} +1 -1
  163. package/dist/assets/{signup-shell-BbFj5txC.js → signup-shell-rqZZKQs9.js} +1 -1
  164. package/dist/assets/{skill-detail-page-CNTwONYG.js → skill-detail-page-DVceqbB8.js} +1 -1
  165. package/dist/assets/{skill-detail-panel-Duoeqpk6.js → skill-detail-panel-D0MQeUNt.js} +1 -1
  166. package/dist/assets/{skill-removal-dialog-DcbMCW1X.js → skill-removal-dialog-CKyIY15v.js} +1 -1
  167. package/dist/assets/{skills-page-DeEyocII.js → skills-page-BNFEhwCh.js} +1 -1
  168. package/dist/assets/{sounds-page-CYqyUiLI.js → sounds-page-D-1xB2X0.js} +1 -1
  169. package/dist/assets/{start-screen-C4ocEh6e.js → start-screen-BfdqRCiG.js} +1 -1
  170. package/dist/assets/{step-detail-header-C0_Bji0I.js → step-detail-header-LQsSbC2J.js} +1 -1
  171. package/dist/assets/{stt-language-picker-modal-Dw_dzvcQ.js → stt-language-picker-modal-CU8T9AvB.js} +1 -1
  172. package/dist/assets/{subagent-detail-panel-DqFckc_d.js → subagent-detail-panel-CBnRBOPg.js} +1 -1
  173. package/dist/assets/{superpowers-page-kjcwHwaR.js → superpowers-page-DabWyYFo.js} +1 -1
  174. package/dist/assets/{system-events-page-C0Nrrv_n.js → system-events-page-BO75f0oo.js} +1 -1
  175. package/dist/assets/{system-events-redirect-page-DR4dTzmZ.js → system-events-redirect-page-DTc8VcbG.js} +1 -1
  176. package/dist/assets/{tabular-grid-9asraGxC.js → tabular-grid-TnP0G_0N.js} +1 -1
  177. package/dist/assets/teleport-gateway-client-BY9KVOT2.js +1 -0
  178. package/dist/assets/{text-preview-C6jKP_-h.js → text-preview-ClaaOGkz.js} +1 -1
  179. package/dist/assets/{theme-stage-page-BCd5ZTdW.js → theme-stage-page-CDguIcG0.js} +1 -1
  180. package/dist/assets/{tiptap-document-editor-BCrbYYDo.js → tiptap-document-editor-C6mVckqJ.js} +1 -1
  181. package/dist/assets/{tool-detail-panel-nu-dK5jf.js → tool-detail-panel-CQ-R1S2x.js} +1 -1
  182. package/dist/assets/tool-detail-panel-D2UjNK8Q.js +1 -0
  183. package/dist/assets/{trait-cycle-row-CPRGog-6.js → trait-cycle-row-Dw9MgLO3.js} +1 -1
  184. package/dist/assets/{upgrade-cancel-page-BiU2HQZG.js → upgrade-cancel-page-BMNn9Xs4.js} +1 -1
  185. package/dist/assets/{upgrade-success-page-BCvxSNPT.js → upgrade-success-page-6A6LKBWV.js} +1 -1
  186. package/dist/assets/{usage-redirect-page-A2FxznAL.js → usage-redirect-page-DuL6faM2.js} +1 -1
  187. package/dist/assets/{use-app-delete-Bd9ibG9z.js → use-app-delete-CzP_P0YE.js} +1 -1
  188. package/dist/assets/{use-assistant-identity-details-BPVOfzxy.js → use-assistant-identity-details-C3ihvjLl.js} +1 -1
  189. package/dist/assets/{use-channel-trust-floors-BkkxL6wd.js → use-channel-trust-floors-ENV3m3Vx.js} +1 -1
  190. package/dist/assets/{use-checkout-dismiss-refresh-DYmiO0wT.js → use-checkout-dismiss-refresh-Db6rZnu3.js} +1 -1
  191. package/dist/assets/{use-edge-swipe-back-B2Kt4500.js → use-edge-swipe-back-zSNP4R0a.js} +1 -1
  192. package/dist/assets/{use-hotkey-recorder-Dngc9P3v.js → use-hotkey-recorder-DZfuD-Wf.js} +1 -1
  193. package/dist/assets/{use-invite-link-dialog-Dqkj_T4s.js → use-invite-link-dialog-D8vtY1q5.js} +1 -1
  194. package/dist/assets/{use-plugins-list-DJlgCfb-.js → use-plugins-list-Bfr06IMK.js} +1 -1
  195. package/dist/assets/{use-return-to-short-circuit-CrgMpIk2.js → use-return-to-short-circuit-C0-TwAO7.js} +1 -1
  196. package/dist/assets/{use-side-list-room-CttXRA29.js → use-side-list-room-CDaRUxpt.js} +1 -1
  197. package/dist/assets/{use-skill-actions-BhUkfXmL.js → use-skill-actions-BvJl4cE_.js} +1 -1
  198. package/dist/assets/{use-skill-detail-files-JWSwpirW.js → use-skill-detail-files-upPaF1Ti.js} +1 -1
  199. package/dist/assets/use-supports-credentials-settings-BmKvWH5p.js +1 -0
  200. package/dist/assets/{vendor-DLH51Vjf.js → vendor-cVd2QlFV.js} +2 -2
  201. package/dist/assets/{voice-page-CN-XVbya.js → voice-page-CyiYN5gw.js} +1 -1
  202. package/dist/assets/{wake-detail-panel-BN6Np2AU.js → wake-detail-panel-Ca8kOmoN.js} +1 -1
  203. package/dist/assets/{weather-forecast-display-Dg7Tug8o.js → weather-forecast-display-C5WJSVZN.js} +1 -1
  204. package/dist/assets/{web-C2Y5uOI1.js → web-4gtEtmAK.js} +1 -1
  205. package/dist/assets/{web-BmoVVmPZ.js → web-B2la00zR.js} +1 -1
  206. package/dist/assets/{web-D0qh5Vlp.js → web-BD6n-X3I.js} +1 -1
  207. package/dist/assets/{web-BlKAJber.js → web-BDmJP5H5.js} +1 -1
  208. package/dist/assets/{web-D5UHHnMG.js → web-Bb3-M0eN.js} +1 -1
  209. package/dist/assets/{web-Xy5dhNHF.js → web-Co3fdUhk.js} +1 -1
  210. package/dist/assets/{web-CAi9YePi.js → web-DUEEDTea.js} +1 -1
  211. package/dist/assets/{web-vcW3se1t.js → web-FCPcWxlK.js} +1 -1
  212. package/dist/assets/{web-DZvE04fg.js → web-p3qShnRq.js} +1 -1
  213. package/dist/assets/welcome-screen-BoF2bJeJ.js +1 -0
  214. package/dist/assets/{workflow-detail-panel-Bo3bUe-w.js → workflow-detail-panel-BWjagS_I.js} +1 -1
  215. package/dist/assets/{workspace-page-yTSdnWq3.js → workspace-page-BwYluW9Z.js} +1 -1
  216. package/dist/assets/{xlsx-preview-C7vk2tgm.js → xlsx-preview-D7-VqTY7.js} +1 -1
  217. package/dist/index.html +2 -2
  218. package/package.json +1 -1
  219. package/dist/assets/add-credits-modal-htqAQMX6.js +0 -1
  220. package/dist/assets/auth-store-CUfwxB8-.js +0 -1
  221. package/dist/assets/avatar-bundled-components-BQa_U1xg.js +0 -1
  222. package/dist/assets/checkout-return-target-B6Qnd5vl.js +0 -1
  223. package/dist/assets/command-palette-CYJg3gK4.js +0 -1
  224. package/dist/assets/debug-page-Cu82bP9V.js +0 -4
  225. package/dist/assets/deploy-dialogs-B1_w7Ez-.js +0 -1
  226. package/dist/assets/document-load-DHdbQvKt.js +0 -1
  227. package/dist/assets/esm-5n5jSt3e.js +0 -2
  228. package/dist/assets/esm-B5HvNA2f.js +0 -1
  229. package/dist/assets/esm-BVAuvmyr.js +0 -2
  230. package/dist/assets/esm-CIgMNIdz.js +0 -1
  231. package/dist/assets/esm-CvOYazPQ.js +0 -2
  232. package/dist/assets/esm-DetZupO7.js +0 -2
  233. package/dist/assets/esm-DpDUzGbk.js +0 -2
  234. package/dist/assets/general-page-B5G4H9NJ.js +0 -2
  235. package/dist/assets/intelligence-layout-slots-store-BvTIV21o.js +0 -1
  236. package/dist/assets/local-mode-C-1-fXwg.js +0 -1
  237. package/dist/assets/mutation-error--JEZBa3Q.js +0 -1
  238. package/dist/assets/native-attachment-pickers-BAxJDXTk.js +0 -1
  239. package/dist/assets/native-file-BlJDG-CS.js +0 -1
  240. package/dist/assets/paired-platform-identity-BN7Zkoo1.js +0 -1
  241. package/dist/assets/password-reset-page-j1R5YVAm.js +0 -1
  242. package/dist/assets/plugins-surface-ClVSBf-s.js +0 -1
  243. package/dist/assets/privacy-page-B2g1Pqqs.js +0 -1
  244. package/dist/assets/referral-modal-BUgtMC2a.js +0 -1
  245. package/dist/assets/routes-zhZ8T_Wu.js +0 -1
  246. package/dist/assets/share-feedback-modal-C2fAj8NH.js +0 -1
  247. package/dist/assets/teleport-gateway-client-B8e53i-5.js +0 -1
  248. package/dist/assets/tool-detail-panel-BM_9qtZ-.js +0 -1
  249. package/dist/assets/use-supports-credentials-settings-fg3eXgQy.js +0 -1
  250. package/dist/assets/welcome-screen-B1WHzW0q.js +0 -1
  251. /package/dist/assets/{account-BkxBMG9Z.js → account-BlV1qOTL.js} +0 -0
  252. /package/dist/assets/{account-OIF2BHH7.js → account-Yhb7EPiE.js} +0 -0
  253. /package/dist/assets/{account-D5JdUO7K.js → account-iXFebGNX.js} +0 -0
  254. /package/dist/assets/{account-DYG79724.js → account-zbO2wvfB.js} +0 -0
  255. /package/dist/assets/{activation-Dd7eAIHs.js → activation-BBxBYSHn.js} +0 -0
  256. /package/dist/assets/{activation-tasks-rViOqW7C.js → activation-BpktogSQ.js} +0 -0
  257. /package/dist/assets/{activation-C91KPzrh.js → activation-CflM_LQ5.js} +0 -0
  258. /package/dist/assets/{activation-ReimSfhn.js → activation-Daef_l1I.js} +0 -0
  259. /package/dist/assets/{activation-tasks-wtMwJ0EV.js → activation-tasks-CV_7HKqY.js} +0 -0
  260. /package/dist/assets/{activation-yoBQ36AY.js → activation-tasks-CumTmEGs.js} +0 -0
  261. /package/dist/assets/{activation-tasks-efxGWsFw.js → activation-tasks-ayYeMiiM.js} +0 -0
  262. /package/dist/assets/{activation-tasks-D4dorV2v.js → activation-tasks-cUwRl0aM.js} +0 -0
  263. /package/dist/assets/{assistant-inbox-CAvCHzi9.js → assistant-inbox-BTOw7wfJ.js} +0 -0
  264. /package/dist/assets/{assistant-inbox-qWeVmA1L.js → assistant-inbox-CrSow2BT.js} +0 -0
  265. /package/dist/assets/{assistant-inbox-DslyrhIn.js → assistant-inbox-DFWc70zr.js} +0 -0
  266. /package/dist/assets/{assistant-inbox-CQdSXLLi.js → assistant-inbox-Yf62pQhK.js} +0 -0
  267. /package/dist/assets/{build.umd-B0ATW5UM.js → build.umd-DYhQfml1.js} +0 -0
  268. /package/dist/assets/{channels-Cz7YAOIH.js → channels-CgD67LT0.js} +0 -0
  269. /package/dist/assets/{channels-BMnoL5SH.js → channels-DeTGbiPP.js} +0 -0
  270. /package/dist/assets/{channels-vNXfvsPT.js → channels-DmpyD-3T.js} +0 -0
  271. /package/dist/assets/{channels-CsbKXJZc.js → channels-DuQeNaoa.js} +0 -0
  272. /package/dist/assets/{chat-DSN9cMJf.js → chat--ZmD-zey.js} +0 -0
  273. /package/dist/assets/{chat-bnp2gG3L.js → chat-Ck0pUgkI.js} +0 -0
  274. /package/dist/assets/{chat-BgW0N2Gb.js → chat-D6epoOzw.js} +0 -0
  275. /package/dist/assets/{chat-BE3uio8d.js → chat-D7C62t6i.js} +0 -0
  276. /package/dist/assets/{common-LOT1T5DR.js → common-BE18Mx30.js} +0 -0
  277. /package/dist/assets/{common-IoqtSg0p.js → common-Csoou9wq.js} +0 -0
  278. /package/dist/assets/{common-kmi6H4cg.js → common-Da7fmzzI.js} +0 -0
  279. /package/dist/assets/{common-BdQfnACd.js → common-Du9wm05t.js} +0 -0
  280. /package/dist/assets/{contacts-BTmOfEVL.js → contacts-Caqw0Sif.js} +0 -0
  281. /package/dist/assets/{contacts-Cxz-DyYF.js → contacts-Co__1ikw.js} +0 -0
  282. /package/dist/assets/{contacts-DgC-8PHB.js → contacts-DD_eTIfs.js} +0 -0
  283. /package/dist/assets/{contacts-mijLgegD.js → contacts-DK2Vo7jK.js} +0 -0
  284. /package/dist/assets/{credential-requests-CmFaXPwz.js → credential-requests-BGJaT5P8.js} +0 -0
  285. /package/dist/assets/{credential-requests-gl4lfjL4.js → credential-requests-CLJKvy8_.js} +0 -0
  286. /package/dist/assets/{credential-requests-D3J3i5oa.js → credential-requests-CY3rhP-v.js} +0 -0
  287. /package/dist/assets/{credential-requests-h908NRpv.js → credential-requests-K_K5QYWo.js} +0 -0
  288. /package/dist/assets/{definitions-BUCExH-9.js → definitions-BlPXXV5t.js} +0 -0
  289. /package/dist/assets/{definitions-DpZNNWA7.js → definitions-LeNf6LcI.js} +0 -0
  290. /package/dist/assets/{home-D4Knhe9B.js → home-Ciwnqb-0.js} +0 -0
  291. /package/dist/assets/{home-BI-fzzA0.js → home-D9CyYzwt.js} +0 -0
  292. /package/dist/assets/{home-BZGFmZ0D.js → home-DRimDXb8.js} +0 -0
  293. /package/dist/assets/{home-CM9kRnjx.js → home-FBlk-Kn_.js} +0 -0
  294. /package/dist/assets/{intelligence-DFW_P1Fv.js → intelligence-CxgptCMO.js} +0 -0
  295. /package/dist/assets/{intelligence-DXMdwG0t.js → intelligence-DNvhgTjL.js} +0 -0
  296. /package/dist/assets/{intelligence-B6UWzaf0.js → intelligence-leUjdPLY.js} +0 -0
  297. /package/dist/assets/{intelligence-DaVJutXG.js → intelligence-xPDdEiiN.js} +0 -0
  298. /package/dist/assets/{library-Dv9w5D8Z.js → library-DyYHQ0GO.js} +0 -0
  299. /package/dist/assets/{library-CFGvGWZt.js → library-EaBsKALT.js} +0 -0
  300. /package/dist/assets/{library-CmSFUt9r.js → library-Hu58bAic.js} +0 -0
  301. /package/dist/assets/{library-D26ezl8B.js → library-JzJCLakz.js} +0 -0
  302. /package/dist/assets/{logs-BJTGRcSn.js → logs-Bz1qUaJ9.js} +0 -0
  303. /package/dist/assets/{logs-BpX8Zuzb.js → logs-CZofq5k0.js} +0 -0
  304. /package/dist/assets/{logs-5jFWrQRx.js → logs-DWYxin7R.js} +0 -0
  305. /package/dist/assets/{logs-BPrpYBp7.js → logs-g4hcj_Po.js} +0 -0
  306. /package/dist/assets/{onboarding-B9_JitSg.js → onboarding-B8Kqi3lF.js} +0 -0
  307. /package/dist/assets/{onboarding-cBGAfB74.js → onboarding-BmTUYcow.js} +0 -0
  308. /package/dist/assets/{onboarding-BrS1fcVE.js → onboarding-Cg2xtY6u.js} +0 -0
  309. /package/dist/assets/{onboarding-Cx2yoeE5.js → onboarding-CudNVueP.js} +0 -0
  310. /package/dist/assets/{pdf-_tTrkaWt.js → pdf-D787RoTm.js} +0 -0
  311. /package/dist/assets/{remote-web-DkzrBzGi.js → remote-web-B48hBzZQ.js} +0 -0
  312. /package/dist/assets/{remote-web-42kFkA33.js → remote-web-BWB9gusD.js} +0 -0
  313. /package/dist/assets/{remote-web-DFX945w2.js → remote-web-Dir5X2Uc.js} +0 -0
  314. /package/dist/assets/{remote-web-CFPdQIeJ.js → remote-web-DoH8uPma.js} +0 -0
  315. /package/dist/assets/{schedules-CGU7CKaM.js → schedules-BWTSjt7H.js} +0 -0
  316. /package/dist/assets/{schedules-JnprnWDo.js → schedules-CWPFs_Xm.js} +0 -0
  317. /package/dist/assets/{schedules-J687h0Fh.js → schedules-DrYrmkfN.js} +0 -0
  318. /package/dist/assets/{schedules-Bk7XGnqS.js → schedules-Oj3x1jCN.js} +0 -0
  319. /package/dist/assets/{terminal-Cxm0NKaj.js → terminal-0PGnTYRE.js} +0 -0
  320. /package/dist/assets/{terminal-BV6xg9ZA.js → terminal-BxOTNQdO.js} +0 -0
  321. /package/dist/assets/{terminal-CYHsl1AH.js → terminal-CTNk9Vx-.js} +0 -0
  322. /package/dist/assets/{terminal-BjOF3LBT.js → terminal-DMbjaLiG.js} +0 -0
  323. /package/dist/assets/{workspace-C-huZiu_.js → workspace-7FfNfyOX.js} +0 -0
  324. /package/dist/assets/{workspace-Bcvg2VfS.js → workspace-ALDzNPUC.js} +0 -0
  325. /package/dist/assets/{workspace-P8HaFDdu.js → workspace-DrLe-8Lj.js} +0 -0
  326. /package/dist/assets/{workspace-BscXtFFU.js → workspace-Dxoo5uUn.js} +0 -0
  327. /package/dist/assets/{xterm-Pyzkt_-B.js → xterm-6q1BGEu_.js} +0 -0
  328. /package/dist/assets/{xterm-addon-fit-HaY_WHvm.js → xterm-addon-fit-DARdNMYD.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ap as n,BC as r,HC as i,KC as a,OC as o,Ov as s,PC as c,Qh as l,Rm as u,W as d,X as f,Zf as p,Zh as m,ca as h,fC as g,gC as _,hC as v,iw as y,jp as b,kp as x,mC as ee,mp as S,nu as te,pp as C,tu as w,w as ne,xS as T,zm as re}from"./app-KRIEMzuO.js";import{$n as E,E as D,O,Xn as k,j as A,nr as ie}from"./vendor-DLH51Vjf.js";import{_ as ae,d as oe,f as se,h as ce,r as le,t as ue,x as de}from"./react-B9IgSVeK.js";import{Bi as j,Dn as fe,Kt as pe,Lt as me,Ra as he,Vn as ge,Ya as M,Yn as N,Zt as _e,_a as P,_t as ve,br as F,tr as ye,vt as I,x as L,za as be}from"./icons-C0wyat6T.js";import{t as R}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as z}from"./detail-card-C53pHjsM.js";import{t as B}from"./mutation-error--JEZBa3Q.js";import{a as xe,i as Se,n as V,r as Ce,t as we}from"./use-invite-link-dialog-Dqkj_T4s.js";import{t as Te}from"./use-side-list-room-CttXRA29.js";import{t as Ee}from"./intelligence-layout-slots-store-BvTIV21o.js";import{t as De}from"./use-edge-swipe-back-B2Kt4500.js";import{a as Oe,i as ke,n as Ae,t as je}from"./contacts-gateway-DJQtU5it.js";import{n as Me,t as Ne}from"./list-detail-navigation-BwyoNgJy.js";var H=M(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Pe=M(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),U=e(de(),1),Fe=new Set([`slack`]);function Ie(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Le(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Re(e){let t=Le(e.toLowerCase());return t?A(t,{ns:`contacts`}):e}var ze=`New Contact`;function W(e){return e===ze}var G=ue(),Be=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ve(e){return Be.has(e)}function He(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Ue(e){return e.supportsVerification||He(e)}function We(e){return!!e?.address?.trim()}function K(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Ie(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||He(e)?{kind:`unverified`}:{kind:`setup`}}function q(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Ve(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ge({channelId:e,name:t,className:n,style:r}){let i=h(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(P,{className:n,style:r});case`hash`:return(0,G.jsx)(F,{className:n,style:r});case`send`:return(0,G.jsx)(ve,{className:n,style:r});case`phone`:return(0,G.jsx)(pe,{className:n,style:r});case`mail`:return(0,G.jsx)(ge,{className:n,style:r});case`message-square`:return(0,G.jsx)(fe,{className:n,style:r});default:return(0,G.jsx)(H,{className:n,style:r})}}function Ke({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,actionsDisabled:o,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=D(`contacts`),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=e=>{p&&(l?.(p.info.id,e),m(null))},y=q(t,e,r);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,G.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),y.map((e,t)=>{let n=_.get(e.id);return(0,G.jsxs)(`div`,{children:[t>0&&(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(qe,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,actionsDisabled:o,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Ue(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,G.jsx)(J,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,G.jsx)(ee,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function qe({info:e,existing:n,setupLabel:r,verifyLoading:i,actionsDisabled:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let{t:u}=D(`contacts`),d=K(e,n);return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,G.jsx)(Ge,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),n?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n.address}):null,(0,G.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:d.kind===`connected`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(j,{className:`h-3 w-3`}),u(`channelStatus.connected`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`verified`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(j,{className:`h-3 w-3`}),u(`channelStatus.verified`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`unverified`?(0,G.jsx)(t,{variant:`outlined`,onClick:s,disabled:!s||i||a,children:u(i?`actions.verifying`:`actions.verify`)}):d.kind===`setup`?e.id===`a2a`?null:(0,G.jsxs)(G.Fragment,{children:[l?(0,G.jsxs)(t,{onClick:l,disabled:a,children:[(0,G.jsx)(ye,{className:`h-3.5 w-3.5`}),u(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(t,{variant:`outlined`,onClick:o,disabled:!o||a,children:r})]}):null})]})}function J({info:e,existing:n,verifySubject:r,onConfirm:i,onCancel:a}){let{t:s}=D(`contacts`),[c,l]=(0,U.useState)(n?.address?.trim()??``),u=(0,U.useRef)(null),d=(0,U.useId)(),f=c.trim();return We(n)?(0,G.jsx)(ee,{open:!0,title:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:s(r===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:s(`actions.verify`),onConfirm:()=>{i()},onCancel:a}):(0,G.jsx)(_.Root,{open:!0,onOpenChange:e=>{e||a()},children:(0,G.jsx)(_.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),u.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),a()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),f.length!==0&&i(f)},children:[(0,G.jsx)(_.Header,{children:(0,G.jsx)(_.Title,{children:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(_.Description,{children:s(r===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(o,{ref:u,id:d,label:s(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:c,onChange:e=>{l(e.target.value)},placeholder:s(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,G.jsxs)(_.Footer,{children:[(0,G.jsx)(t,{variant:`outlined`,type:`button`,onClick:a,children:s(`actions.cancel`)}),(0,G.jsx)(t,{type:`submit`,disabled:f.length===0,children:s(`actions.verify`)})]})]})})})}function Y(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function X(e,t){switch(t){case`none`:return e(`contactPermissions.preset.none`);case`low`:return e(`contactPermissions.preset.low`);case`medium`:return e(`contactPermissions.preset.medium`);case`high`:return e(`contactPermissions.preset.high`)}}function Je(e,t){if(t===null)return e(`contactPermissions.inheritDescription`);switch(t){case`none`:return e(`contactPermissions.description.none`);case`low`:return e(`contactPermissions.description.low`);case`medium`:return e(`contactPermissions.description.medium`);case`high`:return e(`contactPermissions.description.high`)}}function Ye(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Xe({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=D(`contacts`),i=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:f.find(e=>e.riskThreshold===i);return(0,G.jsx)(z,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(g,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=f.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...f.map(e=>{let t=e.icon;return{value:e.id,label:X(r,e.riskThreshold),icon:(0,G.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Je(r,i)})]})})}function Ze({role:e,contactType:t}){let{label:n,tone:r}=Qe(e,t);return(0,G.jsx)(c,{tone:r,children:n})}function Qe(e,t){return e===`guardian`?{label:`Guardian`,tone:`positive`}:t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}function $e(e){return(0,G.jsx)(et,{...e},e.contact.id)}function et({contact:e,savePending:n,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:s=!1,availableChannels:c,channelsLoadFailed:l,a2aEnabled:u,onSave:d,onDelete:f,onMerge:p,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_,pendingAutoApproveThreshold:v,onAutoApproveThresholdChange:y}){let{t:b}=D(`contacts`),x=W(e.displayName),[S,te]=(0,U.useState)(x?``:e.displayName),[C,w]=(0,U.useState)(e.notes??``),[ne,T]=(0,U.useState)(!1),re=S.trim(),E=C.trim(),O=x?``:e.displayName,k=e.notes??``,A=re!==O||E!==k,ie=re.length>0&&A&&!n&&!r,ae=x&&e.channels.length===0&&e.interactionCount===0,oe=re||(x?b(`contact.draftName`):e.displayName),se=b(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(z,{title:oe,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:se,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(o,{label:b(`contact.nameLabel`),type:`text`,value:S,onChange:e=>te(e.target.value),placeholder:b(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:n||r,fullWidth:!0}),(0,G.jsx)(o,{label:b(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:b(`contactDetailView.notesPlaceholder`),disabled:n||r,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{type:`button`,onClick:()=>d({displayName:re,notes:E}),disabled:!ie,children:b(n?`actions.saving`:`actions.save`)}),p?(0,G.jsx)(t,{type:`button`,variant:`outlined`,onClick:p,disabled:!s||ae||A||a||n||r,title:s?ae?b(`contactDetailView.mergeBlockedUnsavedDraft`):A?b(`contact.mergeBlockedUnsaved`):void 0:b(`contact.mergeBlockedNoCandidates`),children:b(a?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(t,{type:`button`,variant:`danger`,onClick:()=>{ae?f():T(!0)},disabled:r,children:b(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(z,{title:b(`contactDetailView.linkedAccountsTitle`),subtitle:b(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:c,channelsLoadFailed:l,a2aEnabled:u,verifyLoading:i,actionsDisabled:r,verifySubject:`contact`,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_})}),Ye(e)&&y?(0,G.jsx)(Xe,{contact:e,pending:v||r,onAutoApproveThresholdChange:y}):null,(0,G.jsx)(ee,{open:ne,title:b(`contactDetailView.deleteConfirmTitle`,{name:oe}),message:b(`contactDetailView.deleteConfirmMessage`),confirmLabel:b(`actions.delete`),destructive:!0,onConfirm:()=>{T(!1),f()},onCancel:()=>T(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:n,candidates:r,pending:a,errorMessage:o,onMerge:s,onClose:c}){let{t:l}=D(`contacts`),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{f&&!r.some(e=>e.id===f)&&p(null)},[r,f]);let m=(0,U.useMemo)(()=>{let e=u.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,u]),h=f?r.find(e=>e.id===f)??null:null,g=ot(n);return(0,G.jsx)(_.Root,{open:e,onOpenChange:e=>{!e&&!a&&c()},children:(0,G.jsxs)(_.Content,{size:`md`,children:[(0,G.jsxs)(_.Header,{icon:Pe,children:[(0,G.jsx)(_.Title,{children:h?l(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:g}):l(`contactMergeDialog.titlePicking`,{survivor:g})}),(0,G.jsx)(_.Description,{children:l(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[h?(0,G.jsx)(it,{survivor:n,donor:h}):r.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:u,onSearch:d,candidates:m,onPick:p}),o?(0,G.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:o}):null]}),(0,G.jsx)(_.Footer,{children:h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(t,{variant:`outlined`,onClick:()=>p(null),disabled:a,leftIcon:(0,G.jsx)(be,{"aria-hidden":!0}),children:l(`actions.back`)}),(0,G.jsx)(t,{variant:`danger`,onClick:()=>s(h.id),disabled:a,children:l(a?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(t,{variant:`outlined`,onClick:c,disabled:a,children:l(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:a}=D(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(o,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:a(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,G.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":a(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,G.jsx)(i,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:a(`contactsList.noMatches`)}):n.map(e=>(0,G.jsx)(rt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function rt({contact:e,onPick:t}){let n=ct(e).join(` | `)||void 0;return(0,G.jsx)(a,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,G.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function it({survivor:e,donor:t}){let{t:n}=D(`contacts`),r=ot(e),{moved:i,duplicates:a}=st(e,t);return(0,G.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,G.jsx)(`li`,{children:(0,G.jsx)(O,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,G.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,G.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Re(e.type)).join(`, `)})}),a.length>0?(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,G.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function at(){let{t:e}=D(`contacts`);return(0,G.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function ot(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?A(`survivorName.you`,{ns:`contacts`}):A(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||A(`survivorName.thisContact`,{ns:`contacts`})}function st(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function ct(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(Re(e)))}return n}var lt={pencil:_e,more:R};function ut({loading:e,guardian:n,regularContacts:i,selectedContactId:a,onSelect:s,onAddContact:c,addingContact:l=!1,surface:u=`card`,search:d,onSearchChange:f}){let{t:p}=D(`contacts`),m=u===`screen`,h=i.length>0,g=d.trim()?i.filter(e=>e.displayName.toLowerCase().includes(d.trim().toLowerCase())):i,_=h?(0,G.jsx)(o,{type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:p(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:m?`h-10`:void 0}):null,v=n?(0,G.jsx)(Q,{name:n.displayName?p(`contactsList.youNamed`,{name:n.displayName}):p(`contactsList.you`),role:n.role,channelTypes:n.channelTypes,selected:a===n.id,onClick:()=>s(n.id),trailingIcon:`pencil`,surface:u}):null,y=n?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,b=(0,G.jsxs)(G.Fragment,{children:[g.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a===e.id,onClick:()=>s(e.id),trailingIcon:`more`,surface:u},e.id)),g.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:p(`contactsList.noMatches`)}):null]}),x=e?null:(0,G.jsx)(t,{type:`button`,variant:`ghost`,onClick:c,disabled:l,tintColor:`var(--primary-base)`,loading:l,leftIcon:(0,G.jsx)(L,{"aria-hidden":!0}),children:p(`contactsList.add`)});return m?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[_,v,y,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:h?b:x})]}):(0,G.jsx)(r.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(r.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:p(`contactsList.heading`)}),(0,G.jsx)(t,{type:`button`,variant:`ghost`,loading:l,iconOnly:(0,G.jsx)(me,{"aria-hidden":!0}),onClick:c,disabled:l,"aria-label":p(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),v,y,_,h?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:b}):x]})})}function Q({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:o,trailingIcon:s,verified:l,surface:u}){let{t:d}=D(`contacts`),f=u===`screen`,p=r&&r.length>0?r.join(` | `):void 0,m=f||l===void 0?null:(0,G.jsx)(c,{tone:l?`positive`:`neutral`,children:d(l?`contactsList.verified`:`contactsList.unverified`)}),h=f||s===void 0?void 0:lt[s];return(0,G.jsx)(a,{asChild:!0,active:i,className:f?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:o,className:y(`flex h-auto w-full items-center`,!f&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:y(`flex min-w-0 flex-1 flex-col`,f&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:y(`truncate text-body-medium-default`,f&&`text-[var(--content-default)]`),children:e}),p?(0,G.jsx)(`span`,{className:y(`truncate`,f?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:p}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[m,(0,G.jsx)(Ze,{role:t,contactType:n}),h?(0,G.jsx)(h,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):null]})]})})}function dt(e){return(0,G.jsx)(ft,{...e},e.contact.id)}function ft({contact:e,savePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onGenerateInviteLink:h}){let{t:g}=D(`contacts`),_=e.displayName.startsWith(`vellum-principal-`),v=_?``:e.displayName,[y,b]=(0,U.useState)(v),[x,ee]=(0,U.useState)(e.notes??``),S=y.trim(),te=x.trim(),C=S!==v.trim()||te!==(e.notes??``).trim(),w=C&&!n,ne=g(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(z,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:ne,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(o,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsx)(o,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>ee(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{variant:`primary`,onClick:()=>u({displayName:S||e.displayName,notes:te}),disabled:!w,children:g(n?`actions.saving`:`actions.save`)}),d?(0,G.jsx)(t,{variant:`outlined`,onClick:d,disabled:!a||C||i||n,title:a?C?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(z,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m})}),h?(0,G.jsx)(V,{onClick:h}):null]})}function pt(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function mt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ht({open:e,channelLabel:n,contactName:r,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=D(`contacts`),[p,m]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&m(``)},[e]);let h=(0,U.useMemo)(()=>pt(i??[],p),[i,p]),g=c!=null;return(0,G.jsx)(_.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,G.jsxs)(_.Content,{size:`sm`,children:[(0,G.jsxs)(_.Header,{children:[(0,G.jsx)(_.Title,{children:f(`linkAccountDialog.title`,{channel:n})}),(0,G.jsx)(_.Description,{children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:n,name:r},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(o,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:n}),leftIcon:(0,G.jsx)(I,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:s}):null,(0,G.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):h.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,G.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:mt(e.displayName)}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,G.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),c===e.id?(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(_.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,G.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,G.jsxs)(t,{variant:`link`,className:`shrink-0`,onClick:d,disabled:g,children:[f(`linkAccountDialog.inviteInstead`),(0,G.jsx)(he,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return E({...S((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&m(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=k({mutationFn:n=>Ae(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),v.success(A(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,U.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,U.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),l=(0,U.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?A(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:l}}function vt(){let[e,t]=(0,U.useState)(()=>new Set);return{ids:e,add:(0,U.useCallback)(e=>{t(t=>t.has(e)?t:new Set(t).add(e))},[]),remove:(0,U.useCallback)(e=>{t(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[])}}var yt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],bt=[];function $({assistantId:e,onStartSetupConversation:r}){let{t:i}=D(`contacts`),a=p.use.a2aChannel(),o=ie(),[c]=ae(),d=c.get(`setup`),f=d&&l(d)?d:null,{contactId:m}=ce(),h=se(),{pathname:g,state:_}=oe(),y=we(e),ee=te(),{paneRef:S,hasRoomForList:w,drawerOpen:O,openDrawer:A,closeDrawer:ue}=Te(),de=ee&&!w,j=de&&!m,fe=de&&!!m,[pe,he]=(0,U.useState)(``),[ge,M]=(0,U.useState)(!1),N=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),_e=n(N),P=E({...x(N),enabled:!!e,select:e=>e.contacts}),ve=E({...C({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await s({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:yt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),F=ve.data??bt,ye=ve.isError,I=P.data,L=(0,U.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),be=(0,U.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=m??(j?null:L?.id??null),z=(0,U.useMemo)(()=>I?.find(e=>e.id===R)??null,[I,R]),V=Ee.use.setDetailIsScreen(),H=(0,U.useCallback)(e=>{e!==m&&(j&&V(!0),h(T.contacts.detail(e),j?{state:Ne}:{replace:!0,state:_}))},[h,j,m,_,V]),Pe=(0,U.useCallback)(()=>{Me(h,_,T.contacts.root)},[h,_]),Fe=(0,U.useRef)(null);De({containerRef:Fe,onBack:Pe,enabled:fe,navKey:g});let Ie=P.isSuccess&&P.fetchStatus===`idle`,Le=!!m&&!z&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!I||!z?[]:I.filter(e=>e.id!==z.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[I,z,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>o.invalidateQueries({queryKey:_e}),[o,_e]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=k({mutationFn:()=>ke(e,{displayName:ze}),onMutate:async()=>{await o.cancelQueries({queryKey:_e})},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&H(e.id)},onError:B(i(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(R);(0,U.useLayoutEffect)(()=>{Ke.current=R},[R]);let qe=k({mutationFn:t=>je(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{b(o,N,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:B(i(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=k({mutationFn:({contactId:t,patch:n})=>ke(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:B(i(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>ke(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:B(i(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=re({onMutate:async()=>{await o.cancelQueries({queryKey:_e})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(b(o,N,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),q.current&&H(n.id)),M(!1),v.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{H(e),ue(),M(!1),Je()},[H,ue,Je]),Xe=(0,U.useCallback)(()=>{Je(),M(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(M(!1),X.reset())},[X]),Qe=u({onSuccess:()=>K()}),et=(0,U.useCallback)((t,n)=>{Qe.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Qe,e]),nt=Ge.mutate,Z=Ge.isPending,rt=(0,U.useCallback)(()=>{Z||nt()},[nt,Z]),it=Ee.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!j){it(null);return}return it((0,G.jsx)(t,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(me,{"aria-hidden":!0}),"aria-label":i(`contactsList.addAriaLabel`),tooltip:i(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,j,it,i]),(0,U.useLayoutEffect)(()=>(V(fe),()=>{V(!1)}),[fe,V]);let at=(0,U.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.contact;n&&r(n)},[F,r]),ot=(0,U.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.guardian;n&&r(n)},[F,r]),st=k({mutationFn:t=>Oe(e,t.channelId),onSuccess:()=>K(),onError:B(i(`contactsPage.verifyFailed`))}),ct=k({mutationFn:t=>{if(!z)throw Error(`No contact selected`);return Ae(e,{id:z.id,displayName:z.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:B(i(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!z)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=z.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[z,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:z?{id:z.id,displayName:z.displayName}:null,onLinked:K}),ft=E({...ne(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),pt=gt(e),mt=(0,U.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),$=(0,U.useMemo)(()=>{if(!z)return null;let e=z;return J.isPending&&J.variables?.contactId===z.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===z.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[z,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=R!==null&&Be.ids.has(R),Et=R!==null&&Ve.ids.has(R);if(f)return(0,G.jsx)(le,{to:`${T.channels}?setup=${f}`,replace:!0});let Dt={loading:P.isLoading,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:wt(L.channels,a)}:null,regularContacts:be.filter(e=>!W.ids.has(e.id)).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:wt(e.channels,a),verified:Ct(e.channels)})),selectedContactId:R,onSelect:Ye,onAddContact:rt,addingContact:Z,search:pe,onSearchChange:he};return(0,G.jsxs)(`div`,{ref:S,className:`flex min-h-0 flex-1 overflow-hidden ${w?`flex-row gap-6`:`flex-col gap-4`}`,children:[w?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):de?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(xe,{onClick:A})}),(0,G.jsx)(Se,{open:O,onClose:ue,title:i(`contactsPage.title`),children:(0,G.jsx)(ut,{...Dt})})]}),(0,G.jsx)(`section`,{ref:Fe,className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:P.isLoading||Le?(0,G.jsx)(St,{}):j?(0,G.jsx)(ut,{...Dt,surface:`screen`}):$?$.role===`guardian`?(0,G.jsx)(dt,{contact:$,savePending:Tt,verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:F,channelsLoadFailed:ye,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:r?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:a?y.open:void 0}):(0,G.jsx)($e,{contact:$,savePending:Tt,deletePending:W.ids.has($.id),verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:F,channelsLoadFailed:ye,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:r?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):m?(0,G.jsx)(xt,{text:i(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:i(`contactsPage.emptyBody`)})}),z?(0,G.jsx)(tt,{open:ge,survivor:z,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:z.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:z?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:r?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Ce,{open:y.isOpen,assistantId:e,onClose:y.close})]})}function xt({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})})}function St(){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(N,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})})}function Ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Ie(e)))}function wt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(Re(e)))}return r}function Tt(){let e=se(),t=d(),{contactId:n}=ce(),{state:r}=oe(),i=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let a=i.current;i.current=t,!(a===t||!n)&&Me(e,r,T.contacts.root)},[t,n,r,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{w(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ap as n,BC as r,HC as i,KC as a,OC as o,Ov as s,PC as c,Qh as l,Rm as u,W as d,X as f,Zf as p,Zh as m,ca as h,fC as g,gC as _,hC as v,iw as y,jp as b,kp as x,mC as ee,mp as S,nu as te,pp as C,tu as w,w as ne,xS as T,zm as re}from"./app-BEoekemj.js";import{$n as E,E as D,O,Xn as k,j as A,nr as ie}from"./vendor-cVd2QlFV.js";import{_ as ae,d as oe,f as se,h as ce,r as le,t as ue,x as de}from"./react-B9IgSVeK.js";import{Bi as j,Dn as fe,Kt as pe,Lt as me,Ra as he,Vn as ge,Ya as M,Yn as N,Zt as _e,_a as P,_t as ve,br as F,tr as ye,vt as I,x as L,za as be}from"./icons-C0wyat6T.js";import{t as R}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as z}from"./detail-card-DdL-TwEw.js";import{t as B}from"./mutation-error-C2MukXLE.js";import{a as xe,i as Se,n as V,r as Ce,t as we}from"./use-invite-link-dialog-D8vtY1q5.js";import{t as Te}from"./use-side-list-room-CDaRUxpt.js";import{t as Ee}from"./intelligence-layout-slots-store-jzhqxk-F.js";import{t as De}from"./use-edge-swipe-back-zSNP4R0a.js";import{a as Oe,i as ke,n as Ae,t as je}from"./contacts-gateway-DL44TLR9.js";import{n as Me,t as Ne}from"./list-detail-navigation-BwyoNgJy.js";var H=M(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Pe=M(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),U=e(de(),1),Fe=new Set([`slack`]);function Ie(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Le(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Re(e){let t=Le(e.toLowerCase());return t?A(t,{ns:`contacts`}):e}var ze=`New Contact`;function W(e){return e===ze}var G=ue(),Be=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ve(e){return Be.has(e)}function He(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Ue(e){return e.supportsVerification||He(e)}function We(e){return!!e?.address?.trim()}function K(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Ie(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||He(e)?{kind:`unverified`}:{kind:`setup`}}function q(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Ve(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ge({channelId:e,name:t,className:n,style:r}){let i=h(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(P,{className:n,style:r});case`hash`:return(0,G.jsx)(F,{className:n,style:r});case`send`:return(0,G.jsx)(ve,{className:n,style:r});case`phone`:return(0,G.jsx)(pe,{className:n,style:r});case`mail`:return(0,G.jsx)(ge,{className:n,style:r});case`message-square`:return(0,G.jsx)(fe,{className:n,style:r});default:return(0,G.jsx)(H,{className:n,style:r})}}function Ke({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,actionsDisabled:o,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=D(`contacts`),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=e=>{p&&(l?.(p.info.id,e),m(null))},y=q(t,e,r);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,G.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),y.map((e,t)=>{let n=_.get(e.id);return(0,G.jsxs)(`div`,{children:[t>0&&(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(qe,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,actionsDisabled:o,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Ue(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,G.jsx)(J,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,G.jsx)(ee,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function qe({info:e,existing:n,setupLabel:r,verifyLoading:i,actionsDisabled:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let{t:u}=D(`contacts`),d=K(e,n);return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,G.jsx)(Ge,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),n?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n.address}):null,(0,G.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:d.kind===`connected`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(j,{className:`h-3 w-3`}),u(`channelStatus.connected`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`verified`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(j,{className:`h-3 w-3`}),u(`channelStatus.verified`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`unverified`?(0,G.jsx)(t,{variant:`outlined`,onClick:s,disabled:!s||i||a,children:u(i?`actions.verifying`:`actions.verify`)}):d.kind===`setup`?e.id===`a2a`?null:(0,G.jsxs)(G.Fragment,{children:[l?(0,G.jsxs)(t,{onClick:l,disabled:a,children:[(0,G.jsx)(ye,{className:`h-3.5 w-3.5`}),u(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(t,{variant:`outlined`,onClick:o,disabled:!o||a,children:r})]}):null})]})}function J({info:e,existing:n,verifySubject:r,onConfirm:i,onCancel:a}){let{t:s}=D(`contacts`),[c,l]=(0,U.useState)(n?.address?.trim()??``),u=(0,U.useRef)(null),d=(0,U.useId)(),f=c.trim();return We(n)?(0,G.jsx)(ee,{open:!0,title:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:s(r===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:s(`actions.verify`),onConfirm:()=>{i()},onCancel:a}):(0,G.jsx)(_.Root,{open:!0,onOpenChange:e=>{e||a()},children:(0,G.jsx)(_.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),u.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),a()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),f.length!==0&&i(f)},children:[(0,G.jsx)(_.Header,{children:(0,G.jsx)(_.Title,{children:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(_.Description,{children:s(r===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(o,{ref:u,id:d,label:s(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:c,onChange:e=>{l(e.target.value)},placeholder:s(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,G.jsxs)(_.Footer,{children:[(0,G.jsx)(t,{variant:`outlined`,type:`button`,onClick:a,children:s(`actions.cancel`)}),(0,G.jsx)(t,{type:`submit`,disabled:f.length===0,children:s(`actions.verify`)})]})]})})})}function Y(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function X(e,t){switch(t){case`none`:return e(`contactPermissions.preset.none`);case`low`:return e(`contactPermissions.preset.low`);case`medium`:return e(`contactPermissions.preset.medium`);case`high`:return e(`contactPermissions.preset.high`)}}function Je(e,t){if(t===null)return e(`contactPermissions.inheritDescription`);switch(t){case`none`:return e(`contactPermissions.description.none`);case`low`:return e(`contactPermissions.description.low`);case`medium`:return e(`contactPermissions.description.medium`);case`high`:return e(`contactPermissions.description.high`)}}function Ye(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Xe({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=D(`contacts`),i=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:f.find(e=>e.riskThreshold===i);return(0,G.jsx)(z,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(g,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=f.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...f.map(e=>{let t=e.icon;return{value:e.id,label:X(r,e.riskThreshold),icon:(0,G.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Je(r,i)})]})})}function Ze({role:e,contactType:t}){let{label:n,tone:r}=Qe(e,t);return(0,G.jsx)(c,{tone:r,children:n})}function Qe(e,t){return e===`guardian`?{label:`Guardian`,tone:`positive`}:t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}function $e(e){return(0,G.jsx)(et,{...e},e.contact.id)}function et({contact:e,savePending:n,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:s=!1,availableChannels:c,channelsLoadFailed:l,a2aEnabled:u,onSave:d,onDelete:f,onMerge:p,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_,pendingAutoApproveThreshold:v,onAutoApproveThresholdChange:y}){let{t:b}=D(`contacts`),x=W(e.displayName),[S,te]=(0,U.useState)(x?``:e.displayName),[C,w]=(0,U.useState)(e.notes??``),[ne,T]=(0,U.useState)(!1),re=S.trim(),E=C.trim(),O=x?``:e.displayName,k=e.notes??``,A=re!==O||E!==k,ie=re.length>0&&A&&!n&&!r,ae=x&&e.channels.length===0&&e.interactionCount===0,oe=re||(x?b(`contact.draftName`):e.displayName),se=b(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(z,{title:oe,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:se,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(o,{label:b(`contact.nameLabel`),type:`text`,value:S,onChange:e=>te(e.target.value),placeholder:b(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:n||r,fullWidth:!0}),(0,G.jsx)(o,{label:b(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:b(`contactDetailView.notesPlaceholder`),disabled:n||r,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{type:`button`,onClick:()=>d({displayName:re,notes:E}),disabled:!ie,children:b(n?`actions.saving`:`actions.save`)}),p?(0,G.jsx)(t,{type:`button`,variant:`outlined`,onClick:p,disabled:!s||ae||A||a||n||r,title:s?ae?b(`contactDetailView.mergeBlockedUnsavedDraft`):A?b(`contact.mergeBlockedUnsaved`):void 0:b(`contact.mergeBlockedNoCandidates`),children:b(a?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(t,{type:`button`,variant:`danger`,onClick:()=>{ae?f():T(!0)},disabled:r,children:b(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(z,{title:b(`contactDetailView.linkedAccountsTitle`),subtitle:b(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:c,channelsLoadFailed:l,a2aEnabled:u,verifyLoading:i,actionsDisabled:r,verifySubject:`contact`,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_})}),Ye(e)&&y?(0,G.jsx)(Xe,{contact:e,pending:v||r,onAutoApproveThresholdChange:y}):null,(0,G.jsx)(ee,{open:ne,title:b(`contactDetailView.deleteConfirmTitle`,{name:oe}),message:b(`contactDetailView.deleteConfirmMessage`),confirmLabel:b(`actions.delete`),destructive:!0,onConfirm:()=>{T(!1),f()},onCancel:()=>T(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:n,candidates:r,pending:a,errorMessage:o,onMerge:s,onClose:c}){let{t:l}=D(`contacts`),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{f&&!r.some(e=>e.id===f)&&p(null)},[r,f]);let m=(0,U.useMemo)(()=>{let e=u.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,u]),h=f?r.find(e=>e.id===f)??null:null,g=ot(n);return(0,G.jsx)(_.Root,{open:e,onOpenChange:e=>{!e&&!a&&c()},children:(0,G.jsxs)(_.Content,{size:`md`,children:[(0,G.jsxs)(_.Header,{icon:Pe,children:[(0,G.jsx)(_.Title,{children:h?l(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:g}):l(`contactMergeDialog.titlePicking`,{survivor:g})}),(0,G.jsx)(_.Description,{children:l(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[h?(0,G.jsx)(it,{survivor:n,donor:h}):r.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:u,onSearch:d,candidates:m,onPick:p}),o?(0,G.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:o}):null]}),(0,G.jsx)(_.Footer,{children:h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(t,{variant:`outlined`,onClick:()=>p(null),disabled:a,leftIcon:(0,G.jsx)(be,{"aria-hidden":!0}),children:l(`actions.back`)}),(0,G.jsx)(t,{variant:`danger`,onClick:()=>s(h.id),disabled:a,children:l(a?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(t,{variant:`outlined`,onClick:c,disabled:a,children:l(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:a}=D(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(o,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:a(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,G.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":a(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,G.jsx)(i,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:a(`contactsList.noMatches`)}):n.map(e=>(0,G.jsx)(rt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function rt({contact:e,onPick:t}){let n=ct(e).join(` | `)||void 0;return(0,G.jsx)(a,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,G.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function it({survivor:e,donor:t}){let{t:n}=D(`contacts`),r=ot(e),{moved:i,duplicates:a}=st(e,t);return(0,G.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,G.jsx)(`li`,{children:(0,G.jsx)(O,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,G.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,G.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Re(e.type)).join(`, `)})}),a.length>0?(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,G.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function at(){let{t:e}=D(`contacts`);return(0,G.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function ot(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?A(`survivorName.you`,{ns:`contacts`}):A(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||A(`survivorName.thisContact`,{ns:`contacts`})}function st(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function ct(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(Re(e)))}return n}var lt={pencil:_e,more:R};function ut({loading:e,guardian:n,regularContacts:i,selectedContactId:a,onSelect:s,onAddContact:c,addingContact:l=!1,surface:u=`card`,search:d,onSearchChange:f}){let{t:p}=D(`contacts`),m=u===`screen`,h=i.length>0,g=d.trim()?i.filter(e=>e.displayName.toLowerCase().includes(d.trim().toLowerCase())):i,_=h?(0,G.jsx)(o,{type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:p(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:m?`h-10`:void 0}):null,v=n?(0,G.jsx)(Q,{name:n.displayName?p(`contactsList.youNamed`,{name:n.displayName}):p(`contactsList.you`),role:n.role,channelTypes:n.channelTypes,selected:a===n.id,onClick:()=>s(n.id),trailingIcon:`pencil`,surface:u}):null,y=n?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,b=(0,G.jsxs)(G.Fragment,{children:[g.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a===e.id,onClick:()=>s(e.id),trailingIcon:`more`,surface:u},e.id)),g.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:p(`contactsList.noMatches`)}):null]}),x=e?null:(0,G.jsx)(t,{type:`button`,variant:`ghost`,onClick:c,disabled:l,tintColor:`var(--primary-base)`,loading:l,leftIcon:(0,G.jsx)(L,{"aria-hidden":!0}),children:p(`contactsList.add`)});return m?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[_,v,y,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:h?b:x})]}):(0,G.jsx)(r.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(r.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:p(`contactsList.heading`)}),(0,G.jsx)(t,{type:`button`,variant:`ghost`,loading:l,iconOnly:(0,G.jsx)(me,{"aria-hidden":!0}),onClick:c,disabled:l,"aria-label":p(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),v,y,_,h?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:b}):x]})})}function Q({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:o,trailingIcon:s,verified:l,surface:u}){let{t:d}=D(`contacts`),f=u===`screen`,p=r&&r.length>0?r.join(` | `):void 0,m=f||l===void 0?null:(0,G.jsx)(c,{tone:l?`positive`:`neutral`,children:d(l?`contactsList.verified`:`contactsList.unverified`)}),h=f||s===void 0?void 0:lt[s];return(0,G.jsx)(a,{asChild:!0,active:i,className:f?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:o,className:y(`flex h-auto w-full items-center`,!f&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:y(`flex min-w-0 flex-1 flex-col`,f&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:y(`truncate text-body-medium-default`,f&&`text-[var(--content-default)]`),children:e}),p?(0,G.jsx)(`span`,{className:y(`truncate`,f?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:p}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[m,(0,G.jsx)(Ze,{role:t,contactType:n}),h?(0,G.jsx)(h,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):null]})]})})}function dt(e){return(0,G.jsx)(ft,{...e},e.contact.id)}function ft({contact:e,savePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onGenerateInviteLink:h}){let{t:g}=D(`contacts`),_=e.displayName.startsWith(`vellum-principal-`),v=_?``:e.displayName,[y,b]=(0,U.useState)(v),[x,ee]=(0,U.useState)(e.notes??``),S=y.trim(),te=x.trim(),C=S!==v.trim()||te!==(e.notes??``).trim(),w=C&&!n,ne=g(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(z,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:ne,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(o,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsx)(o,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>ee(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{variant:`primary`,onClick:()=>u({displayName:S||e.displayName,notes:te}),disabled:!w,children:g(n?`actions.saving`:`actions.save`)}),d?(0,G.jsx)(t,{variant:`outlined`,onClick:d,disabled:!a||C||i||n,title:a?C?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(z,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m})}),h?(0,G.jsx)(V,{onClick:h}):null]})}function pt(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function mt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ht({open:e,channelLabel:n,contactName:r,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=D(`contacts`),[p,m]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&m(``)},[e]);let h=(0,U.useMemo)(()=>pt(i??[],p),[i,p]),g=c!=null;return(0,G.jsx)(_.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,G.jsxs)(_.Content,{size:`sm`,children:[(0,G.jsxs)(_.Header,{children:[(0,G.jsx)(_.Title,{children:f(`linkAccountDialog.title`,{channel:n})}),(0,G.jsx)(_.Description,{children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:n,name:r},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(_.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(o,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:n}),leftIcon:(0,G.jsx)(I,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:s}):null,(0,G.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):h.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,G.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:mt(e.displayName)}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,G.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),c===e.id?(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(_.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,G.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,G.jsxs)(t,{variant:`link`,className:`shrink-0`,onClick:d,disabled:g,children:[f(`linkAccountDialog.inviteInstead`),(0,G.jsx)(he,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return E({...S((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&m(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=k({mutationFn:n=>Ae(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),v.success(A(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,U.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,U.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),l=(0,U.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?A(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:l}}function vt(){let[e,t]=(0,U.useState)(()=>new Set);return{ids:e,add:(0,U.useCallback)(e=>{t(t=>t.has(e)?t:new Set(t).add(e))},[]),remove:(0,U.useCallback)(e=>{t(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[])}}var yt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],bt=[];function $({assistantId:e,onStartSetupConversation:r}){let{t:i}=D(`contacts`),a=p.use.a2aChannel(),o=ie(),[c]=ae(),d=c.get(`setup`),f=d&&l(d)?d:null,{contactId:m}=ce(),h=se(),{pathname:g,state:_}=oe(),y=we(e),ee=te(),{paneRef:S,hasRoomForList:w,drawerOpen:O,openDrawer:A,closeDrawer:ue}=Te(),de=ee&&!w,j=de&&!m,fe=de&&!!m,[pe,he]=(0,U.useState)(``),[ge,M]=(0,U.useState)(!1),N=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),_e=n(N),P=E({...x(N),enabled:!!e,select:e=>e.contacts}),ve=E({...C({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await s({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:yt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),F=ve.data??bt,ye=ve.isError,I=P.data,L=(0,U.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),be=(0,U.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=m??(j?null:L?.id??null),z=(0,U.useMemo)(()=>I?.find(e=>e.id===R)??null,[I,R]),V=Ee.use.setDetailIsScreen(),H=(0,U.useCallback)(e=>{e!==m&&(j&&V(!0),h(T.contacts.detail(e),j?{state:Ne}:{replace:!0,state:_}))},[h,j,m,_,V]),Pe=(0,U.useCallback)(()=>{Me(h,_,T.contacts.root)},[h,_]),Fe=(0,U.useRef)(null);De({containerRef:Fe,onBack:Pe,enabled:fe,navKey:g});let Ie=P.isSuccess&&P.fetchStatus===`idle`,Le=!!m&&!z&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!I||!z?[]:I.filter(e=>e.id!==z.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[I,z,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>o.invalidateQueries({queryKey:_e}),[o,_e]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=k({mutationFn:()=>ke(e,{displayName:ze}),onMutate:async()=>{await o.cancelQueries({queryKey:_e})},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&H(e.id)},onError:B(i(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(R);(0,U.useLayoutEffect)(()=>{Ke.current=R},[R]);let qe=k({mutationFn:t=>je(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{b(o,N,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:B(i(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=k({mutationFn:({contactId:t,patch:n})=>ke(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:B(i(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>ke(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{b(o,N,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:B(i(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=re({onMutate:async()=>{await o.cancelQueries({queryKey:_e})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(b(o,N,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),q.current&&H(n.id)),M(!1),v.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{H(e),ue(),M(!1),Je()},[H,ue,Je]),Xe=(0,U.useCallback)(()=>{Je(),M(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(M(!1),X.reset())},[X]),Qe=u({onSuccess:()=>K()}),et=(0,U.useCallback)((t,n)=>{Qe.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Qe,e]),nt=Ge.mutate,Z=Ge.isPending,rt=(0,U.useCallback)(()=>{Z||nt()},[nt,Z]),it=Ee.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!j){it(null);return}return it((0,G.jsx)(t,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(me,{"aria-hidden":!0}),"aria-label":i(`contactsList.addAriaLabel`),tooltip:i(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,j,it,i]),(0,U.useLayoutEffect)(()=>(V(fe),()=>{V(!1)}),[fe,V]);let at=(0,U.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.contact;n&&r(n)},[F,r]),ot=(0,U.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.guardian;n&&r(n)},[F,r]),st=k({mutationFn:t=>Oe(e,t.channelId),onSuccess:()=>K(),onError:B(i(`contactsPage.verifyFailed`))}),ct=k({mutationFn:t=>{if(!z)throw Error(`No contact selected`);return Ae(e,{id:z.id,displayName:z.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:B(i(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!z)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=z.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[z,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:z?{id:z.id,displayName:z.displayName}:null,onLinked:K}),ft=E({...ne(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),pt=gt(e),mt=(0,U.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),$=(0,U.useMemo)(()=>{if(!z)return null;let e=z;return J.isPending&&J.variables?.contactId===z.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===z.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[z,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=R!==null&&Be.ids.has(R),Et=R!==null&&Ve.ids.has(R);if(f)return(0,G.jsx)(le,{to:`${T.channels}?setup=${f}`,replace:!0});let Dt={loading:P.isLoading,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:wt(L.channels,a)}:null,regularContacts:be.filter(e=>!W.ids.has(e.id)).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:wt(e.channels,a),verified:Ct(e.channels)})),selectedContactId:R,onSelect:Ye,onAddContact:rt,addingContact:Z,search:pe,onSearchChange:he};return(0,G.jsxs)(`div`,{ref:S,className:`flex min-h-0 flex-1 overflow-hidden ${w?`flex-row gap-6`:`flex-col gap-4`}`,children:[w?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):de?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(xe,{onClick:A})}),(0,G.jsx)(Se,{open:O,onClose:ue,title:i(`contactsPage.title`),children:(0,G.jsx)(ut,{...Dt})})]}),(0,G.jsx)(`section`,{ref:Fe,className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:P.isLoading||Le?(0,G.jsx)(St,{}):j?(0,G.jsx)(ut,{...Dt,surface:`screen`}):$?$.role===`guardian`?(0,G.jsx)(dt,{contact:$,savePending:Tt,verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:F,channelsLoadFailed:ye,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:r?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:a?y.open:void 0}):(0,G.jsx)($e,{contact:$,savePending:Tt,deletePending:W.ids.has($.id),verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:F,channelsLoadFailed:ye,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:r?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):m?(0,G.jsx)(xt,{text:i(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:i(`contactsPage.emptyBody`)})}),z?(0,G.jsx)(tt,{open:ge,survivor:z,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:z.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:z?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:r?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Ce,{open:y.isOpen,assistantId:e,onClose:y.close})]})}function xt({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})})}function St(){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(N,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})})}function Ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Ie(e)))}function wt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(Re(e)))}return r}function Tt(){let e=se(),t=d(),{contactId:n}=ce(),{state:r}=oe(),i=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let a=i.current;i.current=t,!(a===t||!n)&&Me(e,r,T.contacts.root)},[t,n,r,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{w(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
@@ -1 +1 @@
1
- import{$C as e,Ly as t}from"./app-KRIEMzuO.js";import{E as n}from"./vendor-DLH51Vjf.js";import{t as r}from"./react-B9IgSVeK.js";import{Ji as i,li as a}from"./icons-C0wyat6T.js";var o=r();function s({text:r,ariaLabel:s,className:c}){let{t:l}=n(),{copy:u,copied:d}=t({errorMessage:l(`copyButton.copyFailed`)});return(0,o.jsx)(e,{variant:`ghost`,size:`compact`,iconOnly:d?(0,o.jsx)(i,{"aria-hidden":!0}):(0,o.jsx)(a,{"aria-hidden":!0}),tintColor:d?`var(--system-positive-strong)`:void 0,"aria-label":d?l(`copyButton.copied`):s,className:c,onClick:()=>u(typeof r==`function`?r():r)})}export{s as t};
1
+ import{$C as e,Ly as t}from"./app-BEoekemj.js";import{E as n}from"./vendor-cVd2QlFV.js";import{t as r}from"./react-B9IgSVeK.js";import{Ji as i,li as a}from"./icons-C0wyat6T.js";var o=r();function s({text:r,ariaLabel:s,className:c}){let{t:l}=n(),{copy:u,copied:d}=t({errorMessage:l(`copyButton.copyFailed`)});return(0,o.jsx)(e,{variant:`ghost`,size:`compact`,iconOnly:d?(0,o.jsx)(i,{"aria-hidden":!0}):(0,o.jsx)(a,{"aria-hidden":!0}),tintColor:d?`var(--system-positive-strong)`:void 0,"aria-label":d?l(`copyButton.copied`):s,className:c,onClick:()=>u(typeof r==`function`?r():r)})}export{s as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,BC as n,C_ as r,OC as i}from"./app-KRIEMzuO.js";import{E as a}from"./vendor-DLH51Vjf.js";import{t as o,x as s}from"./react-B9IgSVeK.js";import{Ui as c,Yn as l,dr as u,zi as d}from"./icons-C0wyat6T.js";var f=e(s(),1),p=`/v1/credential-requests/peek`,m=`/v1/credential-requests/submit`;function h(e){return e>0xe8d4a51000?e:e*1e3}function g(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function _(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function v(e,t){let n=await fetch(r(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),i=await n.json().catch(()=>null);return n.ok&&_(i)?{status:`ok`,request:i}:n.status===404?{status:g(i)??`invalid`}:{status:`error`}}async function y(e,t,n){let i=await fetch(r(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(i.ok)return{status:`ok`};let a=await i.json().catch(()=>null);return i.status===404?{status:g(a)??`invalid`}:i.status===502?{status:`store-failed`}:{status:`error`}}var b=o();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=a(`credential-requests`),[r]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[o,s]=(0,f.useState)({kind:`loading`}),[p,m]=(0,f.useState)(``),[g,_]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),E=x(1e3);(0,f.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,f.useEffect)(()=>{if(!r){s({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(r,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?s({kind:`form`,request:t.request}):s({kind:t.status}))})(),()=>{e.abort()}},[r]);let D=async e=>{if(e.preventDefault(),!r||o.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(r,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),s({kind:`success`});break;case`invalid`:case`expired`:case`used`:s({kind:t.status});break;case`store-failed`:m(``),s({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=o.kind===`form`?h(o.request.expiresAt):null,k=o.kind===`form`&&O!==null&&O>E,A;if(o.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(l,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(o.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(d,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(o.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(o.kind===`expired`||o.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(o.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(o.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(o.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:n}=o,r=`${n.service}:${n.field}`,a=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.label||r}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[n.label?`${r} · `:``,e(`credentialEntry.oneTimeEntry`)]})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:e(`credentialEntry.instructions`)}),(0,b.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void D(e),children:[(0,b.jsx)(i,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(t,{type:`submit`,disabled:g||!p.trim(),loading:g,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(a),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background)] px-6 py-10 text-[var(--content-default)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(n.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,b.jsx)(`div`,{className:`flex flex-col gap-4`,children:A})})})})}export{w as CredentialEntryPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,BC as n,C_ as r,OC as i}from"./app-BEoekemj.js";import{E as a}from"./vendor-cVd2QlFV.js";import{t as o,x as s}from"./react-B9IgSVeK.js";import{Ui as c,Yn as l,dr as u,zi as d}from"./icons-C0wyat6T.js";var f=e(s(),1),p=`/v1/credential-requests/peek`,m=`/v1/credential-requests/submit`;function h(e){return e>0xe8d4a51000?e:e*1e3}function g(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function _(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function v(e,t){let n=await fetch(r(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),i=await n.json().catch(()=>null);return n.ok&&_(i)?{status:`ok`,request:i}:n.status===404?{status:g(i)??`invalid`}:{status:`error`}}async function y(e,t,n){let i=await fetch(r(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(i.ok)return{status:`ok`};let a=await i.json().catch(()=>null);return i.status===404?{status:g(a)??`invalid`}:i.status===502?{status:`store-failed`}:{status:`error`}}var b=o();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=a(`credential-requests`),[r]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[o,s]=(0,f.useState)({kind:`loading`}),[p,m]=(0,f.useState)(``),[g,_]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),E=x(1e3);(0,f.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,f.useEffect)(()=>{if(!r){s({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(r,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?s({kind:`form`,request:t.request}):s({kind:t.status}))})(),()=>{e.abort()}},[r]);let D=async e=>{if(e.preventDefault(),!r||o.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(r,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),s({kind:`success`});break;case`invalid`:case`expired`:case`used`:s({kind:t.status});break;case`store-failed`:m(``),s({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=o.kind===`form`?h(o.request.expiresAt):null,k=o.kind===`form`&&O!==null&&O>E,A;if(o.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(l,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(o.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(d,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(o.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(o.kind===`expired`||o.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(o.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(o.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(o.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:n}=o,r=`${n.service}:${n.field}`,a=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.label||r}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[n.label?`${r} · `:``,e(`credentialEntry.oneTimeEntry`)]})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:e(`credentialEntry.instructions`)}),(0,b.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void D(e),children:[(0,b.jsx)(i,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(t,{type:`submit`,disabled:g||!p.trim(),loading:g,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(a),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background)] px-6 py-10 text-[var(--content-default)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(n.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,b.jsx)(`div`,{className:`flex flex-col gap-4`,children:A})})})})}export{w as CredentialEntryPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,AS as n,BC as r,Bm as i,CS as a,H as o,Iy as s,MS as c,OC as l,PC as u,PS as d,Rv as f,Ry as p,U as m,W as h,Zf as g,ah as _,gC as v,hC as y,i as b,iS as x,mC as S,tw as C,vC as ee,zv as w}from"./app-KRIEMzuO.js";import{$n as te,E as T,nr as ne}from"./vendor-DLH51Vjf.js";import{t as E,x as D}from"./react-B9IgSVeK.js";import{A as O,Ji as k,Lt as A,Xr as j,Yn as M,Yr as N,dr as P,li as F,tr as I,vt as re}from"./icons-C0wyat6T.js";import{t as ie}from"./detail-card-C53pHjsM.js";import{t as L}from"./use-supports-credentials-settings-fg3eXgQy.js";var R=e(D(),1),z=`CREDENTIAL_IN_USE`;function ae(e){if(!(e instanceof d)||e.code!==z)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function oe(e){return new Intl.ListFormat(a(),{style:`long`,type:`conjunction`}).format(e)}var B=E(),V=1500;function H(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function se({credential:e,assistantId:n,generatingLink:i,deleting:a,onGenerateLink:o,onDelete:s}){let{t:c}=T(`settings`),l=`${e.service}:${e.field}`,u=i||a,d=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:H(e.createdAt)}):null].filter(e=>!!e);return(0,B.jsx)(r.Root,{children:(0,B.jsxs)(r.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,B.jsx)(P,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,B.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,B.jsx)(U,{assistantId:n,credential:e})}),d.length>0&&(0,B.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(C,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,B.jsx)(t,{variant:`outlined`,onClick:o,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),loading:i,iconOnly:(0,B.jsx)(I,{"aria-hidden":!0})})}),(0,B.jsx)(C,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,B.jsx)(t,{variant:`dangerOutline`,onClick:s,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),loading:a,iconOnly:(0,B.jsx)(O,{"aria-hidden":!0})})})]})]})})}function U({assistantId:e,credential:n}){let{t:r}=T(`settings`),[i,a]=(0,R.useState)(null),[o,s]=(0,R.useState)(!1),[c,l]=(0,R.useState)(!1),u=(0,R.useRef)(null),d=(0,R.useRef)(0),f=`${n.service}:${n.field}`,m=(0,R.useCallback)(()=>{d.current++,a(null),s(!1),l(!1),u.current&&=(clearTimeout(u.current),null)},[]);(0,R.useEffect)(()=>{m()},[n.updatedAt,m]);let h=(0,R.useCallback)(async()=>{let t=++d.current;s(!0);try{let{data:r}=await w({path:{assistant_id:e},body:{service:n.service,field:n.field},throwOnError:!0});d.current===t&&a(r.value)}catch{d.current===t&&y.error(r(`credentialRow.revealFailedToast`,{name:f}))}finally{d.current===t&&s(!1)}},[e,n.service,n.field,f,r]),g=(0,R.useCallback)(()=>{i!=null&&p(i,{errorMessage:r(`credentialRow.copyFailedToast`),onCopied:()=>{l(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),V)}})},[i,r]),_=i!==null;return n.hasSecret?(0,B.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:()=>_?m():void h(),disabled:o,"aria-label":r(_?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:f}),title:r(_?`credentialRow.hideValueTitle`:`credentialRow.clickToRevealTitle`),"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] ${_?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:_?i:n.scrubbedValue}),o?(0,B.jsx)(M,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):_?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:c?(0,B.jsx)(k,{"aria-hidden":!0}):(0,B.jsx)(F,{"aria-hidden":!0}),expandOnMobile:!1,onClick:g,"aria-label":r(`credentialRow.copyValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.copyValueTitle`),className:`size-4.5 shrink-0 rounded-sm`}),(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,B.jsx)(j,{"aria-hidden":!0}),expandOnMobile:!1,onClick:m,"aria-label":r(`credentialRow.hideValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.hideValueTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,B.jsx)(N,{"aria-hidden":!0}),expandOnMobile:!1,onClick:()=>void h(),"aria-label":r(`credentialRow.revealValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.clickToRevealTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,B.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:n.scrubbedValue})}function ce(e){return e>0xe8d4a51000?e:e*1e3}async function le(e,t){let{data:n,response:r}=await s.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}var W=6;function G(){let e=h(),t=L(e),n=x.use.assistantId();return x.use.version()!==null&&n===e&&!t?(0,B.jsx)(b,{}):t?(0,B.jsx)(K,{}):null}function K(){let{t:e}=T(`settings`),a=h(),s=ne(),d=_(),b=m(a),x=te({queryKey:b,queryFn:async()=>{let{data:e}=await f({path:{assistant_id:a},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:d,retry:c}),C=(0,R.useMemo)(()=>x.data?.credentials??[],[x.data]),w=g.use.settingsDeveloperNav(),E=(0,R.useMemo)(()=>w?x.data?.managedCredentials??[]:[],[w,x.data]),[D,O]=(0,R.useState)(!1),[k,j]=(0,R.useState)(`own`),[N,L]=(0,R.useState)(``),[z,V]=(0,R.useState)(null),[H,U]=(0,R.useState)(null),[G,K]=(0,R.useState)(null),[ue,q]=(0,R.useState)(null),J=i({onSuccess:(t,n)=>{s.invalidateQueries({queryKey:b}),y.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,r)=>{let i=ae(t),a=C.find(e=>e.service===r.body.service&&e.field===r.body.field);if(i&&a){U({credential:a,connections:i});return}n(t,{context:`credentials-delete`}),y.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,R.useMemo)(()=>{let e=N.trim().toLowerCase();return e?C.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):C},[C,N]);(0,R.useEffect)(()=>{C.length<=W&&L(``)},[C.length]),(0,R.useEffect)(()=>{C.length===0&&E.length>0&&j(`managed`)},[C.length,E.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:a},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=z;V(null),e&&X(e,!1)},pe=()=>{let e=H;U(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await le(a,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):y.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){y.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&p(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(x.isLoading)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,B.jsx)(M,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=C.length>0,Q=E.length>0,ge=C.length>W,$=k===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsx)(ie,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,B.jsx)(ee,{items:ve,value:k,onChange:j,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,B.jsx)(t,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>O(!0),leftIcon:(0,B.jsx)(A,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,B.jsx)(`div`,{className:`space-y-2`,children:E.map(t=>(0,B.jsx)(r.Root,{children:(0,B.jsxs)(r.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,B.jsx)(P,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,B.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,B.jsx)(u,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,B.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,B.jsx)(l,{type:`text`,value:N,onChange:e=>L(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,B.jsx)(re,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,B.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:N.trim()})}):(0,B.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,B.jsx)(se,{credential:e,assistantId:a,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>V(e)},e.credentialId??t)})})]}):(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,B.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,B.jsx)(P,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,B.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,B.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,B.jsx)(t,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>O(!0),className:`w-full border-dashed`,leftIcon:(0,B.jsx)(A,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,B.jsx)(S,{open:z!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:z?e(`credentialsPage.deleteConfirmMessage`,{name:`${z.service}:${z.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>V(null)}),(0,B.jsx)(S,{open:H!==null,title:e(`credentialsPage.inUseTitle`),message:H?e(`credentialsPage.inUseMessage`,{count:H.connections.length,name:`${H.credential.service}:${H.credential.field}`,connections:oe(H.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>U(null)}),(0,B.jsx)(o,{open:D,onClose:()=>O(!1)}),(0,B.jsx)(v.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,B.jsxs)(v.Content,{size:`sm`,children:[(0,B.jsxs)(v.Header,{icon:I,children:[(0,B.jsx)(v.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,B.jsx)(v.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(ce(G.expiresAt)).toLocaleString()})}):``})]}),(0,B.jsx)(v.Body,{children:(0,B.jsx)(l,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,B.jsx)(v.Footer,{children:(0,B.jsx)(t,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,B.jsx)(F,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,AS as n,BC as r,Bm as i,CS as a,H as o,Iy as s,MS as c,OC as l,PC as u,PS as d,Rv as f,Ry as p,U as m,W as h,Zf as g,ah as _,gC as v,hC as y,i as b,iS as x,mC as S,tw as C,vC as ee,zv as w}from"./app-BEoekemj.js";import{$n as te,E as T,nr as ne}from"./vendor-cVd2QlFV.js";import{t as E,x as D}from"./react-B9IgSVeK.js";import{A as O,Ji as k,Lt as A,Xr as j,Yn as M,Yr as N,dr as P,li as F,tr as I,vt as re}from"./icons-C0wyat6T.js";import{t as ie}from"./detail-card-DdL-TwEw.js";import{t as L}from"./use-supports-credentials-settings-BmKvWH5p.js";var R=e(D(),1),z=`CREDENTIAL_IN_USE`;function ae(e){if(!(e instanceof d)||e.code!==z)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function oe(e){return new Intl.ListFormat(a(),{style:`long`,type:`conjunction`}).format(e)}var B=E(),V=1500;function H(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function se({credential:e,assistantId:n,generatingLink:i,deleting:a,onGenerateLink:o,onDelete:s}){let{t:c}=T(`settings`),l=`${e.service}:${e.field}`,u=i||a,d=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:H(e.createdAt)}):null].filter(e=>!!e);return(0,B.jsx)(r.Root,{children:(0,B.jsxs)(r.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,B.jsx)(P,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,B.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,B.jsx)(U,{assistantId:n,credential:e})}),d.length>0&&(0,B.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(C,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,B.jsx)(t,{variant:`outlined`,onClick:o,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),loading:i,iconOnly:(0,B.jsx)(I,{"aria-hidden":!0})})}),(0,B.jsx)(C,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,B.jsx)(t,{variant:`dangerOutline`,onClick:s,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),loading:a,iconOnly:(0,B.jsx)(O,{"aria-hidden":!0})})})]})]})})}function U({assistantId:e,credential:n}){let{t:r}=T(`settings`),[i,a]=(0,R.useState)(null),[o,s]=(0,R.useState)(!1),[c,l]=(0,R.useState)(!1),u=(0,R.useRef)(null),d=(0,R.useRef)(0),f=`${n.service}:${n.field}`,m=(0,R.useCallback)(()=>{d.current++,a(null),s(!1),l(!1),u.current&&=(clearTimeout(u.current),null)},[]);(0,R.useEffect)(()=>{m()},[n.updatedAt,m]);let h=(0,R.useCallback)(async()=>{let t=++d.current;s(!0);try{let{data:r}=await w({path:{assistant_id:e},body:{service:n.service,field:n.field},throwOnError:!0});d.current===t&&a(r.value)}catch{d.current===t&&y.error(r(`credentialRow.revealFailedToast`,{name:f}))}finally{d.current===t&&s(!1)}},[e,n.service,n.field,f,r]),g=(0,R.useCallback)(()=>{i!=null&&p(i,{errorMessage:r(`credentialRow.copyFailedToast`),onCopied:()=>{l(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),V)}})},[i,r]),_=i!==null;return n.hasSecret?(0,B.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:()=>_?m():void h(),disabled:o,"aria-label":r(_?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:f}),title:r(_?`credentialRow.hideValueTitle`:`credentialRow.clickToRevealTitle`),"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] ${_?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:_?i:n.scrubbedValue}),o?(0,B.jsx)(M,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):_?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:c?(0,B.jsx)(k,{"aria-hidden":!0}):(0,B.jsx)(F,{"aria-hidden":!0}),expandOnMobile:!1,onClick:g,"aria-label":r(`credentialRow.copyValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.copyValueTitle`),className:`size-4.5 shrink-0 rounded-sm`}),(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,B.jsx)(j,{"aria-hidden":!0}),expandOnMobile:!1,onClick:m,"aria-label":r(`credentialRow.hideValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.hideValueTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,B.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,B.jsx)(N,{"aria-hidden":!0}),expandOnMobile:!1,onClick:()=>void h(),"aria-label":r(`credentialRow.revealValueAriaLabel`,{name:f}),tooltip:r(`credentialRow.clickToRevealTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,B.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:n.scrubbedValue})}function ce(e){return e>0xe8d4a51000?e:e*1e3}async function le(e,t){let{data:n,response:r}=await s.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}var W=6;function G(){let e=h(),t=L(e),n=x.use.assistantId();return x.use.version()!==null&&n===e&&!t?(0,B.jsx)(b,{}):t?(0,B.jsx)(K,{}):null}function K(){let{t:e}=T(`settings`),a=h(),s=ne(),d=_(),b=m(a),x=te({queryKey:b,queryFn:async()=>{let{data:e}=await f({path:{assistant_id:a},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:d,retry:c}),C=(0,R.useMemo)(()=>x.data?.credentials??[],[x.data]),w=g.use.settingsDeveloperNav(),E=(0,R.useMemo)(()=>w?x.data?.managedCredentials??[]:[],[w,x.data]),[D,O]=(0,R.useState)(!1),[k,j]=(0,R.useState)(`own`),[N,L]=(0,R.useState)(``),[z,V]=(0,R.useState)(null),[H,U]=(0,R.useState)(null),[G,K]=(0,R.useState)(null),[ue,q]=(0,R.useState)(null),J=i({onSuccess:(t,n)=>{s.invalidateQueries({queryKey:b}),y.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,r)=>{let i=ae(t),a=C.find(e=>e.service===r.body.service&&e.field===r.body.field);if(i&&a){U({credential:a,connections:i});return}n(t,{context:`credentials-delete`}),y.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,R.useMemo)(()=>{let e=N.trim().toLowerCase();return e?C.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):C},[C,N]);(0,R.useEffect)(()=>{C.length<=W&&L(``)},[C.length]),(0,R.useEffect)(()=>{C.length===0&&E.length>0&&j(`managed`)},[C.length,E.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:a},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=z;V(null),e&&X(e,!1)},pe=()=>{let e=H;U(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await le(a,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):y.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){y.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&p(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(x.isLoading)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,B.jsx)(M,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=C.length>0,Q=E.length>0,ge=C.length>W,$=k===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsx)(ie,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,B.jsx)(ee,{items:ve,value:k,onChange:j,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,B.jsx)(t,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>O(!0),leftIcon:(0,B.jsx)(A,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,B.jsx)(`div`,{className:`space-y-2`,children:E.map(t=>(0,B.jsx)(r.Root,{children:(0,B.jsxs)(r.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,B.jsx)(P,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,B.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,B.jsx)(u,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,B.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,B.jsx)(l,{type:`text`,value:N,onChange:e=>L(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,B.jsx)(re,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,B.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:N.trim()})}):(0,B.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,B.jsx)(se,{credential:e,assistantId:a,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>V(e)},e.credentialId??t)})})]}):(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,B.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,B.jsx)(P,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,B.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,B.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,B.jsx)(t,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>O(!0),className:`w-full border-dashed`,leftIcon:(0,B.jsx)(A,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,B.jsx)(S,{open:z!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:z?e(`credentialsPage.deleteConfirmMessage`,{name:`${z.service}:${z.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>V(null)}),(0,B.jsx)(S,{open:H!==null,title:e(`credentialsPage.inUseTitle`),message:H?e(`credentialsPage.inUseMessage`,{count:H.connections.length,name:`${H.credential.service}:${H.credential.field}`,connections:oe(H.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>U(null)}),(0,B.jsx)(o,{open:D,onClose:()=>O(!1)}),(0,B.jsx)(v.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,B.jsxs)(v.Content,{size:`sm`,children:[(0,B.jsxs)(v.Header,{icon:I,children:[(0,B.jsx)(v.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,B.jsx)(v.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(ce(G.expiresAt)).toLocaleString()})}):``})]}),(0,B.jsx)(v.Body,{children:(0,B.jsx)(l,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,B.jsx)(v.Footer,{children:(0,B.jsx)(t,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,B.jsx)(F,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{rr as t}from"./app-KRIEMzuO.js";import{t as n,x as r}from"./react-B9IgSVeK.js";import{t as i}from"./preview-error-B2MuMDf7.js";import{a,t as o}from"./tabular-grid-9asraGxC.js";import{t as s}from"./use-async-read-DcRLxtMN.js";var c=e(r(),1),l=n();function u({blob:e,filename:n}){let{value:r,failed:u}=s(e,e=>e.text()),d=(0,c.useMemo)(()=>r===null?null:a(r),[r]);return u?(0,l.jsx)(i,{filename:n}):d===null?(0,l.jsx)(t,{}):(0,l.jsx)(o,{...d})}export{u as CsvPreview};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{rr as t}from"./app-BEoekemj.js";import{t as n,x as r}from"./react-B9IgSVeK.js";import{t as i}from"./preview-error-Bsw56ZjR.js";import{a,t as o}from"./tabular-grid-TnP0G_0N.js";import{t as s}from"./use-async-read-DcRLxtMN.js";var c=e(r(),1),l=n();function u({blob:e,filename:n}){let{value:r,failed:u}=s(e,e=>e.text()),d=(0,c.useMemo)(()=>r===null?null:a(r),[r]);return u?(0,l.jsx)(i,{filename:n}):d===null?(0,l.jsx)(t,{}):(0,l.jsx)(o,{...d})}export{u as CsvPreview};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{xS as t}from"./app-KRIEMzuO.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.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{xS as t}from"./app-BEoekemj.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.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
@@ -0,0 +1,4 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-6q1BGEu_.js","assets/rolldown-runtime-BM3Ffeng.js","assets/xterm-addon-fit-DARdNMYD.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,$_ as n,AS as r,A_ as i,BC as a,Ch as o,DC as s,Er as c,FC as l,F_ as u,G_ as d,Gd as f,HC as p,H_ as m,I_ as h,If as g,Ir as _,J_ as v,LS as y,Ly as b,Mp as x,Mu as ee,Mv as S,N_ as C,Nu as w,OC as T,PC as E,PS as D,Pv as O,QS as k,Ry as te,So as ne,To as A,U_ as j,V_ as M,W as N,WC as P,W_ as re,Y_ as F,Zx as I,_C as L,_h as ie,ah as ae,ai as R,bh as oe,cC as se,ci as ce,di as le,ei as ue,eu as de,ev as z,fC as fe,ff as pe,fi as me,fn as he,fv as ge,gf as _e,go as ve,hC as B,hf as ye,ho as be,ii as V,is as xe,k_ as Se,li as Ce,mC as we,mf as Te,nS as Ee,ni as De,nv as Oe,nx as ke,oi as Ae,pf as je,rS as Me,ri as Ne,si as Pe,ti as Fe,tv as Ie,ug as Le,ui as Re,vC as ze,vc as Be,wo as Ve,xS as He,xo as Ue,xx as We,yC as H,yh as Ge,zC as U,zg as Ke,zy as qe}from"./app-BEoekemj.js";import{$n as Je,E as W,G,H as K,J as Ye,K as Xe,L as Ze,O as Qe,P as $e,R as et,W as tt,Xn as nt,nr as rt,q as it,z as q}from"./vendor-cVd2QlFV.js";import{_ as at,f as ot,t as st,v as ct,x as lt}from"./react-B9IgSVeK.js";import{A as ut,D as dt,Et as ft,Gi as pt,Ia as mt,Ji as ht,Lt as gt,P as _t,Pa as vt,Ua as yt,Wi as bt,Ya as J,Yn as xt,a as St,i as Ct,ji as wt,ki as Tt,kn as Et,li as Dt,oi as Ot,qi as kt,ri as At,ut as jt,vt as Mt,wn as Nt,xr as Pt,zi as Ft,zt as It}from"./icons-C0wyat6T.js";import{t as Lt}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as Rt}from"./share-feedback-modal-W3JhVF1c.js";import{t as zt}from"./detail-panel-stop-button-9gdxgBZq.js";import{u as Bt}from"./teleport-gateway-client-BY9KVOT2.js";import{a as Vt,n as Ht,t as Ut}from"./managed-export-B8hZl8fK.js";var Wt=J(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),Gt=J(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),Kt=J(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),qt=J(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Jt=J(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Yt=J(`thumbs-down`,[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]),Xt=J(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),Zt=J(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Y=e(lt(),1);function Qt(e,t){return t||e.archivedAt!=null}function $t(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function en(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||$t(e,t)}function tn(e,t){let n=new Map;for(let t of e)for(let e of t)n.has(e.conversationId)||n.set(e.conversationId,{conversation:e,archived:Qt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:Qt(e,!0)});return[...n.values()].sort((e,t)=>$t(e.conversation,t.conversation))}function nn(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function rn(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function an(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function on(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>en(e.conversation,t.conversation)):e}function sn(e,t,n=e=>be(e)){let r=t.trim().toLowerCase();return r?e.filter(e=>{let t=(e.conversation.title??``).toLowerCase(),i=n(e.conversation.title).toLowerCase();return t.includes(r)||i.includes(r)}):e}function cn(e,t=`all`){let[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(t),{t:o}=W(),{needsActive:s,needsArchived:c}=nn(i),{conversations:l,isLoading:u,isError:d,refetch:f}=Ve(e,s),{conversations:p,isLoading:m,isError:h,refetch:g}=ne(e,s),{conversations:_,isLoading:v,isError:y,refetch:b}=A(e,s),{conversations:x,isLoading:ee,isError:S,refetch:C}=Ue(e,c),w=u||m||v,T=d||h||y,E=()=>{f(),g(),b()},D=(0,Y.useMemo)(()=>tn([l,p,_],x),[l,p,_,x]),O=(0,Y.useMemo)(()=>on(D,i),[D,i]);return{merged:D,rows:(0,Y.useMemo)(()=>sn(O,n,e=>be(e,o)),[O,n,o]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:rn(i,{activeLoading:w,archivedLoading:ee}),error:an(i,{activeError:T,archivedError:S}),refetch:()=>{s&&E(),c&&C()}}}var X=st();function ln(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function un({row:e,isFirst:n,onOpen:r,onArchive:i,onUnarchive:a,isPending:o}){let{t:s}=W(`settings`),c=ve(),{conversation:l,archived:u}=e,d=[ln(l.lastMessageAt??l.createdAt),l.source??`vellum-assistant`].filter(Boolean).join(` · `),f=c(l.title);return(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${n?``:`border-t border-[var(--border-base)]`}`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:r,className:`min-w-0 flex-1 text-left`,children:[(0,X.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:f}),(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:d})]}),(0,X.jsx)(t,{variant:`outlined`,onClick:u?a:i,loading:o,leftIcon:u?void 0:(0,X.jsx)(yt,{}),disabled:o,className:`shrink-0`,children:s(o?u?`allConversationsView.unarchiving`:`allConversationsView.archiving`:u?`allConversationsView.unarchive`:`allConversationsView.archive`)})]})}function dn({assistantId:e,title:n,initialFilter:i,onOpenConversation:a}){let{t:o}=W(`settings`),s=rt(),{rows:c,searchText:l,setSearchText:u,filter:d,setFilter:f,loading:p,error:m,refetch:h}=cn(e,i),[g,_]=(0,Y.useState)(null),v=(0,Y.useMemo)(()=>[{value:`all`,label:o(`allConversationsView.filterAll`)},{value:`active`,label:o(`allConversationsView.filterActive`)},{value:`archived`,label:o(`allConversationsView.filterArchived`)}],[o]),y=(0,Y.useCallback)(async(t,n,i,a)=>{_(t.conversationId);try{await n({path:{assistant_id:e,id:t.conversationId},throwOnError:!0}),Be(s,e)}catch(e){r(e,{context:a}),B.error(i)}finally{_(null)}},[e,s]),b=(0,Y.useCallback)(e=>{y(e,S,o(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[y,o]),x=(0,Y.useCallback)(e=>{y(e,O,o(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[y,o]);return p?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.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":o(`allConversationsView.loading`)})}):m?(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:o(`allConversationsView.loadError`)}),(0,X.jsxs)(t,{variant:`outlined`,onClick:h,children:[(0,X.jsx)(ft,{className:`h-4 w-4`}),o(`allConversationsView.retry`)]})]}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[n?(0,X.jsx)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)]`,children:n}):null,(0,X.jsxs)(`div`,{className:`mb-6 flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(T,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:o(`allConversationsView.searchPlaceholder`),value:l,onChange:e=>u(e.target.value),leftIcon:(0,X.jsx)(Mt,{size:16})}),(0,X.jsx)(fe,{"aria-label":o(`allConversationsView.filterAria`),value:d,onChange:f,options:v,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,X.jsx)(fn,{rows:c,filter:d,searchText:l,pendingId:g,onOpen:a,onArchive:b,onUnarchive:x})})]})}function fn({rows:e,filter:t,searchText:n,pendingId:r,onOpen:i,onArchive:a,onUnarchive:o}){let{t:s}=W(`settings`);if(e.length===0){if(n.trim())return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(Mt,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`allConversationsView.noMatch`,{query:n})})]});let e=s(t===`archived`?`allConversationsView.emptyArchived`:t===`active`?`allConversationsView.emptyActive`:`allConversationsView.emptyAll`);return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(yt,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e})]})}return(0,X.jsx)(`div`,{children:e.map((e,t)=>(0,X.jsx)(un,{row:e,isFirst:t===0,onOpen:()=>i(e.conversation.conversationId),onArchive:()=>a(e.conversation),onUnarchive:()=>o(e.conversation),isPending:r===e.conversation.conversationId},e.conversation.conversationId))})}function pn(e,t,n,r){let i=!1,a=new AbortController;return(async()=>{if(i)return;let o=null;try{let{stream:s}=await ge.sse.get({url:`/v1/assistants/{assistant_id}/terminal/sessions/{session_id}/events/`,path:{assistant_id:e,session_id:t},headers:{Accept:`text/event-stream, application/json`,...je()},signal:a.signal,sseMaxRetryAttempts:0,onSseError:e=>{o=Te(e,`Terminal stream disconnected`)}});for await(let e of s){if(i)return;let t=ye(e);if(!t)continue;let r=_e(t),a=typeof r.seq==`number`?r.seq:-1,o=typeof r.data==`string`?r.data:``;if(!(a<0||o===``))try{n({seq:a,data:o})}catch{}}if(i)return;if(o){r(o);return}r(Error(`Terminal stream ended unexpectedly`))}catch(e){if(i)return;r(Te(e,`Terminal stream connection failed`))}})().catch(e=>{i||r(Te(e,`Terminal stream setup failed`))}),{cancel:()=>{i=!0,a.abort()}}}var Z=k(Ye()((e,t)=>({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null,requestConnect:()=>{let{status:n}=t();(n===`idle`||n===`closed`||n===`error`)&&e({status:`connecting`,errorMessage:null,reconnectAttempts:0})},connectSucceeded:n=>{t().status===`connecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},connectFailed:n=>{t().status===`connecting`&&e({status:`error`,errorMessage:n,sessionId:null})},disconnected:()=>{t().status===`connected`&&e({status:`error`,errorMessage:`Connection lost.`,sessionId:null})},requestReconnect:()=>{let{status:n,reconnectAttempts:r}=t();(n===`error`||n===`connected`)&&e({status:`reconnecting`,errorMessage:null,reconnectAttempts:r+1,sessionId:null})},reconnectSucceeded:n=>{t().status===`reconnecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},reconnectFailed:n=>{t().status===`reconnecting`&&e({status:`error`,errorMessage:n,sessionId:null})},errorOccurred:t=>{e({status:`error`,errorMessage:t,sessionId:null})},closed:()=>{e({status:`closed`,errorMessage:null,sessionId:null})},reset:()=>{e({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null})}}))),mn=50,hn=150,gn=3,_n=1e3;function vn(){return{highWaterMark:-1}}function yn({assistantId:e,onData:t,service:r}){let i=(0,Y.useRef)(null),a=(0,Y.useRef)(t);(0,Y.useLayoutEffect)(()=>{a.current=t},[t]);let o=(0,Y.useRef)(``),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(null),d=(0,Y.useRef)(vn()),f=(0,Y.useRef)(null),p=(0,Y.useRef)(!1),m=(0,Y.useRef)(null),h=(0,Y.useMemo)(()=>r?{service:r}:void 0,[r]),g=(0,Y.useCallback)(t=>{s.current||=setInterval(()=>{let n=o.current;!n||!e||(o.current=``,Ie({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},mn)},[e]),_=(0,Y.useCallback)(()=>{s.current&&=(clearInterval(s.current),null),o.current=``},[]),v=(0,Y.useCallback)(async t=>{if(!e){t?Z.getState().reconnectFailed(`No assistant ID`):Z.getState().connectFailed(`No assistant ID`);return}let r;try{let{data:t,error:i,response:a}=await n({path:{assistant_id:e},body:h,throwOnError:!1});if(!a||!a.ok){let e=i&&typeof i==`object`&&!Array.isArray(i)?i.detail:void 0;throw Error(e??`Failed to create terminal session (HTTP ${a?.status??`unknown`})`)}let o=t&&typeof t==`object`&&!Array.isArray(t)?t:{},s=typeof o.session_id==`string`?o.session_id:typeof o.id==`string`?o.id:void 0;if(!s)throw Error(`Backend did not return a session ID`);r=s}catch(e){let n=e instanceof Error?e.message:`Failed to create terminal session`;t?Z.getState().reconnectFailed(n):Z.getState().connectFailed(n);return}let o=t?`reconnecting`:`connecting`;if(Z.getState().status!==o){z({path:{assistant_id:e,session_id:r},throwOnError:!1}).catch(()=>{});return}d.current=vn(),i.current=pn(e,r,e=>{if(!(e.seq<=d.current.highWaterMark)){d.current.highWaterMark=e.seq;try{a.current(e.data)}catch{}}},e=>{_(),Z.getState().errorOccurred(e.message)}),g(r),p.current=!1,m.current=r,t?Z.getState().reconnectSucceeded(r):Z.getState().connectSucceeded(r);let s=u.current;s&&e&&Oe({path:{assistant_id:e,session_id:r},body:{cols:s.cols,rows:s.rows},throwOnError:!1}).catch(()=>{})},[e,h,g,_]),y=Z.use.status(),b=Z.use.reconnectAttempts();(0,Y.useEffect)(()=>{if(y!==`error`||p.current||b>=gn)return;let t=_n*2**b;return f.current=setTimeout(()=>{if(f.current=null,Z.getState().status!==`error`||p.current)return;i.current?.cancel(),i.current=null;let t=m.current;t&&e&&(m.current=null,z({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),Z.getState().requestReconnect(),v(!0)},t),()=>{f.current&&=(clearTimeout(f.current),null)}},[y,b,e,v]);let x=(0,Y.useCallback)(()=>{let{status:e}=Z.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(Z.getState().requestConnect(),v(!1))},[v]),ee=(0,Y.useCallback)(()=>{let{status:t,sessionId:n}=Z.getState();t!==`error`&&t!==`connected`||(i.current?.cancel(),i.current=null,_(),c.current&&=(clearTimeout(c.current),null),l.current=null,n&&e&&z({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),Z.getState().requestReconnect(),v(!0))},[e,v,_]),S=(0,Y.useCallback)(()=>{let{sessionId:t}=Z.getState();p.current=!0,f.current&&=(clearTimeout(f.current),null),i.current?.cancel(),i.current=null,_(),c.current&&=(clearTimeout(c.current),null),t&&e&&z({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().closed()},[e,_]),C=(0,Y.useCallback)(e=>{o.current+=e},[]),w=(0,Y.useCallback)((t,n)=>{u.current={cols:t,rows:n};let{status:r,sessionId:i}=Z.getState();r!==`connected`||!i||!e||(l.current={cols:t,rows:n},c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null;let t=l.current,n=Z.getState();!t||!n.sessionId||n.status!==`connected`||!e||(l.current=null,Oe({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},hn))},[e]);return(0,Y.useEffect)(()=>()=>{p.current=!0,f.current&&=(clearTimeout(f.current),null),i.current?.cancel(),i.current=null,s.current&&=(clearInterval(s.current),null),c.current&&=(clearTimeout(c.current),null);let{sessionId:t}=Z.getState();t&&e&&z({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().reset()},[e]),{connect:x,reconnect:ee,close:S,sendInput:C,sendResize:w}}function bn({onData:t,onResize:n,className:r,readOnly:i=!1,writeRef:a}){let{t:o}=W(`terminal`),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(t),u=(0,Y.useRef)(n),d=(0,Y.useRef)(i);return(0,Y.useLayoutEffect)(()=>{l.current=t,u.current=n,d.current=i}),(0,Y.useEffect)(()=>{let e=c.current;e&&(e.options.disableStdin=i,i||e.focus())},[i]),(0,Y.useEffect)(()=>{if(!s.current)return;let t=s.current,n=!1,r=null,o=null,f=null,p=null;return Promise.all([ct(()=>import(`./xterm-6q1BGEu_.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),ct(()=>import(`./xterm-addon-fit-DARdNMYD.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:s}])=>{if(n||!t)return;let m=new e({cursorBlink:!0,fontFamily:`"JetBrains Mono", "Fira Code", monospace`,fontSize:14,theme:{background:`#0f1117`,foreground:`#d4d4d4`,cursor:`#d4d4d4`,black:`#1e1e1e`,brightBlack:`#666666`,red:`#f44747`,brightRed:`#f44747`,green:`#6a9955`,brightGreen:`#6a9955`,yellow:`#dcdcaa`,brightYellow:`#dcdcaa`,blue:`#569cd6`,brightBlue:`#569cd6`,magenta:`#c586c0`,brightMagenta:`#c586c0`,cyan:`#4ec9b0`,brightCyan:`#4ec9b0`,white:`#d4d4d4`,brightWhite:`#ffffff`},disableStdin:i,scrollback:2e3});r=m;let h=new s;m.loadAddon(h),m.open(t),c.current=m,m.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),m.clear()),!1):!0);try{h.fit(),m.cols&&m.rows&&u.current?.({cols:m.cols,rows:m.rows})}catch{}f=m.onData(e=>{d.current||l.current?.(e)}),p=m.onResize(({cols:e,rows:t})=>{u.current?.({cols:e,rows:t})}),o=new ResizeObserver(()=>{try{h.fit()}catch{}}),o.observe(t),a&&(a.current=e=>m.write(e))}),()=>{n=!0,o?.disconnect(),f?.dispose(),p?.dispose(),r?.dispose(),c.current=null,a&&(a.current=null)}},[]),(0,X.jsx)(`div`,{ref:s,className:r,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":o(`terminalConsole.consoleAria`)})}function xn({status:e,onConnect:n,onDisconnect:r,onClear:i,className:a,maintenanceModeActive:o}){let{t:s}=W(`terminal`),c=e===`connecting`||e===`reconnecting`,l=e===`connected`,u=e===`idle`||e===`closed`||e===`error`;return(0,X.jsxs)(`div`,{className:[`flex items-center justify-between gap-3 border-b px-3 py-1.5`,a].filter(Boolean).join(` `),style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(_t,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:s(`terminalToolbar.heading`)}),(0,X.jsx)(Sn,{status:e}),o&&(0,X.jsx)(E,{tone:`warning`,leftIcon:(0,X.jsx)(St,{}),title:s(`terminalToolbar.recoveryTitle`),children:s(`terminalToolbar.recoveryTag`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(t,{variant:`ghost`,size:`compact`,leftIcon:(0,X.jsx)(Ct,{}),onClick:i,title:s(`terminalToolbar.clearTitle`),children:s(`terminalToolbar.clear`)}),l||c?(0,X.jsx)(t,{variant:`danger`,size:`compact`,loading:c,leftIcon:(0,X.jsx)(Zt,{}),onClick:r,disabled:c,title:s(`terminalToolbar.disconnectTitle`),children:s(`terminalToolbar.disconnect`)}):(0,X.jsx)(t,{variant:`primary`,size:`compact`,leftIcon:(0,X.jsx)(Kt,{}),onClick:n,disabled:!u,title:s(`terminalToolbar.connectTitle`),children:s(`terminalToolbar.connect`)})]})]})}function Sn({status:e}){let{t}=W(`terminal`),n=Cn[e],r=t(n.labelKey);return(0,X.jsx)(E,{tone:n.tone,leftIcon:(0,X.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,n.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":t(`terminalToolbar.statusAria`,{status:r}),children:r})}var Cn={idle:{labelKey:`terminalStatus.idle`,tone:`neutral`},connecting:{labelKey:`terminalStatus.connecting`,tone:`warning`,pulse:!0},connected:{labelKey:`terminalStatus.connected`,tone:`positive`},reconnecting:{labelKey:`terminalStatus.reconnecting`,tone:`warning`,pulse:!0},error:{labelKey:`terminalStatus.error`,tone:`negative`},closed:{labelKey:`terminalStatus.closed`,tone:`neutral`}};function wn({assistantId:e,className:t,maintenanceMode:n,service:r}){let{t:i}=W(),a=(0,Y.useRef)(null),{connect:o,close:s,sendInput:c,sendResize:l,reconnect:u}=yn({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);a.current?.(t)}catch{a.current?.(e)}},[]),service:r}),d=Z.use.status(),f=Z.use.errorMessage(),p=Z.use.reconnectAttempts(),m=(0,Y.useCallback)(()=>{d===`error`||d===`reconnecting`||p>0?u():o()},[d,p,o,u]),h=(0,Y.useCallback)(e=>{c(e)},[c]),g=(0,Y.useCallback)(({cols:e,rows:t})=>{l(e,t)},[l]),_=(0,Y.useCallback)(()=>{a.current?.(`\x1B[2J\x1B[H`)},[]),v=d!==`connected`,y=n?.enabled===!0;return(0,X.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,X.jsx)(xn,{status:d,onConnect:m,onDisconnect:s,onClear:_,maintenanceModeActive:y}),y&&(0,X.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-lighter text-[var(--system-mid-strong)]`,children:i(`terminalPanel.recoveryModeBanner`)}),d===`error`&&f&&(0,X.jsx)(`div`,{className:`border-b border-[var(--border-base)] bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:f}),(0,X.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`absolute inset-0`,children:(0,X.jsx)(bn,{onData:h,onResize:g,readOnly:v,writeRef:a,className:`h-full w-full`})})})]})}function Tn(){let{t:e}=W(`settings`),t=oe({platformHostedOnly:!0}),n=Ge(),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(`assistant`),p=(0,Y.useRef)(!1),m=(0,Y.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),h=(0,Y.useCallback)(async t=>{if(!(!t&&p.current)){t||u(!0);try{let e=await i();e.ok&&(p.current=!0,o(e.data.id),c(e.data.maintenance_mode))}catch(t){r(t,{context:`fetch_assistant_for_terminal`}),B.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{u(!1)}}},[e]);if((0,Y.useEffect)(()=>{t===`full`&&h()},[h,t]),t===`gated`)return null;let g=l||t===`full`&&n;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(_t,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`assistantTerminalPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantTerminalPanel.subtitle`)})]})]}),a&&(0,X.jsx)(fe,{options:[...m],value:d,onChange:f,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),t===`disabled`?(0,X.jsx)(he,{children:e(`assistantTerminalPanel.loginNotice`)}):g?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`assistantTerminalPanel.loading`)]}):a?(0,X.jsx)(wn,{assistantId:a,maintenanceMode:s??void 0,service:d,className:`min-h-0 flex-1`},d):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,X.jsx)(_t,{className:`h-4 w-4 shrink-0`}),(0,X.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var En=`0.11.10`;function Dn(){return Ke(En)}function On(e){return e instanceof D&&e.status===404}function kn(e){return e===`ready`?`positive`:e===`failed`?`negative`:`warning`}var An={ready:`Ready`,running:`Migrating`,failed:`Failed`,not_started:`Not started`},jn={ready:`debugDatabasePanel.statusReady`,running:`debugDatabasePanel.statusRunning`,failed:`debugDatabasePanel.statusFailed`,not_started:`debugDatabasePanel.statusNotStarted`};function Mn(){let{t:e}=W(`settings`),n=N(),r=ae(),i=Dn(),a=Je({...x({path:{assistant_id:n}}),enabled:r&&i}),o=!i||On(a.error);return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(Ot,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugDatabasePanel.title`,`Database`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugDatabasePanel.subtitle`,`Migration status for this assistant, including failed and deferred steps.`)})]})]}),(0,X.jsx)(t,{type:`button`,variant:`outlined`,size:`compact`,leftIcon:(0,X.jsx)(qt,{}),onClick:()=>{a.refetch()},disabled:!i||a.isFetching,children:e(`debugDatabasePanel.refresh`,`Refresh`)})]}),o?(0,X.jsx)(U,{tone:`info`,children:e(`debugDatabasePanel.unsupported`,`This assistant version does not report database diagnostics yet.`)}):a.isPending?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin`}),e(`debugDatabasePanel.loading`,`Loading database status…`)]}):a.error?(0,X.jsx)(U,{tone:`error`,children:e(`debugDatabasePanel.loadError`,`Could not load database diagnostics.`)}):a.data?(0,X.jsx)(Nn,{data:a.data}):null]})}function Nn({data:e}){let{t}=W(`settings`),n=e.failed.length>0,r=e.deferred.length>0;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(E,{tone:kn(e.state),children:t(jn[e.state],An[e.state])}),e.reason?(0,X.jsx)(p,{variant:`body-small-lighter`,children:e.reason}):null]}),e.error?(0,X.jsx)(U,{tone:`error`,children:e.error}):null,e.state===`running`?(0,X.jsx)(U,{tone:`info`,children:t(`debugDatabasePanel.migratingHint`,`Migrations are still running. Failed steps will appear here if a step throws.`)}):null,e.validationError?(0,X.jsx)(U,{tone:`error`,title:t(`debugDatabasePanel.validationHeading`,`Validation error`),children:e.validationError}):null,n?(0,X.jsxs)(`section`,{className:`space-y-2`,children:[(0,X.jsx)(p,{as:`h3`,variant:`title-small`,children:t(`debugDatabasePanel.failedHeading`,`Failed migrations`)}),e.failed.map(e=>(0,X.jsx)(Pn,{name:e.name,detail:e.error,detailMono:!0},e.name))]}):e.state===`running`?null:(0,X.jsx)(U,{tone:`success`,children:t(`debugDatabasePanel.noFailures`,`No failed migrations.`)}),r?(0,X.jsxs)(`section`,{className:`space-y-2`,children:[(0,X.jsx)(p,{as:`h3`,variant:`title-small`,children:t(`debugDatabasePanel.deferredHeading`,`Deferred migrations`)}),e.deferred.map(e=>(0,X.jsx)(Pn,{name:e.name,detail:t(`debugDatabasePanel.missingDeps`,{deps:e.missing.join(`, `)})},e.name))]}):null]})}function Pn({name:e,detail:t,detailMono:n=!1}){return(0,X.jsxs)(a.Root,{children:[(0,X.jsx)(a.Header,{className:`font-mono break-all`,children:e}),t?(0,X.jsx)(a.Body,{children:(0,X.jsx)(p,{as:`p`,variant:`body-small-lighter`,className:n?`font-mono break-words whitespace-pre-wrap`:`break-words`,children:t})}):null]})}var Fn=3,In={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function Ln({type:e}){let{t}=W(`settings`),n=e;return e===`point_in_time`?n=t(`assistantBackups.typePointInTime`):e===`scheduled`?n=t(`assistantBackups.typeScheduled`):e===`preview_channel`?n=t(`assistantBackups.typePreview`):e===`doctor`&&(n=t(`assistantBackups.typeDoctor`)),(0,X.jsx)(E,{tone:In[e]??`neutral`,children:n})}function Rn(e){if(e==null)return`—`;let t=String(e);/Z|[+-]\d{2}:?\d{2}$/.test(t)||(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function zn({assistantId:e}){let{t:n}=W(`settings`),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)([]),[u,d]=(0,Y.useState)(0),[f,p]=(0,Y.useState)(null),[m,g]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(null),[ee,S]=(0,Y.useState)(null),[w,T]=(0,Y.useState)(null),D=ie(),O=oe({platformHostedOnly:!0}),k=D&&O===`full`,ne=k&&w===e;w!==null&&!ne&&T(null);let A=(0,Y.useCallback)(e=>{te(e,{errorMessage:n(`assistantBackups.copyFailed`),onCopied:()=>{x(e),setTimeout(()=>x(null),2e3)}})},[n]),j=i!==e;(0,Y.useEffect)(()=>{let t=!1;return C(e).then(r=>{t||(r.ok?(l(r.data),s(null)):s(typeof r.error?.detail==`string`?r.error.detail:n(`assistantBackups.loadFailed`)),a(e))}).catch(()=>{t||(s(n(`assistantBackups.loadFailed`)),a(e))}),()=>{t=!0}},[e,u,n]);let M=(0,Y.useCallback)(async()=>{if(!m)return;let t=m;g(null),p(t.snapshot_name);try{let r=await h(e,t);if(r.ok)B.success(n(`assistantBackups.restoreSuccessToast`)),d(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:n(`assistantBackups.restoreFailedToast`);B.error(e)}}catch{B.error(n(`assistantBackups.restoreFailedToast`))}finally{p(null)}},[e,m,n]),N=(0,Y.useCallback)(async()=>{y(!0);try{let t=await Se(e);if(t.ok)B.success(n(`assistantBackups.createSuccessToast`)),d(e=>e+1);else{let e=typeof t.error?.detail==`string`?t.error.detail:n(`assistantBackups.createFailedToast`);B.error(e)}}catch{B.error(n(`assistantBackups.createFailedToast`))}finally{y(!1)}},[e,n]),P=(0,Y.useCallback)(async()=>{let t=w;if(T(null),!(!k||t!==e)){S(`preparing`);try{let{bundleKey:e,runtimeVersion:n}=await Ht(t,{onStep:S});S(`downloading`);let r=Ut(t,new Date);await _(await Vt(e,n,r),r)}catch(e){r(e,{context:`assistant-backups-export`}),B.error(n(`assistantBackups.exportFailedToast`),{description:e instanceof Bt?e.message:void 0})}finally{S(null)}}},[e,k,w,n]);if(j)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin`}),n(`assistantBackups.loading`)]});if(o)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(dt,{className:`h-4 w-4 shrink-0`}),o]});let re=c.filter(e=>e.backup_type===`point_in_time`).length,F=ee!==null,I=n(`assistantBackups.export`);ee===`preparing`?I=n(`assistantBackups.exportPreparing`):ee===`exporting`?I=n(`assistantBackups.exportExporting`):ee===`downloading`&&(I=n(`assistantBackups.exportDownloading`));let L=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-3`,children:[re>=Fn&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`assistantBackups.oldestRemovedNotice`)}),k&&(0,X.jsx)(t,{variant:`outlined`,loading:F,leftIcon:(0,X.jsx)(At,{}),onClick:()=>T(e),disabled:F||f!==null,className:`shrink-0`,children:I}),(0,X.jsx)(t,{variant:`outlined`,loading:v,leftIcon:(0,X.jsx)(Jt,{}),onClick:N,disabled:v||f!==null,className:`shrink-0`,children:n(v?`assistantBackups.creating`:`assistantBackups.createBackup`)})]}),ae=(0,X.jsx)(we,{open:ne,title:n(`assistantBackups.exportTitle`),message:n(`assistantBackups.exportMessage`),confirmLabel:n(`assistantBackups.export`),onConfirm:P,onCancel:()=>T(null)});return c.length===0?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(`div`,{className:`flex justify-end`,children:L}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`assistantBackups.empty`)})]}),ae]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-2`,children:[L,(0,X.jsx)(`div`,{className:`hidden lg:block`,children:(0,X.jsxs)(`table`,{className:`w-full table-fixed text-body-medium-lighter`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left text-body-small-default text-[var(--content-secondary)]`,children:[(0,X.jsx)(`th`,{className:`w-[35%] pb-2 pr-4`,children:n(`assistantBackups.columnSnapshotName`)}),(0,X.jsx)(`th`,{className:`w-[13%] pb-2 pr-4`,children:n(`assistantBackups.columnType`)}),(0,X.jsx)(`th`,{className:`w-[12%] pb-2 pr-4`,children:n(`assistantBackups.columnReady`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2 pr-4`,children:n(`assistantBackups.columnCreated`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2`})]})}),(0,X.jsx)(`tbody`,{children:c.map(e=>(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,children:[(0,X.jsx)(`td`,{className:`py-2.5 pr-4`,children:(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:b===e.snapshot_name?(0,X.jsx)(ht,{className:`text-green-500`}):(0,X.jsx)(Dt,{}),expandOnMobile:!1,onClick:()=>A(e.snapshot_name),"data-reveal":``,className:`shrink-0`,tooltip:n(`assistantBackups.copySnapshotName`),"aria-label":n(`assistantBackups.copySnapshotName`)})]})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(Ln,{type:e.backup_type})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(E,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?n(`assistantBackups.ready`):n(`assistantBackups.pending`)})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4 text-body-medium-default text-[var(--content-default)]`,children:Rn(e.created_at)}),(0,X.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,X.jsx)(t,{variant:`ghost`,loading:f===e.snapshot_name,leftIcon:(0,X.jsx)(ft,{}),onClick:()=>g(e),disabled:f!==null||F||!e.ready_to_use,title:e.ready_to_use?void 0:n(`assistantBackups.notReady`),children:n(`assistantBackups.restore`)})})]},e.snapshot_name))})]})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3 lg:hidden`,children:c.map(e=>(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] p-3`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:b===e.snapshot_name?(0,X.jsx)(ht,{className:`text-green-500`}):(0,X.jsx)(Dt,{}),expandOnMobile:!1,onClick:()=>A(e.snapshot_name),className:`shrink-0`,tooltip:n(`assistantBackups.copySnapshotName`),"aria-label":n(`assistantBackups.copySnapshotName`)})]}),(0,X.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-2 text-body-medium-lighter`,children:[(0,X.jsx)(Ln,{type:e.backup_type}),(0,X.jsx)(E,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?n(`assistantBackups.ready`):n(`assistantBackups.pending`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Rn(e.created_at)})]}),(0,X.jsx)(t,{variant:`ghost`,loading:f===e.snapshot_name,leftIcon:(0,X.jsx)(ft,{}),onClick:()=>g(e),disabled:f!==null||F||!e.ready_to_use,title:e.ready_to_use?void 0:n(`assistantBackups.notReady`),children:n(`assistantBackups.restore`)})]},e.snapshot_name))})]}),(0,X.jsx)(we,{open:m!==null,title:n(`assistantBackups.restoreTitle`),message:m?n(`assistantBackups.restoreMessage`,{name:m.snapshot_name}):``,confirmLabel:n(`assistantBackups.restore`),destructive:!0,onConfirm:M,onCancel:()=>g(null)}),ae]})}function Bn({assistantId:e,maintenanceMode:n,onMaintenanceModeChange:i}){let{t:a}=W(`settings`),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(null),u=oe({platformHostedOnly:!0}),d=Ge(),f=(0,Y.useCallback)(async()=>{s(!0),l(null);try{let{response:t}=await v({path:{assistant_id:e},throwOnError:!1});t?.ok?await i():(r(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),l(a(`recoveryModeControls.enterError`)))}catch(e){r(e,{context:`enter_maintenance_mode`}),l(a(`recoveryModeControls.enterError`))}finally{s(!1)}},[e,i,a]),p=(0,Y.useCallback)(async()=>{s(!0),l(null);try{let{response:t}=await F({path:{assistant_id:e},throwOnError:!1});t?.ok?await i():(r(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),l(a(`recoveryModeControls.exitError`)))}catch(e){r(e,{context:`exit_maintenance_mode`}),l(a(`recoveryModeControls.exitError`))}finally{s(!1)}},[e,i,a]);if(u===`gated`)return null;let m=n?.enabled===!0,h=o||u===`full`&&d;return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(St,{className:`h-4 w-4 shrink-0 ${m?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:a(`recoveryModeControls.title`)}),m?(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--system-mid-strong)]`,children:a(`recoveryModeControls.activeDescription`)}):(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:a(`recoveryModeControls.inactiveDescription`)})]})]}),(0,X.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:u===`disabled`?null:h?(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):m?(0,X.jsx)(t,{variant:`outlined`,onClick:p,children:a(`recoveryModeControls.resumeAssistant`)}):(0,X.jsx)(t,{variant:`dangerOutline`,onClick:f,children:a(`recoveryModeControls.enter`)})})]}),u===`disabled`&&(0,X.jsx)(he,{children:a(m?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),c&&(0,X.jsx)(U,{tone:`error`,children:c})]})}async function Vn(e,t,n){let r=await Ee(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await Me(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function Hn({assistantId:e,isLocal:n}){let{t:r}=W(`settings`),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(t,{variant:`outlined`,loading:i,leftIcon:(0,X.jsx)(ft,{}),onClick:()=>s(!0),disabled:i,className:`shrink-0`,children:r(`restartAssistant.button`)}),(0,X.jsx)(we,{open:o,title:r(`restartAssistant.confirmTitle`),message:r(`restartAssistant.confirmMessage`),confirmLabel:r(`restartAssistant.confirmLabel`),onConfirm:async()=>{s(!1),a(!0);try{if(n&&I()&&We(e)){let t=await Vn(e,r(`restartAssistant.failStop`),r(`restartAssistant.failStart`));t.ok?B.success(r(`restartAssistant.toastRestarting`)):B.error(t.error??r(`restartAssistant.toastFailed`))}else{let t=await u(e);if(t.ok)B.success(r(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:r(`restartAssistant.toastFailed`);B.error(e)}}}catch{B.error(r(`restartAssistant.toastFailed`))}finally{a(!1)}},onCancel:()=>s(!1)})]})}function Un(){let{t:e}=W(`settings`),n=ot(),a=o.use.user(),s=oe(),c=g(a),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!0),p=(0,Y.useRef)(!1),m=(0,Y.useCallback)(()=>{Le(a?.id??null),B.success(e(`debugControlsPanel.onboardingClearedToast`)),n(He.onboarding.privacy)},[n,e,a?.id]),h=(0,Y.useCallback)(async t=>{if(!(!t&&p.current)){t||f(!0);try{let e=await i();e.ok?(p.current=!0,u(e.data)):u(null)}catch(t){r(t,{context:`fetch_assistant_for_debug_controls`}),B.error(e(`debugControlsPanel.loadFailedToast`))}finally{f(!1)}}},[e]);return(0,Y.useEffect)(()=>{h()},[h]),(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(St,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugControlsPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.subtitle`)})]})]}),d?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):l?(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.restartTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(Hn,{assistantId:l.id,isLocal:l.is_local})})]}),(0,X.jsx)(Bn,{assistantId:l.id,maintenanceMode:l.maintenance_mode,onMaintenanceModeChange:()=>h(!0)}),c&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.replayTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(t,{variant:`outlined`,leftIcon:(0,X.jsx)(qt,{}),onClick:m,children:e(`debugControlsPanel.replay`)})})]}),s===`disabled`&&(0,X.jsx)(he,{children:e(`debugControlsPanel.loginNotice`)}),s!==`disabled`&&(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,X.jsx)(Pt,{className:`h-4 w-4 text-[var(--content-secondary)]`}),(0,X.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.backups`)})]}),(0,X.jsx)(zn,{assistantId:l.id})]})]}):(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function Wn({text:e}){let{t:n}=W(`settings`),{copy:r,copied:i}=b({errorMessage:n(`doctorChatBlocks.copyError`)});return(0,X.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,X.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,X.jsx)(ht,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${i?`opacity-100`:`opacity-0`}`}),(0,X.jsx)(Dt,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${i?`opacity-0`:`opacity-100`}`})]}),expandOnMobile:!1,onClick:()=>r(e),tooltip:n(i?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":n(i?`doctorChatBlocks.copyAriaCopied`:`doctorChatBlocks.copyAria`),"data-reveal":``,className:`bg-[var(--surface-overlay)]`})}function Gn({entry:e}){let{t}=W(`settings`),[n,r]=(0,Y.useState)(!1),{toolName:i,input:a,result:o,isError:s,status:c}=e.meta,l=c===`running`,u=t(l?`doctorChatBlocks.runningStep`:s?`doctorChatBlocks.failedStep`:`doctorChatBlocks.completedStep`),d=!l&&(o!==void 0||Object.keys(a).length>0);return(0,X.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,X.jsxs)(`button`,{type:`button`,"aria-expanded":d?n:void 0,onClick:()=>{d&&r(!n)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${s?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${d?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${n?`rounded-b-none`:``}`,children:[l?(0,X.jsx)(xt,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):s?(0,X.jsx)(wt,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,X.jsx)(Ft,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:u}),(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:d&&(n?(0,X.jsx)(bt,{className:`h-4 w-4`}):(0,X.jsx)(kt,{className:`h-4 w-4`}))})]}),n&&d&&(0,X.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-base)] bg-[var(--surface-base)] dark:bg-[var(--surface-lift)]`}`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(St,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:i})]}),(0,X.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,X.jsxs)(`div`,{className:`mt-2.5`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.technicalDetails`)}),Object.entries(a).map(([e,t])=>(0,X.jsxs)(`div`,{className:`mt-0.5`,children:[(0,X.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),o!==void 0&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.output`)}),(0,X.jsx)(`div`,{className:`rounded-md border p-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]/50`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:(0,X.jsx)(`pre`,{className:`max-h-60 overflow-y-auto whitespace-pre-wrap break-words text-body-small-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:o.length>2e3?o.slice(0,2e3)+`...`:o})})]})]})]})}function Kn({entry:e,onRespond:t,disabled:n}){let{t:r}=W(`settings`),{toolName:i,description:a,input:o}=e.meta,[s,c]=(0,Y.useState)(!1),l=!!i||!!a||!!o,u=i===`exec_command`;return(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(jt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.confirmationRequired`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve`),className:`flex items-center gap-1.5 rounded-md bg-[var(--system-positive-strong)] px-3 py-1.5 text-body-small-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.allowOnce`)}),u&&(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve all exec`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-positive-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-positive-strong)] transition-colors hover:bg-[var(--system-positive-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.alwaysAllow`)}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`deny`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-negative-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.deny`)})]})]}),l&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(!s),"aria-expanded":s,className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(pt,{className:`h-3 w-3 transition-transform ${s?`rotate-90`:``}`}),r(s?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),s&&(0,X.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[i&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{children:r(`doctorChatBlocks.toolLabel`)}),(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 py-0.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:i})]}),a&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a}),o&&Object.keys(o).length>0&&(0,X.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap rounded bg-[var(--surface-base)] p-2 text-label-medium-default text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:JSON.stringify(o,null,2)})]})]})]})}function qn({entry:e,onRespond:n,disabled:r}){let{t:i}=W(`settings`),{toolName:a}=e.meta;return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(Pt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:i(`doctorChatBlocks.backupPromptTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,X.jsx)(Qe,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:a},components:{toolCode:(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`})}})})]})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(t,{variant:`primary`,disabled:r,onClick:()=>n(`backup`),children:i(`doctorChatBlocks.backUp`)}),(0,X.jsx)(t,{variant:`outlined`,disabled:r,onClick:()=>n(`skip_backup`),children:i(`doctorChatBlocks.skip`)})]})]})})}function Jn({onOpenFeedback:e}){let{t:n}=W(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(Et,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n(`doctorChatBlocks.feedbackTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`doctorChatBlocks.feedbackBody`)})]})]}),(0,X.jsx)(`div`,{className:`flex shrink-0`,children:(0,X.jsx)(t,{variant:`outlined`,onClick:e,leftIcon:(0,X.jsx)(Et,{}),children:n(`doctorChatBlocks.shareFeedback`)})})]})})}function Yn({question:e,answer:n,onRespond:r,disabled:i}){let{t:a}=W(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(Ft,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e})]}),n?(0,X.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:n===`resolved`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Xt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),a(`doctorChatBlocks.gladSolved`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Yt,{className:`h-4 w-4`}),a(`doctorChatBlocks.notSolved`)]})}):(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(t,{variant:`outlined`,onClick:()=>r(!0),disabled:i,iconOnly:(0,X.jsx)(Xt,{}),"aria-label":a(`doctorChatBlocks.solvedAria`),title:a(`doctorChatBlocks.solvedAria`)}),(0,X.jsx)(t,{variant:`outlined`,onClick:()=>r(!1),disabled:i,iconOnly:(0,X.jsx)(Yt,{}),"aria-label":a(`doctorChatBlocks.notSolvedAria`),title:a(`doctorChatBlocks.notSolvedAria`)})]})]})})}function Xn({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-end gap-1.5`,children:[(0,X.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,X.jsx)(Wn,{text:e.content})}),(0,X.jsx)(`div`,{className:`max-w-[80%] whitespace-pre-wrap rounded-lg bg-[var(--surface-lift)] px-4 py-3 text-chat text-[var(--content-default)]`,children:e.content})]})}var Zn=({href:e,children:t})=>(0,X.jsx)(qe,{href:e,tone:`default`,children:t});function Qn({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-start gap-1.5`,children:[(0,X.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,X.jsx)(se,{content:e.content,linkComponent:Zn})}),(0,X.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,X.jsx)(Wn,{text:e.content})})]})}function $n({entry:e}){return(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(dt,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{children:e.content})]})}function er({entry:e}){return(0,X.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var tr=`0 0 724 691`,nr=`#DB4B77`,rr=`#F2F2F2`,ir=`#1A1A1A`,ar=`M707.996 341.488C683.572 371.035 643.096 379.081 606.995 383.544C585.458 386.205 563.817 387.947 542.142 388.871C531.271 389.34 520.394 389.578 509.517 389.597C509.127 389.597 508.73 389.604 508.34 389.604C539.98 409.658 571.958 431.456 594.664 461.683C615.354 489.223 627.369 524.084 618.659 558.345C614.714 573.858 606.844 588.374 594.889 599.167C581.012 611.696 562.615 618.079 543.959 615.227C524.928 612.31 508.592 601.272 493.122 590.513C477.163 579.416 461.759 567.586 446.956 554.985C432.226 542.449 418.071 529.273 404.782 515.212C401.597 511.845 398.478 508.439 395.411 504.987C395.332 506.221 395.246 507.449 395.16 508.67C393.64 530.804 390.508 552.813 385.876 574.505C381.812 593.503 376.631 612.297 370.221 630.642C364.769 646.24 357.917 662.018 345.916 673.761C335.032 684.415 319.932 690.693 304.614 689.954C288.622 689.175 276.49 679.894 268.619 666.374C260.055 651.654 254.761 634.51 250.294 618.172C245.424 600.355 242.173 582.096 240.561 563.692C238.882 544.456 238.677 524.613 240.752 505.093C240.164 505.898 239.57 506.703 238.955 507.509C233.457 514.704 227.14 521.378 220.716 527.755C208.154 540.218 194.349 551.433 179.54 561.131C166.422 569.719 152.519 577.132 138.073 583.238C122.86 589.674 106.333 595.787 89.7861 597.351C74.8317 598.764 59.4075 595.437 49.4026 583.548C40.8116 573.336 37.4353 559.13 38.4529 546.02C39.6691 530.33 47.6584 515.879 57.1277 503.647C68.289 489.237 81.7962 476.568 94.8805 463.941C112.63 446.817 130.797 429.759 149.769 413.758C133.652 415.052 117.487 415.257 101.562 414.385C83.9244 413.414 65.996 411.269 49.079 406.015C34.3755 401.454 19.6257 393.756 10.2747 381.167C2.05413 370.11 -2.30039 355.053 1.24128 341.481C5.30564 325.922 19.0643 317.597 32.7163 311.115C64.555 296.005 99.8366 290.097 134.834 288.763C152.538 288.09 170.274 288.71 187.945 289.879C189.611 289.984 191.276 290.097 192.948 290.209C176.744 285.403 161.776 275.713 148.831 265.151C134.458 253.42 121.869 239.663 110.318 225.193C99.3547 211.456 88.8807 197.112 79.3448 182.351C69.558 167.188 61.3172 149.748 63.1485 131.237C66.4331 98.0067 102.368 85.2731 131.491 90.3755C149.836 93.5902 166.349 102.892 181.588 113.209C196.325 123.19 210.724 133.792 224.615 144.922C235.558 153.695 246.224 162.923 256.142 172.858C254.979 152.288 253.539 131.614 254.438 111.017C255.224 92.9499 258.066 74.7764 265.348 58.1084C272.082 42.6945 282.748 29.3267 296.143 19.1613C309.34 9.15344 326.309 1.12634 343.035 0.0771651C360.441 -1.01881 374.92 9.70203 384.813 23.1751C403.157 48.167 404.803 82.1373 400.666 111.764C397.904 131.527 392.564 150.843 388.461 170.35C386.386 180.225 384.575 190.166 383.524 200.207C383.445 200.973 383.379 201.738 383.313 202.511C384.529 200.299 385.863 198.121 387.284 195.949C392.887 187.394 399.146 179.149 405.674 171.274C418.838 155.398 433.225 140.565 448.688 126.907C474.956 103.711 506.371 78.8764 542.863 76.8298C551.982 76.3212 561.479 77.3051 569.778 81.319C576.968 84.7978 582.638 90.5806 586.583 97.4655C594.909 112.028 596.74 129.666 594.387 146.05C589.213 182.06 565.7 211.211 538.798 234.164C524.716 246.184 509.576 256.879 494.542 267.665C492.553 269.091 490.564 270.517 488.575 271.942C500.847 267.367 513.29 263.228 525.807 259.459C547.515 252.917 569.593 247.537 592.101 244.567C611.965 241.946 632.332 241.095 652.289 243.26C667.541 244.916 683.03 248.686 696.346 256.528C710.032 264.595 720.156 277.487 722.555 293.423C725.144 310.667 718.966 328.22 707.996 341.488Z`,or=[{d:`M320.715 343.724C320.838 359.862 316.431 375.655 310.169 390.408C310.138 390.482 310.107 390.555 310.07 390.629C307.833 395.777 305.299 400.893 302.372 405.757C296.079 416.243 287.955 425.559 277.045 431.507C262.264 439.554 242.097 440.564 229.523 427.806C219.821 417.961 217.343 402.876 219.161 389.644C221.017 376.135 227.365 363.661 231.267 350.694C233.246 344.106 234.793 337.265 234.398 330.338C233.998 323.381 230.971 317.932 226.94 312.433C222.909 306.929 220.468 301.067 221.042 294.11C221.578 287.632 224.148 281.58 228.352 276.63C238.627 264.543 255.953 264.131 269.612 270.165C277.057 273.453 283.597 278.464 289.644 283.858C293.749 287.515 297.737 291.333 301.41 295.427C302.884 297.065 304.301 298.746 305.663 300.476C315.513 313.012 320.592 327.789 320.715 343.724Z`,fill:rr},{d:`M305.663 300.476C304.301 298.746 302.884 297.065 301.41 295.427C297.737 291.333 293.749 287.515 289.644 283.858C283.597 278.464 277.057 273.453 269.612 270.165C255.953 264.131 238.627 264.543 228.352 276.63C224.148 281.58 221.578 287.632 221.042 294.11C220.468 301.067 222.909 306.929 226.94 312.433C230.971 317.932 233.998 323.381 234.398 330.338C234.793 337.265 233.246 344.106 231.267 350.694C227.365 363.661 221.017 376.135 219.161 389.644C217.343 402.876 219.821 417.961 229.523 427.806C242.097 440.564 262.264 439.554 277.045 431.507C287.955 425.559 296.079 416.243 302.372 405.757C305.299 400.893 307.833 395.777 310.07 390.629C310.107 390.555 310.138 390.482 310.169 390.408C316.431 375.655 320.838 359.862 320.715 343.724C320.592 327.789 315.513 313.012 305.663 300.476ZM304.524 387.107C298.767 400.413 291.229 413.86 279.185 422.468C278.809 422.733 278.432 422.997 278.05 423.256C277.687 423.502 277.317 423.743 276.941 423.977C265.698 431.107 250.831 434.142 238.867 426.926C227.846 420.282 224.518 406.305 225.233 394.268C225.96 382.034 231.477 370.458 235.428 359.025C239.323 347.739 242.855 335.277 239.921 323.338C238.522 317.673 235.458 313.117 232.087 308.456C228.315 303.235 226.558 297.749 228.037 291.302C231.212 277.479 244.84 270.743 258.221 273.348C267.843 275.226 276.219 280.681 283.665 287.134C283.721 287.183 283.782 287.232 283.837 287.282C287.314 290.311 290.587 293.549 293.681 296.733C305.238 308.622 312.973 322.624 314.027 339.383C315.057 355.743 310.878 372.139 304.524 387.107Z`,fill:rr},{d:`M320.716 343.724C320.839 359.862 316.432 375.655 310.17 390.408C310.139 390.481 310.108 390.555 310.071 390.629C307.833 395.777 305.3 400.893 302.372 405.757C299.642 409.766 296.597 413.571 293.145 417.043C293.022 417.13 292.893 417.21 292.769 417.29C288.011 420.43 282.574 422.85 276.941 423.976C270.58 425.251 263.972 424.882 257.803 422.031C244.686 415.978 243.435 402.371 248.662 390.796C254.745 377.97 263.658 365.853 265.575 351.691C266.647 343.699 265.051 336.243 262.672 328.602C260.465 321.491 257.956 314.225 258.197 306.726C258.548 295.587 266.604 288.944 278.094 287.558C279.912 287.331 281.779 287.189 283.666 287.134C286.643 287.029 289.669 287.14 292.664 287.478C293.028 287.78 293.379 288.082 293.737 288.39C296.363 290.662 298.945 292.995 301.411 295.427C302.884 297.065 304.302 298.746 305.664 300.476C315.513 313.012 320.592 327.789 320.716 343.724Z`,fill:ir},{d:`M449.963 343.724C450.086 359.862 445.679 375.655 439.417 390.408C439.386 390.482 439.355 390.555 439.318 390.629C437.081 395.777 434.548 400.893 431.62 405.757C425.327 416.243 417.203 425.559 406.293 431.507C391.512 439.554 371.345 440.564 358.771 427.806C349.069 417.961 346.591 402.876 348.409 389.644C350.265 376.135 356.613 363.661 360.515 350.694C362.493 344.106 364.041 337.265 363.646 330.338C363.245 323.381 360.219 317.932 356.188 312.433C352.157 306.929 349.716 301.067 350.289 294.11C350.826 287.632 353.396 281.58 357.599 276.63C367.874 264.543 385.201 264.131 398.859 270.165C406.305 273.453 412.845 278.464 418.891 283.858C422.996 287.515 426.985 291.333 430.658 295.427C432.131 297.065 433.549 298.746 434.911 300.476C444.761 313.012 449.84 327.789 449.963 343.724Z`,fill:rr},{d:`M434.911 300.476C433.549 298.746 432.131 297.065 430.658 295.427C426.985 291.333 422.996 287.515 418.891 283.858C412.845 278.464 406.305 273.453 398.859 270.165C385.201 264.131 367.874 264.543 357.599 276.63C353.396 281.58 350.826 287.632 350.289 294.11C349.716 301.067 352.157 306.929 356.188 312.433C360.219 317.932 363.245 323.381 363.646 330.338C364.041 337.265 362.493 344.106 360.515 350.694C356.613 363.661 350.265 376.135 348.409 389.644C346.591 402.876 349.069 417.961 358.771 427.806C371.345 440.564 391.512 439.554 406.293 431.507C417.203 425.559 425.327 416.243 431.62 405.757C434.548 400.893 437.081 395.777 439.318 390.629C439.355 390.555 439.386 390.482 439.417 390.408C445.679 375.655 450.086 359.862 449.963 343.724C449.84 327.789 444.761 313.012 434.911 300.476ZM433.771 387.107C428.014 400.413 420.476 413.86 408.432 422.468C408.056 422.733 407.68 422.997 407.298 423.256C406.935 423.502 406.565 423.743 406.189 423.977C394.946 431.107 380.079 434.142 368.115 426.926C357.094 420.282 353.766 406.305 354.481 394.268C355.208 382.034 360.724 370.458 364.675 359.025C368.571 347.739 372.103 335.277 369.169 323.338C367.77 317.673 364.706 313.117 361.335 308.456C357.562 303.235 355.806 297.749 357.285 291.302C360.46 277.479 374.087 270.743 387.469 273.348C397.09 275.226 405.467 280.681 412.913 287.134C412.968 287.183 413.03 287.232 413.085 287.282C416.562 290.311 419.835 293.549 422.929 296.733C434.486 308.622 442.221 322.624 443.275 339.383C444.305 355.743 440.125 372.139 433.771 387.107Z`,fill:rr},{d:`M449.964 343.724C450.087 359.862 445.68 375.655 439.418 390.408C439.387 390.481 439.356 390.555 439.319 390.629C437.081 395.777 434.548 400.893 431.621 405.757C428.89 409.766 425.845 413.571 422.393 417.043C422.27 417.13 422.141 417.21 422.017 417.29C417.259 420.43 411.823 422.85 406.189 423.976C399.828 425.251 393.221 424.882 387.051 422.031C373.934 415.978 372.683 402.371 377.91 390.796C383.993 377.97 392.906 365.853 394.823 351.691C395.896 343.699 394.299 336.243 391.92 328.602C389.713 321.491 387.205 314.225 387.445 306.726C387.797 295.587 395.852 288.944 407.342 287.558C409.16 287.331 411.028 287.189 412.914 287.134C415.891 287.029 418.917 287.14 421.913 287.478C422.276 287.78 422.628 288.082 422.985 288.39C425.611 290.662 428.193 292.995 430.659 295.427C432.132 297.065 433.55 298.746 434.912 300.476C444.762 313.012 449.841 327.789 449.964 343.724Z`,fill:ir}];function sr({className:e}){return(0,X.jsxs)(`svg`,{viewBox:tr,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:ar,fill:nr}),or.map((e,t)=>(0,X.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,X.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,X.jsx)(`path`,{d:`M 230 440 Q 210 560 320 585 Q 430 610 500 540`,stroke:`#1F1F23`,strokeWidth:`22`,strokeLinecap:`round`,fill:`none`}),(0,X.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,X.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}var cr=`Did the Doctor solve your problem?`;function lr(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function ur(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function dr(e){return e.slice(ur(e)+1).some(e=>e.kind===`feedback_prompt`)}function fr(e){let t=ur(e)+1,n=[],r=[];return e.forEach((e,i)=>{if(i>=t&&e.kind===`user_outcome_prompt`){r.push(e);return}n.push(e)}),{transcript:n,trailingPrompts:r}}var pr=/^\d+-\d+$/;function mr(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function hr(e){return typeof e==`string`&&pr.test(e)}function gr(e){return e.map(e=>e.source_event_id).filter(hr)}function _r(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(hr(n))return n}return null}function vr(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=lr(n.metadata);switch(n.kind){case`user`:t.push({id:n.id,kind:`user`,content:n.content,timestamp:e});break;case`assistant`:t.push({id:n.id,kind:`assistant`,content:n.content,timestamp:e});break;case`tool_call`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`tool_call`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,status:`running`}});break}case`tool_result`:{let e=r.toolCallId,i=r.isError===!0,a=t.findIndex(t=>t.kind===`tool_call`&&t.meta.toolCallId===e);if(a===-1)break;let o=t[a];if(o.kind!==`tool_call`)break;t[a]={...o,meta:{...o.meta,result:n.content,isError:i,status:i?`error`:`completed`}};break}case`approval`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`approval`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,description:typeof r.description==`string`?r.description:``}});break}case`status`:if(n.content===`completed`)t.push({id:n.id,kind:`status`,content:`Session completed`,timestamp:e});else if(n.content===`error`)t.push({id:n.id,kind:`status`,content:`Session ended with error`,timestamp:e});else if(n.content===`feedback_prompt`){let i=typeof r.summary==`string`?r.summary.trim():``,a=mr(r);t.push({id:n.id,kind:`feedback_prompt`,content:i||`Share feedback`,...a?{meta:{reason:a}}:{},timestamp:e})}else n.content===`user_outcome_prompt`&&t.push({id:n.id,kind:`user_outcome_prompt`,content:cr,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function yr(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function br(e,t){return t!==`resolved`&&t!==`not_resolved`?e:e.map(e=>e.kind===`user_outcome_prompt`?{...e,meta:{...e.meta,answer:t}}:e)}function xr(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`approval`}return!1}function Sr(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`backup_prompt`}return!1}function Cr(e){let t=[];for(let n of e)switch(n.kind){case`user`:t.push(`User: ${n.content}`);break;case`assistant`:t.push(`Doctor: ${n.content}`);break;case`feedback_prompt`:t.push(`Feedback Prompt: ${n.content}`);break;case`user_outcome_prompt`:t.push(`User Outcome Prompt: ${n.content}${n.meta?.answer?` (answered: ${n.meta.answer===`resolved`?`Yes`:`No`})`:``}`);break;case`tool_call`:{let{toolName:e,input:r,result:i,isError:a}=n.meta;t.push(`Tool Call: ${e}`),Object.keys(r).length>0&&t.push(` Input: ${JSON.stringify(r,null,2)}`),i!==void 0&&t.push(` ${a?`Error`:`Output`}: ${i}`);break}case`approval`:{let{toolName:e,description:r,input:i}=n.meta;t.push(`Approval Required: ${e}${r?` — ${r}`:``}`),Object.keys(i).length>0&&t.push(` Input: ${JSON.stringify(i,null,2)}`);break}case`backup_prompt`:t.push(`Backup Prompt: ${n.meta.toolName}`);break;case`error`:t.push(`Error: ${n.content}`);break;case`status`:t.push(`--- ${n.content} ---`);break}return t.join(`
3
+
4
+ `)}function wr(e){return e[0]??null}var Q=k(Ye()((e,t)=>({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,lastAssistantId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set,nextId:()=>{let n=t().entryCounter+1;return e({entryCounter:n}),`entry-${n}`},appendEntry:n=>{let r=t().nextId();e(e=>({entries:[...e.entries,{...n,id:r,timestamp:Date.now()}]}))},updateEntries:t=>{e(e=>({entries:t(e.entries)}))},teardown:()=>{e({sessionId:null,sessionStatus:`completed`,pendingApproval:!1,pendingBackup:!1,thinking:!1,streamingEntryId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},reset:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},resetForNewSession:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!0,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},setInputValue:t=>e({inputValue:t}),setThinking:t=>e({thinking:t}),setPendingApproval:t=>e({pendingApproval:t}),setPendingBackup:t=>e({pendingBackup:t}),setSessionId:t=>e({sessionId:t}),setSessionStatus:t=>e({sessionStatus:t}),setHistoryDismissed:t=>e({historyDismissed:t}),setStreamingEntryId:t=>e({streamingEntryId:t}),setEntries:t=>e({entries:t}),resetReplayState:()=>{e({latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},seedReplayState:(t,n)=>{e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(t)})},recordReplayableSourceEventId:n=>{let r=t().processedSourceEventIds;return r.has(n)?!1:(e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(r).add(n)}),!0)}})));function Tr({onShareFeedback:e,onCopySession:n,defaultOpen:r}){let{t:i}=W(`settings`),a=i(`doctorPanel.sessionMenu`);return!e&&!n?null:(0,X.jsxs)(P.Root,{defaultOpen:r,children:[(0,X.jsx)(P.Trigger,{asChild:!0,children:(0,X.jsx)(t,{variant:`ghost`,size:`regular`,expandOnMobile:!1,iconOnly:(0,X.jsx)(Lt,{}),"aria-label":a})}),(0,X.jsxs)(P.Content,{title:a,align:`end`,children:[e?(0,X.jsx)(P.Item,{icon:Et,label:i(`doctorPanel.shareFeedback`),onSelect:e}):null,n?(0,X.jsx)(P.Item,{icon:Tt,label:i(`doctorPanel.copySession`),onSelect:n}):null]})]})}var Er=`Hi! I'm the Doctor. State the nature of the issue you're experiencing with your assistant and I'll help diagnose and fix it.`,Dr=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Or(e,t){j({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(e=>r(e,{context:`doctor_cleanup_destroy`})),F({path:{assistant_id:e},throwOnError:!1}).catch(e=>r(e,{context:`doctor_cleanup_maintenance_exit`}))}var $={source_event_id:G().nullable().optional()},kr=et(`type`,[K({...$,type:q(`message`),content:G()}),K({...$,type:q(`message_delta`),content:G()}),K({...$,type:q(`tool_call`),toolName:G(),input:tt(G(),it()),id:G()}),K({...$,type:q(`tool_result`),toolCallId:G(),content:G(),isError:Ze()}),K({...$,type:q(`approval_required`),toolName:G(),input:tt(G(),it()),id:G(),description:G()}),K({...$,type:q(`backup_prompt`),toolName:G()}),K({...$,type:q(`feedback_prompt`),summary:G().optional(),reason:$e([`bug_report`,`feature_request`,`other`]).optional(),classification:$e([`bug_report`,`feature_request`,`other`]).optional()}),K({...$,type:q(`user_outcome_prompt`)}),K({...$,type:q(`status`),status:Xe([q(`active`),q(`completed`),q(`error`)])}),K({...$,type:q(`error`),message:G()})]);function Ar(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=kr.safeParse(t);return n.success?n.data:null}catch{return null}}function jr(e,t){e.setThinking(!1);let n=e.getStreamingEntryId();if(n)e.updateEntries(e=>e.map(e=>e.id===n?{...e,content:e.content+t.content}:e));else{let n=e.nextId();e.setStreamingEntryId(n),e.updateEntries(e=>[...e,{id:n,kind:`assistant`,content:t.content,timestamp:Date.now()}])}}function Mr(e){e.setThinking(!1),e.setStreamingEntryId(null)}function Nr(e,t){e.setThinking(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`tool_call`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,status:`running`}})}function Pr(e,t){e.updateEntries(e=>{let n=e.findIndex(e=>e.kind===`tool_call`&&e.meta.toolCallId===t.toolCallId);if(n===-1)return e;let r=e[n];if(r.kind!==`tool_call`)return e;let i=[...e];return i[n]={...r,meta:{...r.meta,result:t.content,isError:t.isError,status:t.isError?`error`:`completed`}},i})}function Fr(e,t){e.setThinking(!1),e.setPendingApproval(!0),e.appendEntry({kind:`approval`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,description:t.description}})}function Ir(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function Lr(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(dr(e.getEntries())){(n||r)&&e.updateEntries(e=>e.map((t,i)=>t.kind===`feedback_prompt`&&!e.slice(i+1).some(e=>e.kind===`feedback_prompt`)?{...t,...n?{content:n}:{},...r?{meta:{...t.meta,reason:r}}:{}}:t));return}e.appendEntry({kind:`feedback_prompt`,content:n||`Share feedback`,...r?{meta:{reason:r}}:{}})}function Rr(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:cr})}function zr(e,t){return t.status===`completed`||t.status===`error`?(e.setThinking(!1),e.setSessionStatus(t.status),e.appendEntry({kind:`status`,content:t.status===`completed`?`Session completed`:`Session ended with error`}),!0):(e.setSessionStatus(t.status),!1)}function Br(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function Vr(e){return e}var Hr=new Set([404,410]),Ur=`replay_gap`,Wr=5,Gr=500,Kr=5e3,qr=45e3;function Jr(e){let t=Gr*2**e,n=Math.floor(Math.random()*250);return Math.min(t,Kr)+n}function Yr(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})})}async function Xr(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===Ur:!1}function Zr(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null}function Qr(e,t){let n=vr(t),r=yr(e),i=Q.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&xr(n)),i.setPendingBackup(r===`active`&&Sr(n)),i.seedReplayState(gr(t),_r(t)),r}async function $r(e,t){let n=await M({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:Qr(n.data.status,n.data.messages??[])===`active`?(Q.getState().setSessionId(t),`active`):`terminal`}function ei(){let e=(0,Y.useRef)(null);return{connectSSE:(0,Y.useCallback)((t,n)=>{e.current?.abort();let i=new AbortController;e.current=i;let a=!1,o=()=>e.current===i,s={getEntries:()=>Q.getState().entries,updateEntries:e=>Q.getState().updateEntries(e),setThinking:e=>Q.getState().setThinking(e),setPendingApproval:e=>Q.getState().setPendingApproval(e),setPendingBackup:e=>Q.getState().setPendingBackup(e),setSessionStatus:e=>Q.getState().setSessionStatus(e),appendEntry:e=>Q.getState().appendEntry(e),nextId:()=>Q.getState().nextId(),getStreamingEntryId:()=>Q.getState().streamingEntryId,setStreamingEntryId:e=>Q.getState().setStreamingEntryId(e)},c=t=>{if(!o())return;e.current=null;let n=Q.getState();n.setThinking(!1),n.setPendingApproval(!1),n.setPendingBackup(!1),n.setStreamingEntryId(null),n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:t})};function l(e){if(!o())return;let t=e.source_event_id;if(!(hr(t)&&!Q.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:jr(s,e);break;case`message`:Mr(s);break;case`tool_call`:Nr(s,e);break;case`tool_result`:Pr(s,e);break;case`approval_required`:Fr(s,e);break;case`backup_prompt`:Ir(s,e);break;case`feedback_prompt`:Lr(s,e);break;case`user_outcome_prompt`:Rr(s);break;case`status`:zr(s,e)&&(a=!0);break;case`error`:Br(s,e);break}}(async()=>{let e=0,s=0;for(;!i.signal.aborted&&o();){let u=new AbortController,d=()=>{u.abort()};i.signal.addEventListener(`abort`,d,{once:!0});let f=pe({idleTimeoutMs:qr,assistantId:t});f.resetCounters();let p=null,m=!1,h=!1,g=null,_=!1,v=null;try{let r=Q.getState().latestReplayableSourceEventId,a={Accept:`text/event-stream, application/json`,...je()};r&&(a[`Last-Event-ID`]=r);let{stream:s}=await re({path:{assistant_id:t,session_id:n},headers:a,signal:u.signal,sseMaxRetryAttempts:0,fetch:(async(e,t)=>{let n=await globalThis.fetch(e,t);return n.ok||(g=n.status,Hr.has(n.status)&&(m=!0),await Xr(n)&&(h=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(_=!0,v=Zr(t)),f.recordTraffic(n),!i.signal.aborted&&o()&&f.arm(u,e)},onSseError:e=>{m||h||(p=Te(e,`Doctor stream disconnected`))}});if(!o())return;f.arm(u,e);for await(let t of s){if(!o())return;_=!0,e=0,f.arm(u,e);let n=v;v=null;let r=Ar(t);r&&l(r.source_event_id||!n?r:{...r,source_event_id:n})}}catch(e){if(i.signal.aborted)return;p=f.consumeLastAbortCause()===`watchdog`?Te(e,`Doctor stream stalled`):Te(e,`Doctor stream connection failed`)}finally{f.clear(),i.signal.removeEventListener(`abort`,d)}if(!o()||a)return;if(h){if(s>=1){c(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}s+=1;let e=null;try{e=await $r(t,n)}catch(e){r(e,{context:`doctor_replay_gap_refresh`})}if(!o())return;if(e===`active`)continue;if(e===`terminal`){a=!0;return}c(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}if(m){a=!0;let e=Q.getState();e.setThinking(!1),e.setStreamingEntryId(null),e.setSessionStatus(`completed`),e.setPendingApproval(!1),e.setPendingBackup(!1),e.appendEntry({kind:`status`,content:`Previous session expired. Start a new session to continue.`});return}if(p||=Error(`Doctor event stream ended before the session completed.`),Vr(_)&&(e=0),e>=Wr){r(p,{context:`doctor_sse_stream`}),c(g?`Failed to connect to event stream (${g}). Start a new session to continue.`:`Event stream disconnected. Start a new session to continue.`);return}await Yr(Jr(e),i.signal),e+=1}})()},[]),abort:(0,Y.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var ti=64,ni=240;function ri(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(!0),o=(0,Y.useCallback)(e=>{n(t=>(e!==t&&(a.current=!0,i(!1)),e))},[]),s=(0,Y.useCallback)(()=>{let e=t;if(!e)return;let n=Math.max(0,e.scrollHeight-e.clientHeight),r=Math.max(0,n-e.scrollTop);a.current=r<=ti,i(r>ni)},[t]);return(0,Y.useEffect)(()=>{a.current&&t&&t.scrollTo({top:t.scrollHeight,behavior:`auto`})},[e,t]),(0,Y.useEffect)(()=>{if(t)return t.addEventListener(`scroll`,s,{passive:!0}),()=>{t.removeEventListener(`scroll`,s)}},[t,s]),(0,Y.useEffect)(()=>{s()},[e,s]),(0,Y.useEffect)(()=>{if(!t||typeof ResizeObserver>`u`)return;let e=t.firstElementChild;if(!e)return;let n=new ResizeObserver(()=>{a.current&&t.scrollTo({top:t.scrollHeight,behavior:`auto`}),s()});return n.observe(e),()=>{n.disconnect()}},[t,s]),{scrollContainerRef:o,showScrollToLatest:r,scrollToLatest:(0,Y.useCallback)(()=>{t&&(a.current=!0,t.scrollTo({top:t.scrollHeight,behavior:`auto`}),i(!1))},[t])}}function ii({entry:e,onRespond:t}){return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Yn,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function ai(){let{t:e}=W(`settings`),n=ke.use.activeAssistantId()??``,i=Q.use.entries(),a=Q.use.inputValue(),o=Q.use.pendingApproval(),s=Q.use.pendingBackup(),l=Q.use.thinking(),u=Q.use.streamingEntryId(),p=Q.use.sessionId(),h=Q.use.sessionStatus(),g=Q.use.historyDismissed(),[_,v]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(null),S=oe(),C=(0,Y.useRef)(null),T=(0,Y.useRef)(null),E=(0,Y.useRef)(!1),{connectSSE:O,abort:k}=ei(),ne=!!n&&p===null&&!g&&i.length===0,A=Je({...ee({path:{assistant_id:n||`placeholder`},query:{limit:1}}),enabled:ne}),j=(A.data?wr(A.data.results??[]):null)?.id??null,M=Je({...w({path:{assistant_id:n||`placeholder`,doctor_session_id:j??``}}),enabled:!!n&&!!j&&!g&&p===null&&i.length===0}),N=g?void 0:M.data,P=N?yr(N.status):null,re=(0,Y.useMemo)(()=>N?br(vr(N.messages??[]),N.user_outcome):[],[N]);(0,Y.useEffect)(()=>{if(g||p!==null||i.length>0||!N||!j||P!==`active`)return;let e=Q.getState(),t=N.messages??[],r=br(vr(t),N.user_outcome);e.setEntries(r),e.setPendingApproval(xr(r)),e.setPendingBackup(Sr(r)),e.seedReplayState(gr(t),_r(t)),e.setSessionId(j),e.setSessionStatus(`active`),O(n,j)},[g,p,i.length,N,P,j,n,O]),(0,Y.useEffect)(()=>{A.error&&r(A.error,{context:`doctor_history_list`})},[A.error]),(0,Y.useEffect)(()=>{M.error&&r(M.error,{context:`doctor_history_detail`})},[M.error]);let F=nt({async mutationFn(e){let{data:t,error:n,response:r}=await m({...e,throwOnError:!1});if(n)throw r?.status===429?new D(429,`You've used all of your available Doctor sessions for this month. Please try again next month.`):n;return t},onSuccess(e){let t=Q.getState();t.resetReplayState(),t.setSessionId(e.session_id),t.setSessionStatus(`active`),t.setEntries([{kind:`assistant`,content:Er,id:`greeting`,timestamp:Date.now()}]),O(n,e.session_id)},onError(e){e instanceof D&&e.status===429||r(e,{context:`start_doctor_session`});let t=Q.getState();t.setSessionStatus(`error`),t.appendEntry({kind:`error`,content:e instanceof D?e.message:y(e,void 0,`Failed to start doctor session`)})}}),I=f({onMutate(e){let t=e.body.content,n=Q.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),Dr.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){r(e,{context:`send_doctor_message`}),Q.getState().setThinking(!1),Q.getState().appendEntry({kind:`error`,content:y(e,void 0,`Failed to send message`)})}}),L=F.isPending,ie=I.isPending,ae=e=>{let t=e.trim();!t||!p||(be(),I.mutate({path:{assistant_id:n,session_id:p},body:{content:t}}))},R=(0,Y.useCallback)(e=>{x({message:e?.message?.trim()||void 0,reason:e?.reason}),v(!0)},[]),se=(0,Y.useCallback)(()=>{v(!1),x(null)},[]),ce=M.refetch,le=(0,Y.useCallback)((e,t)=>{let i=Q.getState(),a=i.sessionId===null,o=i.sessionId??j;if(!n||!o)return;let s=i.entries.find(t=>t.id===e),c=s?.kind===`user_outcome_prompt`?s.meta?.answer:void 0,l=t?`resolved`:`not_resolved`,u=t=>{i.updateEntries(n=>n.map(n=>n.id===e&&n.kind===`user_outcome_prompt`?{...n,meta:{...n.meta,answer:t}}:n))};u(l),d({path:{assistant_id:n,session_id:o},body:{resolved:t},throwOnError:!1}).then(({error:t})=>{if(t){let n=Q.getState(),i=n.entries.find(t=>t.id===e);n.sessionId===o&&i?.kind===`user_outcome_prompt`&&i.meta?.answer===l&&u(c),r(t,{context:`doctor_session_user_outcome`})}else a&&ce()}),t||R({message:`The Doctor wasn't able to solve my problem: `})},[n,j,R,ce]),ue=()=>{k();let e=Q.getState();e.sessionId&&n&&Or(n,e.sessionId),e.teardown()},de=()=>{k();let e=Q.getState();e.sessionId&&n&&Or(n,e.sessionId),e.resetForNewSession()},z=(0,Y.useMemo)(()=>p||i.length>0?i:g?[]:re,[p,i,g,re]),fe=p??(g?null:j),pe=(0,Y.useMemo)(()=>Cr(z),[z]),me=(0,Y.useCallback)(()=>{te(pe,{successMessage:e(`doctorPanel.copiedToast`),errorMessage:e(`doctorPanel.copyFailed`)})},[pe,e]),{transcript:he,trailingPrompts:ge}=(0,Y.useMemo)(()=>fr(z),[z]),_e=l||u!==null,ve=(0,Y.useMemo)(()=>{if(!(p!==null||i.length>0))return null;let e=null;for(let t=z.length-1;t>=0;t--){let n=z[t];if(!(n.kind!==`tool_call`||n.meta.status!==`completed`||n.meta.isError)){if(n.meta.toolName===`list_assistant_backups`)return{entryId:n.id,refreshKey:e??n.id};e===null&&(n.meta.toolName===`create_doctor_backup`||n.meta.toolName===`restore_assistant_backup`)&&(e=n.id)}}return null},[z,p,i]),{scrollContainerRef:B,showScrollToLatest:ye,scrollToLatest:be}=ri(z);(0,Y.useEffect)(()=>{if(c.getState().pendingPrompt!==null)return;let e=Q.getState();e.lastAssistantId===n&&e.sessionStatus===`active`&&e.sessionId&&O(n,e.sessionId),e.historyDismissed&&!e.sessionId&&Q.setState({historyDismissed:!1})},[]),(0,Y.useEffect)(()=>{let e=Q.getState();if(e.lastAssistantId===n)return;let t=e.lastAssistantId,r=e.sessionId;k(),e.reset(),Q.setState({lastAssistantId:n}),r&&t&&Or(t,r)},[n,k]),(0,Y.useEffect)(()=>()=>{k()},[k]),(0,Y.useEffect)(()=>{if(E.current||!n)return;let e=c.getState().consumePendingPrompt();if(e===null)return;E.current=!0;let t=Q.getState();k(),t.sessionId&&Or(n,t.sessionId),t.resetForNewSession(),T.current=e.length>0?e:null,F.mutate({path:{assistant_id:n}})},[n,k,F]);let V=p!==null&&h===`active`,Se=!V&&i.length>0&&(h===`completed`||h===`error`),Ce=V||Se?h:P??`idle`,we=ne&&(A.isLoading||!!j&&M.isLoading);return(0,Y.useEffect)(()=>{let e=T.current;e&&(!V||!p||(T.current=null,be(),I.mutate({path:{assistant_id:n,session_id:p},body:{content:e}})))},[V,p,n,be,I]),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 rounded-xl bg-[var(--surface-base)] p-5 ring-1 ring-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(sr,{className:`h-10 w-10 shrink-0`}),(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`doctorPanel.title`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(Tr,{onShareFeedback:S===`full`?()=>{R()}:void 0,onCopySession:z.length>0?me:void 0}),V&&(0,X.jsx)(zt,{onStop:ue,ariaLabel:e(`doctorPanel.endSession`)})]})]}),we?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`doctorPanel.loading`)]}):n?Ce===`idle`?(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,X.jsx)(sr,{className:`h-24 w-24 shrink-0`}),(0,X.jsxs)(`div`,{className:`text-center`,children:[(0,X.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`doctorPanel.idleTitle`)}),(0,X.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`doctorPanel.idleDescription`)})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>F.mutate({path:{assistant_id:n}}),disabled:L,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-5 py-2.5 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-not-allowed disabled:opacity-50`,children:[L?(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(It,{className:`h-4 w-4`}),e(`doctorPanel.startSession`)]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,X.jsx)(`div`,{ref:B,className:`h-full overflow-y-auto`,children:(0,X.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[he.map(e=>{switch(e.kind){case`user`:return(0,X.jsx)(Xn,{entry:e},e.id);case`assistant`:return(0,X.jsx)(Qn,{entry:e},e.id);case`tool_call`:return(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`w-full`,children:[(0,X.jsx)(Gn,{entry:e}),e.id===ve?.entryId&&n&&(0,X.jsx)(`div`,{className:`mt-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsx)(zn,{assistantId:n},ve.refreshKey)})]})},e.id);case`approval`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Kn,{entry:e,onRespond:ae,disabled:!o||ie})},e.id);case`backup_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(qn,{entry:e,onRespond:e=>{Q.getState().setPendingBackup(!1),ae(e)},disabled:!s||ie})},e.id);case`feedback_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Jn,{onOpenFeedback:()=>R({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,X.jsx)(ii,{entry:e,onRespond:le},e.id);case`error`:return(0,X.jsx)($n,{entry:e},e.id);case`status`:return(0,X.jsx)(er,{entry:e},e.id);default:return null}}),l&&(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-[5px] rounded-[var(--radius-lg)] bg-[var(--surface-overlay)] px-4 py-3`,children:[[-.333,0,-.667].map((e,t)=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`typing-dot block h-2 w-2 rounded-full bg-[var(--content-tertiary)]`,style:{animation:`typing-dot-pulse 1s ease-in-out infinite`,animationDelay:`${e}s`}},t)),(0,X.jsx)(`span`,{className:`sr-only`,children:e(`doctorPanel.thinking`)})]})}),!_e&&ge.map(e=>(0,X.jsx)(ii,{entry:e,onRespond:le},e.id)),V&&!z.length&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,X.jsx)(xt,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),ye&&(0,X.jsxs)(`button`,{type:`button`,onClick:be,"aria-label":e(`doctorPanel.goToNewestAria`),className:`pointer-events-auto absolute bottom-3 left-1/2 -translate-x-1/2 z-10 inline-flex items-center gap-1 rounded-full bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-emphasised)] shadow-md transition-colors hover:text-[var(--content-default)]`,children:[e(`doctorPanel.goToNewest`),(0,X.jsx)(kt,{className:`h-3 w-3`})]})]}),V&&(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),a.trim()&&!ie&&(ae(a),C.current&&(C.current.style.height=`auto`))},className:`mx-auto w-full max-w-3xl shrink-0 overflow-hidden rounded-[10px] bg-[var(--surface-lift)] shadow-sm ring-1 ring-transparent focus-within:ring-[var(--ring)]`,children:[(0,X.jsx)(`textarea`,{ref:C,value:a,onChange:e=>{Q.getState().setInputValue(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,160)}px`},onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||e.keyCode===229||xe()||(e.preventDefault(),a.trim()&&!ie&&(ae(a),C.current&&(C.current.style.height=`auto`)))},placeholder:e(o?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:ie,rows:1,className:`w-full resize-none border-none bg-transparent px-4 pb-2 pt-3 text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,X.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,X.jsx)(t,{variant:`primary`,iconOnly:(0,X.jsx)(mt,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!a.trim()||ie,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(Se||!V&&P&&P!==`active`)&&(0,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,X.jsxs)(`button`,{type:`button`,onClick:de,className:`flex cursor-pointer items-center gap-2 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)]`,children:[(0,X.jsx)(It,{className:`h-4 w-4`}),e(`doctorPanel.newSession`)]})})]}):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(sr,{className:`h-6 w-6 shrink-0`}),(0,X.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,X.jsx)(Rt,{open:_,onClose:se,initialReason:b?.reason,initialMessage:b?.message,assistantId:n,doctorSessionId:fe,doctorSessionLog:pe})]})}var oi=1e3;function si(e,t){let n=Math.log(e/t.min)/Math.log(t.max/t.min);return Math.round(Math.min(1,Math.max(0,n))*oi)}function ci(e,t){let n=e/oi,r=t.min*(t.max/t.min)**+n;return Math.round(r*100)/100}function li(e,t,n){return{...e,layers:e.layers.map((e,r)=>{if(r!==t)return e;let i={...e,...n};return n.frequency!==void 0&&n.glideTo===void 0&&e.glideTo===e.frequency&&(i.glideTo=n.frequency),i})}}function ui(e){return e.layers.length<R.layers.max}function di(e){if(!ui(e))return e;let t=e.layers.at(-1),n=Pe();return t&&(n.startMs=Math.min(R.startMs.max,t.startMs+t.attackMs+80)),{...e,layers:[...e.layers,n]}}function fi(e,t){let n=e.layers[t];if(!n||!ui(e))return e;let r=[...e.layers];return r.splice(t+1,0,{...n}),{...e,layers:r}}function pi(e,t){return e.layers.length<=1?e:{...e,layers:e.layers.filter((e,n)=>n!==t)}}function mi(e,t){return JSON.stringify(e)===JSON.stringify(t)}var hi={sine:`toneLab.waveforms.sine`,triangle:`toneLab.waveforms.triangle`,square:`toneLab.waveforms.square`,sawtooth:`toneLab.waveforms.sawtooth`};function gi(e){return Array.isArray(e)?e[0]:e}function _i({index:e,layer:n,canDuplicate:r,canRemove:i,onChange:a,onDuplicate:o,onRemove:s}){let{t:c}=W(`settings`),l=e=>c(`toneLab.hzValue`,{hz:Math.round(e),note:Ce(e)}),u=e=>c(`toneLab.msValue`,{ms:Math.round(e)}),d=e=>c(`toneLab.percentValue`,{percent:Math.round(e*100)}),f=Ae.map(e=>({value:e,label:c(hi[e])}));return(0,X.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c(`toneLab.layerTitle`,{number:e+1})}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,X.jsx)(Dt,{}),"aria-label":c(`toneLab.duplicateLayer`),disabled:!r,onClick:o}),(0,X.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,X.jsx)(ut,{}),"aria-label":c(`toneLab.removeLayer`),disabled:!i,onClick:s})]})]}),(0,X.jsx)(ze,{items:f,value:n.waveform,onChange:e=>a({waveform:e}),ariaLabel:c(`toneLab.waveform`)}),(0,X.jsxs)(`div`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[(0,X.jsx)(L,{label:c(`toneLab.pitch`),showValue:!0,formatValue:()=>l(n.frequency),value:si(n.frequency,R.frequency),min:0,max:oi,onValueChange:e=>a({frequency:ci(gi(e),R.frequency)})}),(0,X.jsx)(L,{label:c(`toneLab.glideTo`),showValue:!0,formatValue:()=>l(n.glideTo),value:si(n.glideTo,R.frequency),min:0,max:oi,onValueChange:e=>a({glideTo:ci(gi(e),R.frequency)})}),(0,X.jsx)(L,{label:c(`toneLab.start`),showValue:!0,formatValue:()=>u(n.startMs),value:n.startMs,min:R.startMs.min,max:1e3,step:5,onValueChange:e=>a({startMs:gi(e)})}),(0,X.jsx)(L,{label:c(`toneLab.level`),showValue:!0,formatValue:()=>d(n.gain),value:n.gain,min:R.gain.min,max:R.gain.max,step:.01,onValueChange:e=>a({gain:gi(e)})}),(0,X.jsx)(L,{label:c(`toneLab.attack`),showValue:!0,formatValue:()=>u(n.attackMs),value:n.attackMs,min:R.attackMs.min,max:300,onValueChange:e=>a({attackMs:gi(e)})}),(0,X.jsx)(L,{label:c(`toneLab.decay`),showValue:!0,formatValue:()=>u(n.decayMs),value:n.decayMs,min:R.decayMs.min,max:1500,step:5,onValueChange:e=>a({decayMs:gi(e)})}),(0,X.jsx)(L,{label:c(`toneLab.detune`),showValue:!0,formatValue:()=>c(`toneLab.centsValue`,{cents:Math.round(n.detuneCents)}),value:n.detuneCents,min:R.detuneCents.min,max:R.detuneCents.max,onValueChange:e=>a({detuneCents:gi(e)})})]})]})}var vi=72;function yi({recipe:e,label:t}){let n=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>{let t=!1;return le(e).then(e=>{let r=n.current;t||!e||!r||bi(r,e)}),()=>{t=!0}},[e]),(0,X.jsx)(`canvas`,{ref:n,role:`img`,"aria-label":t,className:`h-[72px] w-full rounded-lg bg-[var(--surface-base)] text-[var(--content-secondary)]`,height:vi})}function bi(e,t){let n=window.devicePixelRatio||1,r=Math.max(1,Math.round(e.clientWidth*n)),i=Math.round(vi*n);e.width=r,e.height=i;let a=e.getContext(`2d`);if(!a)return;let o=0;for(let e of t)o=Math.max(o,Math.abs(e));let s=o>0?(i/2-2*n)/o:0,c=i/2,l=t.length/r;a.clearRect(0,0,r,i),a.fillStyle=getComputedStyle(e).color;for(let e=0;e<r;e+=1){let r=Math.floor(e*l),i=Math.max(r+1,Math.floor((e+1)*l)),o=0,u=0;for(let e=r;e<i&&e<t.length;e+=1){let n=t[e]??0;o=Math.min(o,n),u=Math.max(u,n)}let d=c-u*s,f=c-o*s;a.fillRect(e,d,1,Math.max(n,f-d))}}var xi={rise:`toneLab.presetNames.rise`,glass:`toneLab.presetNames.glass`,bloom:`toneLab.presetNames.bloom`,wood:`toneLab.presetNames.wood`,tuneIn:`toneLab.presetNames.tuneIn`,doubleBlip:`toneLab.presetNames.doubleBlip`,warm:`toneLab.presetNames.warm`},Si=250;function Ci(e){return Array.isArray(e)?e[0]:e}function wi(e){return V.find(t=>mi(Ne[t],e))??null}function Ti(){let{t:e}=W(`settings`),[n,r]=(0,Y.useState)(()=>Fe()),[i,a]=(0,Y.useState)(()=>n??ue),[o,c]=(0,Y.useState)(!0),u=(0,Y.useRef)(i);(0,Y.useEffect)(()=>{if(!o||u.current===i)return;let e=window.setTimeout(()=>{u.current=i,Re(i)},Si);return()=>window.clearTimeout(e)},[o,i]);let d=wi(i),f=n??ue,p=mi(i,f),m=e=>{let t=Ne[e];u.current=t,a(t),Re(t)},h=()=>{mi(i,ue)?(De(null),r(null)):(De(i),r(i)),B.success(e(`toneLab.usedForVoiceToast`))},g=()=>{De(null),r(null),B.success(e(`toneLab.resetVoiceToast`))},_=async()=>{try{await navigator.clipboard.writeText(JSON.stringify(i,null,2)),B.success(e(`toneLab.copiedToast`))}catch{B.error(e(`toneLab.clipboardFailedToast`))}},v=async()=>{let t=null;try{t=me(JSON.parse(await navigator.clipboard.readText()))}catch{t=null}if(!t){B.error(e(`toneLab.pasteInvalidToast`));return}a(t)},y=t=>e(`toneLab.msValue`,{ms:Math.round(t)}),b=t=>e(`toneLab.percentValue`,{percent:Math.round(t*100)});return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(vt,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`toneLab.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`toneLab.subtitle`)})]})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(Nt,{className:`h-4 w-4 shrink-0 text-[var(--content-secondary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(n?`toneLab.voiceToneOverride`:`toneLab.voiceToneDefault`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(t,{variant:`ghost`,leftIcon:(0,X.jsx)(It,{}),onClick:()=>void Re(f),children:e(`toneLab.playVoiceTone`)}),n&&(0,X.jsx)(t,{variant:`outlined`,leftIcon:(0,X.jsx)(ft,{}),onClick:g,children:e(`toneLab.resetVoiceTone`)})]})]}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`toneLab.presets`)}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:V.map(t=>(0,X.jsx)(l,{selected:d===t,onClick:()=>m(t),children:e(xi[t])},t))})]}),(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(yi,{recipe:i,label:e(`toneLab.waveformLabel`)}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(t,{variant:`outlined`,leftIcon:(0,X.jsx)(It,{}),onClick:()=>void Re(i),children:e(`toneLab.play`)}),(0,X.jsx)(t,{variant:`ghost`,leftIcon:(0,X.jsx)(Gt,{}),onClick:()=>void Re(ce(i)),children:e(`toneLab.playEnd`)}),(0,X.jsx)(t,{variant:`ghost`,leftIcon:(0,X.jsx)(Tt,{}),onClick:()=>void _(),children:e(`toneLab.copy`)}),(0,X.jsx)(t,{variant:`ghost`,leftIcon:(0,X.jsx)(Wt,{}),onClick:()=>void v(),children:e(`toneLab.paste`)})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,X.jsx)(s,{size:`sm`,checked:o,onChange:c,label:e(`toneLab.autoPlay`)}),(0,X.jsx)(t,{variant:`primary`,disabled:p,onClick:h,children:e(`toneLab.useForVoice`)})]})]})]}),(0,X.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`toneLab.mix`)}),(0,X.jsxs)(`div`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[(0,X.jsx)(L,{label:e(`toneLab.volume`),showValue:!0,formatValue:()=>b(i.gain),value:i.gain,min:R.gain.min,max:R.gain.max,step:.01,onValueChange:e=>a(t=>({...t,gain:Ci(e)}))}),(0,X.jsx)(L,{label:e(`toneLab.brightness`),showValue:!0,formatValue:()=>e(`toneLab.hzPlainValue`,{hz:Math.round(i.filterHz)}),value:si(i.filterHz,R.filterHz),min:0,max:oi,onValueChange:e=>a(t=>({...t,filterHz:ci(Ci(e),R.filterHz)}))}),(0,X.jsx)(L,{label:e(`toneLab.echoTime`),showValue:!0,formatValue:()=>y(i.echoMs),value:i.echoMs,min:R.echoMs.min,max:R.echoMs.max,step:5,onValueChange:e=>a(t=>({...t,echoMs:Ci(e)}))}),(0,X.jsx)(L,{label:e(`toneLab.echoFeedback`),showValue:!0,formatValue:()=>b(i.echoFeedback),value:i.echoFeedback,min:R.echoFeedback.min,max:R.echoFeedback.max,step:.01,onValueChange:e=>a(t=>({...t,echoFeedback:Ci(e)}))}),(0,X.jsx)(L,{label:e(`toneLab.echoMix`),showValue:!0,formatValue:()=>b(i.echoMix),value:i.echoMix,min:R.echoMix.min,max:R.echoMix.max,step:.01,onValueChange:e=>a(t=>({...t,echoMix:Ci(e)}))})]})]}),i.layers.map((e,t)=>(0,X.jsx)(_i,{index:t,layer:e,canDuplicate:ui(i),canRemove:i.layers.length>1,onChange:e=>a(n=>li(n,t,e)),onDuplicate:()=>a(e=>fi(e,t)),onRemove:()=>a(e=>pi(e,t))},t)),(0,X.jsx)(t,{variant:`outlined`,leftIcon:(0,X.jsx)(gt,{}),disabled:!ui(i),onClick:()=>a(e=>di(e)),children:e(`toneLab.addLayer`)})]})}function Ei(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var Di=[{id:`general`,labelKey:`debugPage.tabs.general`,defaultLabel:`General`},{id:`terminal`,labelKey:`debugPage.tabs.terminal`,defaultLabel:`Terminal`},{id:`doctor`,labelKey:`debugPage.tabs.doctor`,defaultLabel:`Doctor`},{id:`database`,labelKey:`debugPage.tabs.database`,defaultLabel:`Database`},{id:`conversations`,labelKey:`debugPage.tabs.conversations`,defaultLabel:`Conversations`},{id:`tones`,labelKey:`debugPage.tabs.tones`,defaultLabel:`Tone lab`}],Oi=`general`;function ki(){let{t:e}=W(`settings`),[t,n]=at(),r=N(),i=ot(),a=(0,Y.useCallback)(e=>{de(i,e)},[i]),o=oe({platformHostedOnly:!0}),s=(0,Y.useMemo)(()=>Di.filter(e=>!(e.id===`terminal`&&o===`gated`||e.id===`doctor`&&o===`gated`)),[o]),{tabId:c,conversationsFilter:l}=Ei(t.get(`tab`)),u=(0,Y.useMemo)(()=>s.find(e=>e.id===c)?.id??Oi,[c,s]);return(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,X.jsxs)(H.Root,{value:u,onValueChange:e=>{let r=new URLSearchParams(t);e===Oi?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(H.List,{children:s.map(t=>(0,X.jsx)(H.Trigger,{value:t.id,children:e(t.labelKey,t.defaultLabel)},t.id))}),(0,X.jsx)(H.Panel,{value:`general`,className:`pt-4`,children:(0,X.jsx)(Un,{})}),s.some(e=>e.id===`terminal`)&&(0,X.jsx)(H.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Tn,{})}),s.some(e=>e.id===`doctor`)&&(0,X.jsx)(H.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(ai,{})}),(0,X.jsx)(H.Panel,{value:`database`,className:`pt-4`,children:(0,X.jsx)(Mn,{})}),(0,X.jsx)(H.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(dn,{assistantId:r,initialFilter:l,onOpenConversation:a},l)}),(0,X.jsx)(H.Panel,{value:`tones`,className:`pt-4`,children:(0,X.jsx)(Ti,{})})]})})}export{ki as DebugPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,HC as n,OC as r,Pr as i,Zv as a,gC as o,hC as s,mC as c,zy as l}from"./app-KRIEMzuO.js";import{E as u}from"./vendor-DLH51Vjf.js";import{t as d,x as f}from"./react-B9IgSVeK.js";var p=e(f(),1),m=d();function h({open:e,onOpenChange:i,assistantId:c,onTokenSaved:d}){let{t:f}=u(),[h,g]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(null),x=(0,p.useCallback)(async()=>{if(h.trim()){v(!0),b(null);try{await a({path:{assistant_id:c},body:{action:`set`,apiToken:h.trim()},throwOnError:!0}),g(``),d()}catch(e){let t=e instanceof Error?e.message:f(`vercelTokenDialog.saveFailed`);b(t),s.error(t)}finally{v(!1)}}},[c,h,d,f]);return(0,m.jsx)(o.Root,{open:e,onOpenChange:i,children:(0,m.jsxs)(o.Content,{size:`sm`,children:[(0,m.jsx)(o.Header,{children:(0,m.jsx)(o.Title,{children:f(`vercelTokenDialog.title`)})}),(0,m.jsx)(o.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(n,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:f(`vercelTokenDialog.body`)}),(0,m.jsx)(l,{href:`https://vercel.com/account/tokens`,tone:`default`,className:`text-body-medium-default`,glyph:!1,children:f(`vercelTokenDialog.createToken`)}),(0,m.jsx)(r,{type:`password`,placeholder:f(`vercelTokenDialog.tokenPlaceholder`),value:h,onChange:e=>g(e.target.value),label:f(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,m.jsxs)(o.Footer,{children:[(0,m.jsx)(o.Close,{asChild:!0,children:(0,m.jsx)(t,{variant:`outlined`,disabled:_,children:f(`vercelTokenDialog.cancel`)})}),(0,m.jsx)(t,{variant:`primary`,onClick:x,disabled:_||!h.trim(),loading:_,children:f(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}function g({assistantId:e,assistantName:t,onStartConversation:n}){let{t:r}=u(),a=i.use.isTokenDialogOpen(),o=i.use.complexDeployApp(),s=o?.name??``;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:a,onOpenChange:e=>{e||i.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{i.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(c,{open:o!==null,title:r(`deployDialogs.title`),message:t?r(`deployDialogs.messageNamed`,{appName:s,assistantName:t}):r(`deployDialogs.message`,{appName:s}),confirmLabel:t?r(`deployDialogs.confirmLabelNamed`,{assistantName:t}):r(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=i.getState().complexDeployApp?.name??`this app`;i.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>i.getState().setComplexDeployApp(null)})]})}export{g as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,HC as n,OC as r,Pr as i,Zv as a,gC as o,hC as s,mC as c,zy as l}from"./app-BEoekemj.js";import{E as u}from"./vendor-cVd2QlFV.js";import{t as d,x as f}from"./react-B9IgSVeK.js";var p=e(f(),1),m=d();function h({open:e,onOpenChange:i,assistantId:c,onTokenSaved:d}){let{t:f}=u(),[h,g]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(null),x=(0,p.useCallback)(async()=>{if(h.trim()){v(!0),b(null);try{await a({path:{assistant_id:c},body:{action:`set`,apiToken:h.trim()},throwOnError:!0}),g(``),d()}catch(e){let t=e instanceof Error?e.message:f(`vercelTokenDialog.saveFailed`);b(t),s.error(t)}finally{v(!1)}}},[c,h,d,f]);return(0,m.jsx)(o.Root,{open:e,onOpenChange:i,children:(0,m.jsxs)(o.Content,{size:`sm`,children:[(0,m.jsx)(o.Header,{children:(0,m.jsx)(o.Title,{children:f(`vercelTokenDialog.title`)})}),(0,m.jsx)(o.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(n,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:f(`vercelTokenDialog.body`)}),(0,m.jsx)(l,{href:`https://vercel.com/account/tokens`,tone:`default`,className:`text-body-medium-default`,glyph:!1,children:f(`vercelTokenDialog.createToken`)}),(0,m.jsx)(r,{type:`password`,placeholder:f(`vercelTokenDialog.tokenPlaceholder`),value:h,onChange:e=>g(e.target.value),label:f(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,m.jsxs)(o.Footer,{children:[(0,m.jsx)(o.Close,{asChild:!0,children:(0,m.jsx)(t,{variant:`outlined`,disabled:_,children:f(`vercelTokenDialog.cancel`)})}),(0,m.jsx)(t,{variant:`primary`,onClick:x,disabled:_||!h.trim(),loading:_,children:f(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}function g({assistantId:e,assistantName:t,onStartConversation:n}){let{t:r}=u(),a=i.use.isTokenDialogOpen(),o=i.use.complexDeployApp(),s=o?.name??``;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:a,onOpenChange:e=>{e||i.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{i.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(c,{open:o!==null,title:r(`deployDialogs.title`),message:t?r(`deployDialogs.messageNamed`,{appName:s,assistantName:t}):r(`deployDialogs.message`,{appName:s}),confirmLabel:t?r(`deployDialogs.confirmLabelNamed`,{assistantName:t}):r(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=i.getState().complexDeployApp?.name??`this app`;i.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>i.getState().setComplexDeployApp(null)})]})}export{g as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./deploy-dialogs-BwKeOiNO.js";export{e as DeployDialogs};