@vellumai/web 0.11.2-dev.202608051734.355dff7 → 0.11.2-dev.202608051933.deffc0f

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 (341) hide show
  1. package/dist/assets/{AnimatePresence-DWbwz63e.js → AnimatePresence-DYJ0_Bk3.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-DYLY3nDm.js → BundleConfirmPage-V0d2zlXh.js} +1 -1
  3. package/dist/assets/{about-page-hRb6IdZ6.js → about-page-o0ZAOc3y.js} +1 -1
  4. package/dist/assets/access-C6QblWKw.js +1 -0
  5. package/dist/assets/account-page-By0i89qq.js +1 -0
  6. package/dist/assets/{acp-run-actions-BjsVHIf8.js → acp-run-actions-CyNeqOUd.js} +1 -1
  7. package/dist/assets/{acp-run-detail-panel-CD4lYudn.js → acp-run-detail-panel-D5ORadRs.js} +1 -1
  8. package/dist/assets/{acp-run-store-ZJ3pQsPd.js → acp-run-store-f3ZZ5vfh.js} +1 -1
  9. package/dist/assets/{activity-steps-panel-DZiWfoRC.js → activity-steps-panel-Chsx-fKi.js} +1 -1
  10. package/dist/assets/{add-credential-modal-G4RqUBYE.js → add-credential-modal-DCKFcBNK.js} +1 -1
  11. package/dist/assets/{add-credits-modal-DHWpxP-h.js → add-credits-modal-DJ9cd50F.js} +1 -1
  12. package/dist/assets/ai-page-BR76Z8wh.js +1 -0
  13. package/dist/assets/{animate-CIunG13_.js → animate-BbrG8x9N.js} +1 -1
  14. package/dist/assets/{animated-avatar-CkKsoJMb.js → animated-avatar-DGpGKFC7.js} +1 -1
  15. package/dist/assets/{api-D4Wq3tEJ.js → api-B02rrru9.js} +1 -1
  16. package/dist/assets/{api-key-screen-Dk_Erqj0.js → api-key-screen-BD9bEMKw.js} +1 -1
  17. package/dist/assets/{app-card-D_b7ajlP.js → app-card-62yIjexu.js} +1 -1
  18. package/dist/assets/{assistant-feature-flag-store-Bpiyb3UO.js → assistant-feature-flag-store-QGyc5F15.js} +1 -1
  19. package/dist/assets/{assistant-status-panel-DOlaZNjY.js → assistant-status-panel-7jk9yz-d.js} +1 -1
  20. package/dist/assets/auth-store-DQBqJ9Zf.js +2 -0
  21. package/dist/assets/{avatar-random-CAM6TfyJ.js → avatar-random-Cqr15AaZ.js} +1 -1
  22. package/dist/assets/{avatar-renderer-BnZamcjg.js → avatar-renderer-gGO0o7tZ.js} +1 -1
  23. package/dist/assets/{background-task-actions-Dqussw7U.js → background-task-actions-CEod2hv4.js} +1 -1
  24. package/dist/assets/{background-task-detail-panel-DhKq02MR.js → background-task-detail-panel-DxuIKotW.js} +1 -1
  25. package/dist/assets/{background-task-store-CrpkniEd.js → background-task-store-DBkMeElr.js} +1 -1
  26. package/dist/assets/{billing-page-CbkWoSp3.js → billing-page-esFxG7ch.js} +3 -3
  27. package/dist/assets/{bookmarks-page-CeEjDpy_.js → bookmarks-page-DIYhiWMy.js} +1 -1
  28. package/dist/assets/browser-DpbIFTGf.js +2 -0
  29. package/dist/assets/{build-state-GJ6TT3dL.js → build-state-RmkzjNSl.js} +1 -1
  30. package/dist/assets/{channels-page-route-p1mQhgYB.js → channels-page-route-U4_5sRxV.js} +1 -1
  31. package/dist/assets/{chat-avatar-sQ6tX-4v.js → chat-avatar-DJKAfDJW.js} +1 -1
  32. package/dist/assets/{chat-markdown-message-VgOMwk_z.js → chat-markdown-message-B36GrH1l.js} +1 -1
  33. package/dist/assets/checkout-continuation-BO0Ny9h3.js +1 -0
  34. package/dist/assets/checkout-page-CiDWTxWV.js +1 -0
  35. package/dist/assets/{client-feature-flag-store-DcNe2lt_.js → client-feature-flag-store-DujD6DL8.js} +1 -1
  36. package/dist/assets/{client-perf-C-MJwJKu.js → client-perf-CQuu6r5h.js} +1 -1
  37. package/dist/assets/{command-palette-DiL9Fymo.js → command-palette-DflsVP7s.js} +1 -1
  38. package/dist/assets/{command-palette-window-page-DIBHrw7U.js → command-palette-window-page-BEBH_7GI.js} +1 -1
  39. package/dist/assets/{community-page-TXu2RMFs.js → community-page-DOPJGC9b.js} +1 -1
  40. package/dist/assets/{composer-settings-D_Ypd9n6.js → composer-settings-DMFWvZRm.js} +1 -1
  41. package/dist/assets/{connect-page-BOwqoXDH.js → connect-page-D8l1oHxd.js} +1 -1
  42. package/dist/assets/{consent-controls-_cOoTVc3.js → consent-controls-DvwbwUOq.js} +1 -1
  43. package/dist/assets/consent-eo_quPak.js +1 -0
  44. package/dist/assets/{contacts-gateway-EHsHomBl.js → contacts-gateway-Dml5USpK.js} +1 -1
  45. package/dist/assets/{contacts-page-route-CuaE_MD2.js → contacts-page-route-DR3e4M5g.js} +1 -1
  46. package/dist/assets/conversation-cache-DWJJt1dq.js +1 -0
  47. package/dist/assets/conversation-list-fetchers-CVn_WHcU.js +1 -0
  48. package/dist/assets/{conversation-navigation-CxUK4Fhh.js → conversation-navigation-DnxNTtTG.js} +1 -1
  49. package/dist/assets/conversation-queries-Bf5aB-kP.js +1 -0
  50. package/dist/assets/{credentials-page-ClXliep6.js → credentials-page-Mf-beCDU.js} +1 -1
  51. package/dist/assets/{csv-preview-D5EScRyC.js → csv-preview-Cb3O6FJ3.js} +1 -1
  52. package/dist/assets/{debug-page-DdKMk_VT.js → debug-page-kCuKgzKW.js} +1 -1
  53. package/dist/assets/{deploy-dialogs-Sz7_4XGL.js → deploy-dialogs-CdgMLVKR.js} +1 -1
  54. package/dist/assets/{deploy-store-DfhOfBLF.js → deploy-store-DOEwnSYF.js} +1 -1
  55. package/dist/assets/{developer-page-DebBhzLg.js → developer-page-tGacR_j2.js} +1 -1
  56. package/dist/assets/{diagnostics-B8CfVwTx.js → diagnostics-zbC2olIU.js} +1 -1
  57. package/dist/assets/{doctor-handoff-store-DiF_qO2F.js → doctor-handoff-store-938U_PWE.js} +1 -1
  58. package/dist/assets/{document-viewer-container-Cez0vbTM.js → document-viewer-container-B3H5r6Vx.js} +2 -2
  59. package/dist/assets/{document-viewer-page-BtKjhRR1.js → document-viewer-page-BuqA-5AL.js} +1 -1
  60. package/dist/assets/effective-timezone-C6X5Vt_s.js +1 -0
  61. package/dist/assets/{emails-page-pbiiAg7j.js → emails-page-BvpdSrVe.js} +1 -1
  62. package/dist/assets/{feature-flag-catalog-DLSx2qti.js → feature-flag-catalog-Cigl5R2_.js} +1 -1
  63. package/dist/assets/{file-editor-DE-Dw4iG.js → file-editor-DsgRiCQJ.js} +1 -1
  64. package/dist/assets/first-run-scope-BQ2FTcs1.js +1 -0
  65. package/dist/assets/{funnel-events-Xu4h-ISW.js → funnel-events-Cqx7t1f1.js} +1 -1
  66. package/dist/assets/{general-page-BIC9lrJt.js → general-page-aweJSuPL.js} +1 -1
  67. package/dist/assets/{get-memory-stats-DEXAf_xr.js → get-memory-stats-u6Hkt6fb.js} +1 -1
  68. package/dist/assets/haptics-UlcaJKo6.js +2 -0
  69. package/dist/assets/{hatching-screen-NSDcJdso.js → hatching-screen-snGzVqU6.js} +1 -1
  70. package/dist/assets/home-page-route-CLmXyyQJ.js +1 -0
  71. package/dist/assets/{hosting-screen-DEvExAiv.js → hosting-screen-Byp-xUVG.js} +1 -1
  72. package/dist/assets/identity-BBf0d0zw.js +1 -0
  73. package/dist/assets/{identity-page-route-DXjKIUCT.js → identity-page-route-BPKi5m8E.js} +2 -2
  74. package/dist/assets/{index-C4yZJVsJ.js → index-DUBUiRly.js} +3 -3
  75. package/dist/assets/{ingest-DaEam2-h.js → ingest-CMGYRNYA.js} +1 -1
  76. package/dist/assets/{inspect-page-Dd9vRZFU.js → inspect-page-BEgoFImS.js} +4 -4
  77. package/dist/assets/{installed-plugins-query-DqNOfIzB.js → installed-plugins-query-BKLXToLk.js} +1 -1
  78. package/dist/assets/{integration-icon-CEj6of8V.js → integration-icon-B2RF_VOY.js} +1 -1
  79. package/dist/assets/integrations-page-BA2GnVoX.js +1 -0
  80. package/dist/assets/{intelligence-layout-CYOs9g5z.js → intelligence-layout-DqPt0nQG.js} +1 -1
  81. package/dist/assets/{invalidate-memory-queries-CmAE1n6k.js → invalidate-memory-queries-m_zGW-Q9.js} +1 -1
  82. package/dist/assets/{invalidate-plugin-queries-8-nVuyT-.js → invalidate-plugin-queries-DAB1Z6NN.js} +1 -1
  83. package/dist/assets/{latest-assistant-text-CAl0YM3t.js → latest-assistant-text-BrEYsqsD.js} +2 -2
  84. package/dist/assets/{library-detail-page-ZAksMCi8.js → library-detail-page-BcyLIWfW.js} +1 -1
  85. package/dist/assets/{library-page-C_bHG29P.js → library-page-CCO-P9Mf.js} +1 -1
  86. package/dist/assets/{local-runtime-upgrade-BtnfGFvX.js → local-runtime-upgrade-COfY4aeu.js} +1 -1
  87. package/dist/assets/{login-flow-BNaCTXwB.js → login-flow-C4Q6PuZ8.js} +1 -1
  88. package/dist/assets/login-page-DlRIP8KI.js +1 -0
  89. package/dist/assets/logout-page-D3L-Upv3.js +1 -0
  90. package/dist/assets/{logs-layout-CPq-uymB.js → logs-layout-B9bGBYsj.js} +1 -1
  91. package/dist/assets/{media-preview-DA0rS8cw.js → media-preview-BpeDmKF8.js} +1 -1
  92. package/dist/assets/{memory-page-route-B5B2Dxeb.js → memory-page-route-2MWgT0ZS.js} +2 -2
  93. package/dist/assets/{memory-router-playground-page-CJT6dCJJ.js → memory-router-playground-page-_xIMvJ1T.js} +1 -1
  94. package/dist/assets/{message-files-panel-C7fZmKu9.js → message-files-panel-Dnlf1NMr.js} +1 -1
  95. package/dist/assets/{messages-Bzoxmx-l.js → messages-BsebAxbJ.js} +2 -2
  96. package/dist/assets/{metric-card-Do3wNbPI.js → metric-card-Cn3Pxp_y.js} +1 -1
  97. package/dist/assets/{mobile-sidebar-drawer-BJd6tv4Y.js → mobile-sidebar-drawer-DLQTNJ0f.js} +1 -1
  98. package/dist/assets/native-anchor-DlLucCuN.js +1 -0
  99. package/dist/assets/navigation-resolver-G5hvXj7n.js +1 -0
  100. package/dist/assets/{not-found-PdwOnNTv.js → not-found-D7zMNeoP.js} +1 -1
  101. package/dist/assets/notifications-KDnxMuel.js +1 -0
  102. package/dist/assets/{notifications-page-BwstYa-9.js → notifications-page-DOvBG6MA.js} +1 -1
  103. package/dist/assets/{oauth-complete-page-BkgOY2_3.js → oauth-complete-page-BtAOD5L_.js} +1 -1
  104. package/dist/assets/{oauth-popup-complete-page-BBTQrcoD.js → oauth-popup-complete-page-BOhgbJpy.js} +1 -1
  105. package/dist/assets/{onboarding-layout-vvQBbcNH.js → onboarding-layout-BJGGWHC5.js} +1 -1
  106. package/dist/assets/open-workspace-file-DuM6YljK.js +2 -0
  107. package/dist/assets/page-empty-state-DMOmLL3O.js +1 -0
  108. package/dist/assets/pairing-page-DUGGmtF7.js +1 -0
  109. package/dist/assets/{pdf-file-preview-Cu8sMBOL.js → pdf-file-preview-lOeUDEY0.js} +1 -1
  110. package/dist/assets/{personality-page-DWEuqYvL.js → personality-page-BJ4zMN_J.js} +1 -1
  111. package/dist/assets/plans-page-DXkMROlG.js +1 -0
  112. package/dist/assets/platform-detection-DVo8Md11.js +6 -0
  113. package/dist/assets/{platform-login-notice-6RhKIp2V.js → platform-login-notice-QBjBs-bf.js} +1 -1
  114. package/dist/assets/platform-loopback-page-DHfJc1sP.js +1 -0
  115. package/dist/assets/{plugin-detail-page-Dn6mFgg9.js → plugin-detail-page-hhCC8N_y.js} +1 -1
  116. package/dist/assets/plugins-surface-CLevPrO2.js +1 -0
  117. package/dist/assets/{prefs-DCq3owwr.js → prefs-BmjzWWYT.js} +1 -1
  118. package/dist/assets/privacy-page-BY3uqWM6.js +1 -0
  119. package/dist/assets/privacy-screen-BqwK5OY5.js +1 -0
  120. package/dist/assets/provider-callback-page-CZdG8aZO.js +1 -0
  121. package/dist/assets/{provider-key-C6EBUeUy.js → provider-key-DttR9fDs.js} +1 -1
  122. package/dist/assets/provider-signup-page-ZZ8fcOTI.js +1 -0
  123. package/dist/assets/{provisioning-targets-P0R2EB_9.js → provisioning-targets-D0PQtccl.js} +1 -1
  124. package/dist/assets/push-registration-C51GEWeG.js +2 -0
  125. package/dist/assets/{quick-input-page-CJTRL6h3.js → quick-input-page-QikxtuDe.js} +1 -1
  126. package/dist/assets/react-query.gen-DYPHpypm.js +1 -0
  127. package/dist/assets/{remove-from-device-dialog-BgHwDgjL.js → remove-from-device-dialog-DPjq2HVH.js} +1 -1
  128. package/dist/assets/{research-mock-page-B--gQIPc.js → research-mock-page-DuGMQ8Gj.js} +1 -1
  129. package/dist/assets/{research-onboarding-route-S64sLFJm.js → research-onboarding-route-CJZ7RsRT.js} +3 -3
  130. package/dist/assets/{research-results-view-DZcYXLOV.js → research-results-view-C9to0vk2.js} +1 -1
  131. package/dist/assets/{retire-confirm-dialog-z1e5g-T2.js → retire-confirm-dialog-ChBsQoPV.js} +1 -1
  132. package/dist/assets/review-terms-screen-D2Nrs2g_.js +1 -0
  133. package/dist/assets/routes-XSuDx207.js +23 -0
  134. package/dist/assets/runtime-upgrade-banner-BDkDHeFs.js +2 -0
  135. package/dist/assets/{schedules-TiY9ctCJ.js → schedules-pP64xy_x.js} +1 -1
  136. package/dist/assets/{schedules-page-DRdg3lrg.js → schedules-page-Dl67yc8g.js} +1 -1
  137. package/dist/assets/sdk.gen-Dy1Bb8sS.js +6 -0
  138. package/dist/assets/{select-assistant-screen-Dry2a53v.js → select-assistant-screen-CX3yQoVF.js} +1 -1
  139. package/dist/assets/settings-layout-BeyEfawX.js +1 -0
  140. package/dist/assets/settings-navigation-m6QhETIa.js +1 -0
  141. package/dist/assets/{share-feedback-modal-BwZXYT6i.js → share-feedback-modal-CpPZwk_w.js} +1 -1
  142. package/dist/assets/{sidebar-tree-DqCdhWH0.js → sidebar-tree-CzLoiQ8C.js} +1 -1
  143. package/dist/assets/signup-page-DjhLpIIJ.js +1 -0
  144. package/dist/assets/{signup-shell-DQoX-73u.js → signup-shell-n2TrmmNi.js} +1 -1
  145. package/dist/assets/{site-favicon-Dy0dGKv4.js → site-favicon-BF7RhCjo.js} +1 -1
  146. package/dist/assets/{skill-detail-page-BBVw63ek.js → skill-detail-page-Bwtdr5Ze.js} +1 -1
  147. package/dist/assets/{skill-detail-panel-CZYcz8zJ.js → skill-detail-panel-DmmtSmZB.js} +1 -1
  148. package/dist/assets/{skills-CobQEp0Y.js → skills-BNvHTcYo.js} +1 -1
  149. package/dist/assets/{slack-setup-wizard-qz8Y2kbN.js → slack-setup-wizard-Dt8mhYhN.js} +1 -1
  150. package/dist/assets/{sound-manager-DdFhLSnM.js → sound-manager-C-FXxZhq.js} +1 -1
  151. package/dist/assets/{sounds-page-DFytZ95a.js → sounds-page-Chp1s4M-.js} +1 -1
  152. package/dist/assets/{start-screen-CAUO7iU0.js → start-screen-CH0iSBVN.js} +1 -1
  153. package/dist/assets/stt-language-picker-modal-Dy379lW1.js +1 -0
  154. package/dist/assets/{subagent-detail-panel-BiZcxtca.js → subagent-detail-panel-BdPfn7BV.js} +1 -1
  155. package/dist/assets/{subagent-store-CaYz_-6p.js → subagent-store-DwBJL4BM.js} +1 -1
  156. package/dist/assets/superpowers-page-C4B5FREg.js +1 -0
  157. package/dist/assets/{system-events-page-en3PLLA2.js → system-events-page-D3ZA138u.js} +1 -1
  158. package/dist/assets/{text-preview-GzzXU2th.js → text-preview-BmuS3Jnw.js} +1 -1
  159. package/dist/assets/{theme-stage-page-DfXinJSb.js → theme-stage-page-CpsFSfFV.js} +1 -1
  160. package/dist/assets/{threshold-presets-nk5pzNj0.js → threshold-presets-CQ7vI-Wq.js} +1 -1
  161. package/dist/assets/{tool-detail-panel-Duob5Onw.js → tool-detail-panel-0Sp3CHFJ.js} +1 -1
  162. package/dist/assets/{transcript-message-body-shared-B8tylrby.js → transcript-message-body-shared-C_Ijqrn5.js} +1 -1
  163. package/dist/assets/{trust-rules-api-yGqV5NSi.js → trust-rules-api-B4g_XMAO.js} +1 -1
  164. package/dist/assets/{upgrade-cancel-page-BO1g_2dY.js → upgrade-cancel-page-Dem0wnzu.js} +1 -1
  165. package/dist/assets/{upgrade-success-page-JLfUPRXK.js → upgrade-success-page-CnQyI3_u.js} +1 -1
  166. package/dist/assets/{use-app-theme-D47xo0HN.js → use-app-theme-BAGQ6WMq.js} +1 -1
  167. package/dist/assets/use-assistant-avatar-CqTCEKcn.js +1 -0
  168. package/dist/assets/{use-assistant-capability-DW1-G9gT.js → use-assistant-capability-CUEzubv5.js} +1 -1
  169. package/dist/assets/{use-assistant-identity-details-CYJJlhVI.js → use-assistant-identity-details-DlLs9xww.js} +1 -1
  170. package/dist/assets/{use-attachment-preview-xtU_G3Z8.js → use-attachment-preview-BZuYc4Vc.js} +2 -2
  171. package/dist/assets/use-attachment-squares-NEEA7Zuc.js +1 -0
  172. package/dist/assets/{use-avatar-accent-var-DpG_e3Ig.js → use-avatar-accent-var-CUL1kls8.js} +1 -1
  173. package/dist/assets/{use-bookmarks-BxeHtxr6.js → use-bookmarks-DRRtDvQB.js} +1 -1
  174. package/dist/assets/{use-bundled-avatar-components-DjSw8dxI.js → use-bundled-avatar-components-BzgMHQcH.js} +2 -2
  175. package/dist/assets/use-checkout-dismiss-refresh-DhzMx3v8.js +1 -0
  176. package/dist/assets/{use-command-palette-sections-Cuznzj_A.js → use-command-palette-sections-DmP2C3s9.js} +1 -1
  177. package/dist/assets/{use-edge-swipe-Cn0pKFX0.js → use-edge-swipe-DLpSYIqE.js} +1 -1
  178. package/dist/assets/{use-edge-swipe-back-DkPfMOdP.js → use-edge-swipe-back-Bbc-9rPY.js} +1 -1
  179. package/dist/assets/{use-edit-app-IZp8w7bB.js → use-edit-app-d9VPKqhM.js} +1 -1
  180. package/dist/assets/{use-effective-timezone-BK7XyO_V.js → use-effective-timezone-DixfAba2.js} +1 -1
  181. package/dist/assets/use-invite-link-dialog-CYX6yRMD.js +1 -0
  182. package/dist/assets/{use-is-org-ready-CzV7o_oQ.js → use-is-org-ready-XO3KhcpH.js} +1 -1
  183. package/dist/assets/{use-local-file-info-DaNZn1QT.js → use-local-file-info-BhIb0tEw.js} +1 -1
  184. package/dist/assets/use-onboarding-login-Fi5kWxZq.js +1 -0
  185. package/dist/assets/{use-platform-assistant-id-CfSQv1Jk.js → use-platform-assistant-id-CzGrGP7A.js} +1 -1
  186. package/dist/assets/{use-platform-gate-eiz8Kj6G.js → use-platform-gate-BO0EH_L6.js} +1 -1
  187. package/dist/assets/{use-reduced-motion-CznEG-5y.js → use-reduced-motion-Blpe7z4_.js} +1 -1
  188. package/dist/assets/use-return-to-short-circuit-CdGWtw01.js +1 -0
  189. package/dist/assets/{use-save-twilio-credentials-Dm0bhx_A.js → use-save-twilio-credentials-D2l1lp1p.js} +1 -1
  190. package/dist/assets/{use-skill-actions-BkMRz2kV.js → use-skill-actions-BJSFEj-2.js} +1 -1
  191. package/dist/assets/{use-skill-detail-files-c0kyL9qZ.js → use-skill-detail-files-DpE4ZhKF.js} +1 -1
  192. package/dist/assets/use-sticky-profiles-B6BkFXi7.js +1 -0
  193. package/dist/assets/{use-subagent-card-data-C7ZEUE5M.js → use-subagent-card-data-eoetJ052.js} +1 -1
  194. package/dist/assets/{use-supports-bookmarks-DYxpaoa_.js → use-supports-bookmarks-sSuQiAsQ.js} +1 -1
  195. package/dist/assets/use-supports-credentials-settings-BGk1AxJ5.js +1 -0
  196. package/dist/assets/{use-swipe-engine-VZ15d2Yh.js → use-swipe-engine--jntXWQT.js} +1 -1
  197. package/dist/assets/use-transcript-message-by-id-By23xt-c.js +1 -0
  198. package/dist/assets/{use-transcript-messages--IFYHvqK.js → use-transcript-messages-KoFuifkV.js} +1 -1
  199. package/dist/assets/{use-voice-sample-preview-CFjnL9wj.js → use-voice-sample-preview-DiXNs-im.js} +1 -1
  200. package/dist/assets/{utils-Dr_wOC7R.js → utils-B2hm7pwO.js} +1 -1
  201. package/dist/assets/{utils-CPWCnpba.js → utils-CThlho72.js} +1 -1
  202. package/dist/assets/{viewer-store-COyBTSXn.js → viewer-store-BdgeUnmH.js} +1 -1
  203. package/dist/assets/voice-list-BPgpjHIk.js +1 -0
  204. package/dist/assets/voice-page-BkCYY9At.js +1 -0
  205. package/dist/assets/{weather-forecast-display-C60AEmxC.js → weather-forecast-display-CR94vzni.js} +1 -1
  206. package/dist/assets/{welcome-screen-qydptjIT.js → welcome-screen-DukaWmAY.js} +1 -1
  207. package/dist/assets/{workflow-detail-panel-BiouTrdj.js → workflow-detail-panel-B2y2HOes.js} +1 -1
  208. package/dist/assets/{workflow-store-DPRUYCna.js → workflow-store-BPw35C7H.js} +1 -1
  209. package/dist/assets/workspace-page-Bi28RIvE.js +1 -0
  210. package/dist/assets/workspace-tree-query-Cp0iX1ma.js +1 -0
  211. package/dist/index.html +152 -153
  212. package/package.json +1 -1
  213. package/dist/assets/access-BSsaN2On.js +0 -1
  214. package/dist/assets/account-page-CSGAEOcI.js +0 -1
  215. package/dist/assets/ai-page-DU2k-A_I.js +0 -1
  216. package/dist/assets/auth-store-344lpSdW.js +0 -2
  217. package/dist/assets/browser-vie4LRYm.js +0 -2
  218. package/dist/assets/checkout-continuation-CnwFJDxg.js +0 -1
  219. package/dist/assets/checkout-page-CLOktjEp.js +0 -1
  220. package/dist/assets/consent-BpATHDME.js +0 -1
  221. package/dist/assets/conversation-cache-Beenngrg.js +0 -1
  222. package/dist/assets/conversation-list-fetchers-DCLRirbj.js +0 -1
  223. package/dist/assets/conversation-queries-SlTB6ibo.js +0 -1
  224. package/dist/assets/effective-timezone-C3ee9H8L.js +0 -1
  225. package/dist/assets/first-run-scope-BVltBd3g.js +0 -1
  226. package/dist/assets/haptics-Blk_K02O.js +0 -2
  227. package/dist/assets/home-page-route-DlOwKMZn.js +0 -1
  228. package/dist/assets/identity-CCWRQBqs.js +0 -1
  229. package/dist/assets/integrations-page-Ca6ZZDNB.js +0 -1
  230. package/dist/assets/login-page-uBp3mUse.js +0 -1
  231. package/dist/assets/logout-page-CvwqF-4Y.js +0 -1
  232. package/dist/assets/native-anchor-Qk379M-W.js +0 -1
  233. package/dist/assets/native-biometric-CbCUFdjC.js +0 -6
  234. package/dist/assets/navigation-resolver-y9MHLxam.js +0 -1
  235. package/dist/assets/notifications-CsTAeEjD.js +0 -1
  236. package/dist/assets/open-workspace-file-CpTrcRQg.js +0 -2
  237. package/dist/assets/page-empty-state-BKU_UJ5Z.js +0 -1
  238. package/dist/assets/pairing-page-DFly7SIf.js +0 -1
  239. package/dist/assets/plans-page-DKnsdczi.js +0 -1
  240. package/dist/assets/platform-detection-C5Xt8-QJ.js +0 -1
  241. package/dist/assets/platform-loopback-page-BQy56wr2.js +0 -1
  242. package/dist/assets/plugins-surface-CSW8ge7J.js +0 -1
  243. package/dist/assets/privacy-page-yZ8NOrgd.js +0 -1
  244. package/dist/assets/privacy-screen-Dn_PscxS.js +0 -1
  245. package/dist/assets/provider-callback-page-D9rRddgx.js +0 -1
  246. package/dist/assets/provider-signup-page-2swsxRIy.js +0 -1
  247. package/dist/assets/push-registration-23UkBXeo.js +0 -2
  248. package/dist/assets/react-query.gen-D0Q5L-je.js +0 -1
  249. package/dist/assets/review-terms-screen-F1o1JWC8.js +0 -1
  250. package/dist/assets/routes-4aGUKLYP.js +0 -23
  251. package/dist/assets/runtime-upgrade-banner-D8TSBqKf.js +0 -2
  252. package/dist/assets/sdk.gen-CsUgJyBR.js +0 -6
  253. package/dist/assets/settings-layout-DbpkQ0qP.js +0 -1
  254. package/dist/assets/settings-navigation-CjPoGbpD.js +0 -1
  255. package/dist/assets/signup-page-C8l2WsPS.js +0 -1
  256. package/dist/assets/superpowers-page-CWj7rGy1.js +0 -1
  257. package/dist/assets/use-assistant-avatar-C7ze3vgm.js +0 -1
  258. package/dist/assets/use-attachment-squares-BBxMZP7o.js +0 -1
  259. package/dist/assets/use-checkout-dismiss-refresh-Bfms2Ch3.js +0 -1
  260. package/dist/assets/use-invite-link-dialog-Dv3ig9W1.js +0 -1
  261. package/dist/assets/use-onboarding-login-jt_ejqRb.js +0 -1
  262. package/dist/assets/use-return-to-short-circuit-BFgPJjCM.js +0 -1
  263. package/dist/assets/use-sticky-profiles-DfDcQ-kB.js +0 -1
  264. package/dist/assets/use-supports-credentials-settings-DAFFDbZ4.js +0 -1
  265. package/dist/assets/use-transcript-message-by-id-CgKXNqmO.js +0 -1
  266. package/dist/assets/voice-list-CUXyi8jy.js +0 -1
  267. package/dist/assets/voice-page-B_vaHVZn.js +0 -1
  268. package/dist/assets/workspace-page-B4R0RGFq.js +0 -1
  269. package/dist/assets/workspace-tree-query-CCVpyMq8.js +0 -1
  270. /package/dist/assets/{a2a-invite-Cx2okV6a.js → a2a-invite-Bm584O1Q.js} +0 -0
  271. /package/dist/assets/{account-shell-BFwCqbiW.js → account-shell-BAxD1c33.js} +0 -0
  272. /package/dist/assets/{android-consumption-only-DT4SppcW.js → android-consumption-only-BhpxWm8b.js} +0 -0
  273. /package/dist/assets/{app-info-D-aHGnE-.js → app-info-CFDDITP8.js} +0 -0
  274. /package/dist/assets/{app-types-DyIrz4FQ.js → app-types-BaF0YViN.js} +0 -0
  275. /package/dist/assets/{apple-logo-_x2VgiOh.js → apple-logo-QxCmgL_8.js} +0 -0
  276. /package/dist/assets/{avatar-bundled-components-CwoY0fNX.js → avatar-bundled-components-CpUPtepI.js} +0 -0
  277. /package/dist/assets/{avatar-subagent-BzM5BMYE.js → avatar-subagent-CODNemgH.js} +0 -0
  278. /package/dist/assets/{avatar-svg-compositor-BWsnZx7I.js → avatar-svg-compositor-HKhsTl-B.js} +0 -0
  279. /package/dist/assets/{avatar-tone-Cnko8w64.js → avatar-tone-DJBf2301.js} +0 -0
  280. /package/dist/assets/{browser-timezone-Bt06ntni.js → browser-timezone-CIJphq8z.js} +0 -0
  281. /package/dist/assets/{by-tool-use-id-index-CsMrRoeV.js → by-tool-use-id-index-BNlydLFB.js} +0 -0
  282. /package/dist/assets/{chat-layout-slots-store-4BKpWVWP.js → chat-layout-slots-store-Df14mWpo.js} +0 -0
  283. /package/dist/assets/{chat-Bwc_Va4x.js → chat-qr1cXxyu.js} +0 -0
  284. /package/dist/assets/{conversation-selection-CxnP6yVT.js → conversation-selection-BQ2rwj3i.js} +0 -0
  285. /package/dist/assets/{conversation-store-pVTpsull.js → conversation-store-CRB7YBVE.js} +0 -0
  286. /package/dist/assets/{copy-to-clipboard-Bxl-OHim.js → copy-to-clipboard-Begy4gA7.js} +0 -0
  287. /package/dist/assets/{credential-entry-page-CHEnzRl_.js → credential-entry-page-Ctcscm1e.js} +0 -0
  288. /package/dist/assets/{detail-card-CIG8Ur34.js → detail-card-Jp-4dqnZ.js} +0 -0
  289. /package/dist/assets/{detail-drawer-NoEo8D31.js → detail-drawer-D_NmfOfo.js} +0 -0
  290. /package/dist/assets/{detail-panel-stop-button-BdEcyDIr.js → detail-panel-stop-button-D0pZKzCv.js} +0 -0
  291. /package/dist/assets/{detail-shell-Ber1o-Jd.js → detail-shell-Cfhmm8Ht.js} +0 -0
  292. /package/dist/assets/{dictation-overlay-page-B-ZiRDCN.js → dictation-overlay-page-B0G77Lxf.js} +0 -0
  293. /package/dist/assets/{edit-chat-session-DV3JHy7m.js → edit-chat-session-DKHJkqrM.js} +0 -0
  294. /package/dist/assets/{emoji-catalog-data-DFDbUp2o.js → emoji-catalog-data-wClcJhQd.js} +0 -0
  295. /package/dist/assets/{environment-store-DPPZjQBr.js → environment-store-CY9Rnrfi.js} +0 -0
  296. /package/dist/assets/{esm-CNeJzEKI.js → esm-DapZX4Er.js} +0 -0
  297. /package/dist/assets/{external-urls-DjcLrlMy.js → external-urls-DdNdyTc4.js} +0 -0
  298. /package/dist/assets/{eye-bbox-C3QvquSe.js → eye-bbox-CL9fV-US.js} +0 -0
  299. /package/dist/assets/{format-date-BVeYupnR.js → format-date-C_mIPxz2.js} +0 -0
  300. /package/dist/assets/{hard-navigate-9vglJJTR.js → hard-navigate-DqAmkZZE.js} +0 -0
  301. /package/dist/assets/{link-click-CncSkJ2L.js → link-click-DEZzmUsj.js} +0 -0
  302. /package/dist/assets/{machine-sizes-DwjJlMD9.js → machine-sizes-fKP6e9yR.js} +0 -0
  303. /package/dist/assets/{misc-DkLRKNc9.js → misc-D9--6g1n.js} +0 -0
  304. /package/dist/assets/{native-file-CzcnZ6ES.js → native-file-BTjo719k.js} +0 -0
  305. /package/dist/assets/{oauth-connection-utils-B_y5U8k5.js → oauth-connection-utils-DLsnIBSh.js} +0 -0
  306. /package/dist/assets/{oauth-popup-h31BDZz7.js → oauth-popup-DEdfcSaL.js} +0 -0
  307. /package/dist/assets/{onboarding-step-layout-CsE4NokU.js → onboarding-step-layout-Cm0PD1db.js} +0 -0
  308. /package/dist/assets/{onboarding-store-CHNXLvVd.js → onboarding-store-BllETOYg.js} +0 -0
  309. /package/dist/assets/{optimistic-lifecycle-DYPK-Ow7.js → optimistic-lifecycle-Zm4t_MWl.js} +0 -0
  310. /package/dist/assets/{page-shell-CTGK0BYQ.js → page-shell-BitkSRw8.js} +0 -0
  311. /package/dist/assets/{password-reset-page-wBsuzxY1.js → password-reset-page-i1oxLRuB.js} +0 -0
  312. /package/dist/assets/{pdf-preview-BUviTR8O.js → pdf-preview-BeENvA7P.js} +0 -0
  313. /package/dist/assets/{plugin-attribution-CqwqgBBt.js → plugin-attribution-C3Kyge4T.js} +0 -0
  314. /package/dist/assets/{plugins-page-BM7uyCVq.js → plugins-page-B6xzLuM-.js} +0 -0
  315. /package/dist/assets/{pointer-CbRUenvI.js → pointer-Di9xGve4.js} +0 -0
  316. /package/dist/assets/{prechat-BhksnvOi.js → prechat-D0kfFLHe.js} +0 -0
  317. /package/dist/assets/{preview-skeleton-SOAvtgSp.js → preview-skeleton-Dr_FZPD0.js} +0 -0
  318. /package/dist/assets/{profile-metadata-CV0PnVCc.js → profile-metadata-ABpt5sF3.js} +0 -0
  319. /package/dist/assets/{proxy-CJDjUn7E.js → proxy-lK4w-Bft.js} +0 -0
  320. /package/dist/assets/{public-asset-CXfLVmJu.js → public-asset-Di_CM-Tf.js} +0 -0
  321. /package/dist/assets/{radio-card-nav-B8eyoVlT.js → radio-card-nav-DJHt6k5l.js} +0 -0
  322. /package/dist/assets/{react-query.gen-nOsyoQ6U.js → react-query.gen-BtWMgf9p.js} +0 -0
  323. /package/dist/assets/{research-facts-DiJ-nQ1R.js → research-facts-BElRDNOP.js} +0 -0
  324. /package/dist/assets/{research-onboarding-persistence-D4qPVBNx.js → research-onboarding-persistence-BBFfx020.js} +0 -0
  325. /package/dist/assets/{sandbox-bridge-l7hxmFmg.js → sandbox-bridge-BNwuZJHp.js} +0 -0
  326. /package/dist/assets/{sdk.gen-CY1afY_n.js → sdk.gen-DGleJJuY.js} +0 -0
  327. /package/dist/assets/{setting-row-zsrcjZm0.js → setting-row-Dgoez0aa.js} +0 -0
  328. /package/dist/assets/{skills-page-D1fhMr6r.js → skills-page-BuFYHg6T.js} +0 -0
  329. /package/dist/assets/{status-badge-pill-DYBOsHm1.js → status-badge-pill-D7j-0FLr.js} +0 -0
  330. /package/dist/assets/{theme-preferences-BV8pm97v.js → theme-preferences-D7_-kTyl.js} +0 -0
  331. /package/dist/assets/{three-dot-indicator-kyZ3c9IW.js → three-dot-indicator-uhGzoECR.js} +0 -0
  332. /package/dist/assets/{tiptap-document-editor-DxfJdAvi.js → tiptap-document-editor-BV7KYOAB.js} +0 -0
  333. /package/dist/assets/{usage-redirect-page-Dko1TiFl.js → usage-redirect-page-DUkPPZtp.js} +0 -0
  334. /package/dist/assets/{use-active-assistant-id-BF7k_8wM.js → use-active-assistant-id-Ga7QpWoG.js} +0 -0
  335. /package/dist/assets/{use-bus-subscription-BpN_ExxB.js → use-bus-subscription-B-nzwF5c.js} +0 -0
  336. /package/dist/assets/{use-copy-to-clipboard-FnRYJ4Kv.js → use-copy-to-clipboard-Da76__Tl.js} +0 -0
  337. /package/dist/assets/{use-is-mobile-BZEx6kJ_.js → use-is-mobile-C0Jx9AxD.js} +0 -0
  338. /package/dist/assets/{voice-providers-note-D0NlUr34.js → voice-providers-note-BVDt6Sob.js} +0 -0
  339. /package/dist/assets/{workflow-status-KgjQhFZ8.js → workflow-status-9khXBfP6.js} +0 -0
  340. /package/dist/assets/{workspace-path-links-D6BeIXR9.js → workspace-path-links-C1A7ZMlC.js} +0 -0
  341. /package/dist/assets/{workspace-theme-tokens-PCjFiNBt.js → workspace-theme-tokens-hEF46cJM.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DWxxMNqc.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useQuery-Bz-fbQ-m.js";import{t as c}from"./useMutation-CXGTrp4W.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-DFWryB3N.js";import{t as d}from"./typography-BeUa5Fd-.js";import{t as f}from"./card-q0GJX1HZ.js";import{_ as p,c as m,f as h,g,l as _,o as v,u as y,x as b}from"./use-save-twilio-credentials-Dm0bhx_A.js";import{t as x}from"./chevron-down-BcYoJcfl.js";import{t as S}from"./circle-check-big-DYlsR-nv.js";import{H as C,N as w,V as T,a as E,o as D,r as O}from"./src-CqJTlX1y.js";import{o as k,r as A,t as j,u as M}from"./threshold-presets-nk5pzNj0.js";import{t as N}from"./message-square-DfH2BAPN.js";import{t as P}from"./search-DZBQ2Z4C.js";import{t as F}from"./notice-DrCduoXJ.js";import{t as I}from"./tag-D1UeSlPe.js";import{t as L}from"./input-DF52UqKH.js";import{t as ee}from"./confirm-dialog-CsxDM9Vd.js";import{t as te}from"./dropdown-CLoJyNei.js";import{n as ne,t as re}from"./create-selectors-B5FxuP1q.js";import{t as ie}from"./assistant-identity-store-Dk3c04VV.js";import{i as ae}from"./utils-CPWCnpba.js";import{d as oe}from"./routes-gT_HcUb1.js";import{n as se}from"./conversation-navigation-CxUK4Fhh.js";import{i as R,o as ce,r as z}from"./sdk.gen-CY1afY_n.js";import{t as le}from"./assistant-feature-flag-store-Bpiyb3UO.js";import{t as B}from"./public-asset-CXfLVmJu.js";import{t as ue}from"./use-active-assistant-id-BF7k_8wM.js";import{t as de}from"./slack-setup-wizard-qz8Y2kbN.js";import{t as fe}from"./index-C4yZJVsJ.js";import{t as pe}from"./detail-card-CIG8Ur34.js";import{n as me,t as he}from"./mobile-sidebar-drawer-BJd6tv4Y.js";import{a as V,c as ge,i as _e,l as ve,n as ye,r as be,s as xe,t as Se}from"./use-invite-link-dialog-Dv3ig9W1.js";var H=e(t(),1),Ce=re(ne()(e=>({selectedAdapter:`slack`,selectAdapter:t=>e({selectedAdapter:t})}))),we={slack:{label:`Slack`,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`,hasTrustFloorControl:!1},telegram:{label:`Telegram`,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect a Telegram bot so ${e} can send and receive messages on Telegram.`},phone:{label:`Phone Calling`,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect your Twilio account so ${e} can make and answer phone calls.`}},U=l();function W({channels:e,selectedKey:t,onSelect:n}){return(0,U.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,U.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,U.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Channels`}),(0,U.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,U.jsx)(Te,{channel:e,selected:e.key===t,onClick:()=>n(e.key)},e.key))})]})})}function Te({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=h(e.key),a=r?`Connected`:`Not connected`;return(0,U.jsx)(w,{asChild:!0,active:t,label:`${i}, ${a}`,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,U.jsx)(y,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,U.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,U.jsx)(I,{tone:r?`positive`:`neutral`,children:a})})]})})}function G({icon:e,title:t,description:n,action:r,className:i}){return(0,U.jsxs)(`div`,{className:u(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,U.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,U.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,U.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,U.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Ee({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let o=t??`trusted_contacts`,s=ve(e),c=xe.map(e=>({value:e,label:ge[e],tooltip:s[e]}));return(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsxs)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:[`Who can message `,e]}),r?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load this setting. Try reopening this page.`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{style:{maxWidth:280},children:(0,U.jsx)(te,{value:o,onChange:a,options:c,disabled:n,"aria-label":`Who can message ${e}`})}),(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s[o]}),o===`trusted_contacts`?(0,U.jsxs)(F,{tone:`info`,className:`max-w-lg`,children:[`People you haven’t verified yet (even teammates in the same channel) can’t get through: `,e,` lets them know they need to be verified and notifies you. You can verify people ahead of time in Contacts.`]}):null]})]})}function De({address:e,pending:t,onDisconnect:r}){return(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(I,{tone:`positive`,leftIcon:(0,U.jsx)(S,{}),children:`Connected`}),e?(0,U.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,U.jsx)(`div`,{className:`ml-auto`,children:(0,U.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}function Oe({children:e}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,U.jsx)(d,{as:`span`,variant:`body-medium-default`,children:`Slack setup`})]})}),(0,U.jsx)(f.Body,{children:e})]})}j.map(e=>e.riskThreshold);var K=[`none`,`low`];function q(e){if(e!==void 0)return e===`none`?`none`:`low`}var J={none:{label:A(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:A(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:A(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:A(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Y=[`trusted_contact`,`unverified_contact`,`unknown`];function ke(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function X(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Ae(e,t,n){let r;for(let i of e)X(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var je=`__default__`;function Z({color:e}){return(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Me({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let o=q(e??t??void 0),s=q(t??void 0)??null,c=K.map(e=>({value:e,label:J[e].label,icon:(0,U.jsx)(Z,{color:J[e].dotColor}),suffix:e===s?(0,U.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:`default`}):void 0,tooltip:J[e].sublabel}));return s===null&&c.unshift({value:je,label:`Default`,icon:(0,U.jsx)(Z,{color:`transparent`}),tooltip:`follows the default level`}),(0,U.jsx)(te,{value:o??``,onChange:e=>{e===je||e===s?i():r(e)},options:c,placeholder:`Default`,disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ne(e){return e.filter(e=>Q(e)!==`dm`)}function Pe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Fe(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function Ie(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Le=[{value:null,label:`All`},{value:`public`,label:`Public`},{value:`private`,label:`Private`}],Re={public:b,private:M},ze=100,Be=new Set;function Ve({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:f=Be,onTierChange:p,onTierReset:m}){let[h,g]=(0,H.useState)(``),[_,v]=(0,H.useState)(null),y=(0,H.useMemo)(()=>Ne(n??[]),[n]),x=(0,H.useMemo)(()=>Pe(y,h,_),[y,h,_]),S=(0,H.useMemo)(()=>Fe(y),[y]),C=t??`@${e}`;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,U.jsx)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,U.jsxs)(U.Fragment,{children:[`Add with`,` `,(0,U.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/invite `,C]}),` `,`or remove with`,` `,(0,U.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/remove `,C]}),` `,`in that Slack channel. Only channels `,e,` is in appear here.`]})}),r?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load channels. Try reopening this page.`}):y.length===0?(0,U.jsx)(G,{icon:(0,U.jsx)(b,{className:`h-6 w-6`}),title:`No channels yet`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,U.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,U.jsx)(L,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,U.jsx)(P,{className:`h-4 w-4`}),fullWidth:!0})}),(0,U.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Filter channels by type`,children:Le.map(({value:e,label:t})=>{let n=_===e,r=e===null?y.length:S[e];return(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>v(e),className:u(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:[t,` `,r]},e??`all`)})})]}),x.length===0?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:`No channels match.`}):x.length>ze?(0,U.jsx)(`div`,{className:`h-96`,children:(0,U.jsx)(D,{items:x,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,U.jsx)(He,{channel:t,pending:f.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,U.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:x.map(e=>(0,U.jsx)(He,{channel:e,pending:f.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function He({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let l=Q(e);if(l===`dm`)return null;let u=Re[l],d=Ie(e),f=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,U.jsx)(O,{className:f,leading:(0,U.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:d??void 0,trailing:(0,U.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,U.jsx)(Me,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":`Assistant Access in ${e.name}`})})}):(0,U.jsx)(O,{className:f,leading:(0,U.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:d==null?void 0:(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:d})})}function Ue(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function We({defaultTier:e}){let t=q(e??void 0)??null;return(0,U.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,U.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...K].reverse().map(e=>{let n=J[e];return(0,U.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,U.jsx)(Z,{color:n.dotColor}),(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:n.label}),e===t?(0,U.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`· default`}):null]}),(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:Ue(e)})]},e)})})})}var Ge=[{bucket:`channels`,icon:b,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:N,title:`Direct messages`,description:`One-on-one DMs`}];function Ke({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:a,pendingBuckets:o,onBucketChange:s,onBucketReset:c}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[`Default access`,(0,U.jsxs)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:[`How much `,e,` does on its own, by conversation type. Individual channels can override this below, and`,` `,(0,U.jsx)(i,{to:oe.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`Trust Rules`}),` `,`fine-tune when it asks.`]})]})}),(0,U.jsx)(f.Body,{className:`py-1`,children:Ge.map(({bucket:e,icon:i,title:l,description:u})=>{let d=e===`dm`?n?.channels??t:t;return(0,U.jsx)(O,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,U.jsx)(i,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:l,subtitle:u,trailing:(0,U.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,U.jsx)(Me,{tier:n?.[e],defaultTier:d,disabled:r||a||o.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":`Default Assistant Access for ${l}`})})},e)})}),(0,U.jsx)(f.Footer,{className:`p-0`,children:(0,U.jsx)(We,{defaultTier:t})})]})}var qe=`0.11.0`;function Je(){return ae(qe)}var Ye=new Set([404,501]);function Xe(e){let t=fe(e);return t!==void 0&&Ye.has(t)}function Ze(e,t,n){return Y.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function Qe(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function $e(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function $(e,t,n){let r=$e(e,t);return Y.map(e=>({selector:r,contactType:e,threshold:n}))}function et({assistantId:e,adapter:t}){let n=o(),r=Je()&&!!e,i=(0,H.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,H.useMemo)(()=>p(i),[i]),l=(0,H.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=s({...g(i),enabled:r}),d=u.data?.cells,f=(0,H.useMemo)(()=>d?ke(d,t):void 0,[d,t]),m=(0,H.useMemo)(()=>d?{channels:Ae(d,t,`channels`),dm:Ae(d,t,`dm`)}:void 0,[d,t]),h=s({queryKey:l,queryFn:async()=>{let{data:e}=await ce({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),_=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},v=c({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(Ze(t,e,n).map(e=>R({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>_(n=>Qe(n,t,e),Ze(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=c({mutationFn:async({channelExternalId:e})=>{await Promise.all(Y.map(n=>z({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>_(n=>Qe(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=c({mutationFn:async({bucket:e,tier:n})=>{await Promise.all($(t,e,n).map(e=>R({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>_(n=>X(n,t,e),$(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),x=c({mutationFn:async({bucket:e})=>{let n=$e(t,e);await Promise.all(Y.map(e=>z({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>_(n=>X(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),S=(0,H.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[v.isPending,v.variables,y.isPending,y.variables]),C=(0,H.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&Xe(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:h.data,bucketTiers:m,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>v.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{m?.[e]!==void 0&&x.mutate({bucket:e})}}}function tt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let r=s({...v(e),enabled:!!e,select:e=>e.channels}),i=et({assistantId:e,adapter:`slack`}),a=s({queryKey:[`thresholds`,e],queryFn:()=>k(e),enabled:i.supported&&!!e,staleTime:3e4}).data?.interactive??null,o=i.defaultCellTier===void 0?null:i.defaultCellTier??a,c=(0,U.jsx)(Ve,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:i.supported,defaultTier:o,channels:r.data,loading:r.isPending,error:r.isError,tierOverrides:i.tierOverrides,tierOverridesLoading:i.isLoading,tierOverridesError:i.isError,pendingChannelIds:i.pendingChannelIds,onTierChange:i.onTierChange,onTierReset:i.onTierReset});return!i.supported||!i.onBucketChange||!i.onBucketReset?(0,U.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:c}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[i.isError?(0,U.jsx)(F,{tone:`error`,children:`Couldn’t load access settings. These controls stay disabled until they load. Try reopening this page.`}):null,(0,U.jsx)(Ke,{assistantName:t,globalDefaultTier:a,bucketTiers:i.bucketTiers,loading:i.isLoading,error:i.isError,pendingBuckets:i.pendingBuckets,onBucketChange:i.onBucketChange,onBucketReset:i.onBucketReset}),(0,U.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:(0,U.jsx)(E.Root,{type:`single`,collapsible:!0,children:(0,U.jsxs)(E.Item,{value:`per-channel-overrides`,children:[(0,U.jsxs)(E.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:`Per-channel overrides`}),(0,U.jsx)(x,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,U.jsx)(E.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:c})]})})})]})}function nt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,U.jsx)(d,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,U.jsx)(I,{tone:`positive`,leftIcon:(0,U.jsx)(S,{}),children:`Connected`}),(0,U.jsx)(`div`,{className:`ml-auto`,children:(0,U.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}),(0,U.jsx)(f.Body,{children:i})]})}function rt({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Thread Behavior`}),(0,U.jsxs)(C,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":`Slack thread behavior`,children:[(0,U.jsx)(T,{value:`mention_only`,label:`Mentions only`,helperText:`Bot only responds when @mentioned.`}),(0,U.jsx)(T,{value:`mention_then_thread`,label:`Follow threads after first mention`,helperText:`After an @mention in a thread, bot listens to all subsequent replies.`})]})]})}function it({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(null),c=t.trim().length>0&&!i;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(L,{label:`Bot Token`,type:`password`,value:t,onChange:e=>r(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:i,fullWidth:!0}),o?(0,U.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:o}):null,(0,U.jsx)(`div`,{children:(0,U.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),r(``)}catch(e){s(e instanceof Error?e.message:`Failed to save`)}finally{a(!1)}}},disabled:!c,children:i?`Saving…`:`Save`})})]})}function at({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null),u=t.trim().length>0&&i.trim().length>0&&!o;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(L,{label:`Account SID`,type:`text`,value:t,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,U.jsx)(L,{label:`Auth Token`,type:`password`,value:i,onChange:e=>a(e.target.value),placeholder:`Twilio auth token`,disabled:o,fullWidth:!0}),c?(0,U.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,U.jsx)(`div`,{children:(0,U.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),r(``),a(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{s(!1)}}},disabled:!u,children:o?`Saving…`:`Save`})})]})}function ot({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,onSaveSlackConfig:u,slackSaveStatus:d,slackSaveError:f,slackThreadMode:p,slackThreadModePending:m=!1,onSlackThreadModeChange:g,onSaveTwilioCredentials:_,policy:v,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let w=e.status===`ready`,[T,E]=(0,H.useState)(o);if(e.key===`slack`)return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[w?(0,U.jsx)(nt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,U.jsx)(rt,{threadMode:p,threadModePending:m,onThreadModeChange:g})}):(0,U.jsx)(Oe,{children:(0,U.jsx)(de,{assistantName:r,onSave:u,saveStatus:d,saveError:f})}),w?(0,U.jsx)(tt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let D=we[e.key];return(0,U.jsx)(`div`,{className:`flex flex-col gap-4`,children:w?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(De,{address:e.address,pending:a,onDisconnect:c}),D.hasTrustFloorControl&&C?(0,U.jsx)(Ee,{assistantDisplayName:i,policy:v,saving:b,loading:x,error:S,onChange:C}):null]}):T?e.key===`telegram`?(0,U.jsx)(it,{onSave:l}):(0,U.jsx)(at,{onSave:_}):(0,U.jsx)(G,{icon:(0,U.jsx)(y,{channelId:e.key,className:`h-6 w-6`}),title:`${h(e.key)} isn't connected`,description:D.disconnectedPitch?.(i),action:(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,U.jsx)(n,{type:`button`,variant:`link`,onClick:()=>E(!0),children:`or connect manually`})]})})})}var st={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DWxxMNqc.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useQuery-Bz-fbQ-m.js";import{t as c}from"./useMutation-CXGTrp4W.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-DFWryB3N.js";import{t as d}from"./typography-BeUa5Fd-.js";import{t as f}from"./card-q0GJX1HZ.js";import{_ as p,c as m,f as h,g,l as _,o as v,u as y,x as b}from"./use-save-twilio-credentials-D2l1lp1p.js";import{t as x}from"./chevron-down-BcYoJcfl.js";import{t as S}from"./circle-check-big-DYlsR-nv.js";import{H as C,N as w,V as T,a as E,o as D,r as O}from"./src-CqJTlX1y.js";import{o as k,r as A,t as j,u as M}from"./threshold-presets-CQ7vI-Wq.js";import{t as N}from"./message-square-DfH2BAPN.js";import{t as P}from"./search-DZBQ2Z4C.js";import{t as F}from"./notice-DrCduoXJ.js";import{t as I}from"./tag-D1UeSlPe.js";import{t as L}from"./input-DF52UqKH.js";import{t as ee}from"./confirm-dialog-CsxDM9Vd.js";import{t as te}from"./dropdown-CLoJyNei.js";import{n as ne,t as re}from"./create-selectors-B5FxuP1q.js";import{t as ie}from"./assistant-identity-store-Dk3c04VV.js";import{i as ae}from"./utils-CThlho72.js";import{d as oe}from"./routes-gT_HcUb1.js";import{n as se}from"./conversation-navigation-DnxNTtTG.js";import{i as R,o as ce,r as z}from"./sdk.gen-DGleJJuY.js";import{t as le}from"./assistant-feature-flag-store-QGyc5F15.js";import{t as B}from"./public-asset-Di_CM-Tf.js";import{t as ue}from"./use-active-assistant-id-Ga7QpWoG.js";import{t as de}from"./slack-setup-wizard-Dt8mhYhN.js";import{t as fe}from"./index-DUBUiRly.js";import{t as pe}from"./detail-card-Jp-4dqnZ.js";import{n as me,t as he}from"./mobile-sidebar-drawer-DLQTNJ0f.js";import{a as V,c as ge,i as _e,l as ve,n as ye,r as be,s as xe,t as Se}from"./use-invite-link-dialog-CYX6yRMD.js";var H=e(t(),1),Ce=re(ne()(e=>({selectedAdapter:`slack`,selectAdapter:t=>e({selectedAdapter:t})}))),we={slack:{label:`Slack`,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`,hasTrustFloorControl:!1},telegram:{label:`Telegram`,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect a Telegram bot so ${e} can send and receive messages on Telegram.`},phone:{label:`Phone Calling`,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect your Twilio account so ${e} can make and answer phone calls.`}},U=l();function W({channels:e,selectedKey:t,onSelect:n}){return(0,U.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,U.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,U.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Channels`}),(0,U.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,U.jsx)(Te,{channel:e,selected:e.key===t,onClick:()=>n(e.key)},e.key))})]})})}function Te({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=h(e.key),a=r?`Connected`:`Not connected`;return(0,U.jsx)(w,{asChild:!0,active:t,label:`${i}, ${a}`,children:(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,U.jsx)(y,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,U.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,U.jsx)(I,{tone:r?`positive`:`neutral`,children:a})})]})})}function G({icon:e,title:t,description:n,action:r,className:i}){return(0,U.jsxs)(`div`,{className:u(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,U.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,U.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,U.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,U.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Ee({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let o=t??`trusted_contacts`,s=ve(e),c=xe.map(e=>({value:e,label:ge[e],tooltip:s[e]}));return(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsxs)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:[`Who can message `,e]}),r?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load this setting. Try reopening this page.`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{style:{maxWidth:280},children:(0,U.jsx)(te,{value:o,onChange:a,options:c,disabled:n,"aria-label":`Who can message ${e}`})}),(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s[o]}),o===`trusted_contacts`?(0,U.jsxs)(F,{tone:`info`,className:`max-w-lg`,children:[`People you haven’t verified yet (even teammates in the same channel) can’t get through: `,e,` lets them know they need to be verified and notifies you. You can verify people ahead of time in Contacts.`]}):null]})]})}function De({address:e,pending:t,onDisconnect:r}){return(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(I,{tone:`positive`,leftIcon:(0,U.jsx)(S,{}),children:`Connected`}),e?(0,U.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,U.jsx)(`div`,{className:`ml-auto`,children:(0,U.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}function Oe({children:e}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,U.jsx)(d,{as:`span`,variant:`body-medium-default`,children:`Slack setup`})]})}),(0,U.jsx)(f.Body,{children:e})]})}j.map(e=>e.riskThreshold);var K=[`none`,`low`];function q(e){if(e!==void 0)return e===`none`?`none`:`low`}var J={none:{label:A(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:A(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:A(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:A(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Y=[`trusted_contact`,`unverified_contact`,`unknown`];function ke(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function X(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Ae(e,t,n){let r;for(let i of e)X(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var je=`__default__`;function Z({color:e}){return(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Me({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let o=q(e??t??void 0),s=q(t??void 0)??null,c=K.map(e=>({value:e,label:J[e].label,icon:(0,U.jsx)(Z,{color:J[e].dotColor}),suffix:e===s?(0,U.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:`default`}):void 0,tooltip:J[e].sublabel}));return s===null&&c.unshift({value:je,label:`Default`,icon:(0,U.jsx)(Z,{color:`transparent`}),tooltip:`follows the default level`}),(0,U.jsx)(te,{value:o??``,onChange:e=>{e===je||e===s?i():r(e)},options:c,placeholder:`Default`,disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ne(e){return e.filter(e=>Q(e)!==`dm`)}function Pe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Fe(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function Ie(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Le=[{value:null,label:`All`},{value:`public`,label:`Public`},{value:`private`,label:`Private`}],Re={public:b,private:M},ze=100,Be=new Set;function Ve({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:f=Be,onTierChange:p,onTierReset:m}){let[h,g]=(0,H.useState)(``),[_,v]=(0,H.useState)(null),y=(0,H.useMemo)(()=>Ne(n??[]),[n]),x=(0,H.useMemo)(()=>Pe(y,h,_),[y,h,_]),S=(0,H.useMemo)(()=>Fe(y),[y]),C=t??`@${e}`;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,U.jsx)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,U.jsxs)(U.Fragment,{children:[`Add with`,` `,(0,U.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/invite `,C]}),` `,`or remove with`,` `,(0,U.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/remove `,C]}),` `,`in that Slack channel. Only channels `,e,` is in appear here.`]})}),r?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load channels. Try reopening this page.`}):y.length===0?(0,U.jsx)(G,{icon:(0,U.jsx)(b,{className:`h-6 w-6`}),title:`No channels yet`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,U.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,U.jsx)(L,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,U.jsx)(P,{className:`h-4 w-4`}),fullWidth:!0})}),(0,U.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Filter channels by type`,children:Le.map(({value:e,label:t})=>{let n=_===e,r=e===null?y.length:S[e];return(0,U.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>v(e),className:u(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:[t,` `,r]},e??`all`)})})]}),x.length===0?(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:`No channels match.`}):x.length>ze?(0,U.jsx)(`div`,{className:`h-96`,children:(0,U.jsx)(D,{items:x,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,U.jsx)(He,{channel:t,pending:f.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,U.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:x.map(e=>(0,U.jsx)(He,{channel:e,pending:f.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function He({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let l=Q(e);if(l===`dm`)return null;let u=Re[l],d=Ie(e),f=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,U.jsx)(O,{className:f,leading:(0,U.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:d??void 0,trailing:(0,U.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,U.jsx)(Me,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":`Assistant Access in ${e.name}`})})}):(0,U.jsx)(O,{className:f,leading:(0,U.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:d==null?void 0:(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:d})})}function Ue(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function We({defaultTier:e}){let t=q(e??void 0)??null;return(0,U.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,U.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...K].reverse().map(e=>{let n=J[e];return(0,U.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,U.jsx)(Z,{color:n.dotColor}),(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:n.label}),e===t?(0,U.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`· default`}):null]}),(0,U.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:Ue(e)})]},e)})})})}var Ge=[{bucket:`channels`,icon:b,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:N,title:`Direct messages`,description:`One-on-one DMs`}];function Ke({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:a,pendingBuckets:o,onBucketChange:s,onBucketReset:c}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[`Default access`,(0,U.jsxs)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:[`How much `,e,` does on its own, by conversation type. Individual channels can override this below, and`,` `,(0,U.jsx)(i,{to:oe.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`Trust Rules`}),` `,`fine-tune when it asks.`]})]})}),(0,U.jsx)(f.Body,{className:`py-1`,children:Ge.map(({bucket:e,icon:i,title:l,description:u})=>{let d=e===`dm`?n?.channels??t:t;return(0,U.jsx)(O,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,U.jsx)(i,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:l,subtitle:u,trailing:(0,U.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,U.jsx)(Me,{tier:n?.[e],defaultTier:d,disabled:r||a||o.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":`Default Assistant Access for ${l}`})})},e)})}),(0,U.jsx)(f.Footer,{className:`p-0`,children:(0,U.jsx)(We,{defaultTier:t})})]})}var qe=`0.11.0`;function Je(){return ae(qe)}var Ye=new Set([404,501]);function Xe(e){let t=fe(e);return t!==void 0&&Ye.has(t)}function Ze(e,t,n){return Y.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function Qe(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function $e(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function $(e,t,n){let r=$e(e,t);return Y.map(e=>({selector:r,contactType:e,threshold:n}))}function et({assistantId:e,adapter:t}){let n=o(),r=Je()&&!!e,i=(0,H.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,H.useMemo)(()=>p(i),[i]),l=(0,H.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=s({...g(i),enabled:r}),d=u.data?.cells,f=(0,H.useMemo)(()=>d?ke(d,t):void 0,[d,t]),m=(0,H.useMemo)(()=>d?{channels:Ae(d,t,`channels`),dm:Ae(d,t,`dm`)}:void 0,[d,t]),h=s({queryKey:l,queryFn:async()=>{let{data:e}=await ce({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),_=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},v=c({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(Ze(t,e,n).map(e=>R({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>_(n=>Qe(n,t,e),Ze(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=c({mutationFn:async({channelExternalId:e})=>{await Promise.all(Y.map(n=>z({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>_(n=>Qe(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=c({mutationFn:async({bucket:e,tier:n})=>{await Promise.all($(t,e,n).map(e=>R({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>_(n=>X(n,t,e),$(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),x=c({mutationFn:async({bucket:e})=>{let n=$e(t,e);await Promise.all(Y.map(e=>z({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>_(n=>X(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),S=(0,H.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[v.isPending,v.variables,y.isPending,y.variables]),C=(0,H.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&Xe(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:h.data,bucketTiers:m,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>v.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{m?.[e]!==void 0&&x.mutate({bucket:e})}}}function tt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let r=s({...v(e),enabled:!!e,select:e=>e.channels}),i=et({assistantId:e,adapter:`slack`}),a=s({queryKey:[`thresholds`,e],queryFn:()=>k(e),enabled:i.supported&&!!e,staleTime:3e4}).data?.interactive??null,o=i.defaultCellTier===void 0?null:i.defaultCellTier??a,c=(0,U.jsx)(Ve,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:i.supported,defaultTier:o,channels:r.data,loading:r.isPending,error:r.isError,tierOverrides:i.tierOverrides,tierOverridesLoading:i.isLoading,tierOverridesError:i.isError,pendingChannelIds:i.pendingChannelIds,onTierChange:i.onTierChange,onTierReset:i.onTierReset});return!i.supported||!i.onBucketChange||!i.onBucketReset?(0,U.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:c}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[i.isError?(0,U.jsx)(F,{tone:`error`,children:`Couldn’t load access settings. These controls stay disabled until they load. Try reopening this page.`}):null,(0,U.jsx)(Ke,{assistantName:t,globalDefaultTier:a,bucketTiers:i.bucketTiers,loading:i.isLoading,error:i.isError,pendingBuckets:i.pendingBuckets,onBucketChange:i.onBucketChange,onBucketReset:i.onBucketReset}),(0,U.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:(0,U.jsx)(E.Root,{type:`single`,collapsible:!0,children:(0,U.jsxs)(E.Item,{value:`per-channel-overrides`,children:[(0,U.jsxs)(E.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:`Per-channel overrides`}),(0,U.jsx)(x,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,U.jsx)(E.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:c})]})})})]})}function nt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Header,{children:(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,U.jsx)(d,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,U.jsx)(I,{tone:`positive`,leftIcon:(0,U.jsx)(S,{}),children:`Connected`}),(0,U.jsx)(`div`,{className:`ml-auto`,children:(0,U.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}),(0,U.jsx)(f.Body,{children:i})]})}function rt({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Thread Behavior`}),(0,U.jsxs)(C,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":`Slack thread behavior`,children:[(0,U.jsx)(T,{value:`mention_only`,label:`Mentions only`,helperText:`Bot only responds when @mentioned.`}),(0,U.jsx)(T,{value:`mention_then_thread`,label:`Follow threads after first mention`,helperText:`After an @mention in a thread, bot listens to all subsequent replies.`})]})]})}function it({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(null),c=t.trim().length>0&&!i;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(L,{label:`Bot Token`,type:`password`,value:t,onChange:e=>r(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:i,fullWidth:!0}),o?(0,U.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:o}):null,(0,U.jsx)(`div`,{children:(0,U.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),r(``)}catch(e){s(e instanceof Error?e.message:`Failed to save`)}finally{a(!1)}}},disabled:!c,children:i?`Saving…`:`Save`})})]})}function at({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null),u=t.trim().length>0&&i.trim().length>0&&!o;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(L,{label:`Account SID`,type:`text`,value:t,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,U.jsx)(L,{label:`Auth Token`,type:`password`,value:i,onChange:e=>a(e.target.value),placeholder:`Twilio auth token`,disabled:o,fullWidth:!0}),c?(0,U.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,U.jsx)(`div`,{children:(0,U.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),r(``),a(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{s(!1)}}},disabled:!u,children:o?`Saving…`:`Save`})})]})}function ot({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,onSaveSlackConfig:u,slackSaveStatus:d,slackSaveError:f,slackThreadMode:p,slackThreadModePending:m=!1,onSlackThreadModeChange:g,onSaveTwilioCredentials:_,policy:v,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let w=e.status===`ready`,[T,E]=(0,H.useState)(o);if(e.key===`slack`)return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[w?(0,U.jsx)(nt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,U.jsx)(rt,{threadMode:p,threadModePending:m,onThreadModeChange:g})}):(0,U.jsx)(Oe,{children:(0,U.jsx)(de,{assistantName:r,onSave:u,saveStatus:d,saveError:f})}),w?(0,U.jsx)(tt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let D=we[e.key];return(0,U.jsx)(`div`,{className:`flex flex-col gap-4`,children:w?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(De,{address:e.address,pending:a,onDisconnect:c}),D.hasTrustFloorControl&&C?(0,U.jsx)(Ee,{assistantDisplayName:i,policy:v,saving:b,loading:x,error:S,onChange:C}):null]}):T?e.key===`telegram`?(0,U.jsx)(it,{onSave:l}):(0,U.jsx)(at,{onSave:_}):(0,U.jsx)(G,{icon:(0,U.jsx)(y,{channelId:e.key,className:`h-6 w-6`}),title:`${h(e.key)} isn't connected`,description:D.disconnectedPitch?.(i),action:(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,U.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,U.jsx)(n,{type:`button`,variant:`link`,onClick:()=>E(!0),children:`or connect manually`})]})})})}var st={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
2
2
 
3
3
  You can reverse this at any time.`,confirmLabel:`Block all`,destructive:!0},any_contact:{title:`Allow any contact?`,message:`“Any contact” admits every matched contact in this channel (including pending, unverified ones), not just your verified contacts.
4
4
 
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./sound-manager-DdFhLSnM.js";import{t as i}from"./proxy-CJDjUn7E.js";import{t as a}from"./use-reduced-motion-CznEG-5y.js";import{t as o}from"./animated-avatar-CkKsoJMb.js";var s=e(t(),1),c=n();function l({components:e,traits:t,customImageUrl:n,size:l=28,className:u,interactive:d=!1,isAssistantBusy:f=!1,originAnchor:p=!1}){let m=a(),[h,g]=(0,s.useState)(!1),_=p?{"data-voice-origin":``}:{},v=(0,s.useCallback)(()=>{r().play(`character_poke`),!m&&(g(!0),window.setTimeout(()=>g(!1),360))},[m]),y=d?v:void 0,b=(0,s.useMemo)(()=>{if(t)return t;if(!e)return null;let n=e.bodyShapes[0],r=e.eyeStyles[0],i=e.colors[0];return!n||!r||!i?null:{bodyShape:n.id,eyeStyle:r.id,color:i.id}},[t,e]),x=!!e&&!!b&&(!!t||!n),S={width:l,height:l,flexShrink:0,cursor:d?`pointer`:void 0,transformOrigin:`center`,position:`relative`},C=m?{duration:0}:{type:`spring`,visualDuration:.3,bounce:.5},w=m?{scale:1,opacity:1}:{scale:.6,opacity:0},T={scale:h?1.15:1,opacity:1};return x?(0,c.jsx)(i.div,{..._,className:u,style:S,onClick:y,initial:w,animate:T,transition:C,children:(0,c.jsx)(o,{components:e,traits:b,size:l,isAssistantBusy:f})}):n?(0,c.jsx)(i.div,{..._,onClick:y,initial:w,animate:T,transition:C,style:{cursor:d?`pointer`:void 0,transformOrigin:`center`,position:`relative`,width:l,height:l,flexShrink:0},children:(0,c.jsx)(`img`,{src:n,alt:`Assistant avatar`,width:l,height:l,className:`rounded-full object-cover ${u??``}`,style:{width:l,height:l,flexShrink:0}})}):(0,c.jsx)(i.div,{..._,className:`flex items-center justify-center rounded-full bg-[var(--primary-base)] text-[var(--content-inset)] ${u??``}`,style:{...S,fontSize:l*.45},onClick:y,initial:w,animate:T,transition:C,children:`V`})}var u=(0,s.memo)(l);export{u as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./sound-manager-C-FXxZhq.js";import{t as i}from"./proxy-lK4w-Bft.js";import{t as a}from"./use-reduced-motion-Blpe7z4_.js";import{t as o}from"./animated-avatar-DGpGKFC7.js";var s=e(t(),1),c=n();function l({components:e,traits:t,customImageUrl:n,size:l=28,className:u,interactive:d=!1,isAssistantBusy:f=!1,originAnchor:p=!1}){let m=a(),[h,g]=(0,s.useState)(!1),_=p?{"data-voice-origin":``}:{},v=(0,s.useCallback)(()=>{r().play(`character_poke`),!m&&(g(!0),window.setTimeout(()=>g(!1),360))},[m]),y=d?v:void 0,b=(0,s.useMemo)(()=>{if(t)return t;if(!e)return null;let n=e.bodyShapes[0],r=e.eyeStyles[0],i=e.colors[0];return!n||!r||!i?null:{bodyShape:n.id,eyeStyle:r.id,color:i.id}},[t,e]),x=!!e&&!!b&&(!!t||!n),S={width:l,height:l,flexShrink:0,cursor:d?`pointer`:void 0,transformOrigin:`center`,position:`relative`},C=m?{duration:0}:{type:`spring`,visualDuration:.3,bounce:.5},w=m?{scale:1,opacity:1}:{scale:.6,opacity:0},T={scale:h?1.15:1,opacity:1};return x?(0,c.jsx)(i.div,{..._,className:u,style:S,onClick:y,initial:w,animate:T,transition:C,children:(0,c.jsx)(o,{components:e,traits:b,size:l,isAssistantBusy:f})}):n?(0,c.jsx)(i.div,{..._,onClick:y,initial:w,animate:T,transition:C,style:{cursor:d?`pointer`:void 0,transformOrigin:`center`,position:`relative`,width:l,height:l,flexShrink:0},children:(0,c.jsx)(`img`,{src:n,alt:`Assistant avatar`,width:l,height:l,className:`rounded-full object-cover ${u??``}`,style:{width:l,height:l,flexShrink:0}})}):(0,c.jsx)(i.div,{..._,className:`flex items-center justify-center rounded-full bg-[var(--primary-base)] text-[var(--content-inset)] ${u??``}`,style:{...S,fontSize:l*.45},onClick:y,initial:w,animate:T,transition:C,children:`V`})}var u=(0,s.memo)(l);export{u as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-D12Gu3Tx.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-DWxxMNqc.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-DFWryB3N.js";import{t as s}from"./typography-BeUa5Fd-.js";import{t as c}from"./createLucideIcon-C1mdGPB9.js";import{t as l}from"./archive-VIStcSec.js";import{t as u}from"./check-DRqtWHWc.js";import{t as d}from"./menu-iiIGEKWu.js";import{a as f,c as p,l as m,o as h,s as g,t as _,u as v}from"./use-attachment-preview-xtU_G3Z8.js";import{G as y,l as b,u as x,y as ee}from"./src-CqJTlX1y.js";import{t as S}from"./download-4D3U4xXO.js";import{t as te}from"./ellipsis-Ca6AUkyP.js";import{t as C}from"./external-link-oGdSxU8S.js";import{t as ne}from"./eye-off-BoTYWQ24.js";import{t as re}from"./eye-UsxzX-cT.js";import{t as w}from"./file-text-BWjfiPpo.js";import{t as ie}from"./file-BBJshqSR.js";import{t as T}from"./key-round-DwjCZmHI.js";import{t as ae}from"./loader-circle-D7A_UeUb.js";import{n as E}from"./toast-DFRsyumK.js";import{t as oe}from"./skeleton-BCJu-_x1.js";import{n as se}from"./resolved-assistants-store-CcfVZNkg.js";import{dt as ce,l as le}from"./sdk.gen-CsUgJyBR.js";import{t as ue}from"./dist-DZjsRBrq.js";import{r as de}from"./use-is-org-ready-CzV7o_oQ.js";import{n as fe}from"./browser-vie4LRYm.js";import{t as D}from"./conversation-store-pVTpsull.js";import{i as O}from"./viewer-store-COyBTSXn.js";import{t as pe}from"./open-workspace-file-CpTrcRQg.js";import{a as me,i as he,n as ge,o as k,r as _e,s as ve,t as A}from"./workspace-path-links-D6BeIXR9.js";import{t as ye}from"./copy-to-clipboard-Bxl-OHim.js";import{a as be,i as xe,s as Se}from"./use-local-file-info-DaNZn1QT.js";import{a as Ce,n as we,o as Te}from"./pdf-preview-BUviTR8O.js";import{n as Ee,r as De}from"./workspace-tree-query-CCVpyMq8.js";import{t as Oe}from"./native-anchor-Qk379M-W.js";var j=c(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),ke=c(`picture-in-picture-2`,[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`,key:`daa4of`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`,key:`1nb8gs`}]]),M=e(n(),1),Ae=`width=500,height=600`;function N(e){if(!e)return null;let t;try{let n=typeof window>`u`?`http://localhost`:window.location.origin;t=new URL(e,n)}catch{return null}return t.protocol!==`https:`&&t.protocol!==`http:`?null:t}function P(e){let t=N(e);if(!t)return!1;let n=t.pathname.toLowerCase();return t.searchParams.get(`response_type`)===`code`&&t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)||t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)&&/oauth|authorize|auth/.test(n)}function je(e){if(typeof window>`u`)return null;let t=N(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function F(e){return N(e)?.href??null}function I(e){if(!P(e))return!1;if(ue.isNativePlatform()){let t=F(e);return t?(fe(t),!0):!1}let t=window.open(e,`_blank`,Ae);return t===null?!1:(t.focus(),!0)}function Me(e){return I(e)}function L(e){if(I(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function Ne(e,t){let n=je(e);if(n)return t.push(n),{kind:`routed`};let r=F(e);return r?t.isNative?(fe(r),{kind:`opened`}):L(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}var R=a(),Pe={image:p,video:g,audio:m,pdf:f,code:v,archive:l,spreadsheet:h,document:w,text:w,file:ie};function Fe(e,t){return e===`file`?we(``,t):e}function z(e){return Se({sniffedMime:null,serverMime:null,filename:e}).kind}function B({kind:e,filename:t,className:n}){let r=Pe[Fe(e,t)];return(0,R.jsx)(r,{className:n,"aria-hidden":!0})}var Ie=100*1024*1024,Le=25*1024*1024;function Re(e){switch(e){case`image`:case`audio`:case`video`:return Ie;default:return Le}}var ze=1500,V=`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1 align-middle text-[0.85em] leading-tight text-[var(--content-secondary)]`,H=`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`;function Be({type:e,service:t,field:n,assistantId:r,neutralized:i}){let a=se.use.activeAssistantId(),o=r===void 0?a:r,[s,c]=(0,M.useState)(null),[l,d]=(0,M.useState)(!1),[f,p]=(0,M.useState)(!1),m=(0,M.useRef)(null),h=(0,M.useRef)(0),g=e??`Secret`,_=t!==void 0&&n!==void 0&&o!=null,v=_?`${t}:${n}`:g,b=(0,M.useCallback)(()=>{h.current++,c(null),d(!1),p(!1),m.current&&=(clearTimeout(m.current),null)},[]),x=(0,M.useCallback)(async()=>{if(!_)return;let e=++h.current;d(!0);try{let{data:r}=await ce({path:{assistant_id:o},body:{service:t,field:n},throwOnError:!0});h.current===e&&c(r.value)}catch{h.current===e&&E.error(`Couldn't reveal ${v}.`)}finally{h.current===e&&d(!1)}},[_,o,t,n,v]),ee=(0,M.useCallback)(()=>{s!=null&&ye(s,{errorMessage:`Couldn't copy. Reveal and copy manually.`,onCopied:()=>{p(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(!1),ze)}})},[s]);if(i)return(0,R.jsxs)(`span`,{className:V,title:`Redaction marker — not verified by the assistant`,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:`Redacted`})]});if(!_)return(0,R.jsxs)(`span`,{className:V,title:`Redacted — this value is not linked to a stored credential`,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:g})]});let S=s!==null;return(0,R.jsxs)(`span`,{className:V,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),S?(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[var(--content-default)]`,children:s}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:l,"aria-label":`Reveal value for ${v}`,title:`${g} · click to reveal`,className:`min-w-0 select-none truncate rounded-sm text-left blur-[3px] transition-[filter] hover:blur-[2px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:v}),l?(0,R.jsx)(ae,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):S?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:ee,"aria-label":`Copy value for ${v}`,title:`Copy value`,className:H,children:f?(0,R.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,R.jsx)(y,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,onClick:b,"aria-label":`Hide value for ${v}`,title:`Hide value`,className:H,children:(0,R.jsx)(ne,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:l,"aria-label":`Reveal value for ${v}`,title:`Click to reveal`,className:H,children:(0,R.jsx)(re,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})}var U=`redacted`;function Ve(e){try{return decodeURIComponent(e)}catch{return}}function He(){return RegExp(`〔${U}:([^:\u3014\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function Ue(){return RegExp(`〔\\u2060${U}:([^:\\u3014\\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function We(e){let[,t,n,r]=e;if(n!==void 0&&r!==void 0){let e=Ve(n),i=Ve(r);if(e!==void 0&&i!==void 0)return{type:t,service:e,field:i}}return{type:t}}var W=`redacted-credential`,Ge=new Set([`pre`,`code`,`style`,`script`,`a`]);function Ke(e){return e.type===`element`}function qe(e){let t=[],n=He(),r;for(;(r=n.exec(e))!==null;){let e=We(r);t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:W,properties:{type:e.type,...e.service!==void 0&&e.field!==void 0?{service:e.service,field:e.field}:{}},children:[]}})}let i=Ue();for(;(r=i.exec(e))!==null;)t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:W,properties:{neutralized:!0},children:[]}});if(t.length===0)return;t.sort((e,t)=>e.index-t.index);let a=[],o=0;for(let n of t)n.index>o&&a.push({type:`text`,value:e.slice(o,n.index)}),a.push(n.element),o=n.index+n.length;return o<e.length&&a.push({type:`text`,value:e.slice(o)}),a}function Je(e){if(Ke(e)&&Ge.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){Je(n);continue}let r=n.value;if(!r.includes(`〔`))continue;let i=qe(r);i&&t.splice(e,1,...i)}}function Ye(){return e=>{Je(e)}}var Xe=new Set([`pre`,`code`,`style`,`script`]),Ze=5,Qe=.4,$e=`stream-word-fade`;function et(e){return e.type===`element`}function tt(e){if(et(e)&&Xe.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){tt(n);continue}let r=n.value.match(/\S+|\s+/g);if(!r||r.length===1&&/^\s+$/.test(r[0]))continue;let i=r.map(e=>/^\s+$/.test(e)?{type:`text`,value:e}:{type:`element`,tagName:`span`,properties:{className:[$e]},children:[{type:`text`,value:e}]});t.splice(e,1,...i)}}function nt(e,t){if(et(e)){let n=e.properties?.className;if(Array.isArray(n)&&n.includes($e)){t.push(e);return}}if(e.children)for(let n of e.children)nt(n,t)}function rt(e){let t=e?.caughtUp??!1;return e=>{if(tt(e),t)return;let n=[];nt(e,n);let r=Math.min(Ze,n.length);for(let e=0;e<r;e++){let t=n[n.length-1-e],r=(Qe+(1-Qe)*((e+1)/(Ze+1))).toFixed(3);t.properties={...t.properties,style:`opacity:${r}`}}}}var it=new Set([`pre`,`a`,`style`,`script`]);function at(e){return e.type===`element`}function ot(e){if(e.children.length!==1)return;let t=e.children[0];return t.type===`text`?t.value:void 0}function st(e){let t=e.children;if(t){for(let e of t)if(at(e)&&!it.has(e.tagName)){if(e.tagName===`code`){let t=ot(e),n=t===void 0?null:me(t);n!==null&&t!==void 0&&(e.tagName=A,e.properties={...e.properties,path:n,raw:t},e.children=[]);continue}st(e)}}}function ct(){return e=>{st(e)}}var lt=15e3,ut=1e4,dt=9e4;function ft({path:e,raw:t,assistantId:n,onOpen:r}){let a=t??e??``,o=de(),s=!!(e&&n&&r&&o),[c]=(0,M.useState)(()=>Date.now()+dt),{data:l}=i({...Ee({assistantId:n??``,path:e?ve(e):``}),enabled:s,staleTime:lt,retry:!1,refetchInterval:t=>Date.now()>=c||(t.state.data?.entries.some(t=>t.type===`file`&&t.path===e)??!1)?!1:ut});return!(0,M.useMemo)(()=>e!=null&&(l?.entries.some(t=>t.type===`file`&&t.path===e)??!1),[l,e])||!e||!r?(0,R.jsx)(`code`,{className:b,children:a}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(he(e),k(e)),className:`${b} cursor-pointer text-[var(--system-positive-strong)] underline decoration-dotted underline-offset-2 hover:opacity-80`,title:`Open ${e}`,children:a})}var pt=/^[a-zA-Z][a-zA-Z0-9+.-]*:/;function mt(e){try{return decodeURIComponent(e)}catch{return null}}function ht(e){return(e.split(`#`,1)[0]??``).split(`?`,1)[0]??``}function gt(e){let t=mt(ht(e));if(t===null)return null;let n=t.trim();if(n.length===0||n.length>512||n.includes(`\0`))return null;let r;if(n.startsWith(`/`)){let e=n.lastIndexOf(ge);if(e===-1)return null;r=n.slice(e+ge.length)}else r=n.startsWith(`./`)?n.slice(2):n;return _e(r)?r:null}function _t(e){let t=ht(e.trim()).split(`/`).pop()??``;return mt(t)??t}function G(e){if(e==null)return{kind:`other`};let t=e.trim();if(t.length===0||t.startsWith(`#`))return{kind:`other`};if(t.startsWith(`//`))return{kind:`web`};let n=pt.exec(t)?.[0];if(n){let e=n.slice(0,-1).toLowerCase();return e===`vellum`?{kind:`vellum`}:e===`http`||e===`https`?{kind:`web`}:{kind:`other`}}if(!(t.startsWith(`/`)||t.startsWith(`./`)||t.includes(`/`)))return{kind:`other`};let r=gt(t);return{kind:`local-file`,workspacePath:r,filename:r?k(r):_t(t)}}function K({workspacePath:e,filename:t,assistantId:n,disabled:i,onPictureInPicture:a,className:s}){let c=i===!0||e===null,l=(0,M.useCallback)(()=>{e!==null&&pe(e)},[e]),u=(0,M.useCallback)(async()=>{if(!(e===null||!n))try{await De({assistantId:n,path:e,filename:t})}catch{E.error(`Failed to download file`,{description:t})}},[n,t,e]);return(0,R.jsxs)(d.Root,{children:[(0,R.jsx)(d.Trigger,{asChild:!0,children:(0,R.jsx)(r,{variant:`ghost`,size:`compact`,expandOnMobile:!1,iconOnly:(0,R.jsx)(te,{}),"aria-label":`File actions`,className:o(`shrink-0`,s),onClick:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()}})}),(0,R.jsxs)(d.Content,{align:`end`,sideOffset:4,children:[(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(C,{size:14}),disabled:c,onSelect:l,className:`whitespace-nowrap`,children:`Go to file`}),a!==void 0&&(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(ke,{size:14}),onSelect:a,className:`whitespace-nowrap`,children:`Picture in Picture`}),(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(S,{size:14}),disabled:c||!n,onSelect:()=>void u(),className:`whitespace-nowrap`,children:`Download`})]})]})}var vt=new Set([`md`,`markdown`]),yt=new Map([[`csv`,`csv`],[`tsv`,`csv`],[`txt`,`text`],[`log`,`text`],[`json`,`text`],[`yaml`,`text`],[`yml`,`text`],[`xml`,`text`],[`pdf`,`pdf`],[`png`,`image`],[`jpg`,`image`],[`jpeg`,`image`],[`gif`,`image`],[`webp`,`image`],[`svg`,`image`],[`avif`,`image`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`ogg`,`audio`],[`flac`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`webm`,`video`],[`m4v`,`video`]]);function bt(e){let t=e.lastIndexOf(`.`);return t<=0?null:e.slice(t+1).toLowerCase()}function xt(e){let t=bt(e);return t!==null&&vt.has(t)}function St(e){let t=bt(e);return t===null?null:yt.get(t)??null}function Ct(e){return St(e)??`unsupported`}function q(e,t,n){return t?xt(e)?n?{mode:`document`,assistantId:t,conversationId:n}:{mode:`workspace`}:{mode:`preview`,assistantId:t,previewKind:Ct(e)}:{mode:`workspace`}}function wt(e,t,n){return q(e,t,n).mode!==`workspace`}function Tt(e,t,n){return e===`document`&&t!==null&&t.workspacePath===n}function Et(e){let t=O.use.mainView(),n=O.use.openedDocumentState();return e===null?!1:Tt(t,n,e)}function Dt(e,t,n,r){let i=q(t,n,r);if(i.mode===`document`){O.getState().loadWorkspaceFileDocument(i.assistantId,e,i.conversationId);return}if(i.mode===`preview`){O.getState().openWorkspaceFilePreview(e,i.previewKind);return}pe(e)}function J(e,t,n,r){let i=O.getState();if(wt(t,n,r)&&Tt(i.mainView,i.openedDocumentState,e)){i.closeDocument();return}Dt(e,t,n,r)}var Ot=[`opacity-0 transition-opacity`,`group-hover/local-file-card:opacity-100`,`group-focus-visible/local-file-card:opacity-100`,`[@media(pointer:coarse)]:opacity-100`].join(` `);function kt(e){return e===`workspace`?{label:`Open in workspace`,Icon:C}:e===`preview`?{label:`Open preview`,Icon:j}:{label:`Open in editor`,Icon:j}}var At={workspace:`workspace`,document:`editor`,preview:`preview`};function jt(e,t,n){return e===`missing`?`File not found`:e===`unavailable`?`File isn't available here`:n===t?null:n}function Y({displayName:e,filename:t,sizeBytes:n,kind:r,state:i,workspacePath:a,assistantId:c}){let l=D.use.activeConversationId(),u=i===`ready`,d=u&&a!==null,{mode:f}=q(t,c,l),p=f!==`workspace`,m=Et(d?a:null)&&p,h=jt(i,e,t),{label:g,Icon:_}=kt(f),v=m?`Close ${At[f]} for ${t}`:`Open ${t}`,y=()=>{d&&J(a,t,c,l)};return(0,R.jsxs)(`span`,{role:d?`button`:void 0,tabIndex:d?0:void 0,"aria-label":d?v:void 0,"aria-expanded":d&&p?m:void 0,title:t,onClick:d?y:void 0,onKeyDown:d?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y())}:void 0,className:o(`group/local-file-card my-2 flex w-full max-w-md items-center gap-2.5 rounded-lg border p-2 transition-colors`,m?`border-[var(--border-active)] bg-[var(--surface-active)]`:`border-[var(--border-element)] bg-[var(--surface-lift)]`,d&&`cursor-pointer`),children:[(0,R.jsx)(`span`,{className:o(`flex h-9 w-9 shrink-0 items-center justify-center rounded-md`,m?`bg-[var(--surface-lift)]`:`bg-[var(--surface-sunken)]`,u?`text-[var(--content-secondary)]`:`text-[var(--content-disabled)]`),children:(0,R.jsx)(B,{kind:r,filename:t,className:`h-4 w-4`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,R.jsx)(s,{as:`span`,variant:`body-small-default`,className:o(`truncate`,m?`text-[var(--content-emphasised)]`:`text-[var(--content-default)]`),children:Te(e,40)}),h!==null&&(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:h})]}),d&&!m&&(0,R.jsxs)(`span`,{"aria-hidden":`true`,className:o(`flex shrink-0 items-center gap-1`,Ot,`text-[var(--content-tertiary)]`),children:[(0,R.jsx)(_,{className:`h-3.5 w-3.5`}),(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`whitespace-nowrap`,children:g})]}),n!==null&&(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`shrink-0 text-[var(--content-disabled)]`,children:Ce(n)}),(0,R.jsx)(K,{workspacePath:a,filename:t,assistantId:c,disabled:!u})]})}var Mt=`vellum://workspace/`;function Nt(e){let t=e.trim().split(`/`).pop()??``;try{return decodeURIComponent(t)}catch{return t}}function Pt(e){return e.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}}).join(`/`)}function X(e){let t=e.trim();if(t.startsWith(Mt)){let e=Pt(t.slice(19));return{workspacePath:_e(e)?e:null,filename:k(e)}}let n=G(t);return n.kind===`local-file`?{workspacePath:n.workspacePath,filename:n.filename}:{workspacePath:null,filename:Nt(t)}}var Ft=`max-h-[400px] max-w-full rounded-lg border border-[var(--border-element)] object-contain`,It=[`pointer-events-none absolute right-2 top-2 rounded-md bg-[var(--surface-lift)] opacity-0 transition-opacity`,`group-hover/local-media:pointer-events-auto group-hover/local-media:opacity-100`,`group-focus-within/local-media:pointer-events-auto group-focus-within/local-media:opacity-100`,`[@media(pointer:coarse)]:pointer-events-auto [@media(pointer:coarse)]:opacity-100`].join(` `);function Lt(){return typeof document<`u`&&`pictureInPictureEnabled`in document&&document.pictureInPictureEnabled}function Rt({children:e,menu:t}){return(0,R.jsxs)(`span`,{className:`group/local-media relative my-2 inline-block max-w-full align-top`,children:[e,(0,R.jsx)(`span`,{className:It,children:t})]})}function zt({href:e,alt:t,assistantId:n}){let r=(0,M.useMemo)(()=>X(e),[e]),i=xe(r.workspacePath,n),[a,o]=(0,M.useState)(null),s=(0,M.useRef)(null),c=(0,M.useCallback)(async()=>{let e=s.current;if(e!==null){if(document.pictureInPictureElement===e){try{await document.exitPictureInPicture()}catch{}return}e.disablePictureInPicture=!1;try{await e.requestPictureInPicture()}catch{e.disablePictureInPicture=!0,E.error(`Picture in Picture isn't available`);return}e.addEventListener(`leavepictureinpicture`,()=>{e.disablePictureInPicture=!0},{once:!0})}},[]),l=i.status===`ready`?i:null,u=l?.filename??r.filename,d=l?.kind??z(u),f=l?.sizeBytes??null,p=l!==null&&(d===`image`||d===`video`||d===`audio`)&&!(f!==null&&f>104857600)&&a!==e,{url:m,isError:h}=be({workspacePath:r.workspacePath,mime:l?.mime??null,enabled:p,assistantId:n}),g=t.trim().length>0?t:u,_=g.length>0?g:u,v=(0,R.jsx)(K,{workspacePath:r.workspacePath,filename:u,assistantId:n}),y=(0,R.jsx)(oe,{as:`span`,role:`status`,"aria-label":`Loading ${_}`,className:`my-2 inline-block h-7 w-40 rounded-lg align-middle`});if(n===void 0)return(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});if(i.status===`loading`)return y;if(i.status===`unavailable`)return(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:i.reason===`missing`?`missing`:`unavailable`,workspacePath:r.workspacePath,assistantId:n});let b=(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:f,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});return!p||h?b:m===null?y:d===`image`?(0,R.jsx)(Rt,{menu:v,children:(0,R.jsx)(`img`,{src:m,alt:t,onError:()=>o(e),className:Ft})}):d===`video`?(0,R.jsx)(Rt,{menu:(0,R.jsx)(K,{workspacePath:r.workspacePath,filename:u,assistantId:n,onPictureInPicture:Lt()?()=>void c():void 0}),children:(0,R.jsx)(`video`,{ref:s,src:m,controls:!0,controlsList:`nodownload noplaybackrate`,disablePictureInPicture:!0,playsInline:!0,preload:`metadata`,"aria-label":_,className:Ft})}):d===`audio`?(0,R.jsxs)(`span`,{className:`my-2 flex w-full max-w-md items-center gap-2`,children:[(0,R.jsx)(`audio`,{src:m,controls:!0,controlsList:`nodownload noplaybackrate`,preload:`metadata`,"aria-label":_,className:`min-w-0 flex-1`}),v]}):b}function Bt({href:e,workspacePath:t,assistantId:n,children:r,onActivate:i}){let a=D.use.activeConversationId(),o=t===null?Nt(e):k(t);return(0,R.jsxs)(`a`,{href:e,onClick:e=>{if(e.preventDefault(),i){i();return}if(t===null){E.error(`This file isn't available here`);return}J(t,o,n,a)},className:`inline-flex items-baseline gap-1 cursor-pointer text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[(0,R.jsx)(B,{kind:z(o),filename:o,className:`h-3.5 w-3.5 shrink-0 self-center`}),r]})}function Z(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function Vt(e){return Z(e)?e:ee(e)}function Ht({href:e,children:t}){let n=P(e),r=/^https?:\/\//i.test(e??``);return(0,R.jsxs)(`a`,{href:e,target:`_blank`,rel:n?void 0:`noopener noreferrer`,onClick:t=>{if(Me(e)){t.preventDefault();return}Oe(t,e)},className:`text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[t,r?(0,R.jsx)(C,{"aria-hidden":!0,className:`ml-0.5 inline h-3.5 w-3.5 shrink-0 align-[-0.125em]`}):null]})}function Q(e){return typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(Q).join(``):(0,M.isValidElement)(e)?Q(e.props.children):``}var Ut=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-element)] object-contain`;function $({alt:e}){return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Image failed to load`,e?` (${e})`:``]})}function Wt({src:e,alt:t}){let[n,r]=(0,M.useState)(!1);return n?(0,R.jsx)($,{alt:t}):(0,R.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:Ut})}function Gt(e){try{return decodeURIComponent(e)}catch{return e}}function Kt(e,t){let n=Gt(e.split(`/`).pop()??``),r=t?.find(e=>e.filename===n);if(!r)return;let i=r.mimeType;if(!(i===void 0||!i.startsWith(`image/`)))return r}function qt({attachment:e,alt:n,assistantId:r,onOpenPreview:i}){let[a,o]=(0,M.useState)(null),[s,c]=(0,M.useState)(!1);if((0,M.useEffect)(()=>{if(!r||e.id.startsWith(`rehydrated:`))return;let n=!1;return(async()=>{try{let{data:t,error:i}=await le({path:{assistant_id:r,id:e.id},parseAs:`blob`,throwOnError:!1});if(n)return;if(i||!(t instanceof Blob)){c(!0);return}o(URL.createObjectURL(t))}catch(e){n||(c(!0),t(e,{context:`WorkspaceInlineImage`,bestEffort:!0}))}})(),()=>{n=!0,o(e=>(e&&URL.revokeObjectURL(e),null))}},[e,r]),s)return(0,R.jsx)($,{alt:n||e.filename});if(!a)return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Loading image…`,n?` (${n})`:``]});let l=(0,R.jsx)(`img`,{src:a,alt:n,className:Ut});return i?(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`cursor-zoom-in appearance-none border-0 bg-transparent p-0`,"aria-label":n?`Expand image: ${n}`:`Expand image`,children:l}):l}var Jt=(0,M.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a,streamWordFade:o,redactedCredentialChips:s,workspacePathLinks:c}){let{openPreview:l,previewModal:u}=_(a,i),d=D.use.activeConversationId(),f=(0,M.useCallback)((e,t)=>{let{workspacePath:n,filename:i}=X(e);if(a&&n!==null){J(n,i,a,d);return}r?.(e,t)},[a,d,r]),p=(0,M.useCallback)(({href:e,children:t})=>{if(e!=null&&Z(e)){let{workspacePath:n}=X(e);return(0,R.jsx)(Bt,{href:e,workspacePath:n,assistantId:a??void 0,onActivate:r&&!(a&&n!==null)?()=>r(e,Q(t)):void 0,children:t})}let n=G(e);if(e!=null&&n.kind===`local-file`){let{workspacePath:i}=n;return(0,R.jsx)(Bt,{href:e,workspacePath:i,assistantId:a??void 0,onActivate:r&&i!==null&&!a?()=>r(he(i),Q(t)):void 0,children:t})}return(0,R.jsx)(Ht,{href:e,children:t})},[r,a]),m=(0,M.useMemo)(()=>[...s?[Ye]:[],...c&&r?[ct]:[],...o?[[rt,{caughtUp:o===`caughtUp`}]]:[]],[s,o,c,r]),h=(0,M.useMemo)(()=>({src:e,alt:t})=>{let n=(0,R.jsx)(zt,{href:e,alt:t,assistantId:a??void 0});if(Z(e)){let r=Kt(e,i);return r?(0,R.jsx)(qt,{attachment:r,alt:t,assistantId:a,onOpenPreview:l}):n}return G(e).kind===`local-file`?n:e.length===0?(0,R.jsx)($,{alt:t}):(0,R.jsx)(Wt,{src:e,alt:t})},[i,a,l]),g=(0,M.useMemo)(()=>({[W]:e=>(0,R.jsx)(Be,{...e,assistantId:a},`${a??``}\u0000${e.service??``}\u0000${e.field??``}`),[A]:e=>(0,R.jsx)(ft,{...e,assistantId:a,onOpen:r?f:void 0})}),[a,r,f]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(x,{content:e,className:t,hardLineBreaks:n,linkComponent:p,imageComponent:h,urlTransform:Vt,extraRehypePlugins:m,extraComponents:s||c&&r?g:void 0}),u]})});export{Ne as a,z as i,Re as n,L as o,B as r,Jt as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-D12Gu3Tx.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-DWxxMNqc.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-DFWryB3N.js";import{t as s}from"./typography-BeUa5Fd-.js";import{t as c}from"./createLucideIcon-C1mdGPB9.js";import{t as l}from"./archive-VIStcSec.js";import{t as u}from"./check-DRqtWHWc.js";import{t as d}from"./menu-iiIGEKWu.js";import{a as f,c as p,l as m,o as h,s as g,t as _,u as v}from"./use-attachment-preview-BZuYc4Vc.js";import{G as y,l as b,u as x,y as ee}from"./src-CqJTlX1y.js";import{t as S}from"./download-4D3U4xXO.js";import{t as te}from"./ellipsis-Ca6AUkyP.js";import{t as C}from"./external-link-oGdSxU8S.js";import{t as ne}from"./eye-off-BoTYWQ24.js";import{t as re}from"./eye-UsxzX-cT.js";import{t as w}from"./file-text-BWjfiPpo.js";import{t as ie}from"./file-BBJshqSR.js";import{t as T}from"./key-round-DwjCZmHI.js";import{t as ae}from"./loader-circle-D7A_UeUb.js";import{n as E}from"./toast-DFRsyumK.js";import{t as oe}from"./skeleton-BCJu-_x1.js";import{n as se}from"./resolved-assistants-store-CcfVZNkg.js";import{ft as ce,l as le}from"./sdk.gen-Dy1Bb8sS.js";import{t as ue}from"./dist-DZjsRBrq.js";import{r as de}from"./use-is-org-ready-XO3KhcpH.js";import{n as fe}from"./browser-DpbIFTGf.js";import{t as D}from"./conversation-store-CRB7YBVE.js";import{i as O}from"./viewer-store-BdgeUnmH.js";import{t as pe}from"./open-workspace-file-DuM6YljK.js";import{a as me,i as he,n as ge,o as k,r as _e,s as ve,t as A}from"./workspace-path-links-C1A7ZMlC.js";import{t as ye}from"./copy-to-clipboard-Begy4gA7.js";import{a as be,i as xe,s as Se}from"./use-local-file-info-BhIb0tEw.js";import{a as Ce,n as we,o as Te}from"./pdf-preview-BeENvA7P.js";import{n as Ee,r as De}from"./workspace-tree-query-Cp0iX1ma.js";import{t as Oe}from"./native-anchor-DlLucCuN.js";var j=c(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),ke=c(`picture-in-picture-2`,[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`,key:`daa4of`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`,key:`1nb8gs`}]]),M=e(n(),1),Ae=`width=500,height=600`;function N(e){if(!e)return null;let t;try{let n=typeof window>`u`?`http://localhost`:window.location.origin;t=new URL(e,n)}catch{return null}return t.protocol!==`https:`&&t.protocol!==`http:`?null:t}function P(e){let t=N(e);if(!t)return!1;let n=t.pathname.toLowerCase();return t.searchParams.get(`response_type`)===`code`&&t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)||t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)&&/oauth|authorize|auth/.test(n)}function je(e){if(typeof window>`u`)return null;let t=N(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function F(e){return N(e)?.href??null}function I(e){if(!P(e))return!1;if(ue.isNativePlatform()){let t=F(e);return t?(fe(t),!0):!1}let t=window.open(e,`_blank`,Ae);return t===null?!1:(t.focus(),!0)}function Me(e){return I(e)}function L(e){if(I(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function Ne(e,t){let n=je(e);if(n)return t.push(n),{kind:`routed`};let r=F(e);return r?t.isNative?(fe(r),{kind:`opened`}):L(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}var R=a(),Pe={image:p,video:g,audio:m,pdf:f,code:v,archive:l,spreadsheet:h,document:w,text:w,file:ie};function Fe(e,t){return e===`file`?we(``,t):e}function z(e){return Se({sniffedMime:null,serverMime:null,filename:e}).kind}function B({kind:e,filename:t,className:n}){let r=Pe[Fe(e,t)];return(0,R.jsx)(r,{className:n,"aria-hidden":!0})}var Ie=100*1024*1024,Le=25*1024*1024;function Re(e){switch(e){case`image`:case`audio`:case`video`:return Ie;default:return Le}}var ze=1500,V=`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1 align-middle text-[0.85em] leading-tight text-[var(--content-secondary)]`,H=`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`;function Be({type:e,service:t,field:n,assistantId:r,neutralized:i}){let a=se.use.activeAssistantId(),o=r===void 0?a:r,[s,c]=(0,M.useState)(null),[l,d]=(0,M.useState)(!1),[f,p]=(0,M.useState)(!1),m=(0,M.useRef)(null),h=(0,M.useRef)(0),g=e??`Secret`,_=t!==void 0&&n!==void 0&&o!=null,v=_?`${t}:${n}`:g,b=(0,M.useCallback)(()=>{h.current++,c(null),d(!1),p(!1),m.current&&=(clearTimeout(m.current),null)},[]),x=(0,M.useCallback)(async()=>{if(!_)return;let e=++h.current;d(!0);try{let{data:r}=await ce({path:{assistant_id:o},body:{service:t,field:n},throwOnError:!0});h.current===e&&c(r.value)}catch{h.current===e&&E.error(`Couldn't reveal ${v}.`)}finally{h.current===e&&d(!1)}},[_,o,t,n,v]),ee=(0,M.useCallback)(()=>{s!=null&&ye(s,{errorMessage:`Couldn't copy. Reveal and copy manually.`,onCopied:()=>{p(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(!1),ze)}})},[s]);if(i)return(0,R.jsxs)(`span`,{className:V,title:`Redaction marker — not verified by the assistant`,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:`Redacted`})]});if(!_)return(0,R.jsxs)(`span`,{className:V,title:`Redacted — this value is not linked to a stored credential`,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:g})]});let S=s!==null;return(0,R.jsxs)(`span`,{className:V,children:[(0,R.jsx)(T,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),S?(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[var(--content-default)]`,children:s}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:l,"aria-label":`Reveal value for ${v}`,title:`${g} · click to reveal`,className:`min-w-0 select-none truncate rounded-sm text-left blur-[3px] transition-[filter] hover:blur-[2px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:v}),l?(0,R.jsx)(ae,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):S?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:ee,"aria-label":`Copy value for ${v}`,title:`Copy value`,className:H,children:f?(0,R.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,R.jsx)(y,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,onClick:b,"aria-label":`Hide value for ${v}`,title:`Hide value`,className:H,children:(0,R.jsx)(ne,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:l,"aria-label":`Reveal value for ${v}`,title:`Click to reveal`,className:H,children:(0,R.jsx)(re,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})}var U=`redacted`;function Ve(e){try{return decodeURIComponent(e)}catch{return}}function He(){return RegExp(`〔${U}:([^:\u3014\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function Ue(){return RegExp(`〔\\u2060${U}:([^:\\u3014\\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function We(e){let[,t,n,r]=e;if(n!==void 0&&r!==void 0){let e=Ve(n),i=Ve(r);if(e!==void 0&&i!==void 0)return{type:t,service:e,field:i}}return{type:t}}var W=`redacted-credential`,Ge=new Set([`pre`,`code`,`style`,`script`,`a`]);function Ke(e){return e.type===`element`}function qe(e){let t=[],n=He(),r;for(;(r=n.exec(e))!==null;){let e=We(r);t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:W,properties:{type:e.type,...e.service!==void 0&&e.field!==void 0?{service:e.service,field:e.field}:{}},children:[]}})}let i=Ue();for(;(r=i.exec(e))!==null;)t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:W,properties:{neutralized:!0},children:[]}});if(t.length===0)return;t.sort((e,t)=>e.index-t.index);let a=[],o=0;for(let n of t)n.index>o&&a.push({type:`text`,value:e.slice(o,n.index)}),a.push(n.element),o=n.index+n.length;return o<e.length&&a.push({type:`text`,value:e.slice(o)}),a}function Je(e){if(Ke(e)&&Ge.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){Je(n);continue}let r=n.value;if(!r.includes(`〔`))continue;let i=qe(r);i&&t.splice(e,1,...i)}}function Ye(){return e=>{Je(e)}}var Xe=new Set([`pre`,`code`,`style`,`script`]),Ze=5,Qe=.4,$e=`stream-word-fade`;function et(e){return e.type===`element`}function tt(e){if(et(e)&&Xe.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){tt(n);continue}let r=n.value.match(/\S+|\s+/g);if(!r||r.length===1&&/^\s+$/.test(r[0]))continue;let i=r.map(e=>/^\s+$/.test(e)?{type:`text`,value:e}:{type:`element`,tagName:`span`,properties:{className:[$e]},children:[{type:`text`,value:e}]});t.splice(e,1,...i)}}function nt(e,t){if(et(e)){let n=e.properties?.className;if(Array.isArray(n)&&n.includes($e)){t.push(e);return}}if(e.children)for(let n of e.children)nt(n,t)}function rt(e){let t=e?.caughtUp??!1;return e=>{if(tt(e),t)return;let n=[];nt(e,n);let r=Math.min(Ze,n.length);for(let e=0;e<r;e++){let t=n[n.length-1-e],r=(Qe+(1-Qe)*((e+1)/(Ze+1))).toFixed(3);t.properties={...t.properties,style:`opacity:${r}`}}}}var it=new Set([`pre`,`a`,`style`,`script`]);function at(e){return e.type===`element`}function ot(e){if(e.children.length!==1)return;let t=e.children[0];return t.type===`text`?t.value:void 0}function st(e){let t=e.children;if(t){for(let e of t)if(at(e)&&!it.has(e.tagName)){if(e.tagName===`code`){let t=ot(e),n=t===void 0?null:me(t);n!==null&&t!==void 0&&(e.tagName=A,e.properties={...e.properties,path:n,raw:t},e.children=[]);continue}st(e)}}}function ct(){return e=>{st(e)}}var lt=15e3,ut=1e4,dt=9e4;function ft({path:e,raw:t,assistantId:n,onOpen:r}){let a=t??e??``,o=de(),s=!!(e&&n&&r&&o),[c]=(0,M.useState)(()=>Date.now()+dt),{data:l}=i({...Ee({assistantId:n??``,path:e?ve(e):``}),enabled:s,staleTime:lt,retry:!1,refetchInterval:t=>Date.now()>=c||(t.state.data?.entries.some(t=>t.type===`file`&&t.path===e)??!1)?!1:ut});return!(0,M.useMemo)(()=>e!=null&&(l?.entries.some(t=>t.type===`file`&&t.path===e)??!1),[l,e])||!e||!r?(0,R.jsx)(`code`,{className:b,children:a}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(he(e),k(e)),className:`${b} cursor-pointer text-[var(--system-positive-strong)] underline decoration-dotted underline-offset-2 hover:opacity-80`,title:`Open ${e}`,children:a})}var pt=/^[a-zA-Z][a-zA-Z0-9+.-]*:/;function mt(e){try{return decodeURIComponent(e)}catch{return null}}function ht(e){return(e.split(`#`,1)[0]??``).split(`?`,1)[0]??``}function gt(e){let t=mt(ht(e));if(t===null)return null;let n=t.trim();if(n.length===0||n.length>512||n.includes(`\0`))return null;let r;if(n.startsWith(`/`)){let e=n.lastIndexOf(ge);if(e===-1)return null;r=n.slice(e+ge.length)}else r=n.startsWith(`./`)?n.slice(2):n;return _e(r)?r:null}function _t(e){let t=ht(e.trim()).split(`/`).pop()??``;return mt(t)??t}function G(e){if(e==null)return{kind:`other`};let t=e.trim();if(t.length===0||t.startsWith(`#`))return{kind:`other`};if(t.startsWith(`//`))return{kind:`web`};let n=pt.exec(t)?.[0];if(n){let e=n.slice(0,-1).toLowerCase();return e===`vellum`?{kind:`vellum`}:e===`http`||e===`https`?{kind:`web`}:{kind:`other`}}if(!(t.startsWith(`/`)||t.startsWith(`./`)||t.includes(`/`)))return{kind:`other`};let r=gt(t);return{kind:`local-file`,workspacePath:r,filename:r?k(r):_t(t)}}function K({workspacePath:e,filename:t,assistantId:n,disabled:i,onPictureInPicture:a,className:s}){let c=i===!0||e===null,l=(0,M.useCallback)(()=>{e!==null&&pe(e)},[e]),u=(0,M.useCallback)(async()=>{if(!(e===null||!n))try{await De({assistantId:n,path:e,filename:t})}catch{E.error(`Failed to download file`,{description:t})}},[n,t,e]);return(0,R.jsxs)(d.Root,{children:[(0,R.jsx)(d.Trigger,{asChild:!0,children:(0,R.jsx)(r,{variant:`ghost`,size:`compact`,expandOnMobile:!1,iconOnly:(0,R.jsx)(te,{}),"aria-label":`File actions`,className:o(`shrink-0`,s),onClick:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()}})}),(0,R.jsxs)(d.Content,{align:`end`,sideOffset:4,children:[(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(C,{size:14}),disabled:c,onSelect:l,className:`whitespace-nowrap`,children:`Go to file`}),a!==void 0&&(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(ke,{size:14}),onSelect:a,className:`whitespace-nowrap`,children:`Picture in Picture`}),(0,R.jsx)(d.Item,{leftIcon:(0,R.jsx)(S,{size:14}),disabled:c||!n,onSelect:()=>void u(),className:`whitespace-nowrap`,children:`Download`})]})]})}var vt=new Set([`md`,`markdown`]),yt=new Map([[`csv`,`csv`],[`tsv`,`csv`],[`txt`,`text`],[`log`,`text`],[`json`,`text`],[`yaml`,`text`],[`yml`,`text`],[`xml`,`text`],[`pdf`,`pdf`],[`png`,`image`],[`jpg`,`image`],[`jpeg`,`image`],[`gif`,`image`],[`webp`,`image`],[`svg`,`image`],[`avif`,`image`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`ogg`,`audio`],[`flac`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`webm`,`video`],[`m4v`,`video`]]);function bt(e){let t=e.lastIndexOf(`.`);return t<=0?null:e.slice(t+1).toLowerCase()}function xt(e){let t=bt(e);return t!==null&&vt.has(t)}function St(e){let t=bt(e);return t===null?null:yt.get(t)??null}function Ct(e){return St(e)??`unsupported`}function q(e,t,n){return t?xt(e)?n?{mode:`document`,assistantId:t,conversationId:n}:{mode:`workspace`}:{mode:`preview`,assistantId:t,previewKind:Ct(e)}:{mode:`workspace`}}function wt(e,t,n){return q(e,t,n).mode!==`workspace`}function Tt(e,t,n){return e===`document`&&t!==null&&t.workspacePath===n}function Et(e){let t=O.use.mainView(),n=O.use.openedDocumentState();return e===null?!1:Tt(t,n,e)}function Dt(e,t,n,r){let i=q(t,n,r);if(i.mode===`document`){O.getState().loadWorkspaceFileDocument(i.assistantId,e,i.conversationId);return}if(i.mode===`preview`){O.getState().openWorkspaceFilePreview(e,i.previewKind);return}pe(e)}function J(e,t,n,r){let i=O.getState();if(wt(t,n,r)&&Tt(i.mainView,i.openedDocumentState,e)){i.closeDocument();return}Dt(e,t,n,r)}var Ot=[`opacity-0 transition-opacity`,`group-hover/local-file-card:opacity-100`,`group-focus-visible/local-file-card:opacity-100`,`[@media(pointer:coarse)]:opacity-100`].join(` `);function kt(e){return e===`workspace`?{label:`Open in workspace`,Icon:C}:e===`preview`?{label:`Open preview`,Icon:j}:{label:`Open in editor`,Icon:j}}var At={workspace:`workspace`,document:`editor`,preview:`preview`};function jt(e,t,n){return e===`missing`?`File not found`:e===`unavailable`?`File isn't available here`:n===t?null:n}function Y({displayName:e,filename:t,sizeBytes:n,kind:r,state:i,workspacePath:a,assistantId:c}){let l=D.use.activeConversationId(),u=i===`ready`,d=u&&a!==null,{mode:f}=q(t,c,l),p=f!==`workspace`,m=Et(d?a:null)&&p,h=jt(i,e,t),{label:g,Icon:_}=kt(f),v=m?`Close ${At[f]} for ${t}`:`Open ${t}`,y=()=>{d&&J(a,t,c,l)};return(0,R.jsxs)(`span`,{role:d?`button`:void 0,tabIndex:d?0:void 0,"aria-label":d?v:void 0,"aria-expanded":d&&p?m:void 0,title:t,onClick:d?y:void 0,onKeyDown:d?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y())}:void 0,className:o(`group/local-file-card my-2 flex w-full max-w-md items-center gap-2.5 rounded-lg border p-2 transition-colors`,m?`border-[var(--border-active)] bg-[var(--surface-active)]`:`border-[var(--border-element)] bg-[var(--surface-lift)]`,d&&`cursor-pointer`),children:[(0,R.jsx)(`span`,{className:o(`flex h-9 w-9 shrink-0 items-center justify-center rounded-md`,m?`bg-[var(--surface-lift)]`:`bg-[var(--surface-sunken)]`,u?`text-[var(--content-secondary)]`:`text-[var(--content-disabled)]`),children:(0,R.jsx)(B,{kind:r,filename:t,className:`h-4 w-4`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,R.jsx)(s,{as:`span`,variant:`body-small-default`,className:o(`truncate`,m?`text-[var(--content-emphasised)]`:`text-[var(--content-default)]`),children:Te(e,40)}),h!==null&&(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:h})]}),d&&!m&&(0,R.jsxs)(`span`,{"aria-hidden":`true`,className:o(`flex shrink-0 items-center gap-1`,Ot,`text-[var(--content-tertiary)]`),children:[(0,R.jsx)(_,{className:`h-3.5 w-3.5`}),(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`whitespace-nowrap`,children:g})]}),n!==null&&(0,R.jsx)(s,{as:`span`,variant:`label-small-default`,className:`shrink-0 text-[var(--content-disabled)]`,children:Ce(n)}),(0,R.jsx)(K,{workspacePath:a,filename:t,assistantId:c,disabled:!u})]})}var Mt=`vellum://workspace/`;function Nt(e){let t=e.trim().split(`/`).pop()??``;try{return decodeURIComponent(t)}catch{return t}}function Pt(e){return e.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}}).join(`/`)}function X(e){let t=e.trim();if(t.startsWith(Mt)){let e=Pt(t.slice(19));return{workspacePath:_e(e)?e:null,filename:k(e)}}let n=G(t);return n.kind===`local-file`?{workspacePath:n.workspacePath,filename:n.filename}:{workspacePath:null,filename:Nt(t)}}var Ft=`max-h-[400px] max-w-full rounded-lg border border-[var(--border-element)] object-contain`,It=[`pointer-events-none absolute right-2 top-2 rounded-md bg-[var(--surface-lift)] opacity-0 transition-opacity`,`group-hover/local-media:pointer-events-auto group-hover/local-media:opacity-100`,`group-focus-within/local-media:pointer-events-auto group-focus-within/local-media:opacity-100`,`[@media(pointer:coarse)]:pointer-events-auto [@media(pointer:coarse)]:opacity-100`].join(` `);function Lt(){return typeof document<`u`&&`pictureInPictureEnabled`in document&&document.pictureInPictureEnabled}function Rt({children:e,menu:t}){return(0,R.jsxs)(`span`,{className:`group/local-media relative my-2 inline-block max-w-full align-top`,children:[e,(0,R.jsx)(`span`,{className:It,children:t})]})}function zt({href:e,alt:t,assistantId:n}){let r=(0,M.useMemo)(()=>X(e),[e]),i=xe(r.workspacePath,n),[a,o]=(0,M.useState)(null),s=(0,M.useRef)(null),c=(0,M.useCallback)(async()=>{let e=s.current;if(e!==null){if(document.pictureInPictureElement===e){try{await document.exitPictureInPicture()}catch{}return}e.disablePictureInPicture=!1;try{await e.requestPictureInPicture()}catch{e.disablePictureInPicture=!0,E.error(`Picture in Picture isn't available`);return}e.addEventListener(`leavepictureinpicture`,()=>{e.disablePictureInPicture=!0},{once:!0})}},[]),l=i.status===`ready`?i:null,u=l?.filename??r.filename,d=l?.kind??z(u),f=l?.sizeBytes??null,p=l!==null&&(d===`image`||d===`video`||d===`audio`)&&!(f!==null&&f>104857600)&&a!==e,{url:m,isError:h}=be({workspacePath:r.workspacePath,mime:l?.mime??null,enabled:p,assistantId:n}),g=t.trim().length>0?t:u,_=g.length>0?g:u,v=(0,R.jsx)(K,{workspacePath:r.workspacePath,filename:u,assistantId:n}),y=(0,R.jsx)(oe,{as:`span`,role:`status`,"aria-label":`Loading ${_}`,className:`my-2 inline-block h-7 w-40 rounded-lg align-middle`});if(n===void 0)return(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});if(i.status===`loading`)return y;if(i.status===`unavailable`)return(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:i.reason===`missing`?`missing`:`unavailable`,workspacePath:r.workspacePath,assistantId:n});let b=(0,R.jsx)(Y,{displayName:g,filename:u,sizeBytes:f,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});return!p||h?b:m===null?y:d===`image`?(0,R.jsx)(Rt,{menu:v,children:(0,R.jsx)(`img`,{src:m,alt:t,onError:()=>o(e),className:Ft})}):d===`video`?(0,R.jsx)(Rt,{menu:(0,R.jsx)(K,{workspacePath:r.workspacePath,filename:u,assistantId:n,onPictureInPicture:Lt()?()=>void c():void 0}),children:(0,R.jsx)(`video`,{ref:s,src:m,controls:!0,controlsList:`nodownload noplaybackrate`,disablePictureInPicture:!0,playsInline:!0,preload:`metadata`,"aria-label":_,className:Ft})}):d===`audio`?(0,R.jsxs)(`span`,{className:`my-2 flex w-full max-w-md items-center gap-2`,children:[(0,R.jsx)(`audio`,{src:m,controls:!0,controlsList:`nodownload noplaybackrate`,preload:`metadata`,"aria-label":_,className:`min-w-0 flex-1`}),v]}):b}function Bt({href:e,workspacePath:t,assistantId:n,children:r,onActivate:i}){let a=D.use.activeConversationId(),o=t===null?Nt(e):k(t);return(0,R.jsxs)(`a`,{href:e,onClick:e=>{if(e.preventDefault(),i){i();return}if(t===null){E.error(`This file isn't available here`);return}J(t,o,n,a)},className:`inline-flex items-baseline gap-1 cursor-pointer text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[(0,R.jsx)(B,{kind:z(o),filename:o,className:`h-3.5 w-3.5 shrink-0 self-center`}),r]})}function Z(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function Vt(e){return Z(e)?e:ee(e)}function Ht({href:e,children:t}){let n=P(e),r=/^https?:\/\//i.test(e??``);return(0,R.jsxs)(`a`,{href:e,target:`_blank`,rel:n?void 0:`noopener noreferrer`,onClick:t=>{if(Me(e)){t.preventDefault();return}Oe(t,e)},className:`text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[t,r?(0,R.jsx)(C,{"aria-hidden":!0,className:`ml-0.5 inline h-3.5 w-3.5 shrink-0 align-[-0.125em]`}):null]})}function Q(e){return typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(Q).join(``):(0,M.isValidElement)(e)?Q(e.props.children):``}var Ut=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-element)] object-contain`;function $({alt:e}){return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Image failed to load`,e?` (${e})`:``]})}function Wt({src:e,alt:t}){let[n,r]=(0,M.useState)(!1);return n?(0,R.jsx)($,{alt:t}):(0,R.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:Ut})}function Gt(e){try{return decodeURIComponent(e)}catch{return e}}function Kt(e,t){let n=Gt(e.split(`/`).pop()??``),r=t?.find(e=>e.filename===n);if(!r)return;let i=r.mimeType;if(!(i===void 0||!i.startsWith(`image/`)))return r}function qt({attachment:e,alt:n,assistantId:r,onOpenPreview:i}){let[a,o]=(0,M.useState)(null),[s,c]=(0,M.useState)(!1);if((0,M.useEffect)(()=>{if(!r||e.id.startsWith(`rehydrated:`))return;let n=!1;return(async()=>{try{let{data:t,error:i}=await le({path:{assistant_id:r,id:e.id},parseAs:`blob`,throwOnError:!1});if(n)return;if(i||!(t instanceof Blob)){c(!0);return}o(URL.createObjectURL(t))}catch(e){n||(c(!0),t(e,{context:`WorkspaceInlineImage`,bestEffort:!0}))}})(),()=>{n=!0,o(e=>(e&&URL.revokeObjectURL(e),null))}},[e,r]),s)return(0,R.jsx)($,{alt:n||e.filename});if(!a)return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Loading image…`,n?` (${n})`:``]});let l=(0,R.jsx)(`img`,{src:a,alt:n,className:Ut});return i?(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`cursor-zoom-in appearance-none border-0 bg-transparent p-0`,"aria-label":n?`Expand image: ${n}`:`Expand image`,children:l}):l}var Jt=(0,M.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a,streamWordFade:o,redactedCredentialChips:s,workspacePathLinks:c}){let{openPreview:l,previewModal:u}=_(a,i),d=D.use.activeConversationId(),f=(0,M.useCallback)((e,t)=>{let{workspacePath:n,filename:i}=X(e);if(a&&n!==null){J(n,i,a,d);return}r?.(e,t)},[a,d,r]),p=(0,M.useCallback)(({href:e,children:t})=>{if(e!=null&&Z(e)){let{workspacePath:n}=X(e);return(0,R.jsx)(Bt,{href:e,workspacePath:n,assistantId:a??void 0,onActivate:r&&!(a&&n!==null)?()=>r(e,Q(t)):void 0,children:t})}let n=G(e);if(e!=null&&n.kind===`local-file`){let{workspacePath:i}=n;return(0,R.jsx)(Bt,{href:e,workspacePath:i,assistantId:a??void 0,onActivate:r&&i!==null&&!a?()=>r(he(i),Q(t)):void 0,children:t})}return(0,R.jsx)(Ht,{href:e,children:t})},[r,a]),m=(0,M.useMemo)(()=>[...s?[Ye]:[],...c&&r?[ct]:[],...o?[[rt,{caughtUp:o===`caughtUp`}]]:[]],[s,o,c,r]),h=(0,M.useMemo)(()=>({src:e,alt:t})=>{let n=(0,R.jsx)(zt,{href:e,alt:t,assistantId:a??void 0});if(Z(e)){let r=Kt(e,i);return r?(0,R.jsx)(qt,{attachment:r,alt:t,assistantId:a,onOpenPreview:l}):n}return G(e).kind===`local-file`?n:e.length===0?(0,R.jsx)($,{alt:t}):(0,R.jsx)(Wt,{src:e,alt:t})},[i,a,l]),g=(0,M.useMemo)(()=>({[W]:e=>(0,R.jsx)(Be,{...e,assistantId:a},`${a??``}\u0000${e.service??``}\u0000${e.field??``}`),[A]:e=>(0,R.jsx)(ft,{...e,assistantId:a,onOpen:r?f:void 0})}),[a,r,f]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(x,{content:e,className:t,hardLineBreaks:n,linkComponent:p,imageComponent:h,urlTransform:Vt,extraRehypePlugins:m,extraComponents:s||c&&r?g:void 0}),u]})});export{Ne as a,z as i,Re as n,L as o,B as r,Jt as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./client-feature-flag-store-DujD6DL8.js";import{R as t}from"./platform-detection-DVo8Md11.js";function n(){let t=e.use.marketingPricingTakeover(),n=e.use.hydrated();return t?`enabled`:n?`disabled`:`pending`}var r=`continue`;function i(e,n){return t(e.get(r),n)}export{i as n,n as r,r as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DWxxMNqc.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./loader-circle-D7A_UeUb.js";import{et as u,l as d,u as f}from"./auth-store-DQBqJ9Zf.js";import{L as p,N as m,P as h,f as g}from"./platform-detection-DVo8Md11.js";import{d as _}from"./routes-gT_HcUb1.js";import{a as v}from"./use-platform-gate-BO0EH_L6.js";import{i as y}from"./use-is-org-ready-XO3KhcpH.js";import{n as b}from"./browser-DpbIFTGf.js";import{ft as x}from"./react-query.gen-BtWMgf9p.js";import{n as S,r as C}from"./checkout-continuation-BO0Ny9h3.js";import{t as w}from"./checkout-return-target-MgThljBf.js";var T=e(t(),1),E=c();function D(){h(),f()}function O(){let e=a(),[t]=r(),c=t.get(`package`)??``,f=(0,T.useMemo)(()=>c?null:m(t),[c,t]),h=v(),g=y(),O=C(),k=S(t,_.plans),A=k===_.plans?`View plans`:`Continue setup`,j=o(),{mutateAsync:M}=s(x()),[N,P]=(0,T.useState)(!1),[F,I]=(0,T.useState)(!1),L=(0,T.useRef)(`idle`),R=(0,T.useCallback)(async()=>{L.current=`running`,P(!1),I(!1);let t=w();try{let n=await M({body:f?{target_plan_id:`pro`,confirm:!0,machine_tier:f.machineTier,storage_tier:f.storageTier,credit_tier:f.creditTier,return_target:t}:{target_plan_id:`pro`,package:c,confirm:!0,return_target:t}});if(L.current!==`running`)return;if(n.status===`redirect`&&n.checkout_url){L.current=`handed_off`,p(f?{kind:`custom`,machineTier:f.machineTier,storageTier:f.storageTier,creditTier:f.creditTier}:{kind:`package`,packageKey:c}),d(j),I(t===`native`),b(n.checkout_url);return}L.current=`settled`,D(),e(k===_.plans&&c?_.plansForPackage(c):k,{replace:!0})}catch{if(L.current!==`running`)return;L.current=`settled`,P(!0)}},[k,f,M,e,c,j]),z=(0,T.useCallback)(()=>{if(g===`ready`){R();return}L.current=`idle`,P(!1),I(!1),g===`unavailable`&&u.getState().fetchOrganizations()},[g,R]);return(0,T.useEffect)(()=>{if(!c&&!f||h===`disabled`||h===`gated`||O===`disabled`){if(L.current===`handed_off`)return;L.current=`settled`,D(),e(k,{replace:!0});return}if(!(O!==`enabled`||h!==`full`||L.current!==`idle`)&&g!==`resolving`){if(g===`unavailable`){L.current=`settled`,P(!0);return}R()}},[k,f,h,e,g,c,R,O]),N?(0,E.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,E.jsx)(`p`,{className:`text-[var(--content-default)]`,children:`We couldn’t start your checkout. Please try again.`}),(0,E.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,E.jsx)(n,{onClick:z,children:`Try again`}),(0,E.jsx)(i,{to:k,onClick:D,className:`text-sm text-[var(--content-tertiary)] underline`,children:A})]})]}):F?(0,E.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,E.jsx)(`p`,{className:`text-[var(--content-default)]`,children:`Checkout opened in your browser. Finish there to complete your upgrade.`}),(0,E.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,E.jsx)(n,{onClick:z,children:`Reopen checkout`}),(0,E.jsx)(i,{to:k,className:`text-sm text-[var(--content-tertiary)] underline`,children:A})]})]}):(0,E.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3`,children:[(0,E.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Preparing checkout`}),(0,E.jsx)(`p`,{className:`text-sm text-[var(--content-tertiary)]`,children:`Preparing checkout…`})]})}function k(){let e=a(),[t]=r(),n=S(t,_.settings.usageBilling);return(0,T.useEffect)(()=>{D(),e(n,{replace:!0})},[e,n]),null}function A(){return g()?(0,E.jsx)(k,{}):(0,E.jsx)(O,{})}export{A as CheckoutPage};
@@ -1 +1 @@
1
- import{n as e,t}from"./create-selectors-B5FxuP1q.js";import{i as n,r,s as i}from"./feature-flag-catalog-DLSx2qti.js";var a=`vellum:ff:`,o=`vellum:ff-str:`;function s(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(r)){let n=localStorage.getItem(a+t);n!==null&&(e[t]=n===`true`)}}catch{}return e}function c(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(n)){let n=localStorage.getItem(o+t);n!==null&&(e[t]=n)}}catch{}return e}var l=s(),u=c(),d=i(`client`);function f(){return{...r,...s(),...d.bool}}function p(){return{...n,...c(),...d.str}}function m(e,t){return e===null||t===null||e===t}var h=t(e()(e=>{let t=e;return{...r,...l,...d.bool,stringFlags:{...n,...u,...d.str},hydrated:!1,scopeKey:null,setFlags:(t,n)=>e(e=>{if(!m(e.scopeKey,n))return e;let r=s(),i={...t,...r,...d.bool};return Object.keys(i).some(t=>i[t]!==e[t])?{...i,hydrated:!0}:e.hydrated?e:{hydrated:!0}}),beginScope:e=>t(t=>t.scopeKey===e?t:{...f(),stringFlags:p(),hydrated:!1,scopeKey:e}),settleWithoutServerValues:t=>e(e=>e.hydrated||!m(e.scopeKey,t)?e:{...f(),hydrated:!0}),setFlag:(t,n)=>{try{localStorage.setItem(a+t,String(n))}catch{}e({[t]:d.bool[t]??n})},clearOverride:t=>{try{localStorage.removeItem(a+t)}catch{}let n=d.bool[t]??r[t];n!==void 0&&e({[t]:n})},setStringFlags:(e,n)=>t(t=>{if(!m(t.scopeKey,n))return t;let r=c(),i={...e,...r,...d.str},a=t.stringFlags;return Object.keys(i).some(e=>i[e]!==a[e])?{stringFlags:i}:t}),setStringFlag:(e,n)=>{try{localStorage.setItem(o+e,n)}catch{}t(t=>({stringFlags:{...t.stringFlags,[e]:d.str[e]??n}}))},clearStringOverride:e=>{try{localStorage.removeItem(o+e)}catch{}let r=d.str[e]??n[e];t(t=>({stringFlags:{...t.stringFlags,[e]:r??``}}))}}}));export{h as t};
1
+ import{n as e,t}from"./create-selectors-B5FxuP1q.js";import{i as n,r,s as i}from"./feature-flag-catalog-Cigl5R2_.js";var a=`vellum:ff:`,o=`vellum:ff-str:`;function s(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(r)){let n=localStorage.getItem(a+t);n!==null&&(e[t]=n===`true`)}}catch{}return e}function c(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(n)){let n=localStorage.getItem(o+t);n!==null&&(e[t]=n)}}catch{}return e}var l=s(),u=c(),d=i(`client`);function f(){return{...r,...s(),...d.bool}}function p(){return{...n,...c(),...d.str}}function m(e,t){return e===null||t===null||e===t}var h=t(e()(e=>{let t=e;return{...r,...l,...d.bool,stringFlags:{...n,...u,...d.str},hydrated:!1,scopeKey:null,setFlags:(t,n)=>e(e=>{if(!m(e.scopeKey,n))return e;let r=s(),i={...t,...r,...d.bool};return Object.keys(i).some(t=>i[t]!==e[t])?{...i,hydrated:!0}:e.hydrated?e:{hydrated:!0}}),beginScope:e=>t(t=>t.scopeKey===e?t:{...f(),stringFlags:p(),hydrated:!1,scopeKey:e}),settleWithoutServerValues:t=>e(e=>e.hydrated||!m(e.scopeKey,t)?e:{...f(),hydrated:!0}),setFlag:(t,n)=>{try{localStorage.setItem(a+t,String(n))}catch{}e({[t]:d.bool[t]??n})},clearOverride:t=>{try{localStorage.removeItem(a+t)}catch{}let n=d.bool[t]??r[t];n!==void 0&&e({[t]:n})},setStringFlags:(e,n)=>t(t=>{if(!m(t.scopeKey,n))return t;let r=c(),i={...e,...r,...d.str},a=t.stringFlags;return Object.keys(i).some(e=>i[e]!==a[e])?{stringFlags:i}:t}),setStringFlag:(e,n)=>{try{localStorage.setItem(o+e,n)}catch{}t(t=>({stringFlags:{...t.stringFlags,[e]:d.str[e]??n}}))},clearStringOverride:e=>{try{localStorage.removeItem(o+e)}catch{}let r=d.str[e]??n[e];t(t=>({stringFlags:{...t.stringFlags,[e]:r??``}}))}}}));export{h as t};
@@ -1 +1 @@
1
- import{n as e,o as t,s as n}from"./platform-detection-C5Xt8-QJ.js";import{t as r}from"./consent-BpATHDME.js";import{i,t as a}from"./ingest-DaEam2-h.js";var o=null;function s(){return o??=i(),o}var c=null;function l(e){c=e}function u(){return n()?`ios_native`:t()?`android_native`:`web`}function d(t,n,o){if(!(typeof window>`u`))try{if(!r())return;a([{type:`watchdog`,daemon_event_id:i(),recorded_at:Date.now(),check_name:t,value:Math.round(n),detail:{page_load_id:s(),surface:u(),os:e(),...c===null?{}:{boot_id:c},...o}}])}catch{}}export{l as n,d as t};
1
+ import{n as e,o as t,s as n}from"./platform-detection-DVo8Md11.js";import{t as r}from"./consent-eo_quPak.js";import{i,t as a}from"./ingest-CMGYRNYA.js";var o=null;function s(){return o??=i(),o}var c=null;function l(e){c=e}function u(){return n()?`ios_native`:t()?`android_native`:`web`}function d(t,n,o){if(!(typeof window>`u`))try{if(!r())return;a([{type:`watchdog`,daemon_event_id:i(),recorded_at:Date.now(),check_name:t,value:Math.round(n),detail:{page_load_id:s(),surface:u(),os:e(),...c===null?{}:{boot_id:c},...o}}])}catch{}}export{l as n,d as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{W as n,t as r}from"./button-DWxxMNqc.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./typography-BeUa5Fd-.js";import{N as o}from"./src-CqJTlX1y.js";import{t as s}from"./loader-circle-D7A_UeUb.js";import{t as c}from"./search-DZBQ2Z4C.js";import{t as l}from"./x-CAGZWET-.js";import{m as u}from"./platform-detection-C5Xt8-QJ.js";import{n as d}from"./use-is-mobile-BZEx6kJ_.js";import{n as f,t as p}from"./proxy-CJDjUn7E.js";import{t as m}from"./AnimatePresence-DWbwz63e.js";import{t as h}from"./use-reduced-motion-CznEG-5y.js";var g=e(t(),1),_=e(n(),1),v=i();function y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function b(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(y).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,v.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,v.jsx)(v.Fragment,{children:a}))}function x({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcutHint:a,isSelected:s,onClick:c,surface:l=`overlay`}){let u=e;return l===`window`?(0,v.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":s?`page`:void 0,"aria-selected":s,onClick:c,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`,s?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[u?(0,v.jsx)(u,{size:16,"aria-hidden":!0,className:s?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-[var(--content-tertiary)]`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:b(r,i)}):null]})]}):(0,v.jsx)(o,{icon:e,label:(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:b(r,i)}):null]}),active:s,onSelect:c,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var S=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,C={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))`},w={...C,pointerEvents:`none`},T=({onKeyDown:e,children:t})=>{let n=f(),r=h(),i=(0,g.useRef)(null);return(0,g.useLayoutEffect)(()=>{if(n)return;let e=document.activeElement;e instanceof HTMLElement&&i.current?.contains(e)&&e.blur()},[n]),(0,v.jsx)(p.div,{ref:i,className:S,style:n?C:w,role:`dialog`,"aria-modal":n?!0:void 0,"aria-hidden":n?void 0:!0,"aria-label":`Search`,onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:r?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:t})},E=({isOpen:e,onClose:t,query:n,onQueryChange:i,highlightTokens:o,selectedIndex:f,sections:p,isSearching:h=!1,onItemSelect:y,onKeyDown:b,surface:w=`overlay`})=>{let E=d(),D=u(),O=(0,g.useRef)(null),k=(0,g.useRef)(null),A=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{k.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,g.useEffect)(()=>{if(!e||!A.current)return;let t=A.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,f]);let j=(0,g.useCallback)(e=>{e.target===O.current&&t()},[t]),M=w===`window`,N=E&&!M,P=D&&N;if(!e&&!P)return null;let F=0,I=(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[h?(0,v.jsx)(s,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,v.jsx)(c,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,v.jsx)(`input`,{ref:k,type:`text`,value:n,onChange:e=>i(e.target.value),placeholder:`Search conversations, memories…`,className:M?`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":`Search`}),n?N?(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>i(``),"aria-label":`Clear search`,children:`Clear`}):M?(0,v.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":`Clear search`,onClick:()=>i(``),children:(0,v.jsx)(l,{size:16,"aria-hidden":!0})}):(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),"aria-label":`Clear search`,onClick:()=>i(``),tintColor:`var(--content-tertiary)`}):N?null:(0,v.jsx)(`kbd`,{className:M?`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:`⌘K`}),N?(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),expandOnMobile:!1,"aria-label":`Close search`,onClick:t,tintColor:`var(--content-tertiary)`}):null]}),L=(0,v.jsx)(`div`,{ref:A,className:N?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:p.length===0?(0,v.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,v.jsx)(a,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:h?`Searching…`:`No results`})}):p.map(e=>(0,v.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,v.jsx)(a,{variant:`label-small-default`,as:`div`,className:M?`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=F++;return(0,v.jsx)(x,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcutHint:N?void 0:e.shortcutHint,isSelected:t===f,onClick:()=>y?.(e,t),surface:w},e.id)})]},e.id))});if(P)return(0,v.jsx)(m,{children:e?(0,v.jsxs)(T,{onKeyDown:b,children:[I,L]},`command-palette-sheet`):null});if(N)return(0,v.jsxs)(`div`,{className:S,role:`dialog`,"aria-modal":`true`,"aria-label":`Search`,onKeyDown:b,style:C,children:[I,L]});let R=(0,v.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-label":`Command palette`,className:w===`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:j,onKeyDown:b,children:(0,v.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:[I,L]})});return w===`window`?R:(0,_.createPortal)(R,document.body)};export{E as CommandPalette};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{W as n,t as r}from"./button-DWxxMNqc.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./typography-BeUa5Fd-.js";import{N as o}from"./src-CqJTlX1y.js";import{t as s}from"./loader-circle-D7A_UeUb.js";import{t as c}from"./search-DZBQ2Z4C.js";import{t as l}from"./x-CAGZWET-.js";import{m as u}from"./platform-detection-DVo8Md11.js";import{n as d}from"./use-is-mobile-C0Jx9AxD.js";import{n as f,t as p}from"./proxy-lK4w-Bft.js";import{t as m}from"./AnimatePresence-DYJ0_Bk3.js";import{t as h}from"./use-reduced-motion-Blpe7z4_.js";var g=e(t(),1),_=e(n(),1),v=i();function y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function b(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(y).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,v.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,v.jsx)(v.Fragment,{children:a}))}function x({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcutHint:a,isSelected:s,onClick:c,surface:l=`overlay`}){let u=e;return l===`window`?(0,v.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":s?`page`:void 0,"aria-selected":s,onClick:c,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`,s?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[u?(0,v.jsx)(u,{size:16,"aria-hidden":!0,className:s?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-[var(--content-tertiary)]`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:b(r,i)}):null]})]}):(0,v.jsx)(o,{icon:e,label:(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:b(r,i)}):null]}),active:s,onSelect:c,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var S=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,C={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))`},w={...C,pointerEvents:`none`},T=({onKeyDown:e,children:t})=>{let n=f(),r=h(),i=(0,g.useRef)(null);return(0,g.useLayoutEffect)(()=>{if(n)return;let e=document.activeElement;e instanceof HTMLElement&&i.current?.contains(e)&&e.blur()},[n]),(0,v.jsx)(p.div,{ref:i,className:S,style:n?C:w,role:`dialog`,"aria-modal":n?!0:void 0,"aria-hidden":n?void 0:!0,"aria-label":`Search`,onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:r?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:t})},E=({isOpen:e,onClose:t,query:n,onQueryChange:i,highlightTokens:o,selectedIndex:f,sections:p,isSearching:h=!1,onItemSelect:y,onKeyDown:b,surface:w=`overlay`})=>{let E=d(),D=u(),O=(0,g.useRef)(null),k=(0,g.useRef)(null),A=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{k.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,g.useEffect)(()=>{if(!e||!A.current)return;let t=A.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,f]);let j=(0,g.useCallback)(e=>{e.target===O.current&&t()},[t]),M=w===`window`,N=E&&!M,P=D&&N;if(!e&&!P)return null;let F=0,I=(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[h?(0,v.jsx)(s,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,v.jsx)(c,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,v.jsx)(`input`,{ref:k,type:`text`,value:n,onChange:e=>i(e.target.value),placeholder:`Search conversations, memories…`,className:M?`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":`Search`}),n?N?(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>i(``),"aria-label":`Clear search`,children:`Clear`}):M?(0,v.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":`Clear search`,onClick:()=>i(``),children:(0,v.jsx)(l,{size:16,"aria-hidden":!0})}):(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),"aria-label":`Clear search`,onClick:()=>i(``),tintColor:`var(--content-tertiary)`}):N?null:(0,v.jsx)(`kbd`,{className:M?`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:`⌘K`}),N?(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),expandOnMobile:!1,"aria-label":`Close search`,onClick:t,tintColor:`var(--content-tertiary)`}):null]}),L=(0,v.jsx)(`div`,{ref:A,className:N?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:p.length===0?(0,v.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,v.jsx)(a,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:h?`Searching…`:`No results`})}):p.map(e=>(0,v.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,v.jsx)(a,{variant:`label-small-default`,as:`div`,className:M?`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=F++;return(0,v.jsx)(x,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcutHint:N?void 0:e.shortcutHint,isSelected:t===f,onClick:()=>y?.(e,t),surface:w},e.id)})]},e.id))});if(P)return(0,v.jsx)(m,{children:e?(0,v.jsxs)(T,{onKeyDown:b,children:[I,L]},`command-palette-sheet`):null});if(N)return(0,v.jsxs)(`div`,{className:S,role:`dialog`,"aria-modal":`true`,"aria-label":`Search`,onKeyDown:b,style:C,children:[I,L]});let R=(0,v.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-label":`Command palette`,className:w===`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:j,onKeyDown:b,children:(0,v.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:[I,L]})});return w===`window`?R:(0,_.createPortal)(R,document.body)};export{E as CommandPalette};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{c as r,i,n as a,o,t as s}from"./use-command-palette-sections-Cuznzj_A.js";import{n as c}from"./resolved-assistants-store-CcfVZNkg.js";import{Z as l,i as u,n as d,s as f}from"./auth-store-344lpSdW.js";import{t as p}from"./use-app-theme-D47xo0HN.js";import{i as m}from"./conversation-queries-SlTB6ibo.js";import{CommandPalette as h}from"./command-palette-DiL9Fymo.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=d.use.sessionStatus(),t=f(),n=u();p(),o(!t),r({sessionStatus:e,hasPlatformSession:n});let x=c.use.assistants(),S=c.use.activeAssistantId(),C=l(),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}=m(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&i(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=s({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{a()},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"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{c as r,i,n as a,o,t as s}from"./use-command-palette-sections-DmP2C3s9.js";import{n as c}from"./resolved-assistants-store-CcfVZNkg.js";import{Z as l,i as u,n as d,s as f}from"./auth-store-DQBqJ9Zf.js";import{t as p}from"./use-app-theme-BAGQ6WMq.js";import{i as m}from"./conversation-queries-Bf5aB-kP.js";import{CommandPalette as h}from"./command-palette-DflsVP7s.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=d.use.sessionStatus(),t=f(),n=u();p(),o(!t),r({sessionStatus:e,hasPlatformSession:n});let x=c.use.assistants(),S=c.use.activeAssistantId(),C=l(),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}=m(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&i(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=s({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{a()},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{t as e}from"./button-DWxxMNqc.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./card-q0GJX1HZ.js";import{t as r}from"./createLucideIcon-C1mdGPB9.js";import{r as i}from"./middleware-DiHdH8q1.js";import{t as a}from"./bug-Bbtz2Ob2.js";import{t as o}from"./external-link-oGdSxU8S.js";import{t as s}from"./globe-DN9GN4I5.js";import{t as c}from"./heart-Ccmw6M7x.js";import{t as l}from"./play-DngM8cG-.js";import{t as u}from"./sparkles-D4vo9pIw.js";import{c as d,i as f,l as p,n as m,u as h}from"./use-discord-nudge-eZQEh1UC.js";import{t as g}from"./users-CsTFUtqE.js";import{t as _}from"./tag-D1UeSlPe.js";import{t as v}from"./external-urls-DjcLrlMy.js";var y=r(`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`}]]),b=t();function x({size:e=24,className:t,style:n}){return(0,b.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,b.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 S({size:e=24,className:t,style:n}){return(0,b.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,b.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 C({size:e=24,className:t,style:n}){return(0,b.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,b.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 w(){return(0,b.jsx)(n,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.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,b.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,b.jsxs)(_,{tone:`neutral`,children:[(0,b.jsx)(l,{className:`h-3.5 w-3.5`}),`Community`]}),(0,b.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:`Build with us, in the open.`}),(0,b.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:`Vellum is built in the open with a growing community of developers, designers, and tinkerers. Here's how to get involved.`})]})]})})}function T({icon:e,text:t}){return(0,b.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,b.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,b.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function E({accentColor:t,iconColor:r=`var(--aux-white)`,label:a,icon:o,title:s,subtitle:c,benefits:l,primaryAction:u,secondaryAction:d}){return(0,b.jsx)(n,{padding:`lg`,className:`flex-1`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:o}),(0,b.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:a})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:s}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:c})]}),(0,b.jsx)(`ul`,{className:`flex flex-col gap-3`,children:l.map(({icon:e,text:t})=>(0,b.jsx)(T,{icon:e,text:t},t))}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(e,{onClick:u.onClick,children:[u.icon,u.label]}),d&&(0,b.jsxs)(e,{variant:`ghost`,onClick:()=>window.open(d.href,`_blank`,`noopener,noreferrer`),children:[d.label,(0,b.jsx)(i,{className:`h-3.5 w-3.5`})]})]})]})})}function D({icon:e,iconBg:t,iconColor:r=`white`,title:i,description:a,href:s}){return(0,b.jsx)(`a`,{href:s,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,b.jsx)(n,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:e}),(0,b.jsx)(o,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]})]})})})}function O(){let{handleStar:e}=d();return(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(w,{}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,b.jsx)(E,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:`Open Source`,icon:(0,b.jsx)(x,{size:20}),title:`Vellum is open source`,subtitle:`Read the source, star the repo, and contribute fixes and features on GitHub.`,benefits:[{icon:h,text:`Star the repo to follow updates`},{icon:a,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(h,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:f}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(p,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:c,text:`Talk directly with the team`},{icon:u,text:`Share feedback and request features`},{icon:g,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(p,{size:16,style:{color:`currentColor`}}),onClick:m}})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:`More from Vellum`}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,b.jsx)(D,{icon:(0,b.jsx)(s,{size:20}),iconBg:`#22c55e`,title:`Community Hub`,description:`Showcases, guides, and projects shared by the community.`,href:v}),(0,b.jsx)(D,{icon:(0,b.jsx)(S,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:`Follow on X`,description:`Product updates, releases, and behind-the-scenes.`,href:`https://x.com/vellum_ai`}),(0,b.jsx)(D,{icon:(0,b.jsx)(C,{size:20}),iconBg:`#ef4444`,title:`YouTube channel`,description:`Walkthroughs, tutorials, and product deep-dives.`,href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{O as CommunityPage};
1
+ import{t as e}from"./button-DWxxMNqc.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./card-q0GJX1HZ.js";import{t as r}from"./createLucideIcon-C1mdGPB9.js";import{r as i}from"./middleware-DiHdH8q1.js";import{t as a}from"./bug-Bbtz2Ob2.js";import{t as o}from"./external-link-oGdSxU8S.js";import{t as s}from"./globe-DN9GN4I5.js";import{t as c}from"./heart-Ccmw6M7x.js";import{t as l}from"./play-DngM8cG-.js";import{t as u}from"./sparkles-D4vo9pIw.js";import{c as d,i as f,l as p,n as m,u as h}from"./use-discord-nudge-eZQEh1UC.js";import{t as g}from"./users-CsTFUtqE.js";import{t as _}from"./tag-D1UeSlPe.js";import{t as v}from"./external-urls-DdNdyTc4.js";var y=r(`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`}]]),b=t();function x({size:e=24,className:t,style:n}){return(0,b.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,b.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 S({size:e=24,className:t,style:n}){return(0,b.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,b.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 C({size:e=24,className:t,style:n}){return(0,b.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,b.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 w(){return(0,b.jsx)(n,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.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,b.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,b.jsxs)(_,{tone:`neutral`,children:[(0,b.jsx)(l,{className:`h-3.5 w-3.5`}),`Community`]}),(0,b.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:`Build with us, in the open.`}),(0,b.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:`Vellum is built in the open with a growing community of developers, designers, and tinkerers. Here's how to get involved.`})]})]})})}function T({icon:e,text:t}){return(0,b.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,b.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,b.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function E({accentColor:t,iconColor:r=`var(--aux-white)`,label:a,icon:o,title:s,subtitle:c,benefits:l,primaryAction:u,secondaryAction:d}){return(0,b.jsx)(n,{padding:`lg`,className:`flex-1`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:o}),(0,b.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:a})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:s}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:c})]}),(0,b.jsx)(`ul`,{className:`flex flex-col gap-3`,children:l.map(({icon:e,text:t})=>(0,b.jsx)(T,{icon:e,text:t},t))}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(e,{onClick:u.onClick,children:[u.icon,u.label]}),d&&(0,b.jsxs)(e,{variant:`ghost`,onClick:()=>window.open(d.href,`_blank`,`noopener,noreferrer`),children:[d.label,(0,b.jsx)(i,{className:`h-3.5 w-3.5`})]})]})]})})}function D({icon:e,iconBg:t,iconColor:r=`white`,title:i,description:a,href:s}){return(0,b.jsx)(`a`,{href:s,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,b.jsx)(n,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:e}),(0,b.jsx)(o,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]})]})})})}function O(){let{handleStar:e}=d();return(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(w,{}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,b.jsx)(E,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:`Open Source`,icon:(0,b.jsx)(x,{size:20}),title:`Vellum is open source`,subtitle:`Read the source, star the repo, and contribute fixes and features on GitHub.`,benefits:[{icon:h,text:`Star the repo to follow updates`},{icon:a,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(h,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:f}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(p,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:c,text:`Talk directly with the team`},{icon:u,text:`Share feedback and request features`},{icon:g,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(p,{size:16,style:{color:`currentColor`}}),onClick:m}})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:`More from Vellum`}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,b.jsx)(D,{icon:(0,b.jsx)(s,{size:20}),iconBg:`#22c55e`,title:`Community Hub`,description:`Showcases, guides, and projects shared by the community.`,href:v}),(0,b.jsx)(D,{icon:(0,b.jsx)(S,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:`Follow on X`,description:`Product updates, releases, and behind-the-scenes.`,href:`https://x.com/vellum_ai`}),(0,b.jsx)(D,{icon:(0,b.jsx)(C,{size:20}),iconBg:`#ef4444`,title:`YouTube channel`,description:`Walkthroughs, tutorials, and product deep-dives.`,href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{O as CommunityPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,r as n,s as r,t as i}from"./local-settings-Bx7FsNo5.js";import{s as a}from"./device-settings-CUIsZfaf.js";import{t as o}from"./react-BFJW0bSv.js";import{t as s}from"./button-DWxxMNqc.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./createLucideIcon-C1mdGPB9.js";import"./src-CqJTlX1y.js";import{t as u}from"./checkbox-DD4D_SRI.js";import{t as d}from"./triangle-alert-CuEUegtS.js";import{t as f}from"./notice-DrCduoXJ.js";import{t as p}from"./modal-UqO42jBg.js";import{i as m,t as h}from"./api-D4Wq3tEJ.js";import{t as g}from"./client-feature-flag-store-DcNe2lt_.js";import{a as _,i as v}from"./typed-storage-F5BFQH9m.js";import{n as y,r as b,t as x}from"./theme-preferences-BV8pm97v.js";import{t as S}from"./use-bus-subscription-BpN_ExxB.js";import{o as C}from"./funnel-events-Xu4h-ISW.js";var w=l(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),ee=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]);function te(){return g.use.stringFlags().proactiveTips??`off`}function ne(e){return e===`on`}function T(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function E(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&T(t.dismissedAt)&&T(t.lastShownAt)}function D(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))E(r)&&(n[e]=r);return n}function O(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var k=v({key:`device:tips:records`,scope:`device`,parse:D,serialize:JSON.stringify,fallback:{}}),re=v({key:`device:tips:enabled`,scope:`device`,parse:_,serialize:String,fallback:!0}),A=v({key:`device:tips:first_seen_at`,scope:`device`,parse:O,serialize:String,fallback:0});function ie(){A.load()===0&&A.save(Date.now())}function ae(e,t){let n=k.load(),r=n[e];k.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function oe(e,t){let n=k.load(),r=n[e];k.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var se=`proactive-tips-v1`,ce={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function le(e,t,n){C({stepName:t,stepIndex:ce[t]},{funnelVersion:se,screen:e,variant:n})}var j=e(o(),1);function M(){let e=g.use.velvet(),[t,n]=(0,j.useState)(()=>y({velvetEnabled:e}));return(0,j.useEffect)(()=>{n(y({velvetEnabled:e}))},[e]),(0,j.useEffect)(()=>a(`theme`,()=>{n(y({velvetEnabled:e}))}),[e]),(0,j.useEffect)(()=>{x(t)},[t]),{theme:t,setThemePreference:e=>{n(e),b(e)}}}var N=6e4;function P(e){return!!(e?.enabled&&e.effectivelyLocked)}function F(e){return P(e)?e.acknowledged&&!e.overrideActive:!1}function I(e){return!!(e&&P(e)&&!e.acknowledged&&!e.overrideActive)}function L(e){return!!(e?.enabled&&e.state===`warning`)}function R(e){return I(e)?`acknowledgement-required`:F(e)?`cleanup`:L(e)?`warning`:`inactive`}function z({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:I(n)?`acknowledgement-required`:null}function B(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function V(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function H(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var U={assistantId:null,status:null,hasResolvedStatus:!1};function W(e,t){return e instanceof Error?e:Error(t)}function ue({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=N}){let[i,a]=(0,j.useState)(U),[o,s]=(0,j.useState)(!1),[c,l]=(0,j.useState)(null),u=(0,j.useRef)(e),d=(0,j.useRef)(t),f=(0,j.useRef)(0),p=(0,j.useRef)(0);(0,j.useLayoutEffect)(()=>{u.current=e,d.current=t}),(0,j.useEffect)(()=>{f.current+=1,a(U),l(null),s(!1)},[e,t]);let g=(0,j.useCallback)((e,t)=>d.current&&u.current===e&&f.current===t,[]),_=(0,j.useCallback)((e,t,n,r)=>{g(e,r)&&a(r=>r.assistantId===e&&r.hasResolvedStatus===n&&V(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[g]),v=(0,j.useCallback)(()=>{f.current+=1,a(U)},[]),y=(0,j.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current,i=p.current+1;p.current=i;try{let e=await m(n);if(p.current!==i)return;if(!e.ok){_(n,null,!1,r);return}_(n,e.data.status,!0,r)}catch{if(p.current!==i)return;_(n,null,!1,r)}},[e,_,v,t]);(0,j.useEffect)(()=>{if(!t||!e)return;y();let n=window.setInterval(()=>{y()},r);return()=>{window.clearInterval(n)}},[e,r,t,y,n]),S(`app.resume`,()=>{y()});let b=(0,j.useCallback)(n=>{if(!t||!e){v();return}let r=f.current+1;f.current=r,s(!1),l(null),_(e,n,!0,r)},[e,_,v,t]);S(`sse.event`,e=>{let t=e.message;t.type===`disk_pressure_status_changed`&&b(t.status)});let x=(0,j.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current+1;f.current=r,s(!0),l(null);try{let e=await h(n);if(!e.ok)throw Error(`Failed to acknowledge assistant disk pressure.`);if(!g(n,r))return;let t=f.current+1;f.current=t,_(n,e.data.status,!0,t),s(!1)}catch(e){g(n,r)&&l(W(e,`Failed to acknowledge assistant disk pressure.`))}finally{g(n,r)&&s(!1)}},[e,_,v,t,g]),C=t&&i.assistantId===e?i.status:null,w=!!(t&&e&&i.assistantId===e&&i.hasResolvedStatus);return{status:C,mode:(0,j.useMemo)(()=>R(C),[C]),hasResolvedStatus:w,isAcknowledging:o,acknowledgeError:c,acknowledge:x,applyStatusEvent:b,refresh:y}}var G=c();function de(e){let{status:t,mode:n,isAcknowledging:r=!1,acknowledgeError:i,onAcknowledge:a,onDismissWarning:o,onReviewWorkspaceData:c,onUpgradeStorage:l}=e,[m,h]=(0,j.useState)(!1),[g,_]=(0,j.useState)(!1),v=H(t);if(n===`warning`){let e=t.usagePercent??0;return(0,G.jsx)(f,{tone:`warning`,title:`Your storage is almost full`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:o?()=>o(g):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:l?`Free up space or add more storage to avoid interruptions.`:`Free up space to avoid interruptions.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[c&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`}),o?(0,G.jsx)(u,{className:`ml-auto`,checked:g,onCheckedChange:e=>_(e===!0),label:`Don't show again`,"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,G.jsx)(f,{tone:`warning`,title:`Cleanup mode is active`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Prompt your assistant to free up space before it runs out and enters a locked state.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`})]})]})})}let y=t.usagePercent??0;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{tone:`error`,title:`Storage is critically low`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${y}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Your assistant will enter a locked state if it runs out of storage.`}),i?(0,G.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:i}):null,(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,G.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>h(!0),children:`Review`})})]})}),(0,G.jsx)(p.Root,{open:m,onOpenChange:e=>{e||h(!1)},children:(0,G.jsxs)(p.Content,{size:`sm`,children:[(0,G.jsx)(p.Header,{children:(0,G.jsx)(p.Title,{icon:d,children:`Storage is critically low`})}),(0,G.jsx)(p.Body,{children:(0,G.jsx)(p.Description,{children:`Your assistant will enter a locked state if it runs out of storage. You should either prompt your assistant to free up space or increase your storage.`})}),(0,G.jsxs)(p.Footer,{children:[l&&(0,G.jsx)(s,{variant:`outlined`,onClick:()=>{h(!1),l()},children:`Upgrade`}),(0,G.jsx)(s,{variant:`primary`,disabled:r,onClick:()=>{a(),h(!1)},children:r?`Acknowledging...`:`Acknowledge`})]})]})})]})}var fe=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`,K=`ai.vellum.assistant`,pe=`https://play.google.com/store/apps/details?id=${K}`,q={ios:{downloaded:`app.iosNudge.downloaded`,bannerDismissed:`app.iosNudge.bannerDismissed`,assistantTurnsSeen:`app.iosNudge.assistantTurnsSeen`},android:{downloaded:`app.androidNudge.downloaded`,bannerDismissed:`app.androidNudge.bannerDismissed`,assistantTurnsSeen:`app.androidNudge.assistantTurnsSeen`}};function me(){let e=(void 0)?.trim();if(!e)return null;try{let t=new URL(e);return t.protocol===`https:`&&t.hostname===`play.google.com`&&t.pathname===`/store/apps/details`&&t.searchParams.get(`id`)===K?pe:null}catch(e){if(e instanceof TypeError)return null;throw e}}function J(e){return e===`ios`?`iOS`:`Android`}function Y(e){if(e===`ios`)return{platform:e,appName:J(e),storeUrl:fe};let t=me();return t?{platform:e,appName:J(e),storeUrl:t}:null}function he(e){return i(q[e].downloaded,!1)}function X(e){r(q[e].downloaded,!0)}function ge(e){return i(q[e].bannerDismissed,!1)}function _e(e){r(q[e].bannerDismissed,!0)}function Z(e){return Math.max(0,n(q[e].assistantTurnsSeen,0))}function Q(e,n=1){n<=0||t(q[e].assistantTurnsSeen,Z(e)+n)}function $(e){let t=Y(e);return t?(window.open(t.storeUrl,`_blank`,`noopener,noreferrer`),!0):!1}function ve(e){let[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(!1),a=Y(e)!==null;(0,j.useEffect)(()=>{n(he(e)),i(ge(e))},[e]);let o=(0,j.useCallback)(()=>{$(e)&&(X(e),n(!0))},[e]),s=(0,j.useCallback)(()=>{_e(e),i(!0)},[e]);return{bannerShouldShow:a&&!t&&!r,handleDownload:o,handleBannerDismiss:s}}var ye=v({key:`device:cmd_enter_to_send`,scope:`device`,parse:_,serialize:String,fallback:!1}),be=v({key:`device:show_context_window_indicator`,scope:`device`,parse:_,serialize:String,fallback:!1});export{te as C,ne as S,w as T,oe as _,Q as a,re as b,ve as c,ue as d,B as f,ie as g,le as h,Y as i,X as l,M as m,be as n,$ as o,z as p,J as r,Z as s,ye as t,de as u,ae as v,ee as w,A as x,k as y};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,r as n,s as r,t as i}from"./local-settings-Bx7FsNo5.js";import{s as a}from"./device-settings-CUIsZfaf.js";import{t as o}from"./react-BFJW0bSv.js";import{t as s}from"./button-DWxxMNqc.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./createLucideIcon-C1mdGPB9.js";import"./src-CqJTlX1y.js";import{t as u}from"./checkbox-DD4D_SRI.js";import{t as d}from"./triangle-alert-CuEUegtS.js";import{t as f}from"./notice-DrCduoXJ.js";import{t as p}from"./modal-UqO42jBg.js";import{i as m,t as h}from"./api-B02rrru9.js";import{t as g}from"./client-feature-flag-store-DujD6DL8.js";import{a as _,i as v}from"./typed-storage-F5BFQH9m.js";import{n as y,r as b,t as x}from"./theme-preferences-D7_-kTyl.js";import{t as S}from"./use-bus-subscription-B-nzwF5c.js";import{o as C}from"./funnel-events-Cqx7t1f1.js";var w=l(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),ee=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]);function te(){return g.use.stringFlags().proactiveTips??`off`}function ne(e){return e===`on`}function T(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function E(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&T(t.dismissedAt)&&T(t.lastShownAt)}function D(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))E(r)&&(n[e]=r);return n}function O(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var k=v({key:`device:tips:records`,scope:`device`,parse:D,serialize:JSON.stringify,fallback:{}}),re=v({key:`device:tips:enabled`,scope:`device`,parse:_,serialize:String,fallback:!0}),A=v({key:`device:tips:first_seen_at`,scope:`device`,parse:O,serialize:String,fallback:0});function ie(){A.load()===0&&A.save(Date.now())}function ae(e,t){let n=k.load(),r=n[e];k.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function oe(e,t){let n=k.load(),r=n[e];k.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var se=`proactive-tips-v1`,ce={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function le(e,t,n){C({stepName:t,stepIndex:ce[t]},{funnelVersion:se,screen:e,variant:n})}var j=e(o(),1);function M(){let e=g.use.velvet(),[t,n]=(0,j.useState)(()=>y({velvetEnabled:e}));return(0,j.useEffect)(()=>{n(y({velvetEnabled:e}))},[e]),(0,j.useEffect)(()=>a(`theme`,()=>{n(y({velvetEnabled:e}))}),[e]),(0,j.useEffect)(()=>{x(t)},[t]),{theme:t,setThemePreference:e=>{n(e),b(e)}}}var N=6e4;function P(e){return!!(e?.enabled&&e.effectivelyLocked)}function F(e){return P(e)?e.acknowledged&&!e.overrideActive:!1}function I(e){return!!(e&&P(e)&&!e.acknowledged&&!e.overrideActive)}function L(e){return!!(e?.enabled&&e.state===`warning`)}function R(e){return I(e)?`acknowledgement-required`:F(e)?`cleanup`:L(e)?`warning`:`inactive`}function z({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:I(n)?`acknowledgement-required`:null}function B(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function V(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function H(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var U={assistantId:null,status:null,hasResolvedStatus:!1};function W(e,t){return e instanceof Error?e:Error(t)}function ue({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=N}){let[i,a]=(0,j.useState)(U),[o,s]=(0,j.useState)(!1),[c,l]=(0,j.useState)(null),u=(0,j.useRef)(e),d=(0,j.useRef)(t),f=(0,j.useRef)(0),p=(0,j.useRef)(0);(0,j.useLayoutEffect)(()=>{u.current=e,d.current=t}),(0,j.useEffect)(()=>{f.current+=1,a(U),l(null),s(!1)},[e,t]);let g=(0,j.useCallback)((e,t)=>d.current&&u.current===e&&f.current===t,[]),_=(0,j.useCallback)((e,t,n,r)=>{g(e,r)&&a(r=>r.assistantId===e&&r.hasResolvedStatus===n&&V(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[g]),v=(0,j.useCallback)(()=>{f.current+=1,a(U)},[]),y=(0,j.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current,i=p.current+1;p.current=i;try{let e=await m(n);if(p.current!==i)return;if(!e.ok){_(n,null,!1,r);return}_(n,e.data.status,!0,r)}catch{if(p.current!==i)return;_(n,null,!1,r)}},[e,_,v,t]);(0,j.useEffect)(()=>{if(!t||!e)return;y();let n=window.setInterval(()=>{y()},r);return()=>{window.clearInterval(n)}},[e,r,t,y,n]),S(`app.resume`,()=>{y()});let b=(0,j.useCallback)(n=>{if(!t||!e){v();return}let r=f.current+1;f.current=r,s(!1),l(null),_(e,n,!0,r)},[e,_,v,t]);S(`sse.event`,e=>{let t=e.message;t.type===`disk_pressure_status_changed`&&b(t.status)});let x=(0,j.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current+1;f.current=r,s(!0),l(null);try{let e=await h(n);if(!e.ok)throw Error(`Failed to acknowledge assistant disk pressure.`);if(!g(n,r))return;let t=f.current+1;f.current=t,_(n,e.data.status,!0,t),s(!1)}catch(e){g(n,r)&&l(W(e,`Failed to acknowledge assistant disk pressure.`))}finally{g(n,r)&&s(!1)}},[e,_,v,t,g]),C=t&&i.assistantId===e?i.status:null,w=!!(t&&e&&i.assistantId===e&&i.hasResolvedStatus);return{status:C,mode:(0,j.useMemo)(()=>R(C),[C]),hasResolvedStatus:w,isAcknowledging:o,acknowledgeError:c,acknowledge:x,applyStatusEvent:b,refresh:y}}var G=c();function de(e){let{status:t,mode:n,isAcknowledging:r=!1,acknowledgeError:i,onAcknowledge:a,onDismissWarning:o,onReviewWorkspaceData:c,onUpgradeStorage:l}=e,[m,h]=(0,j.useState)(!1),[g,_]=(0,j.useState)(!1),v=H(t);if(n===`warning`){let e=t.usagePercent??0;return(0,G.jsx)(f,{tone:`warning`,title:`Your storage is almost full`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:o?()=>o(g):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:l?`Free up space or add more storage to avoid interruptions.`:`Free up space to avoid interruptions.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[c&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`}),o?(0,G.jsx)(u,{className:`ml-auto`,checked:g,onCheckedChange:e=>_(e===!0),label:`Don't show again`,"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,G.jsx)(f,{tone:`warning`,title:`Cleanup mode is active`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Prompt your assistant to free up space before it runs out and enters a locked state.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,G.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`})]})]})})}let y=t.usagePercent??0;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{tone:`error`,title:`Storage is critically low`,icon:(0,G.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${y}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Your assistant will enter a locked state if it runs out of storage.`}),i?(0,G.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:i}):null,(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,G.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>h(!0),children:`Review`})})]})}),(0,G.jsx)(p.Root,{open:m,onOpenChange:e=>{e||h(!1)},children:(0,G.jsxs)(p.Content,{size:`sm`,children:[(0,G.jsx)(p.Header,{children:(0,G.jsx)(p.Title,{icon:d,children:`Storage is critically low`})}),(0,G.jsx)(p.Body,{children:(0,G.jsx)(p.Description,{children:`Your assistant will enter a locked state if it runs out of storage. You should either prompt your assistant to free up space or increase your storage.`})}),(0,G.jsxs)(p.Footer,{children:[l&&(0,G.jsx)(s,{variant:`outlined`,onClick:()=>{h(!1),l()},children:`Upgrade`}),(0,G.jsx)(s,{variant:`primary`,disabled:r,onClick:()=>{a(),h(!1)},children:r?`Acknowledging...`:`Acknowledge`})]})]})})]})}var fe=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`,K=`ai.vellum.assistant`,pe=`https://play.google.com/store/apps/details?id=${K}`,q={ios:{downloaded:`app.iosNudge.downloaded`,bannerDismissed:`app.iosNudge.bannerDismissed`,assistantTurnsSeen:`app.iosNudge.assistantTurnsSeen`},android:{downloaded:`app.androidNudge.downloaded`,bannerDismissed:`app.androidNudge.bannerDismissed`,assistantTurnsSeen:`app.androidNudge.assistantTurnsSeen`}};function me(){let e=(void 0)?.trim();if(!e)return null;try{let t=new URL(e);return t.protocol===`https:`&&t.hostname===`play.google.com`&&t.pathname===`/store/apps/details`&&t.searchParams.get(`id`)===K?pe:null}catch(e){if(e instanceof TypeError)return null;throw e}}function J(e){return e===`ios`?`iOS`:`Android`}function Y(e){if(e===`ios`)return{platform:e,appName:J(e),storeUrl:fe};let t=me();return t?{platform:e,appName:J(e),storeUrl:t}:null}function he(e){return i(q[e].downloaded,!1)}function X(e){r(q[e].downloaded,!0)}function ge(e){return i(q[e].bannerDismissed,!1)}function _e(e){r(q[e].bannerDismissed,!0)}function Z(e){return Math.max(0,n(q[e].assistantTurnsSeen,0))}function Q(e,n=1){n<=0||t(q[e].assistantTurnsSeen,Z(e)+n)}function $(e){let t=Y(e);return t?(window.open(t.storeUrl,`_blank`,`noopener,noreferrer`),!0):!1}function ve(e){let[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(!1),a=Y(e)!==null;(0,j.useEffect)(()=>{n(he(e)),i(ge(e))},[e]);let o=(0,j.useCallback)(()=>{$(e)&&(X(e),n(!0))},[e]),s=(0,j.useCallback)(()=>{_e(e),i(!0)},[e]);return{bannerShouldShow:a&&!t&&!r,handleDownload:o,handleBannerDismiss:s}}var ye=v({key:`device:cmd_enter_to_send`,scope:`device`,parse:_,serialize:String,fallback:!1}),be=v({key:`device:show_context_window_indicator`,scope:`device`,parse:_,serialize:String,fallback:!1});export{te as C,ne as S,w as T,oe as _,Q as a,re as b,ve as c,ue as d,B as f,ie as g,le as h,Y as i,X as l,M as m,be as n,$ as o,z as p,J as r,Z as s,ye as t,de as u,ae as v,ee as w,A as x,k as y};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DWxxMNqc.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./card-q0GJX1HZ.js";import{t as u}from"./link-2-DeNtOuO4.js";import{t as d}from"./loader-circle-D7A_UeUb.js";import{t as f}from"./triangle-alert-CuEUegtS.js";import{n as p}from"./toast-DFRsyumK.js";import{d as m}from"./routes-gT_HcUb1.js";import{t as h}from"./use-active-assistant-id-BF7k_8wM.js";import{n as g}from"./a2a-invite-Cx2okV6a.js";import{r as _}from"./contacts-gateway-EHsHomBl.js";var v=e(t(),1),y=s();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e,t){switch(e){case`expired`:case`not_found`:return`This invite link has expired or already been used.`;case`already_redeemed_by_other`:return`This invite has already been claimed by someone else.`;case`sender_not_found`:return`The sender's assistant could not be found.`;case`not_platform_managed`:return`A2A invite links are only supported for platform-hosted assistants.`;default:return t||`Something went wrong. Please try again.`}}function S(){return(0,y.jsx)(C,{assistantId:h()})}function C({assistantId:e}){let t=i(),s=a(),[h]=r(),S=(0,v.useMemo)(()=>g(h),[h]),C=o({mutationFn:()=>{if(!S)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:S.senderAssistantId,token:S.token})},onSuccess:e=>{e.success&&(s.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?p(`Already connected`):p(`Connected!`),t(m.contacts.root))}}),w=(0,v.useCallback)(()=>{t(m.contacts.root)},[t]),T=(0,v.useCallback)(()=>{C.mutate()},[C]),E=(0,v.useMemo)(()=>C.isError?C.error instanceof Error?C.error.message:`Something went wrong. Please try again.`:C.data&&!C.data.success?x(C.data.errorCode,C.data.error):null,[C.isError,C.error,C.data]);return S?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Connect assistants`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Accepting this link will create a trusted A2A connection between your assistant and the sender's.`}),E&&(0,y.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,y.jsx)(f,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(c,{variant:`body-small-default`,children:E})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(n,{variant:`primary`,onClick:T,disabled:C.isPending,children:C.isPending?(0,y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):`Connect`}),(0,y.jsx)(n,{variant:`outlined`,onClick:w,disabled:C.isPending,children:`Cancel`})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(f,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Invalid invite link`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`The link you followed is missing required parameters and cannot be used.`}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(n,{variant:`primary`,onClick:w,children:`Go to Contacts`})})]})})})}export{S as ConnectPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DWxxMNqc.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./card-q0GJX1HZ.js";import{t as u}from"./link-2-DeNtOuO4.js";import{t as d}from"./loader-circle-D7A_UeUb.js";import{t as f}from"./triangle-alert-CuEUegtS.js";import{n as p}from"./toast-DFRsyumK.js";import{d as m}from"./routes-gT_HcUb1.js";import{t as h}from"./use-active-assistant-id-Ga7QpWoG.js";import{n as g}from"./a2a-invite-Bm584O1Q.js";import{r as _}from"./contacts-gateway-Dml5USpK.js";var v=e(t(),1),y=s();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e,t){switch(e){case`expired`:case`not_found`:return`This invite link has expired or already been used.`;case`already_redeemed_by_other`:return`This invite has already been claimed by someone else.`;case`sender_not_found`:return`The sender's assistant could not be found.`;case`not_platform_managed`:return`A2A invite links are only supported for platform-hosted assistants.`;default:return t||`Something went wrong. Please try again.`}}function S(){return(0,y.jsx)(C,{assistantId:h()})}function C({assistantId:e}){let t=i(),s=a(),[h]=r(),S=(0,v.useMemo)(()=>g(h),[h]),C=o({mutationFn:()=>{if(!S)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:S.senderAssistantId,token:S.token})},onSuccess:e=>{e.success&&(s.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?p(`Already connected`):p(`Connected!`),t(m.contacts.root))}}),w=(0,v.useCallback)(()=>{t(m.contacts.root)},[t]),T=(0,v.useCallback)(()=>{C.mutate()},[C]),E=(0,v.useMemo)(()=>C.isError?C.error instanceof Error?C.error.message:`Something went wrong. Please try again.`:C.data&&!C.data.success?x(C.data.errorCode,C.data.error):null,[C.isError,C.error,C.data]);return S?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Connect assistants`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Accepting this link will create a trusted A2A connection between your assistant and the sender's.`}),E&&(0,y.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,y.jsx)(f,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(c,{variant:`body-small-default`,children:E})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(n,{variant:`primary`,onClick:T,disabled:C.isPending,children:C.isPending?(0,y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):`Connect`}),(0,y.jsx)(n,{variant:`outlined`,onClick:w,disabled:C.isPending,children:`Cancel`})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(f,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Invalid invite link`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`The link you followed is missing required parameters and cannot be used.`}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(n,{variant:`primary`,onClick:w,children:`Go to Contacts`})})]})})})}export{S as ConnectPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./card-q0GJX1HZ.js";import{t as n}from"./checkbox-DD4D_SRI.js";import{d as r,u as i}from"./routes-gT_HcUb1.js";import{t as a}from"./setting-row-zsrcjZm0.js";var o=e(),s=[`[&_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(` `),c=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,l={privacy:{href:r.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:r.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function u({kind:e,checked:t,onChange:r}){let a=l[e];return(0,o.jsx)(n,{checked:t,onCheckedChange:e=>r(e===!0),label:(0,o.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,o.jsx)(`a`,{href:i(a.href),target:`_blank`,rel:`noreferrer`,className:`underline`,children:a.text})]}),"aria-label":a.aria,className:s})}function d(){return(0,o.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function f({notes:e}){return!e||e.length===0?null:(0,o.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,o.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:`What's changed`}),e.length===1?(0,o.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,o.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,o.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,o.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,o.jsx)(`span`,{children:e})]},e))})]})}function p({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:s,onShareAnalyticsChange:l,onShareDiagnosticsChange:u,className:f,style:p}){return(0,o.jsxs)(`section`,{className:f,style:p,children:[(0,o.jsx)(`p`,{className:c,children:`Privacy preferences`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,o.jsx)(a,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:i,onChange:l}),n&&r&&(0,o.jsx)(d,{}),r&&(0,o.jsx)(a,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:s,onChange:u})]})})]})}function m({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:s,onTosChange:l,privacyNotes:d,tosNotes:p,className:m,style:h}){return(0,o.jsxs)(`section`,{className:m,style:h,children:[(0,o.jsx)(`p`,{className:c,children:`Agreements`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:d}),(0,o.jsx)(u,{kind:`privacy`,checked:i,onChange:s})]}),r&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:p}),(0,o.jsx)(u,{kind:`tos`,checked:a,onChange:l})]})]})})]})}export{p as n,m as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./card-q0GJX1HZ.js";import{t as n}from"./checkbox-DD4D_SRI.js";import{d as r,u as i}from"./routes-gT_HcUb1.js";import{t as a}from"./setting-row-Dgoez0aa.js";var o=e(),s=[`[&_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(` `),c=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,l={privacy:{href:r.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:r.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function u({kind:e,checked:t,onChange:r}){let a=l[e];return(0,o.jsx)(n,{checked:t,onCheckedChange:e=>r(e===!0),label:(0,o.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,o.jsx)(`a`,{href:i(a.href),target:`_blank`,rel:`noreferrer`,className:`underline`,children:a.text})]}),"aria-label":a.aria,className:s})}function d(){return(0,o.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function f({notes:e}){return!e||e.length===0?null:(0,o.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,o.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:`What's changed`}),e.length===1?(0,o.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,o.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,o.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,o.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,o.jsx)(`span`,{children:e})]},e))})]})}function p({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:s,onShareAnalyticsChange:l,onShareDiagnosticsChange:u,className:f,style:p}){return(0,o.jsxs)(`section`,{className:f,style:p,children:[(0,o.jsx)(`p`,{className:c,children:`Privacy preferences`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,o.jsx)(a,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:i,onChange:l}),n&&r&&(0,o.jsx)(d,{}),r&&(0,o.jsx)(a,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:s,onChange:u})]})})]})}function m({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:s,onTosChange:l,privacyNotes:d,tosNotes:p,className:m,style:h}){return(0,o.jsxs)(`section`,{className:m,style:h,children:[(0,o.jsx)(`p`,{className:c,children:`Agreements`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:d}),(0,o.jsx)(u,{kind:`privacy`,checked:i,onChange:s})]}),r&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:p}),(0,o.jsx)(u,{kind:`tos`,checked:a,onChange:l})]})]})})]})}export{p as n,m as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./onboarding-store-BllETOYg.js";function t(){let{shareAnalytics:t,serverAnalyticsEffective:n,pendingAnalyticsOptIn:r}=e.getState();return t===!1?!1:r?!0:n??!0}export{t};
@@ -1 +1 @@
1
- import{i as e,n as t,t as n}from"./api-errors-BmlR1gU1.js";import{t as r}from"./client.gen-D6PnLgNE.js";import{c as i,s as a,u as o}from"./sdk.gen-CY1afY_n.js";async function s(r,i){let{data:a,error:s,response:c}=await o({path:{assistant_id:r},body:i,throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new n(c.status,e(s,c,`Failed to save contact`));return a.contact}async function c(r,a){let{error:o,response:s}=await i({path:{assistant_id:r,contact_id:a},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,e(o,s,`Failed to delete contact`))}async function l(r,i){let{error:o,response:s}=await a({path:{assistant_id:r,channel_id:i},throwOnError:!1});if(t(s,o,`Failed to verify channel`),!s.ok)throw new n(s.status,e(o,s,`Failed to verify channel`))}async function u(e,t,r){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new n(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new n(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(i,a){let{data:o,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:i},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,e(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{i as e,n as t,t as n}from"./api-errors-BmlR1gU1.js";import{t as r}from"./client.gen-D6PnLgNE.js";import{c as i,s as a,u as o}from"./sdk.gen-DGleJJuY.js";async function s(r,i){let{data:a,error:s,response:c}=await o({path:{assistant_id:r},body:i,throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new n(c.status,e(s,c,`Failed to save contact`));return a.contact}async function c(r,a){let{error:o,response:s}=await i({path:{assistant_id:r,contact_id:a},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,e(o,s,`Failed to delete contact`))}async function l(r,i){let{error:o,response:s}=await a({path:{assistant_id:r,channel_id:i},throwOnError:!1});if(t(s,o,`Failed to verify channel`),!s.ok)throw new n(s.status,e(o,s,`Failed to verify channel`))}async function u(e,t,r){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new n(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new n(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(i,a){let{data:o,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:i},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,e(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};