@vellumai/web 0.11.11-staging.2 → 0.11.11-staging.3

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 (167) hide show
  1. package/dist/assets/{a2a-invite-_wGU6HWn.js → a2a-invite-CUNzCxDn.js} +1 -1
  2. package/dist/assets/{about-page-DUO0LASY.js → about-page-DChr4DoO.js} +1 -1
  3. package/dist/assets/{account-page-D42H7PzM.js → account-page--PtV55hW.js} +1 -1
  4. package/dist/assets/{account-shell-8ayvWwg5.js → account-shell-DL2I2a0A.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-B0Su6BSV.js → acp-run-detail-panel-Bfo0oLZs.js} +1 -1
  6. package/dist/assets/{activity-redirect-page-CwB5jmpQ.js → activity-redirect-page-D8YFSsi7.js} +1 -1
  7. package/dist/assets/{activity-steps-panel-GCIpCAXt.js → activity-steps-panel-o7eK2pcQ.js} +1 -1
  8. package/dist/assets/{add-credits-modal-CcQltjVO.js → add-credits-modal-tmjb-luj.js} +1 -1
  9. package/dist/assets/{ai-page-DOuG64bJ.js → ai-page-DM7K0sig.js} +1 -1
  10. package/dist/assets/{android-billing-handoff-DX4FW2PE.js → android-billing-handoff-C5kDAuNU.js} +1 -1
  11. package/dist/assets/{api-key-screen-BsqXUt8S.js → api-key-screen-C55idtOL.js} +1 -1
  12. package/dist/assets/{app-info-CFw-pJBd.js → app-info-CmQ9SBL3.js} +1 -1
  13. package/dist/assets/archive-redirect-page-BbbBRr-8.js +1 -0
  14. package/dist/assets/{assistant-status-panel-Gu7yZfSV.js → assistant-status-panel-DqEVDeyv.js} +1 -1
  15. package/dist/assets/{auth-welcome-screen-CoRWc9Wn.js → auth-welcome-screen-DIGw_5TW.js} +1 -1
  16. package/dist/assets/{avatar-random-nmxBpjvk.js → avatar-random-L8U6w6A7.js} +2 -2
  17. package/dist/assets/{await-org-header-settled-BuslhVn1.js → await-org-header-settled-B-GRZO69.js} +1 -1
  18. package/dist/assets/{background-task-detail-panel-BRJH3dlZ.js → background-task-detail-panel-BQSYSEYZ.js} +1 -1
  19. package/dist/assets/{billing-page-eEkbbsbp.js → billing-page-C4E-O22w.js} +3 -3
  20. package/dist/assets/{billing-redirect-page-CvzCPneC.js → billing-redirect-page-B4n0ydFI.js} +1 -1
  21. package/dist/assets/{bookmarks-page-BHTRMGuj.js → bookmarks-page-JD_7Ujvq.js} +1 -1
  22. package/dist/assets/{bundle-confirm-page-YP0P2TXv.js → bundle-confirm-page-dCX5Rxqe.js} +1 -1
  23. package/dist/assets/{channel-transcript-panel-08PR-PLD.js → channel-transcript-panel-_oS1OsBa.js} +1 -1
  24. package/dist/assets/{channels-page-route-B_xVOdyO.js → channels-page-route-CpACMiA6.js} +1 -1
  25. package/dist/assets/{chat-B_LNeTTq.js → chat-6vHvvapb.js} +1 -1
  26. package/dist/assets/{chat-D6ymn2HV.js → chat-DmGK2trY.js} +1 -1
  27. package/dist/assets/{chat-BZAgyepa.js → chat-IiIrxR99.js} +1 -1
  28. package/dist/assets/{chat-info-panel-BTcARkxm.js → chat-info-panel-CLhNPvyH.js} +1 -1
  29. package/dist/assets/{checkout-continuation-tAX1_m3V.js → checkout-continuation-B7WywfEN.js} +1 -1
  30. package/dist/assets/{checkout-page-D8SAsMWh.js → checkout-page-CehzJXiW.js} +1 -1
  31. package/dist/assets/checkout-return-target-BgSWb1-n.js +1 -0
  32. package/dist/assets/{command-palette-BCJ09PN8.js → command-palette-CIaukQD3.js} +1 -1
  33. package/dist/assets/{command-palette-window-page-ChxjtkGN.js → command-palette-window-page-C3F8GvWM.js} +1 -1
  34. package/dist/assets/{community-page-CODQYbbU.js → community-page-Cg07luF9.js} +1 -1
  35. package/dist/assets/{companion-accent-tJqpwbpU.js → companion-accent-CtZJiWC7.js} +1 -1
  36. package/dist/assets/{companion-layout-B10TRaer.js → companion-layout-DwG7CQsH.js} +1 -1
  37. package/dist/assets/{companion-surface-page-CE94Tl96.js → companion-surface-page-DWUzXGWD.js} +1 -1
  38. package/dist/assets/{companion-watch-frame-page-iLlHdxzO.js → companion-watch-frame-page-DsmPstDb.js} +1 -1
  39. package/dist/assets/{connect-page-45_SQ9Hv.js → connect-page-BNUB2Etw.js} +1 -1
  40. package/dist/assets/{consent-controls-BsInitSK.js → consent-controls-CVrLQQxx.js} +1 -1
  41. package/dist/assets/{contacts-gateway-7sXdqgaZ.js → contacts-gateway-DHt_XdL7.js} +1 -1
  42. package/dist/assets/{contacts-page-route-Cw5iPa7X.js → contacts-page-route-DbUE6wbB.js} +1 -1
  43. package/dist/assets/{credential-entry-page-DFmx4GmU.js → credential-entry-page-BzhjS8gl.js} +1 -1
  44. package/dist/assets/{credentials-page-yqSKY71j.js → credentials-page-BGAIRxkR.js} +1 -1
  45. package/dist/assets/{csv-preview-CJJ7UWi0.js → csv-preview-CGsZvXdP.js} +1 -1
  46. package/dist/assets/danger-zone-redirect-page-CDMs2skI.js +1 -0
  47. package/dist/assets/{debug-page-BGfvW4U3.js → debug-page-Cq_uRaQL.js} +1 -1
  48. package/dist/assets/{deploy-dialogs-BPespFRy.js → deploy-dialogs-HdWHg1jb.js} +1 -1
  49. package/dist/assets/{detail-card-DuMOMNDt.js → detail-card-DZu1s8A7.js} +1 -1
  50. package/dist/assets/{detail-panel-stop-button-b7hxWMlm.js → detail-panel-stop-button-CzM91Jft.js} +1 -1
  51. package/dist/assets/{detail-primitives-Brk11nJ4.js → detail-primitives-Cmu9hUoC.js} +1 -1
  52. package/dist/assets/{developer-page-DUzrkexY.js → developer-page-B5iozQyr.js} +1 -1
  53. package/dist/assets/devices-redirect-page-CG-ryb6r.js +1 -0
  54. package/dist/assets/{dictation-overlay-page-BpQMn4ur.js → dictation-overlay-page-aVZXov1n.js} +1 -1
  55. package/dist/assets/{document-viewer-page-CRi_6mfy.js → document-viewer-page-CjnwCvv1.js} +1 -1
  56. package/dist/assets/{emails-page-C74h6Q18.js → emails-page-SKTGsRK8.js} +1 -1
  57. package/dist/assets/{environment-store-B4U2yUid.js → environment-store-BE4jqpfM.js} +1 -1
  58. package/dist/assets/{file-diff-view-CiCu8bMj.js → file-diff-view-DV-hoXap.js} +1 -1
  59. package/dist/assets/{file-editor-BD8PNNu7.js → file-editor-DQ9auGAp.js} +1 -1
  60. package/dist/assets/{general-page-RrOGJarz.js → general-page-C-hSIVr3.js} +1 -1
  61. package/dist/assets/{hatching-screen-DVkz4QAA.js → hatching-screen-BT2vz0zg.js} +1 -1
  62. package/dist/assets/{hosting-screen-DBzLZkSJ.js → hosting-screen-Bo2mlJXV.js} +1 -1
  63. package/dist/assets/{identity-page-route-DHRyQDCH.js → identity-page-route-D6SB-r9W.js} +1 -1
  64. package/dist/assets/{index-jpjzZb6b.js → index-HYLyITE5.js} +11 -11
  65. package/dist/assets/{inspect-page-BWNt4rrQ.js → inspect-page-DEtNW2Hb.js} +3 -3
  66. package/dist/assets/{integrations-page-DzvW1_85.js → integrations-page-7udYCHxz.js} +1 -1
  67. package/dist/assets/{intelligence-layout-DJKG-nX6.js → intelligence-layout-DIcZxZ7v.js} +1 -1
  68. package/dist/assets/keyboard-shortcuts-redirect-page-CzE9YFPq.js +1 -0
  69. package/dist/assets/{latest-assistant-text-D48YOxGw.js → latest-assistant-text-qHlOjUpz.js} +1 -1
  70. package/dist/assets/{library-detail-page-ILf2Qy9p.js → library-detail-page-CbqiWVBe.js} +1 -1
  71. package/dist/assets/{library-page-Dz-I6fon.js → library-page-CDEerwC-.js} +1 -1
  72. package/dist/assets/{login-page-DHvA24qu.js → login-page-CVRnmVOE.js} +1 -1
  73. package/dist/assets/{logout-page-VSAEudIL.js → logout-page-b1FT8Cnv.js} +1 -1
  74. package/dist/assets/{logs-layout-CfXGPNn_.js → logs-layout-DAPZZ-h_.js} +1 -1
  75. package/dist/assets/{markdown-preview-DXQeH-xe.js → markdown-preview-DwXVUpgg.js} +1 -1
  76. package/dist/assets/{media-preview-CeEbSIWW.js → media-preview-5Nv77If-.js} +1 -1
  77. package/dist/assets/{memory-page-route-PKbCFo_e.js → memory-page-route-DfFlKB7O.js} +1 -1
  78. package/dist/assets/{memory-router-playground-page-D-WxucPv.js → memory-router-playground-page-Me8B80U9.js} +1 -1
  79. package/dist/assets/{message-files-panel-ClB4OHKu.js → message-files-panel-CX5rppiv.js} +1 -1
  80. package/dist/assets/{metric-card-B4Gz0bhc.js → metric-card-C01NJBNP.js} +1 -1
  81. package/dist/assets/{notifications-page-hpLH5EtM.js → notifications-page-CBNS9tnk.js} +1 -1
  82. package/dist/assets/{oauth-complete-page-BtjuGpWP.js → oauth-complete-page-DWsf1nSx.js} +1 -1
  83. package/dist/assets/{oauth-popup-complete-page-mp-6HzBF.js → oauth-popup-complete-page-B8lBXCep.js} +1 -1
  84. package/dist/assets/{page-shell-CHCSTsj9.js → page-shell-b_Q9o9Ar.js} +1 -1
  85. package/dist/assets/{pairing-page-BvwfSoA6.js → pairing-page-CrkHmewd.js} +1 -1
  86. package/dist/assets/password-reset-page-CSLBc2tC.js +1 -0
  87. package/dist/assets/{pdf-file-preview-CsGCw8JE.js → pdf-file-preview-B2z15c1a.js} +1 -1
  88. package/dist/assets/{personality-page-4aidsu27.js → personality-page-he52gHKG.js} +1 -1
  89. package/dist/assets/{personality-page-CEMD70q6.js → personality-page-n4YH3tWX.js} +1 -1
  90. package/dist/assets/{personality-sliders-DGm9A3BW.js → personality-sliders-Bz0pXwSf.js} +1 -1
  91. package/dist/assets/{plans-page-_r8MVNhb.js → plans-page-xgOzQ70P.js} +1 -1
  92. package/dist/assets/{platform-loopback-page-CwgM2jU7.js → platform-loopback-page-BYMpsAlH.js} +1 -1
  93. package/dist/assets/{plugin-detail-page-C8rxUWMn.js → plugin-detail-page-6HhtpklA.js} +1 -1
  94. package/dist/assets/{plugins-page-DNJlTg8g.js → plugins-page-Cco3AqYq.js} +1 -1
  95. package/dist/assets/{preview-error-BUjzhle1.js → preview-error-DMO01aYT.js} +1 -1
  96. package/dist/assets/{privacy-page-CupfCCzq.js → privacy-page-m03MuQFp.js} +1 -1
  97. package/dist/assets/{privacy-screen-TaBkMvOR.js → privacy-screen-D9_MV0SN.js} +1 -1
  98. package/dist/assets/{provider-callback-page-BGXQSfbn.js → provider-callback-page-B3B1CQFq.js} +1 -1
  99. package/dist/assets/{provider-key-Bq66KgUO.js → provider-key-CRKJLtVg.js} +1 -1
  100. package/dist/assets/{provider-signup-page-D_eHOfl0.js → provider-signup-page-iyRtDyGZ.js} +1 -1
  101. package/dist/assets/{quick-input-page-B5xvXL1F.js → quick-input-page-CLJEPRSO.js} +1 -1
  102. package/dist/assets/{research-mock-page-PaQ837TX.js → research-mock-page-BwRpvdeB.js} +1 -1
  103. package/dist/assets/{research-onboarding-route-CNoGqLkQ.js → research-onboarding-route-DOmrN9J7.js} +1 -1
  104. package/dist/assets/{review-terms-screen-BqpTh6zA.js → review-terms-screen-D2aZJAeY.js} +1 -1
  105. package/dist/assets/{schedules-DxeSUihA.js → schedules-8H1gzf67.js} +1 -1
  106. package/dist/assets/{schedules-page-d65A8NQF.js → schedules-page-DSJ1UELZ.js} +1 -1
  107. package/dist/assets/security-redirect-page-WOc-ygFW.js +1 -0
  108. package/dist/assets/{select-assistant-screen-CdalEz_9.js → select-assistant-screen-FpjKZp0X.js} +1 -1
  109. package/dist/assets/{self-hosted-servers-CyDwHGSp.js → self-hosted-servers-TtGbc3v0.js} +1 -1
  110. package/dist/assets/{service-form-controls-CBEEpO26.js → service-form-controls-DKvFO0aT.js} +1 -1
  111. package/dist/assets/{setting-row-BvR6-08v.js → setting-row-BaFHfYBw.js} +1 -1
  112. package/dist/assets/{settings-divider-DU3ByZQg.js → settings-divider-D9f78vKm.js} +1 -1
  113. package/dist/assets/{settings-layout-DCWgW5D0.js → settings-layout-DRFwwl1x.js} +1 -1
  114. package/dist/assets/{share-feedback-modal-DHtKDVtF.js → share-feedback-modal-DRRyRHkM.js} +1 -1
  115. package/dist/assets/{sidebar-tree-BgbzXxYi.js → sidebar-tree-ZchisGn1.js} +1 -1
  116. package/dist/assets/{signup-page-BDateKEC.js → signup-page-DA8U4Ppe.js} +1 -1
  117. package/dist/assets/{signup-shell-CotTCquh.js → signup-shell-C9VeP2_Q.js} +1 -1
  118. package/dist/assets/{skill-detail-page-nSrYNnY9.js → skill-detail-page-B20PFvqw.js} +1 -1
  119. package/dist/assets/{skill-detail-panel-BHAmYq37.js → skill-detail-panel-rO_F5Vrn.js} +1 -1
  120. package/dist/assets/{skill-removal-dialog-B_hpnrPZ.js → skill-removal-dialog-CBSx6qMN.js} +1 -1
  121. package/dist/assets/{skills-page-CY36J7Rw.js → skills-page-BfwL4NJP.js} +1 -1
  122. package/dist/assets/{sounds-page-CVl-NVDn.js → sounds-page-TIUKpZAz.js} +1 -1
  123. package/dist/assets/{start-screen-CgauyZIw.js → start-screen-CEr_7GAq.js} +1 -1
  124. package/dist/assets/{stt-language-picker-modal-N72XuoQE.js → stt-language-picker-modal-DxiS7QS2.js} +1 -1
  125. package/dist/assets/{subagent-detail-panel-DnC_SVFh.js → subagent-detail-panel-Dt_Ci8NK.js} +1 -1
  126. package/dist/assets/{superpowers-page-INeojqYn.js → superpowers-page-ieonO4NP.js} +1 -1
  127. package/dist/assets/{system-events-page-OihKZDZU.js → system-events-page-CeePf1H-.js} +1 -1
  128. package/dist/assets/system-events-redirect-page-K_S-OLih.js +1 -0
  129. package/dist/assets/{text-preview-BDpY47s1.js → text-preview-B02bZFbP.js} +1 -1
  130. package/dist/assets/{theme-stage-page-DT4intWx.js → theme-stage-page-Csbv4bYN.js} +1 -1
  131. package/dist/assets/{tiptap-document-editor-BLnpY6Pv.js → tiptap-document-editor-C7VZyPd8.js} +1 -1
  132. package/dist/assets/{tool-detail-panel-DC4D2Jlb.js → tool-detail-panel-BCnybLjZ.js} +1 -1
  133. package/dist/assets/{trait-cycle-row-DaEuqLmF.js → trait-cycle-row-BJVE2zkP.js} +1 -1
  134. package/dist/assets/{upgrade-cancel-page-CFVdwqug.js → upgrade-cancel-page-Clf-0s_U.js} +1 -1
  135. package/dist/assets/{upgrade-success-page-BO2OzxPx.js → upgrade-success-page-D47T4CeT.js} +1 -1
  136. package/dist/assets/{usage-redirect-page-Cn2F7Ezg.js → usage-redirect-page-DKU6-nc6.js} +1 -1
  137. package/dist/assets/{use-app-delete-dvAb-5JI.js → use-app-delete-C2w-8ID8.js} +1 -1
  138. package/dist/assets/{use-assistant-identity-details--yIMhZJo.js → use-assistant-identity-details-Bg2jNnRj.js} +1 -1
  139. package/dist/assets/{use-checkout-dismiss-refresh-BQT7Bbuc.js → use-checkout-dismiss-refresh-B8H9DyJ-.js} +1 -1
  140. package/dist/assets/{use-edge-swipe-back-HAgGP4y-.js → use-edge-swipe-back-Ts36sQ_M.js} +2 -2
  141. package/dist/assets/{use-hotkey-recorder-C2dwFKcz.js → use-hotkey-recorder-BzlgoJB1.js} +1 -1
  142. package/dist/assets/{use-invite-link-dialog-DRWD3T4t.js → use-invite-link-dialog-DY3csmXX.js} +1 -1
  143. package/dist/assets/{use-platform-assistant-id-BtpswT_x.js → use-platform-assistant-id-wi6Qyqs5.js} +1 -1
  144. package/dist/assets/{use-return-to-short-circuit-OqzatVUm.js → use-return-to-short-circuit-IpZ71Ta7.js} +1 -1
  145. package/dist/assets/{use-side-list-room-CnAOR18Q.js → use-side-list-room-DUcsQ_cg.js} +1 -1
  146. package/dist/assets/{use-skill-actions-D4ct6gVy.js → use-skill-actions-CA93T27k.js} +1 -1
  147. package/dist/assets/{use-skill-detail-files-DYeHOVus.js → use-skill-detail-files-B_PyrbPa.js} +1 -1
  148. package/dist/assets/use-supports-credentials-settings-DpckVSxv.js +1 -0
  149. package/dist/assets/use-transcript-message-by-id-Cc6L42ko.js +1 -0
  150. package/dist/assets/{voice-page-Dh62TnVf.js → voice-page-IIUdOuEY.js} +1 -1
  151. package/dist/assets/{wake-detail-panel-F1IlFslD.js → wake-detail-panel-OVSQ-EAe.js} +1 -1
  152. package/dist/assets/{weather-forecast-display-DDqsvcr0.js → weather-forecast-display-D-G5cBAU.js} +1 -1
  153. package/dist/assets/{welcome-screen-C2ky-B2i.js → welcome-screen-DKEhecl5.js} +1 -1
  154. package/dist/assets/{workflow-detail-panel-B4xH8ny2.js → workflow-detail-panel-DhhmAKzc.js} +1 -1
  155. package/dist/assets/{workspace-page-ND0GVGa5.js → workspace-page-BHxyqar7.js} +1 -1
  156. package/dist/index.html +1 -1
  157. package/package.json +1 -1
  158. package/dist/assets/archive-redirect-page-Dp1mnnnG.js +0 -1
  159. package/dist/assets/checkout-return-target-Dwmbf6kF.js +0 -1
  160. package/dist/assets/danger-zone-redirect-page-Dnvt2tnF.js +0 -1
  161. package/dist/assets/devices-redirect-page-DyOzvvCC.js +0 -1
  162. package/dist/assets/keyboard-shortcuts-redirect-page-BSIIufUC.js +0 -1
  163. package/dist/assets/password-reset-page-C5pZc0DV.js +0 -1
  164. package/dist/assets/security-redirect-page-CuZ3fT0R.js +0 -1
  165. package/dist/assets/system-events-redirect-page-Bl15Jd-C.js +0 -1
  166. package/dist/assets/use-supports-credentials-settings-DYOcFNFw.js +0 -1
  167. package/dist/assets/use-transcript-message-by-id-8Nt8lSao.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,f as a,g as o,n as s,t as c}from"./react-DPM_L_aA.js";import{rn as l}from"./icons-J6Mg9wGk.js";import{Jg as u,Mg as d,Qg as f,Xp as p,Yg as m,Zf as h,ap as g,dm as _,ip as v,ml as y,nb as b,yp as x,zv as S}from"./index-jpjzZb6b.js";import{t as C}from"./checkout-return-target-Dwmbf6kF.js";import{n as w,r as T}from"./checkout-continuation-tAX1_m3V.js";var E=e(i(),1),D=c();function O(){m(),g()}function k(){let{t:e}=r(`settings`),i=a(),[c]=o(),p=c.get(`package`)??``,m=(0,E.useMemo)(()=>p?null:u(c),[p,c]),g=h(),k=x(),A=T(),j=w(c,S.plans),M=j===S.plans?e(`checkoutPage.viewPlans`):e(`checkoutPage.continueSetup`),N=n(),{mutateAsync:P}=t(y()),[F,I]=(0,E.useState)(!1),[L,R]=(0,E.useState)(!1),z=(0,E.useRef)(`idle`),B=(0,E.useCallback)(async()=>{z.current=`running`,I(!1),R(!1);let e=C();try{let t=await P({body:m?{target_plan_id:`pro`,confirm:!0,machine_tier:m.machineTier,storage_tier:m.storageTier,credit_tier:m.creditTier,return_target:e}:{target_plan_id:`pro`,package:p,confirm:!0,return_target:e}});if(z.current!==`running`)return;if(t.status===`redirect`&&t.checkout_url){z.current=`handed_off`,f(m?{kind:`custom`,machineTier:m.machineTier,storageTier:m.storageTier,creditTier:m.creditTier}:{kind:`package`,packageKey:p}),v(N),R(e===`native`),d(t.checkout_url);return}z.current=`settled`,O(),i(j===S.plans&&p?S.plansForPackage(p):j,{replace:!0})}catch{if(z.current!==`running`)return;z.current=`settled`,I(!0)}},[j,m,P,i,p,N]),V=(0,E.useCallback)(()=>{if(k===`ready`){B();return}z.current=`idle`,I(!1),R(!1),k===`unavailable`&&_.getState().fetchOrganizations()},[k,B]);return(0,E.useEffect)(()=>{if(!p&&!m||g===`disabled`||g===`gated`||A===`disabled`){if(z.current===`handed_off`)return;z.current=`settled`,O(),i(j,{replace:!0});return}if(!(A!==`enabled`||g!==`full`||z.current!==`idle`)&&k!==`resolving`){if(k===`unavailable`){z.current=`settled`,I(!0);return}B()}},[j,m,g,i,k,p,B,A]),F?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.checkoutFailedMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(b,{onClick:V,children:e(`checkoutPage.tryAgain`)}),(0,D.jsx)(s,{to:j,onClick:O,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):L?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.awaitingReturnMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(b,{onClick:V,children:e(`checkoutPage.reopenCheckout`)}),(0,D.jsx)(s,{to:j,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3`,children:[(0,D.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`checkoutPage.preparingCheckoutAriaLabel`)}),(0,D.jsx)(`p`,{className:`text-sm text-[var(--content-tertiary)]`,children:e(`checkoutPage.preparingCheckout`)})]})}function A(){let e=a(),[t]=o(),n=w(t,S.settings.usageBilling);return(0,E.useEffect)(()=>{O(),e(n,{replace:!0})},[e,n]),null}function j(){return p()?(0,D.jsx)(A,{}):(0,D.jsx)(k,{})}export{j as CheckoutPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,f as a,g as o,n as s,t as c}from"./react-DPM_L_aA.js";import{rn as l}from"./icons-J6Mg9wGk.js";import{Jg as u,Mg as d,Qg as f,Xp as p,Yg as m,Zf as h,ap as g,dm as _,ip as v,ml as y,nb as b,yp as x,zv as S}from"./index-HYLyITE5.js";import{t as C}from"./checkout-return-target-BgSWb1-n.js";import{n as w,r as T}from"./checkout-continuation-B7WywfEN.js";var E=e(i(),1),D=c();function O(){m(),g()}function k(){let{t:e}=r(`settings`),i=a(),[c]=o(),p=c.get(`package`)??``,m=(0,E.useMemo)(()=>p?null:u(c),[p,c]),g=h(),k=x(),A=T(),j=w(c,S.plans),M=j===S.plans?e(`checkoutPage.viewPlans`):e(`checkoutPage.continueSetup`),N=n(),{mutateAsync:P}=t(y()),[F,I]=(0,E.useState)(!1),[L,R]=(0,E.useState)(!1),z=(0,E.useRef)(`idle`),B=(0,E.useCallback)(async()=>{z.current=`running`,I(!1),R(!1);let e=C();try{let t=await P({body:m?{target_plan_id:`pro`,confirm:!0,machine_tier:m.machineTier,storage_tier:m.storageTier,credit_tier:m.creditTier,return_target:e}:{target_plan_id:`pro`,package:p,confirm:!0,return_target:e}});if(z.current!==`running`)return;if(t.status===`redirect`&&t.checkout_url){z.current=`handed_off`,f(m?{kind:`custom`,machineTier:m.machineTier,storageTier:m.storageTier,creditTier:m.creditTier}:{kind:`package`,packageKey:p}),v(N),R(e===`native`),d(t.checkout_url);return}z.current=`settled`,O(),i(j===S.plans&&p?S.plansForPackage(p):j,{replace:!0})}catch{if(z.current!==`running`)return;z.current=`settled`,I(!0)}},[j,m,P,i,p,N]),V=(0,E.useCallback)(()=>{if(k===`ready`){B();return}z.current=`idle`,I(!1),R(!1),k===`unavailable`&&_.getState().fetchOrganizations()},[k,B]);return(0,E.useEffect)(()=>{if(!p&&!m||g===`disabled`||g===`gated`||A===`disabled`){if(z.current===`handed_off`)return;z.current=`settled`,O(),i(j,{replace:!0});return}if(!(A!==`enabled`||g!==`full`||z.current!==`idle`)&&k!==`resolving`){if(k===`unavailable`){z.current=`settled`,I(!0);return}B()}},[j,m,g,i,k,p,B,A]),F?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.checkoutFailedMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(b,{onClick:V,children:e(`checkoutPage.tryAgain`)}),(0,D.jsx)(s,{to:j,onClick:O,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):L?(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,D.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.awaitingReturnMessage`)}),(0,D.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,D.jsx)(b,{onClick:V,children:e(`checkoutPage.reopenCheckout`)}),(0,D.jsx)(s,{to:j,className:`text-sm text-[var(--content-tertiary)] underline`,children:M})]})]}):(0,D.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3`,children:[(0,D.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`checkoutPage.preparingCheckoutAriaLabel`)}),(0,D.jsx)(`p`,{className:`text-sm text-[var(--content-tertiary)]`,children:e(`checkoutPage.preparingCheckout`)})]})}function A(){let e=a(),[t]=o(),n=w(t,S.settings.usageBilling);return(0,E.useEffect)(()=>{O(),e(n,{replace:!0})},[e,n]),null}function j(){return p()?(0,D.jsx)(A,{}):(0,D.jsx)(k,{})}export{j as CheckoutPage};
@@ -0,0 +1 @@
1
+ import{E as e}from"./vendor-CV8wawxx.js";import{zp as t}from"./index-HYLyITE5.js";function n(){return t()!==null||e.isNativePlatform()?`native`:`web`}export{n as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_ as t,f as n,g as r,j as i,v as a}from"./vendor-CV8wawxx.js";import{b as o,t as s,y as c}from"./react-DPM_L_aA.js";import{Y as l,i as u,rn as d}from"./icons-J6Mg9wGk.js";import{Ay as f,My as p,Ny as m,Py as h,Qp as g,ga as _,nb as v,ri as y,tb as b,ws as x}from"./index-jpjzZb6b.js";var S=e(o(),1),C=e(c(),1),w=s();function T(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function E(e,t){let n=[...new Set(t??[])].filter(e=>e.length>0).sort((e,t)=>t.length-e.length);if(n.length===0)return e;let r=n.map(T).join(`|`),i=RegExp(`(?<![\\p{L}\\p{N}])(?:${r})(?![\\p{L}\\p{N}])`,`giu`),a=[],o=0;for(let t of e.matchAll(i))a.push(e.slice(o,t.index)),a.push((0,w.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:t[0]},t.index)),o=t.index+t[0].length;return a.length===0?e:(a.push(e.slice(o)),(0,w.jsx)(w.Fragment,{children:a}))}function D({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcut:a,isSelected:o,onClick:s,surface:c=`overlay`}){let l=e;return c===`window`?(0,w.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":o?`page`:void 0,"aria-selected":o,"aria-keyshortcuts":a?m(a):void 0,onClick:s,className:[`flex w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium outline-none transition-colors`,r?`py-1.5`:`h-10`,o?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[l?(0,w.jsx)(l,{size:16,"aria-hidden":!0,className:o?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`truncate`,children:t}),n?(0,w.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,w.jsx)(p,{accelerator:a,variant:`inline`,"aria-hidden":!0,className:`ml-auto shrink-0`}):null]}),r?(0,w.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:E(r,i)}):null]})]}):(0,w.jsx)(f,{icon:e,"aria-keyshortcuts":a?m(a):void 0,label:(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`truncate`,children:t}),n?(0,w.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,w.jsx)(p,{accelerator:a,variant:`inline`,"aria-hidden":!0,className:`ml-auto shrink-0`}):null]}),r?(0,w.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:E(r,i)}):null]}),active:o,onSelect:s,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var O=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,k={paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},A={...k,pointerEvents:`none`},j=({onKeyDown:e,children:t})=>{let{t:o}=i(),s=a(),c=n(),l=(0,S.useRef)(null);return(0,S.useLayoutEffect)(()=>{if(s)return;let e=document.activeElement;e instanceof HTMLElement&&l.current?.contains(e)&&e.blur()},[s]),(0,w.jsx)(r.div,{ref:l,className:O,style:s?k:A,role:`dialog`,"aria-modal":s?!0:void 0,"aria-hidden":s?void 0:!0,"aria-label":o(`commandPalette.searchAriaLabel`),onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:c?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:t})},M=({isOpen:e,onClose:n,query:r,onQueryChange:a,highlightTokens:o,selectedIndex:s,sections:c,isSearching:f=!1,onItemSelect:p,onKeyDown:m,surface:T=`overlay`})=>{let{t:E}=i(),A=x(),M=g(),N=_(),P=y(`commandPalette`),F=P?h(P):null,I=(0,S.useRef)(null),L=(0,S.useRef)(null),R=(0,S.useRef)(null);(0,S.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{L.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,S.useEffect)(()=>{if(!e||!R.current)return;let t=R.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,s]);let z=(0,S.useCallback)(e=>{e.target===I.current&&n()},[n]),B=T===`window`,V=A&&!B,H=!N,U=M&&V;if(!e&&!U)return null;let W=0,G=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[f?(0,w.jsx)(d,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,w.jsx)(l,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(`input`,{ref:L,type:`text`,value:r,onChange:e=>a(e.target.value),placeholder:E(`commandPalette.placeholder`),className:B?`min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":E(`commandPalette.searchAriaLabel`)}),r?V?(0,w.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>a(``),"aria-label":E(`commandPalette.clearSearch`),children:E(`commandPalette.clear`)}):B?(0,w.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`,"aria-label":E(`commandPalette.clearSearch`),onClick:()=>a(``),children:(0,w.jsx)(u,{size:16,"aria-hidden":!0})}):(0,w.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,w.jsx)(u,{}),"aria-label":E(`commandPalette.clearSearch`),onClick:()=>a(``),tintColor:`var(--content-tertiary)`}):H&&F?(0,w.jsx)(`kbd`,{className:B?`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-xs font-medium text-[var(--content-secondary)]`:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:F}):null,V?(0,w.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,w.jsx)(u,{}),expandOnMobile:!1,"aria-label":E(`commandPalette.closeSearch`),onClick:n,tintColor:`var(--content-tertiary)`}):null]}),K=(0,w.jsx)(`div`,{ref:R,className:V?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:c.length===0?(0,w.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,w.jsx)(b,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:E(f?`commandPalette.searching`:`commandPalette.noResults`)})}):c.map(e=>(0,w.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,w.jsx)(b,{variant:`label-small-default`,as:`div`,className:B?`px-3 pb-1 pt-2 text-xs font-semibold text-[var(--content-tertiary)]`:`px-3 pb-1 pt-2 text-[var(--content-tertiary)] max-md:text-body-small-default`,children:e.label}),e.items.map(e=>{let t=W++;return(0,w.jsx)(D,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcut:H?e.shortcut:void 0,isSelected:t===s,onClick:()=>p?.(e,t),surface:T},e.id)})]},e.id))});if(U)return(0,w.jsx)(t,{children:e?(0,w.jsxs)(j,{onKeyDown:m,children:[G,K]},`command-palette-sheet`):null});if(V)return(0,w.jsxs)(`div`,{className:O,role:`dialog`,"aria-modal":`true`,"aria-label":E(`commandPalette.searchAriaLabel`),onKeyDown:m,style:k,children:[G,K]});let q=(0,w.jsx)(`div`,{ref:I,role:`dialog`,"aria-modal":`true`,"aria-label":E(`commandPalette.ariaLabel`),className:T===`window`?`flex h-full w-full items-start justify-center bg-transparent p-3`:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:z,onKeyDown:m,children:(0,w.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[G,K]})});return T===`window`?q:(0,C.createPortal)(q,document.body)};export{M as CommandPalette};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_ as t,f as n,g as r,j as i,v as a}from"./vendor-CV8wawxx.js";import{b as o,t as s,y as c}from"./react-DPM_L_aA.js";import{Y as l,i as u,rn as d}from"./icons-J6Mg9wGk.js";import{Ay as f,My as p,Ny as m,Py as h,Qp as g,ga as _,nb as v,ri as y,tb as b,ws as x}from"./index-HYLyITE5.js";var S=e(o(),1),C=e(c(),1),w=s();function T(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function E(e,t){let n=[...new Set(t??[])].filter(e=>e.length>0).sort((e,t)=>t.length-e.length);if(n.length===0)return e;let r=n.map(T).join(`|`),i=RegExp(`(?<![\\p{L}\\p{N}])(?:${r})(?![\\p{L}\\p{N}])`,`giu`),a=[],o=0;for(let t of e.matchAll(i))a.push(e.slice(o,t.index)),a.push((0,w.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:t[0]},t.index)),o=t.index+t[0].length;return a.length===0?e:(a.push(e.slice(o)),(0,w.jsx)(w.Fragment,{children:a}))}function D({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcut:a,isSelected:o,onClick:s,surface:c=`overlay`}){let l=e;return c===`window`?(0,w.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":o?`page`:void 0,"aria-selected":o,"aria-keyshortcuts":a?m(a):void 0,onClick:s,className:[`flex w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium outline-none transition-colors`,r?`py-1.5`:`h-10`,o?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[l?(0,w.jsx)(l,{size:16,"aria-hidden":!0,className:o?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`truncate`,children:t}),n?(0,w.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,w.jsx)(p,{accelerator:a,variant:`inline`,"aria-hidden":!0,className:`ml-auto shrink-0`}):null]}),r?(0,w.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:E(r,i)}):null]})]}):(0,w.jsx)(f,{icon:e,"aria-keyshortcuts":a?m(a):void 0,label:(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`truncate`,children:t}),n?(0,w.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,w.jsx)(p,{accelerator:a,variant:`inline`,"aria-hidden":!0,className:`ml-auto shrink-0`}):null]}),r?(0,w.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:E(r,i)}):null]}),active:o,onSelect:s,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var O=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,k={paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},A={...k,pointerEvents:`none`},j=({onKeyDown:e,children:t})=>{let{t:o}=i(),s=a(),c=n(),l=(0,S.useRef)(null);return(0,S.useLayoutEffect)(()=>{if(s)return;let e=document.activeElement;e instanceof HTMLElement&&l.current?.contains(e)&&e.blur()},[s]),(0,w.jsx)(r.div,{ref:l,className:O,style:s?k:A,role:`dialog`,"aria-modal":s?!0:void 0,"aria-hidden":s?void 0:!0,"aria-label":o(`commandPalette.searchAriaLabel`),onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:c?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:t})},M=({isOpen:e,onClose:n,query:r,onQueryChange:a,highlightTokens:o,selectedIndex:s,sections:c,isSearching:f=!1,onItemSelect:p,onKeyDown:m,surface:T=`overlay`})=>{let{t:E}=i(),A=x(),M=g(),N=_(),P=y(`commandPalette`),F=P?h(P):null,I=(0,S.useRef)(null),L=(0,S.useRef)(null),R=(0,S.useRef)(null);(0,S.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{L.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,S.useEffect)(()=>{if(!e||!R.current)return;let t=R.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,s]);let z=(0,S.useCallback)(e=>{e.target===I.current&&n()},[n]),B=T===`window`,V=A&&!B,H=!N,U=M&&V;if(!e&&!U)return null;let W=0,G=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[f?(0,w.jsx)(d,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,w.jsx)(l,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(`input`,{ref:L,type:`text`,value:r,onChange:e=>a(e.target.value),placeholder:E(`commandPalette.placeholder`),className:B?`min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":E(`commandPalette.searchAriaLabel`)}),r?V?(0,w.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>a(``),"aria-label":E(`commandPalette.clearSearch`),children:E(`commandPalette.clear`)}):B?(0,w.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`,"aria-label":E(`commandPalette.clearSearch`),onClick:()=>a(``),children:(0,w.jsx)(u,{size:16,"aria-hidden":!0})}):(0,w.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,w.jsx)(u,{}),"aria-label":E(`commandPalette.clearSearch`),onClick:()=>a(``),tintColor:`var(--content-tertiary)`}):H&&F?(0,w.jsx)(`kbd`,{className:B?`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-xs font-medium text-[var(--content-secondary)]`:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:F}):null,V?(0,w.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,w.jsx)(u,{}),expandOnMobile:!1,"aria-label":E(`commandPalette.closeSearch`),onClick:n,tintColor:`var(--content-tertiary)`}):null]}),K=(0,w.jsx)(`div`,{ref:R,className:V?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:c.length===0?(0,w.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,w.jsx)(b,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:E(f?`commandPalette.searching`:`commandPalette.noResults`)})}):c.map(e=>(0,w.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,w.jsx)(b,{variant:`label-small-default`,as:`div`,className:B?`px-3 pb-1 pt-2 text-xs font-semibold text-[var(--content-tertiary)]`:`px-3 pb-1 pt-2 text-[var(--content-tertiary)] max-md:text-body-small-default`,children:e.label}),e.items.map(e=>{let t=W++;return(0,w.jsx)(D,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcut:H?e.shortcut:void 0,isSelected:t===s,onClick:()=>p?.(e,t),surface:T},e.id)})]},e.id))});if(U)return(0,w.jsx)(t,{children:e?(0,w.jsxs)(j,{onKeyDown:m,children:[G,K]},`command-palette-sheet`):null});if(V)return(0,w.jsxs)(`div`,{className:O,role:`dialog`,"aria-modal":`true`,"aria-label":E(`commandPalette.searchAriaLabel`),onKeyDown:m,style:k,children:[G,K]});let q=(0,w.jsx)(`div`,{ref:I,role:`dialog`,"aria-modal":`true`,"aria-label":E(`commandPalette.ariaLabel`),className:T===`window`?`flex h-full w-full items-start justify-center bg-transparent p-3`:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:z,onKeyDown:m,children:(0,w.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[G,K]})});return T===`window`?q:(0,C.createPortal)(q,document.body)};export{M as CommandPalette};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,t as n}from"./react-DPM_L_aA.js";import{Mi as r,Qf as i,U_ as a,ep as o,ji as s,lm as c,nu as l,qi as u,rp as d,so as f,vs as p,zr as m}from"./index-jpjzZb6b.js";import{CommandPalette as h}from"./command-palette-BCJ09PN8.js";var g=e(t(),1),_=n(),v=()=>void 0,y=e=>void 0,b=e=>{switch(e.id){case`action-new-conversation`:return{kind:`newConversation`};case`action-current-conversation`:return{kind:`currentConversation`};case`action-settings`:return{kind:`openSettings`};case`action-library`:return{kind:`openLibrary`};case`action-intelligence`:return{kind:`openIdentity`};default:return e.id.startsWith(`conv-`)?{kind:`openConversation`,conversationId:e.id.slice(5)}:e.id.startsWith(`search-conv-`)?{kind:`openConversation`,conversationId:e.id.slice(12)}:e.id.startsWith(`search-schedule-`)||e.id.startsWith(`search-contact-`)?{kind:`openIdentity`}:null}};function x(){let e=i.use.sessionStatus(),t=d(),n=o();l(),f(!t),p({sessionStatus:e,hasPlatformSession:n});let x=a.use.assistants(),S=a.use.activeAssistantId(),C=c(),w=(0,g.useMemo)(()=>{let e=C??S;if(!e)return null;let t=x.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[C,S,x]),T=w?.id??null,{conversations:E}=u(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&r(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=m({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{s()},onItemSelect:D});return(0,_.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,_.jsx)(h,{isOpen:!0,surface:`window`,onClose:O.close,query:O.query,onQueryChange:O.setQuery,highlightTokens:O.searchTokens,selectedIndex:O.selectedIndex,sections:k,isSearching:O.isSearching,onItemSelect:A,onKeyDown:O.handleKeyDown})})}export{x as CommandPaletteWindowPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,t as n}from"./react-DPM_L_aA.js";import{Mi as r,Qf as i,U_ as a,ep as o,ji as s,lm as c,nu as l,qi as u,rp as d,so as f,vs as p,zr as m}from"./index-HYLyITE5.js";import{CommandPalette as h}from"./command-palette-CIaukQD3.js";var g=e(t(),1),_=n(),v=()=>void 0,y=e=>void 0,b=e=>{switch(e.id){case`action-new-conversation`:return{kind:`newConversation`};case`action-current-conversation`:return{kind:`currentConversation`};case`action-settings`:return{kind:`openSettings`};case`action-library`:return{kind:`openLibrary`};case`action-intelligence`:return{kind:`openIdentity`};default:return e.id.startsWith(`conv-`)?{kind:`openConversation`,conversationId:e.id.slice(5)}:e.id.startsWith(`search-conv-`)?{kind:`openConversation`,conversationId:e.id.slice(12)}:e.id.startsWith(`search-schedule-`)||e.id.startsWith(`search-contact-`)?{kind:`openIdentity`}:null}};function x(){let e=i.use.sessionStatus(),t=d(),n=o();l(),f(!t),p({sessionStatus:e,hasPlatformSession:n});let x=a.use.assistants(),S=a.use.activeAssistantId(),C=c(),w=(0,g.useMemo)(()=>{let e=C??S;if(!e)return null;let t=x.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[C,S,x]),T=w?.id??null,{conversations:E}=u(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&r(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=m({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{s()},onItemSelect:D});return(0,_.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,_.jsx)(h,{isOpen:!0,surface:`window`,onClose:O.close,query:O.query,onQueryChange:O.setQuery,highlightTokens:O.searchTokens,selectedIndex:O.selectedIndex,sections:k,isSearching:O.isSearching,onItemSelect:A,onKeyDown:O.handleKeyDown})})}export{x as CommandPaletteWindowPage};
@@ -1 +1 @@
1
- import{j as e}from"./vendor-CV8wawxx.js";import{t}from"./react-DPM_L_aA.js";import{Ci as n,O as r,P as i,Tn as a,Yn as o,Zr as s,m as c,pi as l,ut as u,xn as d}from"./icons-J6Mg9wGk.js";import{D as f,E as p,Fo as m,T as h,Yy as g,eb as _,ei as v,nb as y}from"./index-jpjzZb6b.js";var b=n(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),x=t();function S({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function C({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function w({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function T({t:e}){return(0,x.jsx)(_,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,x.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,x.jsxs)(g,{tone:`neutral`,children:[(0,x.jsx)(u,{className:`h-3.5 w-3.5`}),e(`communityPage.heroTag`)]}),(0,x.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:e(`communityPage.heroTitle`)}),(0,x.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:e(`communityPage.heroDescription`)})]})]})})}function E({icon:e,text:t}){return(0,x.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,x.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,x.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,x.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function D({accentColor:e,iconColor:t=`var(--aux-white)`,label:n,icon:r,title:i,subtitle:a,benefits:o,primaryAction:s,secondaryAction:c}){return(0,x.jsx)(_,{padding:`lg`,className:`flex-1`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:e,color:t},children:r}),(0,x.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:n})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]}),(0,x.jsx)(`ul`,{className:`flex flex-col gap-3`,children:o.map(({icon:e,text:t})=>(0,x.jsx)(E,{icon:e,text:t},t))}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(y,{onClick:s.onClick,children:[s.icon,s.label]}),c&&(0,x.jsxs)(y,{variant:`ghost`,onClick:()=>window.open(c.href,`_blank`,`noopener,noreferrer`),children:[c.label,(0,x.jsx)(l,{className:`h-3.5 w-3.5`})]})]})]})})}function O({icon:e,iconBg:t,iconColor:n=`white`,title:r,description:i,href:a}){return(0,x.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,x.jsx)(_,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:n},children:e}),(0,x.jsx)(o,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,x.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:r}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:i})]})]})})})}function k(){let{t}=e(`settings`),{handleStar:n}=f();return(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(T,{t}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,x.jsx)(D,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:t(`communityPage.openSourceLabel`),icon:(0,x.jsx)(S,{size:20}),title:t(`communityPage.openSourceTitle`),subtitle:t(`communityPage.openSourceSubtitle`),benefits:[{icon:r,text:t(`communityPage.openSourceBenefitStar`)},{icon:s,text:t(`communityPage.openSourceBenefitIssues`)},{icon:b,text:t(`communityPage.openSourceBenefitContribute`)}],primaryAction:{label:t(`communityPage.starOnGitHub`),icon:(0,x.jsx)(r,{size:16}),onClick:n},secondaryAction:{label:t(`communityPage.viewSource`),href:p}}),(0,x.jsx)(D,{accentColor:`#5865F2`,label:t(`communityPage.discordLabel`),icon:(0,x.jsx)(v,{size:20}),title:t(`communityPage.discordTitle`),subtitle:t(`communityPage.discordSubtitle`),benefits:[{icon:d,text:t(`communityPage.discordBenefitTeam`)},{icon:i,text:t(`communityPage.discordBenefitFeedback`)},{icon:c,text:t(`communityPage.discordBenefitAnswers`)}],primaryAction:{label:t(`communityPage.joinDiscord`),icon:(0,x.jsx)(v,{size:16,style:{color:`currentColor`}}),onClick:h}})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:t(`communityPage.moreFromVellum`)}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,x.jsx)(O,{icon:(0,x.jsx)(a,{size:20}),iconBg:`#22c55e`,title:t(`communityPage.communityHubTitle`),description:t(`communityPage.communityHubDescription`),href:m}),(0,x.jsx)(O,{icon:(0,x.jsx)(C,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:t(`communityPage.followOnXTitle`),description:t(`communityPage.followOnXDescription`),href:`https://x.com/vellum_ai`}),(0,x.jsx)(O,{icon:(0,x.jsx)(w,{size:20}),iconBg:`#ef4444`,title:t(`communityPage.youtubeChannelTitle`),description:t(`communityPage.youtubeChannelDescription`),href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{k as CommunityPage};
1
+ import{j as e}from"./vendor-CV8wawxx.js";import{t}from"./react-DPM_L_aA.js";import{Ci as n,O as r,P as i,Tn as a,Yn as o,Zr as s,m as c,pi as l,ut as u,xn as d}from"./icons-J6Mg9wGk.js";import{D as f,E as p,Fo as m,T as h,Yy as g,eb as _,ei as v,nb as y}from"./index-HYLyITE5.js";var b=n(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),x=t();function S({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function C({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function w({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function T({t:e}){return(0,x.jsx)(_,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,x.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,x.jsxs)(g,{tone:`neutral`,children:[(0,x.jsx)(u,{className:`h-3.5 w-3.5`}),e(`communityPage.heroTag`)]}),(0,x.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:e(`communityPage.heroTitle`)}),(0,x.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:e(`communityPage.heroDescription`)})]})]})})}function E({icon:e,text:t}){return(0,x.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,x.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,x.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,x.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function D({accentColor:e,iconColor:t=`var(--aux-white)`,label:n,icon:r,title:i,subtitle:a,benefits:o,primaryAction:s,secondaryAction:c}){return(0,x.jsx)(_,{padding:`lg`,className:`flex-1`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:e,color:t},children:r}),(0,x.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:n})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]}),(0,x.jsx)(`ul`,{className:`flex flex-col gap-3`,children:o.map(({icon:e,text:t})=>(0,x.jsx)(E,{icon:e,text:t},t))}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(y,{onClick:s.onClick,children:[s.icon,s.label]}),c&&(0,x.jsxs)(y,{variant:`ghost`,onClick:()=>window.open(c.href,`_blank`,`noopener,noreferrer`),children:[c.label,(0,x.jsx)(l,{className:`h-3.5 w-3.5`})]})]})]})})}function O({icon:e,iconBg:t,iconColor:n=`white`,title:r,description:i,href:a}){return(0,x.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,x.jsx)(_,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:n},children:e}),(0,x.jsx)(o,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,x.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:r}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:i})]})]})})})}function k(){let{t}=e(`settings`),{handleStar:n}=f();return(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(T,{t}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,x.jsx)(D,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:t(`communityPage.openSourceLabel`),icon:(0,x.jsx)(S,{size:20}),title:t(`communityPage.openSourceTitle`),subtitle:t(`communityPage.openSourceSubtitle`),benefits:[{icon:r,text:t(`communityPage.openSourceBenefitStar`)},{icon:s,text:t(`communityPage.openSourceBenefitIssues`)},{icon:b,text:t(`communityPage.openSourceBenefitContribute`)}],primaryAction:{label:t(`communityPage.starOnGitHub`),icon:(0,x.jsx)(r,{size:16}),onClick:n},secondaryAction:{label:t(`communityPage.viewSource`),href:p}}),(0,x.jsx)(D,{accentColor:`#5865F2`,label:t(`communityPage.discordLabel`),icon:(0,x.jsx)(v,{size:20}),title:t(`communityPage.discordTitle`),subtitle:t(`communityPage.discordSubtitle`),benefits:[{icon:d,text:t(`communityPage.discordBenefitTeam`)},{icon:i,text:t(`communityPage.discordBenefitFeedback`)},{icon:c,text:t(`communityPage.discordBenefitAnswers`)}],primaryAction:{label:t(`communityPage.joinDiscord`),icon:(0,x.jsx)(v,{size:16,style:{color:`currentColor`}}),onClick:h}})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:t(`communityPage.moreFromVellum`)}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,x.jsx)(O,{icon:(0,x.jsx)(a,{size:20}),iconBg:`#22c55e`,title:t(`communityPage.communityHubTitle`),description:t(`communityPage.communityHubDescription`),href:m}),(0,x.jsx)(O,{icon:(0,x.jsx)(C,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:t(`communityPage.followOnXTitle`),description:t(`communityPage.followOnXDescription`),href:`https://x.com/vellum_ai`}),(0,x.jsx)(O,{icon:(0,x.jsx)(w,{size:20}),iconBg:`#ef4444`,title:t(`communityPage.youtubeChannelTitle`),description:t(`communityPage.youtubeChannelDescription`),href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{k as CommunityPage};
@@ -1 +1 @@
1
- import{hp as e}from"./index-jpjzZb6b.js";var t=`#5eead4`,n=/^#[0-9a-f]{6}$/i;function r(e){return e!==void 0&&n.test(e)?e:void 0}function i(t,n,i){return(t===null?void 0:r(t.accentHex))??r(n)??e(i?.color)??void 0}export{i as n,t};
1
+ import{hp as e}from"./index-HYLyITE5.js";var t=`#5eead4`,n=/^#[0-9a-f]{6}$/i;function r(e){return e!==void 0&&n.test(e)?e:void 0}function i(t,n,i){return(t===null?void 0:r(t.accentHex))??r(n)??e(i?.color)??void 0}export{i as n,t};
@@ -1 +1 @@
1
- import{Gl as e,Kl as t,Wl as n,ql as r}from"./index-jpjzZb6b.js";var i=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,a=(e,t)=>{let n={top:t.top,bottom:t.bottom};return t.left>=e.right?{left:e.right,right:t.left,...n}:{left:t.right,right:e.left,...n}},o=(e,{avatar:t,pill:n})=>{let r=t=>i(t,e.x,e.y);return r(t)?!0:n===null?!1:r(n)||r(a(t,n))};function s(i,a){let o=r(a),s=i/2,c=n(i),l=e(i,a),u=t(i,a),d=e=>e/o,f=Math.max(s,a-c),p=Math.max(s,c);return{scale:o,avatarRel:i/a,avatarHalf:s,baseline:c,gap:l,inUnits:d,lineAt:(e,t)=>e===`up`?`calc(100% - ${d(u-t)}px)`:`${d(u+t)}px`,edgeAt:(e,t)=>{let n=d(t),r=n<0?`calc(50% - ${-n}px)`:`calc(50% + ${n}px)`;return e===`left`?{right:r}:{left:r}},introStepOff:e=>(e===`up`?f:p)+l}}export{i as n,o as r,s as t};
1
+ import{Gl as e,Kl as t,Wl as n,ql as r}from"./index-HYLyITE5.js";var i=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,a=(e,t)=>{let n={top:t.top,bottom:t.bottom};return t.left>=e.right?{left:e.right,right:t.left,...n}:{left:t.right,right:e.left,...n}},o=(e,{avatar:t,pill:n})=>{let r=t=>i(t,e.x,e.y);return r(t)?!0:n===null?!1:r(n)||r(a(t,n))};function s(i,a){let o=r(a),s=i/2,c=n(i),l=e(i,a),u=t(i,a),d=e=>e/o,f=Math.max(s,a-c),p=Math.max(s,c);return{scale:o,avatarRel:i/a,avatarHalf:s,baseline:c,gap:l,inUnits:d,lineAt:(e,t)=>e===`up`?`calc(100% - ${d(u-t)}px)`:`${d(u+t)}px`,edgeAt:(e,t)=>{let n=d(t),r=n<0?`calc(50% - ${-n}px)`:`calc(50% + ${n}px)`;return e===`left`?{right:r}:{left:r}},introStepOff:e=>(e===`up`?f:p)+l}}export{i as n,o as r,s as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,g as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Ci as o,Hr as s,It as c,Jn as l,Lt as u,Mt as d,X as f,d as p,di as m,f as h,i as g,qn as _,vt as v,xi as y}from"./icons-J6Mg9wGk.js";import{$o as b,By as x,Hl as S,Jr as C,Qo as ee,Ul as w,Xo as T,Xy as te,Yo as E,cs as ne,ds as D,es as O,is as re,ls as ie,ns as ae,on as oe,os as se,rs as ce,ss as le,ts as ue,us as de,vi as k,ys as fe}from"./index-jpjzZb6b.js";import{n as pe,r as A,t as j}from"./companion-layout-B10TRaer.js";import{n as M}from"./companion-accent-tJqpwbpU.js";var me=o(`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`}]]),N=e(i(),1),P=a(),F=460,he=3,ge=88,_e=3,I=[`screens`,`tabs`,`windows`],ve=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,ye=e=>I.find(t=>ve(e,t)>0)??`screens`,L=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function be({sources:e,captureThumbnail:t,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,label:s,onPick:c}){let{t:l}=r(),{inUnits:u,lineAt:f,introStepOff:p}=j(i,a),m=u(p(n)),h={left:`50%`,top:f(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${m}px))`:`translate(-50%, ${m}px)`},g=e===null?[]:I.filter(t=>ve(e,t)>0),_=e!==null&&g.length===0,[v,y]=(0,N.useState)(null),b=e===null?`screens`:v!==null&&g.includes(v)?v:ye(e),C=(0,N.useMemo)(()=>e===null?[]:b===`screens`?e.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:L(t),target:t}}):b===`windows`?e.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:L(t),target:t}}):[],[b,e]),[ee,w]=(0,N.useState)(new Map),T=(0,N.useRef)(new Set),E=(0,N.useRef)(0),ne=(0,N.useRef)(!1);(0,N.useEffect)(()=>(ne.current=!0,()=>{ne.current=!1}),[]),(0,N.useEffect)(()=>{T.current=new Set,E.current+=1,w(new Map),y(null)},[e]);let D=(0,N.useRef)(null);(0,N.useEffect)(()=>{D.current!==null&&(D.current.scrollTop=0)},[b]),(0,N.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of C){if(T.current.has(e))continue;T.current.add(e);let r=E.current,i=t=>{!ne.current||r!==E.current||w(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,C]);let O=e=>t===void 0?null:ee.get(e),re=e=>l(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,P.jsxs)(`div`,{ref:o,role:`group`,"aria-label":s??l(`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:F,...h},onPointerDown:e=>{e.stopPropagation()},children:[g.length>1&&(0,P.jsx)(x,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:g.map(e=>({value:e,label:re(e)})),value:b,ariaLabel:l(`companionSurface.captureKind`),onChange:y}),(0,P.jsx)(te,{ref:D,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,P.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,P.jsx)(V,{}),e!==null&&b===`screens`&&(0,P.jsx)(R,{children:e.displays.map(e=>{let t=l(`companionSurface.captureScreen`,{n:e.index+1}),n=L({kind:`display`,displayId:e.displayId});return(0,P.jsx)(z,{title:t,ariaLabel:t,answer:O(n),fallback:(0,P.jsx)(d,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),e!==null&&b===`windows`&&(0,P.jsx)(R,{children:e.windows.map(e=>{let t=L({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,P.jsx)(z,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:O(t),fallback:(0,P.jsx)(B,{icon:e.icon,large:!0}),icon:(0,P.jsx)(B,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),e!==null&&b===`tabs`&&(0,P.jsx)(`div`,{className:`flex flex-col`,children:e.tabs.map(e=>(0,P.jsx)(xe,{icon:(0,P.jsx)(B,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),_&&(0,P.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:l(`companionSurface.captureNothing`)})]})})]})}function R({children:e}){return(0,P.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${he}, minmax(0, 1fr))`},children:e})}function z({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,P.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,P.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:ge},children:n==null?r:(0,P.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,P.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function xe({icon:e,title:t,onClick:n}){return(0,P.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,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function B({icon:e,large:t=!1}){return(0,P.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,P.jsx)(y,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,P.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function V(){return(0,P.jsx)(R,{children:Array.from({length:_e},(e,t)=>(0,P.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,P.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:ge}}),(0,P.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var H=260;function Se({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,onAnswer:s}){let{t:c}=r(),l=e.reason===`claimed`?c(`companionSurface.offerVersion`):c(`companionSurface.offerNowhere`),{inUnits:u,avatarHalf:d,lineAt:f,edgeAt:p,introStepOff:m}=j(i,a),h=u(m(n)),g=p(t,-d),_={top:f(n,0),transform:n===`up`?`translateY(calc(-100% - ${h}px))`:`translateY(${h}px)`};return(0,P.jsxs)(`div`,{ref:o,role:`group`,"aria-label":l,"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:H,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,P.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:l}),(0,P.jsx)(te,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,P.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,P.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:()=>s?.(`dismiss`),children:e.reason===`claimed`?c(`companionSurface.notNow`):c(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,P.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:()=>s?.(`quit`),children:c(`companionSurface.offerQuit`,{app:e.app})}):null,(0,P.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:()=>s?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?c(`companionSurface.offerUse`):c(`companionSurface.offerCopy`)})]})]})}var U=244,Ce={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},we=e=>e===`talk`?e:void 0,Te=e=>e===null||e===`meet`?null:`hover`;function Ee({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,accentHex:o,assistantName:s,cardRef:c,onAdvance:l}){let{t:u}=r(),d=w.indexOf(e),f=d===w.length-1,p=Ce[e],{inUnits:m,avatarHalf:h,lineAt:g,edgeAt:_,introStepOff:v}=j(i,a),y=m(v(n)),b=_(t,-h),x={top:g(n,0),transform:n===`up`?`translateY(calc(-100% - ${y}px))`:`translateY(${y}px)`};return(0,P.jsxs)(`div`,{ref:c,role:`group`,"aria-label":u(`companionIntro.ariaLabel`),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:U,...b,...x},onPointerDown:e=>{e.stopPropagation()},children:[(0,P.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&s!==void 0?u(`companionIntro.meet.titleNamed`,{name:s}):u(p.title)}),(0,P.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:u(p.body)}),(0,P.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,P.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:w.map((e,t)=>(0,P.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===d?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,P.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!f&&(0,P.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:()=>l?.(`dismiss`),children:u(`companionIntro.skip`)}),(0,P.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:()=>l?.(`next`),children:u(f?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var W={min:3,max:10},G=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},K=1600,De=.22,Oe=.04,ke=4,q=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Oe)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ke,height:i+ke},rest:i+2}},Ae=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function je(e,t=W){let[n,r]=(0,N.useState)(0),{min:i,max:a}=t;return(0,N.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},Ae({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var J=(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 Me({character:e,capsule:r,enabled:i,held:a=!1,edge:o,interval:s=W,className:c,style:l}){let u=t(),d=(0,N.useMemo)(()=>oe(k,e),[e]),f=je(i&&!a&&!u&&d!==null,s),[p,m]=(0,N.useState)(!1),[h,g]=(0,N.useState)(`top`);if((0,N.useEffect)(()=>{if(f===0)return;g(G()),m(!0);let e=setTimeout(()=>{m(!1)},K);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let _=q(d,r.width),v=a||p,y=o??h,b=J(y,_.clip,r);return(0,P.jsx)(`div`,{className:`companion-peek ${c??``}`,style:{width:r.width,height:r.height,...l},"data-risen":v,"data-edge":y,"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`absolute`,style:b.slot,children:(0,P.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,P.jsx)(n.div,{className:`absolute left-1/2`,style:{width:_.size,height:_.size,marginLeft:-_.size/2,top:_.clip.height-_.exposed},initial:{y:_.rest},animate:{y:v?0:_.rest},transition:a?{duration:0}:v?{type:`spring`,stiffness:280,damping:14}:{duration:De,ease:`easeIn`},children:(0,P.jsx)(C,{components:k,traits:e,size:_.size})})})})})}var Y=`#5eead4`,Ne=new Set([`transcribing`,`thinking`,`speaking`]),Pe=28,X={idle:{width:64,height:14},closing:Pe,rim:2,bloom:4},Fe=X.idle,Ie=(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(`, `),Le=244,Z=200,Re=120,ze={watching:40,summary:220,dictating:Le+32,offer:Z+32,call:4+Re+180};function Be({phase:e,assistantName:n=``,accentHex:i=Y,avatarSrc:a,character:o,hovered:s=!1,growth:c=`right`,avatarBox:l=S,optionsBox:u=S,cardGrowth:d=`up`,rootRef:f,restingPillRef:p,avatarRef:m,onSurfacePointerDown:h,onSurfaceContextMenu:g,spotlight:_,onWatch:v,onTeach:y,picking:b=!1,sharing:x=!1,shareEnabled:C=!1,sharePicking:ee=!1,onShare:w,onStopShare:T,annotating:te=!1,onAnnotate:E,onAvatarClick:ne,working:D=!1,watching:O=!1,watchRetro:re,onWatchRetro:ie,dictationOffer:ae,offer:oe,watchEnabled:se=!1,dictating:ce,dictationText:le=``,call:ue,onControl:de,intro:k,picker:fe}){let{t:pe}=r(),A=e!==`resting`,M=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,[me,F]=(0,N.useState)(!1);(0,N.useEffect)(()=>{if(e!==`hover`){F(!1);return}let t=setTimeout(()=>{F(!0)},500);return()=>{clearTimeout(t)}},[e]);let he=_===`talk`||e===`hover`&&me,ge=re===`pending`,_e=D||ue!==void 0&&Ne.has(ue.phase),I=t(),ve=(0,N.useRef)(null),[ye,L]=(0,N.useState)(null);(0,N.useLayoutEffect)(()=>{let e=ve.current;if(!e)return;let t=()=>{L(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:be,avatarRel:R,avatarHalf:z,baseline:xe,gap:B,inUnits:V,lineAt:H,edgeAt:Se}=j(l,u),U=e===`call`,Ce=M?(ye??ze[e])+16:0,we=Se(c,z+B),Te=l/S,Ee=A?{width:X.closing*Te,height:X.closing*Te}:X.idle,W=k!=null,G=U?{width:Ce,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:Ce,...we,top:H(d,xe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},K=U?`calc(50% - ${Ce/2+V(z+B)}px)`:`50%`;return(0,P.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/be}%`,height:`${100/be}%`,transform:`scale(${be})`},children:[(0,P.jsxs)(`div`,{className:`absolute flex h-11 cursor-grab items-center rounded-full transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${!U&&c===`left`?`justify-end`:``}`,style:G,onPointerDown:h,onContextMenu:g,ref:f,children:[(0,P.jsx)(`span`,{className:`absolute inset-0 rounded-full border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200`,style:{opacity:+!!M},"aria-hidden":!0}),U&&(0,P.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:+!!M,"--companion-ring-accent":i},"aria-hidden":!0}),(0,P.jsx)(`div`,{className:`relative flex h-11 shrink-0 items-center`,style:{paddingInline:8},children:(0,P.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:ve,inert:!M,style:{opacity:+!!M,transitionDelay:M?`120ms`:`0ms`},children:e===`call`?(0,P.jsx)(Ye,{call:ue,assistantName:n,watching:O,watchEnabled:se,picking:b,sharing:x,shareEnabled:C,sharePicking:ee,annotating:te,onControl:de,onWatch:v,onTeach:y,onShare:w,onStopShare:T,onAnnotate:E}):e===`dictating`&&ce!==void 0?(0,P.jsx)(Ge,{dictating:ce,dictationText:le}):e===`summary`&&re!==void 0?(0,P.jsx)(Je,{retro:re,onWatchRetro:ie}):e===`offer`&&ae!==void 0?(0,P.jsx)(Ke,{offer:ae}):(0,P.jsx)(qe,{watching:O,onWatch:v})})})]}),(0,P.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:V(X.idle.width),height:V(X.idle.height),pointerEvents:A?`none`:void 0,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`},onPointerDown:h,onContextMenu:g,ref:p,"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:V(Ee.width),height:V(Ee.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:I?`opacity`:void 0,boxShadow:Ie(i,V(X.rim),V(X.bloom)),opacity:+!A}})}),(0,P.jsx)(Ue,{className:he?`opacity-100`:`opacity-0`,"data-companion-name":he?`shown`:`hidden`,style:{left:`50%`,top:H(d,0),transform:`translate(-50%, calc(-100% - ${V(z)}px - 4px))`},label:pe(`companionSurface.talk`)}),(0,P.jsx)(We,{label:pe(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:i,avatarSrc:a,character:o,attentive:s,busy:_e||O||ge,collapsed:!A&&!W,restingScale:S/l,style:{left:K,top:H(d,0),transform:`translate(-50%, -50%)${R===1?``:` scale(${R})`}`,transition:I?void 0:`left 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:m,onPointerDown:h,onContextMenu:g,onClick:ne}),k,fe,oe]})}var Ve=`rgba(28, 28, 30, 0.55)`,He=`backdrop-blur-md backdrop-saturate-150`;function Ue({className:e,style:t,label:n,...r}){return(0,P.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${He} ${e}`,style:{...t,backgroundColor:Ve},"aria-hidden":!0,...r,children:[n,(0,P.jsx)(`span`,{className:`absolute top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2 ${He}`,style:{backgroundColor:Ve,clipPath:`polygon(0 0, 100% 0, 50% 100%)`},"aria-hidden":!0})]})}function We({accentHex:e,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,collapsed:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=t();return(0,P.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:[r===void 0?null:(0,P.jsx)(Me,{character:r,capsule:Fe,enabled:o&&!i,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,P.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,P.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:r===void 0?n===void 0?(0,P.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,P.jsx)(`img`,{src:n,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,P.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,P.jsx)(C,{components:k,traits:r,size:Pe,isAssistantBusy:i,attentive:a})})})})]})}function Ge({dictating:e,dictationText:t}){let{t:n}=r(),i=t.trim();return(0,P.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,P.jsx)(m,{className:`size-4 shrink-0`,"aria-hidden":!0}),i?(0,P.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:Le},children:(0,P.jsx)(`span`,{className:`shrink-0`,children:i})}):(0,P.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Le},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Ke({offer:e}){let{t}=r();return(0,P.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,P.jsx)(m,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,P.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Z},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(`companionSurface.offerNowhere`)})]})}function qe({watching:e=!1,onWatch:t}){return(0,P.jsx)(P.Fragment,{children:e&&(0,P.jsx)(et,{onWatch:t})})}function Q({watching:e,watchEnabled:t,picking:n,onWatch:i,onTeach:a}){let{t:o}=r();return t?(0,P.jsx)($,{icon:(0,P.jsx)(_,{className:`size-4`}),label:o(`companionSurface.teach`),pressed:e||n,onClick:e?i:a??i}):e?(0,P.jsx)(et,{onWatch:i}):null}function Je({retro:e,onWatchRetro:t}){let{t:n}=r();return e===`pending`?(0,P.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)($,{icon:(0,P.jsx)(f,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function Ye({call:e,assistantName:t,watching:n,watchEnabled:i,picking:a,sharing:o,shareEnabled:s,sharePicking:l,annotating:d,onControl:f,onWatch:m,onTeach:g,onShare:_,onStopShare:v,onAnnotate:y}){let{t:b}=r();if(e===void 0)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{className:`ml-1 max-w-[160px] shrink-0 truncate text-[12px] text-white/85`,children:t===``?b(`companionSurface.calling`):b(`companionSurface.callingNamed`,{name:t})}),(0,P.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:m,onTeach:g}),(0,P.jsx)(Qe,{onControl:f})]});if(e.approvalRequestId!==``)return(0,P.jsx)($e,{detail:e.detail,requestId:e.approvalRequestId,onControl:f});let x=e.detail||e.label,{muted:S,outputMuted:C}=e;return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:Re},children:x}),(0,P.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:m,onTeach:g}),(0,P.jsx)(Xe,{sharing:o,shareEnabled:s,sharePicking:l,onShare:_,onStopShare:v}),(0,P.jsx)(Ze,{sharing:o,annotating:d,onAnnotate:y}),(0,P.jsx)($,{icon:S?(0,P.jsx)(u,{className:`size-4`}):(0,P.jsx)(c,{className:`size-4`}),label:b(S?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{f?.(S?`unmuteMicrophone`:`muteMicrophone`)}}),(0,P.jsx)($,{icon:C?(0,P.jsx)(p,{className:`size-4`}):(0,P.jsx)(h,{className:`size-4`}),label:b(C?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{f?.(C?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,P.jsx)(Qe,{onControl:f})]})}function Xe({sharing:e,shareEnabled:t,sharePicking:n,onShare:i,onStopShare:a}){let{t:o}=r();return!t&&!e?null:(0,P.jsx)($,{icon:(0,P.jsx)(me,{className:`size-4`}),label:o(`companionSurface.share`),pressed:e||n,onClick:e?a:i})}function Ze({sharing:e,annotating:t,onAnnotate:n}){let{t:i}=r();return e?(0,P.jsx)($,{icon:(0,P.jsx)(v,{className:`size-4`}),label:i(`companionSurface.draw`),pressed:t,onClick:()=>{n?.(!t)}}):null}function Qe({onControl:e}){let{t}=r();return(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function $e({detail:e,requestId:t,onControl:n}){let{t:i}=r();return(0,P.jsxs)(P.Fragment,{children:[e!==``&&(0,P.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,P.jsx)($,{icon:(0,P.jsx)(s,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function et({onWatch:e}){let{t}=r();return(0,P.jsx)($,{icon:(0,P.jsx)(l,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var tt=`-translate-y-[calc(50%+22px)]`;function $({icon:e,label:t,tone:n,showLabel:r=!1,pressed:i,onClick:a}){return(0,P.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i,onClick:a,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i===!0?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r?(0,P.jsx)(`span`,{children:t}):(0,P.jsx)(Ue,{label:t,className:`opacity-0 group-hover:opacity-100 ${tt}`,"data-label":`hover`})]})}var nt=3;function rt(){let{t:e}=r(),[t,n]=(0,N.useState)(`right`),[i,a]=(0,N.useState)(`up`),[o,s]=(0,N.useState)(S),[c,l]=(0,N.useState)(S),[u,d]=(0,N.useState)(),[f,p]=(0,N.useState)(),[m,h]=(0,N.useState)(),[g,_]=(0,N.useState)(null),[v,y]=(0,N.useState)(!1),[x,C]=(0,N.useState)(void 0),[w,te]=(0,N.useState)(``),[oe,k]=(0,N.useState)(``),[j,me]=(0,N.useState)(!1),[F,he]=(0,N.useState)(!1),[ge,_e]=(0,N.useState)(void 0),[I,ve]=(0,N.useState)(void 0),[ye,L]=(0,N.useState)(!1),[R,z]=(0,N.useState)(!1),[xe,B]=(0,N.useState)(void 0),[V,H]=(0,N.useState)(!1),[U,Ce]=(0,N.useState)(!1),[W,G]=(0,N.useState)(!1),[K,De]=(0,N.useState)(`teach`),[Oe,ke]=(0,N.useState)(null),q=(0,N.useRef)(0),[Ae,je]=(0,N.useState)(!1),[J,Me]=(0,N.useState)(null),Y=(0,N.useRef)(!1),Ne=(0,N.useRef)(null),Pe=(0,N.useRef)(null),X=(0,N.useRef)(null),Fe=(0,N.useRef)(null),Ie=(0,N.useRef)(null),Le=(0,N.useRef)(null),Z=(0,N.useRef)(null),Re=(0,N.useRef)(null),ze=(0,N.useRef)(!1);(0,N.useEffect)(()=>{let e=e=>{n(e.growth),a(e.cardGrowth),s(e.avatarBox),l(e.optionsBox??e.avatarBox),d(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),p(e.character),h(e.accentHex),_(e.call),y(e.dialing===!0),k(e.assistantName),me(e.working),he(e.watching===!0),C(e.dictating),te(e.dictationText??``),_e(e.watchRetro),ve(e.dictationOffer),L(e.watchEnabled===!0),z(e.watchTargets===!0),B(e.screenShare),H(e.screenShareEnabled===!0),Ce(e.annotating===!0),Me(e.intro)},t=de(e);return ue().then(t=>{t&&e(t)}),t},[]),(0,N.useEffect)(()=>()=>{se(!1)},[]);let Ve=g!==null||v,He=xe!==void 0;(0,N.useEffect)(()=>{Ve||(q.current+=1,G(!1))},[Ve]),(0,N.useEffect)(()=>{F&&K===`teach`&&(q.current+=1,G(!1))},[F,K]),(0,N.useEffect)(()=>{He&&K===`share`&&(q.current+=1,G(!1))},[He,K]);let Ue=(e,t)=>{ke(null),De(e),G(!0);let n=++q.current;ae().then(e=>{if(n===q.current){if(e!==null){ke(e);return}G(!1),t()}})},We=()=>{if(!R){D();return}if(W&&K===`teach`){q.current+=1,G(!1);return}Ue(`teach`,D)},Ge=()=>{if(W&&K===`share`){q.current+=1,G(!1);return}Ue(`share`,()=>void 0)};(0,N.useEffect)(()=>{!W&&Y.current&&(Y.current=!1,se(!1))},[W]),(0,N.useEffect)(()=>{I===void 0&&Y.current&&(Y.current=!1,se(!1))},[I]);let Ke=e=>{if(q.current+=1,G(!1),K===`share`){le(e);return}D(e)},qe=e=>{Y.current!==e&&(Y.current=e,se(e))},Q=J!==null&&g===null&&!v,Je=(0,N.useRef)(Q);(0,N.useEffect)(()=>{Je.current&&!Q&&(je(!1),qe(!1)),Je.current=Q},[Q]);let Ye=Te(J),Xe=g!==null||v?`call`:x===void 0?I===void 0?F?`watching`:ge===void 0?Ye??(Ae?`hover`:`resting`):`summary`:`offer`:`dictating`,Ze=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null),Z.current!==null){let{x:t,y:n}=Z.current;ce(e.screenX-t,e.screenY-n),Z.current={x:e.screenX,y:e.screenY};let r=Re.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>nt&&(ze.current=!0);return}let t=X.current;if(!t)return;let n=Ne.current?.getBoundingClientRect()??null,r=Pe.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=A({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=Fe.current,s=o!==null&&pe(o.getBoundingClientRect(),e.clientX,e.clientY),c=Le.current,l=c!==null&&pe(c.getBoundingClientRect(),e.clientX,e.clientY),u=Ie.current,d=u!==null&&pe(u.getBoundingClientRect(),e.clientX,e.clientY);je(a),qe(a||s||d||l)},Qe=M(g,m,f);return(0,P.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Ze,onMouseUp:()=>{Z.current=null},onPointerCancel:()=>{Z.current=null,je(!1),qe(!1)},onMouseLeave:()=>{Z.current===null&&(je(!1),qe(!1))},children:(0,P.jsx)(Be,{phase:Xe,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,avatarSrc:u,character:f,hovered:Ae,accentHex:Qe,call:g??void 0,assistantName:oe,dictating:x,dictationText:w,working:j,watching:F,watchRetro:ge,onWatchRetro:b,dictationOffer:I,offer:I===void 0?null:(0,P.jsx)(Se,{offer:I,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Le,onAnswer:e=>{ee(e,I.id)}}),watchEnabled:ye,spotlight:we(J),intro:!Q||J===null?null:(0,P.jsx)(Ee,{beat:J,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,accentHex:Qe,assistantName:oe===``?void 0:oe,cardRef:Fe,onAdvance:T}),rootRef:Ne,restingPillRef:Pe,avatarRef:X,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},Re.current={x:e.screenX,y:e.screenY},ze.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),ne())},onAvatarClick:()=>{if(!ze.current){if(g!==null||v){E();return}ie()}},onWatch:()=>{D()},onTeach:We,picking:W&&K===`teach`,sharing:He,shareEnabled:V,sharePicking:W&&K===`share`,onShare:Ge,onStopShare:()=>{le()},annotating:U,onAnnotate:e=>{re(e)},picker:W?(0,P.jsx)(be,{sources:Oe,captureThumbnail:O,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Ie,label:K===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Ke}):null,onControl:(e,t)=>{fe(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{rt as CompanionSurfacePage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,g as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Ci as o,Hr as s,It as c,Jn as l,Lt as u,Mt as d,X as f,d as p,di as m,f as h,i as g,qn as _,vt as v,xi as y}from"./icons-J6Mg9wGk.js";import{$o as b,By as x,Hl as S,Jr as C,Qo as ee,Ul as w,Xo as T,Xy as te,Yo as E,cs as ne,ds as D,es as O,is as re,ls as ie,ns as ae,on as oe,os as se,rs as ce,ss as le,ts as ue,us as de,vi as k,ys as fe}from"./index-HYLyITE5.js";import{n as pe,r as A,t as j}from"./companion-layout-DwG7CQsH.js";import{n as M}from"./companion-accent-CtZJiWC7.js";var me=o(`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`}]]),N=e(i(),1),P=a(),F=460,he=3,ge=88,_e=3,I=[`screens`,`tabs`,`windows`],ve=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,ye=e=>I.find(t=>ve(e,t)>0)??`screens`,L=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function be({sources:e,captureThumbnail:t,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,label:s,onPick:c}){let{t:l}=r(),{inUnits:u,lineAt:f,introStepOff:p}=j(i,a),m=u(p(n)),h={left:`50%`,top:f(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${m}px))`:`translate(-50%, ${m}px)`},g=e===null?[]:I.filter(t=>ve(e,t)>0),_=e!==null&&g.length===0,[v,y]=(0,N.useState)(null),b=e===null?`screens`:v!==null&&g.includes(v)?v:ye(e),C=(0,N.useMemo)(()=>e===null?[]:b===`screens`?e.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:L(t),target:t}}):b===`windows`?e.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:L(t),target:t}}):[],[b,e]),[ee,w]=(0,N.useState)(new Map),T=(0,N.useRef)(new Set),E=(0,N.useRef)(0),ne=(0,N.useRef)(!1);(0,N.useEffect)(()=>(ne.current=!0,()=>{ne.current=!1}),[]),(0,N.useEffect)(()=>{T.current=new Set,E.current+=1,w(new Map),y(null)},[e]);let D=(0,N.useRef)(null);(0,N.useEffect)(()=>{D.current!==null&&(D.current.scrollTop=0)},[b]),(0,N.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of C){if(T.current.has(e))continue;T.current.add(e);let r=E.current,i=t=>{!ne.current||r!==E.current||w(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,C]);let O=e=>t===void 0?null:ee.get(e),re=e=>l(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,P.jsxs)(`div`,{ref:o,role:`group`,"aria-label":s??l(`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:F,...h},onPointerDown:e=>{e.stopPropagation()},children:[g.length>1&&(0,P.jsx)(x,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:g.map(e=>({value:e,label:re(e)})),value:b,ariaLabel:l(`companionSurface.captureKind`),onChange:y}),(0,P.jsx)(te,{ref:D,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,P.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,P.jsx)(V,{}),e!==null&&b===`screens`&&(0,P.jsx)(R,{children:e.displays.map(e=>{let t=l(`companionSurface.captureScreen`,{n:e.index+1}),n=L({kind:`display`,displayId:e.displayId});return(0,P.jsx)(z,{title:t,ariaLabel:t,answer:O(n),fallback:(0,P.jsx)(d,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),e!==null&&b===`windows`&&(0,P.jsx)(R,{children:e.windows.map(e=>{let t=L({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,P.jsx)(z,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:O(t),fallback:(0,P.jsx)(B,{icon:e.icon,large:!0}),icon:(0,P.jsx)(B,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),e!==null&&b===`tabs`&&(0,P.jsx)(`div`,{className:`flex flex-col`,children:e.tabs.map(e=>(0,P.jsx)(xe,{icon:(0,P.jsx)(B,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),_&&(0,P.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:l(`companionSurface.captureNothing`)})]})})]})}function R({children:e}){return(0,P.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${he}, minmax(0, 1fr))`},children:e})}function z({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,P.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,P.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:ge},children:n==null?r:(0,P.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,P.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function xe({icon:e,title:t,onClick:n}){return(0,P.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,P.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function B({icon:e,large:t=!1}){return(0,P.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,P.jsx)(y,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,P.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function V(){return(0,P.jsx)(R,{children:Array.from({length:_e},(e,t)=>(0,P.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,P.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:ge}}),(0,P.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var H=260;function Se({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,onAnswer:s}){let{t:c}=r(),l=e.reason===`claimed`?c(`companionSurface.offerVersion`):c(`companionSurface.offerNowhere`),{inUnits:u,avatarHalf:d,lineAt:f,edgeAt:p,introStepOff:m}=j(i,a),h=u(m(n)),g=p(t,-d),_={top:f(n,0),transform:n===`up`?`translateY(calc(-100% - ${h}px))`:`translateY(${h}px)`};return(0,P.jsxs)(`div`,{ref:o,role:`group`,"aria-label":l,"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:H,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,P.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:l}),(0,P.jsx)(te,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,P.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,P.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:()=>s?.(`dismiss`),children:e.reason===`claimed`?c(`companionSurface.notNow`):c(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,P.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:()=>s?.(`quit`),children:c(`companionSurface.offerQuit`,{app:e.app})}):null,(0,P.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:()=>s?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?c(`companionSurface.offerUse`):c(`companionSurface.offerCopy`)})]})]})}var U=244,Ce={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},we=e=>e===`talk`?e:void 0,Te=e=>e===null||e===`meet`?null:`hover`;function Ee({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,accentHex:o,assistantName:s,cardRef:c,onAdvance:l}){let{t:u}=r(),d=w.indexOf(e),f=d===w.length-1,p=Ce[e],{inUnits:m,avatarHalf:h,lineAt:g,edgeAt:_,introStepOff:v}=j(i,a),y=m(v(n)),b=_(t,-h),x={top:g(n,0),transform:n===`up`?`translateY(calc(-100% - ${y}px))`:`translateY(${y}px)`};return(0,P.jsxs)(`div`,{ref:c,role:`group`,"aria-label":u(`companionIntro.ariaLabel`),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:U,...b,...x},onPointerDown:e=>{e.stopPropagation()},children:[(0,P.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&s!==void 0?u(`companionIntro.meet.titleNamed`,{name:s}):u(p.title)}),(0,P.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:u(p.body)}),(0,P.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,P.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:w.map((e,t)=>(0,P.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===d?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,P.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!f&&(0,P.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:()=>l?.(`dismiss`),children:u(`companionIntro.skip`)}),(0,P.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:()=>l?.(`next`),children:u(f?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var W={min:3,max:10},G=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},K=1600,De=.22,Oe=.04,ke=4,q=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Oe)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ke,height:i+ke},rest:i+2}},Ae=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function je(e,t=W){let[n,r]=(0,N.useState)(0),{min:i,max:a}=t;return(0,N.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},Ae({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var J=(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 Me({character:e,capsule:r,enabled:i,held:a=!1,edge:o,interval:s=W,className:c,style:l}){let u=t(),d=(0,N.useMemo)(()=>oe(k,e),[e]),f=je(i&&!a&&!u&&d!==null,s),[p,m]=(0,N.useState)(!1),[h,g]=(0,N.useState)(`top`);if((0,N.useEffect)(()=>{if(f===0)return;g(G()),m(!0);let e=setTimeout(()=>{m(!1)},K);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let _=q(d,r.width),v=a||p,y=o??h,b=J(y,_.clip,r);return(0,P.jsx)(`div`,{className:`companion-peek ${c??``}`,style:{width:r.width,height:r.height,...l},"data-risen":v,"data-edge":y,"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`absolute`,style:b.slot,children:(0,P.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,P.jsx)(n.div,{className:`absolute left-1/2`,style:{width:_.size,height:_.size,marginLeft:-_.size/2,top:_.clip.height-_.exposed},initial:{y:_.rest},animate:{y:v?0:_.rest},transition:a?{duration:0}:v?{type:`spring`,stiffness:280,damping:14}:{duration:De,ease:`easeIn`},children:(0,P.jsx)(C,{components:k,traits:e,size:_.size})})})})})}var Y=`#5eead4`,Ne=new Set([`transcribing`,`thinking`,`speaking`]),Pe=28,X={idle:{width:64,height:14},closing:Pe,rim:2,bloom:4},Fe=X.idle,Ie=(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(`, `),Le=244,Z=200,Re=120,ze={watching:40,summary:220,dictating:Le+32,offer:Z+32,call:4+Re+180};function Be({phase:e,assistantName:n=``,accentHex:i=Y,avatarSrc:a,character:o,hovered:s=!1,growth:c=`right`,avatarBox:l=S,optionsBox:u=S,cardGrowth:d=`up`,rootRef:f,restingPillRef:p,avatarRef:m,onSurfacePointerDown:h,onSurfaceContextMenu:g,spotlight:_,onWatch:v,onTeach:y,picking:b=!1,sharing:x=!1,shareEnabled:C=!1,sharePicking:ee=!1,onShare:w,onStopShare:T,annotating:te=!1,onAnnotate:E,onAvatarClick:ne,working:D=!1,watching:O=!1,watchRetro:re,onWatchRetro:ie,dictationOffer:ae,offer:oe,watchEnabled:se=!1,dictating:ce,dictationText:le=``,call:ue,onControl:de,intro:k,picker:fe}){let{t:pe}=r(),A=e!==`resting`,M=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,[me,F]=(0,N.useState)(!1);(0,N.useEffect)(()=>{if(e!==`hover`){F(!1);return}let t=setTimeout(()=>{F(!0)},500);return()=>{clearTimeout(t)}},[e]);let he=_===`talk`||e===`hover`&&me,ge=re===`pending`,_e=D||ue!==void 0&&Ne.has(ue.phase),I=t(),ve=(0,N.useRef)(null),[ye,L]=(0,N.useState)(null);(0,N.useLayoutEffect)(()=>{let e=ve.current;if(!e)return;let t=()=>{L(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:be,avatarRel:R,avatarHalf:z,baseline:xe,gap:B,inUnits:V,lineAt:H,edgeAt:Se}=j(l,u),U=e===`call`,Ce=M?(ye??ze[e])+16:0,we=Se(c,z+B),Te=l/S,Ee=A?{width:X.closing*Te,height:X.closing*Te}:X.idle,W=k!=null,G=U?{width:Ce,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:Ce,...we,top:H(d,xe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},K=U?`calc(50% - ${Ce/2+V(z+B)}px)`:`50%`;return(0,P.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/be}%`,height:`${100/be}%`,transform:`scale(${be})`},children:[(0,P.jsxs)(`div`,{className:`absolute flex h-11 cursor-grab items-center rounded-full transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${!U&&c===`left`?`justify-end`:``}`,style:G,onPointerDown:h,onContextMenu:g,ref:f,children:[(0,P.jsx)(`span`,{className:`absolute inset-0 rounded-full border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200`,style:{opacity:+!!M},"aria-hidden":!0}),U&&(0,P.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:+!!M,"--companion-ring-accent":i},"aria-hidden":!0}),(0,P.jsx)(`div`,{className:`relative flex h-11 shrink-0 items-center`,style:{paddingInline:8},children:(0,P.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:ve,inert:!M,style:{opacity:+!!M,transitionDelay:M?`120ms`:`0ms`},children:e===`call`?(0,P.jsx)(Ye,{call:ue,assistantName:n,watching:O,watchEnabled:se,picking:b,sharing:x,shareEnabled:C,sharePicking:ee,annotating:te,onControl:de,onWatch:v,onTeach:y,onShare:w,onStopShare:T,onAnnotate:E}):e===`dictating`&&ce!==void 0?(0,P.jsx)(Ge,{dictating:ce,dictationText:le}):e===`summary`&&re!==void 0?(0,P.jsx)(Je,{retro:re,onWatchRetro:ie}):e===`offer`&&ae!==void 0?(0,P.jsx)(Ke,{offer:ae}):(0,P.jsx)(qe,{watching:O,onWatch:v})})})]}),(0,P.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:V(X.idle.width),height:V(X.idle.height),pointerEvents:A?`none`:void 0,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`},onPointerDown:h,onContextMenu:g,ref:p,"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:V(Ee.width),height:V(Ee.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:I?`opacity`:void 0,boxShadow:Ie(i,V(X.rim),V(X.bloom)),opacity:+!A}})}),(0,P.jsx)(Ue,{className:he?`opacity-100`:`opacity-0`,"data-companion-name":he?`shown`:`hidden`,style:{left:`50%`,top:H(d,0),transform:`translate(-50%, calc(-100% - ${V(z)}px - 4px))`},label:pe(`companionSurface.talk`)}),(0,P.jsx)(We,{label:pe(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:i,avatarSrc:a,character:o,attentive:s,busy:_e||O||ge,collapsed:!A&&!W,restingScale:S/l,style:{left:K,top:H(d,0),transform:`translate(-50%, -50%)${R===1?``:` scale(${R})`}`,transition:I?void 0:`left 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:m,onPointerDown:h,onContextMenu:g,onClick:ne}),k,fe,oe]})}var Ve=`rgba(28, 28, 30, 0.55)`,He=`backdrop-blur-md backdrop-saturate-150`;function Ue({className:e,style:t,label:n,...r}){return(0,P.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${He} ${e}`,style:{...t,backgroundColor:Ve},"aria-hidden":!0,...r,children:[n,(0,P.jsx)(`span`,{className:`absolute top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2 ${He}`,style:{backgroundColor:Ve,clipPath:`polygon(0 0, 100% 0, 50% 100%)`},"aria-hidden":!0})]})}function We({accentHex:e,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,collapsed:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=t();return(0,P.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:[r===void 0?null:(0,P.jsx)(Me,{character:r,capsule:Fe,enabled:o&&!i,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,P.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,P.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:r===void 0?n===void 0?(0,P.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,P.jsx)(`img`,{src:n,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,P.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,P.jsx)(C,{components:k,traits:r,size:Pe,isAssistantBusy:i,attentive:a})})})})]})}function Ge({dictating:e,dictationText:t}){let{t:n}=r(),i=t.trim();return(0,P.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,P.jsx)(m,{className:`size-4 shrink-0`,"aria-hidden":!0}),i?(0,P.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:Le},children:(0,P.jsx)(`span`,{className:`shrink-0`,children:i})}):(0,P.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Le},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Ke({offer:e}){let{t}=r();return(0,P.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,P.jsx)(m,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,P.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Z},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(`companionSurface.offerNowhere`)})]})}function qe({watching:e=!1,onWatch:t}){return(0,P.jsx)(P.Fragment,{children:e&&(0,P.jsx)(et,{onWatch:t})})}function Q({watching:e,watchEnabled:t,picking:n,onWatch:i,onTeach:a}){let{t:o}=r();return t?(0,P.jsx)($,{icon:(0,P.jsx)(_,{className:`size-4`}),label:o(`companionSurface.teach`),pressed:e||n,onClick:e?i:a??i}):e?(0,P.jsx)(et,{onWatch:i}):null}function Je({retro:e,onWatchRetro:t}){let{t:n}=r();return e===`pending`?(0,P.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)($,{icon:(0,P.jsx)(f,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function Ye({call:e,assistantName:t,watching:n,watchEnabled:i,picking:a,sharing:o,shareEnabled:s,sharePicking:l,annotating:d,onControl:f,onWatch:m,onTeach:g,onShare:_,onStopShare:v,onAnnotate:y}){let{t:b}=r();if(e===void 0)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{className:`ml-1 max-w-[160px] shrink-0 truncate text-[12px] text-white/85`,children:t===``?b(`companionSurface.calling`):b(`companionSurface.callingNamed`,{name:t})}),(0,P.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:m,onTeach:g}),(0,P.jsx)(Qe,{onControl:f})]});if(e.approvalRequestId!==``)return(0,P.jsx)($e,{detail:e.detail,requestId:e.approvalRequestId,onControl:f});let x=e.detail||e.label,{muted:S,outputMuted:C}=e;return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:Re},children:x}),(0,P.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:m,onTeach:g}),(0,P.jsx)(Xe,{sharing:o,shareEnabled:s,sharePicking:l,onShare:_,onStopShare:v}),(0,P.jsx)(Ze,{sharing:o,annotating:d,onAnnotate:y}),(0,P.jsx)($,{icon:S?(0,P.jsx)(u,{className:`size-4`}):(0,P.jsx)(c,{className:`size-4`}),label:b(S?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{f?.(S?`unmuteMicrophone`:`muteMicrophone`)}}),(0,P.jsx)($,{icon:C?(0,P.jsx)(p,{className:`size-4`}):(0,P.jsx)(h,{className:`size-4`}),label:b(C?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{f?.(C?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,P.jsx)(Qe,{onControl:f})]})}function Xe({sharing:e,shareEnabled:t,sharePicking:n,onShare:i,onStopShare:a}){let{t:o}=r();return!t&&!e?null:(0,P.jsx)($,{icon:(0,P.jsx)(me,{className:`size-4`}),label:o(`companionSurface.share`),pressed:e||n,onClick:e?a:i})}function Ze({sharing:e,annotating:t,onAnnotate:n}){let{t:i}=r();return e?(0,P.jsx)($,{icon:(0,P.jsx)(v,{className:`size-4`}),label:i(`companionSurface.draw`),pressed:t,onClick:()=>{n?.(!t)}}):null}function Qe({onControl:e}){let{t}=r();return(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function $e({detail:e,requestId:t,onControl:n}){let{t:i}=r();return(0,P.jsxs)(P.Fragment,{children:[e!==``&&(0,P.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,P.jsx)($,{icon:(0,P.jsx)(s,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,P.jsx)($,{icon:(0,P.jsx)(g,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function et({onWatch:e}){let{t}=r();return(0,P.jsx)($,{icon:(0,P.jsx)(l,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var tt=`-translate-y-[calc(50%+22px)]`;function $({icon:e,label:t,tone:n,showLabel:r=!1,pressed:i,onClick:a}){return(0,P.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i,onClick:a,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i===!0?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r?(0,P.jsx)(`span`,{children:t}):(0,P.jsx)(Ue,{label:t,className:`opacity-0 group-hover:opacity-100 ${tt}`,"data-label":`hover`})]})}var nt=3;function rt(){let{t:e}=r(),[t,n]=(0,N.useState)(`right`),[i,a]=(0,N.useState)(`up`),[o,s]=(0,N.useState)(S),[c,l]=(0,N.useState)(S),[u,d]=(0,N.useState)(),[f,p]=(0,N.useState)(),[m,h]=(0,N.useState)(),[g,_]=(0,N.useState)(null),[v,y]=(0,N.useState)(!1),[x,C]=(0,N.useState)(void 0),[w,te]=(0,N.useState)(``),[oe,k]=(0,N.useState)(``),[j,me]=(0,N.useState)(!1),[F,he]=(0,N.useState)(!1),[ge,_e]=(0,N.useState)(void 0),[I,ve]=(0,N.useState)(void 0),[ye,L]=(0,N.useState)(!1),[R,z]=(0,N.useState)(!1),[xe,B]=(0,N.useState)(void 0),[V,H]=(0,N.useState)(!1),[U,Ce]=(0,N.useState)(!1),[W,G]=(0,N.useState)(!1),[K,De]=(0,N.useState)(`teach`),[Oe,ke]=(0,N.useState)(null),q=(0,N.useRef)(0),[Ae,je]=(0,N.useState)(!1),[J,Me]=(0,N.useState)(null),Y=(0,N.useRef)(!1),Ne=(0,N.useRef)(null),Pe=(0,N.useRef)(null),X=(0,N.useRef)(null),Fe=(0,N.useRef)(null),Ie=(0,N.useRef)(null),Le=(0,N.useRef)(null),Z=(0,N.useRef)(null),Re=(0,N.useRef)(null),ze=(0,N.useRef)(!1);(0,N.useEffect)(()=>{let e=e=>{n(e.growth),a(e.cardGrowth),s(e.avatarBox),l(e.optionsBox??e.avatarBox),d(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),p(e.character),h(e.accentHex),_(e.call),y(e.dialing===!0),k(e.assistantName),me(e.working),he(e.watching===!0),C(e.dictating),te(e.dictationText??``),_e(e.watchRetro),ve(e.dictationOffer),L(e.watchEnabled===!0),z(e.watchTargets===!0),B(e.screenShare),H(e.screenShareEnabled===!0),Ce(e.annotating===!0),Me(e.intro)},t=de(e);return ue().then(t=>{t&&e(t)}),t},[]),(0,N.useEffect)(()=>()=>{se(!1)},[]);let Ve=g!==null||v,He=xe!==void 0;(0,N.useEffect)(()=>{Ve||(q.current+=1,G(!1))},[Ve]),(0,N.useEffect)(()=>{F&&K===`teach`&&(q.current+=1,G(!1))},[F,K]),(0,N.useEffect)(()=>{He&&K===`share`&&(q.current+=1,G(!1))},[He,K]);let Ue=(e,t)=>{ke(null),De(e),G(!0);let n=++q.current;ae().then(e=>{if(n===q.current){if(e!==null){ke(e);return}G(!1),t()}})},We=()=>{if(!R){D();return}if(W&&K===`teach`){q.current+=1,G(!1);return}Ue(`teach`,D)},Ge=()=>{if(W&&K===`share`){q.current+=1,G(!1);return}Ue(`share`,()=>void 0)};(0,N.useEffect)(()=>{!W&&Y.current&&(Y.current=!1,se(!1))},[W]),(0,N.useEffect)(()=>{I===void 0&&Y.current&&(Y.current=!1,se(!1))},[I]);let Ke=e=>{if(q.current+=1,G(!1),K===`share`){le(e);return}D(e)},qe=e=>{Y.current!==e&&(Y.current=e,se(e))},Q=J!==null&&g===null&&!v,Je=(0,N.useRef)(Q);(0,N.useEffect)(()=>{Je.current&&!Q&&(je(!1),qe(!1)),Je.current=Q},[Q]);let Ye=Te(J),Xe=g!==null||v?`call`:x===void 0?I===void 0?F?`watching`:ge===void 0?Ye??(Ae?`hover`:`resting`):`summary`:`offer`:`dictating`,Ze=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null),Z.current!==null){let{x:t,y:n}=Z.current;ce(e.screenX-t,e.screenY-n),Z.current={x:e.screenX,y:e.screenY};let r=Re.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>nt&&(ze.current=!0);return}let t=X.current;if(!t)return;let n=Ne.current?.getBoundingClientRect()??null,r=Pe.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=A({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=Fe.current,s=o!==null&&pe(o.getBoundingClientRect(),e.clientX,e.clientY),c=Le.current,l=c!==null&&pe(c.getBoundingClientRect(),e.clientX,e.clientY),u=Ie.current,d=u!==null&&pe(u.getBoundingClientRect(),e.clientX,e.clientY);je(a),qe(a||s||d||l)},Qe=M(g,m,f);return(0,P.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Ze,onMouseUp:()=>{Z.current=null},onPointerCancel:()=>{Z.current=null,je(!1),qe(!1)},onMouseLeave:()=>{Z.current===null&&(je(!1),qe(!1))},children:(0,P.jsx)(Be,{phase:Xe,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,avatarSrc:u,character:f,hovered:Ae,accentHex:Qe,call:g??void 0,assistantName:oe,dictating:x,dictationText:w,working:j,watching:F,watchRetro:ge,onWatchRetro:b,dictationOffer:I,offer:I===void 0?null:(0,P.jsx)(Se,{offer:I,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Le,onAnswer:e=>{ee(e,I.id)}}),watchEnabled:ye,spotlight:we(J),intro:!Q||J===null?null:(0,P.jsx)(Ee,{beat:J,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,accentHex:Qe,assistantName:oe===``?void 0:oe,cardRef:Fe,onAdvance:T}),rootRef:Ne,restingPillRef:Pe,avatarRef:X,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},Re.current={x:e.screenX,y:e.screenY},ze.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),ne())},onAvatarClick:()=>{if(!ze.current){if(g!==null||v){E();return}ie()}},onWatch:()=>{D()},onTeach:We,picking:W&&K===`teach`,sharing:He,shareEnabled:V,sharePicking:W&&K===`share`,onShare:Ge,onStopShare:()=>{le()},annotating:U,onAnnotate:e=>{re(e)},picker:W?(0,P.jsx)(be,{sources:Oe,captureThumbnail:O,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Ie,label:K===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Ke}):null,onControl:(e,t)=>{fe(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{rt as CompanionSurfacePage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CV8wawxx.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Bl as i,Vl as a,Zo as o,as as s,ts as c,us as l}from"./index-jpjzZb6b.js";import{n as u}from"./companion-accent-tJqpwbpU.js";var d=e(n(),1);function f(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function p(e,t){return Math.round(e*1e3)*73856093^Math.round(t*1e3)*19349663}function m(e,t){if(e.length<2)return``;let n=n=>t?e[(n+e.length)%e.length]:e[Math.min(Math.max(n,0),e.length-1)],r=n(0),i=`M ${h(r.x)} ${h(r.y)}`,a=t?e.length:e.length-1;for(let e=0;e<a;e+=1){let t=n(e-1),r=n(e),a=n(e+1),o=n(e+2),s={x:r.x+(a.x-t.x)/6,y:r.y+(a.y-t.y)/6},c={x:a.x-(o.x-r.x)/6,y:a.y-(o.y-r.y)/6};i+=` C ${h(s.x)} ${h(s.y)}, ${h(c.x)} ${h(c.y)}, ${h(a.x)} ${h(a.y)}`}return t?`${i} Z`:i}function h(e){return Math.round(e*100)/100}var g=.09,_=.05,v=.028;function y(e){return Math.min(Math.max(e,0),g)}var b=1.5;b-Math.SQRT2*(b-1);function x(e,t){let n=Math.min(t*b,Math.min(e.width,e.height)/2+t),r=n-t,i=r,a=e.width-r,o=r,s=e.height-r,c={x:Math.max(a-i,0),y:Math.max(s-o,0)},l=Math.PI*n/2,u=[l,c.x,l,c.y,l,c.x,l,c.y],d=u.reduce((e,t)=>e+t,0),f=[{centre:{x:i,y:o},from:Math.PI},{centre:{x:a,y:o},from:-Math.PI/2},{centre:{x:a,y:s},from:0},{centre:{x:i,y:s},from:Math.PI/2}];return{at:e=>{let t=e%1*d;t<0&&(t+=d);for(let e=0;e<u.length;e+=1){let r=u[e];if(t>r&&e<u.length-1){t-=r;continue}let c=r===0?0:Math.min(t/r,1),l=f[e/2];if(e%2==0){let e=l.from+Math.PI/2*c;return{x:l.centre.x+Math.cos(e)*n,y:l.centre.y+Math.sin(e)*n}}let[d,p]=[[{x:i,y:o-n},{x:a,y:o-n}],[{x:a+n,y:o},{x:a+n,y:s}],[{x:a,y:s+n},{x:i,y:s+n}],[{x:i-n,y:s},{x:i-n,y:o}]][(e-1)/2];return{x:d.x+(p.x-d.x)*c,y:d.y+(p.y-d.y)*c}}return{x:0,y:0}},length:d}}function S(e,t){let n=t.padding??8,r={x:e.width/2,y:e.height/2},i=x(e,n),a=y(t.strength),o=f(t.seed),s=[];for(let e=0;e<=13;e+=1){let t=i.at(.18+1.055*e/13),n={x:t.x-r.x,y:t.y-r.y},c=Math.hypot(n.x,n.y)||1,l=o()*a*c;s.push({x:t.x+n.x/c*l,y:t.y+n.y/c*l})}return s}function C(e,t){return m(S(e,t),!1)}function w(e){let t=e.gap??10,n=y(e.strength),r=f(e.seed),i=e.length+t,a=Math.max(28,e.length*.55),o=a/2,s={x:o,y:i},c={x:o,y:t},l=r()<.5?-1:1,u=a*.17*l,d=e=>({x:(1-e)*(1-e)*s.x+2*(1-e)*e*(o+u)+e*e*c.x,y:(1-e)*(1-e)*s.y+2*(1-e)*e*((s.y+c.y)/2)+e*e*c.y}),p=[];for(let e=0;e<=9;e+=1){let t=e/9,i=d(t),o=(1-t)*(1-t),s=(r()-.5)*2*n*a*o;p.push({x:i.x+s,y:i.y})}let g=d(1-1/9),_=Math.atan2(c.y-g.y,c.x-g.x),v=Math.max(11,e.length*.3),b=.42,x=`M ${h(c.x+Math.cos(_-Math.PI+b)*v)} ${h(c.y+Math.sin(_-Math.PI+b)*v)} L ${h(c.x)} ${h(c.y)} L ${h(c.x+Math.cos(_-Math.PI-b)*v)} ${h(c.y+Math.sin(_-Math.PI-b)*v)}`;return{shaft:m(p,!1),head:x,width:a,height:i}}function T(){let[e,t]=(0,d.useState)(()=>({width:typeof window>`u`?0:window.innerWidth,height:typeof window>`u`?0:window.innerHeight}));return(0,d.useEffect)(()=>{let e=()=>{t({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]),e}var E=r(),D=.6,O=10,k=52,A=10,j=k+A,M=10,N=8;function P(e,t){let n=e.kind===`point`?j:0,r=e.kind===`point`?e.y:e.y+e.height,i=e.kind===`point`?0:e.width,a=(1-r)*t-n,o=e.y*t-n;return{above:a<58&&o>a,trailing:e.x+i>D}}function F(e,t,n){let r=n?1-e.y:e.kind===`point`?e.y:e.y+e.height,i=Math.max(t-58,0),a=e.kind===`point`?k:0;return Math.round(Math.min(r*t+a+O,i))}function I(e){let t=Math.min(Math.max(e,0),1)*100;return`${Number(t.toFixed(4))}%`}function L(e){let t=e.kind===`region`?`${e.width},${e.height}`:`point`;return`${e.kind},${e.x},${e.y},${t},${e.caption??``}`}function R({mark:e,box:t}){let n=Math.max(e.width*t.width,1),r=Math.max(e.height*t.height,1),i=M+N,a=C({width:n,height:r},{strength:_,seed:p(e.x,e.y),padding:M});return(0,E.jsxs)(`svg`,{className:`companion-coachmark`,"data-testid":`companion-coachmark`,"aria-hidden":`true`,viewBox:`${-i} ${-i} ${n+i*2} ${r+i*2}`,width:n+i*2,height:r+i*2,style:{left:Math.round(e.x*t.width-i),top:Math.round(e.y*t.height-i)},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:a}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:a})]})}function z({mark:e,above:t,box:n}){let r=w({length:k,approach:t?`above`:`below`,strength:v,seed:p(e.x,e.y),gap:A});return(0,E.jsxs)(`svg`,{className:`companion-coachmark-pointer`,"data-testid":`companion-coachmark-pointer`,"data-above":t?``:void 0,"aria-hidden":`true`,viewBox:`0 0 ${r.width} ${r.height}`,width:r.width,height:r.height,style:{left:Math.round(e.x*n.width-r.width/2),top:Math.round(e.y*n.height-(t?r.height:0)),...t?{"--companion-coachmark-turn":`rotate(180deg)`}:{}},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.head}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.head})]})}function B({marks:e,ink:t}){let n=T();return(0,E.jsx)(`div`,{className:`pointer-events-none fixed inset-0`,"data-testid":`companion-coachmarks`,style:{"--companion-ring-accent":t},role:`presentation`,children:e.map(e=>{let{above:t,trailing:r}=P(e,n.height),i=`${F(e,n.height,t)}px`;return(0,E.jsxs)(d.Fragment,{children:[e.kind===`region`?(0,E.jsx)(R,{mark:e,box:n}):(0,E.jsx)(z,{mark:e,above:t,box:n}),e.caption!==void 0&&e.caption!==``&&(0,E.jsx)(`div`,{className:`companion-coachmark-caption`,"data-testid":`companion-coachmark-caption`,"data-above":t?``:void 0,"data-trailing":r?``:void 0,style:{...r?{right:I(1-(e.kind===`region`?e.x+e.width:e.x))}:{left:I(e.x)},...t?{bottom:i}:{top:i},maxWidth:I(.4)},children:e.caption})]},L(e))})})}var V=4500,H=e=>Math.min(Math.max(e,0),1);function U(e,t,n){let r=(t.x-e.x)*n,a=t.y-e.y;return r*r+a*a>=i**2}var W=`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`;function G(e){let t=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><g stroke="#ffffff" stroke-width="4">${W}</g><g stroke="${e}" stroke-width="2">${W}</g></svg>`;return`url("data:image/svg+xml,${encodeURIComponent(t)}") 2 22, crosshair`}function K({ink:e}){let[t,n]=(0,d.useState)([]),r=(0,d.useRef)([]),i=(0,d.useRef)(null),c=(0,d.useRef)(!1),l=(0,d.useRef)(0),u=(0,d.useRef)(new Set),f=T(),p=f.height===0?1:f.width/f.height,m=(0,d.useRef)(e);(0,d.useEffect)(()=>{m.current=e},[e]),(0,d.useEffect)(()=>{let e=u.current;return()=>{for(let t of e)clearTimeout(t);e.clear(),i.current!==null&&(i.current=null,o(`released`,[],m.current))}},[]);let h=(0,d.useCallback)(e=>{r.current=e,n(e)},[]),g=e=>({x:f.width===0?0:H(e.clientX/f.width),y:f.height===0?0:H(e.clientY/f.height)}),_=()=>{i.current===null&&(c.current=!0,s(!0))},v=()=>{c.current&&(c.current=!1,s(!1))},y=t=>{if(v(),i.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=l.current++;i.current=n,h([...r.current,{id:n,points:[g(t)],spent:!1}]),o(`drawing`,[],e)},b=e=>{v();let t=i.current;if(t===null)return;let n=g(e),a=r.current.find(e=>e.id===t);if(a===void 0)return;let o=a.points[a.points.length-1];o!==void 0&&!U(o,n,p)||h(r.current.map(e=>e.id===t?{...e,points:[...e.points,n].slice(-512)}:e))},x=t=>{if(i.current===null)return;i.current=null,t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId);let n=r.current.map(e=>({...e,spent:!0}));h(n),o(`released`,n.slice(-24).map(e=>({points:e.points})),e);let a=new Set(n.map(e=>e.id)),s=setTimeout(()=>{u.current.delete(s),h(r.current.filter(e=>!a.has(e.id)))},V+900);u.current.add(s)},S=a*Math.min(f.width,f.height);return(0,E.jsx)(`svg`,{className:`companion-share-annotation fixed inset-0 h-full w-full`,style:{cursor:(0,d.useMemo)(()=>G(e),[e]),"--companion-ink-hold":`${V}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,role:`presentation`,onPointerDown:y,onPointerMove:b,onPointerUp:x,onPointerCancel:x,onWheel:_,children:t.map(t=>(0,E.jsx)(q,{stroke:t,box:f,width:S,ink:e},t.id))})}function q({stroke:e,box:t,width:n,ink:r}){let i=e.spent?`companion-share-ink companion-share-ink-spent`:`companion-share-ink`,a=e.points[0];return e.points.length===1&&a!==void 0?(0,E.jsx)(`circle`,{className:i,cx:a.x*t.width,cy:a.y*t.height,r:n/2,fill:r}):(0,E.jsx)(`polyline`,{className:i,points:e.points.map(e=>`${e.x*t.width},${e.y*t.height}`).join(` `),fill:`none`,stroke:r,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`})}function J(e,t){return e?{kind:`teaching`}:t===void 0?null:{kind:`sharing`,target:t}}function Y({read:e,assistantName:n,style:r}){let{t:i}=t(),a=n!==``,o=e.kind===`teaching`?a?i(`companionWatchFramePage.teachingNamed`,{name:n}):i(`companionWatchFramePage.teaching`):e.target.kind===`display`?a?i(`companionWatchFramePage.sharingScreenNamed`,{name:n}):i(`companionWatchFramePage.sharingScreen`):a?i(`companionWatchFramePage.sharingWindowNamed`,{name:n}):i(`companionWatchFramePage.sharingWindow`);return(0,E.jsxs)(`div`,{className:`companion-watch-frame-label`,"data-testid":`companion-watch-frame-label`,"data-read":e.kind,style:r,children:[(0,E.jsx)(`span`,{className:`companion-watch-frame-label-dot`}),o]})}function X(e,t){let n=(0,d.useRef)({captureCount:e,watching:t}),[r,i]=(0,d.useState)(0);return(0,d.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function Z(){let[e,t]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=l(t);return c().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,r=e?.screenShare!==void 0,i=J(n,e?.screenShare),a=i!==null,o=X(e?.captureCount??0,n),s=u(e?.call??null,e?.accentHex,e?.character),f=s===void 0?void 0:{"--companion-ring-accent":s},p=e?.frameInsetTop??0,m=p>0?{...f,"--companion-frame-inset":`${p}px`}:f,h=e?.annotating===!0,g=r&&!n?e?.coachmarks??[]:[];return(0,E.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[a&&(0,E.jsx)(`div`,{className:`companion-watch-frame fixed inset-0`,style:f}),i!==null&&(0,E.jsx)(Y,{read:i,assistantName:e?.assistantName??``,style:m}),n&&o>0&&(0,E.jsx)(`div`,{className:`companion-watch-frame-flash fixed inset-0`,style:f},o),h&&(0,E.jsx)(K,{ink:s??`#5eead4`}),g.length>0&&(0,E.jsx)(B,{marks:g,ink:s??`#5eead4`})]})}export{Z as CompanionWatchFramePage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CV8wawxx.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Bl as i,Vl as a,Zo as o,as as s,ts as c,us as l}from"./index-HYLyITE5.js";import{n as u}from"./companion-accent-CtZJiWC7.js";var d=e(n(),1);function f(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function p(e,t){return Math.round(e*1e3)*73856093^Math.round(t*1e3)*19349663}function m(e,t){if(e.length<2)return``;let n=n=>t?e[(n+e.length)%e.length]:e[Math.min(Math.max(n,0),e.length-1)],r=n(0),i=`M ${h(r.x)} ${h(r.y)}`,a=t?e.length:e.length-1;for(let e=0;e<a;e+=1){let t=n(e-1),r=n(e),a=n(e+1),o=n(e+2),s={x:r.x+(a.x-t.x)/6,y:r.y+(a.y-t.y)/6},c={x:a.x-(o.x-r.x)/6,y:a.y-(o.y-r.y)/6};i+=` C ${h(s.x)} ${h(s.y)}, ${h(c.x)} ${h(c.y)}, ${h(a.x)} ${h(a.y)}`}return t?`${i} Z`:i}function h(e){return Math.round(e*100)/100}var g=.09,_=.05,v=.028;function y(e){return Math.min(Math.max(e,0),g)}var b=1.5;b-Math.SQRT2*(b-1);function x(e,t){let n=Math.min(t*b,Math.min(e.width,e.height)/2+t),r=n-t,i=r,a=e.width-r,o=r,s=e.height-r,c={x:Math.max(a-i,0),y:Math.max(s-o,0)},l=Math.PI*n/2,u=[l,c.x,l,c.y,l,c.x,l,c.y],d=u.reduce((e,t)=>e+t,0),f=[{centre:{x:i,y:o},from:Math.PI},{centre:{x:a,y:o},from:-Math.PI/2},{centre:{x:a,y:s},from:0},{centre:{x:i,y:s},from:Math.PI/2}];return{at:e=>{let t=e%1*d;t<0&&(t+=d);for(let e=0;e<u.length;e+=1){let r=u[e];if(t>r&&e<u.length-1){t-=r;continue}let c=r===0?0:Math.min(t/r,1),l=f[e/2];if(e%2==0){let e=l.from+Math.PI/2*c;return{x:l.centre.x+Math.cos(e)*n,y:l.centre.y+Math.sin(e)*n}}let[d,p]=[[{x:i,y:o-n},{x:a,y:o-n}],[{x:a+n,y:o},{x:a+n,y:s}],[{x:a,y:s+n},{x:i,y:s+n}],[{x:i-n,y:s},{x:i-n,y:o}]][(e-1)/2];return{x:d.x+(p.x-d.x)*c,y:d.y+(p.y-d.y)*c}}return{x:0,y:0}},length:d}}function S(e,t){let n=t.padding??8,r={x:e.width/2,y:e.height/2},i=x(e,n),a=y(t.strength),o=f(t.seed),s=[];for(let e=0;e<=13;e+=1){let t=i.at(.18+1.055*e/13),n={x:t.x-r.x,y:t.y-r.y},c=Math.hypot(n.x,n.y)||1,l=o()*a*c;s.push({x:t.x+n.x/c*l,y:t.y+n.y/c*l})}return s}function C(e,t){return m(S(e,t),!1)}function w(e){let t=e.gap??10,n=y(e.strength),r=f(e.seed),i=e.length+t,a=Math.max(28,e.length*.55),o=a/2,s={x:o,y:i},c={x:o,y:t},l=r()<.5?-1:1,u=a*.17*l,d=e=>({x:(1-e)*(1-e)*s.x+2*(1-e)*e*(o+u)+e*e*c.x,y:(1-e)*(1-e)*s.y+2*(1-e)*e*((s.y+c.y)/2)+e*e*c.y}),p=[];for(let e=0;e<=9;e+=1){let t=e/9,i=d(t),o=(1-t)*(1-t),s=(r()-.5)*2*n*a*o;p.push({x:i.x+s,y:i.y})}let g=d(1-1/9),_=Math.atan2(c.y-g.y,c.x-g.x),v=Math.max(11,e.length*.3),b=.42,x=`M ${h(c.x+Math.cos(_-Math.PI+b)*v)} ${h(c.y+Math.sin(_-Math.PI+b)*v)} L ${h(c.x)} ${h(c.y)} L ${h(c.x+Math.cos(_-Math.PI-b)*v)} ${h(c.y+Math.sin(_-Math.PI-b)*v)}`;return{shaft:m(p,!1),head:x,width:a,height:i}}function T(){let[e,t]=(0,d.useState)(()=>({width:typeof window>`u`?0:window.innerWidth,height:typeof window>`u`?0:window.innerHeight}));return(0,d.useEffect)(()=>{let e=()=>{t({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]),e}var E=r(),D=.6,O=10,k=52,A=10,j=k+A,M=10,N=8;function P(e,t){let n=e.kind===`point`?j:0,r=e.kind===`point`?e.y:e.y+e.height,i=e.kind===`point`?0:e.width,a=(1-r)*t-n,o=e.y*t-n;return{above:a<58&&o>a,trailing:e.x+i>D}}function F(e,t,n){let r=n?1-e.y:e.kind===`point`?e.y:e.y+e.height,i=Math.max(t-58,0),a=e.kind===`point`?k:0;return Math.round(Math.min(r*t+a+O,i))}function I(e){let t=Math.min(Math.max(e,0),1)*100;return`${Number(t.toFixed(4))}%`}function L(e){let t=e.kind===`region`?`${e.width},${e.height}`:`point`;return`${e.kind},${e.x},${e.y},${t},${e.caption??``}`}function R({mark:e,box:t}){let n=Math.max(e.width*t.width,1),r=Math.max(e.height*t.height,1),i=M+N,a=C({width:n,height:r},{strength:_,seed:p(e.x,e.y),padding:M});return(0,E.jsxs)(`svg`,{className:`companion-coachmark`,"data-testid":`companion-coachmark`,"aria-hidden":`true`,viewBox:`${-i} ${-i} ${n+i*2} ${r+i*2}`,width:n+i*2,height:r+i*2,style:{left:Math.round(e.x*t.width-i),top:Math.round(e.y*t.height-i)},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:a}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:a})]})}function z({mark:e,above:t,box:n}){let r=w({length:k,approach:t?`above`:`below`,strength:v,seed:p(e.x,e.y),gap:A});return(0,E.jsxs)(`svg`,{className:`companion-coachmark-pointer`,"data-testid":`companion-coachmark-pointer`,"data-above":t?``:void 0,"aria-hidden":`true`,viewBox:`0 0 ${r.width} ${r.height}`,width:r.width,height:r.height,style:{left:Math.round(e.x*n.width-r.width/2),top:Math.round(e.y*n.height-(t?r.height:0)),...t?{"--companion-coachmark-turn":`rotate(180deg)`}:{}},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.head}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.head})]})}function B({marks:e,ink:t}){let n=T();return(0,E.jsx)(`div`,{className:`pointer-events-none fixed inset-0`,"data-testid":`companion-coachmarks`,style:{"--companion-ring-accent":t},role:`presentation`,children:e.map(e=>{let{above:t,trailing:r}=P(e,n.height),i=`${F(e,n.height,t)}px`;return(0,E.jsxs)(d.Fragment,{children:[e.kind===`region`?(0,E.jsx)(R,{mark:e,box:n}):(0,E.jsx)(z,{mark:e,above:t,box:n}),e.caption!==void 0&&e.caption!==``&&(0,E.jsx)(`div`,{className:`companion-coachmark-caption`,"data-testid":`companion-coachmark-caption`,"data-above":t?``:void 0,"data-trailing":r?``:void 0,style:{...r?{right:I(1-(e.kind===`region`?e.x+e.width:e.x))}:{left:I(e.x)},...t?{bottom:i}:{top:i},maxWidth:I(.4)},children:e.caption})]},L(e))})})}var V=4500,H=e=>Math.min(Math.max(e,0),1);function U(e,t,n){let r=(t.x-e.x)*n,a=t.y-e.y;return r*r+a*a>=i**2}var W=`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`;function G(e){let t=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><g stroke="#ffffff" stroke-width="4">${W}</g><g stroke="${e}" stroke-width="2">${W}</g></svg>`;return`url("data:image/svg+xml,${encodeURIComponent(t)}") 2 22, crosshair`}function K({ink:e}){let[t,n]=(0,d.useState)([]),r=(0,d.useRef)([]),i=(0,d.useRef)(null),c=(0,d.useRef)(!1),l=(0,d.useRef)(0),u=(0,d.useRef)(new Set),f=T(),p=f.height===0?1:f.width/f.height,m=(0,d.useRef)(e);(0,d.useEffect)(()=>{m.current=e},[e]),(0,d.useEffect)(()=>{let e=u.current;return()=>{for(let t of e)clearTimeout(t);e.clear(),i.current!==null&&(i.current=null,o(`released`,[],m.current))}},[]);let h=(0,d.useCallback)(e=>{r.current=e,n(e)},[]),g=e=>({x:f.width===0?0:H(e.clientX/f.width),y:f.height===0?0:H(e.clientY/f.height)}),_=()=>{i.current===null&&(c.current=!0,s(!0))},v=()=>{c.current&&(c.current=!1,s(!1))},y=t=>{if(v(),i.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=l.current++;i.current=n,h([...r.current,{id:n,points:[g(t)],spent:!1}]),o(`drawing`,[],e)},b=e=>{v();let t=i.current;if(t===null)return;let n=g(e),a=r.current.find(e=>e.id===t);if(a===void 0)return;let o=a.points[a.points.length-1];o!==void 0&&!U(o,n,p)||h(r.current.map(e=>e.id===t?{...e,points:[...e.points,n].slice(-512)}:e))},x=t=>{if(i.current===null)return;i.current=null,t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId);let n=r.current.map(e=>({...e,spent:!0}));h(n),o(`released`,n.slice(-24).map(e=>({points:e.points})),e);let a=new Set(n.map(e=>e.id)),s=setTimeout(()=>{u.current.delete(s),h(r.current.filter(e=>!a.has(e.id)))},V+900);u.current.add(s)},S=a*Math.min(f.width,f.height);return(0,E.jsx)(`svg`,{className:`companion-share-annotation fixed inset-0 h-full w-full`,style:{cursor:(0,d.useMemo)(()=>G(e),[e]),"--companion-ink-hold":`${V}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,role:`presentation`,onPointerDown:y,onPointerMove:b,onPointerUp:x,onPointerCancel:x,onWheel:_,children:t.map(t=>(0,E.jsx)(q,{stroke:t,box:f,width:S,ink:e},t.id))})}function q({stroke:e,box:t,width:n,ink:r}){let i=e.spent?`companion-share-ink companion-share-ink-spent`:`companion-share-ink`,a=e.points[0];return e.points.length===1&&a!==void 0?(0,E.jsx)(`circle`,{className:i,cx:a.x*t.width,cy:a.y*t.height,r:n/2,fill:r}):(0,E.jsx)(`polyline`,{className:i,points:e.points.map(e=>`${e.x*t.width},${e.y*t.height}`).join(` `),fill:`none`,stroke:r,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`})}function J(e,t){return e?{kind:`teaching`}:t===void 0?null:{kind:`sharing`,target:t}}function Y({read:e,assistantName:n,style:r}){let{t:i}=t(),a=n!==``,o=e.kind===`teaching`?a?i(`companionWatchFramePage.teachingNamed`,{name:n}):i(`companionWatchFramePage.teaching`):e.target.kind===`display`?a?i(`companionWatchFramePage.sharingScreenNamed`,{name:n}):i(`companionWatchFramePage.sharingScreen`):a?i(`companionWatchFramePage.sharingWindowNamed`,{name:n}):i(`companionWatchFramePage.sharingWindow`);return(0,E.jsxs)(`div`,{className:`companion-watch-frame-label`,"data-testid":`companion-watch-frame-label`,"data-read":e.kind,style:r,children:[(0,E.jsx)(`span`,{className:`companion-watch-frame-label-dot`}),o]})}function X(e,t){let n=(0,d.useRef)({captureCount:e,watching:t}),[r,i]=(0,d.useState)(0);return(0,d.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function Z(){let[e,t]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=l(t);return c().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,r=e?.screenShare!==void 0,i=J(n,e?.screenShare),a=i!==null,o=X(e?.captureCount??0,n),s=u(e?.call??null,e?.accentHex,e?.character),f=s===void 0?void 0:{"--companion-ring-accent":s},p=e?.frameInsetTop??0,m=p>0?{...f,"--companion-frame-inset":`${p}px`}:f,h=e?.annotating===!0,g=r&&!n?e?.coachmarks??[]:[];return(0,E.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[a&&(0,E.jsx)(`div`,{className:`companion-watch-frame fixed inset-0`,style:f}),i!==null&&(0,E.jsx)(Y,{read:i,assistantName:e?.assistantName??``,style:m}),n&&o>0&&(0,E.jsx)(`div`,{className:`companion-watch-frame-flash fixed inset-0`,style:f},o),h&&(0,E.jsx)(K,{ink:s??`#5eead4`}),g.length>0&&(0,E.jsx)(B,{marks:g,ink:s??`#5eead4`})]})}export{Z as CompanionWatchFramePage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{cn as c,rn as l,v as u}from"./icons-J6Mg9wGk.js";import{Iy as d,Q as f,eb as p,nb as m,tb as h,zv as g}from"./index-jpjzZb6b.js";import{n as _}from"./a2a-invite-_wGU6HWn.js";import{r as v}from"./contacts-gateway-7sXdqgaZ.js";var y=e(i(),1),b=s();function x(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function S(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 C(){return(0,b.jsx)(w,{assistantId:f()})}function w({assistantId:e}){let{t:i}=r(`contacts`),s=a(),f=n(),[C]=o(),w=(0,y.useMemo)(()=>_(C),[C]),T=t({mutationFn:()=>{if(!w)throw Error(`Invalid invite link`);return v(e,{senderAssistantId:w.senderAssistantId,token:w.token})},onSuccess:e=>{e.success&&(f.invalidateQueries({predicate:e=>x(e.queryKey)}),e.alreadyConnected?d(i(`connectPage.alreadyConnected`)):d(i(`connectPage.connected`)),s(g.contacts.root))}}),E=(0,y.useCallback)(()=>{s(g.contacts.root)},[s]),D=(0,y.useCallback)(()=>{T.mutate()},[T]),O=(0,y.useMemo)(()=>{if(T.isError)return T.error instanceof Error?T.error.message:i(`connectPage.errorGeneric`);if(T.data&&!T.data.success){let e=S(T.data.errorCode);return e?i(e):T.data.error||i(`connectPage.errorGeneric`)}return null},[T.isError,T.error,T.data,i]);return w?(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(c,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,b.jsx)(h,{variant:`title-small`,children:i(`connectPage.title`)})]}),(0,b.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.body`)}),O&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),(0,b.jsx)(h,{variant:`body-small-default`,children:O})]}),(0,b.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,b.jsx)(m,{variant:`primary`,onClick:D,disabled:T.isPending,children:T.isPending?(0,b.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),i(`actions.connecting`)]}):i(`actions.connect`)}),(0,b.jsx)(m,{variant:`outlined`,onClick:E,disabled:T.isPending,children:i(`actions.cancel`)})]})]})})}):(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,b.jsx)(h,{variant:`title-small`,children:i(`connectPage.invalidTitle`)})]}),(0,b.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.invalidBody`)}),(0,b.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,b.jsx)(m,{variant:`primary`,onClick:E,children:i(`connectPage.goToContacts`)})})]})})})}export{C as ConnectPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-CV8wawxx.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{cn as c,rn as l,v as u}from"./icons-J6Mg9wGk.js";import{Iy as d,Q as f,eb as p,nb as m,tb as h,zv as g}from"./index-HYLyITE5.js";import{n as _}from"./a2a-invite-CUNzCxDn.js";import{r as v}from"./contacts-gateway-DHt_XdL7.js";var y=e(i(),1),b=s();function x(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function S(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 C(){return(0,b.jsx)(w,{assistantId:f()})}function w({assistantId:e}){let{t:i}=r(`contacts`),s=a(),f=n(),[C]=o(),w=(0,y.useMemo)(()=>_(C),[C]),T=t({mutationFn:()=>{if(!w)throw Error(`Invalid invite link`);return v(e,{senderAssistantId:w.senderAssistantId,token:w.token})},onSuccess:e=>{e.success&&(f.invalidateQueries({predicate:e=>x(e.queryKey)}),e.alreadyConnected?d(i(`connectPage.alreadyConnected`)):d(i(`connectPage.connected`)),s(g.contacts.root))}}),E=(0,y.useCallback)(()=>{s(g.contacts.root)},[s]),D=(0,y.useCallback)(()=>{T.mutate()},[T]),O=(0,y.useMemo)(()=>{if(T.isError)return T.error instanceof Error?T.error.message:i(`connectPage.errorGeneric`);if(T.data&&!T.data.success){let e=S(T.data.errorCode);return e?i(e):T.data.error||i(`connectPage.errorGeneric`)}return null},[T.isError,T.error,T.data,i]);return w?(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(c,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,b.jsx)(h,{variant:`title-small`,children:i(`connectPage.title`)})]}),(0,b.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.body`)}),O&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),(0,b.jsx)(h,{variant:`body-small-default`,children:O})]}),(0,b.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,b.jsx)(m,{variant:`primary`,onClick:D,disabled:T.isPending,children:T.isPending?(0,b.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),i(`actions.connecting`)]}):i(`actions.connect`)}),(0,b.jsx)(m,{variant:`outlined`,onClick:E,disabled:T.isPending,children:i(`actions.cancel`)})]})]})})}):(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,b.jsx)(h,{variant:`title-small`,children:i(`connectPage.invalidTitle`)})]}),(0,b.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.invalidBody`)}),(0,b.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,b.jsx)(m,{variant:`primary`,onClick:E,children:i(`connectPage.goToContacts`)})})]})})})}export{C as ConnectPage};
@@ -1 +1 @@
1
- import{N as e,j as t}from"./vendor-CV8wawxx.js";import{t as n}from"./react-DPM_L_aA.js";import{Rv as r,Wy as i,eb as a,zv as o}from"./index-jpjzZb6b.js";import{t as s}from"./setting-row-BvR6-08v.js";var c=n(),l=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),u=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,d={privacy:{href:o.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:o.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function f({kind:t,checked:n,onChange:a}){let o=d[t];return(0,c.jsx)(i,{checked:n,onCheckedChange:e=>a(e===!0),label:(0,c.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,c.jsx)(e,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:o.text},components:{link:(0,c.jsx)(`a`,{href:r(o.href),target:`_blank`,rel:`noreferrer`,className:`underline`})}})}),"aria-label":o.aria,className:l})}function p(){return(0,c.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function m({notes:e}){let{t:n}=t(`onboarding`);return!e||e.length===0?null:(0,c.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,c.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:n(`consentControls.whatsChanged`)}),e.length===1?(0,c.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,c.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,c.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,c.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,c.jsx)(`span`,{children:e})]},e))})]})}function h({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:o,onShareAnalyticsChange:l,onShareDiagnosticsChange:d,className:f,style:m}){let{t:h}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:f,style:m,children:[(0,c.jsx)(`p`,{className:u,children:h(`consentControls.privacyPreferences`)}),(0,c.jsx)(a,{padding:e?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,c.jsx)(s,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:i,onChange:l}),n&&r&&(0,c.jsx)(p,{}),r&&(0,c.jsx)(s,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:d})]})})]})}function g({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:o,onTosChange:s,privacyNotes:l,tosNotes:d,className:p,style:h}){let{t:g}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:p,style:h,children:[(0,c.jsx)(`p`,{className:u,children:g(`consentControls.agreements`)}),(0,c.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:l}),(0,c.jsx)(f,{kind:`privacy`,checked:i,onChange:o})]}),r&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:d}),(0,c.jsx)(f,{kind:`tos`,checked:a,onChange:s})]})]})]})}export{h as n,g as t};
1
+ import{N as e,j as t}from"./vendor-CV8wawxx.js";import{t as n}from"./react-DPM_L_aA.js";import{Rv as r,Wy as i,eb as a,zv as o}from"./index-HYLyITE5.js";import{t as s}from"./setting-row-BaFHfYBw.js";var c=n(),l=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),u=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,d={privacy:{href:o.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:o.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function f({kind:t,checked:n,onChange:a}){let o=d[t];return(0,c.jsx)(i,{checked:n,onCheckedChange:e=>a(e===!0),label:(0,c.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,c.jsx)(e,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:o.text},components:{link:(0,c.jsx)(`a`,{href:r(o.href),target:`_blank`,rel:`noreferrer`,className:`underline`})}})}),"aria-label":o.aria,className:l})}function p(){return(0,c.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function m({notes:e}){let{t:n}=t(`onboarding`);return!e||e.length===0?null:(0,c.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,c.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:n(`consentControls.whatsChanged`)}),e.length===1?(0,c.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,c.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,c.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,c.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,c.jsx)(`span`,{children:e})]},e))})]})}function h({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:o,onShareAnalyticsChange:l,onShareDiagnosticsChange:d,className:f,style:m}){let{t:h}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:f,style:m,children:[(0,c.jsx)(`p`,{className:u,children:h(`consentControls.privacyPreferences`)}),(0,c.jsx)(a,{padding:e?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,c.jsx)(s,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:i,onChange:l}),n&&r&&(0,c.jsx)(p,{}),r&&(0,c.jsx)(s,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:d})]})})]})}function g({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:o,onTosChange:s,privacyNotes:l,tosNotes:d,className:p,style:h}){let{t:g}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:p,style:h,children:[(0,c.jsx)(`p`,{className:u,children:g(`consentControls.agreements`)}),(0,c.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:l}),(0,c.jsx)(f,{kind:`privacy`,checked:i,onChange:o})]}),r&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:d}),(0,c.jsx)(f,{kind:`tos`,checked:a,onChange:s})]})]})]})}export{h as n,g as t};
@@ -1 +1 @@
1
- import{Bu as e,Qv as t,Vu as n,Zv as r,ah as i,ey as a,zu as o}from"./index-jpjzZb6b.js";async function s(e,i){let{data:o,error:s,response:c}=await n({path:{assistant_id:e},body:i,throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new r(c.status,a(s,c,`Failed to save contact`));return o.contact}async function c(n,i){let{error:o,response:s}=await e({path:{assistant_id:n,contact_id:i},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new r(s.status,a(o,s,`Failed to delete contact`))}async function l(e,n){let{error:i,response:s}=await o({path:{assistant_id:e,channel_id:n},throwOnError:!1});if(t(s,i,`Failed to verify channel`),!s.ok)throw new r(s.status,a(i,s,`Failed to verify channel`))}async function u(e,t,n){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:n.type,address:n.address}]})).channels.find(e=>e.type===n.type&&e.address.toLowerCase()===n.address.toLowerCase());if(!i)throw new r(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new r(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(e,n){let{data:o,error:s,response:c}=await i.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:n.senderAssistantId,token:n.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new r(c.status,a(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
1
+ import{Bu as e,Qv as t,Vu as n,Zv as r,ah as i,ey as a,zu as o}from"./index-HYLyITE5.js";async function s(e,i){let{data:o,error:s,response:c}=await n({path:{assistant_id:e},body:i,throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new r(c.status,a(s,c,`Failed to save contact`));return o.contact}async function c(n,i){let{error:o,response:s}=await e({path:{assistant_id:n,contact_id:i},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new r(s.status,a(o,s,`Failed to delete contact`))}async function l(e,n){let{error:i,response:s}=await o({path:{assistant_id:e,channel_id:n},throwOnError:!1});if(t(s,i,`Failed to verify channel`),!s.ok)throw new r(s.status,a(i,s,`Failed to verify channel`))}async function u(e,t,n){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:n.type,address:n.address}]})).channels.find(e=>e.type===n.type&&e.address.toLowerCase()===n.address.toLowerCase());if(!i)throw new r(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new r(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(e,n){let{data:o,error:s,response:c}=await i.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:n.senderAssistantId,token:n.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new r(c.status,a(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,er as a,j as o}from"./vendor-CV8wawxx.js";import{b as s,f as c,g as l,n as u,r as d,t as f}from"./react-DPM_L_aA.js";import{Ci as p,J as m,Pr as h,Sn as g,Xt as _,Y as v,cn as y,ct as b,ei as x,g as S,hi as C,mi as w,mt as T,rn as E,vt as D,zt as O}from"./icons-J6Mg9wGk.js";import{t as k}from"./ellipsis-vertical-DADudCz4.js";import{$r as A,Ay as j,Cs as ee,Ey as M,Fy as N,Iy as P,Ky as F,Pu as te,Q as I,Qr as ne,R as L,Rs as re,Ry as R,Xu as ie,Yr as ae,Yy as oe,Zr as z,eb as B,fd as se,g as ce,md as V,nb as H,no as le,pd as ue,tb as U,vf as de,vh as fe,wv as pe,yf as me,zv as he}from"./index-jpjzZb6b.js";import{t as W}from"./detail-card-DuMOMNDt.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-CnAOR18Q.js";import{c as G,i as ye,n as be,r as K,t as xe}from"./use-invite-link-dialog-DRWD3T4t.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-7sXdqgaZ.js";var Ee=p(`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`}]]),De=p(`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(s(),1),Oe=new Set([`slack`]);function J(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 n=ke(e.toLowerCase());return n?t(n,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var Y=f();function Ne({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),[a,s]=(0,q.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,Y.jsxs)(`div`,{children:[i>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(Pe,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r&&e.canDisconnect?()=>s(e.key):void 0})]},e.key))}),(0,Y.jsx)(N,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?ne(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),s(null)},onCancel:()=>s(null)})]})}function Pe({channel:e,pending:t,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),a=e.configured,{Icon:s,label:c}=A(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(ae,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:ne(e.key)}),a&&e.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(s,{className:`h-3 w-3`}),c]}),r?(0,Y.jsx)(H,{variant:`danger`,onClick:r,disabled:t,children:i(t?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(H,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${he.channels}?setup=${e.key}`,children:i(`actions.manage`)})})]}):n?(0,Y.jsx)(H,{variant:`outlined`,onClick:n,disabled:t,children:i(`actions.connect`)}):null})]})}function X({role:e,contactType:t}){let{label:n,tone:r}=Z(e,t);return(0,Y.jsx)(oe,{tone:r,children:n})}function Z(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}=o(`contacts`),r=le(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,Y.jsx)(X,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,Y.jsx)(Ne,{...t})})]})}var Ie=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Q(e){return Ie.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Re(e){return e.supportsVerification||Le(e)}function ze(e){return!!e?.address?.trim()}function Be(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&J(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Ve(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||Q(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 $({channelId:e,name:t,className:n,style:r}){let i=z(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(x,{className:n,style:r});case`hash`:return(0,Y.jsx)(g,{className:n,style:r});case`send`:return(0,Y.jsx)(m,{className:n,style:r});case`phone`:return(0,Y.jsx)(T,{className:n,style:r});case`mail`:return(0,Y.jsx)(_,{className:n,style:r});case`message-square`:return(0,Y.jsx)(O,{className:n,style:r});default:return(0,Y.jsx)(Ee,{className:n,style:r})}}function He({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=o(`contacts`),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=e=>{p&&(l?.(p.info.id,e),m(null))},y=Ve(t,e,r);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,Y.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),y.map((e,t)=>{let n=_.get(e.id);return(0,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(Ue,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Re(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Oe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,Y.jsx)(We,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,Y.jsx)(N,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function Ue({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:s,onLinkAccount:c}){let{t:l}=o(`contacts`),u=Be(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)($,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,Y.jsx)(H,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,Y.jsx)(H,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(H,{variant:`outlined`,onClick:a,disabled:!a||r,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[c?(0,Y.jsxs)(H,{onClick:c,children:[(0,Y.jsx)(y,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(H,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function We({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=o(`contacts`),[s,c]=(0,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=s.trim();return ze(t)?(0,Y.jsx)(N,{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,Y.jsx)(R.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(R.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,Y.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,Y.jsx)(R.Header,{children:(0,Y.jsx)(R.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(R.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,Y.jsx)(F,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{c(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,Y.jsxs)(R.Footer,{children:[(0,Y.jsx)(H,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,Y.jsx)(H,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function Ge(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ke(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 qe(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 Je(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Ye({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=o(`contacts`),i=Ge(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:L.find(e=>e.riskThreshold===i);return(0,Y.jsx)(W,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(M,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=L.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...L.map(e=>{let t=e.icon;return{value:e.id,label:Ke(r,e.riskThreshold),icon:(0,Y.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:qe(r,i)})]})})}function Xe(e){return(0,Y.jsx)(Ze,{...e},e.contact.id)}function Ze({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g,pendingAutoApproveThreshold:_,onAutoApproveThresholdChange:v}){let{t:y}=o(`contacts`),b=Me(e.displayName),[x,S]=(0,q.useState)(b?``:e.displayName),[C,w]=(0,q.useState)(e.notes??``),[T,E]=(0,q.useState)(!1),D=x.trim(),O=C.trim(),k=b?``:e.displayName,A=e.notes??``,j=D!==k||O!==A,ee=D.length>0&&j&&!t&&!n,M=b&&e.channels.length===0&&e.interactionCount===0,P=D||(b?y(`contact.draftName`):e.displayName),te=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:P,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:te,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(F,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:t||n,fullWidth:!0}),(0,Y.jsx)(F,{label:y(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(H,{type:`button`,onClick:()=>u({displayName:D,notes:O}),disabled:!ee,children:y(t?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(H,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||M||j||i||t||n,title:a?M?y(`contactDetailView.mergeBlockedUnsavedDraft`):j?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(H,{type:`button`,variant:`danger`,onClick:()=>{M?d():E(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,Y.jsx)(W,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),Je(e)&&v?(0,Y.jsx)(Ye,{contact:e,pending:_,onAutoApproveThresholdChange:v}):null,(0,Y.jsx)(N,{open:T,title:y(`contactDetailView.deleteConfirmTitle`,{name:P}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{E(!1),d()},onCancel:()=>E(!1)})]})}function Qe(e){return(0,Y.jsx)($e,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function $e({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:s}){let{t:c}=o(`contacts`),[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),m=d?n.find(e=>e.id===d)??null:null,h=it(t);return(0,Y.jsx)(R.Root,{open:e,onOpenChange:e=>{!e&&!r&&s()},children:(0,Y.jsxs)(R.Content,{size:`md`,children:[(0,Y.jsxs)(R.Header,{icon:De,children:[(0,Y.jsx)(R.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,Y.jsx)(R.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[m?(0,Y.jsx)(nt,{survivor:t,donor:m}):n.length===0?(0,Y.jsx)(rt,{}):(0,Y.jsx)(et,{search:l,onSearch:u,candidates:p,onPick:f}),i?(0,Y.jsx)(U,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,Y.jsx)(R.Footer,{children:m?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(C,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(H,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(H,{variant:`outlined`,onClick:s,disabled:r,children:c(`actions.cancel`)})})]})})}function et({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=o(`contacts`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(F,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(v,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.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,Y.jsx)(U,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,Y.jsx)(tt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function tt({contact:e,onPick:t}){let n=ot(e).join(` | `)||void 0;return(0,Y.jsx)(j,{asChild:!0,children:(0,Y.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,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function nt({survivor:e,donor:t}){let{t:n}=o(`contacts`),i=it(e),{moved:a,duplicates:s}=at(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsx)(`li`,{children:(0,Y.jsx)(r,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,Y.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:a.length,survivor:i,channels:a.map(e=>Ae(e.type)).join(`, `)})}),s.length>0?(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:s.length,survivor:i})}):null,t.notes?(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function rt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(U,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function it(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?t(`survivorName.you`,{ns:`contacts`}):t(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||t(`survivorName.thisContact`,{ns:`contacts`})}function at(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 ot(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 st({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:d}=o(`contacts`),f=l.trim()?r.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):r;return(0,Y.jsx)(B.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(B.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:d(`contactsList.heading`)}),(0,Y.jsx)(H,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(b,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(ct,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`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,Y.jsx)(ct,{name:n?.trim()||d(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,Y.jsx)(F,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(v,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[f.map(e=>(0,Y.jsx)(ct,{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)),f.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`contactsList.noMatches`)}):null]}):e?null:(0,Y.jsx)(H,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(S,{"aria-hidden":!0}),children:d(`contactsList.add`)})]})})}function ct({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:s,verified:c}){let{t:l}=o(`contacts`),u=r&&r.length>0?r.join(` | `):void 0,d=s===`pencil`?(0,Y.jsx)(D,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,Y.jsx)(k,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,Y.jsx)(j,{asChild:!0,active:i,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),u?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u}):null]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[c===void 0?null:(0,Y.jsx)(oe,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,Y.jsx)(X,{role:t,contactType:n}),d]})]})})}function lt(e){return(0,Y.jsx)(ut,{...e},e.contact.id)}function ut({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:m}){let{t:h}=o(`contacts`),g=e.displayName.startsWith(`vellum-principal-`),_=g?``:e.displayName,[v,y]=(0,q.useState)(_),[b,x]=(0,q.useState)(e.notes??``),S=v.trim(),C=b.trim(),w=S!==_.trim()||C!==(e.notes??``).trim(),T=w&&!t,E=h(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:g?h(`contactsList.you`):h(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,Y.jsx)(X,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(F,{label:h(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:h(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsx)(F,{label:h(`contact.notesLabel`),type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:h(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(H,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!T,children:h(t?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(H,{variant:`outlined`,onClick:u,disabled:!i||w||r||t,title:i?w?h(`contact.mergeBlockedUnsaved`):void 0:h(`contact.mergeBlockedNoCandidates`),children:h(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,Y.jsx)(W,{title:h(`guardianDetailView.channelsTitle`),subtitle:h(`guardianDetailView.channelsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,setupLabel:h(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),m?(0,Y.jsx)(K,{onClick:m}):null]})}function dt(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 ft(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function pt({open:e,channelLabel:t,contactName:n,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=o(`contacts`),[p,m]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&m(``)},[e]);let h=(0,q.useMemo)(()=>dt(i??[],p),[i,p]),g=c!=null;return(0,Y.jsx)(R.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Y.jsxs)(R.Content,{size:`sm`,children:[(0,Y.jsxs)(R.Header,{children:[(0,Y.jsx)(R.Title,{children:f(`linkAccountDialog.title`,{channel:t})}),(0,Y.jsx)(R.Description,{children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(F,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,Y.jsx)(v,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:s}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):h.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.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:ft(e.displayName)}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,Y.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),c===e.id?(0,Y.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,Y.jsxs)(R.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,Y.jsxs)(H,{variant:`link`,className:`shrink-0`,onClick:d,disabled:g,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(w,{className:`h-3.5 w-3.5`})]}):null]})]})})}function mt({assistantId:e,channelType:r,contact:i,onLinked:a}){let[o,s]=(0,q.useState)(!1),c=n({mutationFn:t=>we(e,t.contact,{type:r,address:t.account.id}),onSuccess:(e,n)=>{s(!1),P.success(t(`accountLink.linked`,{ns:`contacts`,username:n.account.username})),a()}}),l=(0,q.useCallback)(()=>{c.reset(),s(!0)},[c]),u=(0,q.useCallback)(()=>{c.isPending||(c.reset(),s(!1))},[c]),d=(0,q.useCallback)(e=>{!i||c.isPending||c.mutate({contact:i,account:e})},[i,c]);return{channelType:r,dialogOpen:o,open:l,close:u,linkErrorMessage:c.error instanceof Error?c.error.message:c.error?t(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:c.isPending?c.variables.account.id:null,pick:d}}var ht=[{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?`}}],gt=[];function _t({assistantId:e,onStartSetupConversation:t}){let{t:r}=o(`contacts`),s=te.use.a2aChannel(),c=pe.use.name(),u=a(),[f]=l(),p=f.get(`setup`),m=p&&re(p)?p:null,[h,g]=(0,q.useState)({kind:`assistant`}),_=xe(e),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=ve(),[C,w]=(0,q.useState)(``),[T,E]=(0,q.useState)(!1),D=le(c),O=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),k=ue(O),A=i({...se(O),enabled:!!e,select:e=>e.contacts}),j=be({assistantId:e,onStartSetupConversation:t}),ee=i({...ie({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await fe({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:ht};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),M=ee.data??gt,N=ee.isError,F=A.data,I=(0,q.useMemo)(()=>F?.find(e=>e.role===`guardian`)??null,[F]),ne=(0,q.useMemo)(()=>F?.filter(e=>e.role!==`guardian`)??[],[F]),L=(0,q.useMemo)(()=>h.kind===`contact`?F?.find(e=>e.id===h.contactId)??null:null,[F,h]),R=(0,q.useMemo)(()=>!F||!L?[]:F.filter(e=>e.id!==L.id&&e.role!==`guardian`),[F,L]),ae=R.length>0,oe=(0,q.useRef)(!!m);(0,q.useEffect)(()=>{oe.current||I&&(oe.current=!0,g({kind:`contact`,contactId:I.id}))},[I]);let z=(0,q.useCallback)(()=>u.invalidateQueries({queryKey:k}),[u,k]),B=n({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:e=>{V(u,O,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),g({kind:`contact`,contactId:e.id})},onError:G(r(`contactsPage.createFailed`)),onSettled:()=>z()}),H=n({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{V(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),g({kind:`assistant`})},onError:G(r(`contactsPage.deleteFailed`)),onSettled:()=>z()}),U=n({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{V(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactsPage.saveFailed`)),onSettled:()=>z()}),W=n({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{V(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactPermissions.saveFailed`)),onSettled:()=>z()}),K=me({onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(V(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===n.id?n:e)}:void 0),g({kind:`contact`,contactId:n.id})),E(!1),P.success(r(`contactsPage.mergeSucceeded`))},onSettled:()=>z()}),Ee=(0,q.useCallback)(e=>{g(e),S(),E(!1),K.reset()},[S,K]),De=(0,q.useCallback)(()=>{K.reset(),E(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(E(!1),K.reset())},[K]),J=de({onSuccess:()=>z()}),ke=(0,q.useCallback)((t,n)=>{J.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[J,e]),Me=(0,q.useCallback)(()=>{B.isPending||B.mutate()},[B]),Ne=(0,q.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.contact;r&&t(r)},[M,t]),Pe=(0,q.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.guardian;r&&t(r)},[M,t]),X=n({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>z(),onError:G(r(`contactsPage.verifyFailed`))}),Z=n({mutationFn:t=>{if(!L)throw Error(`No contact selected`);return we(e,{id:L.id,displayName:L.displayName},{type:t.type,address:t.address})},onSuccess:()=>z(),onError:G(r(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!L)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=L.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[L,Z,X]),Q=mt({assistantId:e,channelType:`slack`,contact:L?{id:L.id,displayName:L.displayName}:null,onLinked:z}),Re=i({...ce(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=j.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(!L)return null;let e=L;return U.isPending&&U.variables?.contactId===L.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),W.isPending&&W.variables?.contactId===L.id&&(e={...e,autoApproveThreshold:W.variables.autoApproveThreshold}),e},[L,U.isPending,U.variables,W.isPending,W.variables]);if(m)return(0,Y.jsx)(d,{to:`${he.channels}?setup=${m}`,replace:!0});let He={loading:A.isLoading,assistantName:D,guardian:I?{id:I.id,displayName:I.displayName.startsWith(`vellum-principal-`)?``:I.displayName,role:I.role,channelTypes:bt(I.channels,s)}:null,regularContacts:ne.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:bt(e.channels,s),verified:yt(e.channels)})),selection:h,onAddContact:Me,addingContact:B.isPending,search:C,onSearchChange:w};return(0,Y.jsxs)(`div`,{ref:v,className:`flex min-h-0 flex-1 overflow-hidden ${y?`flex-row gap-6`:`flex-col gap-4`}`,children:[y?(0,Y.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,Y.jsx)(st,{...He,onSelect:Ee})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(_e,{onClick:x})}),(0,Y.jsx)(ge,{open:b,onClose:S,title:r(`contactsPage.title`),children:(0,Y.jsx)(st,{...He,onSelect:Ee})})]}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:h.kind===`assistant`||h.kind===`contact`&&h.contactId===Ve?(0,Y.jsx)(Fe,{assistantName:D,channels:j.channels,pendingChannelKey:j.pendingChannelKey,onConnect:j.onSetup,onDisconnect:j.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(lt,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ae,availableChannels:M,channelsLoadFailed:N,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:t?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onGenerateInviteLink:s?_.open:void 0}):(0,Y.jsx)(Xe,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ae,availableChannels:M,channelsLoadFailed:N,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:t?Ne:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:W.isPending,onAutoApproveThresholdChange:e=>{W.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,Y.jsx)(vt,{})}),L?(0,Y.jsx)(Qe,{open:T,survivor:L,candidates:R,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?r(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:L.id,mergeId:t}}),onClose:Oe}):null,(0,Y.jsx)(pt,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:L?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?r(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),Ne(Q.channelType)}:void 0}),(0,Y.jsx)(ye,{open:_.isOpen,assistantId:e,onClose:_.close})]})}function vt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function yt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||J(e)))}function bt(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 xt(){let e=c(),t=I();return(0,Y.jsx)(_t,{assistantId:t,onStartSetupConversation:t=>{ee(e,{prompt:t})}},t)}export{xt as ContactsPageRoute};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,er as a,j as o}from"./vendor-CV8wawxx.js";import{b as s,f as c,g as l,n as u,r as d,t as f}from"./react-DPM_L_aA.js";import{Ci as p,J as m,Pr as h,Sn as g,Xt as _,Y as v,cn as y,ct as b,ei as x,g as S,hi as C,mi as w,mt as T,rn as E,vt as D,zt as O}from"./icons-J6Mg9wGk.js";import{t as k}from"./ellipsis-vertical-DADudCz4.js";import{$r as A,Ay as j,Cs as ee,Ey as M,Fy as N,Iy as P,Ky as F,Pu as te,Q as I,Qr as ne,R as L,Rs as re,Ry as R,Xu as ie,Yr as ae,Yy as oe,Zr as z,eb as B,fd as se,g as ce,md as V,nb as H,no as le,pd as ue,tb as U,vf as de,vh as fe,wv as pe,yf as me,zv as he}from"./index-HYLyITE5.js";import{t as W}from"./detail-card-DZu1s8A7.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-DUcsQ_cg.js";import{c as G,i as ye,n as be,r as K,t as xe}from"./use-invite-link-dialog-DY3csmXX.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-DHt_XdL7.js";var Ee=p(`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`}]]),De=p(`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(s(),1),Oe=new Set([`slack`]);function J(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 n=ke(e.toLowerCase());return n?t(n,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var Y=f();function Ne({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),[a,s]=(0,q.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,Y.jsxs)(`div`,{children:[i>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(Pe,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r&&e.canDisconnect?()=>s(e.key):void 0})]},e.key))}),(0,Y.jsx)(N,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?ne(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),s(null)},onCancel:()=>s(null)})]})}function Pe({channel:e,pending:t,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),a=e.configured,{Icon:s,label:c}=A(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(ae,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:ne(e.key)}),a&&e.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(s,{className:`h-3 w-3`}),c]}),r?(0,Y.jsx)(H,{variant:`danger`,onClick:r,disabled:t,children:i(t?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(H,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${he.channels}?setup=${e.key}`,children:i(`actions.manage`)})})]}):n?(0,Y.jsx)(H,{variant:`outlined`,onClick:n,disabled:t,children:i(`actions.connect`)}):null})]})}function X({role:e,contactType:t}){let{label:n,tone:r}=Z(e,t);return(0,Y.jsx)(oe,{tone:r,children:n})}function Z(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}=o(`contacts`),r=le(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,Y.jsx)(X,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,Y.jsx)(Ne,{...t})})]})}var Ie=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Q(e){return Ie.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Re(e){return e.supportsVerification||Le(e)}function ze(e){return!!e?.address?.trim()}function Be(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&J(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Ve(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||Q(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 $({channelId:e,name:t,className:n,style:r}){let i=z(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(x,{className:n,style:r});case`hash`:return(0,Y.jsx)(g,{className:n,style:r});case`send`:return(0,Y.jsx)(m,{className:n,style:r});case`phone`:return(0,Y.jsx)(T,{className:n,style:r});case`mail`:return(0,Y.jsx)(_,{className:n,style:r});case`message-square`:return(0,Y.jsx)(O,{className:n,style:r});default:return(0,Y.jsx)(Ee,{className:n,style:r})}}function He({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=o(`contacts`),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=e=>{p&&(l?.(p.info.id,e),m(null))},y=Ve(t,e,r);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,Y.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),y.map((e,t)=>{let n=_.get(e.id);return(0,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(Ue,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Re(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Oe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,Y.jsx)(We,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,Y.jsx)(N,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function Ue({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:s,onLinkAccount:c}){let{t:l}=o(`contacts`),u=Be(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)($,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,Y.jsx)(H,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,Y.jsx)(H,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(H,{variant:`outlined`,onClick:a,disabled:!a||r,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[c?(0,Y.jsxs)(H,{onClick:c,children:[(0,Y.jsx)(y,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(H,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function We({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=o(`contacts`),[s,c]=(0,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=s.trim();return ze(t)?(0,Y.jsx)(N,{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,Y.jsx)(R.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(R.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,Y.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,Y.jsx)(R.Header,{children:(0,Y.jsx)(R.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(R.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,Y.jsx)(F,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{c(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,Y.jsxs)(R.Footer,{children:[(0,Y.jsx)(H,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,Y.jsx)(H,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function Ge(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ke(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 qe(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 Je(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Ye({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=o(`contacts`),i=Ge(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:L.find(e=>e.riskThreshold===i);return(0,Y.jsx)(W,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(M,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=L.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...L.map(e=>{let t=e.icon;return{value:e.id,label:Ke(r,e.riskThreshold),icon:(0,Y.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:qe(r,i)})]})})}function Xe(e){return(0,Y.jsx)(Ze,{...e},e.contact.id)}function Ze({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g,pendingAutoApproveThreshold:_,onAutoApproveThresholdChange:v}){let{t:y}=o(`contacts`),b=Me(e.displayName),[x,S]=(0,q.useState)(b?``:e.displayName),[C,w]=(0,q.useState)(e.notes??``),[T,E]=(0,q.useState)(!1),D=x.trim(),O=C.trim(),k=b?``:e.displayName,A=e.notes??``,j=D!==k||O!==A,ee=D.length>0&&j&&!t&&!n,M=b&&e.channels.length===0&&e.interactionCount===0,P=D||(b?y(`contact.draftName`):e.displayName),te=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:P,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:te,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(F,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:t||n,fullWidth:!0}),(0,Y.jsx)(F,{label:y(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(H,{type:`button`,onClick:()=>u({displayName:D,notes:O}),disabled:!ee,children:y(t?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(H,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||M||j||i||t||n,title:a?M?y(`contactDetailView.mergeBlockedUnsavedDraft`):j?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(H,{type:`button`,variant:`danger`,onClick:()=>{M?d():E(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,Y.jsx)(W,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),Je(e)&&v?(0,Y.jsx)(Ye,{contact:e,pending:_,onAutoApproveThresholdChange:v}):null,(0,Y.jsx)(N,{open:T,title:y(`contactDetailView.deleteConfirmTitle`,{name:P}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{E(!1),d()},onCancel:()=>E(!1)})]})}function Qe(e){return(0,Y.jsx)($e,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function $e({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:s}){let{t:c}=o(`contacts`),[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),m=d?n.find(e=>e.id===d)??null:null,h=it(t);return(0,Y.jsx)(R.Root,{open:e,onOpenChange:e=>{!e&&!r&&s()},children:(0,Y.jsxs)(R.Content,{size:`md`,children:[(0,Y.jsxs)(R.Header,{icon:De,children:[(0,Y.jsx)(R.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,Y.jsx)(R.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[m?(0,Y.jsx)(nt,{survivor:t,donor:m}):n.length===0?(0,Y.jsx)(rt,{}):(0,Y.jsx)(et,{search:l,onSearch:u,candidates:p,onPick:f}),i?(0,Y.jsx)(U,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,Y.jsx)(R.Footer,{children:m?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(C,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(H,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(H,{variant:`outlined`,onClick:s,disabled:r,children:c(`actions.cancel`)})})]})})}function et({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=o(`contacts`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(F,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(v,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.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,Y.jsx)(U,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,Y.jsx)(tt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function tt({contact:e,onPick:t}){let n=ot(e).join(` | `)||void 0;return(0,Y.jsx)(j,{asChild:!0,children:(0,Y.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,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function nt({survivor:e,donor:t}){let{t:n}=o(`contacts`),i=it(e),{moved:a,duplicates:s}=at(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsx)(`li`,{children:(0,Y.jsx)(r,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,Y.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:a.length,survivor:i,channels:a.map(e=>Ae(e.type)).join(`, `)})}),s.length>0?(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:s.length,survivor:i})}):null,t.notes?(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function rt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(U,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function it(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?t(`survivorName.you`,{ns:`contacts`}):t(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||t(`survivorName.thisContact`,{ns:`contacts`})}function at(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 ot(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 st({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:d}=o(`contacts`),f=l.trim()?r.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):r;return(0,Y.jsx)(B.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(B.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:d(`contactsList.heading`)}),(0,Y.jsx)(H,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(b,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(ct,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`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,Y.jsx)(ct,{name:n?.trim()||d(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,Y.jsx)(F,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(v,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[f.map(e=>(0,Y.jsx)(ct,{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)),f.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`contactsList.noMatches`)}):null]}):e?null:(0,Y.jsx)(H,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(S,{"aria-hidden":!0}),children:d(`contactsList.add`)})]})})}function ct({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:s,verified:c}){let{t:l}=o(`contacts`),u=r&&r.length>0?r.join(` | `):void 0,d=s===`pencil`?(0,Y.jsx)(D,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,Y.jsx)(k,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,Y.jsx)(j,{asChild:!0,active:i,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),u?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u}):null]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[c===void 0?null:(0,Y.jsx)(oe,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,Y.jsx)(X,{role:t,contactType:n}),d]})]})})}function lt(e){return(0,Y.jsx)(ut,{...e},e.contact.id)}function ut({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:m}){let{t:h}=o(`contacts`),g=e.displayName.startsWith(`vellum-principal-`),_=g?``:e.displayName,[v,y]=(0,q.useState)(_),[b,x]=(0,q.useState)(e.notes??``),S=v.trim(),C=b.trim(),w=S!==_.trim()||C!==(e.notes??``).trim(),T=w&&!t,E=h(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:g?h(`contactsList.you`):h(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,Y.jsx)(X,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(F,{label:h(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:h(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsx)(F,{label:h(`contact.notesLabel`),type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:h(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(H,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!T,children:h(t?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(H,{variant:`outlined`,onClick:u,disabled:!i||w||r||t,title:i?w?h(`contact.mergeBlockedUnsaved`):void 0:h(`contact.mergeBlockedNoCandidates`),children:h(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,Y.jsx)(W,{title:h(`guardianDetailView.channelsTitle`),subtitle:h(`guardianDetailView.channelsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,setupLabel:h(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),m?(0,Y.jsx)(K,{onClick:m}):null]})}function dt(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 ft(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function pt({open:e,channelLabel:t,contactName:n,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=o(`contacts`),[p,m]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&m(``)},[e]);let h=(0,q.useMemo)(()=>dt(i??[],p),[i,p]),g=c!=null;return(0,Y.jsx)(R.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Y.jsxs)(R.Content,{size:`sm`,children:[(0,Y.jsxs)(R.Header,{children:[(0,Y.jsx)(R.Title,{children:f(`linkAccountDialog.title`,{channel:t})}),(0,Y.jsx)(R.Description,{children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,Y.jsxs)(R.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(F,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,Y.jsx)(v,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:s}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):h.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.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:ft(e.displayName)}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,Y.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),c===e.id?(0,Y.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,Y.jsxs)(R.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,Y.jsxs)(H,{variant:`link`,className:`shrink-0`,onClick:d,disabled:g,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(w,{className:`h-3.5 w-3.5`})]}):null]})]})})}function mt({assistantId:e,channelType:r,contact:i,onLinked:a}){let[o,s]=(0,q.useState)(!1),c=n({mutationFn:t=>we(e,t.contact,{type:r,address:t.account.id}),onSuccess:(e,n)=>{s(!1),P.success(t(`accountLink.linked`,{ns:`contacts`,username:n.account.username})),a()}}),l=(0,q.useCallback)(()=>{c.reset(),s(!0)},[c]),u=(0,q.useCallback)(()=>{c.isPending||(c.reset(),s(!1))},[c]),d=(0,q.useCallback)(e=>{!i||c.isPending||c.mutate({contact:i,account:e})},[i,c]);return{channelType:r,dialogOpen:o,open:l,close:u,linkErrorMessage:c.error instanceof Error?c.error.message:c.error?t(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:c.isPending?c.variables.account.id:null,pick:d}}var ht=[{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?`}}],gt=[];function _t({assistantId:e,onStartSetupConversation:t}){let{t:r}=o(`contacts`),s=te.use.a2aChannel(),c=pe.use.name(),u=a(),[f]=l(),p=f.get(`setup`),m=p&&re(p)?p:null,[h,g]=(0,q.useState)({kind:`assistant`}),_=xe(e),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=ve(),[C,w]=(0,q.useState)(``),[T,E]=(0,q.useState)(!1),D=le(c),O=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),k=ue(O),A=i({...se(O),enabled:!!e,select:e=>e.contacts}),j=be({assistantId:e,onStartSetupConversation:t}),ee=i({...ie({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await fe({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:ht};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),M=ee.data??gt,N=ee.isError,F=A.data,I=(0,q.useMemo)(()=>F?.find(e=>e.role===`guardian`)??null,[F]),ne=(0,q.useMemo)(()=>F?.filter(e=>e.role!==`guardian`)??[],[F]),L=(0,q.useMemo)(()=>h.kind===`contact`?F?.find(e=>e.id===h.contactId)??null:null,[F,h]),R=(0,q.useMemo)(()=>!F||!L?[]:F.filter(e=>e.id!==L.id&&e.role!==`guardian`),[F,L]),ae=R.length>0,oe=(0,q.useRef)(!!m);(0,q.useEffect)(()=>{oe.current||I&&(oe.current=!0,g({kind:`contact`,contactId:I.id}))},[I]);let z=(0,q.useCallback)(()=>u.invalidateQueries({queryKey:k}),[u,k]),B=n({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:e=>{V(u,O,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),g({kind:`contact`,contactId:e.id})},onError:G(r(`contactsPage.createFailed`)),onSettled:()=>z()}),H=n({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{V(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),g({kind:`assistant`})},onError:G(r(`contactsPage.deleteFailed`)),onSettled:()=>z()}),U=n({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{V(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactsPage.saveFailed`)),onSettled:()=>z()}),W=n({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{V(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactPermissions.saveFailed`)),onSettled:()=>z()}),K=me({onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(V(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===n.id?n:e)}:void 0),g({kind:`contact`,contactId:n.id})),E(!1),P.success(r(`contactsPage.mergeSucceeded`))},onSettled:()=>z()}),Ee=(0,q.useCallback)(e=>{g(e),S(),E(!1),K.reset()},[S,K]),De=(0,q.useCallback)(()=>{K.reset(),E(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(E(!1),K.reset())},[K]),J=de({onSuccess:()=>z()}),ke=(0,q.useCallback)((t,n)=>{J.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[J,e]),Me=(0,q.useCallback)(()=>{B.isPending||B.mutate()},[B]),Ne=(0,q.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.contact;r&&t(r)},[M,t]),Pe=(0,q.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.guardian;r&&t(r)},[M,t]),X=n({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>z(),onError:G(r(`contactsPage.verifyFailed`))}),Z=n({mutationFn:t=>{if(!L)throw Error(`No contact selected`);return we(e,{id:L.id,displayName:L.displayName},{type:t.type,address:t.address})},onSuccess:()=>z(),onError:G(r(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!L)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=L.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[L,Z,X]),Q=mt({assistantId:e,channelType:`slack`,contact:L?{id:L.id,displayName:L.displayName}:null,onLinked:z}),Re=i({...ce(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=j.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(!L)return null;let e=L;return U.isPending&&U.variables?.contactId===L.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),W.isPending&&W.variables?.contactId===L.id&&(e={...e,autoApproveThreshold:W.variables.autoApproveThreshold}),e},[L,U.isPending,U.variables,W.isPending,W.variables]);if(m)return(0,Y.jsx)(d,{to:`${he.channels}?setup=${m}`,replace:!0});let He={loading:A.isLoading,assistantName:D,guardian:I?{id:I.id,displayName:I.displayName.startsWith(`vellum-principal-`)?``:I.displayName,role:I.role,channelTypes:bt(I.channels,s)}:null,regularContacts:ne.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:bt(e.channels,s),verified:yt(e.channels)})),selection:h,onAddContact:Me,addingContact:B.isPending,search:C,onSearchChange:w};return(0,Y.jsxs)(`div`,{ref:v,className:`flex min-h-0 flex-1 overflow-hidden ${y?`flex-row gap-6`:`flex-col gap-4`}`,children:[y?(0,Y.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,Y.jsx)(st,{...He,onSelect:Ee})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(_e,{onClick:x})}),(0,Y.jsx)(ge,{open:b,onClose:S,title:r(`contactsPage.title`),children:(0,Y.jsx)(st,{...He,onSelect:Ee})})]}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:h.kind===`assistant`||h.kind===`contact`&&h.contactId===Ve?(0,Y.jsx)(Fe,{assistantName:D,channels:j.channels,pendingChannelKey:j.pendingChannelKey,onConnect:j.onSetup,onDisconnect:j.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(lt,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ae,availableChannels:M,channelsLoadFailed:N,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:t?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onGenerateInviteLink:s?_.open:void 0}):(0,Y.jsx)(Xe,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ae,availableChannels:M,channelsLoadFailed:N,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:t?Ne:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:W.isPending,onAutoApproveThresholdChange:e=>{W.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,Y.jsx)(vt,{})}),L?(0,Y.jsx)(Qe,{open:T,survivor:L,candidates:R,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?r(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:L.id,mergeId:t}}),onClose:Oe}):null,(0,Y.jsx)(pt,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:L?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?r(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),Ne(Q.channelType)}:void 0}),(0,Y.jsx)(ye,{open:_.isOpen,assistantId:e,onClose:_.close})]})}function vt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function yt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||J(e)))}function bt(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 xt(){let e=c(),t=I();return(0,Y.jsx)(_t,{assistantId:t,onStartSetupConversation:t=>{ee(e,{prompt:t})}},t)}export{xt as ContactsPageRoute};