@mycadet/web 0.12.8 → 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 (208) hide show
  1. package/dist/assets/{a2a-invite-S74k5mzP.js → a2a-invite-QwLkdzoC.js} +1 -1
  2. package/dist/assets/{about-page-DyXvah3b.js → about-page-B_JVAkzb.js} +1 -1
  3. package/dist/assets/{account-page-Bto5XueR.js → account-page-CogcrHfl.js} +1 -1
  4. package/dist/assets/{account-shell-CcrYy1Gi.js → account-shell-CaNt5YTy.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-6rMAmeGf.js → acp-run-detail-panel-CP2w6xWq.js} +1 -1
  6. package/dist/assets/{activation-list-route-DEc7Nydy.js → activation-list-route-DhFybN08.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-Fj-SvRGq.js → activity-redirect-page-CXQh1ANc.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-CPMerTsn.js → activity-steps-panel-B_e7fo5d.js} +1 -1
  9. package/dist/assets/{add-credits-modal-zPPHPAJC.js → add-credits-modal-9QAiKkzN.js} +1 -1
  10. package/dist/assets/add-credits-modal-Ix6EeRaW.js +1 -0
  11. package/dist/assets/{ai-page-DpOLL1Cf.js → ai-page-B2OQRNjs.js} +1 -1
  12. package/dist/assets/{all-chats-page-route-C-XHiLQy.js → all-chats-page-route-DyAsat0t.js} +1 -1
  13. package/dist/assets/{android-billing-handoff-DKLezn_S.js → android-billing-handoff-CNDHANI3.js} +1 -1
  14. package/dist/assets/{animated-stat-square-BU2cZ2yE.js → animated-stat-square-dwxhuRgk.js} +1 -1
  15. package/dist/assets/{api-key-screen-DjKTR4Wr.js → api-key-screen-sXJo9h2L.js} +1 -1
  16. package/dist/assets/{app-CGffgaON.js → app-BNxKtvfM.js} +33 -33
  17. package/dist/assets/{app-info-Dzir1MF3.js → app-info-BWhtZVwd.js} +1 -1
  18. package/dist/assets/{archive-redirect-page-B35h0qMl.js → archive-redirect-page-8VfIdYbY.js} +1 -1
  19. package/dist/assets/{assistant-handle-modal-CCjfVewp.js → assistant-handle-modal-BEF0aNRE.js} +1 -1
  20. package/dist/assets/{assistant-inbox-page-route-gDwC5zAt.js → assistant-inbox-page-route-C2cqOdmg.js} +1 -1
  21. package/dist/assets/{assistant-status-panel-B4KyLsgX.js → assistant-status-panel-DCxA9DDF.js} +1 -1
  22. package/dist/assets/auth-store-CDCjQtV1.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-D3ES6d_K.js → auth-welcome-screen-EpKCTMv_.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-DjgVURNE.js +1 -0
  25. package/dist/assets/{avatar-random-GdFF3KT1.js → avatar-random-BnJhjNyL.js} +1 -1
  26. package/dist/assets/{await-org-header-settled-B8OULI5x.js → await-org-header-settled-DIN659KU.js} +1 -1
  27. package/dist/assets/{background-task-detail-panel-D-gfV8cA.js → background-task-detail-panel-CK5CkHAh.js} +1 -1
  28. package/dist/assets/{billing-page-DpBwQzdt.js → billing-page-DxzuCWv_.js} +3 -3
  29. package/dist/assets/{billing-redirect-page-eAiiFN78.js → billing-redirect-page-3KVpziky.js} +1 -1
  30. package/dist/assets/{bookmarks-page-CSlXo0sR.js → bookmarks-page-DU4zQI88.js} +1 -1
  31. package/dist/assets/{bundle-confirm-page-Bcm9pKNZ.js → bundle-confirm-page-BF_TkeTV.js} +1 -1
  32. package/dist/assets/camera-capture-overlay-T0uYBvOu.js +1 -0
  33. package/dist/assets/{channel-transcript-panel-DPuZkTwm.js → channel-transcript-panel-B1TEFqiF.js} +1 -1
  34. package/dist/assets/{channels-page-route-Cny62l_j.js → channels-page-route-DeocXDqs.js} +1 -1
  35. package/dist/assets/{chat-info-panel-D17faG13.js → chat-info-panel-lH_eTIGQ.js} +1 -1
  36. package/dist/assets/{checkout-continuation-7dEznmik.js → checkout-continuation-syD1rPaq.js} +1 -1
  37. package/dist/assets/{checkout-page-p7LdgQze.js → checkout-page-CDxb2TKu.js} +1 -1
  38. package/dist/assets/checkout-return-target-Kr5OSzWN.js +1 -0
  39. package/dist/assets/{cloud-export-97vA7Pm2.js → cloud-export-BomC8LTr.js} +1 -1
  40. package/dist/assets/{cloud-loopback-page-D2BotkZe.js → cloud-loopback-page-CKanLlm2.js} +1 -1
  41. package/dist/assets/command-palette-B7s1-xLZ.js +1 -0
  42. package/dist/assets/{command-palette-BT_juy2T.js → command-palette-CCerSENn.js} +1 -1
  43. package/dist/assets/{command-palette-window-page-BEOnIIIB.js → command-palette-window-page-DB4W1uBp.js} +1 -1
  44. package/dist/assets/{community-page-DSFCzNlP.js → community-page-JCjpT273.js} +1 -1
  45. package/dist/assets/{companion-accent-BnQ_HHAs.js → companion-accent-DNqagkeK.js} +1 -1
  46. package/dist/assets/{companion-dock-zones-page-Cwk-m5lx.js → companion-dock-zones-page-B5FQh1TR.js} +1 -1
  47. package/dist/assets/{companion-layout-C8BAml92.js → companion-layout-BJ70ZoB6.js} +1 -1
  48. package/dist/assets/{companion-popover-9C2r1GyG.js → companion-popover-ojFFv5gc.js} +1 -1
  49. package/dist/assets/{companion-popover-page-Slqq_QRZ.js → companion-popover-page-CcjHgR5K.js} +1 -1
  50. package/dist/assets/{companion-surface-2FTY6hzz.js → companion-surface-BheNXy_6.js} +1 -1
  51. package/dist/assets/{companion-surface-page-BCDuCzpC.js → companion-surface-page-BxYp5tfL.js} +1 -1
  52. package/dist/assets/{companion-tour-entry-BdZ_ZZY5.js → companion-tour-entry-Cv7pdZrq.js} +1 -1
  53. package/dist/assets/{companion-watch-frame-page-BXLCktNV.js → companion-watch-frame-page-3M8uEp9f.js} +1 -1
  54. package/dist/assets/{connect-page-DqXNWB3e.js → connect-page-B3uUGMgH.js} +1 -1
  55. package/dist/assets/{consent-controls-VUQpPjpF.js → consent-controls-C5hiZrsf.js} +1 -1
  56. package/dist/assets/{contacts-gateway-M0SEA0Ls.js → contacts-gateway-FWhhciZa.js} +1 -1
  57. package/dist/assets/{contacts-page-route-ciiisSbk.js → contacts-page-route-GziPFmXf.js} +1 -1
  58. package/dist/assets/{copy-button-06ZBxF-g.js → copy-button-SNK3X3Q6.js} +1 -1
  59. package/dist/assets/{credential-entry-page-CZTFQmW3.js → credential-entry-page-SwWWNGX8.js} +1 -1
  60. package/dist/assets/{credentials-page-bcb6LbyX.js → credentials-page-DRfwESO-.js} +1 -1
  61. package/dist/assets/{csv-preview-B8vxTOAh.js → csv-preview-U7XwAhlX.js} +1 -1
  62. package/dist/assets/{danger-zone-redirect-page-C-53yyHV.js → danger-zone-redirect-page-BV0lGnl_.js} +1 -1
  63. package/dist/assets/{debug-page-2DthUX8Q.js → debug-page-DwtjfO0H.js} +1 -1
  64. package/dist/assets/deploy-dialogs-7b-AY3wa.js +1 -0
  65. package/dist/assets/{deploy-dialogs-CaZCOLcW.js → deploy-dialogs-DDe4zOdX.js} +1 -1
  66. package/dist/assets/{desktop-preview-content-Bx5_gQqm.js → desktop-preview-content-_pIEbVde.js} +2 -2
  67. package/dist/assets/{desktop-status-L9sA78zU.js → desktop-status-DmWWnzqE.js} +1 -1
  68. package/dist/assets/{desktop-viewer-Gsp9ciNF.js → desktop-viewer-B9Vcq1Ei.js} +1 -1
  69. package/dist/assets/{detail-card-DXYh92lS.js → detail-card-DF9nj6Gj.js} +1 -1
  70. package/dist/assets/{detail-panel-stop-button-JQH92FSa.js → detail-panel-stop-button-D3b4nxcG.js} +1 -1
  71. package/dist/assets/{detail-primitives-PCZSBjkS.js → detail-primitives-LOD0kRZ4.js} +1 -1
  72. package/dist/assets/{developer-page-f8SdDLWI.js → developer-page-BQ5bGk-4.js} +1 -1
  73. package/dist/assets/{devices-redirect-page-rOcV02dL.js → devices-redirect-page-Bn2y0m1x.js} +1 -1
  74. package/dist/assets/{dictation-overlay-page-BPYJcuF5.js → dictation-overlay-page-DPR2rDDh.js} +1 -1
  75. package/dist/assets/document-load-BTXflX5D.js +1 -0
  76. package/dist/assets/{document-load-Cx6SmMsX.js → document-load-BziXWGTc.js} +1 -1
  77. package/dist/assets/{document-viewer-page-buw3L7Qh.js → document-viewer-page-B-2c3m5R.js} +1 -1
  78. package/dist/assets/{emails-page-CRcIGJMH.js → emails-page-CgiQD0Sv.js} +1 -1
  79. package/dist/assets/{file-diff-view-BPGy665x.js → file-diff-view-8ciHw9A7.js} +1 -1
  80. package/dist/assets/{file-view-mode-BjICMrIT.js → file-view-mode-BjjBnpYU.js} +1 -1
  81. package/dist/assets/{general-page-CtS_CU7C.js → general-page-DIQRLvou.js} +1 -1
  82. package/dist/assets/{hatching-screen-SRp857Tl.js → hatching-screen-Dbp76r0P.js} +1 -1
  83. package/dist/assets/{hosting-screen-BBK1bOi2.js → hosting-screen-fTZt7kCM.js} +1 -1
  84. package/dist/assets/{identity-page-route-BjuOZBNC.js → identity-page-route-CHM3oI-k.js} +1 -1
  85. package/dist/assets/{inspect-page-yQXS977E.js → inspect-page-BHs6vilE.js} +3 -3
  86. package/dist/assets/{integrations-page-8saNghxG.js → integrations-page-CeK7nrkI.js} +1 -1
  87. package/dist/assets/{intelligence-layout-C4fUSmw1.js → intelligence-layout-UKSuU3yD.js} +1 -1
  88. package/dist/assets/{intelligence-layout-slots-store-CdCFMdty.js → intelligence-layout-slots-store-yq8xZ_lC.js} +1 -1
  89. package/dist/assets/{keyboard-shortcuts-redirect-page-6vmXYM08.js → keyboard-shortcuts-redirect-page-BfgCJJ8W.js} +1 -1
  90. package/dist/assets/{latest-assistant-text-Dp8nFLYg.js → latest-assistant-text-BbUF-ZjG.js} +1 -1
  91. package/dist/assets/{library-detail-page-BHsng9gW.js → library-detail-page-DCVP6Thc.js} +1 -1
  92. package/dist/assets/{library-page-EGcuUr9r.js → library-page-DemxnENP.js} +1 -1
  93. package/dist/assets/{login-page-CjFFBEfP.js → login-page-DJCWMJPS.js} +1 -1
  94. package/dist/assets/{logout-page-CTk1D8H1.js → logout-page-rrrf5aYw.js} +1 -1
  95. package/dist/assets/{logs-layout-DcUsHX4i.js → logs-layout-CU-5OL3A.js} +1 -1
  96. package/dist/assets/{markdown-preview-BVK8h-Vm.js → markdown-preview-h2xJTbi7.js} +1 -1
  97. package/dist/assets/{media-preview-DMvBX4tR.js → media-preview-6Dw68M9L.js} +1 -1
  98. package/dist/assets/{memory-page-route-DmcTly3j.js → memory-page-route-BZYeOOeW.js} +1 -1
  99. package/dist/assets/{memory-router-playground-page-BKIKjicw.js → memory-router-playground-page-CsN1IIJA.js} +1 -1
  100. package/dist/assets/{message-files-panel-ffUSMnCt.js → message-files-panel-CNC5v1w7.js} +1 -1
  101. package/dist/assets/mutation-error-CAyH2x36.js +1 -0
  102. package/dist/assets/native-attachment-pickers-BjVoKEUQ.js +1 -0
  103. package/dist/assets/native-file-CYAEPXYN.js +1 -0
  104. package/dist/assets/{notifications-page-uL-24dgJ.js → notifications-page-B3Em-VQu.js} +1 -1
  105. package/dist/assets/{oauth-complete-page-CeSrrc5l.js → oauth-complete-page-BJObwKje.js} +1 -1
  106. package/dist/assets/{oauth-popup-complete-page-B2YWDBhK.js → oauth-popup-complete-page-dpJtFUH5.js} +1 -1
  107. package/dist/assets/paired-cloud-identity-D6ABqHK-.js +1 -0
  108. package/dist/assets/{pairing-page-BKpPzHgF.js → pairing-page-dZeno0_m.js} +1 -1
  109. package/dist/assets/password-reset-page-IPvSLWAz.js +1 -0
  110. package/dist/assets/{pdf-file-preview-yZHctfTY.js → pdf-file-preview-C68i9dU6.js} +1 -1
  111. package/dist/assets/{permission-guide-page-BiIbMRw2.js → permission-guide-page-BTU82Ybk.js} +1 -1
  112. package/dist/assets/{permission-setup-C3D0R4tU.js → permission-setup-DohBLdCl.js} +1 -1
  113. package/dist/assets/{personality-page-C9zAoDC4.js → personality-page-BIMzWgMh.js} +1 -1
  114. package/dist/assets/{personality-page-B0t7PCzh.js → personality-page-_k2z41Bt.js} +1 -1
  115. package/dist/assets/{personality-sliders-Cz11kvVy.js → personality-sliders-DGNY8Rnd.js} +1 -1
  116. package/dist/assets/{plans-page-Cyy_VAfs.js → plans-page-pq5hy60L.js} +1 -1
  117. package/dist/assets/{plugin-detail-page-MHjzhIjU.js → plugin-detail-page-BbA4_EQi.js} +1 -1
  118. package/dist/assets/{plugins-page-CGd4eA0h.js → plugins-page-DxdhU21Z.js} +1 -1
  119. package/dist/assets/plugins-surface-DQ6HNFGt.js +1 -0
  120. package/dist/assets/{preview-error-B_SkKxgl.js → preview-error-DhG_s3C0.js} +1 -1
  121. package/dist/assets/{privacy-page-BH7VrzNO.js → privacy-page-BqiHHg7j.js} +1 -1
  122. package/dist/assets/{privacy-screen-DRUImDBf.js → privacy-screen-Dq4eUoIO.js} +1 -1
  123. package/dist/assets/{profile-card-eeDPrAqN.js → profile-card-CkTa3Y8i.js} +1 -1
  124. package/dist/assets/{provider-callback-page-C25nZdj2.js → provider-callback-page-Bmu6iHxa.js} +1 -1
  125. package/dist/assets/{provider-key-DCXewaJg.js → provider-key-DBdqn0Gt.js} +1 -1
  126. package/dist/assets/{provider-signup-page-BFYxSU4D.js → provider-signup-page-JIh0XKV5.js} +1 -1
  127. package/dist/assets/{quick-input-page-BWyYCc6N.js → quick-input-page-ALtrRR05.js} +1 -1
  128. package/dist/assets/{research-mock-page-DT6p-Af5.js → research-mock-page-C8n5xPsy.js} +1 -1
  129. package/dist/assets/{research-onboarding-route-B3KTgEuk.js → research-onboarding-route-BgMvaYdY.js} +1 -1
  130. package/dist/assets/{review-terms-screen-CBbhXbba.js → review-terms-screen-CnIUYPfa.js} +1 -1
  131. package/dist/assets/routes-Ct3akvBN.js +1 -0
  132. package/dist/assets/{schedules-BklxG5oV.js → schedules-D8f5wsZc.js} +1 -1
  133. package/dist/assets/{schedules-page-D_2A6U2f.js → schedules-page-B8PnXfuh.js} +1 -1
  134. package/dist/assets/{security-redirect-page-424yJDDE.js → security-redirect-page-L5VVUkhf.js} +1 -1
  135. package/dist/assets/{select-assistant-screen-B2waFR5c.js → select-assistant-screen-Bm0waz2L.js} +1 -1
  136. package/dist/assets/{self-hosted-servers-Du7ejILs.js → self-hosted-servers-BxHLMpeP.js} +1 -1
  137. package/dist/assets/{service-form-controls-BzzepR1w.js → service-form-controls-BcaLg3mN.js} +1 -1
  138. package/dist/assets/{setting-row-Har-4ZuZ.js → setting-row-3-QGMKbV.js} +1 -1
  139. package/dist/assets/{settings-divider-fXUzEDBM.js → settings-divider-D1gYuSPt.js} +1 -1
  140. package/dist/assets/{settings-layout-Bh6Tfq82.js → settings-layout-Cuol1Jld.js} +1 -1
  141. package/dist/assets/share-feedback-modal-CdzyF0gl.js +1 -0
  142. package/dist/assets/{share-feedback-modal-q27kCbAf.js → share-feedback-modal-O62ToKHM.js} +1 -1
  143. package/dist/assets/{sidebar-tree-DpyD-Fdr.js → sidebar-tree-D1pphm3H.js} +1 -1
  144. package/dist/assets/{signup-page-B2QNQ-OW.js → signup-page-6gPB7H4i.js} +1 -1
  145. package/dist/assets/{signup-shell-BJfIr9N8.js → signup-shell-I1tsWrB2.js} +1 -1
  146. package/dist/assets/{skill-detail-page-DWc5Pj07.js → skill-detail-page-CaaPoNXG.js} +1 -1
  147. package/dist/assets/{skill-detail-panel-DOpFqxJk.js → skill-detail-panel-CVrIAGi1.js} +1 -1
  148. package/dist/assets/{skill-removal-dialog-B-Hb8zf4.js → skill-removal-dialog-DVzlADbq.js} +1 -1
  149. package/dist/assets/{skills-page-COVvjwYi.js → skills-page-BjmHcl-i.js} +1 -1
  150. package/dist/assets/{sounds-page-DB5YcVc4.js → sounds-page-DM_LZFsH.js} +1 -1
  151. package/dist/assets/{start-screen-FL2Ia1Ar.js → start-screen-Dh8Xc1ux.js} +1 -1
  152. package/dist/assets/{step-detail-header-CuTbSKtU.js → step-detail-header-C1U-HS14.js} +1 -1
  153. package/dist/assets/{stt-language-picker-modal-BjXK4fmX.js → stt-language-picker-modal-BWPQXHbg.js} +1 -1
  154. package/dist/assets/{subagent-detail-panel-DLgSr_E8.js → subagent-detail-panel-BEHD2vOf.js} +1 -1
  155. package/dist/assets/{superpowers-page-CscgKzE0.js → superpowers-page-Civ1dred.js} +1 -1
  156. package/dist/assets/{system-events-page-CNdWB8DB.js → system-events-page-DQQD-yh4.js} +1 -1
  157. package/dist/assets/{system-events-redirect-page-CRcNF9hG.js → system-events-redirect-page-CMQWTWeS.js} +1 -1
  158. package/dist/assets/{tabular-grid-CejyLbWr.js → tabular-grid-Crdhci1a.js} +1 -1
  159. package/dist/assets/{teleport-gateway-client-CnEsY6jD.js → teleport-gateway-client-zRxDIHvy.js} +1 -1
  160. package/dist/assets/{text-preview-CNTf9DBr.js → text-preview-CCRT6NMb.js} +1 -1
  161. package/dist/assets/{theme-stage-page-CYKLJ4g7.js → theme-stage-page-BKDKhybd.js} +1 -1
  162. package/dist/assets/{tiptap-document-editor-B7WZaMjw.js → tiptap-document-editor-DMBoEpva.js} +1 -1
  163. package/dist/assets/{tool-detail-panel-DlHI8dvX.js → tool-detail-panel-BR7h2ROn.js} +1 -1
  164. package/dist/assets/tool-detail-panel-DCdX_SBO.js +1 -0
  165. package/dist/assets/{trait-cycle-row-BctewJVE.js → trait-cycle-row-Lgkm9R8c.js} +1 -1
  166. package/dist/assets/{upgrade-cancel-page-jDoqH3zX.js → upgrade-cancel-page-DEIK5f2e.js} +1 -1
  167. package/dist/assets/{upgrade-success-page-CaUf2wkq.js → upgrade-success-page-Dt9lxhGP.js} +1 -1
  168. package/dist/assets/{usage-redirect-page-BAgziC1P.js → usage-redirect-page-BMvSf6Bj.js} +1 -1
  169. package/dist/assets/{use-app-delete-DeDK3zNm.js → use-app-delete-NTNPyRFw.js} +1 -1
  170. package/dist/assets/{use-assistant-identity-details-Ku8Yexur.js → use-assistant-identity-details-20XTojNX.js} +1 -1
  171. package/dist/assets/{use-channel-trust-floors-Dw7093F3.js → use-channel-trust-floors-sx-Gm1Em.js} +1 -1
  172. package/dist/assets/{use-checkout-dismiss-refresh-D-DceYdb.js → use-checkout-dismiss-refresh-C7kMkxS1.js} +1 -1
  173. package/dist/assets/{use-edge-swipe-back-C9BhPjNd.js → use-edge-swipe-back-D92U2q-N.js} +1 -1
  174. package/dist/assets/{use-hotkey-recorder-CaKGUrs_.js → use-hotkey-recorder-BRdHU8pS.js} +1 -1
  175. package/dist/assets/{use-invite-link-dialog-DwZSXJdy.js → use-invite-link-dialog-CbFJAi4C.js} +1 -1
  176. package/dist/assets/{use-plugins-list-PsghpbJo.js → use-plugins-list-BQG0kv-t.js} +1 -1
  177. package/dist/assets/{use-return-to-short-circuit-oXJVLQ5r.js → use-return-to-short-circuit-Dqo3POFE.js} +1 -1
  178. package/dist/assets/{use-side-list-room-BPMo-0-m.js → use-side-list-room-BL6BAMEB.js} +1 -1
  179. package/dist/assets/{use-skill-actions-DdykFGoL.js → use-skill-actions-Ch-wHH29.js} +1 -1
  180. package/dist/assets/{use-skill-detail-files-Cx9IY9kI.js → use-skill-detail-files-Chj_ePZG.js} +1 -1
  181. package/dist/assets/use-supports-credentials-settings-Dv49IKbZ.js +1 -0
  182. package/dist/assets/{voice-page-DUXZHnnu.js → voice-page-CcybrzXj.js} +1 -1
  183. package/dist/assets/{wake-detail-panel-qrpIcnpA.js → wake-detail-panel-BNA47SoV.js} +1 -1
  184. package/dist/assets/{weather-forecast-display-Bjrjg54J.js → weather-forecast-display-BGKTfbzy.js} +1 -1
  185. package/dist/assets/{welcome-screen-C-7GbST1.js → welcome-screen-nz_FAiGA.js} +1 -1
  186. package/dist/assets/{workflow-detail-panel-BAeI7O0P.js → workflow-detail-panel-DRoeaq6c.js} +1 -1
  187. package/dist/assets/{workspace-page-WKaE0JcI.js → workspace-page-ClGrsRBZ.js} +1 -1
  188. package/dist/assets/{xlsx-preview-HzWjwDAj.js → xlsx-preview-z2rPKBuW.js} +1 -1
  189. package/dist/index.html +1 -1
  190. package/package.json +1 -1
  191. package/dist/assets/add-credits-modal-DD_BJhmr.js +0 -1
  192. package/dist/assets/auth-store-BVApYFfc.js +0 -1
  193. package/dist/assets/avatar-bundled-components-Drkl7JyC.js +0 -1
  194. package/dist/assets/camera-capture-overlay-BF2ncbf2.js +0 -1
  195. package/dist/assets/checkout-return-target-CSJF-o8i.js +0 -1
  196. package/dist/assets/command-palette-2v-4uw_p.js +0 -1
  197. package/dist/assets/deploy-dialogs-BXmWQL7g.js +0 -1
  198. package/dist/assets/document-load-dMbILFST.js +0 -1
  199. package/dist/assets/mutation-error-oXzAul2s.js +0 -1
  200. package/dist/assets/native-attachment-pickers-D94Qe9-T.js +0 -1
  201. package/dist/assets/native-file-BAJbUfaG.js +0 -1
  202. package/dist/assets/paired-cloud-identity-B45tIpgK.js +0 -1
  203. package/dist/assets/password-reset-page-B9xxvNOh.js +0 -1
  204. package/dist/assets/plugins-surface-CxIHR2Dv.js +0 -1
  205. package/dist/assets/routes-D5cM5I_f.js +0 -1
  206. package/dist/assets/share-feedback-modal-B12QCt5f.js +0 -1
  207. package/dist/assets/tool-detail-panel-uk4Ie38C.js +0 -1
  208. package/dist/assets/use-supports-credentials-settings-CaBKQ60M.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{BS as t,CC as n,Dp as r,Ep as i,Fm as a,G as o,Gx as s,IS as c,Jh as l,OC as u,Pm as d,QS as f,RS as p,Tp as m,Z as h,fC as g,gC as _,iC as v,lp as y,nu as b,qf as x,qh as S,tu as C,uC as w,ua as T,up as E,w as ee,wv as te,zS as D}from"./app-CGffgaON.js";import{_ as ne,d as re,f as ie,h as ae,r as oe,t as se,x as ce}from"./react-BJ4PZBJN.js";import{E as O,Jn as k,Zn as le,er as ue,k as A,w as j}from"./vendor-CezcraPH.js";import{Bi as M,Dn as de,Kt as fe,Lt as pe,Ra as me,Vn as he,Ya as N,Yn as P,Zt as ge,_a as F,_t as _e,br as I,tr as ve,vt as L,x as R,za as ye}from"./icons-Dwi7aA1Y.js";import{t as z}from"./ellipsis-vertical-DXwTXFid.js";import{t as B}from"./detail-card-DXYh92lS.js";import{t as V}from"./mutation-error-oXzAul2s.js";import{a as be,i as xe,n as H,r as Se,t as Ce}from"./use-invite-link-dialog-DwZSXJdy.js";import{t as we}from"./use-side-list-room-BPMo-0-m.js";import{t as Te}from"./intelligence-layout-slots-store-CdCFMdty.js";import{t as Ee}from"./use-edge-swipe-back-C9BhPjNd.js";import{a as De,i as Oe,n as ke,t as Ae}from"./contacts-gateway-M0SEA0Ls.js";import{n as je,t as Me}from"./list-detail-navigation-Bc3JpBO4.js";var Ne=N(`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=N(`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(ce(),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=se(),Be=new Set([`telegram`,`phone`,`cadet`,`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=T(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(F,{className:n,style:r});case`hash`:return(0,G.jsx)(I,{className:n,style:r});case`send`:return(0,G.jsx)(_e,{className:n,style:r});case`phone`:return(0,G.jsx)(fe,{className:n,style:r});case`mail`:return(0,G.jsx)(he,{className:n,style:r});case`message-square`:return(0,G.jsx)(de,{className:n,style:r});default:return(0,G.jsx)(Ne,{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}=j(`contacts`),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),v=new Map;for(let t of e)t.status!==`revoked`&&(v.has(t.type)||v.set(t.type,t));let y=e=>{m&&(l?.(m.info.id,e),h(null))},b=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`)}),b.map((e,t)=>{let n=v.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)?()=>h({info:e,existing:n}):void 0,onRevoke:u&&n?()=>_({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),m?(0,G.jsx)(J,{info:m.info,existing:m.existing,verifySubject:s,onConfirm:y,onCancel:()=>h(null)}):null,g&&(0,G.jsx)(p,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:g.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(g.channelId,g.channel.id),_(null)},onCancel:()=>_(null)})]})}function qe({info:e,existing:t,setupLabel:r,verifyLoading:i,actionsDisabled:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let{t:u}=j(`contacts`),d=K(e,t);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}),t?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.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)(M,{className:`h-3 w-3`}),u(`channelStatus.connected`)]}),c?(0,G.jsx)(n,{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)(M,{className:`h-3 w-3`}),u(`channelStatus.verified`)]}),c?(0,G.jsx)(n,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`unverified`?(0,G.jsx)(n,{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)(n,{onClick:l,disabled:a,children:[(0,G.jsx)(ve,{className:`h-3.5 w-3.5`}),u(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o||a,children:r})]}):null})]})}function J({info:e,existing:r,verifySubject:i,onConfirm:a,onCancel:o}){let{t:s}=j(`contacts`),[c,l]=(0,U.useState)(r?.address?.trim()??``),u=(0,U.useRef)(null),d=(0,U.useId)(),m=c.trim();return We(r)?(0,G.jsx)(p,{open:!0,title:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:s(i===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:s(`actions.verify`),onConfirm:()=>{a()},onCancel:o}):(0,G.jsx)(t.Root,{open:!0,onOpenChange:e=>{e||o()},children:(0,G.jsx)(t.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),u.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),o()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),m.length!==0&&a(m)},children:[(0,G.jsx)(t.Header,{children:(0,G.jsx)(t.Title,{children:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(t.Description,{children:s(i===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(f,{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)(t.Footer,{children:[(0,G.jsx)(n,{variant:`outlined`,type:`button`,onClick:o,children:s(`actions.cancel`)}),(0,G.jsx)(n,{type:`submit`,disabled:m.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}=j(`contacts`),i=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:h.find(e=>e.riskThreshold===i);return(0,G.jsx)(B,{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)(c,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=h.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...h.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)(v,{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:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onDelete:d,onMerge:m,onSetupChannel:h,onVerifyChannel:g,onRevokeChannel:_,onLinkAccount:v,pendingAutoApproveThreshold:y,onAutoApproveThresholdChange:b}){let{t:x}=j(`contacts`),S=W(e.displayName),[C,w]=(0,U.useState)(S?``:e.displayName),[T,E]=(0,U.useState)(e.notes??``),[ee,te]=(0,U.useState)(!1),D=C.trim(),ne=T.trim(),re=S?``:e.displayName,ie=e.notes??``,ae=D!==re||ne!==ie,oe=D.length>0&&ae&&!t&&!r,se=S&&e.channels.length===0&&e.interactionCount===0,ce=D||(S?x(`contact.draftName`):e.displayName),O=x(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:ce,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:O,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(f,{label:x(`contact.nameLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:x(`contactDetailView.namePlaceholder`),autoFocus:S,disabled:t||r,fullWidth:!0}),(0,G.jsx)(f,{label:x(`contact.notesLabel`),type:`text`,value:T,onChange:e=>E(e.target.value),placeholder:x(`contactDetailView.notesPlaceholder`),disabled:t||r,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(n,{type:`button`,onClick:()=>u({displayName:D,notes:ne}),disabled:!oe,children:x(t?`actions.saving`:`actions.save`)}),m?(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:m,disabled:!o||se||ae||a||t||r,title:o?se?x(`contactDetailView.mergeBlockedUnsavedDraft`):ae?x(`contact.mergeBlockedUnsaved`):void 0:x(`contact.mergeBlockedNoCandidates`),children:x(a?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{se?d():te(!0)},disabled:r,children:x(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(B,{title:x(`contactDetailView.linkedAccountsTitle`),subtitle:x(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:i,actionsDisabled:r,verifySubject:`contact`,onSetupChannel:h,onVerifyChannel:g,onRevokeChannel:_,onLinkAccount:v})}),Ye(e)&&b?(0,G.jsx)(Xe,{contact:e,pending:y||r,onAutoApproveThresholdChange:b}):null,(0,G.jsx)(p,{open:ee,title:x(`contactDetailView.deleteConfirmTitle`,{name:ce}),message:x(`contactDetailView.deleteConfirmMessage`),confirmLabel:x(`actions.delete`),destructive:!0,onConfirm:()=>{te(!1),d()},onCancel:()=>te(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:r,candidates:i,pending:a,errorMessage:o,onMerge:s,onClose:c}){let{t:l}=j(`contacts`),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{f&&!i.some(e=>e.id===f)&&p(null)},[i,f]);let m=(0,U.useMemo)(()=>{let e=u.trim().toLowerCase();return e?i.filter(t=>t.displayName.toLowerCase().includes(e)):i},[i,u]),h=f?i.find(e=>e.id===f)??null:null,_=ot(r);return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>{!e&&!a&&c()},children:(0,G.jsxs)(t.Content,{size:`md`,children:[(0,G.jsxs)(t.Header,{icon:Pe,children:[(0,G.jsx)(t.Title,{children:h?l(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:_}):l(`contactMergeDialog.titlePicking`,{survivor:_})}),(0,G.jsx)(t.Description,{children:l(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[h?(0,G.jsx)(it,{survivor:r,donor:h}):i.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:u,onSearch:d,candidates:m,onPick:p}),o?(0,G.jsx)(g,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:o}):null]}),(0,G.jsx)(t.Footer,{children:h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(n,{variant:`outlined`,onClick:()=>p(null),disabled:a,leftIcon:(0,G.jsx)(ye,{"aria-hidden":!0}),children:l(`actions.back`)}),(0,G.jsx)(n,{variant:`danger`,onClick:()=>s(h.id),disabled:a,children:l(a?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(n,{variant:`outlined`,onClick:c,disabled:a,children:l(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=j(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{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":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,G.jsx)(g,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`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)(_,{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}=j(`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}=j(`contacts`);return(0,G.jsx)(g,{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(`cadet-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:ge,more:z};function ut({loading:e,guardian:t,regularContacts:r,selectedContactId:i,onSelect:a,onAddContact:o,addingContact:s=!1,surface:c=`card`,search:l,onSearchChange:u}){let{t:d}=j(`contacts`),p=c===`screen`,m=r.length>0,h=l.trim()?r.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):r,g=m?(0,G.jsx)(f,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:p?`h-10`:void 0}):null,_=t?(0,G.jsx)(Q,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i===t.id,onClick:()=>a(t.id),trailingIcon:`pencil`,surface:c}):null,v=t?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,y=(0,G.jsxs)(G.Fragment,{children:[h.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i===e.id,onClick:()=>a(e.id),trailingIcon:`more`,surface:c},e.id)),h.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`contactsList.noMatches`)}):null]}),b=e?null:(0,G.jsx)(n,{type:`button`,variant:`ghost`,onClick:o,disabled:s,tintColor:`var(--primary-base)`,loading:s,leftIcon:(0,G.jsx)(R,{"aria-hidden":!0}),children:d(`contactsList.add`)});return p?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[g,_,v,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:m?y:b})]}):(0,G.jsx)(w.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(w.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:d(`contactsList.heading`)}),(0,G.jsx)(n,{type:`button`,variant:`ghost`,loading:s,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),onClick:o,disabled:s,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),_,v,g,m?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:y}):b]})})}function Q({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s,surface:c}){let{t:l}=j(`contacts`),d=c===`screen`,f=r&&r.length>0?r.join(` | `):void 0,p=d||s===void 0?null:(0,G.jsx)(v,{tone:s?`positive`:`neutral`,children:l(s?`contactsList.verified`:`contactsList.unverified`)}),m=d||o===void 0?void 0:lt[o];return(0,G.jsx)(_,{asChild:!0,active:i,className:d?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:a,className:u(`flex h-auto w-full items-center`,!d&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:u(`flex min-w-0 flex-1 flex-col`,d&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:u(`truncate text-body-medium-default`,d&&`text-[var(--content-default)]`),children:e}),f?(0,G.jsx)(`span`,{className:u(`truncate`,d?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:f}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[p,(0,G.jsx)(Ze,{role:t,contactType:n}),m?(0,G.jsx)(m,{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:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:p,onRevokeChannel:m,onGenerateInviteLink:h}){let{t:g}=j(`contacts`),_=e.displayName.startsWith(`cadet-principal-`),v=_?``:e.displayName,[y,b]=(0,U.useState)(v),[x,S]=(0,U.useState)(e.notes??``),C=y.trim(),w=x.trim(),T=C!==v.trim()||w!==(e.notes??``).trim(),E=T&&!t,ee=g(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:ee,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(f,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsx)(f,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(n,{variant:`primary`,onClick:()=>l({displayName:C||e.displayName,notes:w}),disabled:!E,children:g(t?`actions.saving`:`actions.save`)}),u?(0,G.jsx)(n,{variant:`outlined`,onClick:u,disabled:!a||T||i||t,title:a?T?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(B,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:d,onVerifyChannel:p,onRevokeChannel:m})}),h?(0,G.jsx)(H,{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:r,contactName:i,accounts:a,loading:o,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:p}=j(`contacts`),[m,h]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&h(``)},[e]);let g=(0,U.useMemo)(()=>pt(a??[],m),[a,m]),_=c!=null;return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,G.jsxs)(t.Content,{size:`sm`,children:[(0,G.jsxs)(t.Header,{children:[(0,G.jsx)(t.Title,{children:p(`linkAccountDialog.title`,{channel:r})}),(0,G.jsx)(t.Description,{children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:r,name:i},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(f,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:p(`linkAccountDialog.searchPlaceholder`),"aria-label":p(`linkAccountDialog.searchAriaLabel`,{channel:r}),leftIcon:(0,G.jsx)(L,{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:o?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:p(`linkAccountDialog.loading`)}):g.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(a?.length??0)===0?p(`linkAccountDialog.noMembers`):p(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:g.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:_,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:p(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(t.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)(n,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[p(`linkAccountDialog.inviteInstead`),(0,G.jsx)(me,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return le({...E((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&S(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=k({mutationFn:n=>ke(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),D.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:t}){let{t:o}=j(`contacts`),c=x.use.a2aChannel(),u=ue(),[f]=ne(),p=f.get(`setup`),h=p&&l(p)?p:null,{contactId:g}=ae(),_=ie(),{pathname:v,state:S}=re(),C=Ce(e),w=b(),{paneRef:T,hasRoomForList:E,drawerOpen:se,openDrawer:ce,closeDrawer:O}=we(),A=w&&!E,M=A&&!g,de=A&&!!g,[fe,me]=(0,U.useState)(``),[he,N]=(0,U.useState)(!1),P=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),ge=i(P),F=le({...m(P),enabled:!!e,select:e=>e.contacts}),_e=le({...y({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await te({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}),I=_e.data??bt,ve=_e.isError,L=F.data,R=(0,U.useMemo)(()=>L?.find(e=>e.role===`guardian`)??null,[L]),ye=(0,U.useMemo)(()=>L?.filter(e=>e.role!==`guardian`)??[],[L]),z=g??(M?null:R?.id??null),B=(0,U.useMemo)(()=>L?.find(e=>e.id===z)??null,[L,z]),H=Te.use.setDetailIsScreen(),Ne=(0,U.useCallback)(e=>{e!==g&&(M&&H(!0),_(s.contacts.detail(e),M?{state:Me}:{replace:!0,state:S}))},[_,M,g,S,H]),Pe=(0,U.useCallback)(()=>{je(_,S,s.contacts.root)},[_,S]),Fe=(0,U.useRef)(null);Ee({containerRef:Fe,onBack:Pe,enabled:de,navKey:v});let Ie=F.isSuccess&&F.fetchStatus===`idle`,Le=!!g&&!B&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!L||!B?[]:L.filter(e=>e.id!==B.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[L,B,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>u.invalidateQueries({queryKey:ge}),[u,ge]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=k({mutationFn:()=>Oe(e,{displayName:ze}),onMutate:async()=>{await u.cancelQueries({queryKey:ge})},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&Ne(e.id)},onError:V(o(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(z);(0,U.useLayoutEffect)(()=>{Ke.current=z},[z]);let qe=k({mutationFn:t=>Ae(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{r(u,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:V(o(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=k({mutationFn:({contactId:t,patch:n})=>Oe(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(o(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Oe(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(o(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=a({onMutate:async()=>{await u.cancelQueries({queryKey:ge})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(r(u,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===n.id?n:e)}:void 0),q.current&&Ne(n.id)),N(!1),D.success(o(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{Ne(e),O(),N(!1),Je()},[Ne,O,Je]),Xe=(0,U.useCallback)(()=>{Je(),N(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(N(!1),X.reset())},[X]),Qe=d({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=Te.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!M){it(null);return}return it((0,G.jsx)(n,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),"aria-label":o(`contactsList.addAriaLabel`),tooltip:o(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,M,it,o]),(0,U.useLayoutEffect)(()=>(H(de),()=>{H(!1)}),[de,H]);let at=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.contact;r&&t(r)},[I,t]),ot=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.guardian;r&&t(r)},[I,t]),st=k({mutationFn:t=>De(e,t.channelId),onSuccess:()=>K(),onError:V(o(`contactsPage.verifyFailed`))}),ct=k({mutationFn:t=>{if(!B)throw Error(`No contact selected`);return ke(e,{id:B.id,displayName:B.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:V(o(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!B)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=B.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[B,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:B?{id:B.id,displayName:B.displayName}:null,onLinked:K}),ft=le({...ee(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(!B)return null;let e=B;return J.isPending&&J.variables?.contactId===B.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===B.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[B,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=z!==null&&Be.ids.has(z),Et=z!==null&&Ve.ids.has(z);if(h)return(0,G.jsx)(oe,{to:`${s.channels}?setup=${h}`,replace:!0});let Dt={loading:F.isLoading,guardian:R?{id:R.id,displayName:R.displayName.startsWith(`cadet-principal-`)?``:R.displayName,role:R.role,channelTypes:wt(R.channels,c)}:null,regularContacts:ye.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,c),verified:Ct(e.channels)})),selectedContactId:z,onSelect:Ye,onAddContact:rt,addingContact:Z,search:fe,onSearchChange:me};return(0,G.jsxs)(`div`,{ref:T,className:`flex min-h-0 flex-1 overflow-hidden ${E?`flex-row gap-6`:`flex-col gap-4`}`,children:[E?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):A?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(be,{onClick:ce})}),(0,G.jsx)(xe,{open:se,onClose:O,title:o(`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:F.isLoading||Le?(0,G.jsx)(St,{}):M?(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:I,channelsLoadFailed:ve,a2aEnabled:c,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:t?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:c?C.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:I,channelsLoadFailed:ve,a2aEnabled:c,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:t?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):g?(0,G.jsx)(xt,{text:o(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:o(`contactsPage.emptyBody`)})}),B?(0,G.jsx)(tt,{open:he,survivor:B,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?o(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:B.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:B?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?o(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Se,{open:C.isOpen,assistantId:e,onClose:C.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)(P,{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=ie(),t=o(),{contactId:n}=ae(),{state:r}=re(),i=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let a=i.current;i.current=t,!(a===t||!n)&&je(e,r,s.contacts.root)},[t,n,r,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{C(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{BS as t,CC as n,Dp as r,Ep as i,Fm as a,G as o,Gx as s,IS as c,Jh as l,OC as u,Pm as d,QS as f,RS as p,Tp as m,Z as h,fC as g,gC as _,iC as v,lp as y,nu as b,qf as x,qh as S,tu as C,uC as w,ua as T,up as E,w as ee,wv as te,zS as D}from"./app-BNxKtvfM.js";import{_ as ne,d as re,f as ie,h as ae,r as oe,t as se,x as ce}from"./react-BJ4PZBJN.js";import{E as O,Jn as k,Zn as le,er as ue,k as A,w as j}from"./vendor-CezcraPH.js";import{Bi as M,Dn as de,Kt as fe,Lt as pe,Ra as me,Vn as he,Ya as N,Yn as P,Zt as ge,_a as F,_t as _e,br as I,tr as ve,vt as L,x as R,za as ye}from"./icons-Dwi7aA1Y.js";import{t as z}from"./ellipsis-vertical-DXwTXFid.js";import{t as B}from"./detail-card-DF9nj6Gj.js";import{t as V}from"./mutation-error-CAyH2x36.js";import{a as be,i as xe,n as H,r as Se,t as Ce}from"./use-invite-link-dialog-CbFJAi4C.js";import{t as we}from"./use-side-list-room-BL6BAMEB.js";import{t as Te}from"./intelligence-layout-slots-store-yq8xZ_lC.js";import{t as Ee}from"./use-edge-swipe-back-D92U2q-N.js";import{a as De,i as Oe,n as ke,t as Ae}from"./contacts-gateway-FWhhciZa.js";import{n as je,t as Me}from"./list-detail-navigation-Bc3JpBO4.js";var Ne=N(`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=N(`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(ce(),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=se(),Be=new Set([`telegram`,`phone`,`cadet`,`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=T(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(F,{className:n,style:r});case`hash`:return(0,G.jsx)(I,{className:n,style:r});case`send`:return(0,G.jsx)(_e,{className:n,style:r});case`phone`:return(0,G.jsx)(fe,{className:n,style:r});case`mail`:return(0,G.jsx)(he,{className:n,style:r});case`message-square`:return(0,G.jsx)(de,{className:n,style:r});default:return(0,G.jsx)(Ne,{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}=j(`contacts`),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),v=new Map;for(let t of e)t.status!==`revoked`&&(v.has(t.type)||v.set(t.type,t));let y=e=>{m&&(l?.(m.info.id,e),h(null))},b=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`)}),b.map((e,t)=>{let n=v.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)?()=>h({info:e,existing:n}):void 0,onRevoke:u&&n?()=>_({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),m?(0,G.jsx)(J,{info:m.info,existing:m.existing,verifySubject:s,onConfirm:y,onCancel:()=>h(null)}):null,g&&(0,G.jsx)(p,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:g.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(g.channelId,g.channel.id),_(null)},onCancel:()=>_(null)})]})}function qe({info:e,existing:t,setupLabel:r,verifyLoading:i,actionsDisabled:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let{t:u}=j(`contacts`),d=K(e,t);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}),t?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.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)(M,{className:`h-3 w-3`}),u(`channelStatus.connected`)]}),c?(0,G.jsx)(n,{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)(M,{className:`h-3 w-3`}),u(`channelStatus.verified`)]}),c?(0,G.jsx)(n,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`unverified`?(0,G.jsx)(n,{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)(n,{onClick:l,disabled:a,children:[(0,G.jsx)(ve,{className:`h-3.5 w-3.5`}),u(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o||a,children:r})]}):null})]})}function J({info:e,existing:r,verifySubject:i,onConfirm:a,onCancel:o}){let{t:s}=j(`contacts`),[c,l]=(0,U.useState)(r?.address?.trim()??``),u=(0,U.useRef)(null),d=(0,U.useId)(),m=c.trim();return We(r)?(0,G.jsx)(p,{open:!0,title:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:s(i===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:s(`actions.verify`),onConfirm:()=>{a()},onCancel:o}):(0,G.jsx)(t.Root,{open:!0,onOpenChange:e=>{e||o()},children:(0,G.jsx)(t.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),u.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),o()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),m.length!==0&&a(m)},children:[(0,G.jsx)(t.Header,{children:(0,G.jsx)(t.Title,{children:s(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(t.Description,{children:s(i===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(f,{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)(t.Footer,{children:[(0,G.jsx)(n,{variant:`outlined`,type:`button`,onClick:o,children:s(`actions.cancel`)}),(0,G.jsx)(n,{type:`submit`,disabled:m.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}=j(`contacts`),i=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:h.find(e=>e.riskThreshold===i);return(0,G.jsx)(B,{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)(c,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=h.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...h.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)(v,{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:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onDelete:d,onMerge:m,onSetupChannel:h,onVerifyChannel:g,onRevokeChannel:_,onLinkAccount:v,pendingAutoApproveThreshold:y,onAutoApproveThresholdChange:b}){let{t:x}=j(`contacts`),S=W(e.displayName),[C,w]=(0,U.useState)(S?``:e.displayName),[T,E]=(0,U.useState)(e.notes??``),[ee,te]=(0,U.useState)(!1),D=C.trim(),ne=T.trim(),re=S?``:e.displayName,ie=e.notes??``,ae=D!==re||ne!==ie,oe=D.length>0&&ae&&!t&&!r,se=S&&e.channels.length===0&&e.interactionCount===0,ce=D||(S?x(`contact.draftName`):e.displayName),O=x(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:ce,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:O,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(f,{label:x(`contact.nameLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:x(`contactDetailView.namePlaceholder`),autoFocus:S,disabled:t||r,fullWidth:!0}),(0,G.jsx)(f,{label:x(`contact.notesLabel`),type:`text`,value:T,onChange:e=>E(e.target.value),placeholder:x(`contactDetailView.notesPlaceholder`),disabled:t||r,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(n,{type:`button`,onClick:()=>u({displayName:D,notes:ne}),disabled:!oe,children:x(t?`actions.saving`:`actions.save`)}),m?(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:m,disabled:!o||se||ae||a||t||r,title:o?se?x(`contactDetailView.mergeBlockedUnsavedDraft`):ae?x(`contact.mergeBlockedUnsaved`):void 0:x(`contact.mergeBlockedNoCandidates`),children:x(a?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{se?d():te(!0)},disabled:r,children:x(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(B,{title:x(`contactDetailView.linkedAccountsTitle`),subtitle:x(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:i,actionsDisabled:r,verifySubject:`contact`,onSetupChannel:h,onVerifyChannel:g,onRevokeChannel:_,onLinkAccount:v})}),Ye(e)&&b?(0,G.jsx)(Xe,{contact:e,pending:y||r,onAutoApproveThresholdChange:b}):null,(0,G.jsx)(p,{open:ee,title:x(`contactDetailView.deleteConfirmTitle`,{name:ce}),message:x(`contactDetailView.deleteConfirmMessage`),confirmLabel:x(`actions.delete`),destructive:!0,onConfirm:()=>{te(!1),d()},onCancel:()=>te(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:r,candidates:i,pending:a,errorMessage:o,onMerge:s,onClose:c}){let{t:l}=j(`contacts`),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{f&&!i.some(e=>e.id===f)&&p(null)},[i,f]);let m=(0,U.useMemo)(()=>{let e=u.trim().toLowerCase();return e?i.filter(t=>t.displayName.toLowerCase().includes(e)):i},[i,u]),h=f?i.find(e=>e.id===f)??null:null,_=ot(r);return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>{!e&&!a&&c()},children:(0,G.jsxs)(t.Content,{size:`md`,children:[(0,G.jsxs)(t.Header,{icon:Pe,children:[(0,G.jsx)(t.Title,{children:h?l(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:_}):l(`contactMergeDialog.titlePicking`,{survivor:_})}),(0,G.jsx)(t.Description,{children:l(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[h?(0,G.jsx)(it,{survivor:r,donor:h}):i.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:u,onSearch:d,candidates:m,onPick:p}),o?(0,G.jsx)(g,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:o}):null]}),(0,G.jsx)(t.Footer,{children:h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(n,{variant:`outlined`,onClick:()=>p(null),disabled:a,leftIcon:(0,G.jsx)(ye,{"aria-hidden":!0}),children:l(`actions.back`)}),(0,G.jsx)(n,{variant:`danger`,onClick:()=>s(h.id),disabled:a,children:l(a?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(n,{variant:`outlined`,onClick:c,disabled:a,children:l(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=j(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{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":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,G.jsx)(g,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`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)(_,{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}=j(`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}=j(`contacts`);return(0,G.jsx)(g,{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(`cadet-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:ge,more:z};function ut({loading:e,guardian:t,regularContacts:r,selectedContactId:i,onSelect:a,onAddContact:o,addingContact:s=!1,surface:c=`card`,search:l,onSearchChange:u}){let{t:d}=j(`contacts`),p=c===`screen`,m=r.length>0,h=l.trim()?r.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):r,g=m?(0,G.jsx)(f,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:p?`h-10`:void 0}):null,_=t?(0,G.jsx)(Q,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i===t.id,onClick:()=>a(t.id),trailingIcon:`pencil`,surface:c}):null,v=t?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,y=(0,G.jsxs)(G.Fragment,{children:[h.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i===e.id,onClick:()=>a(e.id),trailingIcon:`more`,surface:c},e.id)),h.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`contactsList.noMatches`)}):null]}),b=e?null:(0,G.jsx)(n,{type:`button`,variant:`ghost`,onClick:o,disabled:s,tintColor:`var(--primary-base)`,loading:s,leftIcon:(0,G.jsx)(R,{"aria-hidden":!0}),children:d(`contactsList.add`)});return p?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[g,_,v,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:m?y:b})]}):(0,G.jsx)(w.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(w.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:d(`contactsList.heading`)}),(0,G.jsx)(n,{type:`button`,variant:`ghost`,loading:s,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),onClick:o,disabled:s,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),_,v,g,m?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:y}):b]})})}function Q({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s,surface:c}){let{t:l}=j(`contacts`),d=c===`screen`,f=r&&r.length>0?r.join(` | `):void 0,p=d||s===void 0?null:(0,G.jsx)(v,{tone:s?`positive`:`neutral`,children:l(s?`contactsList.verified`:`contactsList.unverified`)}),m=d||o===void 0?void 0:lt[o];return(0,G.jsx)(_,{asChild:!0,active:i,className:d?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:a,className:u(`flex h-auto w-full items-center`,!d&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:u(`flex min-w-0 flex-1 flex-col`,d&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:u(`truncate text-body-medium-default`,d&&`text-[var(--content-default)]`),children:e}),f?(0,G.jsx)(`span`,{className:u(`truncate`,d?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:f}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[p,(0,G.jsx)(Ze,{role:t,contactType:n}),m?(0,G.jsx)(m,{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:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:p,onRevokeChannel:m,onGenerateInviteLink:h}){let{t:g}=j(`contacts`),_=e.displayName.startsWith(`cadet-principal-`),v=_?``:e.displayName,[y,b]=(0,U.useState)(v),[x,S]=(0,U.useState)(e.notes??``),C=y.trim(),w=x.trim(),T=C!==v.trim()||w!==(e.notes??``).trim(),E=T&&!t,ee=g(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:ee,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(f,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsx)(f,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(n,{variant:`primary`,onClick:()=>l({displayName:C||e.displayName,notes:w}),disabled:!E,children:g(t?`actions.saving`:`actions.save`)}),u?(0,G.jsx)(n,{variant:`outlined`,onClick:u,disabled:!a||T||i||t,title:a?T?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(B,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:d,onVerifyChannel:p,onRevokeChannel:m})}),h?(0,G.jsx)(H,{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:r,contactName:i,accounts:a,loading:o,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:p}=j(`contacts`),[m,h]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&h(``)},[e]);let g=(0,U.useMemo)(()=>pt(a??[],m),[a,m]),_=c!=null;return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,G.jsxs)(t.Content,{size:`sm`,children:[(0,G.jsxs)(t.Header,{children:[(0,G.jsx)(t.Title,{children:p(`linkAccountDialog.title`,{channel:r})}),(0,G.jsx)(t.Description,{children:(0,G.jsx)(O,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:r,name:i},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(f,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:p(`linkAccountDialog.searchPlaceholder`),"aria-label":p(`linkAccountDialog.searchAriaLabel`,{channel:r}),leftIcon:(0,G.jsx)(L,{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:o?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:p(`linkAccountDialog.loading`)}):g.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(a?.length??0)===0?p(`linkAccountDialog.noMembers`):p(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:g.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:_,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:p(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(t.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)(n,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[p(`linkAccountDialog.inviteInstead`),(0,G.jsx)(me,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return le({...E((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&S(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=k({mutationFn:n=>ke(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),D.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:t}){let{t:o}=j(`contacts`),c=x.use.a2aChannel(),u=ue(),[f]=ne(),p=f.get(`setup`),h=p&&l(p)?p:null,{contactId:g}=ae(),_=ie(),{pathname:v,state:S}=re(),C=Ce(e),w=b(),{paneRef:T,hasRoomForList:E,drawerOpen:se,openDrawer:ce,closeDrawer:O}=we(),A=w&&!E,M=A&&!g,de=A&&!!g,[fe,me]=(0,U.useState)(``),[he,N]=(0,U.useState)(!1),P=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),ge=i(P),F=le({...m(P),enabled:!!e,select:e=>e.contacts}),_e=le({...y({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await te({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}),I=_e.data??bt,ve=_e.isError,L=F.data,R=(0,U.useMemo)(()=>L?.find(e=>e.role===`guardian`)??null,[L]),ye=(0,U.useMemo)(()=>L?.filter(e=>e.role!==`guardian`)??[],[L]),z=g??(M?null:R?.id??null),B=(0,U.useMemo)(()=>L?.find(e=>e.id===z)??null,[L,z]),H=Te.use.setDetailIsScreen(),Ne=(0,U.useCallback)(e=>{e!==g&&(M&&H(!0),_(s.contacts.detail(e),M?{state:Me}:{replace:!0,state:S}))},[_,M,g,S,H]),Pe=(0,U.useCallback)(()=>{je(_,S,s.contacts.root)},[_,S]),Fe=(0,U.useRef)(null);Ee({containerRef:Fe,onBack:Pe,enabled:de,navKey:v});let Ie=F.isSuccess&&F.fetchStatus===`idle`,Le=!!g&&!B&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!L||!B?[]:L.filter(e=>e.id!==B.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[L,B,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>u.invalidateQueries({queryKey:ge}),[u,ge]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=k({mutationFn:()=>Oe(e,{displayName:ze}),onMutate:async()=>{await u.cancelQueries({queryKey:ge})},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&Ne(e.id)},onError:V(o(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(z);(0,U.useLayoutEffect)(()=>{Ke.current=z},[z]);let qe=k({mutationFn:t=>Ae(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{r(u,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:V(o(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=k({mutationFn:({contactId:t,patch:n})=>Oe(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(o(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Oe(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{r(u,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(o(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=a({onMutate:async()=>{await u.cancelQueries({queryKey:ge})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(r(u,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===n.id?n:e)}:void 0),q.current&&Ne(n.id)),N(!1),D.success(o(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{Ne(e),O(),N(!1),Je()},[Ne,O,Je]),Xe=(0,U.useCallback)(()=>{Je(),N(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(N(!1),X.reset())},[X]),Qe=d({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=Te.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!M){it(null);return}return it((0,G.jsx)(n,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),"aria-label":o(`contactsList.addAriaLabel`),tooltip:o(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,M,it,o]),(0,U.useLayoutEffect)(()=>(H(de),()=>{H(!1)}),[de,H]);let at=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.contact;r&&t(r)},[I,t]),ot=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.guardian;r&&t(r)},[I,t]),st=k({mutationFn:t=>De(e,t.channelId),onSuccess:()=>K(),onError:V(o(`contactsPage.verifyFailed`))}),ct=k({mutationFn:t=>{if(!B)throw Error(`No contact selected`);return ke(e,{id:B.id,displayName:B.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:V(o(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!B)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=B.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[B,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:B?{id:B.id,displayName:B.displayName}:null,onLinked:K}),ft=le({...ee(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(!B)return null;let e=B;return J.isPending&&J.variables?.contactId===B.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===B.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[B,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=z!==null&&Be.ids.has(z),Et=z!==null&&Ve.ids.has(z);if(h)return(0,G.jsx)(oe,{to:`${s.channels}?setup=${h}`,replace:!0});let Dt={loading:F.isLoading,guardian:R?{id:R.id,displayName:R.displayName.startsWith(`cadet-principal-`)?``:R.displayName,role:R.role,channelTypes:wt(R.channels,c)}:null,regularContacts:ye.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,c),verified:Ct(e.channels)})),selectedContactId:z,onSelect:Ye,onAddContact:rt,addingContact:Z,search:fe,onSearchChange:me};return(0,G.jsxs)(`div`,{ref:T,className:`flex min-h-0 flex-1 overflow-hidden ${E?`flex-row gap-6`:`flex-col gap-4`}`,children:[E?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):A?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(be,{onClick:ce})}),(0,G.jsx)(xe,{open:se,onClose:O,title:o(`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:F.isLoading||Le?(0,G.jsx)(St,{}):M?(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:I,channelsLoadFailed:ve,a2aEnabled:c,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:t?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:c?C.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:I,channelsLoadFailed:ve,a2aEnabled:c,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:t?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):g?(0,G.jsx)(xt,{text:o(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:o(`contactsPage.emptyBody`)})}),B?(0,G.jsx)(tt,{open:he,survivor:B,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?o(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:B.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:B?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?o(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Se,{open:C.isOpen,assistantId:e,onClose:C.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)(P,{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=ie(),t=o(),{contactId:n}=ae(),{state:r}=re(),i=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let a=i.current;i.current=t,!(a===t||!n)&&je(e,r,s.contacts.root)},[t,n,r,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{C(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
@@ -1 +1 @@
1
- import{CC as e,Ny as t}from"./app-CGffgaON.js";import{t as n}from"./react-BJ4PZBJN.js";import{w as r}from"./vendor-CezcraPH.js";import{Ji as i,li as a}from"./icons-Dwi7aA1Y.js";var o=n();function s({text:n,ariaLabel:s,className:c}){let{t:l}=r(),{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 n==`function`?n():n)})}export{s as t};
1
+ import{CC as e,Ny as t}from"./app-BNxKtvfM.js";import{t as n}from"./react-BJ4PZBJN.js";import{w as r}from"./vendor-CezcraPH.js";import{Ji as i,li as a}from"./icons-Dwi7aA1Y.js";var o=n();function s({text:n,ariaLabel:s,className:c}){let{t:l}=r(),{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 n==`function`?n():n)})}export{s as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{CC as t,QS as n,uC as r,y_ as i}from"./app-CGffgaON.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{w as s}from"./vendor-CezcraPH.js";import{Ui as c,Yn as l,dr as u,zi as d}from"./icons-Dwi7aA1Y.js";var f=e(o(),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(i(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&_(r)?{status:`ok`,request:r}:n.status===404?{status:g(r)??`invalid`}:{status:`error`}}async function y(e,t,n){let r=await fetch(i(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let a=await r.json().catch(()=>null);return r.status===404?{status:g(a)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var b=a();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}=s(`credential-requests`),[i]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[a,o]=(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(!i){o({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(i,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?o({kind:`form`,request:t.request}):o({kind:t.status}))})(),()=>{e.abort()}},[i]);let D=async e=>{if(e.preventDefault(),!i||a.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(i,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),o({kind:`success`});break;case`invalid`:case`expired`:case`used`:o({kind:t.status});break;case`store-failed`:m(``),o({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=a.kind===`form`?h(a.request.expiresAt):null,k=a.kind===`form`&&O!==null&&O>E,A;if(a.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(a.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(a.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(a.kind===`expired`||a.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(a.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(a.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(a.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:r}=a,i=`${r.service}:${r.field}`,o=(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:r.label||i}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[r.label?`${i} · `:``,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)(n,{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(o),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)(r.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{CC as t,QS as n,uC as r,y_ as i}from"./app-BNxKtvfM.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{w as s}from"./vendor-CezcraPH.js";import{Ui as c,Yn as l,dr as u,zi as d}from"./icons-Dwi7aA1Y.js";var f=e(o(),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(i(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&_(r)?{status:`ok`,request:r}:n.status===404?{status:g(r)??`invalid`}:{status:`error`}}async function y(e,t,n){let r=await fetch(i(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let a=await r.json().catch(()=>null);return r.status===404?{status:g(a)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var b=a();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}=s(`credential-requests`),[i]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[a,o]=(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(!i){o({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(i,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?o({kind:`form`,request:t.request}):o({kind:t.status}))})(),()=>{e.abort()}},[i]);let D=async e=>{if(e.preventDefault(),!i||a.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(i,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),o({kind:`success`});break;case`invalid`:case`expired`:case`used`:o({kind:t.status});break;case`store-failed`:m(``),o({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=a.kind===`form`?h(a.request.expiresAt):null,k=a.kind===`form`&&O!==null&&O>E,A;if(a.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(a.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(a.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(a.kind===`expired`||a.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(a.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(a.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(a.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:r}=a,i=`${r.service}:${r.field}`,o=(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:r.label||i}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[r.label?`${i} · `:``,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)(n,{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(o),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)(r.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{BS as t,CC as n,Fv as r,G as i,HS as a,Im as o,My as s,Pv as c,Py as l,QS as u,RS as d,TC as f,U as p,W as m,eS as h,i as g,iC as _,iS as v,kx as y,nS as ee,qf as te,qx as b,th as ne,uC as x,zS as S}from"./app-CGffgaON.js";import{t as C,x as w}from"./react-BJ4PZBJN.js";import{Zn as re,er as ie,w as T}from"./vendor-CezcraPH.js";import{A as E,Ji as D,Lt as O,Xr as k,Yn as A,Yr as j,dr as M,li as N,tr as P,vt as ae}from"./icons-Dwi7aA1Y.js";import{t as oe}from"./detail-card-DXYh92lS.js";import{t as F}from"./use-supports-credentials-settings-CaBKQ60M.js";var I=e(w(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof v)||e.code!==L)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 R(e){return new Intl.ListFormat(b(),{style:`long`,type:`conjunction`}).format(e)}var z=C(),B=1500;function V(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=T(`settings`),c=`${e.service}:${e.field}`,l=r||i,u=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:V(e.createdAt)}):null].filter(e=>!!e);return(0,z.jsx)(x.Root,{children:(0,z.jsxs)(x.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(M,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,z.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,z.jsx)(H,{assistantId:t,credential:e})}),u.length>0&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:u.join(` · `)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,z.jsx)(f,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,z.jsx)(n,{variant:`outlined`,onClick:a,disabled:l,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),loading:r,iconOnly:(0,z.jsx)(P,{"aria-hidden":!0})})}),(0,z.jsx)(f,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,z.jsx)(n,{variant:`dangerOutline`,onClick:o,disabled:l,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),loading:i,iconOnly:(0,z.jsx)(E,{"aria-hidden":!0})})})]})]})})}function H({assistantId:e,credential:t}){let{t:i}=T(`settings`),[a,o]=(0,I.useState)(null),[s,c]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),f=(0,I.useRef)(null),p=(0,I.useRef)(0),m=`${t.service}:${t.field}`,h=(0,I.useCallback)(()=>{p.current++,o(null),c(!1),d(!1),f.current&&=(clearTimeout(f.current),null)},[]);(0,I.useEffect)(()=>{h()},[t.updatedAt,h]);let g=(0,I.useCallback)(async()=>{let n=++p.current;c(!0);try{let{data:i}=await r({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});p.current===n&&o(i.value)}catch{p.current===n&&S.error(i(`credentialRow.revealFailedToast`,{name:m}))}finally{p.current===n&&c(!1)}},[e,t.service,t.field,m,i]),_=(0,I.useCallback)(()=>{a!=null&&l(a,{errorMessage:i(`credentialRow.copyFailedToast`),onCopied:()=>{d(!0),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>d(!1),B)}})},[a,i]),v=a!==null;return t.hasSecret?(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>v?h():void g(),disabled:s,"aria-label":i(v?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:m}),title:i(v?`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)] ${v?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:v?a:t.scrubbedValue}),s?(0,z.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:u?(0,z.jsx)(D,{"aria-hidden":!0}):(0,z.jsx)(N,{"aria-hidden":!0}),expandOnMobile:!1,onClick:_,"aria-label":i(`credentialRow.copyValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.copyValueTitle`),className:`size-4.5 shrink-0 rounded-sm`}),(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,z.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!1,onClick:h,"aria-label":i(`credentialRow.hideValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.hideValueTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,z.jsx)(j,{"aria-hidden":!0}),expandOnMobile:!1,onClick:()=>void g(),"aria-label":i(`credentialRow.revealValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.clickToRevealTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function U(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=i(),t=F(e),n=y.use.assistantId();return y.use.version()!==null&&n===e&&!t?(0,z.jsx)(g,{}):t?(0,z.jsx)(K,{}):null}function K(){let{t:e}=T(`settings`),r=i(),s=ie(),f=ne(),g=m(r),v=re({queryKey:g,queryFn:async()=>{let{data:e}=await c({path:{assistant_id:r},body:{},throwOnError:!0});return{credentials:e.credentials,cloudCredentials:e.cloudCredentials}},enabled:f,retry:ee}),y=(0,I.useMemo)(()=>v.data?.credentials??[],[v.data]),b=te.use.settingsDeveloperNav(),C=(0,I.useMemo)(()=>b?v.data?.cloudCredentials??[]:[],[b,v.data]),[w,E]=(0,I.useState)(!1),[D,k]=(0,I.useState)(`own`),[j,F]=(0,I.useState)(``),[L,B]=(0,I.useState)(null),[V,H]=(0,I.useState)(null),[G,K]=(0,I.useState)(null),[ue,q]=(0,I.useState)(null),J=o({onSuccess:(t,n)=>{s.invalidateQueries({queryKey:g}),S.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=se(t),i=y.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){H({credential:i,connections:r});return}h(t,{context:`credentials-delete`}),S.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=j.trim().toLowerCase();return e?y.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):y},[y,j]);(0,I.useEffect)(()=>{y.length<=W&&F(``)},[y.length]),(0,I.useEffect)(()=>{y.length===0&&C.length>0&&k(`managed`)},[y.length,C.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:r},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=L;B(null),e&&X(e,!1)},pe=()=>{let e=V;H(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let i=await U(r,{service:t.service,field:t.field,label:t.alias??void 0});i.ok&&i.url?K({name:n,url:i.url,expiresAt:i.expiresAt??null}):S.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){S.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&l(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(v.isLoading)return(0,z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,z.jsx)(A,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=y.length>0,Q=C.length>0,ge=y.length>W,$=D===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(oe,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,z.jsx)(a,{items:ve,value:D,onChange:k,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,z.jsx)(n,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>E(!0),leftIcon:(0,z.jsx)(O,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,z.jsx)(`div`,{className:`space-y-2`,children:C.map(t=>(0,z.jsx)(x.Root,{children:(0,z.jsxs)(x.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(M,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,z.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,z.jsx)(_,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,z.jsx)(u,{type:`text`,value:j,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,z.jsx)(ae,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,z.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:j.trim()})}):(0,z.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,z.jsx)(ce,{credential:e,assistantId:r,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>B(e)},e.credentialId??t)})})]}):(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,z.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,z.jsx)(M,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,z.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,z.jsx)(n,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,z.jsx)(O,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,z.jsx)(d,{open:L!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:L?e(`credentialsPage.deleteConfirmMessage`,{name:`${L.service}:${L.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>B(null)}),(0,z.jsx)(d,{open:V!==null,title:e(`credentialsPage.inUseTitle`),message:V?e(`credentialsPage.inUseMessage`,{count:V.connections.length,name:`${V.credential.service}:${V.credential.field}`,connections:R(V.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>H(null)}),(0,z.jsx)(p,{open:w,onClose:()=>E(!1)}),(0,z.jsx)(t.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,z.jsxs)(t.Content,{size:`sm`,children:[(0,z.jsxs)(t.Header,{icon:P,children:[(0,z.jsx)(t.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,z.jsx)(t.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(le(G.expiresAt)).toLocaleString()})}):``})]}),(0,z.jsx)(t.Body,{children:(0,z.jsx)(u,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,z.jsx)(t.Footer,{children:(0,z.jsx)(n,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,z.jsx)(N,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{BS as t,CC as n,Fv as r,G as i,HS as a,Im as o,My as s,Pv as c,Py as l,QS as u,RS as d,TC as f,U as p,W as m,eS as h,i as g,iC as _,iS as v,kx as y,nS as ee,qf as te,qx as b,th as ne,uC as x,zS as S}from"./app-BNxKtvfM.js";import{t as C,x as w}from"./react-BJ4PZBJN.js";import{Zn as re,er as ie,w as T}from"./vendor-CezcraPH.js";import{A as E,Ji as D,Lt as O,Xr as k,Yn as A,Yr as j,dr as M,li as N,tr as P,vt as ae}from"./icons-Dwi7aA1Y.js";import{t as oe}from"./detail-card-DF9nj6Gj.js";import{t as F}from"./use-supports-credentials-settings-Dv49IKbZ.js";var I=e(w(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof v)||e.code!==L)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 R(e){return new Intl.ListFormat(b(),{style:`long`,type:`conjunction`}).format(e)}var z=C(),B=1500;function V(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=T(`settings`),c=`${e.service}:${e.field}`,l=r||i,u=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:V(e.createdAt)}):null].filter(e=>!!e);return(0,z.jsx)(x.Root,{children:(0,z.jsxs)(x.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(M,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,z.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,z.jsx)(H,{assistantId:t,credential:e})}),u.length>0&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:u.join(` · `)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,z.jsx)(f,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,z.jsx)(n,{variant:`outlined`,onClick:a,disabled:l,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),loading:r,iconOnly:(0,z.jsx)(P,{"aria-hidden":!0})})}),(0,z.jsx)(f,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,z.jsx)(n,{variant:`dangerOutline`,onClick:o,disabled:l,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),loading:i,iconOnly:(0,z.jsx)(E,{"aria-hidden":!0})})})]})]})})}function H({assistantId:e,credential:t}){let{t:i}=T(`settings`),[a,o]=(0,I.useState)(null),[s,c]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),f=(0,I.useRef)(null),p=(0,I.useRef)(0),m=`${t.service}:${t.field}`,h=(0,I.useCallback)(()=>{p.current++,o(null),c(!1),d(!1),f.current&&=(clearTimeout(f.current),null)},[]);(0,I.useEffect)(()=>{h()},[t.updatedAt,h]);let g=(0,I.useCallback)(async()=>{let n=++p.current;c(!0);try{let{data:i}=await r({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});p.current===n&&o(i.value)}catch{p.current===n&&S.error(i(`credentialRow.revealFailedToast`,{name:m}))}finally{p.current===n&&c(!1)}},[e,t.service,t.field,m,i]),_=(0,I.useCallback)(()=>{a!=null&&l(a,{errorMessage:i(`credentialRow.copyFailedToast`),onCopied:()=>{d(!0),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>d(!1),B)}})},[a,i]),v=a!==null;return t.hasSecret?(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>v?h():void g(),disabled:s,"aria-label":i(v?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:m}),title:i(v?`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)] ${v?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:v?a:t.scrubbedValue}),s?(0,z.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:u?(0,z.jsx)(D,{"aria-hidden":!0}):(0,z.jsx)(N,{"aria-hidden":!0}),expandOnMobile:!1,onClick:_,"aria-label":i(`credentialRow.copyValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.copyValueTitle`),className:`size-4.5 shrink-0 rounded-sm`}),(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,z.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!1,onClick:h,"aria-label":i(`credentialRow.hideValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.hideValueTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,z.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,z.jsx)(j,{"aria-hidden":!0}),expandOnMobile:!1,onClick:()=>void g(),"aria-label":i(`credentialRow.revealValueAriaLabel`,{name:m}),tooltip:i(`credentialRow.clickToRevealTitle`),className:`size-4.5 shrink-0 rounded-sm`})]}):(0,z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function U(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=i(),t=F(e),n=y.use.assistantId();return y.use.version()!==null&&n===e&&!t?(0,z.jsx)(g,{}):t?(0,z.jsx)(K,{}):null}function K(){let{t:e}=T(`settings`),r=i(),s=ie(),f=ne(),g=m(r),v=re({queryKey:g,queryFn:async()=>{let{data:e}=await c({path:{assistant_id:r},body:{},throwOnError:!0});return{credentials:e.credentials,cloudCredentials:e.cloudCredentials}},enabled:f,retry:ee}),y=(0,I.useMemo)(()=>v.data?.credentials??[],[v.data]),b=te.use.settingsDeveloperNav(),C=(0,I.useMemo)(()=>b?v.data?.cloudCredentials??[]:[],[b,v.data]),[w,E]=(0,I.useState)(!1),[D,k]=(0,I.useState)(`own`),[j,F]=(0,I.useState)(``),[L,B]=(0,I.useState)(null),[V,H]=(0,I.useState)(null),[G,K]=(0,I.useState)(null),[ue,q]=(0,I.useState)(null),J=o({onSuccess:(t,n)=>{s.invalidateQueries({queryKey:g}),S.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=se(t),i=y.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){H({credential:i,connections:r});return}h(t,{context:`credentials-delete`}),S.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=j.trim().toLowerCase();return e?y.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):y},[y,j]);(0,I.useEffect)(()=>{y.length<=W&&F(``)},[y.length]),(0,I.useEffect)(()=>{y.length===0&&C.length>0&&k(`managed`)},[y.length,C.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:r},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=L;B(null),e&&X(e,!1)},pe=()=>{let e=V;H(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let i=await U(r,{service:t.service,field:t.field,label:t.alias??void 0});i.ok&&i.url?K({name:n,url:i.url,expiresAt:i.expiresAt??null}):S.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){S.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&l(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(v.isLoading)return(0,z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,z.jsx)(A,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=y.length>0,Q=C.length>0,ge=y.length>W,$=D===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(oe,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,z.jsx)(a,{items:ve,value:D,onChange:k,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,z.jsx)(n,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>E(!0),leftIcon:(0,z.jsx)(O,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,z.jsx)(`div`,{className:`space-y-2`,children:C.map(t=>(0,z.jsx)(x.Root,{children:(0,z.jsxs)(x.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(M,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,z.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,z.jsx)(_,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,z.jsx)(u,{type:`text`,value:j,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,z.jsx)(ae,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,z.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:j.trim()})}):(0,z.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,z.jsx)(ce,{credential:e,assistantId:r,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>B(e)},e.credentialId??t)})})]}):(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,z.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,z.jsx)(M,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,z.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,z.jsx)(n,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,z.jsx)(O,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,z.jsx)(d,{open:L!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:L?e(`credentialsPage.deleteConfirmMessage`,{name:`${L.service}:${L.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>B(null)}),(0,z.jsx)(d,{open:V!==null,title:e(`credentialsPage.inUseTitle`),message:V?e(`credentialsPage.inUseMessage`,{count:V.connections.length,name:`${V.credential.service}:${V.credential.field}`,connections:R(V.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>H(null)}),(0,z.jsx)(p,{open:w,onClose:()=>E(!1)}),(0,z.jsx)(t.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,z.jsxs)(t.Content,{size:`sm`,children:[(0,z.jsxs)(t.Header,{icon:P,children:[(0,z.jsx)(t.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,z.jsx)(t.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(le(G.expiresAt)).toLocaleString()})}):``})]}),(0,z.jsx)(t.Body,{children:(0,z.jsx)(u,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,z.jsx)(t.Footer,{children:(0,z.jsx)(n,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,z.jsx)(N,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ar as t}from"./app-CGffgaON.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{t as i}from"./preview-error-B_SkKxgl.js";import{a,t as o}from"./tabular-grid-CejyLbWr.js";import{t as s}from"./use-async-read-deCq0DBg.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{ar as t}from"./app-BNxKtvfM.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{t as i}from"./preview-error-DhG_s3C0.js";import{a,t as o}from"./tabular-grid-Crdhci1a.js";import{t as s}from"./use-async-read-deCq0DBg.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{Gx as t}from"./app-CGffgaON.js";import{f as n,x as r}from"./react-BJ4PZBJN.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{Gx as t}from"./app-BNxKtvfM.js";import{f as n,x as r}from"./react-BJ4PZBJN.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};