@vellumai/web 0.12.3 → 0.12.4-dev.202609231715.8da971c

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 (443) hide show
  1. package/dist/assets/{a2a-invite-YEhyUfHN.js → a2a-invite-DaxUCY1l.js} +1 -1
  2. package/dist/assets/{about-page-DQ4Ec_gj.js → about-page-oZu_0hF8.js} +1 -1
  3. package/dist/assets/{account-page-BghnPvuL.js → account-page-DBlFlvn0.js} +1 -1
  4. package/dist/assets/{account-shell-CT_g1Cvn.js → account-shell-wVNE3kAa.js} +1 -1
  5. package/dist/assets/acp-run-detail-panel-DkMp28Iu.js +3 -0
  6. package/dist/assets/activation-list-route-CFPKs1bf.js +1 -0
  7. package/dist/assets/{activity-redirect-page-XGaUoIu2.js → activity-redirect-page-BlRhry1y.js} +1 -1
  8. package/dist/assets/activity-steps-panel-B89E6ViR.js +1 -0
  9. package/dist/assets/add-credits-modal-BT5dCSKg.js +1 -0
  10. package/dist/assets/{add-credits-modal-DQewP5v-.js → add-credits-modal-DZT4hfUs.js} +1 -1
  11. package/dist/assets/ai-page-BVukTj9s.js +1 -0
  12. package/dist/assets/all-chats-page-route-BqoglC0s.js +1 -0
  13. package/dist/assets/android-billing-handoff-DA2cWc91.js +1 -0
  14. package/dist/assets/{api-key-screen-BQqbHhQW.js → api-key-screen-C_NA3KQJ.js} +1 -1
  15. package/dist/assets/app-BVWxLewL.css +2 -0
  16. package/dist/assets/app-CfGFV3sD.js +392 -0
  17. package/dist/assets/{app-info-_UBZr9dH.js → app-info-CzptuHH3.js} +1 -1
  18. package/dist/assets/archive-redirect-page-DMuzN87F.js +1 -0
  19. package/dist/assets/assistant-handle-modal---Mr7R3r.js +1 -0
  20. package/dist/assets/{assistant-inbox-BTthGy8r.js → assistant-inbox-AFXhJZXf.js} +1 -1
  21. package/dist/assets/{assistant-inbox-afWVgVXS.js → assistant-inbox-D9-fvL29.js} +1 -1
  22. package/dist/assets/{assistant-inbox-DsdFMHPG.js → assistant-inbox-SSCWu9x_.js} +1 -1
  23. package/dist/assets/{assistant-inbox-D9TUdSDf.js → assistant-inbox-i6tAJN5r.js} +1 -1
  24. package/dist/assets/assistant-inbox-page-route-AGg8cU9v.js +8 -0
  25. package/dist/assets/{assistant-inbox-upgrade-body-vP7feu0-.js → assistant-inbox-upgrade-body-B549wuze.js} +1 -1
  26. package/dist/assets/{assistant-status-panel-DyZG5B7d.js → assistant-status-panel-CynbXxZZ.js} +1 -1
  27. package/dist/assets/auth-store-BkOU6-Ys.js +1 -0
  28. package/dist/assets/{auth-welcome-screen-OOkWXm3h.js → auth-welcome-screen-BMkk6nZx.js} +1 -1
  29. package/dist/assets/avatar-bundled-components-D2_j4KBJ.js +1 -0
  30. package/dist/assets/avatar-random-DPIITfU-.js +2 -0
  31. package/dist/assets/{await-org-header-settled-BXDHXjvn.js → await-org-header-settled-Bkd5zTCk.js} +1 -1
  32. package/dist/assets/background-task-detail-panel-vCJtVHBP.js +1 -0
  33. package/dist/assets/billing-page-ChMznMJe.js +3 -0
  34. package/dist/assets/{billing-redirect-page-C8yes4JF.js → billing-redirect-page-BCy8gEgb.js} +1 -1
  35. package/dist/assets/{bookmarks-page-DMD8fJ_4.js → bookmarks-page-DpIzQ7So.js} +1 -1
  36. package/dist/assets/{bundle-confirm-page-NBQ9F6Qf.js → bundle-confirm-page-hZDac-No.js} +1 -1
  37. package/dist/assets/channel-transcript-panel-Cn6q_5fZ.js +1 -0
  38. package/dist/assets/{channels-BuZPelJ-.js → channels-DAUXet4t.js} +1 -1
  39. package/dist/assets/{channels-CuNLefDI.js → channels-DWvlrh9I.js} +1 -1
  40. package/dist/assets/{channels-D8sm_qqv.js → channels-SX3UnweO.js} +1 -1
  41. package/dist/assets/{channels-Ig5E4zAW.js → channels-XU8V0zvw.js} +1 -1
  42. package/dist/assets/channels-page-route-C18mw-qj.js +1 -0
  43. package/dist/assets/chat-BDLVd0M7.js +3 -0
  44. package/dist/assets/chat-BSMzpRUB.js +3 -0
  45. package/dist/assets/chat-DW4M6eWO.js +3 -0
  46. package/dist/assets/chat-info-panel-CkyPYd2I.js +1 -0
  47. package/dist/assets/chat-rkznz1Ws.js +3 -0
  48. package/dist/assets/checkout-continuation-BJe9jnPe.js +1 -0
  49. package/dist/assets/checkout-page-BkX7F3Dj.js +1 -0
  50. package/dist/assets/checkout-return-target-u96uwitK.js +1 -0
  51. package/dist/assets/command-palette-Dheq0M21.js +1 -0
  52. package/dist/assets/command-palette-MuqmAd5M.js +1 -0
  53. package/dist/assets/{command-palette-window-page-B7uBXbJY.js → command-palette-window-page-xTck_0mY.js} +1 -1
  54. package/dist/assets/common-An2w3UcA.js +1 -0
  55. package/dist/assets/common-BZJGmSRH.js +1 -0
  56. package/dist/assets/common-C66VXduW.js +1 -0
  57. package/dist/assets/common-CfTnXmxq.js +1 -0
  58. package/dist/assets/{community-page-B8TI9Wcd.js → community-page-CJ33FRyc.js} +1 -1
  59. package/dist/assets/{companion-accent-ggBv1xjm.js → companion-accent-b2fsYy90.js} +1 -1
  60. package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-Bt0kQOLQ.js} +1 -1
  61. package/dist/assets/companion-layout-Clamh1rY.js +1 -0
  62. package/dist/assets/{companion-popover-CgAs-3Gu.js → companion-popover-C34BUk4Q.js} +1 -1
  63. package/dist/assets/companion-popover-page-B_AKbogX.js +1 -0
  64. package/dist/assets/companion-surface-BaVVvEyn.js +1 -0
  65. package/dist/assets/companion-surface-page-CS3IgBxP.js +1 -0
  66. package/dist/assets/companion-tour-entry-D4R4elDs.js +1 -0
  67. package/dist/assets/{companion-watch-frame-page-dPkoED3s.js → companion-watch-frame-page-BdcpVWfQ.js} +1 -1
  68. package/dist/assets/connect-page-DHcR_IYK.js +1 -0
  69. package/dist/assets/{consent-controls-DfR6IsHI.js → consent-controls-z4q5wl3o.js} +1 -1
  70. package/dist/assets/contacts-Bgezwr_M.js +1 -0
  71. package/dist/assets/contacts-BiR435DJ.js +1 -0
  72. package/dist/assets/contacts-BwhLAXdB.js +1 -0
  73. package/dist/assets/contacts-D5eMWCyC.js +1 -0
  74. package/dist/assets/contacts-gateway-Do_oSKmh.js +1 -0
  75. package/dist/assets/contacts-page-route-DtNXzmE4.js +1 -0
  76. package/dist/assets/{copy-button-D4V65x9R.js → copy-button-Cru64dNQ.js} +1 -1
  77. package/dist/assets/{credential-entry-page-CC_NFEbF.js → credential-entry-page-kdb5dISB.js} +1 -1
  78. package/dist/assets/credentials-page-asrQ2-wZ.js +1 -0
  79. package/dist/assets/{csv-preview-DWddWd8B.js → csv-preview-DgTnD2wW.js} +2 -2
  80. package/dist/assets/danger-zone-redirect-page-D0PMCNuq.js +1 -0
  81. package/dist/assets/debug-page-XlHWQOYK.js +4 -0
  82. package/dist/assets/deploy-dialogs-Crs2O8of.js +1 -0
  83. package/dist/assets/deploy-dialogs-CvLXAGyd.js +1 -0
  84. package/dist/assets/{desktop-preview-content-DVu8RwqH.js → desktop-preview-content-BtkhOu58.js} +2 -2
  85. package/dist/assets/{desktop-status-D6XhFAXD.js → desktop-status-CqG4Ovvf.js} +1 -1
  86. package/dist/assets/{desktop-viewer-CwGjxDiz.js → desktop-viewer-ClxyQ7vI.js} +2 -2
  87. package/dist/assets/{detail-card-RBkdhZeE.js → detail-card-jaEuy7iJ.js} +1 -1
  88. package/dist/assets/{detail-panel-stop-button-OKauZTzu.js → detail-panel-stop-button-D9mSACk7.js} +1 -1
  89. package/dist/assets/detail-primitives-CDdAJZoz.js +1 -0
  90. package/dist/assets/developer-page-CHfN-ajP.js +1 -0
  91. package/dist/assets/devices-redirect-page-cVpqJSnb.js +1 -0
  92. package/dist/assets/{dictation-overlay-page-DWi_654w.js → dictation-overlay-page-BE6jnKDT.js} +1 -1
  93. package/dist/assets/document-load-BpP8vxSE.js +1 -0
  94. package/dist/assets/{document-load-BImJKE6b.js → document-load-Wt9id_a-.js} +1 -1
  95. package/dist/assets/document-viewer-page-BZ2zLDVk.js +1 -0
  96. package/dist/assets/{emails-page-DRgG2iU-.js → emails-page-WBhFbRwy.js} +1 -1
  97. package/dist/assets/esm-BAbvLrnN.js +2 -0
  98. package/dist/assets/{esm-DOxardAg.js → esm-BmSAJH6a.js} +1 -1
  99. package/dist/assets/esm-BoSfJLuj.js +2 -0
  100. package/dist/assets/{esm-CAEWVAik.js → esm-C1v-VYhH.js} +1 -1
  101. package/dist/assets/esm-CJgWDbDs.js +2 -0
  102. package/dist/assets/esm-Cazntu6m.js +1 -0
  103. package/dist/assets/{esm-CG0ueXyz.js → esm-DQcqu_uH.js} +2 -2
  104. package/dist/assets/esm-QoU_ujjh.js +1 -0
  105. package/dist/assets/esm-_O_c2Bm_.js +2 -0
  106. package/dist/assets/esm-cLcicJ49.js +2 -0
  107. package/dist/assets/{file-diff-view-MJLG55XC.js → file-diff-view-svHpNkRx.js} +1 -1
  108. package/dist/assets/file-view-mode-spEKogxw.js +1 -0
  109. package/dist/assets/general-page-BKtpNo0E.js +2 -0
  110. package/dist/assets/hatching-screen-NeP4DFZn.js +1 -0
  111. package/dist/assets/home-B0KFR8QE.js +1 -0
  112. package/dist/assets/home-BPYWGAAO.js +1 -0
  113. package/dist/assets/home-El2MAf4Z.js +1 -0
  114. package/dist/assets/home-_aCwRRBS.js +1 -0
  115. package/dist/assets/{hosting-screen-DCDIt-t-.js → hosting-screen-DW3hbcu-.js} +1 -1
  116. package/dist/assets/identity-page-route-YAPjlbj2.js +7 -0
  117. package/dist/assets/{inspect-page-xaoUoICP.js → inspect-page-huaW6n94.js} +5 -5
  118. package/dist/assets/integrations-page-35mNRwRt.js +1 -0
  119. package/dist/assets/{intelligence-DBi0b7qu.js → intelligence-BBTJqJDI.js} +1 -1
  120. package/dist/assets/{intelligence-CpXzEjYF.js → intelligence-Bn3Kpv7R.js} +1 -1
  121. package/dist/assets/{intelligence-DGdtAPWo.js → intelligence-Ciw2t9e_.js} +1 -1
  122. package/dist/assets/{intelligence-DNltjvNx.js → intelligence-DavP5Y6I.js} +1 -1
  123. package/dist/assets/intelligence-layout-MatIZxOO.js +1 -0
  124. package/dist/assets/intelligence-layout-slots-store-F8JfDhP4.js +1 -0
  125. package/dist/assets/keyboard-shortcuts-redirect-page-BRy7zza2.js +1 -0
  126. package/dist/assets/{latest-assistant-text-BTp150tH.js → latest-assistant-text-DUlbh8fV.js} +3 -3
  127. package/dist/assets/{library-detail-page-BzSb6IEQ.js → library-detail-page-ByTDQ8z5.js} +1 -1
  128. package/dist/assets/library-page-5foxFhQi.js +1 -0
  129. package/dist/assets/list-detail-navigation-Rjuc11dl.js +1 -0
  130. package/dist/assets/local-mode-CElFr72j.js +1 -0
  131. package/dist/assets/login-page-BiZmE2a7.js +1 -0
  132. package/dist/assets/logout-page-BfXv62Wt.js +1 -0
  133. package/dist/assets/{logs-layout-Xb4wGoWT.js → logs-layout-OnRhUcUc.js} +1 -1
  134. package/dist/assets/{markdown-preview-D0DqF7iz.js → markdown-preview-CEZxAJUV.js} +1 -1
  135. package/dist/assets/{media-preview-DZN2yf7r.js → media-preview-CZWGl0EH.js} +1 -1
  136. package/dist/assets/memory-page-route-CUK7q3q6.js +2 -0
  137. package/dist/assets/{memory-router-playground-page-DAFTIiv5.js → memory-router-playground-page-M8K6_PNq.js} +1 -1
  138. package/dist/assets/message-files-panel-BfpU73Ys.js +1 -0
  139. package/dist/assets/{metric-card-BncToo74.js → metric-card-DYnTPCIU.js} +1 -1
  140. package/dist/assets/native-attachment-pickers-zFEPGfyh.js +1 -0
  141. package/dist/assets/native-file-CBriWnVf.js +1 -0
  142. package/dist/assets/{notifications-page-C3i9p5Vc.js → notifications-page-C445DtgV.js} +1 -1
  143. package/dist/assets/{oauth-complete-page-DgqkoY_m.js → oauth-complete-page-DMZEWz6G.js} +1 -1
  144. package/dist/assets/{oauth-popup-complete-page-BmxSR325.js → oauth-popup-complete-page-D3P7QFgs.js} +1 -1
  145. package/dist/assets/paired-platform-identity-DzCbskL3.js +1 -0
  146. package/dist/assets/{pairing-page-Dsbzq7L8.js → pairing-page-D2kbjgib.js} +1 -1
  147. package/dist/assets/password-reset-page-Ch5p56qr.js +1 -0
  148. package/dist/assets/pdf-file-preview-BPdAxR7K.js +1 -0
  149. package/dist/assets/{peeking-eyes-CnCoikI6.js → peeking-eyes-DSdFFRI2.js} +1 -1
  150. package/dist/assets/personality-page-DmZuOLJ_.js +1 -0
  151. package/dist/assets/{personality-page-DKo_lJxu.js → personality-page-FyNKVqC7.js} +1 -1
  152. package/dist/assets/personality-sliders-DO_lBtRN.js +1 -0
  153. package/dist/assets/plans-page-zXAW9-lx.js +1 -0
  154. package/dist/assets/{platform-loopback-page-BzQhvfv_.js → platform-loopback-page-CkRoEWwC.js} +1 -1
  155. package/dist/assets/plugin-detail-page-BabNKClx.js +1 -0
  156. package/dist/assets/{plugins-page-Dl7GFK6d.js → plugins-page-6oaRR8m5.js} +1 -1
  157. package/dist/assets/plugins-surface-DynreCze.js +1 -0
  158. package/dist/assets/{preview-error-DuDAfoam.js → preview-error-DKdO40lX.js} +1 -1
  159. package/dist/assets/privacy-page-CDVNyBpb.js +1 -0
  160. package/dist/assets/privacy-screen-BD1W9jxj.js +1 -0
  161. package/dist/assets/profile-card-DBxVx9wt.js +1 -0
  162. package/dist/assets/{provider-callback-page-C0UGaWIw.js → provider-callback-page-BEqhXX57.js} +1 -1
  163. package/dist/assets/{provider-key-CbhZiNNN.js → provider-key-DaRizoWp.js} +1 -1
  164. package/dist/assets/{provider-signup-page-Drji-PwC.js → provider-signup-page-CXyET9r0.js} +1 -1
  165. package/dist/assets/{provisioning-targets-DdCpl6ZX.js → provisioning-targets-D0D-d7HN.js} +1 -1
  166. package/dist/assets/{quick-input-page-DmpCyTr4.js → quick-input-page-DhbrOYWy.js} +1 -1
  167. package/dist/assets/referral-modal-BoAdpS_8.js +1 -0
  168. package/dist/assets/referral-modal-S5EHfmMA.js +1 -0
  169. package/dist/assets/{rehype-katex-BYCIqkMD.js → rehype-katex-Dns5lQrg.js} +3 -3
  170. package/dist/assets/{research-mock-page-8RHdSLhH.js → research-mock-page-xNR_sPqT.js} +1 -1
  171. package/dist/assets/research-onboarding-route-7FXezwWU.js +50 -0
  172. package/dist/assets/review-terms-screen-7yMD8KAb.js +1 -0
  173. package/dist/assets/routes-5j1RUsW1.js +1 -0
  174. package/dist/assets/schedules-C6bekGEv.js +1 -0
  175. package/dist/assets/schedules-C9k3AL1g.js +1 -0
  176. package/dist/assets/schedules-Uu_Mur0J.js +1 -0
  177. package/dist/assets/schedules-page-CXmSqzyD.js +1 -0
  178. package/dist/assets/schedules-zwb9ks5-.js +1 -0
  179. package/dist/assets/security-redirect-page-DgA_70-h.js +1 -0
  180. package/dist/assets/select-assistant-screen-C6BmZj6g.js +1 -0
  181. package/dist/assets/{self-hosted-servers-Cmtr5Sxi.js → self-hosted-servers-AgbEWBCr.js} +1 -1
  182. package/dist/assets/service-form-controls-DUFEYInL.js +1 -0
  183. package/dist/assets/{setting-row-DJHlwNfk.js → setting-row-CRAu4BTW.js} +1 -1
  184. package/dist/assets/settings-By29R-tt.js +3 -0
  185. package/dist/assets/settings-DfBMlgCa.js +3 -0
  186. package/dist/assets/settings-dTaAhVzq.js +3 -0
  187. package/dist/assets/{settings-layout-BO2YTV10.js → settings-layout-CmxDfeDf.js} +1 -1
  188. package/dist/assets/settings-seKp77pn.js +3 -0
  189. package/dist/assets/share-feedback-modal-B4W_FLmg.js +1 -0
  190. package/dist/assets/share-feedback-modal-DZ9uiwjm.js +2 -0
  191. package/dist/assets/{sidebar-tree-CTzyarHJ.js → sidebar-tree-aPHhD_be.js} +1 -1
  192. package/dist/assets/{signup-page-BKvCi12D.js → signup-page-BN1Gx0Ky.js} +1 -1
  193. package/dist/assets/{signup-shell-gBjslY90.js → signup-shell-B2EK8BC0.js} +1 -1
  194. package/dist/assets/skill-detail-page-DmKdS927.js +2 -0
  195. package/dist/assets/skill-detail-panel-uQhosWOH.js +1 -0
  196. package/dist/assets/{skill-removal-dialog-CJY2_gFa.js → skill-removal-dialog-w-zWqU7r.js} +1 -1
  197. package/dist/assets/{skills-page-BkT3-aGG.js → skills-page-BZ0r07zl.js} +1 -1
  198. package/dist/assets/{sounds-page-4d7iyYdU.js → sounds-page-DPfJRInb.js} +1 -1
  199. package/dist/assets/{start-screen-BIVBGox6.js → start-screen-AwvND690.js} +1 -1
  200. package/dist/assets/step-detail-header-CBGlco6i.js +1 -0
  201. package/dist/assets/{stt-language-picker-modal-D_LD1BqB.js → stt-language-picker-modal-CE9juVQW.js} +1 -1
  202. package/dist/assets/subagent-detail-panel-Z-Hl2stN.js +1 -0
  203. package/dist/assets/superpowers-page-qQ4PDXrD.js +1 -0
  204. package/dist/assets/{system-events-page-BZ7CDi5p.js → system-events-page-BcoYsopw.js} +1 -1
  205. package/dist/assets/system-events-redirect-page-BTJXC4Jp.js +1 -0
  206. package/dist/assets/teleport-gateway-client-Bcpa3IgC.js +1 -0
  207. package/dist/assets/{text-preview-Nsx4hRjY.js → text-preview-DdcT0SKI.js} +1 -1
  208. package/dist/assets/{theme-stage-page-SR2lpWko.js → theme-stage-page-DaKiMWry.js} +1 -1
  209. package/dist/assets/{tiptap-document-editor-Dugai94Z.js → tiptap-document-editor-C53RskdL.js} +3 -3
  210. package/dist/assets/tool-detail-panel-BfPz5ovC.js +16 -0
  211. package/dist/assets/tool-detail-panel-CB_xOdhf.js +1 -0
  212. package/dist/assets/{trait-cycle-row-BF-99QGB.js → trait-cycle-row-B8UcGJfD.js} +1 -1
  213. package/dist/assets/upgrade-cancel-page-q-PyTo0d.js +1 -0
  214. package/dist/assets/{upgrade-success-page-pgUoRwgU.js → upgrade-success-page-CXnEqRBP.js} +1 -1
  215. package/dist/assets/{usage-redirect-page-gcglHutp.js → usage-redirect-page-DvBIM4I8.js} +1 -1
  216. package/dist/assets/use-app-delete-Dnuto7wi.js +1 -0
  217. package/dist/assets/use-assistant-identity-details-DwuGg7nW.js +1 -0
  218. package/dist/assets/use-checkout-dismiss-refresh-m1t4d_7W.js +1 -0
  219. package/dist/assets/use-edge-swipe-back-DthEomRf.js +1 -0
  220. package/dist/assets/{use-hotkey-recorder-Byjcx16O.js → use-hotkey-recorder-D8V7f8SB.js} +1 -1
  221. package/dist/assets/use-invite-link-dialog-BPFaQiKT.js +1 -0
  222. package/dist/assets/use-plugins-list-DMM3kkvh.js +1 -0
  223. package/dist/assets/use-return-to-short-circuit-Ch7Sqji0.js +1 -0
  224. package/dist/assets/{use-side-list-room-T8KJvH7p.js → use-side-list-room-BT-m_o7Z.js} +1 -1
  225. package/dist/assets/{use-skill-actions-DBpPjM48.js → use-skill-actions-NG2ZGWB6.js} +1 -1
  226. package/dist/assets/{use-skill-detail-files-DdP4ERwy.js → use-skill-detail-files-Em-807-i.js} +1 -1
  227. package/dist/assets/use-supports-credentials-settings-C3jMLms6.js +1 -0
  228. package/dist/assets/use-transcript-message-by-id-DmTV04eT.js +1 -0
  229. package/dist/assets/vendor-DpuHAEdZ.js +129 -0
  230. package/dist/assets/voice-page-fbBRQ5yh.js +1 -0
  231. package/dist/assets/wake-detail-panel-CnxOAifW.js +1 -0
  232. package/dist/assets/{weather-forecast-display-z2cn9Ylw.js → weather-forecast-display-r6enXZ3Y.js} +1 -1
  233. package/dist/assets/{web-Dapt-meP.js → web-By54Ivcu.js} +1 -1
  234. package/dist/assets/{web-CI3vhYW4.js → web-CBvfuYjZ.js} +1 -1
  235. package/dist/assets/{web-Ctv2Az05.js → web-CEiIjkKo.js} +1 -1
  236. package/dist/assets/{web-BYVWYFiV.js → web-CPNYU_D9.js} +1 -1
  237. package/dist/assets/{web-CvkUifWd.js → web-CVXjyRsy.js} +1 -1
  238. package/dist/assets/{web-D2TFV4O3.js → web-d_kM8xE9.js} +1 -1
  239. package/dist/assets/{web-DxZPopg-.js → web-eVQxLC5s.js} +1 -1
  240. package/dist/assets/{web-5CbNg5DV.js → web-ks_fZZXg.js} +1 -1
  241. package/dist/assets/{web-uMYezZUh.js → web-yuyRU-RT.js} +1 -1
  242. package/dist/assets/welcome-screen-BwkRlgk1.js +1 -0
  243. package/dist/assets/workflow-detail-panel-Dh5g5JqU.js +1 -0
  244. package/dist/assets/{workspace-CUWfQ3RP.js → workspace-9r2kxcHn.js} +1 -1
  245. package/dist/assets/{workspace-Dh6SfA9u.js → workspace-B0Skkbqd.js} +1 -1
  246. package/dist/assets/{workspace-DUGmDQIb.js → workspace-BDrZ4yqq.js} +1 -1
  247. package/dist/assets/{workspace-CI_A5iz2.js → workspace-DCcK9LA1.js} +1 -1
  248. package/dist/assets/workspace-page-Q135UsYX.js +1 -0
  249. package/dist/index.html +3 -3
  250. package/package.json +1 -1
  251. package/dist/assets/acp-run-detail-panel-ZMurb2U4.js +0 -3
  252. package/dist/assets/activation-list-route-B6gs5a1E.js +0 -1
  253. package/dist/assets/activity-steps-panel-oPxwforM.js +0 -1
  254. package/dist/assets/add-credits-modal-DPxdUzMN.js +0 -1
  255. package/dist/assets/ai-page-CkRPZ6AS.js +0 -1
  256. package/dist/assets/android-billing-handoff-BsKu5TdI.js +0 -1
  257. package/dist/assets/app-Bt7_4qDf.css +0 -2
  258. package/dist/assets/app-CuJb51Ub.js +0 -392
  259. package/dist/assets/archive-redirect-page-RvHNp7Bj.js +0 -1
  260. package/dist/assets/assistant-handle-modal-BRiG9i6h.js +0 -1
  261. package/dist/assets/assistant-inbox-page-route-bl3sym1B.js +0 -8
  262. package/dist/assets/auth-store-DaELMwxW.js +0 -1
  263. package/dist/assets/avatar-bundled-components-B17wqAfu.js +0 -1
  264. package/dist/assets/avatar-random-pfwnM7gG.js +0 -2
  265. package/dist/assets/background-task-detail-panel-ByKAldw1.js +0 -1
  266. package/dist/assets/billing-page-C8Kct5_W.js +0 -3
  267. package/dist/assets/channel-transcript-panel-CTebK_R-.js +0 -1
  268. package/dist/assets/channels-page-route-DdD8wtc6.js +0 -1
  269. package/dist/assets/chat-BMvgjoaE.js +0 -3
  270. package/dist/assets/chat-CuuC3zzW.js +0 -3
  271. package/dist/assets/chat-Tf6vwiZF.js +0 -3
  272. package/dist/assets/chat-XTdwAIMs.js +0 -3
  273. package/dist/assets/chat-info-panel-ZWQoXKte.js +0 -1
  274. package/dist/assets/checkout-continuation-B4jzmA7d.js +0 -1
  275. package/dist/assets/checkout-page-DXa67FMK.js +0 -1
  276. package/dist/assets/checkout-return-target-BPGhcrkl.js +0 -1
  277. package/dist/assets/command-palette-BA8nwW7R.js +0 -1
  278. package/dist/assets/command-palette-fmZyoBR-.js +0 -1
  279. package/dist/assets/common-9xzLIcrw.js +0 -1
  280. package/dist/assets/common-Bs6eHe6c.js +0 -1
  281. package/dist/assets/common-DqBxs0W6.js +0 -1
  282. package/dist/assets/common-qa5Iw8ye.js +0 -1
  283. package/dist/assets/companion-layout-BTsiJq0U.js +0 -1
  284. package/dist/assets/companion-popover-page-BeUJyhWH.js +0 -1
  285. package/dist/assets/companion-surface-page-3XNMFxTQ.js +0 -1
  286. package/dist/assets/connect-page-DbLeEQxF.js +0 -1
  287. package/dist/assets/contacts-CK3oNIfb.js +0 -1
  288. package/dist/assets/contacts-Du0mkP7C.js +0 -1
  289. package/dist/assets/contacts-MUCkcGvC.js +0 -1
  290. package/dist/assets/contacts-_nz42ZZ_.js +0 -1
  291. package/dist/assets/contacts-gateway-d-y646Z7.js +0 -1
  292. package/dist/assets/contacts-page-route-fdw7hTRm.js +0 -1
  293. package/dist/assets/credentials-page-DB9ZdkHa.js +0 -1
  294. package/dist/assets/danger-zone-redirect-page-CSRwK5IS.js +0 -1
  295. package/dist/assets/debug-page-DhHfz_7g.js +0 -4
  296. package/dist/assets/deploy-dialogs-DR-3t8lu.js +0 -1
  297. package/dist/assets/deploy-dialogs-DjptDCDt.js +0 -1
  298. package/dist/assets/detail-primitives-DUplMiby.js +0 -1
  299. package/dist/assets/developer-page-C2A5rbGd.js +0 -1
  300. package/dist/assets/devices-redirect-page-CEhKfx9w.js +0 -1
  301. package/dist/assets/document-load-DigzYkKe.js +0 -1
  302. package/dist/assets/document-viewer-page-Ba33RQu-.js +0 -1
  303. package/dist/assets/esm-BH0KFYVK.js +0 -2
  304. package/dist/assets/esm-BXFfs0Tk.js +0 -2
  305. package/dist/assets/esm-CT0ZrwJA.js +0 -2
  306. package/dist/assets/esm-KPTngYDV.js +0 -1
  307. package/dist/assets/esm-bM6TjnbQ.js +0 -2
  308. package/dist/assets/esm-baSLKmq7.js +0 -1
  309. package/dist/assets/esm-v_AdtkOG.js +0 -2
  310. package/dist/assets/file-editor-zljxVqM1.js +0 -1
  311. package/dist/assets/general-page-Cpso8KX8.js +0 -2
  312. package/dist/assets/hatching-screen-DxPhFMQU.js +0 -1
  313. package/dist/assets/home-B4mFw6dT.js +0 -1
  314. package/dist/assets/home-BzR8_HQU.js +0 -1
  315. package/dist/assets/home-CYyxII3D.js +0 -1
  316. package/dist/assets/home-CmNwqbst.js +0 -1
  317. package/dist/assets/identity-page-route-BrQVfOp-.js +0 -7
  318. package/dist/assets/integrations-page-CLoQBZkk.js +0 -1
  319. package/dist/assets/intelligence-layout-CaIcPBw8.js +0 -1
  320. package/dist/assets/intelligence-layout-slots-store-DvsrWW-i.js +0 -1
  321. package/dist/assets/keyboard-shortcuts-redirect-page-BPqjRP4K.js +0 -1
  322. package/dist/assets/library-page-CtJ9kssD.js +0 -1
  323. package/dist/assets/local-mode-CaoN0Sn7.js +0 -1
  324. package/dist/assets/login-page-BjrVlKsv.js +0 -1
  325. package/dist/assets/logout-page-DUl9JwnN.js +0 -1
  326. package/dist/assets/memory-page-route-DbTGy5dS.js +0 -2
  327. package/dist/assets/message-files-panel-BuDKGaLT.js +0 -1
  328. package/dist/assets/native-attachment-pickers-AncXy1zz.js +0 -1
  329. package/dist/assets/native-file-DM_uMrba.js +0 -1
  330. package/dist/assets/paired-platform-identity-DGOgilFb.js +0 -1
  331. package/dist/assets/password-reset-page-PdHEN7Fr.js +0 -1
  332. package/dist/assets/pdf-file-preview-CWJ0OMTa.js +0 -1
  333. package/dist/assets/personality-page-DlHUe2qc.js +0 -1
  334. package/dist/assets/personality-sliders-BqmVzcmM.js +0 -1
  335. package/dist/assets/plans-page-BpFMs8mZ.js +0 -1
  336. package/dist/assets/plugin-detail-page-rt0R_AaV.js +0 -1
  337. package/dist/assets/plugins-surface-iPrkdvkP.js +0 -1
  338. package/dist/assets/privacy-page-Bh12czrY.js +0 -1
  339. package/dist/assets/privacy-screen-Cz6H68zD.js +0 -1
  340. package/dist/assets/profile-card-J_samGMh.js +0 -1
  341. package/dist/assets/referral-modal-BSn13lRu.js +0 -1
  342. package/dist/assets/referral-modal-QJAdmDzx.js +0 -1
  343. package/dist/assets/research-onboarding-route-BqvFXKx_.js +0 -50
  344. package/dist/assets/review-terms-screen-CpSlI6us.js +0 -1
  345. package/dist/assets/routes-DRjjKNUc.js +0 -1
  346. package/dist/assets/schedules-BM8Lza7o.js +0 -1
  347. package/dist/assets/schedules-COt7uOT5.js +0 -1
  348. package/dist/assets/schedules-DR6w8i2K.js +0 -1
  349. package/dist/assets/schedules-Dusp4Vm1.js +0 -1
  350. package/dist/assets/schedules-page-B5_qnJEH.js +0 -1
  351. package/dist/assets/security-redirect-page-DDk2mqiF.js +0 -1
  352. package/dist/assets/select-assistant-screen-CFAo9xC-.js +0 -1
  353. package/dist/assets/service-form-controls-DlTzRBdL.js +0 -1
  354. package/dist/assets/settings-B3vTMNhh.js +0 -3
  355. package/dist/assets/settings-C3z9L8MJ.js +0 -3
  356. package/dist/assets/settings-DB7J6r5t.js +0 -3
  357. package/dist/assets/settings-divider-2hwVjQ2t.js +0 -1
  358. package/dist/assets/settings-fUw4hAbD.js +0 -3
  359. package/dist/assets/share-feedback-modal-BCn8wVXT.js +0 -1
  360. package/dist/assets/share-feedback-modal-bqiJ8vPh.js +0 -2
  361. package/dist/assets/skill-detail-page-zLTItuem.js +0 -2
  362. package/dist/assets/skill-detail-panel-_BKlfS5A.js +0 -1
  363. package/dist/assets/subagent-detail-panel-DxQEOvTp.js +0 -1
  364. package/dist/assets/superpowers-page-BjEYHHMk.js +0 -1
  365. package/dist/assets/system-events-redirect-page-DqVcQQuk.js +0 -1
  366. package/dist/assets/tool-detail-panel-Bj8XNtkn.js +0 -16
  367. package/dist/assets/tool-detail-panel-CwG8CQh8.js +0 -1
  368. package/dist/assets/upgrade-cancel-page-CsrYUn80.js +0 -1
  369. package/dist/assets/use-app-delete-6cqgxcYk.js +0 -1
  370. package/dist/assets/use-assistant-identity-details-CE2qbada.js +0 -1
  371. package/dist/assets/use-checkout-dismiss-refresh-DkBaF6E8.js +0 -1
  372. package/dist/assets/use-edge-swipe-back-DkP4tGf3.js +0 -1
  373. package/dist/assets/use-invite-link-dialog-EnK2z5A8.js +0 -1
  374. package/dist/assets/use-plugins-list-B6wYwnD_.js +0 -1
  375. package/dist/assets/use-return-to-short-circuit-H0BQmE_J.js +0 -1
  376. package/dist/assets/use-supports-credentials-settings-bnerf0ml.js +0 -1
  377. package/dist/assets/use-transcript-message-by-id-DMHKS6AX.js +0 -1
  378. package/dist/assets/vendor-CYmPHUS2.js +0 -127
  379. package/dist/assets/voice-page-BSofznRi.js +0 -1
  380. package/dist/assets/wake-detail-panel-BrI4U7x3.js +0 -1
  381. package/dist/assets/welcome-screen-DwN2j4Gh.js +0 -1
  382. package/dist/assets/workflow-detail-panel-nERp7IVc.js +0 -1
  383. package/dist/assets/workspace-page-CAKrqiua.js +0 -1
  384. /package/dist/assets/{account-CGF4YCs6.js → account-B-8yBrwd.js} +0 -0
  385. /package/dist/assets/{account-CJNvbYMo.js → account-DBkQR1N1.js} +0 -0
  386. /package/dist/assets/{account-BTCX8OvN.js → account-DE6rCHc8.js} +0 -0
  387. /package/dist/assets/{account-B6SZEbjB.js → account-sSfQxHuM.js} +0 -0
  388. /package/dist/assets/{activation-BIb8yZib.js → activation-BYAGAleJ.js} +0 -0
  389. /package/dist/assets/{activation-CtKKSwsj.js → activation-Ct7y1aqH.js} +0 -0
  390. /package/dist/assets/{activation-D4Z8d600.js → activation-DNTHICWu.js} +0 -0
  391. /package/dist/assets/{activation-BcmlXlki.js → activation-W1hI1PdH.js} +0 -0
  392. /package/dist/assets/{activation-tasks-BUCVYC6O.js → activation-tasks-B5m_sL_O.js} +0 -0
  393. /package/dist/assets/{activation-tasks-CxKVYvoX.js → activation-tasks-DEC1jM2E.js} +0 -0
  394. /package/dist/assets/{activation-tasks-DIl_NU8H.js → activation-tasks-K8Swziqu.js} +0 -0
  395. /package/dist/assets/{activation-tasks-0CJ2Ckhl.js → activation-tasks-bkadhkI9.js} +0 -0
  396. /package/dist/assets/{app-types-Bhv1QIYY.js → app-types-mYlFcK3s.js} +0 -0
  397. /package/dist/assets/{build.umd-D2Gn4hc9.js → build.umd-C7whurSN.js} +0 -0
  398. /package/dist/assets/{credential-requests-BE0rJ0wR.js → credential-requests-B4x_0nnw.js} +0 -0
  399. /package/dist/assets/{credential-requests-DkdgEuGe.js → credential-requests-BaapKORm.js} +0 -0
  400. /package/dist/assets/{credential-requests-DubAqUiZ.js → credential-requests-COnFKXvE.js} +0 -0
  401. /package/dist/assets/{credential-requests-Cp59Lsj5.js → credential-requests-DEPeKzSn.js} +0 -0
  402. /package/dist/assets/{definitions-DaNVCwWR.js → definitions-EvNC1i1H.js} +0 -0
  403. /package/dist/assets/{definitions-COMG0KSg.js → definitions-RERkHOnv.js} +0 -0
  404. /package/dist/assets/{diff-rows-DXG1Tw8n.js → diff-rows-u_5AB0H5.js} +0 -0
  405. /package/dist/assets/{emoji-catalog-data-CJSzZ2xi.js → emoji-catalog-data-jMbpElmp.js} +0 -0
  406. /package/dist/assets/{format-countdown-V7kp5VfL.js → format-countdown-cp3tMqZi.js} +0 -0
  407. /package/dist/assets/{format-file-size-BW7P6CE0.js → format-file-size-Bcra_NZ3.js} +0 -0
  408. /package/dist/assets/{is-record-dXfGpgI1.js → is-record-VoZP3nYK.js} +0 -0
  409. /package/dist/assets/{library-Cx2cjKPf.js → library-B5XNja29.js} +0 -0
  410. /package/dist/assets/{library-Bf8joD86.js → library-CjCDAAWf.js} +0 -0
  411. /package/dist/assets/{library-DOKbGvUV.js → library-D9jGLprz.js} +0 -0
  412. /package/dist/assets/{library-zJtAtUFf.js → library-cLjSPMCi.js} +0 -0
  413. /package/dist/assets/{link-click-Dui3RyC1.js → link-click-BJkFvMTf.js} +0 -0
  414. /package/dist/assets/{logs-BF5SeNKP.js → logs-AZ4mha9m.js} +0 -0
  415. /package/dist/assets/{logs-B5trKA2g.js → logs-CRnil-WK.js} +0 -0
  416. /package/dist/assets/{logs-xFKvsM90.js → logs-Cg4vxq16.js} +0 -0
  417. /package/dist/assets/{logs-Ax_rHiGT.js → logs-vqSamGoh.js} +0 -0
  418. /package/dist/assets/{machine-sizes-3x95p4n1.js → machine-sizes-DRutdhZf.js} +0 -0
  419. /package/dist/assets/{onboarding-Bcx45nYG.js → onboarding-C1z-jLJK.js} +0 -0
  420. /package/dist/assets/{onboarding-BKY3R-h7.js → onboarding-C7KS832A.js} +0 -0
  421. /package/dist/assets/{onboarding-xZiMELt_.js → onboarding-C9YKERII.js} +0 -0
  422. /package/dist/assets/{onboarding-DPxPqQZZ.js → onboarding-DzxS_RJ6.js} +0 -0
  423. /package/dist/assets/{onboarding-step-layout-B7jTKWhx.js → onboarding-step-layout-BKtqMP5k.js} +0 -0
  424. /package/dist/assets/{pdf-BxHYDuSN.js → pdf-C6b9L8Gs.js} +0 -0
  425. /package/dist/assets/{plugin-attribution-BxpfUKdX.js → plugin-attribution-D1fhXAwm.js} +0 -0
  426. /package/dist/assets/{radio-card-nav-DkCS-TkI.js → radio-card-nav-BIzQ1tVO.js} +0 -0
  427. /package/dist/assets/{remote-web-BNCSZhe7.js → remote-web-Bsrqx8lx.js} +0 -0
  428. /package/dist/assets/{remote-web-D7sTkxyl.js → remote-web-DK5T7c84.js} +0 -0
  429. /package/dist/assets/{remote-web-DBr-nqs0.js → remote-web-DflUd3qH.js} +0 -0
  430. /package/dist/assets/{remote-web-DLWX5CP8.js → remote-web-DjQmynHI.js} +0 -0
  431. /package/dist/assets/{schedules-Dg-sdjRQ.js → schedules-Ce1AhKdK.js} +0 -0
  432. /package/dist/assets/{signup-onboarding-handoff-eYcYQqY4.js → signup-onboarding-handoff-CJ89ezgL.js} +0 -0
  433. /package/dist/assets/{skill-icon-DcBBE55l.js → skill-icon-fqxDMS4y.js} +0 -0
  434. /package/dist/assets/{status-badge-pill-DOZpKLHj.js → status-badge-pill-ADjzXw4Q.js} +0 -0
  435. /package/dist/assets/{terminal-YHk7L5QT.js → terminal-Bey779ed.js} +0 -0
  436. /package/dist/assets/{terminal-C2Mcr7Di.js → terminal-C-Eo61oN.js} +0 -0
  437. /package/dist/assets/{terminal-B2CXYcEa.js → terminal-CKb4q9nz.js} +0 -0
  438. /package/dist/assets/{terminal-B5az4g11.js → terminal-DIh9w1Pi.js} +0 -0
  439. /package/dist/assets/{usage-window-ClzDdz34.js → usage-window-iVdxXzOI.js} +0 -0
  440. /package/dist/assets/{use-debounced-value-Dbgs3rOl.js → use-debounced-value-gcp914ed.js} +0 -0
  441. /package/dist/assets/{use-truncated-blob-text-Ch2wbCLN.js → use-truncated-blob-text-DJ8f4NCd.js} +0 -0
  442. /package/dist/assets/{xterm-BLrzNn2R.js → xterm-CpIeLcXB.js} +0 -0
  443. /package/dist/assets/{xterm-addon-fit-Dcf9juuw.js → xterm-addon-fit-Ba01Tvjs.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$u as t,Ac as n,Bc as r,Bi as i,Cc as a,Dc as o,Ec as s,Fc as c,Gc as l,Hc as u,Ic as d,JS as f,Kc as p,Mc as m,NS as h,Oc as g,Pc as _,Qu as v,Rc as y,Sc as b,Tc as x,Uc as S,Vc as C,Wc as ee,Yc as te,Zu as w,_c as T,ag as ne,bc as E,bn as D,dg as re,ea as O,ed as k,ig as A,jc as ie,kc as ae,ng as j,og as oe,qc as se,ug as ce,wc as le,yS as ue,yc as de}from"./app-CuJb51Ub.js";import{f as fe,g as pe,j as M}from"./vendor-CYmPHUS2.js";import{t as me,x as he}from"./react-B9IgSVeK.js";import{Ai as ge,Cr as N,Fa as _e,G as ve,Gi as ye,Ji as be,Ka as xe,Ki as Se,Tn as Ce,Wi as we,Xr as Te,Ya as Ee,Yr as De,Zt as P,bt as Oe,h as ke,i as Ae,m as F,qi as je,wn as Me,yn as I}from"./icons-C0wyat6T.js";import{n as Ne}from"./companion-accent-ggBv1xjm.js";import{n as Pe,t as Fe}from"./companion-popover-CgAs-3Gu.js";import{n as Ie,r as Le,t as L}from"./companion-layout-BTsiJq0U.js";var Re=Ee(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),ze=Ee(`screen-share`,[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`,key:`i8wdob`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m17 8 5-5`,key:`fqif7o`}],[`path`,{d:`M17 3h5v5`,key:`1o3tu8`}]]),Be=Ee(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),R=e(he(),1),z=me(),Ve=460,He=3,Ue=88,We=3,Ge=[`screens`,`tabs`,`windows`],Ke=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,qe=e=>Ge.find(t=>Ke(e,t)>0)??`screens`,Je=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Ye({sources:e,captureThumbnail:t,cardGrowth:n=`up`,side:r,avatarBox:i=j,optionsBox:a=j,cardRef:o,label:s,onPick:c,onAllowScreenRecording:l}){let{t:u}=M(),{inUnits:d,lineAt:p,edgeAt:m,introStepOff:g,gap:_}=L(i,a),v=d(g(n)),y=r===void 0?{left:`50%`,top:p(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${v}px))`:`translate(-50%, ${v}px)`}:{...m(r,re(i,a)+_),top:`50%`,transform:`translateY(-50%)`},b=e!==null&&e.screenRecordingGranted===!1,x=b?null:e,S=x===null?[]:Ge.filter(e=>Ke(x,e)>0),C=x!==null&&S.length===0,[ee,te]=(0,R.useState)(null),w=x===null?`screens`:ee!==null&&S.includes(ee)?ee:qe(x),T=(0,R.useMemo)(()=>x===null?[]:w===`screens`?x.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:Je(t),target:t}}):w===`windows`?x.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:Je(t),target:t}}):[],[w,x]),[ne,E]=(0,R.useState)(new Map),D=(0,R.useRef)(new Set),O=(0,R.useRef)(0),k=(0,R.useRef)(!1);(0,R.useEffect)(()=>(k.current=!0,()=>{k.current=!1}),[]),(0,R.useEffect)(()=>{D.current=new Set,O.current+=1,E(new Map),te(null)},[e]);let A=(0,R.useRef)(null);(0,R.useEffect)(()=>{A.current!==null&&(A.current.scrollTop=0)},[w]),(0,R.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of T){if(D.current.has(e))continue;D.current.add(e);let r=O.current,i=t=>{!k.current||r!==O.current||E(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,T]);let ie=e=>t===void 0?null:ne.get(e),ae=e=>u(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,z.jsxs)(`div`,{ref:o,role:`group`,"aria-label":s??u(`companionSurface.capturePicker`),"data-companion-capture-picker":!0,"data-theme":`dark`,className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-1.5 shadow-lg shadow-black/40`,style:{width:Ve,...y},onPointerDown:e=>{e.stopPropagation()},children:[S.length>1&&(0,z.jsx)(ue,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:S.map(e=>({value:e,label:ae(e)})),value:w,ariaLabel:u(`companionSurface.captureKind`),onChange:te}),(0,z.jsx)(h,{ref:A,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,z.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,z.jsx)(B,{}),b&&(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,z.jsx)(`span`,{className:`text-[12px] text-white/70`,children:u(`companionSurface.captureScreenRecordingOff`)}),(0,z.jsx)(f,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:l,children:u(`companionSurface.captureTurnOnScreenRecording`)})]}),x!==null&&w===`screens`&&(0,z.jsx)(Xe,{children:x.displays.map(e=>{let t=u(`companionSurface.captureScreen`,{n:e.index+1}),n=Je({kind:`display`,displayId:e.displayId});return(0,z.jsx)(Ze,{title:t,ariaLabel:t,answer:ie(n),fallback:(0,z.jsx)(I,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),x!==null&&w===`windows`&&(0,z.jsx)(Xe,{children:x.windows.map(e=>{let t=Je({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,z.jsx)(Ze,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:ie(t),fallback:(0,z.jsx)($e,{icon:e.icon,large:!0}),icon:(0,z.jsx)($e,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),x!==null&&w===`tabs`&&(0,z.jsx)(`div`,{className:`flex flex-col`,children:x.tabs.map(e=>(0,z.jsx)(Qe,{icon:(0,z.jsx)($e,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),C&&(0,z.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:u(`companionSurface.captureNothing`)})]})})]})}function Xe({children:e}){return(0,z.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${He}, minmax(0, 1fr))`},children:e})}function Ze({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`group flex min-w-0 flex-col gap-1 rounded-lg p-1 text-left transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:a,children:[(0,z.jsx)(`span`,{"data-slot":`capture-preview`,className:`flex items-center justify-center overflow-hidden rounded-md bg-black/40 ring-1 ring-white/10 ${n===void 0?`animate-pulse`:``}`,style:{height:Ue},children:n==null?r:(0,z.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function Qe({icon:e,title:t,onClick:n}){return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`flex h-8 w-full shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[12px] text-white/85 transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:n,children:[e,(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function $e({icon:e,large:t=!1}){return(0,z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center overflow-hidden ring-1 ring-white/10 ${t?`size-7 rounded-lg`:`size-3.5 rounded-[4px]`}`,children:e===void 0?(0,z.jsx)(xe,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,z.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function B(){return(0,z.jsx)(Xe,{children:Array.from({length:We},(e,t)=>(0,z.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,z.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:Ue}}),(0,z.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}function et(e){return e===`paste-failed`?`companionSurface.offerPasteFailed`:`companionSurface.offerNowhere`}var tt=260;function nt({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=j,optionsBox:i=j,cardRef:a,onAnswer:o}){let{t:s}=M(),c=e.reason===`claimed`?s(`companionSurface.offerVersion`):s(et(e.reason)),{inUnits:l,avatarHalf:u,lineAt:d,edgeAt:f,introStepOff:p}=L(r,i),m=l(p(n)),g=f(t,-u),_={top:d(n,0),transform:n===`up`?`translateY(calc(-100% - ${m}px))`:`translateY(${m}px)`};return(0,z.jsxs)(`div`,{ref:a,role:`group`,"aria-label":c,"data-companion-dictation-offer":!0,className:`absolute flex flex-col gap-2 rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:tt,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:c}),(0,z.jsx)(h,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,z.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/55 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>o?.(`dismiss`),children:e.reason===`claimed`?s(`companionSurface.notNow`):s(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>o?.(`quit`),children:s(`companionSurface.offerQuit`,{app:e.app})}):null,(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>o?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?s(`companionSurface.offerUse`):s(`companionSurface.offerCopy`)})]})]})}var V=e=>e.filter(e=>e.state===`running`),H=e=>e.filter(e=>e.state===`waiting`),U=e=>({"--companion-ring-accent":e});function W({size:e,still:t=!1}){return(0,z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,className:`shrink-0 ${t?``:`companion-work-spin`}`,"aria-hidden":!0,children:[(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeOpacity:`0.2`,strokeWidth:`2`}),(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:t?void 0:`10 28`,strokeOpacity:t?.6:void 0})]})}function G({state:e}){return e===`done`?(0,z.jsx)(be,{className:`companion-work-pop size-3.5 shrink-0 text-[var(--companion-ring-accent)]`,"aria-hidden":!0}):(0,z.jsx)(Ae,{className:`companion-work-pop size-3.5 shrink-0 text-white/50`,"aria-hidden":!0})}function rt(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function it(){let[e,t]=(0,R.useState)(()=>Date.now());return(0,R.useEffect)(()=>{let e=window.setInterval(()=>{t(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]),e}function K({work:e,accentHex:t}){let{t:n}=M(),r=it(),i=e.slice(0,5),a=e.length-i.length;return(0,z.jsxs)(`div`,{className:`flex w-full min-w-[300px] flex-col gap-1.5 px-4 py-3 text-[12px] text-white/85`,style:U(t),"data-companion-work-shelf":!0,children:[i.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`running`||e.state===`waiting`?(0,z.jsx)(W,{size:14,still:e.state===`waiting`}):(0,z.jsx)(G,{state:e.state}),(0,z.jsx)(`span`,{className:`max-w-[55%] shrink-0 truncate font-medium ${e.state===`done`||e.state===`failed`?`text-white/55`:``}`,children:e.title}),(0,z.jsx)(`span`,{className:`companion-work-fade min-w-0 flex-1 truncate text-white/50`,children:e.state===`running`?e.step:e.state===`waiting`?n(`companionSurface.workWaitingStep`):e.state===`done`?n(`companionSurface.workDone`):n(`companionSurface.workStopped`)},e.state===`running`?e.step:e.state),e.kind===`subagent`?(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-white/40 tabular-nums`,children:rt(r-e.startedAt)}):null]},e.id)),a>0?(0,z.jsx)(`div`,{className:`pl-[22px] text-[11px] text-white/40`,children:n(`companionSurface.workMore`,{count:a})}):null]})}var at={min:3,max:10},q=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},J=1600,ot=.22,st=.04,ct=4,lt=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+st)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ct,height:i+ct},rest:i+2}},ut=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function dt(e,t=at){let[n,r]=(0,R.useState)(0),{min:i,max:a}=t;return(0,R.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},ut({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var ft=(e,t,n={width:0,height:0})=>{let r=e===`topLeft`?n.width/4:e===`topRight`?n.width*3/4:n.width/2;return{slot:{width:t.width,height:t.height,bottom:`100%`,left:r-t.width/2}}};function Y({character:e,capsule:t,enabled:n,held:r=!1,edge:a,interval:o=at,className:s,style:c}){let l=fe(),u=(0,R.useMemo)(()=>D(O,e),[e]),d=dt(n&&!r&&!l&&u!==null,o),[f,p]=(0,R.useState)(!1),[m,h]=(0,R.useState)(`top`);if((0,R.useEffect)(()=>{if(d===0)return;h(q()),p(!0);let e=setTimeout(()=>{p(!1)},J);return()=>{clearTimeout(e)}},[d]),u===null||l)return null;let g=lt(u,t.width),_=r||f,v=a??m,y=ft(v,g.clip,t);return(0,z.jsx)(`div`,{className:`companion-peek ${s??``}`,style:{width:t.width,height:t.height,...c},"data-risen":_,"data-edge":v,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute`,style:y.slot,children:(0,z.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,z.jsx)(pe.div,{className:`absolute left-1/2`,style:{width:g.size,height:g.size,marginLeft:-g.size/2,top:g.clip.height-g.exposed},initial:{y:g.rest},animate:{y:_?0:g.rest},transition:r?{duration:0}:_?{type:`spring`,stiffness:280,damping:14}:{duration:ot,ease:`easeIn`},children:(0,z.jsx)(i,{components:O,traits:e,size:g.size})})})})})}var pt=(0,R.createContext)(`above`),mt=`#5eead4`,ht=new Set([`transcribing`,`thinking`,`speaking`]),gt=28,X={idle:{width:64,height:14},closing:gt,rim:2,bloom:4},_t=X.idle,vt=(e,t,n)=>[`inset 0 0 0 ${t}px color-mix(in srgb, ${e} 78%, transparent)`,`0 0 ${n}px color-mix(in srgb, ${e} 85%, transparent)`,`0 0 ${n*4}px color-mix(in srgb, ${e} 42%, transparent)`,`0 8px 24px rgba(0, 0, 0, 0.45)`].join(`, `),yt=244,bt=200,xt=120,Z={watching:40,summary:220,dictating:yt+32,offer:bt+32,call:4+xt+180},St=84,Ct={width:28,height:St+140+20};function wt({phase:e,assistantName:t=``,accentHex:n=mt,avatarSrc:r,character:i,hovered:a=!1,growth:o=`right`,avatarBox:s=j,optionsBox:c=j,cardGrowth:l=`up`,dock:u=`bottom`,rootRef:d,restingPillRef:f,avatarRef:p,onSurfacePointerDown:m,onSurfaceContextMenu:h,spotlight:g,avatarStaged:_=!1,avatarTucked:v=!1,onWatch:y,onTeach:b,picking:x=!1,sharing:S=!1,shareEnabled:C=!1,sharePicking:ee=!1,onShare:te,onStopShare:w,annotating:T=!1,annotationTool:ne,onAnnotationTool:E,drawToolsRef:D,onAnnotate:re,marked:O=!1,onClearMarks:k,openPicker:A,voicesPickable:ie=!1,onPicker:ae,shortcuts:oe,onAvatarClick:se,working:ce=!1,watching:le=!1,watchRetro:ue,onWatchRetro:de,dictationOffer:pe,offer:me,watchEnabled:he=!1,dictating:ge,dictationText:N=``,call:_e,onControl:ve,intro:ye,picker:be,prompt:xe,promptRef:Se,promptsDeferred:Ce=0,onReviewPrompts:we,onWorkShelfChange:Te}){let{t:Ee}=M(),De=e===`call`?_e?.work:void 0,P=De!==void 0&&De.length>0,[Oe,ke]=(0,R.useState)(!1);(0,R.useEffect)(()=>{P||ke(!1)},[P]);let Ae=u===`left`||u===`right`?void 0:xe,F=Ae==null?Oe&&P:!1;(0,R.useEffect)(()=>{Te?.(F)},[Te,F]);let je=(0,R.useMemo)(()=>Ae??(Oe&&P?(0,z.jsx)(K,{work:De,accentHex:n}):void 0),[Ae,Oe,P,De,n]),Me=e!==`resting`,I=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,Ne=(0,R.useRef)(null),[Pe,Fe]=(0,R.useState)(null),Ie=g===`talk`?void 0:g;(0,R.useEffect)(()=>{if(Ie===void 0){Fe(null);return}return Dt(Ne,`[data-control="${Ie}"]`,e=>{Fe(e.x)})},[Ie,e,S]);let[Le,Re]=(0,R.useState)(null);(0,R.useEffect)(()=>{if(!_){Re(null);return}return Dt(Ne,`[data-avatar-stage]`,Re)},[_,e]);let[ze,Be]=(0,R.useState)(!1);(0,R.useEffect)(()=>{if(e!==`hover`){Be(!1);return}let t=setTimeout(()=>{Be(!0)},500);return()=>{clearTimeout(t)}},[e]);let Ve=ye==null?g===`talk`||e===`hover`&&ze:!1,He=ue===`pending`,Ue=ce||_e!==void 0&&ht.has(_e.phase),We=fe(),Ge=(0,R.useRef)(null),[Ke,qe]=(0,R.useState)(null),Je=(0,R.useRef)({width:0,height:0});(0,R.useLayoutEffect)(()=>{let e=Ge.current;if(!e)return;let t=()=>{qe({width:e.scrollWidth-Je.current.width,height:e.scrollHeight-Je.current.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:Ye,avatarRel:Xe,avatarHalf:Ze,baseline:Qe,gap:$e,inUnits:B,lineAt:et,edgeAt:tt}=L(s,c),nt=e===`call`,V=nt&&(u===`left`||u===`right`),H=V?u===`left`?`right`:`left`:`above`,U=I?V?(Ke?.width??Ct.width)+16:(Ke?.width??Z[e])+16:0,W=I?(Ke?.height??Ct.height)+16:0,G=nt&&je!=null,rt=(0,R.useRef)(null),[it,at]=(0,R.useState)({width:0,height:0});(0,R.useLayoutEffect)(()=>{let e=rt.current;if(!G||e===null)return;let t=()=>{let t=e.getBoundingClientRect();at({width:Math.ceil(t.width/Ye),height:Math.ceil(t.height/Ye)})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[G,je,Ye]);let q=G&&!V?Math.max(U,it.width):U,J=G&&V?Math.max(W,it.height):W,ot=V?J-W:q-U;(0,R.useLayoutEffect)(()=>{Je.current=V?{width:0,height:ot}:{width:ot,height:0}},[ot,V]);let st=V?`50%`:et(l,0),ct=tt(o,Ze+$e),lt=s/j,ut=Me?{width:X.closing*lt,height:X.closing*lt}:X.idle,dt=ye!=null,ft=nt?{width:q,...V?{height:J}:{},left:`50%`,top:st,transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:U,...ct,top:et(l,Qe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},Y=Le===null?Pe!==null&&!V?`${Pe}px`:nt&&!V?`calc(50% - ${q/2+B(Ze+$e)}px)`:`50%`:`${Le.x}px`,gt=Le===null?Pe!==null&&!V?`calc(${st} - ${B(Ze+$e)+22}px)`:V?`calc(50% - ${W/2+B(Ze+$e)}px)`:st:`${Le.y}px`;return(0,z.jsxs)(`div`,{ref:Ne,className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/Ye}%`,height:`${100/Ye}%`,transform:`scale(${Ye})`},children:[G?(0,z.jsx)(It,{dock:u,top:st,width:V?it.width:q,height:J,barThickness:V?U:44,accentHex:n,lit:I,promptRef:Se,children:je}):null,G?(0,z.jsx)(`div`,{ref:rt,inert:!0,"aria-hidden":!0,"data-theme":`dark`,className:`pointer-events-none invisible absolute top-0 left-0 w-max ${V?`max-w-[400px]`:`max-w-[640px]`}`,children:je}):null,(0,z.jsxs)(`div`,{className:`absolute flex cursor-grab items-center rounded-full duration-300 select-none active:cursor-grabbing ${V?`flex-col transition-[width,height] will-change-[width,height]`:`h-11 transition-[width] will-change-[width]`} ${!nt&&o===`left`?`justify-end`:``}`,style:ft,onPointerDown:m,onContextMenu:h,ref:d,children:[(0,z.jsx)(`span`,{className:`absolute inset-0 rounded-full transition-opacity duration-200 ${G?`bg-[#17181b]`:`border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40`}`,style:{opacity:+!!I},"aria-hidden":!0}),nt&&(0,z.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:I&&!G?1:0,"--companion-ring-accent":n},"aria-hidden":!0}),(0,z.jsx)(`div`,{className:`relative flex shrink-0 items-center ${V?`flex-col`:`h-11`}`,style:V?{paddingBlock:8,paddingInline:8}:{paddingInline:8},children:(0,z.jsx)(`div`,{className:`flex items-center gap-1 overflow-hidden transition-opacity duration-200 ${V?`min-h-0 flex-col`:`min-w-0`}`,ref:Ge,inert:!I,style:{opacity:+!!I,transitionDelay:I?`120ms`:`0ms`},children:e===`call`?(0,z.jsx)(pt.Provider,{value:H,children:(0,z.jsx)(Rt,{call:_e,assistantName:t,spotlight:g,watching:le,watchEnabled:he,picking:x,sharing:S,shareEnabled:C,sharePicking:ee,annotating:T,marked:O,annotationTool:ne,vertical:V,drawToolsPlacement:V?u===`left`?`right`:`left`:l===`up`?`above`:`below`,drawToolsRef:D,onAnnotationTool:E,onControl:ve,onWatch:y,onTeach:b,onShare:te,onStopShare:w,onAnnotate:re,onClearMarks:k,openPicker:A,voicesPickable:ie,onPicker:ae,pickerSide:V?u===`left`?`right`:`left`:u===`top`?`below`:`above`,shortcuts:oe,promptsDeferred:Ce,lineExtra:ot,onReviewPrompts:we,accentHex:n,workShelfOpen:F,onToggleWorkShelf:()=>{ke(e=>!e)}})}):e===`dictating`&&ge!==void 0?(0,z.jsx)(jt,{dictating:ge,dictationText:N}):e===`summary`&&ue!==void 0?(0,z.jsx)(Ft,{retro:ue,onWatchRetro:de}):e===`offer`&&pe!==void 0?(0,z.jsx)(Mt,{offer:pe}):(0,z.jsx)(Nt,{watching:le,onWatch:y})})})]}),(0,z.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:B(X.idle.width),height:B(X.idle.height),pointerEvents:Me?`none`:void 0,left:`50%`,top:st,transform:`translate(-50%, -50%)`},onPointerDown:m,onContextMenu:h,ref:f,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:B(ut.width),height:B(ut.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:We?`opacity`:void 0,boxShadow:vt(n,B(X.rim),B(X.bloom)),opacity:Me||Le!==null||dt&&!v?0:1}})}),(0,z.jsx)(kt,{className:Ve?`opacity-100`:`opacity-0`,"data-companion-name":Ve?`shown`:`hidden`,style:{left:`50%`,top:st,transform:`translate(-50%, calc(-100% - ${B(Ze)}px - ${Ot}px))`},label:Ee(`companionSurface.talk`)}),(0,z.jsx)(At,{label:Ee(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:n,avatarSrc:r,character:i,attentive:a,busy:Ue||le||He,collapsed:!Me&&(!dt||v),restingScale:j/s,style:{left:Y,top:gt,zIndex:Le===null?void 0:2,transform:`translate(-50%, -50%)${Xe===1?``:` scale(${Xe})`}`,transition:We?void 0:Pe===null&&Le===null?`left 300ms cubic-bezier(.2,.8,.2,1), top 300ms cubic-bezier(.2,.8,.2,1)`:`left 420ms cubic-bezier(.34,1.56,.64,1), top 420ms cubic-bezier(.34,1.56,.64,1)`},elementRef:p,onPointerDown:m,onContextMenu:h,onClick:se}),ye,be,me]})}var Tt=`rgba(28, 28, 30, 0.55)`,Et=`backdrop-blur-md backdrop-saturate-150`,Dt=(e,t,n)=>{let r=0,i=performance.now(),a=()=>{let o=e.current,s=o?.querySelector(t);if(o&&s){let e=o.getBoundingClientRect(),t=s.getBoundingClientRect(),r=e.width===0?1:o.offsetWidth/e.width;n({x:(t.left+t.width/2-e.left)*r,y:(t.top+t.height/2-e.top)*r})}performance.now()-i<500&&(r=requestAnimationFrame(a))};return a(),()=>{cancelAnimationFrame(r)}},Ot=4;function kt({className:e,style:t,label:n,shortcut:r,beak:i=`down`,...a}){return(0,z.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] leading-4 font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${Et} ${e}`,style:{...t,backgroundColor:Tt},"aria-hidden":!0,...a,children:[n,r===void 0?null:(0,z.jsx)(`span`,{className:`ml-1.5 font-normal text-white/60`,"data-shortcut":!0,children:r}),(0,z.jsx)(`span`,{className:`absolute ${i===`down`?`top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2`:i===`left`?`top-1/2 right-full h-2.5 w-1.5 -translate-y-1/2`:`top-1/2 left-full h-2.5 w-1.5 -translate-y-1/2`} ${Et}`,style:{backgroundColor:Tt,clipPath:i===`down`?`polygon(0 0, 100% 0, 50% 100%)`:i===`left`?`polygon(100% 0, 100% 100%, 0 50%)`:`polygon(0 0, 0 100%, 100% 50%)`},"aria-hidden":!0})]})}function At({accentHex:e,avatarSrc:t,character:n,busy:r=!1,attentive:a=!1,collapsed:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=fe();return(0,z.jsxs)(`div`,{role:`button`,"aria-label":c,className:`absolute grid size-11 cursor-grab place-items-center active:cursor-grabbing`,style:l,ref:u,onPointerDown:d,onContextMenu:f,onClick:p,children:[n===void 0?null:(0,z.jsx)(Y,{character:n,capsule:_t,enabled:o&&!r,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,z.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!o,transform:o?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:m?`opacity`:void 0},children:(0,z.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:n===void 0?t===void 0?(0,z.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:e},"aria-hidden":!0}):(0,z.jsx)(`img`,{src:t,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,z.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,z.jsx)(i,{components:O,traits:n,size:gt,isAssistantBusy:r,attentive:a})})})})]})}function jt({dictating:e,dictationText:t}){let{t:n}=M(),r=t.trim();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(_e,{className:`size-4 shrink-0`,"aria-hidden":!0}),r?(0,z.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:yt},children:(0,z.jsx)(`span`,{className:`shrink-0`,children:r})}):(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:yt},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Mt({offer:e}){let{t}=M();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(_e,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:bt},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(et(e.reason))})]})}function Nt({watching:e=!1,onWatch:t}){return(0,z.jsx)(z.Fragment,{children:e&&(0,z.jsx)(Wt,{onWatch:t})})}function Pt({watching:e,watchEnabled:t,picking:n,dimmed:r,onWatch:i,onTeach:a}){let{t:o}=M();return t?(0,z.jsx)($,{icon:(0,z.jsx)(De,{className:`size-4`}),label:o(`companionSurface.teach`),dimmed:r,pressed:e||n,onClick:e?i:a??i}):e?(0,z.jsx)(Wt,{onWatch:i}):null}function Ft({retro:e,onWatchRetro:t}){let{t:n}=M();return e===`pending`?(0,z.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(Oe,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,z.jsx)($,{icon:(0,z.jsx)(Ae,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function It({dock:e,top:t,width:n,height:r,barThickness:i,accentHex:a,lit:o,promptRef:s,children:c}){let l=i/2,u=e===`top`?`below`:e===`left`?`right`:e===`right`?`left`:`above`,d=u===`left`||u===`right`,f=d?{left:`50%`,top:t,width:n+l,height:r,transform:u===`right`?`translate(0, -50%)`:`translate(-100%, -50%)`,[u===`right`?`paddingLeft`:`paddingRight`]:l}:{left:`50%`,top:t,width:n,transform:u===`below`?`translate(-50%, 0)`:`translate(-50%, -100%)`,[u===`below`?`paddingTop`:`paddingBottom`]:l},p={above:`rounded-t-[22px]`,below:`rounded-b-[22px]`,left:`rounded-l-[22px]`,right:`rounded-r-[22px]`}[u];return(0,z.jsxs)(`div`,{ref:s,"data-theme":`dark`,"data-shelf-side":u,className:`absolute`,style:f,onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 bg-[#17181b] shadow-lg shadow-black/40 ${p}`}),(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute bg-white/10 ${d?`top-4 bottom-4 w-px`:`right-4 left-4 h-px`}`,style:{[Lt[u]]:l}}),(0,z.jsx)(`span`,{"aria-hidden":!0,className:`companion-working-ring pointer-events-none absolute transition-opacity duration-200`,style:{left:-2,right:-2,top:-2,bottom:-2,[Lt[u]]:-(l+2),borderRadius:24,opacity:+!!o,"--companion-ring-accent":a}}),(0,z.jsx)(`div`,{className:`relative`,children:c})]})}var Lt={above:`bottom`,below:`top`,left:`right`,right:`left`};function Rt({call:e,assistantName:t,spotlight:n,watching:r,watchEnabled:i,picking:a,sharing:o,shareEnabled:s,sharePicking:c,annotating:l,marked:u,annotationTool:d,vertical:f,drawToolsPlacement:p,drawToolsRef:m,onAnnotationTool:h,onControl:g,onWatch:_,onTeach:v,onShare:y,onStopShare:b,onAnnotate:x,onClearMarks:S,openPicker:C,voicesPickable:ee,onPicker:te,pickerSide:w,shortcuts:T,promptsDeferred:ne=0,onReviewPrompts:E,lineExtra:D=0,accentHex:re,workShelfOpen:O,onToggleWorkShelf:k}){let{t:A}=M();if(e===void 0)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(zt,{vertical:f,extra:D,text:t===``?A(`companionSurface.calling`):A(`companionSurface.callingNamed`,{name:t})}),(0,z.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,onWatch:_,onTeach:v}),(0,z.jsx)(Ut,{onControl:g})]});let ie=e.work===void 0&&e.detail||e.label,{muted:ae,outputMuted:j}=e,oe=e.assistantName;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(zt,{vertical:f,extra:D,text:ie}),e.work!==void 0&&e.work.length>0?(0,z.jsx)(Jt,{work:e.work,accentHex:re,open:O,onToggle:k}):null,ne>0?(0,z.jsx)(`button`,{type:`button`,"data-theme":`dark`,"aria-label":A(`companionPopover.pendingBadge`,{count:ne}),className:`flex size-7 shrink-0 items-center justify-center rounded-full bg-[var(--system-negative-weak)] text-[13px] text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-hover)] hover:text-white`,onPointerDown:e=>{e.stopPropagation()},onClick:()=>{E?.()},children:ne}):null,(0,z.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,dimmed:n!==void 0,onWatch:_,onTeach:v}),(0,z.jsx)(Q,{sharing:o,shareEnabled:s,sharePicking:c,shortcut:s?T?.share:void 0,spotlit:n===`share`,dimmed:n!==void 0&&n!==`share`,onShare:y,onStopShare:b}),(0,z.jsx)(Bt,{sharing:o,annotating:l,spotlit:n===`draw`,dimmed:n!==void 0&&n!==`draw`,shortcut:s?T?.draw:void 0,tool:d,placement:p,toolsRef:m,onAnnotate:x,onTool:h}),(0,z.jsx)(Ht,{sharing:o,marked:u,dimmed:n!==void 0,onClearMarks:S}),(0,z.jsx)($,{icon:ae?(0,z.jsx)(Ce,{className:`size-4`}):(0,z.jsx)(Me,{className:`size-4`}),label:A(ae?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),shortcut:T?.muteMicrophone,control:`mute`,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(ae?`unmuteMicrophone`:`muteMicrophone`)}}),(0,z.jsx)(Xt,{picker:`microphones`,label:A(`companionSurface.chooseMicrophone`),side:w,open:C===`microphones`,onPicker:te}),(0,z.jsx)($,{icon:j?(0,z.jsx)(F,{className:`size-4`}):(0,z.jsx)(ke,{className:`size-4`}),label:oe===``?A(j?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`):A(j?`companionSurface.unmuteAssistantNamed`:`companionSurface.muteAssistantNamed`,{name:oe}),shortcut:T?.muteAssistant,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(j?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),ee?(0,z.jsx)(Xt,{picker:`voices`,label:A(`companionSurface.chooseVoice`),side:w,open:C===`voices`,onPicker:te}):null,(0,z.jsx)(Ut,{dimmed:n!==void 0,onControl:g})]})}function zt({vertical:e,text:t,extra:n=0}){return e?(0,z.jsx)(`span`,{className:`mt-1 shrink-0 truncate text-[12px] text-white/85`,style:{height:St+n,writingMode:`vertical-rl`},"data-label":`line`,children:t}):(0,z.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:xt+n},"data-label":`line`,children:t})}function Q({sharing:e,shareEnabled:t,sharePicking:n,shortcut:r,spotlit:i,dimmed:a,onShare:o,onStopShare:s}){let{t:c}=M();return!t&&!e?null:(0,z.jsx)($,{icon:(0,z.jsx)(ze,{className:`size-4`}),label:c(`companionSurface.share`),shortcut:r,control:`share`,spotlit:i,dimmed:a,pressed:e||n,onClick:e?s:o})}function Bt({sharing:e,annotating:t,shortcut:n,spotlit:r,dimmed:i,tool:a,placement:o,toolsRef:s,onAnnotate:c,onTool:l}){let{t:u}=M();return e?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(P,{className:`size-4`}),label:u(`companionSurface.draw`),shortcut:n,control:`draw`,spotlit:r,dimmed:i,pressed:t,className:`companion-draw-anchor`,onClick:()=>{c?.(!t)}}),t&&a!==void 0&&(0,z.jsx)(Vt,{tool:a,placement:o,toolsRef:s,onTool:l})]}):null}function Vt({tool:e,placement:t,toolsRef:n,onTool:r}){let{t:i}=M(),a=[{tool:`freehand`,icon:(0,z.jsx)(P,{className:`size-4`}),label:i(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,z.jsx)(Be,{className:`size-4`}),label:i(`companionSurface.drawLine`)},{tool:`box`,icon:(0,z.jsx)(ve,{className:`size-4`}),label:i(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,z.jsx)(ge,{className:`size-4`}),label:i(`companionSurface.drawCircle`)}];return(0,z.jsx)(`div`,{className:`companion-draw-tools absolute flex items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 companion-draw-tools-${t} ${t===`left`||t===`right`?`flex-col`:``}`,role:`group`,"aria-label":i(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:a.map(t=>(0,z.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{r?.(t.tool)}},t.tool))})}function Ht({sharing:e,marked:t,dimmed:n,onClearMarks:r}){let{t:i}=M();return!e||!t?null:(0,z.jsx)($,{icon:(0,z.jsx)(Re,{className:`size-4`}),label:i(`companionSurface.clearMarks`),dimmed:n,onClick:()=>{r?.()}})}function Ut({dimmed:e,onControl:t}){let{t:n}=M();return(0,z.jsx)($,{icon:(0,z.jsx)(Ae,{className:`size-4`,strokeWidth:2.5}),label:n(`companionSurface.endSession`),tone:`negative`,dimmed:e,onClick:()=>{t?.(`endSession`)}})}function Wt({onWatch:e}){let{t}=M();return(0,z.jsx)($,{icon:(0,z.jsx)(Te,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var Gt=`-translate-y-[calc(50%+22px)]`,Kt={right:`translate-x-[calc(50%+22px)]`,left:`-translate-x-[calc(50%+22px)]`},qt=e=>e===`above`?{className:Gt,beak:`down`}:{className:Kt[e],beak:e===`right`?`left`:`right`};function Jt({work:e,accentHex:t,open:n,onToggle:r}){let{t:i}=M(),a=qt((0,R.useContext)(pt)),o=V(e),s=H(e),c=o.length>0?o:s,l=e.at(-1),u=(c.length>0?c:e).map(e=>e.title).join(` · `);return(0,z.jsxs)(`button`,{type:`button`,"aria-label":o.length===0&&s.length>0?i(`companionSurface.workWaiting`,{count:s.length}):i(`companionSurface.workCount`,{count:o.length}),"aria-expanded":r===void 0?void 0:n,"data-control":`work`,disabled:r===void 0,className:`group flex size-7 shrink-0 items-center justify-center rounded-full transition-colors enabled:hover:bg-white/15 ${n?`bg-white/15`:``}`,style:U(t),onPointerDown:e=>{e.stopPropagation()},onClick:r,children:[(0,z.jsx)(`span`,{className:`relative grid size-5 place-items-center`,children:c.length>0?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`absolute inset-0 grid place-items-center`,children:(0,z.jsx)(W,{size:20,still:o.length===0})}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none font-semibold text-white/90 tabular-nums`,children:c.length})]}):(0,z.jsx)(G,{state:l?.state===`failed`?`failed`:`done`})}),n?null:(0,z.jsx)(kt,{label:u,className:`opacity-0 group-hover:opacity-100 ${a.className}`,beak:a.beak,"data-label":`hover`})]})}var Yt={above:we,below:je,left:Se,right:ye};function Xt({picker:e,label:t,side:n,open:r,onPicker:i}){if(i===void 0)return null;let a=Yt[n];return(0,z.jsx)($,{icon:(0,z.jsx)(a,{className:`size-3.5`,strokeWidth:2.25}),label:t,pressed:r,narrow:!0,onClick:()=>{i(e)}})}function $({icon:e,label:t,shortcut:n,tone:r,showLabel:i=!1,pressed:a,spotlit:o=!1,dimmed:s=!1,control:c,narrow:l=!1,className:u=``,onClick:d}){let f=qt((0,R.useContext)(pt));return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,"data-control":c,onClick:d,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full text-[12px] transition-[background-color,opacity] duration-200 hover:bg-white/15 ${l?`-mx-1 px-0.5`:`px-2`} ${u} ${a===!0||o?`bg-white/15`:``} ${s?`opacity-35`:``} ${r===`negative`?`text-[#ff6b6b]`:r===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,i?(0,z.jsx)(`span`,{children:t}):(0,z.jsx)(kt,{label:t,shortcut:n,className:`opacity-0 group-hover:opacity-100 ${f.className}`,beak:f.beak,"data-label":`hover`})]})}var Zt=244,Qt=192,$t=3e3,en=6,tn={idle:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.idle.body`},meet:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},key:{title:`companionIntro.talk.title`},share:{title:`companionIntro.share.title`,body:`companionIntro.share.body`},draw:{title:`companionIntro.draw.title`,body:`companionIntro.draw.body`},mute:{title:`companionIntro.mute.title`,body:`companionIntro.mute.body`},try:{title:`companionIntro.try.title`,body:`companionIntro.try.body`}},nn=e=>ce(e),rn=e=>({phase:`listening`,label:e,accentHex:``,muted:!1,outputMuted:!1,detail:``,approvalRequestId:``,assistantName:``}),an={share:`⌥S`,draw:`⌥D`,muteMicrophone:`⌥M`,muteAssistant:`⌥A`},on={share:{icon:(0,z.jsx)(ze,{className:`size-5`}),shortcut:an.share},draw:{icon:(0,z.jsx)(P,{className:`size-5`}),shortcut:an.draw},mute:{icon:(0,z.jsx)(Me,{className:`size-5`}),shortcut:an.muteMicrophone}},sn=e=>nn(e)===void 0?null:`call`,cn=(e,t)=>nn(e)===void 0?null:{call:rn(t),sharing:e!==`share`};function ln({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=j,optionsBox:i=j,accentHex:a,assistantName:o,cardRef:s,onAdvance:c,micGranted:l,greeted:u=!1,voiceKeyTaps:d=0,chordPresses:f=0,chordControl:p}){let{t:m}=M(),h=A.indexOf(e),g=h===A.length-1,_=h<=0,v=tn[e],y=ne[e],b=ce(e),x=b===void 0?void 0:on[b],[S,C]=(0,R.useState)(!1);(0,R.useEffect)(()=>{C(!1)},[e]),(0,R.useEffect)(()=>{if(!S)return;let e=setTimeout(()=>{C(!1)},$t);return()=>{clearTimeout(e)}},[S]),(0,R.useEffect)(()=>{C(!1)},[d]);let[ee,te]=(0,R.useState)(d),[w,T]=(0,R.useState)(f),[E,D]=(0,R.useState)(e);E===e?d<ee&&te(d):(D(e),te(d),T(f));let re=Math.min(Math.max(d-ee,0),2);f<w&&T(f);let O=b!==void 0&&p===b&&f>w,{inUnits:k,avatarHalf:ie,gap:ae,lineAt:se,edgeAt:le,introStepOff:ue}=L(r,i),de=n===`down`||nn(e)===void 0?k(ue(n)):k(ie+ae)+22+k(ie)+en,fe=le(t,-ie),pe={top:se(n,0),transform:n===`up`?`translateY(calc(-100% - ${de}px))`:`translateY(${de}px)`};return(0,z.jsxs)(`div`,{ref:s,role:`group`,"aria-label":m(`companionIntro.ariaLabel`),className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:Zt,height:Qt,...fe,...pe},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":m(`companionIntro.close`),className:`absolute top-2 right-2 flex size-6 items-center justify-center rounded-full text-white/45 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>c?.(`dismiss`),children:(0,z.jsx)(Ae,{className:`size-3.5`})}),(0,z.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`pr-6 text-[13px] leading-tight font-medium text-white`,children:(0,z.jsx)(`span`,{className:`line-clamp-2`,children:`titleNamed`in v&&o!==void 0?m(v.titleNamed,{name:o}):m(v.title)})}),`body`in v?(0,z.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:m(e===`talk`&&u?`companionIntro.talk.greeted`:v.body)}):null,e===`talk`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0})}),u&&l===!1?(0,z.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:m(`companionIntro.talk.prompt`)}):null]}),e===`key`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:m(S?`companionIntro.key.scolded`:`companionIntro.talk.gesture`)}),(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(un,{label:`fn`,taps:re,scolded:S,take:()=>{C(!0)}})})]}),e===`try`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-3`,children:[(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0}),(0,z.jsx)(un,{label:`fn`,taps:re,scolded:S,take:()=>{C(!0)}})]}),(0,z.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:m(S?`companionIntro.key.scolded`:`companionIntro.try.how`)})]}),x!==void 0&&(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-white/10 text-white/85`,children:x.icon}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:m(`companionIntro.call.click`)})]}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex h-10 items-center rounded-xl border px-3 text-[13px] font-medium transition-colors ${O?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:`border-white/15 bg-white/10 text-white/85`}`,children:x.shortcut}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:m(`companionIntro.call.shortcut`)})]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pt-2`,children:[(0,z.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:oe.map(e=>(0,z.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:e===y?a??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[_?null:(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-3 text-[12px] text-white/60 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>c?.(`back`),children:m(`companionIntro.back`)}),(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>c?.(`next`),children:m(g?`companionIntro.done`:`companionIntro.next`)})]})]})]})}function un({label:e,taps:t=0,scolded:n=!1,take:r}){let i=t>=2?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:t===1?`border-emerald-400/70 bg-emerald-400/20 text-emerald-100`:`border-white/20 bg-white/10 text-white/85`,a=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(N,{className:`size-4`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`absolute bottom-1 left-1.5 text-[9px] leading-none opacity-70`,"aria-hidden":!0,children:e})]}),o=`relative inline-flex size-11 items-center justify-center rounded-lg border font-medium shadow-[inset_0_-2px_0_rgba(0,0,0,.4)] transition-[color,background-color,border-color,transform] ${i} ${n?`scale-90 opacity-70`:``}`;return r===void 0?(0,z.jsx)(`span`,{className:o,"aria-label":e,children:a}):(0,z.jsx)(`button`,{type:`button`,className:`${o}${t===0?`hover:border-white/40 hover:bg-white/20`:``}`,"aria-label":e,onClick:r,children:a})}var dn=3,fn=2400,pn=440;function mn(){let{t:e}=M(),[i,f]=(0,R.useState)(`right`),[h,ne]=(0,R.useState)(`up`),[D,re]=(0,R.useState)(`bottom`),[O,A]=(0,R.useState)(j),[oe,ce]=(0,R.useState)(j),[ue,fe]=(0,R.useState)(),[pe,me]=(0,R.useState)(),[he,ge]=(0,R.useState)(),[N,_e]=(0,R.useState)(null),[ve,ye]=(0,R.useState)(!1),[be,xe]=(0,R.useState)(void 0),[Se,Ce]=(0,R.useState)(``),[we,Te]=(0,R.useState)(``),[Ee,De]=(0,R.useState)(!1),[P,Oe]=(0,R.useState)(!1),[ke,Ae]=(0,R.useState)(void 0),[F,je]=(0,R.useState)(void 0),[Me,I]=(0,R.useState)(!1),[L,Re]=(0,R.useState)(void 0),[ze,Be]=(0,R.useState)(void 0),[Ve,He]=(0,R.useState)(!1),[Ue,We]=(0,R.useState)(!1),[Ge,Ke]=(0,R.useState)(void 0),[qe,Je]=(0,R.useState)(!1),[Xe,Ze]=(0,R.useState)(!1),[Qe,$e]=(0,R.useState)(!1),[B,et]=(0,R.useState)(!1),[tt,V]=(0,R.useState)(void 0),[H,U]=(0,R.useState)(!1),[W,G]=(0,R.useState)(`teach`),[rt,it]=(0,R.useState)(null),K=(0,R.useRef)(0),[at,q]=(0,R.useState)(!1),[J,ot]=(0,R.useState)(null),[st,ct]=(0,R.useState)(0),[lt,ut]=(0,R.useState)(0),[dt,ft]=(0,R.useState)(void 0),Y=(0,R.useRef)(!1),pt=(0,R.useRef)(null),mt=(0,R.useRef)(null),ht=(0,R.useRef)(null),gt=(0,R.useRef)(null),X=(0,R.useRef)(null),_t=(0,R.useRef)(null),vt=(0,R.useRef)(null),yt=(0,R.useRef)(null),bt=(0,R.useRef)(!1),xt=(0,R.useCallback)(e=>{yt.current=e,e===null&&bt.current&&(bt.current=!1,Y.current=!1,y(!1))},[]),Z=(0,R.useRef)(null),St=(0,R.useRef)(null),Ct=(0,R.useRef)(!1);(0,R.useEffect)(()=>{let e=e=>{f(e.growth),ne(e.cardGrowth),re(e.dock??`bottom`),A(e.avatarBox),ce(e.optionsBox??e.avatarBox),fe(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),me(e.character),ge(e.accentHex),_e(e.call),ye(e.dialing===!0),Te(e.assistantName),De(e.working),Oe(e.watching===!0),xe(e.dictating),Ce(e.dictationText??``),Ae(e.watchRetro),je(e.dictationOffer),Re(e.popover),I(e.voicesPickable===!0),Be(e.popoverView),He(e.watchEnabled===!0),We(e.watchTargets===!0),Ke(e.screenShare),Je(e.screenShareEnabled===!0),Ze(e.annotating===!0),$e((e.coachmarks?.length??0)>0),et(e.marksCleared!==void 0),V(e.annotationTool),ot(e.intro),ct(e.voiceKeyTaps??0),ut(e.introChordPresses??0),ft(e.introChordControl)},t=ee(e);return g().then(t=>{t&&e(t)}),t},[]),(0,R.useEffect)(()=>()=>{y(!1)},[]);let Tt=N!==null||ve,Et=Ge!==void 0,Dt=(0,R.useMemo)(()=>T()?se():void 0,[]);(0,R.useEffect)(()=>{Tt||(K.current+=1,U(!1))},[Tt]),(0,R.useEffect)(()=>{P&&W===`teach`&&(K.current+=1,U(!1))},[P,W]),(0,R.useEffect)(()=>{Et&&W===`share`&&(K.current+=1,U(!1))},[Et,W]);let Ot=(e,t)=>{it(null),G(e),U(!0);let n=++K.current;ae().then(e=>{if(n===K.current){if(e!==null){it(e);return}U(!1),t()}})},kt=H&&rt?.screenRecordingGranted===!1;(0,R.useEffect)(()=>{if(kt)return k(e=>{if(e.screen?.status!==`granted`)return;let t=++K.current;ae().then(e=>{t!==K.current||e===null||it(e)})})},[kt]);let At=()=>{if(!Ue){p();return}if(H&&W===`teach`){K.current+=1,U(!1);return}Ot(`teach`,p)},jt=()=>{if(H&&W===`share`){K.current+=1,U(!1);return}Ot(`share`,()=>void 0)};(0,R.useEffect)(()=>{!H&&Y.current&&(Y.current=!1,y(!1))},[H]),(0,R.useEffect)(()=>{F===void 0&&Y.current&&(Y.current=!1,y(!1))},[F]);let Mt=(0,R.useRef)(!1),Nt=L!==void 0&&ze!==void 0&&ze!==`deferred`&&(N!==null||ve)&&D!==`left`&&D!==`right`,Pt=Nt?L?.id:void 0;(0,R.useLayoutEffect)(()=>{let e=vt.current;if(Pt===void 0||e===null)return;let t=()=>{d(Pt,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Pt,ze]);let[Ft,It]=(0,R.useState)(!1),Lt=Nt||Ft;(0,R.useEffect)(()=>{!Lt&&Mt.current&&(Mt.current=!1,Y.current=!1,y(!1))},[Lt]);let Rt=e=>{if(K.current+=1,U(!1),W===`share`){C(e);return}p(e)},zt=e=>{Y.current!==e&&(Y.current=e,y(e))},Q=J!==null&&N===null&&!ve,Bt=(0,R.useRef)(Q);(0,R.useEffect)(()=>{Bt.current&&!Q&&(q(!1),zt(!1)),Bt.current=Q},[Q]);let Vt=sn(J),Ht=Q?cn(J,e(`companionIntro.call.line`)):null,[Ut,Wt]=(0,R.useState)(null),Gt=Q&&(J===`talk`||J===`try`),Kt=Q&&J===`idle`&&at;(0,R.useEffect)(()=>{Kt&&E(`next`)},[Kt]);let[qt,Jt]=(0,R.useState)(!1);(0,R.useEffect)(()=>{Jt(!1)},[J]);let Yt=(0,R.useCallback)(()=>{if(Ut!==!1){E(`try`);return}t(`microphone`).then(e=>{Wt(e?.status===`granted`),E(`try`)})},[Ut]);(0,R.useEffect)(()=>{if(!qt)return;let e=setTimeout(()=>{E(`next`)},fn);return()=>{clearTimeout(e)}},[qt]);let Xt=Q&&J===`talk`;(0,R.useEffect)(()=>{if(!Xt)return;let e=()=>{w().then(e=>{Wt(e===null?null:e.microphone.status===`granted`)})};e();let t=setInterval(e,2e3);return()=>{clearInterval(t)}},[Xt]);let $=Ht!==null,Zt=N!==null||ve?`call`:be===void 0?F===void 0?P?`watching`:ke===void 0?Vt??(at?`hover`:`resting`):`summary`:`offer`:`dictating`,Qt=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null,m()),Z.current!==null){let{x:t,y:r}=Z.current;n(e.screenX-t,e.screenY-r),Z.current={x:e.screenX,y:e.screenY};let i=St.current;i!==null&&Math.abs(e.screenX-i.x)+Math.abs(e.screenY-i.y)>dn&&(Ct.current=!0);return}let t=ht.current;if(!t)return;let r=pt.current?.getBoundingClientRect()??null,i=mt.current?.getBoundingClientRect()??null,a=r!==null&&r.width>0?r:i!==null&&i.width>0?i:null,o=Le({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:a}),s=gt.current,c=s!==null&&Ie(s.getBoundingClientRect(),e.clientX,e.clientY),l=_t.current,u=l!==null&&Ie(l.getBoundingClientRect(),e.clientX,e.clientY),d=X.current,f=d!==null&&Ie(d.getBoundingClientRect(),e.clientX,e.clientY),p=vt.current,h=p!==null&&Ie(p.getBoundingClientRect(),e.clientX,e.clientY),g=yt.current,_=g!==null&&Ie(g.getBoundingClientRect(),e.clientX,e.clientY);q(o),bt.current=_,Mt.current=h,zt(o||c||f||u||_||h)},$t=Ne(N,he,pe),en=L===void 0||ze!==`deferred`?0:L.kind===`approvals`?L.items.length:1;return(0,z.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Qt,onMouseUp:()=>{Z.current!==null&&(Z.current=null,m())},onPointerCancel:()=>{Z.current!==null&&(Z.current=null,m()),q(!1),zt(!1)},onMouseLeave:()=>{Z.current===null&&(q(!1),zt(!1))},children:(0,z.jsx)(wt,{phase:Zt,growth:i,cardGrowth:h,dock:D,avatarBox:O,optionsBox:oe,avatarSrc:ue,character:pe,hovered:at,accentHex:$t,call:N??Ht?.call??void 0,assistantName:we,dictating:be,dictationText:Se,working:Ee,watching:P,watchRetro:ke,onWatchRetro:le,dictationOffer:F,offer:F===void 0?null:(0,z.jsx)(nt,{offer:F,growth:i,cardGrowth:h,avatarBox:O,optionsBox:oe,cardRef:_t,onAnswer:e=>{b(e,F.id)}}),watchEnabled:Ve,spotlight:nn(J),avatarStaged:Gt,avatarTucked:Q&&J===`idle`,intro:!Q||J===null?null:(0,z.jsx)(ln,{beat:J,growth:i,cardGrowth:h,avatarBox:O,optionsBox:oe,accentHex:$t,assistantName:we===``?void 0:we,cardRef:gt,micGranted:Ut??void 0,greeted:qt,voiceKeyTaps:st,chordPresses:lt,chordControl:dt,onAdvance:e=>{if(e===`try`){Yt();return}E(e)}}),rootRef:pt,restingPillRef:mt,avatarRef:ht,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},St.current={x:e.screenX,y:e.screenY},Ct.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),u())},onAvatarClick:()=>{if(!(Ct.current||$)){if(Q&&J===`talk`){Jt(!0);return}if(Q&&J===`try`){Yt();return}if(N!==null||ve){de();return}S()}},onWatch:()=>{$||p()},onTeach:$?void 0:At,picking:H&&W===`teach`,sharing:Ht?.sharing??Et,shareEnabled:$||qe,sharePicking:H&&W===`share`,onShare:$?void 0:jt,onStopShare:$?void 0:()=>{C()},annotating:Xe,onAnnotate:$?void 0:e=>{_(e)},marked:B&&(Qe||Xe),onClearMarks:$?void 0:()=>{s()},openPicker:L?.kind===`microphones`||L?.kind===`voices`?L.kind:void 0,voicesPickable:Me,onPicker:!$&&o()?e=>{l(e)}:void 0,annotationTool:tt,onAnnotationTool:$?void 0:e=>{c(e)},drawToolsRef:xt,shortcuts:$?an:Dt,picker:H?(0,z.jsx)(Ye,{sources:rt,captureThumbnail:x,cardGrowth:h,side:(N!==null||ve)&&(D===`left`||D===`right`)?D===`left`?`right`:`left`:void 0,avatarBox:O,optionsBox:oe,cardRef:X,label:W===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Rt,onAllowScreenRecording:()=>{v(`screen`).catch(()=>void 0)}}):null,prompt:!Nt||L===void 0?null:ze===`row`&&(L.kind===`approvals`||L.kind===`secret`)?(0,z.jsx)(Pe,{popover:L,onAnswer:e=>{a(e,L.id)},onView:e=>{r(L.id,e)}}):(0,z.jsx)(Fe,{attached:!0,popover:L,view:ze??`expanded`,style:{maxHeight:pn},onAnswer:e=>{a(e,L.id)},onView:e=>{r(L.id,e)},onOpenLink:e=>{ie(e)}},L.id),promptRef:vt,onWorkShelfChange:It,promptsDeferred:en,onReviewPrompts:()=>{L!==void 0&&r(L.id,`expanded`)},onControl:$?void 0:(e,t)=>{te(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{mn as CompanionSurfacePage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,JS as n,LS as r,RS as i,gS as a,nt as o}from"./app-CuJb51Ub.js";import{Yn as s,j as c,tr as l}from"./vendor-CYmPHUS2.js";import{_ as u,f as d,t as f,x as p}from"./react-B9IgSVeK.js";import{D as m,tr as h}from"./icons-C0wyat6T.js";import{n as g}from"./a2a-invite-YEhyUfHN.js";import{r as _}from"./contacts-gateway-d-y646Z7.js";var v=e(p(),1),y=f();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e){switch(e){case`expired`:case`not_found`:return`connectPage.errorExpired`;case`already_redeemed_by_other`:return`connectPage.errorAlreadyRedeemed`;case`sender_not_found`:return`connectPage.errorSenderNotFound`;case`not_platform_managed`:return`connectPage.errorNotPlatformManaged`;default:return null}}function S(){return(0,y.jsx)(C,{assistantId:o()})}function C({assistantId:e}){let{t:o}=c(`contacts`),f=d(),p=l(),[S]=u(),C=(0,v.useMemo)(()=>g(S),[S]),w=s({mutationFn:()=>{if(!C)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:C.senderAssistantId,token:C.token})},onSuccess:e=>{e.success&&(p.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?a(o(`connectPage.alreadyConnected`)):a(o(`connectPage.connected`)),f(t.contacts.root))}}),T=(0,v.useCallback)(()=>{f(t.contacts.root)},[f]),E=(0,v.useCallback)(()=>{w.mutate()},[w]),D=(0,v.useMemo)(()=>{if(w.isError)return w.error instanceof Error?w.error.message:o(`connectPage.errorGeneric`);if(w.data&&!w.data.success){let e=x(w.data.errorCode);return e?o(e):w.data.error||o(`connectPage.errorGeneric`)}return null},[w.isError,w.error,w.data,o]);return C?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(r,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(h,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(i,{variant:`title-small`,children:o(`connectPage.title`)})]}),(0,y.jsx)(i,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:o(`connectPage.body`)}),D&&(0,y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--system-negative-weak)`,color:`var(--system-negative-strong)`},children:[(0,y.jsx)(m,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(i,{variant:`body-small-default`,children:D})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(n,{variant:`primary`,onClick:E,loading:w.isPending,disabled:w.isPending,children:w.isPending?o(`actions.connecting`):o(`actions.connect`)}),(0,y.jsx)(n,{variant:`outlined`,onClick:T,disabled:w.isPending,children:o(`actions.cancel`)})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(r,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(m,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(i,{variant:`title-small`,children:o(`connectPage.invalidTitle`)})]}),(0,y.jsx)(i,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:o(`connectPage.invalidBody`)}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(n,{variant:`primary`,onClick:T,children:o(`connectPage.goToContacts`)})})]})})})}export{S as ConnectPage};
@@ -1 +0,0 @@
1
- var e={save:`Сохранить`,saving:`Сохранение…`,merge:`Объединить…`,merging:`Объединение…`,delete:`Удалить`,deleting:`Удаление…`,connect:`Подключить`,connecting:`Подключение…`,manage:`Настроить`,disconnect:`Отключить`,disconnecting:`Отключение…`,cancel:`Отмена`,back:`Назад`,verify:`Подтвердить`,verifying:`Подтверждение…`,revoke:`Отозвать`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Телефон`,email:`Почта`,discord:`Discord`},n={nameLabel:`Имя`,notesLabel:`Заметки`,draftName:`Новый контакт`,interactions:`{count, plural, one {# взаимодействие} few {# взаимодействия} many {# взаимодействий} other {# взаимодействия}}`,mergeBlockedNoCandidates:`Нет других контактов для объединения`,mergeBlockedUnsaved:`Сохранение изменений перед объединением`},r={title:`Контакты`,mergeSucceeded:`Контакты объединены`,mergeFailed:`Не удалось объединить контакты`,createFailed:`Не удалось создать контакт`,deleteFailed:`Не удалось удалить контакт`,saveFailed:`Не удалось сохранить контакт`,verifyFailed:`Не удалось подтвердить канал`,rosterLoadFailed:`Не удалось загрузить список рабочего пространства. Проверьте подключение Slack и повторите попытку.`,emptyBody:`Выбор контакта`},i={heading:`Записи`,addAriaLabel:`Добавить контакт`,searchPlaceholder:`Поиск контактов`,noMatches:`Нет подходящих контактов`,add:`Добавить контакт`,verified:`Подтверждён`,unverified:`Не подтверждён`,you:`Вы`,youNamed:`{name} (вы)`,assistantFallback:`Ассистент`},a={namePlaceholder:`Имя этой персоны`,notesPlaceholder:`Необязательные заметки о человеке, которые ИИ учтёт`,mergeBlockedUnsavedDraft:`Сохранение этого контакта перед объединением`,delete:`Удалить контакт`,linkedAccountsTitle:`Связанные аккаунты`,linkedAccountsSubtitle:`Где ассистент узнаёт этот контакт. Свяжи известные аккаунты и пригласи остальные.`,deleteConfirmTitle:`Удалить {name}?`,deleteConfirmMessage:`Контакт и все его каналы будут удалены навсегда. Это нельзя отменить.`},o={title:`Разрешения`,subtitle:`Наивысший риск, который этот контакт может принять без запроса.`,inheritLabel:`Наследовать значение по умолчанию`,inheritDescription:`Использовать настройки комнаты и класса доверия для этого контакта.`,saveFailed:`Не удалось обновить разрешения`,preset:{none:`Строгий`,low:`Осторожный`,medium:`Свободный`,high:`Полный доступ`},description:{none:`Всегда спрашивать перед действием. Никакие действия не одобряются автоматически.`,low:`Автоматически одобрять действия с низким риском, например поиск в интернете и чтение или запись файлов в собственном рабочем пространстве.`,medium:`Автоматически одобрять действия с низким и средним риском, например изменение файлов вне собственного рабочего пространства.`,high:`Автоматически одобрять все действия, включая рискованные и нераспознанные команды. Ассистент не будет спрашивать разрешение.`}},s={namePlaceholder:`Имя`,notesPlaceholder:`Заметки о себе, которые ИИ учтёт`,channelsTitle:`Каналы`,channelsSubtitle:`После подтверждения ассистент узнает отправителя сообщений с этих каналов.`,setupLabel:`Подтвердить меня`},c={title:`{name} (ассистент)`,channelsTitle:`Каналы`,channelsSubtitle:`Где можно достучаться до {name}.`},l={disconnectConfirmTitle:`Отключить {channel}?`,disconnectConfirmMessage:`Это удалит сохранённые учётные данные канала. Потом можно подключить снова.`},u={linked:`Связан как @{username}`,linkFailed:`Не удалось связать аккаунт`},d={invalidTitle:`Недействительная ссылка-приглашение`,invalidBody:`В ссылке не хватает обязательных параметров, ею нельзя воспользоваться.`,goToContacts:`Перейти в Контакты`,title:`Связать ассистентов`,body:`Если принять эту ссылку, появится доверенное A2A-соединение между этим ассистентом и ассистентом отправителя.`,alreadyConnected:`Уже подключено`,connected:`Подключено!`,errorExpired:`Эта ссылка-приглашение истекла или уже использована.`,errorAlreadyRedeemed:`Это приглашение уже принял кто-то другой.`,errorSenderNotFound:`Ассистент отправителя не найден.`,errorNotPlatformManaged:`Ссылки-приглашения A2A поддерживаются только для ассистентов на платформе.`,errorGeneric:`Что-то пошло не так. Повторите попытку.`},f={connected:`Подключено`,verified:`Подтверждено`},p={verifyConfirmTitle:`Подтвердить {channel}`,verifyConfirmMessageContact:`Канал {channel} этого контакта будет отмечен как подтверждённый. Ассистент узнает его, когда тот напишет оттуда.`,verifyConfirmMessageGuardian:`Канал {channel} будет отмечен как подтверждённый. Ассистент узнает отправителя сообщений оттуда.`,verifyAddressLabel:`Адрес`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Введите идентификатор, который этот контакт использует в {channel}. Ассистент узнает его, когда тот напишет оттуда.`,verifyAddressMessageGuardian:`Введите идентификатор, который вы используете в {channel}. Ассистент узнает вас, когда вы напишете оттуда.`,revokeConfirmTitle:`Отозвать {channel}`,revokeConfirmMessage:`Подтверждённый канал будет отключён. Контакту нужно будет подтвердить его снова, чтобы пользоваться этим каналом.`,linkAccount:`Связать аккаунт`,setupDefault:`Пригласить`,loadFailed:`Не удалось загрузить каналы. Проверьте подключение и повторите попытку.`},m={title:`Связать аккаунт {channel}`,description:`Найди в рабочем пространстве {channel} аккаунт <contact>{name}</contact>.`,searchPlaceholder:`Поиск по имени или @нику`,searchAriaLabel:`Поиск аккаунтов рабочего пространства {channel}`,loading:`Загрузка участников рабочего пространства…`,noMembers:`Участники рабочего пространства не найдены.`,noMatches:`Нет подходящих участников.`,linking:`Связываем…`,guardianLinkNote:`Выбор помечает аккаунт как <emphasis>связанный опекуном</emphasis>: поручительство за личность без рукопожатия.`,inviteInstead:`Или отправка приглашения`},h={titlePicked:`Объединить "{donor}" с {survivor}?`,titlePicking:`Объединить другой контакт с {survivor}`,descriptionPicked:`Каналы и заметки объединённого контакта перейдут сюда. Сам контакт будет удалён.`,descriptionPicking:`Выбранный контакт будет удалён. Его каналы и заметки добавятся к этому.`,confirm:`Объединить`,searchPlaceholder:`Поиск контактов`,listAriaLabel:`Выбор контакта для объединения`,empty:`Нет других контактов для объединения.`,donorDeleted:`<donor>"{donor}"</donor> будет удалён.`,channelsMoved:`{count, plural, =0 {В {survivor} не перейдёт ни один новый канал.} one {# канал перейдёт в {survivor}: {channels}.} few {# канала перейдут в {survivor}: {channels}.} many {# каналов перейдут в {survivor}: {channels}.} other {# канала перейдут в {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# повторный канал уже есть у {survivor} (пропущен).} few {# повторных канала уже есть у {survivor} (пропущены).} many {# повторных каналов уже есть у {survivor} (пропущены).} other {# повторных канала уже есть у {survivor} (пропущены).}}`,notesAppended:`Заметки объединённого контакта будут добавлены в конец.`,irreversible:`Это нельзя отменить.`},g={you:`вас`,youNamed:`{name} (вы)`,thisContact:`этот контакт`},_={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,assistantChannelsDetail:c,assistantContactChannels:l,accountLink:u,connectPage:d,channelStatus:f,contactChannelsSection:p,linkAccountDialog:m,contactMergeDialog:h,survivorName:g};export{u as accountLink,e as actions,c as assistantChannelsDetail,l as assistantContactChannels,f as channelStatus,t as channelType,d as connectPage,n as contact,p as contactChannelsSection,a as contactDetailView,h as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,_ as default,s as guardianDetailView,m as linkAccountDialog,g as survivorName};
@@ -1 +0,0 @@
1
- var e={save:`保存`,saving:`正在保存…`,merge:`合并…`,merging:`正在合并…`,delete:`删除`,deleting:`正在删除…`,connect:`连接`,connecting:`正在连接…`,manage:`管理`,disconnect:`断开连接`,disconnecting:`正在断开连接…`,cancel:`取消`,back:`返回`,verify:`验证`,verifying:`正在验证…`,revoke:`撤销`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`电话`,email:`电子邮件`,discord:`Discord`},n={nameLabel:`名称`,notesLabel:`备注`,draftName:`新建联系人`,interactions:`{count, plural, other {# 次互动}}`,mergeBlockedNoCandidates:`没有其他联系人可供合并`,mergeBlockedUnsaved:`请先保存更改再合并`},r={title:`联系人`,mergeSucceeded:`联系人已合并`,mergeFailed:`合并联系人失败`,createFailed:`创建联系人失败`,deleteFailed:`删除联系人失败`,saveFailed:`保存联系人失败`,verifyFailed:`验证渠道失败`,rosterLoadFailed:`无法加载工作区名册。请检查 Slack 连接并重试。`,emptyBody:`选择一个联系人`},i={heading:`条目`,addAriaLabel:`添加联系人`,searchPlaceholder:`搜索联系人`,noMatches:`没有匹配的联系人`,add:`添加联系人`,verified:`已验证`,unverified:`未验证`,you:`您`,youNamed:`{name} (您)`,assistantFallback:`您的助手`},a={namePlaceholder:`为此人命名`,notesPlaceholder:`关于此人的可选备注,AI 将会考虑这些备注`,mergeBlockedUnsavedDraft:`请先保存此联系人再合并`,delete:`删除联系人`,linkedAccountsTitle:`关联账户`,linkedAccountsSubtitle:`助手识别此联系人的地方。关联您认识的账户,邀请您不认识的账户。`,deleteConfirmTitle:`删除 {name}?`,deleteConfirmMessage:`此操作将永久删除此联系人及其所有渠道。此操作无法撤消。`},o={title:`权限`,subtitle:`此联系人无需征求您同意即可承担的最高风险。`,inheritLabel:`继承默认设置`,inheritDescription:`此联系人遵循房间和信任等级设置。`,saveFailed:`更新权限失败`,preset:{none:`严格`,low:`保守`,medium:`宽松`,high:`完全访问`},description:{none:`在执行操作前始终询问。不自动批准任何操作。`,low:`自动批准低风险操作,例如网页搜索以及在其工作区中读写文件。`,medium:`自动批准低风险和中等风险操作,例如更改其工作区之外的文件。`,high:`自动批准所有操作,包括高风险和无法识别的命令。您的助手将永远不会请求权限。`}},s={namePlaceholder:`您的姓名`,notesPlaceholder:`关于您自己的备注,AI 将会考虑这些备注`,channelsTitle:`渠道`,channelsSubtitle:`验证后,当您通过这些渠道发送消息时,您的助手将识别出您。`,setupLabel:`验证我`},c={title:`{name} (您的助手)`,channelsTitle:`渠道`,channelsSubtitle:`{name} 可联系到的地方。`},l={disconnectConfirmTitle:`断开 {channel} 的连接?`,disconnectConfirmMessage:`此操作将清除此渠道的存储凭据。您可以稍后重新连接。`},u={linked:`已关联为 @{username}`,linkFailed:`关联账户失败`},d={invalidTitle:`无效的邀请链接`,invalidBody:`您访问的链接缺少必要的参数,无法使用。`,goToContacts:`前往联系人`,title:`连接助手`,body:`接受此链接将在您的助手与发送者的助手之间建立受信任的 A2A 连接。`,alreadyConnected:`已连接`,connected:`已连接!`,errorExpired:`此邀请链接已过期或已被使用。`,errorAlreadyRedeemed:`此邀请已被其他人领取。`,errorSenderNotFound:`找不到发送者的助手。`,errorNotPlatformManaged:`A2A 邀请链接仅支持平台托管的助手。`,errorGeneric:`发生了一些错误。请重试。`},f={connected:`已连接`,verified:`已验证`},p={verifyConfirmTitle:`验证 {channel}`,verifyConfirmMessageContact:`这将把此联系人的 {channel} 渠道标记为已验证。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyConfirmMessageGuardian:`这将把您的 {channel} 渠道标记为已验证。当您通过此渠道联系时,您的助手将识别您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`输入此联系人在 {channel} 上使用的标识符。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyAddressMessageGuardian:`输入您在 {channel} 上使用的标识符。当您通过此渠道联系时,您的助手将识别您。`,revokeConfirmTitle:`撤销 {channel}`,revokeConfirmMessage:`这将断开已验证的渠道。该联系人需要重新验证才能再次使用此渠道。`,linkAccount:`关联账户`,setupDefault:`邀请`,loadFailed:`无法加载渠道。请检查您的网络连接并重试。`},m={title:`关联 {channel} 账户`,description:`搜索您的 {channel} 工作区并选择 <contact>{name}</contact> 的账户。`,searchPlaceholder:`按姓名或 @句柄搜索`,searchAriaLabel:`搜索 {channel} 工作区账户`,loading:`正在加载工作区成员…`,noMembers:`未找到工作区成员。`,noMatches:`无匹配成员。`,linking:`正在关联…`,guardianLinkNote:`选择此账户会将其标记为 <emphasis>监护人关联</emphasis>:您为身份担保,无需握手验证。`,inviteInstead:`或者发送邀请`},h={titlePicked:`将“{donor}”合并到 {survivor}?`,titlePicking:`将另一个联系人合并到 {survivor}`,descriptionPicked:`被合并联系人的渠道和备注将转移过来。被合并的联系人将被删除。`,descriptionPicking:`您选择的联系人将被删除。其渠道和备注将添加到此联系人。`,confirm:`合并`,searchPlaceholder:`搜索联系人`,listAriaLabel:`选择要合并的联系人`,empty:`没有其他联系人可供合并。`,donorDeleted:`<donor>“{donor}”</donor> 将被删除。`,channelsMoved:`{count, plural, =0 {没有新渠道会转移到 {survivor}。} one {# 个渠道将转移到 {survivor}:{channels}。} other {# 个渠道将转移到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 个重复渠道已存在于 {survivor}(已跳过)。} other {有 # 个重复渠道已存在于 {survivor}(已跳过)。}}`,notesAppended:`被合并联系人的备注将被附加。`,irreversible:`此操作无法撤销。`},g={you:`您`,youNamed:`{name} (您)`,thisContact:`此联系人`},_={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,assistantChannelsDetail:c,assistantContactChannels:l,accountLink:u,connectPage:d,channelStatus:f,contactChannelsSection:p,linkAccountDialog:m,contactMergeDialog:h,survivorName:g};export{u as accountLink,e as actions,c as assistantChannelsDetail,l as assistantContactChannels,f as channelStatus,t as channelType,d as connectPage,n as contact,p as contactChannelsSection,a as contactDetailView,h as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,_ as default,s as guardianDetailView,m as linkAccountDialog,g as survivorName};
@@ -1 +0,0 @@
1
- var e={save:`Guardar`,saving:`Guardando…`,merge:`Combinar…`,merging:`Combinando…`,delete:`Eliminar`,deleting:`Eliminando…`,connect:`Conectar`,connecting:`Conectando…`,manage:`Gestionar`,disconnect:`Desconectar`,disconnecting:`Desconectando…`,cancel:`Cancelar`,back:`Atrás`,verify:`Verificar`,verifying:`Verificando…`,revoke:`Revocar`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Teléfono`,email:`Correo`,discord:`Discord`},n={nameLabel:`Nombre`,notesLabel:`Notas`,draftName:`Contacto nuevo`,interactions:`{count, plural, one {# interacción} other {# interacciones}}`,mergeBlockedNoCandidates:`No hay otros contactos con los que combinar`,mergeBlockedUnsaved:`Guarda los cambios antes de combinar`},r={title:`Contactos`,mergeSucceeded:`Contactos combinados`,mergeFailed:`No se pudieron combinar los contactos`,createFailed:`No se pudo crear el contacto`,deleteFailed:`No se pudo eliminar el contacto`,saveFailed:`No se pudo guardar el contacto`,verifyFailed:`No se pudo verificar el canal`,rosterLoadFailed:`No se pudo cargar el directorio del espacio de trabajo. Comprueba la conexión con Slack y vuelve a intentarlo.`,emptyBody:`Selecciona un contacto`},i={heading:`Entradas`,addAriaLabel:`Añadir contacto`,searchPlaceholder:`Buscar contactos`,noMatches:`No hay contactos que coincidan`,add:`Añadir contacto`,verified:`Verificado`,unverified:`Sin verificar`,you:`Tú`,youNamed:`{name} (tú)`,assistantFallback:`Tu asistente`},a={namePlaceholder:`Ponle un nombre a esta persona`,notesPlaceholder:`Notas opcionales sobre la persona que la IA tendrá en cuenta`,mergeBlockedUnsavedDraft:`Guarda este contacto antes de combinar`,delete:`Eliminar contacto`,linkedAccountsTitle:`Cuentas vinculadas`,linkedAccountsSubtitle:`Dónde reconoce el asistente a este contacto. Vincula las cuentas que conozcas e invita a las que no.`,deleteConfirmTitle:`¿Eliminar a {name}?`,deleteConfirmMessage:`Esto eliminará permanentemente este contacto y todos sus canales. Esta acción no se puede deshacer.`},o={title:`Permisos`,subtitle:`El riesgo más alto que este contacto puede asumir sin preguntarte.`,inheritLabel:`Heredar valor predeterminado`,inheritDescription:`Seguir la configuración de sala y clase de confianza de este contacto.`,saveFailed:`No se pudieron actualizar los permisos`,preset:{none:`Estricto`,low:`Conservador`,medium:`Relajado`,high:`Acceso completo`},description:{none:`Preguntar siempre antes de actuar. Ninguna acción se aprueba automáticamente.`,low:`Aprobar automáticamente las acciones de bajo riesgo, como búsquedas web y leer o escribir archivos en su propio espacio de trabajo.`,medium:`Aprobar automáticamente las acciones de riesgo bajo y medio, como cambiar archivos fuera de su propio espacio de trabajo.`,high:`Aprobar automáticamente todas las acciones, incluidas las de alto riesgo y los comandos no reconocidos. El asistente no pedirá permiso.`}},s={namePlaceholder:`Tu nombre`,notesPlaceholder:`Notas sobre ti que la IA tendrá en cuenta`,channelsTitle:`Canales`,channelsSubtitle:`Una vez verificado, tu asistente te reconocerá cuando escribas desde estos canales.`,setupLabel:`Verificarme`},c={title:`{name} (tu asistente)`,channelsTitle:`Canales`,channelsSubtitle:`Dónde se puede contactar con {name}.`},l={disconnectConfirmTitle:`¿Desconectar {channel}?`,disconnectConfirmMessage:`Esto borra las credenciales guardadas de este canal. Puedes volver a conectarlo más tarde.`},u={linked:`Vinculado como @{username}`,linkFailed:`No se pudo vincular la cuenta`},d={invalidTitle:`Enlace de invitación no válido`,invalidBody:`Al enlace que has seguido le faltan parámetros obligatorios y no se puede usar.`,goToContacts:`Ir a Contactos`,title:`Conectar asistentes`,body:`Aceptar este enlace creará una conexión A2A de confianza entre tu asistente y el del remitente.`,alreadyConnected:`Ya está conectado`,connected:`¡Conectado!`,errorExpired:`Este enlace de invitación ha caducado o ya se ha usado.`,errorAlreadyRedeemed:`Otra persona ya ha reclamado esta invitación.`,errorSenderNotFound:`No se ha encontrado el asistente del remitente.`,errorNotPlatformManaged:`Los enlaces de invitación A2A solo se admiten en asistentes alojados en la plataforma.`,errorGeneric:`Algo ha salido mal. Vuelve a intentarlo.`},f={connected:`Conectado`,verified:`Verificado`},p={verifyConfirmTitle:`Verificar {channel}`,verifyConfirmMessageContact:`Esto marcará el canal de {channel} de este contacto como verificado. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyConfirmMessageGuardian:`Esto marcará tu canal de {channel} como verificado. Tu asistente te reconocerá cuando escribas desde ahí.`,verifyAddressLabel:`Dirección`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Introduce el identificador que este contacto usa en {channel}. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyAddressMessageGuardian:`Introduce el identificador que usas en {channel}. Tu asistente te reconocerá cuando escribas desde ahí.`,revokeConfirmTitle:`Revocar {channel}`,revokeConfirmMessage:`Esto desconectará el canal verificado. El contacto tendrá que volver a verificarse para usarlo de nuevo.`,linkAccount:`Vincular cuenta`,setupDefault:`Invitar`,loadFailed:`No se pudieron cargar los canales. Comprueba tu conexión e inténtalo de nuevo.`},m={title:`Vincular una cuenta de {channel}`,description:`Busca en tu espacio de trabajo de {channel} y elige la cuenta de <contact>{name}</contact>.`,searchPlaceholder:`Buscar por nombre o @usuario`,searchAriaLabel:`Buscar cuentas del espacio de trabajo de {channel}`,loading:`Cargando los miembros del espacio de trabajo…`,noMembers:`No se han encontrado miembros del espacio de trabajo.`,noMatches:`Ningún miembro coincide.`,linking:`Vinculando…`,guardianLinkNote:`Elegirla marca esta cuenta como <emphasis>vinculada por el tutor</emphasis>: tú respondes por la identidad, sin necesidad de confirmación.`,inviteInstead:`O enviar una invitación`},h={titlePicked:`¿Combinar «{donor}» con {survivor}?`,titlePicking:`Combinar otro contacto con {survivor}`,descriptionPicked:`Los canales y las notas del contacto combinado se trasladarán. El contacto combinado se eliminará.`,descriptionPicking:`El contacto que elijas se eliminará. Sus canales y sus notas se añadirán a este.`,confirm:`Combinar`,searchPlaceholder:`Buscar contactos`,listAriaLabel:`Selecciona un contacto para combinar`,empty:`No hay otros contactos con los que combinar.`,donorDeleted:`<donor>«{donor}»</donor> se eliminará.`,channelsMoved:`{count, plural, =0 {No se trasladará ningún canal nuevo a {survivor}.} one {# canal se trasladará a {survivor}: {channels}.} other {# canales se trasladarán a {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# canal duplicado ya está en {survivor} (omitido).} other {# canales duplicados ya están en {survivor} (omitidos).}}`,notesAppended:`Las notas del contacto combinado se añadirán al final.`,irreversible:`Esta acción no se puede deshacer.`},g={you:`ti`,youNamed:`{name} (tú)`,thisContact:`este contacto`},_={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,assistantChannelsDetail:c,assistantContactChannels:l,accountLink:u,connectPage:d,channelStatus:f,contactChannelsSection:p,linkAccountDialog:m,contactMergeDialog:h,survivorName:g};export{u as accountLink,e as actions,c as assistantChannelsDetail,l as assistantContactChannels,f as channelStatus,t as channelType,d as connectPage,n as contact,p as contactChannelsSection,a as contactDetailView,h as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,_ as default,s as guardianDetailView,m as linkAccountDialog,g as survivorName};
@@ -1 +0,0 @@
1
- var e={save:`儲存`,saving:`正在儲存…`,merge:`合併…`,merging:`正在合併…`,delete:`刪除`,deleting:`正在刪除…`,connect:`連線`,connecting:`正在連線…`,manage:`管理`,disconnect:`中斷連線`,disconnecting:`正在中斷連線…`,cancel:`取消`,back:`返回`,verify:`驗證`,verifying:`正在驗證…`,revoke:`撤銷`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`電話`,email:`電子郵件`,discord:`Discord`},n={nameLabel:`名稱`,notesLabel:`備註`,draftName:`新增聯絡人`,interactions:`{count, plural, other {# 次互動}}`,mergeBlockedNoCandidates:`沒有其他聯絡人可供合併`,mergeBlockedUnsaved:`請先儲存您的變更再合併`},r={title:`聯絡人`,mergeSucceeded:`聯絡人已合併`,mergeFailed:`合併聯絡人失敗`,createFailed:`建立聯絡人失敗`,deleteFailed:`刪除聯絡人失敗`,saveFailed:`儲存聯絡人失敗`,verifyFailed:`驗證頻道失敗`,rosterLoadFailed:`無法載入工作區名單。請檢查 Slack 連線並重試。`,emptyBody:`選取一個聯絡人`},i={heading:`項目`,addAriaLabel:`新增聯絡人`,searchPlaceholder:`搜尋聯絡人`,noMatches:`沒有符合的聯絡人`,add:`新增聯絡人`,verified:`已驗證`,unverified:`未驗證`,you:`您`,youNamed:`{name} (您)`,assistantFallback:`您的助理`},a={namePlaceholder:`為此人命名`,notesPlaceholder:`關於此人的選填備註,AI 將會納入考量`,mergeBlockedUnsavedDraft:`請先儲存此聯絡人再合併`,delete:`刪除聯絡人`,linkedAccountsTitle:`已連結的帳號`,linkedAccountsSubtitle:`助理辨識此聯絡人的地方。連結您認識的帳號,邀請您不認識的帳號。`,deleteConfirmTitle:`刪除 {name}?`,deleteConfirmMessage:`這將永久刪除此聯絡人及其所有頻道。此動作無法復原。`},o={title:`權限`,subtitle:`此聯絡人無需徵求您同意即可執行的最高風險動作。`,inheritLabel:`繼承預設值`,inheritDescription:`此聯絡人將遵循房間和信任等級設定。`,saveFailed:`更新權限失敗`,preset:{none:`嚴格`,low:`保守`,medium:`寬鬆`,high:`完全存取`},description:{none:`執行動作前一律詢問。不自動核准任何動作。`,low:`自動核准低風險動作,例如網路搜尋以及在其工作區中讀寫檔案。`,medium:`自動核准低風險和中等風險動作,例如變更其工作區之外的檔案。`,high:`自動核准所有動作,包括高風險和無法辨識的指令。您的助理將永遠不會要求權限。`}},s={namePlaceholder:`您的名稱`,notesPlaceholder:`關於您自己的備註,AI 將會納入考量`,channelsTitle:`頻道`,channelsSubtitle:`驗證後,當您從這些頻道傳送訊息時,您的助理將會辨識出您。`,setupLabel:`驗證我`},c={title:`{name} (您的助理)`,channelsTitle:`頻道`,channelsSubtitle:`{name} 可聯繫到的地方。`},l={disconnectConfirmTitle:`中斷 {channel} 的連線?`,disconnectConfirmMessage:`這將清除此頻道的儲存憑證。您可以稍後重新連線。`},u={linked:`已連結為 @{username}`,linkFailed:`連結帳號失敗`},d={invalidTitle:`無效的邀請連結`,invalidBody:`您所使用的連結缺少必要的參數,因此無法使用。`,goToContacts:`前往聯絡人`,title:`連結助理`,body:`接受此連結將在您的助理與寄件者的助理之間建立受信任的 A2A 連線。`,alreadyConnected:`已連線`,connected:`已連線!`,errorExpired:`此邀請連結已過期或已被使用。`,errorAlreadyRedeemed:`此邀請已被其他人領取。`,errorSenderNotFound:`找不到寄件者的助理。`,errorNotPlatformManaged:`A2A 邀請連結僅支援平台託管的助理。`,errorGeneric:`發生錯誤。請再試一次。`},f={connected:`已連線`,verified:`已驗證`},p={verifyConfirmTitle:`驗證 {channel}`,verifyConfirmMessageContact:`這會將此聯絡人的 {channel} 頻道標記為已驗證。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyConfirmMessageGuardian:`這會將您的 {channel} 頻道標記為已驗證。當您透過此頻道聯絡時,您的助理將會辨識您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`輸入此聯絡人在 {channel} 上使用的識別碼。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyAddressMessageGuardian:`輸入您在 {channel} 上使用的識別碼。當您透過此頻道聯絡時,您的助理將會辨識您。`,revokeConfirmTitle:`撤銷 {channel}`,revokeConfirmMessage:`這將會中斷已驗證的頻道。該聯絡人需要重新驗證才能再次使用此頻道。`,linkAccount:`連結帳號`,setupDefault:`邀請`,loadFailed:`無法載入頻道。請檢查您的連線並再試一次。`},m={title:`連結 {channel} 帳號`,description:`搜尋您的 {channel} 工作區並選擇 <contact>{name}</contact> 的帳號。`,searchPlaceholder:`依名稱或 @帳號搜尋`,searchAriaLabel:`搜尋 {channel} 工作區帳號`,loading:`正在載入工作區成員…`,noMembers:`找不到工作區成員。`,noMatches:`無符合成員。`,linking:`正在連結…`,guardianLinkNote:`選擇此帳號會將其標記為 <emphasis>監護人連結</emphasis>:您為身份擔保,無需握手驗證。`,inviteInstead:`或者改為傳送邀請`},h={titlePicked:`將「{donor}」合併到 {survivor}?`,titlePicking:`將另一個聯絡人合併到 {survivor}`,descriptionPicked:`合併聯絡人的頻道和備註將會移轉。該合併聯絡人將會被刪除。`,descriptionPicking:`您選擇的聯絡人將會被刪除。其頻道和備註將會新增到此聯絡人。`,confirm:`合併`,searchPlaceholder:`搜尋聯絡人`,listAriaLabel:`選擇要合併的聯絡人`,empty:`沒有其他聯絡人可供合併。`,donorDeleted:`<donor>「{donor}」</donor> 將會被刪除。`,channelsMoved:`{count, plural, =0 {沒有新的頻道會移轉到 {survivor}。} one {# 個頻道將會移轉到 {survivor}:{channels}。} other {# 個頻道將會移轉到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 個重複頻道已存在於 {survivor} (已跳過)。} other {有 # 個重複頻道已存在於 {survivor} (已跳過)。}}`,notesAppended:`合併聯絡人的備註將會附加。`,irreversible:`此操作無法復原。`},g={you:`您`,youNamed:`{name} (您)`,thisContact:`此聯絡人`},_={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,assistantChannelsDetail:c,assistantContactChannels:l,accountLink:u,connectPage:d,channelStatus:f,contactChannelsSection:p,linkAccountDialog:m,contactMergeDialog:h,survivorName:g};export{u as accountLink,e as actions,c as assistantChannelsDetail,l as assistantContactChannels,f as channelStatus,t as channelType,d as connectPage,n as contact,p as contactChannelsSection,a as contactDetailView,h as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,_ as default,s as guardianDetailView,m as linkAccountDialog,g as survivorName};
@@ -1 +0,0 @@
1
- import{Ix as e,Jd as t,Lx as n,Yd as r,__ as i,qd as a,zx as o}from"./app-CuJb51Ub.js";async function s(t,i){let{data:a,error:s,response:c}=await r({path:{assistant_id:t},body:i,throwOnError:!1});if(n(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new e(c.status,o(s,c,`Failed to save contact`));return a.contact}async function c(r,i){let{error:a,response:s}=await t({path:{assistant_id:r,contact_id:i},throwOnError:!1});if(n(s,a,`Failed to delete contact`),!s.ok&&s.status!==204)throw new e(s.status,o(a,s,`Failed to delete contact`))}async function l(t,r){let{error:i,response:s}=await a({path:{assistant_id:t,channel_id:r},throwOnError:!1});if(n(s,i,`Failed to verify channel`),!s.ok)throw new e(s.status,o(i,s,`Failed to verify channel`))}async function u(t,n,r){let i=(await s(t,{id:n.id,displayName:n.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new e(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new e(409,`That account is blocked for this contact. Unblock it before linking.`);await l(t,i.id)}async function d(t,r){let{data:a,error:s,response:c}=await i.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:t},body:{sender_assistant_id:r.senderAssistantId,token:r.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(n(c,s,`Failed to redeem A2A invite`),!c.ok)throw new e(c.status,o(s,c,`Failed to redeem A2A invite`));return{success:a?.success??!0,alreadyConnected:a?.already_connected,error:a?.error,errorCode:a?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Dp as n,Gi as r,H as i,HS as a,Hd as o,Im as s,JS as c,LS as l,M_ as u,Op as d,RS as f,Sf as p,TS as m,Ui as h,Vi as g,Wi as _,Zc as v,_S as y,_s as b,bf as x,gS as S,hS as C,if as ee,jS as w,nt as te,pS as T,sx as ne,w as E,xf as re}from"./app-CuJb51Ub.js";import{I as D,N as ie,Qn as O,Yn as k,j as A,tr as ae}from"./vendor-CYmPHUS2.js";import{_ as oe,f as se,n as j,r as ce,t as le,x as M}from"./react-B9IgSVeK.js";import{Bi as N,Dn as ue,Kt as P,Lt as de,Ra as F,Vn as fe,Ya as I,Zt as L,_a as pe,_t as R,br as me,tr as he,vt as z,x as B,za as V}from"./icons-C0wyat6T.js";import{t as H}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as U}from"./detail-card-RBkdhZeE.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-T8KJvH7p.js";import{c as W,i as ye,n as be,r as G,t as xe}from"./use-invite-link-dialog-EnK2z5A8.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-d-y646Z7.js";var K=I(`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`}]]),Ee=I(`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`}]]),q=e(M(),1),De=new Set([`slack`]);function Oe(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function ke(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 Ae(e){let t=ke(e.toLowerCase());return t?D(t,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var J=le();function Ne({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=A(`contacts`),[a,o]=(0,q.useState)(null);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,J.jsxs)(`div`,{children:[i>0?(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,J.jsx)(Pe,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r&&e.canDisconnect?()=>o(e.key):void 0})]},e.key))}),(0,J.jsx)(C,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?_(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),o(null)},onCancel:()=>o(null)})]})}function Pe({channel:e,pending:n,onConnect:i,onDisconnect:a}){let{t:o}=A(`contacts`),s=e.configured,{Icon:l,label:u}=r(e.health);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(g,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_(e.key)}),s&&e.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:s?(0,J.jsxs)(J.Fragment,{children:[(0,J.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,J.jsx)(l,{className:`h-3 w-3`}),u]}),a?(0,J.jsx)(c,{variant:`danger`,onClick:a,disabled:n,children:o(n?`actions.disconnecting`:`actions.disconnect`)}):(0,J.jsx)(c,{variant:`outlined`,asChild:!0,children:(0,J.jsx)(j,{to:`${t.channels}?setup=${e.key}`,children:o(`actions.manage`)})})]}):i?(0,J.jsx)(c,{variant:`outlined`,onClick:i,disabled:n,children:o(`actions.connect`)}):null})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,J.jsx)(w,{tone:r,children:n})}function X(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Fe({assistantName:e,...t}){let{t:n}=A(`contacts`),r=b(e);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,J.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,J.jsx)(U,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,J.jsx)(Ne,{...t})})]})}var Z=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ie(e){return Z.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Q(e){return e.supportsVerification||Le(e)}function Re(e){return!!e?.address?.trim()}function ze(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Oe(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Be(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||Ie(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 Ve({channelId:e,name:t,className:n,style:r}){let i=h(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,J.jsx)(pe,{className:n,style:r});case`hash`:return(0,J.jsx)(me,{className:n,style:r});case`send`:return(0,J.jsx)(R,{className:n,style:r});case`phone`:return(0,J.jsx)(P,{className:n,style:r});case`mail`:return(0,J.jsx)(fe,{className:n,style:r});case`message-square`:return(0,J.jsx)(ue,{className:n,style:r});default:return(0,J.jsx)(K,{className:n,style:r})}}function $({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:o=`self`,onSetupChannel:s,onVerifyChannel:c,onRevokeChannel:l,onLinkAccount:u}){let{t:d}=A(`contacts`),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(null),g=new Map;for(let t of e)t.status!==`revoked`&&(g.has(t.type)||g.set(t.type,t));let _=e=>{f&&(c?.(f.info.id,e),p(null))},v=Be(t,e,r);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,J.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:d(`contactChannelsSection.loadFailed`)}),v.map((e,t)=>{let n=g.get(e.id);return(0,J.jsxs)(`div`,{children:[t>0&&(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,J.jsx)(He,{info:e,existing:n,setupLabel:i??d(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:s?()=>s(e.id):void 0,onVerify:c&&Q(e)?()=>p({info:e,existing:n}):void 0,onRevoke:l&&n?()=>h({channelId:n.id,channel:e}):void 0,onLinkAccount:u&&De.has(e.id)?()=>u(e.id):void 0})]},e.id)})]}),f?(0,J.jsx)(Ue,{info:f.info,existing:f.existing,verifySubject:o,onConfirm:_,onCancel:()=>p(null)}):null,m&&(0,J.jsx)(C,{open:!0,title:d(`contactChannelsSection.revokeConfirmTitle`,{channel:m.channel.label}),message:d(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:d(`actions.revoke`),destructive:!0,onConfirm:()=>{l?.(m.channelId,m.channel.id),h(null)},onCancel:()=>h(null)})]})}function He({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:o,onLinkAccount:s}){let{t:l}=A(`contacts`),u=ze(e,t);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(Ve,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,J.jsxs)(J.Fragment,{children:[(0,J.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,J.jsx)(N,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),o?(0,J.jsx)(c,{variant:`danger`,onClick:o,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,J.jsxs)(J.Fragment,{children:[(0,J.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,J.jsx)(N,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),o?(0,J.jsx)(c,{variant:`danger`,onClick:o,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,J.jsx)(c,{variant:`outlined`,onClick:a,disabled:!a||r,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,J.jsxs)(J.Fragment,{children:[s?(0,J.jsxs)(c,{onClick:s,children:[(0,J.jsx)(he,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,J.jsx)(c,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function Ue({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=A(`contacts`),[o,s]=(0,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=o.trim();return Re(t)?(0,J.jsx)(C,{open:!0,title:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:a(n===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:a(`actions.verify`),onConfirm:()=>{r()},onCancel:i}):(0,J.jsx)(y.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,J.jsx)(y.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,J.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,J.jsx)(y.Header,{children:(0,J.jsx)(y.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(y.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,J.jsx)(m,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:o,onChange:e=>{s(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,J.jsxs)(y.Footer,{children:[(0,J.jsx)(c,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,J.jsx)(c,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function We(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ge(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 Ke(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 qe(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Je({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=A(`contacts`),a=We(e.autoApproveThreshold)?e.autoApproveThreshold:null,o=a===null?null:i.find(e=>e.riskThreshold===a);return(0,J.jsx)(U,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,J.jsx)(`div`,{style:{maxWidth:280},children:(0,J.jsx)(T,{value:o?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=i.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...i.map(e=>{let t=e.icon;return{value:e.id,label:Ge(r,e.riskThreshold),icon:(0,J.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,J.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Ke(r,a)})]})})}function Ye(e){return(0,J.jsx)(Xe,{...e},e.contact.id)}function Xe({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_,pendingAutoApproveThreshold:v,onAutoApproveThresholdChange:y}){let{t:b}=A(`contacts`),x=Me(e.displayName),[S,ee]=(0,q.useState)(x?``:e.displayName),[w,te]=(0,q.useState)(e.notes??``),[T,ne]=(0,q.useState)(!1),E=S.trim(),re=w.trim(),D=x?``:e.displayName,ie=e.notes??``,O=E!==D||re!==ie,k=E.length>0&&O&&!t&&!n,ae=x&&e.channels.length===0&&e.interactionCount===0,oe=E||(x?b(`contact.draftName`):e.displayName),se=b(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:oe,accessory:(0,J.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:se,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(m,{label:b(`contact.nameLabel`),type:`text`,value:S,onChange:e=>ee(e.target.value),placeholder:b(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:t||n,fullWidth:!0}),(0,J.jsx)(m,{label:b(`contact.notesLabel`),type:`text`,value:w,onChange:e=>te(e.target.value),placeholder:b(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(c,{type:`button`,onClick:()=>u({displayName:E,notes:re}),disabled:!k,children:b(t?`actions.saving`:`actions.save`)}),f?(0,J.jsx)(c,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||ae||O||i||t||n,title:a?ae?b(`contactDetailView.mergeBlockedUnsavedDraft`):O?b(`contact.mergeBlockedUnsaved`):void 0:b(`contact.mergeBlockedNoCandidates`),children:b(i?`actions.merging`:`actions.merge`)}):null,(0,J.jsx)(c,{type:`button`,variant:`danger`,onClick:()=>{ae?d():ne(!0)},disabled:n,children:b(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,J.jsx)(U,{title:b(`contactDetailView.linkedAccountsTitle`),subtitle:b(`contactDetailView.linkedAccountsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_})}),qe(e)&&y?(0,J.jsx)(Je,{contact:e,pending:v,onAutoApproveThresholdChange:y}):null,(0,J.jsx)(C,{open:T,title:b(`contactDetailView.deleteConfirmTitle`,{name:oe}),message:b(`contactDetailView.deleteConfirmMessage`),confirmLabel:b(`actions.delete`),destructive:!0,onConfirm:()=>{ne(!1),d()},onCancel:()=>ne(!1)})]})}function Ze(e){return(0,J.jsx)(Qe,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Qe({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:o}){let{t:s}=A(`contacts`),[l,u]=(0,q.useState)(``),[d,p]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&p(null)},[n,d]);let m=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),h=d?n.find(e=>e.id===d)??null:null,g=rt(t);return(0,J.jsx)(y.Root,{open:e,onOpenChange:e=>{!e&&!r&&o()},children:(0,J.jsxs)(y.Content,{size:`md`,children:[(0,J.jsxs)(y.Header,{icon:Ee,children:[(0,J.jsx)(y.Title,{children:h?s(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:g}):s(`contactMergeDialog.titlePicking`,{survivor:g})}),(0,J.jsx)(y.Description,{children:s(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[h?(0,J.jsx)(tt,{survivor:t,donor:h}):n.length===0?(0,J.jsx)(nt,{}):(0,J.jsx)($e,{search:l,onSearch:u,candidates:m,onPick:p}),i?(0,J.jsx)(f,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,J.jsx)(y.Footer,{children:h?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(c,{variant:`outlined`,onClick:()=>p(null),disabled:r,leftIcon:(0,J.jsx)(V,{"aria-hidden":!0}),children:s(`actions.back`)}),(0,J.jsx)(c,{variant:`danger`,onClick:()=>a(h.id),disabled:r,children:s(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,J.jsx)(c,{variant:`outlined`,onClick:o,disabled:r,children:s(`actions.cancel`)})})]})})}function $e({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=A(`contacts`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(m,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,J.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,J.jsx)(f,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,J.jsx)(et,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function et({contact:e,onPick:t}){let n=at(e).join(` | `)||void 0;return(0,J.jsx)(a,{asChild:!0,children:(0,J.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,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,J.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function tt({survivor:e,donor:t}){let{t:n}=A(`contacts`),r=rt(e),{moved:i,duplicates:a}=it(e,t);return(0,J.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,J.jsx)(`li`,{children:(0,J.jsx)(ie,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,J.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,J.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Ae(e.type)).join(`, `)})}),a.length>0?(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,J.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function nt(){let{t:e}=A(`contacts`);return(0,J.jsx)(f,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function rt(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?D(`survivorName.you`,{ns:`contacts`}):D(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||D(`survivorName.thisContact`,{ns:`contacts`})}function it(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 at(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(Ae(e)))}return n}function ot({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:o,addingContact:s=!1,search:u,onSearchChange:d}){let{t:f}=A(`contacts`),p=u.trim()?r.filter(e=>e.displayName.toLowerCase().includes(u.trim().toLowerCase())):r;return(0,J.jsx)(l.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,J.jsxs)(l.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:f(`contactsList.heading`)}),(0,J.jsx)(c,{type:`button`,variant:`ghost`,loading:s,iconOnly:(0,J.jsx)(de,{"aria-hidden":!0}),onClick:o,disabled:s,"aria-label":f(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,J.jsx)(st,{name:t.displayName?f(`contactsList.youNamed`,{name:t.displayName}):f(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,J.jsx)(st,{name:n?.trim()||f(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,J.jsx)(m,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:f(`contactsList.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[p.map(e=>(0,J.jsx)(st,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i?.kind===`contact`&&i.contactId===e.id,onClick:()=>a({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),p.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:f(`contactsList.noMatches`)}):null]}):e?null:(0,J.jsx)(c,{type:`button`,variant:`ghost`,onClick:o,disabled:s,tintColor:`var(--primary-base)`,loading:s,leftIcon:(0,J.jsx)(B,{"aria-hidden":!0}),children:f(`contactsList.add`)})]})})}function st({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:o,trailingIcon:s,verified:c}){let{t:l}=A(`contacts`),u=r&&r.length>0?r.join(` | `):void 0,d=s===`pencil`?(0,J.jsx)(L,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,J.jsx)(H,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,J.jsx)(a,{asChild:!0,active:i,children:(0,J.jsxs)(`button`,{type:`button`,onClick:o,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),u?(0,J.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u}):null]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[c===void 0?null:(0,J.jsx)(w,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,J.jsx)(Y,{role:t,contactType:n}),d]})]})})}function ct(e){return(0,J.jsx)(lt,{...e},e.contact.id)}function lt({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:h}){let{t:g}=A(`contacts`),_=e.displayName.startsWith(`vellum-principal-`),v=_?``:e.displayName,[y,b]=(0,q.useState)(v),[x,S]=(0,q.useState)(e.notes??``),C=y.trim(),ee=x.trim(),w=C!==v.trim()||ee!==(e.notes??``).trim(),te=w&&!t,T=g(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,J.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(m,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsx)(m,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(c,{variant:`primary`,onClick:()=>l({displayName:C||e.displayName,notes:ee}),disabled:!te,children:g(t?`actions.saving`:`actions.save`)}),u?(0,J.jsx)(c,{variant:`outlined`,onClick:u,disabled:!i||w||r||t,title:i?w?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,J.jsx)(U,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),h?(0,J.jsx)(G,{onClick:h}):null]})}function ut(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 dt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ft({open:e,channelLabel:t,contactName:n,accounts:r,loading:i,errorMessage:a,pendingAccountId:o,onPick:s,onClose:l,onInviteInstead:u}){let{t:d}=A(`contacts`),[f,p]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&p(``)},[e]);let h=(0,q.useMemo)(()=>ut(r??[],f),[r,f]),g=o!=null;return(0,J.jsx)(y.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,J.jsxs)(y.Content,{size:`sm`,children:[(0,J.jsxs)(y.Header,{children:[(0,J.jsx)(y.Title,{children:d(`linkAccountDialog.title`,{channel:t})}),(0,J.jsx)(y.Description,{children:(0,J.jsx)(ie,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,J.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(m,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:d(`linkAccountDialog.searchPlaceholder`),"aria-label":d(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,J.jsx)(z,{className:`h-4 w-4`}),fullWidth:!0}),a?(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:a}):null,(0,J.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:i?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):h.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(r?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,J.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>s(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,J.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,J.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:dt(e.displayName)}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,J.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),o===e.id?(0,J.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,J.jsxs)(y.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,J.jsx)(ie,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,J.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,J.jsxs)(c,{variant:`link`,className:`shrink-0`,onClick:u,disabled:g,children:[d(`linkAccountDialog.inviteInstead`),(0,J.jsx)(F,{className:`h-3.5 w-3.5`})]}):null]})]})})}function pt({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,q.useState)(!1),o=k({mutationFn:n=>we(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),S.success(D(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,q.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,q.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),l=(0,q.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?D(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:l}}var mt=[{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?`}}],ht=[];function gt({assistantId:e,onStartSetupConversation:r}){let{t:i}=A(`contacts`),a=o.use.a2aChannel(),c=ne.use.name(),l=ae(),[f]=oe(),m=f.get(`setup`),h=m&&s(m)?m:null,[g,_]=(0,q.useState)({kind:`assistant`}),v=xe(e),{paneRef:y,hasRoomForList:C,drawerOpen:w,openDrawer:te,closeDrawer:T}=ve(),[D,ie]=(0,q.useState)(``),[se,j]=(0,q.useState)(!1),le=b(c),M=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),N=re(M),ue=O({...x(M),enabled:!!e,select:e=>e.contacts}),P=be({assistantId:e,onStartSetupConversation:r}),de=O({...ee({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await u({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:mt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),F=de.data??ht,fe=de.isError,I=ue.data,L=(0,q.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),pe=(0,q.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=(0,q.useMemo)(()=>g.kind===`contact`?I?.find(e=>e.id===g.contactId)??null:null,[I,g]),me=(0,q.useMemo)(()=>!I||!R?[]:I.filter(e=>e.id!==R.id&&e.role!==`guardian`),[I,R]),he=me.length>0,z=(0,q.useRef)(!!h);(0,q.useEffect)(()=>{z.current||L&&(z.current=!0,_({kind:`contact`,contactId:L.id}))},[L]);let B=(0,q.useCallback)(()=>l.invalidateQueries({queryKey:N}),[l,N]),V=k({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:e=>{p(l,M,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),_({kind:`contact`,contactId:e.id})},onError:W(i(`contactsPage.createFailed`)),onSettled:()=>B()}),H=k({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{p(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),_({kind:`assistant`})},onError:W(i(`contactsPage.deleteFailed`)),onSettled:()=>B()}),U=k({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{p(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactsPage.saveFailed`)),onSettled:()=>B()}),G=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{p(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactPermissions.saveFailed`)),onSettled:()=>B()}),K=d({onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(p(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),_({kind:`contact`,contactId:n.id})),j(!1),S.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ee=(0,q.useCallback)(e=>{_(e),T(),j(!1),K.reset()},[T,K]),De=(0,q.useCallback)(()=>{K.reset(),j(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(j(!1),K.reset())},[K]),ke=n({onSuccess:()=>B()}),Me=(0,q.useCallback)((t,n)=>{ke.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[ke,e]),Ne=(0,q.useCallback)(()=>{V.isPending||V.mutate()},[V]),Pe=(0,q.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||Le(t))return;let n=t.setupMessages.contact;n&&r(n)},[F,r]),Y=(0,q.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||Le(t))return;let n=t.setupMessages.guardian;n&&r(n)},[F,r]),X=k({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Z=k({mutationFn:t=>{if(!R)throw Error(`No contact selected`);return we(e,{id:R.id,displayName:R.displayName},{type:t.type,address:t.address})},onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!R)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=R.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[R,Z,X]),Q=pt({assistantId:e,channelType:`slack`,contact:R?{id:R.id,displayName:R.displayName}:null,onLinked:B}),Re=O({...E(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=P.channels.some(e=>e.key===`slack`&&e.configured),Be=(0,q.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Ve=H.isPending?H.variables:null,$=(0,q.useMemo)(()=>{if(!R)return null;let e=R;return U.isPending&&U.variables?.contactId===R.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),G.isPending&&G.variables?.contactId===R.id&&(e={...e,autoApproveThreshold:G.variables.autoApproveThreshold}),e},[R,U.isPending,U.variables,G.isPending,G.variables]);if(h)return(0,J.jsx)(ce,{to:`${t.channels}?setup=${h}`,replace:!0});let He={loading:ue.isLoading,assistantName:le,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:yt(L.channels,a)}:null,regularContacts:pe.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:yt(e.channels,a),verified:vt(e.channels)})),selection:g,onAddContact:Ne,addingContact:V.isPending,search:D,onSearchChange:ie};return(0,J.jsxs)(`div`,{ref:y,className:`flex min-h-0 flex-1 overflow-hidden ${C?`flex-row gap-6`:`flex-col gap-4`}`,children:[C?(0,J.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,J.jsx)(ot,{...He,onSelect:Ee})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(_e,{onClick:te})}),(0,J.jsx)(ge,{open:w,onClose:T,title:i(`contactsPage.title`),children:(0,J.jsx)(ot,{...He,onSelect:Ee})})]}),(0,J.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:g.kind===`assistant`||g.kind===`contact`&&g.contactId===Ve?(0,J.jsx)(Fe,{assistantName:le,channels:P.channels,pendingChannelKey:P.pendingChannelKey,onConnect:P.onSetup,onDisconnect:P.onDisconnect}):$?$.role===`guardian`?(0,J.jsx)(ct,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:r?Y:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onGenerateInviteLink:a?v.open:void 0}):(0,J.jsx)(Ye,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:r?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:G.isPending,onAutoApproveThresholdChange:e=>{G.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,J.jsx)(_t,{})}),R?(0,J.jsx)(Ze,{open:se,survivor:R,candidates:me,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:R.id,mergeId:t}}),onClose:Oe}):null,(0,J.jsx)(ft,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:R?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:r?()=>{Q.close(),Pe(Q.channelType)}:void 0}),(0,J.jsx)(ye,{open:v.isOpen,assistantId:e,onClose:v.close})]})}function _t(){let{t:e}=A(`contacts`);return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function vt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Oe(e)))}function yt(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(Ae(e)))}return r}function bt(){let e=se(),t=te();return(0,J.jsx)(gt,{assistantId:t,onStartSetupConversation:t=>{v(e,{prompt:t})}},t)}export{bt as ContactsPageRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bv as t,H_ as n,Hd as r,Hv as i,Ix as a,JS as o,LS as s,Mx as c,Px as l,TS as u,Tx as d,U_ as f,YS as p,_S as m,et as h,gS as g,hS as _,i as v,jS as ee,kp as te,nt as y,sh as ne,sx as b,tt as re,yS as ie}from"./app-CuJb51Ub.js";import{Qn as ae,j as x,tr as S}from"./vendor-CYmPHUS2.js";import{t as C,x as w}from"./react-B9IgSVeK.js";import{A as T,Ji as E,Lt as D,Xr as O,Yn as k,Yr as A,dr as j,li as M,tr as N,vt as oe}from"./icons-C0wyat6T.js";import{t as P}from"./detail-card-RBkdhZeE.js";import{t as F}from"./use-supports-credentials-settings-bnerf0ml.js";var I=e(w(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof a)||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 ce(e){return new Intl.ListFormat(d(),{style:`long`,type:`conjunction`}).format(e)}var R=C(),z=1500;function B(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function le({credential:e,assistantId:t,generatingLink:n,deleting:r,onGenerateLink:i,onDelete:a}){let{t:c}=x(`settings`),l=`${e.service}:${e.field}`,u=n||r,d=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:B(e.createdAt)}):null].filter(e=>!!e);return(0,R.jsx)(s.Root,{children:(0,R.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,R.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,R.jsx)(V,{assistantId:t,credential:e})}),d.length>0&&(0,R.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(p,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,R.jsx)(o,{variant:`outlined`,onClick:i,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),loading:n,iconOnly:(0,R.jsx)(N,{"aria-hidden":!0})})}),(0,R.jsx)(p,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,R.jsx)(o,{variant:`dangerOutline`,onClick:a,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),loading:r,iconOnly:(0,R.jsx)(T,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:n}=x(`settings`),[r,a]=(0,I.useState)(null),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(null),d=(0,I.useRef)(0),p=`${t.service}:${t.field}`,m=(0,I.useCallback)(()=>{d.current++,a(null),s(!1),l(!1),u.current&&=(clearTimeout(u.current),null)},[]);(0,I.useEffect)(()=>{m()},[t.updatedAt,m]);let h=(0,I.useCallback)(async()=>{let r=++d.current;s(!0);try{let{data:n}=await f({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});d.current===r&&a(n.value)}catch{d.current===r&&g.error(n(`credentialRow.revealFailedToast`,{name:p}))}finally{d.current===r&&s(!1)}},[e,t.service,t.field,p,n]),_=(0,I.useCallback)(()=>{r!=null&&i(r,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{l(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),z)}})},[r,n]),v=r!==null;return t.hasSecret?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>v?m():void h(),disabled:o,"aria-label":n(v?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:p}),title:n(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?r:t.scrubbedValue}),o?(0,R.jsx)(k,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):v?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:_,"aria-label":n(`credentialRow.copyValueAriaLabel`,{name:p}),title:n(`credentialRow.copyValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:c?(0,R.jsx)(E,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,R.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,onClick:m,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:p}),title:n(`credentialRow.hideValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,R.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void h(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:p}),title:n(`credentialRow.clickToRevealTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,R.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function H(e){return e>0xe8d4a51000?e:e*1e3}async function U(e,n){let{data:r,response:i}=await t.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:n});if(!i?.ok)throw Error(`Failed to create credential request: ${i?.status}`);return r}var W=6;function G(){let e=y(),t=F(e),n=b.use.assistantId();return b.use.version()!==null&&n===e&&!t?(0,R.jsx)(v,{}):t?(0,R.jsx)(K,{}):null}function K(){let{t:e}=x(`settings`),t=y(),a=S(),d=ne(),f=re(t),p=ae({queryKey:f,queryFn:async()=>{let{data:e}=await n({path:{assistant_id:t},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:d,retry:l}),v=(0,I.useMemo)(()=>p.data?.credentials??[],[p.data]),b=r.use.settingsDeveloperNav(),C=(0,I.useMemo)(()=>b?p.data?.managedCredentials??[]:[],[b,p.data]),[w,T]=(0,I.useState)(!1),[E,O]=(0,I.useState)(`own`),[A,F]=(0,I.useState)(``),[L,z]=(0,I.useState)(null),[B,V]=(0,I.useState)(null),[G,K]=(0,I.useState)(null),[ue,q]=(0,I.useState)(null),J=te({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:f}),g.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=se(t),i=v.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){V({credential:i,connections:r});return}c(t,{context:`credentials-delete`}),g.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=A.trim().toLowerCase();return e?v.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):v},[v,A]);(0,I.useEffect)(()=>{v.length<=W&&F(``)},[v.length]),(0,I.useEffect)(()=>{v.length===0&&C.length>0&&O(`managed`)},[v.length,C.length]);let X=(e,n)=>{J.mutate({path:{assistant_id:t},body:{service:e.service,field:e.field,...n?{force:!0}:{}}})},fe=()=>{let e=L;z(null),e&&X(e,!1)},pe=()=>{let e=B;V(null),e&&X(e.credential,!0)},me=async n=>{let r=`${n.service}:${n.field}`;q(r);try{let i=await U(t,{service:n.service,field:n.field,label:n.alias??void 0});i.ok&&i.url?K({name:r,url:i.url,expiresAt:i.expiresAt??null}):g.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){g.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&i(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(p.isLoading)return(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,R.jsx)(k,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=v.length>0,Q=C.length>0,ge=v.length>W,$=E===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(P,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,R.jsx)(ie,{items:ve,value:E,onChange:O,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,R.jsx)(o,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>T(!0),leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,R.jsx)(`div`,{className:`space-y-2`,children:C.map(t=>(0,R.jsx)(s.Root,{children:(0,R.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,R.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,R.jsx)(ee,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,R.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,R.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,R.jsx)(u,{type:`text`,value:A,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,R.jsx)(oe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,R.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:A.trim()})}):(0,R.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let n=`${e.service}:${e.field}`;return(0,R.jsx)(le,{credential:e,assistantId:t,generatingLink:ue===n,deleting:de===n,onGenerateLink:()=>void me(e),onDelete:()=>z(e)},e.credentialId??n)})})]}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,R.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,R.jsx)(j,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,R.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,R.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,R.jsx)(o,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>T(!0),className:`w-full border-dashed`,leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,R.jsx)(_,{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:()=>z(null)}),(0,R.jsx)(_,{open:B!==null,title:e(`credentialsPage.inUseTitle`),message:B?e(`credentialsPage.inUseMessage`,{count:B.connections.length,name:`${B.credential.service}:${B.credential.field}`,connections:ce(B.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>V(null)}),(0,R.jsx)(h,{open:w,onClose:()=>T(!1)}),(0,R.jsx)(m.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,R.jsxs)(m.Content,{size:`sm`,children:[(0,R.jsxs)(m.Header,{icon:N,children:[(0,R.jsx)(m.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,R.jsx)(m.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(H(G.expiresAt)).toLocaleString()})}):``})]}),(0,R.jsx)(m.Body,{children:(0,R.jsx)(u,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,R.jsx)(m.Footer,{children:(0,R.jsx)(o,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,R.jsx)(M,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t}from"./app-CuJb51Ub.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};