@vellumai/web 0.10.8 → 0.10.9-dev.202607152124.584d617

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 (432) hide show
  1. package/dist/assets/{AnimatePresence-s1Z1HHWx.js → AnimatePresence-TZWSGjkI.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-C6bP7QB3.js → BundleConfirmPage-DgcqY17E.js} +1 -1
  3. package/dist/assets/{Combination-Cd_aWAsj.js → Combination-BJXmG5wD.js} +1 -1
  4. package/dist/assets/{a2a-invite-B9cylfIO.js → a2a-invite-D6BlTVdg.js} +1 -1
  5. package/dist/assets/{about-page-XGv9RAQu.js → about-page-BXF1KCN9.js} +1 -1
  6. package/dist/assets/account-page-ChWZxENJ.js +1 -0
  7. package/dist/assets/{account-shell-CdhP9l8T.js → account-shell-BwgE_OG4.js} +1 -1
  8. package/dist/assets/{acp-run-detail-panel-B1-zyOUe.js → acp-run-detail-panel-DeRzfMVO.js} +4 -4
  9. package/dist/assets/activity-steps-panel-DJOtL2fE.js +1 -0
  10. package/dist/assets/{add-credits-modal-PP1PX8Qv.js → add-credits-modal-aH7r16HB.js} +1 -1
  11. package/dist/assets/advanced-page-Ds2YB0cu.js +4 -0
  12. package/dist/assets/ai-page-3OYJK3Ko.js +1 -0
  13. package/dist/assets/animated-avatar-TpoBMWI-.js +1 -0
  14. package/dist/assets/{api-_7pKLlYA.js → api-BsCfy4XV.js} +1 -1
  15. package/dist/assets/{api-BsQZ81K5.js → api-Dj9Z-j-6.js} +1 -1
  16. package/dist/assets/{api-key-screen-DTSP_-Da.js → api-key-screen-C71s1VQp.js} +1 -1
  17. package/dist/assets/app-types-CTJGOi24.js +1 -0
  18. package/dist/assets/archive-redirect-page-DB3ULZhs.js +1 -0
  19. package/dist/assets/arrow-left-C2re-gYj.js +1 -0
  20. package/dist/assets/{assistant-feature-flag-store-DA8Oj9Mf.js → assistant-feature-flag-store-xCO0XexH.js} +1 -1
  21. package/dist/assets/assistant-identity-store-Bc4hbSCe.js +1 -0
  22. package/dist/assets/assistant-status-panel-BDnovwx0.js +1 -0
  23. package/dist/assets/auth-store-D3dDj0_K.js +2 -0
  24. package/dist/assets/background-task-detail-panel-BAIv9Cdn.js +1 -0
  25. package/dist/assets/ban-Ih5bAOHZ.js +1 -0
  26. package/dist/assets/{bell-BQLonLMp.js → bell-BbESwsZk.js} +1 -1
  27. package/dist/assets/billing-page-DIYB99ZX.js +3 -0
  28. package/dist/assets/{bookmark-CNrithFf.js → bookmark-Dzconbsv.js} +1 -1
  29. package/dist/assets/{bookmarks-page-CjcavZv8.js → bookmarks-page-X6_iY9Er.js} +1 -1
  30. package/dist/assets/{brain-BLDXGaUy.js → brain-CMiHVWFK.js} +1 -1
  31. package/dist/assets/browser-Cpuuu7D3.js +2 -0
  32. package/dist/assets/{build-state-PUXrUU4W.js → build-state-CnZBv4ri.js} +1 -1
  33. package/dist/assets/button-BQVYX8n_.js +1 -0
  34. package/dist/assets/{calendar-h-mv1itX.js → calendar-CPociZmV.js} +1 -1
  35. package/dist/assets/card-D8zyWtZh.js +1 -0
  36. package/dist/assets/channels-page-route-BFfv0XG4.js +9 -0
  37. package/dist/assets/chat-CPqIbgZQ.js +1 -0
  38. package/dist/assets/chat-markdown-message-DBQ57T29.js +2 -0
  39. package/dist/assets/check-CkQjevXL.js +1 -0
  40. package/dist/assets/checkbox-B6CHx3mp.js +1 -0
  41. package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-DwIPfcCg.js} +1 -1
  42. package/dist/assets/chevron-left-mpHv5ahd.js +1 -0
  43. package/dist/assets/chevron-right-DDgSinGu.js +1 -0
  44. package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-B8xt61zY.js} +1 -1
  45. package/dist/assets/{chunk-5KNZJZUH-DdS6bb-3.js → chunk-5KNZJZUH-SU6Q_tDT.js} +1 -1
  46. package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-_RJjkRGu.js} +1 -1
  47. package/dist/assets/circle-check-DWe3QGcN.js +1 -0
  48. package/dist/assets/{client-feature-flag-store-DkJl-g9A.js → client-feature-flag-store-CXG75X45.js} +1 -1
  49. package/dist/assets/{client-identity-CadrtY_b.js → client-identity-CAZa_1yb.js} +1 -1
  50. package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-sWUyFbCT.js} +1 -1
  51. package/dist/assets/{cloud-off-Db1nySkc.js → cloud-off-Dw7xZNU9.js} +1 -1
  52. package/dist/assets/code-zJNgeRIE.js +1 -0
  53. package/dist/assets/{command-palette-6o4m7BM9.js → command-palette-DAZvarqX.js} +1 -1
  54. package/dist/assets/{command-palette-window-page-BsJlr5bh.js → command-palette-window-page-CGE7iejN.js} +1 -1
  55. package/dist/assets/community-page-BGGcRjdD.js +1 -0
  56. package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-0S-O513X.js} +1 -1
  57. package/dist/assets/{connect-page-DZgU3jCf.js → connect-page-BTaiEXwf.js} +1 -1
  58. package/dist/assets/consent-Bg13wifR.js +1 -0
  59. package/dist/assets/{consent-controls-Cnr1DzCr.js → consent-controls-BMIQr05K.js} +1 -1
  60. package/dist/assets/{contacts-gateway-CW5CipBv.js → contacts-gateway-DsqzGIxS.js} +1 -1
  61. package/dist/assets/contacts-page-route-BrcgBf5T.js +1 -0
  62. package/dist/assets/{conversation-list-fetchers-DS9vmqfD.js → conversation-list-fetchers-CQ_dcy46.js} +1 -1
  63. package/dist/assets/{cpu-BJuB2Khn.js → cpu-EkFnhbQ3.js} +1 -1
  64. package/dist/assets/{credential-entry-page-9H2HOu88.js → credential-entry-page-BVPSGmAu.js} +1 -1
  65. package/dist/assets/credentials-page-dotN1CcZ.js +1 -0
  66. package/dist/assets/{credit-card-BuyWdO9t.js → credit-card-B31Pzbpr.js} +1 -1
  67. package/dist/assets/danger-zone-redirect-page-dUGjeC2l.js +1 -0
  68. package/dist/assets/{deploy-dialogs-paL_zcvG.js → deploy-dialogs-BWIsw9cZ.js} +1 -1
  69. package/dist/assets/detail-card-D-y4TcVy.js +1 -0
  70. package/dist/assets/{detail-panel-stop-button-y7O3HqJj.js → detail-panel-stop-button-BeOjxmLx.js} +1 -1
  71. package/dist/assets/developer-page-L5U4jBYx.js +1 -0
  72. package/dist/assets/device-settings-BBwtGKJb.js +1 -0
  73. package/dist/assets/devices-redirect-page-BmWYp-tu.js +1 -0
  74. package/dist/assets/{diagnostics-COsnZMe5.js → diagnostics-7o9KNB_-.js} +1 -1
  75. package/dist/assets/{dictation-overlay-page-BkEBWrWm.js → dictation-overlay-page-500rUBA8.js} +1 -1
  76. package/dist/assets/{dist-CxHeCOEv.js → dist-Btg1osd6.js} +1 -1
  77. package/dist/assets/{dist-DqmYHxdg.js → dist-CxzJhU4a.js} +1 -1
  78. package/dist/assets/dist-Df9Kbc9v.js +1 -0
  79. package/dist/assets/{dist-HJ505Xnn.js → dist-URk13ITj.js} +1 -1
  80. package/dist/assets/document-viewer-page-BqOrO81e.js +1 -0
  81. package/dist/assets/{domain-field-C5a2iMot.js → domain-field-BHtsk64V.js} +1 -1
  82. package/dist/assets/{download-CAuK-nZ6.js → download-f_Ejoz-g.js} +1 -1
  83. package/dist/assets/dropdown-CuE5AuVj.js +1 -0
  84. package/dist/assets/edge-swipe-arbiter-store-CdpmheQU.js +1 -0
  85. package/dist/assets/effective-timezone-D6A5ISj1.js +1 -0
  86. package/dist/assets/{emails-page-7c9kVi_k.js → emails-page-Cmo3KUGu.js} +1 -1
  87. package/dist/assets/esm-BIBV_tQW.js +1 -0
  88. package/dist/assets/esm-BpVuRCaK.js +2 -0
  89. package/dist/assets/{esm-CT8NUp3h.js → esm-BtlRHesG.js} +2 -2
  90. package/dist/assets/esm-C0eM5us1.js +2 -0
  91. package/dist/assets/esm-Cjx6Josx.js +2 -0
  92. package/dist/assets/esm-_n61e_LE.js +2 -0
  93. package/dist/assets/esm-p7tDK3Q-.js +2 -0
  94. package/dist/assets/{external-link-Dqpx9nRm.js → external-link-uO0bZiVJ.js} +1 -1
  95. package/dist/assets/eye-nshRoUpm.js +1 -0
  96. package/dist/assets/eye-off-CG1f2Bnj.js +1 -0
  97. package/dist/assets/feature-flag-catalog-BkLG5Cht.js +1 -0
  98. package/dist/assets/{file-DsyJLS2u.js → file-CVpofSiM.js} +1 -1
  99. package/dist/assets/file-editor-3pKRcAMT.js +1 -0
  100. package/dist/assets/file-markdown-CxCN_Naz.js +2 -0
  101. package/dist/assets/{file-text-CYJz-GvF.js → file-text-Bk8A5Pzn.js} +1 -1
  102. package/dist/assets/folder-open-DbXidt0q.js +1 -0
  103. package/dist/assets/general-page-BhMVFYWA.js +1 -0
  104. package/dist/assets/{globe-4qSOWE2N.js → globe-DgKSh933.js} +1 -1
  105. package/dist/assets/haptics-DNNGE-Te.js +2 -0
  106. package/dist/assets/{hard-drive-rDxhoRUm.js → hard-drive-DVmyHlZR.js} +1 -1
  107. package/dist/assets/hatching-screen-DlYuKf90.js +1 -0
  108. package/dist/assets/home-page-route-C3dSfSQA.js +1 -0
  109. package/dist/assets/{hosting-screen-BZLZular.js → hosting-screen-CWIK8NJD.js} +1 -1
  110. package/dist/assets/identity-page-route-ByGyh7KV.js +7 -0
  111. package/dist/assets/index-BZVPYTjj.js +209 -0
  112. package/dist/assets/index-Bp6Atcow.css +2 -0
  113. package/dist/assets/{info-DsOyuMO9.js → info-CqgkBvyS.js} +1 -1
  114. package/dist/assets/ingest-C0SmJ-Zw.js +1 -0
  115. package/dist/assets/input-6HVXMszw.js +1 -0
  116. package/dist/assets/inspect-page-BkApg0Ye.js +9 -0
  117. package/dist/assets/integrations-page-CFeCGfhp.js +1 -0
  118. package/dist/assets/intelligence-layout-CadvtL42.js +1 -0
  119. package/dist/assets/{key-round-CD3JWrs1.js → key-round-CN4UKztQ.js} +1 -1
  120. package/dist/assets/keyboard-shortcuts-redirect-page-DtzLJIeO.js +1 -0
  121. package/dist/assets/latest-assistant-text-B12Sw3_u.js +24 -0
  122. package/dist/assets/library-detail-page-CIhAIDwk.js +1 -0
  123. package/dist/assets/library-page-DC4tyjw8.js +1 -0
  124. package/dist/assets/{link-2-4bMylQ5v.js → link-2-B9c5ZsFq.js} +1 -1
  125. package/dist/assets/list-row-BvLPXpTK.js +1 -0
  126. package/dist/assets/loader-circle-Ck8fq3yv.js +1 -0
  127. package/dist/assets/{local-mode-grqHUoNh.js → local-mode-Bskd5bsT.js} +1 -1
  128. package/dist/assets/{log-in--aqELu3z.js → log-in-khREn0DP.js} +1 -1
  129. package/dist/assets/{login-flow-B6q00uIW.js → login-flow-BV6myCbg.js} +1 -1
  130. package/dist/assets/login-page-AihwAnfC.js +1 -0
  131. package/dist/assets/{logout-page-BV0URcAd.js → logout-page-r-0LvcO6.js} +1 -1
  132. package/dist/assets/logs-layout-BRLi_qS-.js +1 -0
  133. package/dist/assets/memory-page-route-CB5I7RG9.js +1 -0
  134. package/dist/assets/{memory-router-playground-page-CQxX6mCn.js → memory-router-playground-page-BpPsu9YE.js} +1 -1
  135. package/dist/assets/menu-B672pBEP.js +1 -0
  136. package/dist/assets/{messages-Bl6a3LUN.js → messages-BQ1NfLEV.js} +2 -2
  137. package/dist/assets/{metric-card-DvXjHVCV.js → metric-card-rBMtfy-9.js} +1 -1
  138. package/dist/assets/mic-DEmgi4rh.js +1 -0
  139. package/dist/assets/{middleware-pbPQ0upo.js → middleware-DL-IveDQ.js} +1 -1
  140. package/dist/assets/{minimize-2-Clnet2W7.js → minimize-2-dsDfFPkN.js} +1 -1
  141. package/dist/assets/{misc-BYQPh7vS.js → misc-CS-Pktrv.js} +1 -1
  142. package/dist/assets/mobile-sidebar-drawer-BilS4-Bl.js +1 -0
  143. package/dist/assets/modal-bIQsMU63.js +1 -0
  144. package/dist/assets/{monitor-DfbL8_59.js → monitor-BFX2ySFb.js} +1 -1
  145. package/dist/assets/{moon-B8qiwjrW.js → moon-h3xmz34k.js} +1 -1
  146. package/dist/assets/mutation-error-BHT0MqVm.js +1 -0
  147. package/dist/assets/native-biometric-BogIGQG_.js +6 -0
  148. package/dist/assets/{native-file-DI99Emal.js → native-file-C6oXU5FE.js} +2 -2
  149. package/dist/assets/notice-BPud7_bD.js +1 -0
  150. package/dist/assets/notifications-page-Di4lEWP5.js +1 -0
  151. package/dist/assets/{oauth-complete-page-BlJm9tRJ.js → oauth-complete-page-D35qj-te.js} +1 -1
  152. package/dist/assets/{oauth-popup-complete-page-BqUopTat.js → oauth-popup-complete-page-Cm1Gpz6v.js} +1 -1
  153. package/dist/assets/onboarding-store-tqBxGvkR.js +1 -0
  154. package/dist/assets/page-shell-lS5z70GY.js +1 -0
  155. package/dist/assets/{pairing-page-B5GrCx4C.js → pairing-page-BBRJALfE.js} +1 -1
  156. package/dist/assets/panel-item-CfuwAm7q.js +1 -0
  157. package/dist/assets/password-reset-page-CdUgxU3W.js +1 -0
  158. package/dist/assets/{pencil-CUIr0IFo.js → pencil-CsnkG5VN.js} +1 -1
  159. package/dist/assets/personality-page-7pzIG0fT.js +1 -0
  160. package/dist/assets/platform-detection-BaPcSHIf.js +1 -0
  161. package/dist/assets/platform-loopback-page-CgEqDh8t.js +1 -0
  162. package/dist/assets/{plugin-detail-page-Byuqbr1N.js → plugin-detail-page--tkbKLiM.js} +1 -1
  163. package/dist/assets/plugins-page-dPXWPUim.js +1 -0
  164. package/dist/assets/plugins-surface-B2vYGNIS.js +1 -0
  165. package/dist/assets/plus-DZZypDUF.js +1 -0
  166. package/dist/assets/popover-rW459udD.js +1 -0
  167. package/dist/assets/prechat-route-BSQ6CgxI.js +1 -0
  168. package/dist/assets/prefs-BhGkdtWC.js +1 -0
  169. package/dist/assets/privacy-page-kI3rWtdi.js +1 -0
  170. package/dist/assets/privacy-screen-DbTCbPrV.js +1 -0
  171. package/dist/assets/{usage-window-C6gWu5Qu.js → profile-metadata-CbcuGTHP.js} +1 -1
  172. package/dist/assets/progress-bar-Wa6qo8OT.js +1 -0
  173. package/dist/assets/provider-callback-page-BXllqtyV.js +1 -0
  174. package/dist/assets/{provider-key-3AHnKoz9.js → provider-key-BIMvWJCe.js} +1 -1
  175. package/dist/assets/provider-signup-page-C26qNyCx.js +1 -0
  176. package/dist/assets/puzzle-C894zd87.js +1 -0
  177. package/dist/assets/{quick-input-page-Cv_CzapK.js → quick-input-page-BVuiURib.js} +1 -1
  178. package/dist/assets/react-query.gen-DjmYXavs.js +1 -0
  179. package/dist/assets/react-query.gen-JxTd3SS8.js +1 -0
  180. package/dist/assets/{refresh-cw-DevIHL7J.js → refresh-cw-cau3ebz1.js} +1 -1
  181. package/dist/assets/{remote-gateway-session-CbBWrPZH.js → remote-gateway-session-CBKZhJak.js} +1 -1
  182. package/dist/assets/{repeat-C8Im6j--.js → repeat-BhXOPeQU.js} +1 -1
  183. package/dist/assets/research-mock-page-CgsKuUow.js +1 -0
  184. package/dist/assets/research-onboarding-route-DBWaQC6l.js +42 -0
  185. package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-C7Otjjlt.js} +1 -1
  186. package/dist/assets/{resolved-assistants-store-BSZbT8Ju.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
  187. package/dist/assets/{return-to-BwxkOGDI.js → return-to-ugSGJ0dm.js} +1 -1
  188. package/dist/assets/review-terms-screen-B1l_RHOE.js +1 -0
  189. package/dist/assets/risk-BmdmlXrD.js +3 -0
  190. package/dist/assets/routes-CAkcxlmQ.js +1 -0
  191. package/dist/assets/schedules-oC-weaYP.js +1 -0
  192. package/dist/assets/{sdk.gen-BwnFjFcp.js → sdk.gen-CFgJ4K6f.js} +1 -1
  193. package/dist/assets/sdk.gen-Z7XkRg5O.js +1 -0
  194. package/dist/assets/security-redirect-page-BtwlikGy.js +1 -0
  195. package/dist/assets/select-assistant-screen-D0AJeybj.js +1 -0
  196. package/dist/assets/{setting-row-CUka7_L9.js → setting-row-f2idXB8B.js} +1 -1
  197. package/dist/assets/settings-DHqLQyx4.js +1 -0
  198. package/dist/assets/settings-divider-DfbvWaJf.js +1 -0
  199. package/dist/assets/settings-layout-j7Tny3R2.js +1 -0
  200. package/dist/assets/share-feedback-modal-EunusV5a.js +1 -0
  201. package/dist/assets/shield-check-kgUZeU9b.js +1 -0
  202. package/dist/assets/{sidebar-tree-C1_LiBB9.js → sidebar-tree-CXXymkyZ.js} +1 -1
  203. package/dist/assets/signup-page-BlXVHPoO.js +1 -0
  204. package/dist/assets/{signup-shell-DufHA5do.js → signup-shell-C2c8tEWo.js} +1 -1
  205. package/dist/assets/site-favicon-eiWubspF.js +1 -0
  206. package/dist/assets/skill-detail-page-239Q2KXu.js +1 -0
  207. package/dist/assets/{skill-detail-panel-BGoRUWNU.js → skill-detail-panel-1ContvoC.js} +1 -1
  208. package/dist/assets/{skills-AtSQBwXr.js → skills-CPSTIFwL.js} +1 -1
  209. package/dist/assets/skills-page-DqAy4DUl.js +1 -0
  210. package/dist/assets/{sound-manager-6UbdgQrj.js → sound-manager-DUFvLLrG.js} +1 -1
  211. package/dist/assets/sounds-redirect-page-Be71BPtz.js +1 -0
  212. package/dist/assets/{sparkles-PGiR5v1g.js → sparkles-BK3KXCjl.js} +1 -1
  213. package/dist/assets/{src-zsLiFPw3.js → src-CYX5MuYs.js} +39 -39
  214. package/dist/assets/{subagent-detail-panel-BGuVa8-m.js → subagent-detail-panel-hBlBqr4t.js} +2 -2
  215. package/dist/assets/{subagent-store-Bz4irJre.js → subagent-store-UK3sycHi.js} +1 -1
  216. package/dist/assets/system-events-page-B_hlJqmc.js +1 -0
  217. package/dist/assets/system-events-redirect-page-CjnkgTVB.js +1 -0
  218. package/dist/assets/tag-D0AE0-aA.js +1 -0
  219. package/dist/assets/theme-preferences-DW9WTu2f.js +1 -0
  220. package/dist/assets/theme-stage-page-CorMU3H-.js +1 -0
  221. package/dist/assets/{tiptap-document-editor-C-eOEBR_.js → tiptap-document-editor-CuLH4HM_.js} +2 -2
  222. package/dist/assets/toast-Ca-EEKyA.js +1 -0
  223. package/dist/assets/toggle-CWrJ2t4S.js +1 -0
  224. package/dist/assets/{tool-detail-panel-wAuQ7gi8.js → tool-detail-panel-BovwGDNh.js} +2 -2
  225. package/dist/assets/{triangle-alert-Z0Gq0IuB.js → triangle-alert-CnjNKhNx.js} +1 -1
  226. package/dist/assets/typography-Cqi8q9o7.js +1 -0
  227. package/dist/assets/{upgrade-cancel-page-BGgPmDmT.js → upgrade-cancel-page-zfGWw6gC.js} +1 -1
  228. package/dist/assets/{upgrade-success-page-TJBopZ0Z.js → upgrade-success-page-B6ga6hrm.js} +1 -1
  229. package/dist/assets/usage-redirect-page-idOBXPYI.js +1 -0
  230. package/dist/assets/{use-active-assistant-id-BWXi63qg.js → use-active-assistant-id-KipCgPNT.js} +1 -1
  231. package/dist/assets/use-assistant-identity-details-Ce92639h.js +1 -0
  232. package/dist/assets/{use-edge-swipe-back-B4XlZ1Iu.js → use-edge-swipe-back-BfWKkSiL.js} +1 -1
  233. package/dist/assets/use-invite-link-dialog-Bo8DNR9l.js +1 -0
  234. package/dist/assets/use-is-org-ready-Cf1j_pDw.js +1 -0
  235. package/dist/assets/use-onboarding-login-C76wUKaT.js +1 -0
  236. package/dist/assets/{use-reduced-motion-Cj0Z8KSf.js → use-reduced-motion-BPBlq9_a.js} +1 -1
  237. package/dist/assets/use-skill-actions-Cs1PmF42.js +1 -0
  238. package/dist/assets/use-skill-categories-BbTdimWQ.js +1 -0
  239. package/dist/assets/{use-skill-detail-files-Dpp521cY.js → use-skill-detail-files-BDZ7Js8l.js} +1 -1
  240. package/dist/assets/{user-plus-DMh4_UTz.js → user-plus-KuzSTM_D.js} +1 -1
  241. package/dist/assets/{utils-xg2dl_KJ.js → utils-CNB1P-cO.js} +1 -1
  242. package/dist/assets/{viewer-store-B8-Qnbx9.js → viewer-store-CFywMdJp.js} +1 -1
  243. package/dist/assets/voice-page--8XXDVIc.js +1 -0
  244. package/dist/assets/{weather-forecast-display-Bix8rpji.js → weather-forecast-display-SJUFsGxg.js} +1 -1
  245. package/dist/assets/{web-RhBklijR.js → web-BPvLuAGE.js} +1 -1
  246. package/dist/assets/{web-D8PpvYf_.js → web-BUVD1SEs.js} +1 -1
  247. package/dist/assets/{web-C1L-cpPj.js → web-Bf269a_Y.js} +1 -1
  248. package/dist/assets/{web-CJiP8Lg6.js → web-CELqsarU.js} +1 -1
  249. package/dist/assets/{web-O1LOb-o9.js → web-CFPJ_DoC.js} +1 -1
  250. package/dist/assets/{web-BD2N6zhd.js → web-DFW5YV0h.js} +1 -1
  251. package/dist/assets/{web-BaubW4Pp.js → web-DyY0a6OS.js} +1 -1
  252. package/dist/assets/{web-Duw5A2aP.js → web-KeVAvkzP.js} +1 -1
  253. package/dist/assets/{welcome-screen-CVI4Hjnt.js → welcome-screen-B6PC0dGC.js} +1 -1
  254. package/dist/assets/workflow-detail-panel-B5YCXMNo.js +1 -0
  255. package/dist/assets/{workflow-store-B7ofewCi.js → workflow-store-k8Si-dKc.js} +1 -1
  256. package/dist/assets/workspace-page-CAFamUOC.js +1 -0
  257. package/dist/assets/x-BYcSiJRX.js +1 -0
  258. package/dist/index.html +146 -142
  259. package/dist/skills/chat-complex-documents/assets/icon.svg +26 -0
  260. package/package.json +1 -1
  261. package/dist/assets/account-page-Dno1SeJN.js +0 -1
  262. package/dist/assets/activity-steps-panel-BGyfMCXK.js +0 -1
  263. package/dist/assets/advanced-page-vCbMVJsK.js +0 -1
  264. package/dist/assets/ai-page-BIYybKux.js +0 -1
  265. package/dist/assets/animated-avatar-Cqpzb8O4.js +0 -1
  266. package/dist/assets/archive-0aqysuyd.js +0 -1
  267. package/dist/assets/archive-page-RZ2VP63A.js +0 -1
  268. package/dist/assets/arrow-left-DI9551VI.js +0 -1
  269. package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
  270. package/dist/assets/assistant-status-panel-BC0RTDls.js +0 -1
  271. package/dist/assets/auth-store-C09YAZEu.js +0 -2
  272. package/dist/assets/background-task-detail-panel-BfnsD-3B.js +0 -1
  273. package/dist/assets/ban-CVKGuUAQ.js +0 -1
  274. package/dist/assets/billing-page-1z_L2m6q.js +0 -3
  275. package/dist/assets/browser-C6a_nhhZ.js +0 -2
  276. package/dist/assets/bug-BsuQ5ciQ.js +0 -1
  277. package/dist/assets/button-amTXFI-2.js +0 -1
  278. package/dist/assets/card-Bv5O5juh.js +0 -1
  279. package/dist/assets/channels-page-route-WjNmd0sS.js +0 -9
  280. package/dist/assets/chat-B8mgARYR.js +0 -1
  281. package/dist/assets/chat-markdown-message-BnX6bhgs.js +0 -2
  282. package/dist/assets/check-DFNrQERi.js +0 -1
  283. package/dist/assets/checkbox-EdyezNqo.js +0 -1
  284. package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
  285. package/dist/assets/chevron-right-DqqmezXC.js +0 -1
  286. package/dist/assets/circle-check-VSiny8yl.js +0 -1
  287. package/dist/assets/cn-C36Yvcac.js +0 -1
  288. package/dist/assets/code-Czx7d7SK.js +0 -1
  289. package/dist/assets/community-page-CJA4JfuC.js +0 -1
  290. package/dist/assets/contacts-page-route-P0neH-PV.js +0 -1
  291. package/dist/assets/copy-Cn1FKrEp.js +0 -1
  292. package/dist/assets/credentials-page-MkKE_19-.js +0 -1
  293. package/dist/assets/danger-zone-redirect-page-BWg7rn8D.js +0 -1
  294. package/dist/assets/debug-page-B88f4aDU.js +0 -4
  295. package/dist/assets/detail-card-xKZlkbz5.js +0 -1
  296. package/dist/assets/developer-page-BFMS6pwU.js +0 -1
  297. package/dist/assets/devices-page-B3D5iLhD.js +0 -1
  298. package/dist/assets/dist-BItmZQO6.js +0 -1
  299. package/dist/assets/document-viewer-page-B631L6-3.js +0 -1
  300. package/dist/assets/dropdown-ByHOpeOU.js +0 -1
  301. package/dist/assets/earn-credits-modal-CFla-iKl.js +0 -1
  302. package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +0 -1
  303. package/dist/assets/effective-timezone-C4nukIC4.js +0 -1
  304. package/dist/assets/esm-B54gzHCZ.js +0 -1
  305. package/dist/assets/esm-Bzs_witt.js +0 -2
  306. package/dist/assets/esm-C5J59K0j.js +0 -2
  307. package/dist/assets/esm-DEu9JbAE.js +0 -2
  308. package/dist/assets/esm-DZkj1VLJ.js +0 -2
  309. package/dist/assets/esm-DtJz1M8R.js +0 -2
  310. package/dist/assets/feature-flag-catalog-GgSNKkqP.js +0 -1
  311. package/dist/assets/file-editor-sT7eHxsw.js +0 -1
  312. package/dist/assets/file-markdown-Bq97tNxs.js +0 -2
  313. package/dist/assets/general-page-D-Gr2lkW.js +0 -1
  314. package/dist/assets/haptics-lMERs7us.js +0 -2
  315. package/dist/assets/hatching-screen-BlwicgIz.js +0 -1
  316. package/dist/assets/home-page-route-D24x4A0S.js +0 -1
  317. package/dist/assets/identity-page-route-BwOJeenx.js +0 -1
  318. package/dist/assets/index-C9GrLGul.css +0 -2
  319. package/dist/assets/index-yu6nDHvG.js +0 -113
  320. package/dist/assets/input-CoUmPnRU.js +0 -1
  321. package/dist/assets/inspect-page-1RejwSP_.js +0 -9
  322. package/dist/assets/integrations-page-BV5BiHPD.js +0 -1
  323. package/dist/assets/intelligence-layout-iQFO8in_.js +0 -1
  324. package/dist/assets/keyboard-shortcuts-page-jt13JtxS.js +0 -1
  325. package/dist/assets/library-detail-page-BAGWt1Lw.js +0 -1
  326. package/dist/assets/library-page-CqeoBhDY.js +0 -1
  327. package/dist/assets/list-row-D5MFdbkH.js +0 -1
  328. package/dist/assets/llm-dimension-DyYwG3mU.js +0 -1
  329. package/dist/assets/loader-circle-Cz7opInR.js +0 -1
  330. package/dist/assets/login-page-BQVTWuQc.js +0 -1
  331. package/dist/assets/logs-layout-DO3yfZqD.js +0 -1
  332. package/dist/assets/menu-Dy5QbnTj.js +0 -1
  333. package/dist/assets/mobile-sidebar-drawer-Epbt6p-k.js +0 -1
  334. package/dist/assets/modal-D5nLWNN9.js +0 -1
  335. package/dist/assets/mutation-error-DYv0eJ_i.js +0 -1
  336. package/dist/assets/native-biometric-Czaf9IqI.js +0 -6
  337. package/dist/assets/notice-DkcNAP8O.js +0 -1
  338. package/dist/assets/notifications-page-CXaZpD3s.js +0 -1
  339. package/dist/assets/page-shell-BUGBKCmv.js +0 -1
  340. package/dist/assets/panel-item-CouW2A55.js +0 -1
  341. package/dist/assets/password-reset-page-BCk9Si73.js +0 -1
  342. package/dist/assets/platform-detection-BrxvFUiR.js +0 -1
  343. package/dist/assets/platform-loopback-page-MZdCPXRI.js +0 -1
  344. package/dist/assets/plugins-page-Ci0CoSAN.js +0 -1
  345. package/dist/assets/plugins-surface-z3RTZS4H.js +0 -1
  346. package/dist/assets/plus-DItfr5ux.js +0 -1
  347. package/dist/assets/popover-CFL4WZTr.js +0 -1
  348. package/dist/assets/prechat-route-9JFn-w_1.js +0 -1
  349. package/dist/assets/prefs-B1Y3q3c8.js +0 -1
  350. package/dist/assets/privacy-page-BTpvj9ZP.js +0 -1
  351. package/dist/assets/privacy-screen-CUbVcDf_.js +0 -1
  352. package/dist/assets/progress-bar-Ca8gmE3B.js +0 -1
  353. package/dist/assets/provider-callback-page-fB2tIyqL.js +0 -1
  354. package/dist/assets/provider-signup-page-C4Dn-wtJ.js +0 -1
  355. package/dist/assets/react-query.gen-C6wVk6Rw.js +0 -1
  356. package/dist/assets/react-query.gen-DPzPS206.js +0 -1
  357. package/dist/assets/research-mock-page-1T92rXz3.js +0 -1
  358. package/dist/assets/research-onboarding-route-CmWgwOFk.js +0 -63
  359. package/dist/assets/review-terms-screen-DrD4vywk.js +0 -1
  360. package/dist/assets/risk-Dopd25rc.js +0 -3
  361. package/dist/assets/routes-BbeIx_F9.js +0 -1
  362. package/dist/assets/save-aD5JFIZf.js +0 -1
  363. package/dist/assets/schedules-BfKi12EZ.js +0 -1
  364. package/dist/assets/sdk.gen-CmKfVpgB.js +0 -1
  365. package/dist/assets/security-page-BYI7twYM.js +0 -1
  366. package/dist/assets/select-assistant-screen-Br-PNDO1.js +0 -1
  367. package/dist/assets/settings-layout-lddMUg7A.js +0 -1
  368. package/dist/assets/share-feedback-modal-DSwfhMsV.js +0 -1
  369. package/dist/assets/shortcut-keys-B2EE-634.js +0 -1
  370. package/dist/assets/signup-page-D6hAK-Us.js +0 -1
  371. package/dist/assets/site-favicon-fQHLTT6F.js +0 -1
  372. package/dist/assets/skill-detail-page-BlfgTyFC.js +0 -1
  373. package/dist/assets/skill-icon-cNkD2w1X.js +0 -1
  374. package/dist/assets/skills-page-DeIiyhVc.js +0 -1
  375. package/dist/assets/sounds-page-BgLLJ-o9.js +0 -1
  376. package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
  377. package/dist/assets/system-events-page-C1hXOYmg.js +0 -1
  378. package/dist/assets/system-events-redirect-page-DbaFKRXH.js +0 -1
  379. package/dist/assets/tag-CV4v7fRF.js +0 -1
  380. package/dist/assets/toast-xTp-xwYL.js +0 -1
  381. package/dist/assets/toggle-CDfguvUz.js +0 -1
  382. package/dist/assets/typography-D5f7kt80.js +0 -1
  383. package/dist/assets/usage-page-DLWFk2P0.js +0 -1
  384. package/dist/assets/use-bus-subscription-C3H3CmM_.js +0 -1
  385. package/dist/assets/use-invite-link-dialog-BdnW1BHj.js +0 -1
  386. package/dist/assets/use-is-org-ready-jhEM-4rY.js +0 -1
  387. package/dist/assets/use-onboarding-login-B-1jrjFL.js +0 -1
  388. package/dist/assets/use-skill-actions-BpVxiQZY.js +0 -1
  389. package/dist/assets/use-skill-categories-CCxtjMC_.js +0 -1
  390. package/dist/assets/voice-page-BoCTB8Jx.js +0 -1
  391. package/dist/assets/workflow-detail-panel-CwZH3tDl.js +0 -1
  392. package/dist/assets/workspace-page-CwIsXk1j.js +0 -1
  393. package/dist/assets/x-CkSVp1Ok.js +0 -1
  394. /package/dist/assets/{debug-page-TdnZ7DQy.css → advanced-page-TdnZ7DQy.css} +0 -0
  395. /package/dist/assets/{app-info-Clwt3pCt.js → app-info-AJ6nA0RS.js} +0 -0
  396. /package/dist/assets/{avatar-bundled-components--1Wyhs4r.js → avatar-bundled-components-DgzHRe6Z.js} +0 -0
  397. /package/dist/assets/{avatar-svg-compositor-CnDf9Ibf.js → avatar-svg-compositor-C_lXkZLZ.js} +0 -0
  398. /package/dist/assets/{browser-timezone-2SnmKDjM.js → browser-timezone-DjbAts-Z.js} +0 -0
  399. /package/dist/assets/{build.umd-CxdKgGWo.js → build.umd-CVjrbvyL.js} +0 -0
  400. /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-CK9sN9wG.js} +0 -0
  401. /package/dist/assets/{by-tool-use-id-index-BokzI3ZP.js → by-tool-use-id-index-CBaMK-eh.js} +0 -0
  402. /package/dist/assets/{composer-focus-BZr63Cvs.js → composer-focus-CpeV_gfi.js} +0 -0
  403. /package/dist/assets/{conversation-selection-BBHkzcfy.js → conversation-selection-DYJPsAjJ.js} +0 -0
  404. /package/dist/assets/{conversation-store-BljZWolF.js → conversation-store-CnRrUeSu.js} +0 -0
  405. /package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
  406. /package/dist/assets/{definitions-CaYcW4Yq.js → definitions-BaillmRO.js} +0 -0
  407. /package/dist/assets/{definitions-DScTW2c-.js → definitions-Ce8XXjMI.js} +0 -0
  408. /package/dist/assets/{dist-DS5iJwBJ2.js → dist-DyRKd0bN2.js} +0 -0
  409. /package/dist/assets/{domains-D3QF404Q.js → domains-CIIVdIa8.js} +0 -0
  410. /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-BNtUmdK0.js} +0 -0
  411. /package/dist/assets/{environment-store-C0f32873.js → environment-store-R_3zZFKL.js} +0 -0
  412. /package/dist/assets/{format-date-CghpPTDc.js → format-date-Cda44k2J.js} +0 -0
  413. /package/dist/assets/{format-file-size-DzVEncaw.js → format-file-size-BSrdQr7P.js} +0 -0
  414. /package/dist/assets/{native-deep-link-CJGNy9bj.js → native-deep-link-CbHUZ2h_.js} +0 -0
  415. /package/dist/assets/{onboarding-step-layout-2XcmxqFN.js → onboarding-step-layout-BfSOxqy3.js} +0 -0
  416. /package/dist/assets/{optimistic-lifecycle-BvfDBY8o.js → optimistic-lifecycle-CR11Vyrt.js} +0 -0
  417. /package/dist/assets/{pdf-C3Qukw-J.js → pdf-BjgNZTii.js} +0 -0
  418. /package/dist/assets/{pointer-Cdz7NGHe.js → pointer-CzC_8USk.js} +0 -0
  419. /package/dist/assets/{prechat-P1y7ZM6C.js → prechat-Ddpjms85.js} +0 -0
  420. /package/dist/assets/{prechat-names-clVy5Mee.js → prechat-names-DEWE0LUf.js} +0 -0
  421. /package/dist/assets/{proxy-o6cPThl2.js → proxy-Cadlowdl.js} +0 -0
  422. /package/dist/assets/{public-asset-GKv5zCfZ.js → public-asset-Budc22a_.js} +0 -0
  423. /package/dist/assets/{research-onboarding-persistence-DnuHyFyB.js → research-onboarding-persistence-BmACYjeE.js} +0 -0
  424. /package/dist/assets/{sdk.gen-BhtkuoSl.js → sdk.gen-C9oZyNeN.js} +0 -0
  425. /package/dist/assets/{status-badge-pill-0N6rTEBg.js → status-badge-pill-DQHLgr0r.js} +0 -0
  426. /package/dist/assets/{step-indicator-dots-D03TmFKG.js → step-indicator-dots-iS_Q2OX6.js} +0 -0
  427. /package/dist/assets/{three-dot-indicator-DNuHHwtA.js → three-dot-indicator-ByrGmGYU.js} +0 -0
  428. /package/dist/assets/{typed-storage-5IU6qVWg.js → typed-storage-BRvgA7pX.js} +0 -0
  429. /package/dist/assets/{use-copy-to-clipboard-BCTXSMa-.js → use-copy-to-clipboard-CtO2o7KE.js} +0 -0
  430. /package/dist/assets/{workflow-status-ZrbiLW5D.js → workflow-status-4RYJ-tdh.js} +0 -0
  431. /package/dist/assets/{xterm-CBmd_y-b.js → xterm-ChjrCiYv.js} +0 -0
  432. /package/dist/assets/{xterm-addon-fit-THPW0uy0.js → xterm-addon-fit-D_4nBxep.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{ct as r}from"./local-mode-grqHUoNh.js";import{n as i}from"./resolved-assistants-store-BSZbT8Ju.js";import{D as a,O as o,i as s,n as c,o as l}from"./auth-store-C09YAZEu.js";import{t as u}from"./client-feature-flag-store-DkJl-g9A.js";import{Cn as d,Cr as f,bn as p,cn as m,er as h,gr as g,yn as _}from"./index-yu6nDHvG.js";import{CommandPalette as v}from"./command-palette-6o4m7BM9.js";var y=e(t(),1),b=n(),x=()=>void 0,S=e=>void 0,C=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`};case`action-back`:return{kind:`navigateBack`};case`action-forward`:return{kind:`navigateForward`};case`action-zoom-in`:return{kind:`zoomIn`};case`action-zoom-out`:return{kind:`zoomOut`};case`action-actual-size`:return{kind:`actualSize`};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 w(){let e=c.use.sessionStatus(),t=l(),n=s();f(),h(!t),g({sessionStatus:e,hasPlatformSession:n});let w=i.use.assistants(),T=i.use.activeAssistantId(),E=i.use.selectedAssistantId(),D=a.use.currentOrganizationId(),O=u.use.multiPlatformAssistant(),k=(0,y.useMemo)(()=>{let e=O&&!r()&&D?o(D):T;if(!e)return null;let t=w.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[O,T,w,D,E]),A=k?.id??null,{conversations:j}=d(A,!0),M=(0,y.useCallback)(e=>{let t=C(e);t&&p(t)},[]),{commandPalette:N,mergedSections:P,handleItemSelect:F}=m({assistantId:A,assistantName:k?.name,conversations:j,activeConversationId:void 0,startNewConversation:x,switchConversation:x,navigate:S,navigateToSettings:x,isOpen:!0,onClose:()=>{_()},onItemSelect:M});return(0,b.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,b.jsx)(v,{isOpen:!0,surface:`window`,onClose:N.close,query:N.query,onQueryChange:N.setQuery,selectedIndex:N.selectedIndex,sections:P,isSearching:N.isSearching,onItemSelect:F,onKeyDown:N.handleKeyDown})})}export{w as CommandPaletteWindowPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{ct as r}from"./local-mode-Bskd5bsT.js";import{n as i}from"./resolved-assistants-store-DAzPZ1eV.js";import{D as a,E as o,i as s,n as c,o as l}from"./auth-store-D3dDj0_K.js";import{t as u}from"./client-feature-flag-store-CXG75X45.js";import{Ar as d,Cn as f,Dn as p,Sr as m,ir as h,on as g,wn as _}from"./index-BZVPYTjj.js";import{CommandPalette as v}from"./command-palette-DAZvarqX.js";var y=e(t(),1),b=n(),x=()=>void 0,S=e=>void 0,C=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`};case`action-back`:return{kind:`navigateBack`};case`action-forward`:return{kind:`navigateForward`};case`action-zoom-in`:return{kind:`zoomIn`};case`action-zoom-out`:return{kind:`zoomOut`};case`action-actual-size`:return{kind:`actualSize`};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 w(){let e=c.use.sessionStatus(),t=l(),n=s();d(),h(!t),m({sessionStatus:e,hasPlatformSession:n});let w=i.use.assistants(),T=i.use.activeAssistantId(),E=i.use.selectedAssistantId(),D=o.use.currentOrganizationId(),O=u.use.multiPlatformAssistant(),k=(0,y.useMemo)(()=>{let e=O&&!r()&&D?a(D):T;if(!e)return null;let t=w.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[O,T,w,D,E]),A=k?.id??null,{conversations:j}=p(A,!0),M=(0,y.useCallback)(e=>{let t=C(e);t&&_(t)},[]),{commandPalette:N,mergedSections:P,handleItemSelect:F}=g({assistantId:A,assistantName:k?.name,conversations:j,activeConversationId:void 0,startNewConversation:x,switchConversation:x,navigate:S,navigateToSettings:x,isOpen:!0,onClose:()=>{f()},onItemSelect:M});return(0,b.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,b.jsx)(v,{isOpen:!0,surface:`window`,onClose:N.close,query:N.query,onQueryChange:N.setQuery,selectedIndex:N.selectedIndex,sections:P,isSearching:N.isSearching,onItemSelect:F,onKeyDown:N.handleKeyDown})})}export{w as CommandPaletteWindowPage};
@@ -0,0 +1 @@
1
+ import{t as e}from"./button-BQVYX8n_.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./card-D8zyWtZh.js";import{t as r}from"./createLucideIcon-Bjb-Kuq7.js";import{r as i}from"./middleware-DL-IveDQ.js";import{t as a}from"./external-link-uO0bZiVJ.js";import{t as o}from"./globe-DgKSh933.js";import{t as s}from"./sparkles-BK3KXCjl.js";import{t as c}from"./tag-D0AE0-aA.js";import{Ca as l,Ii as u,Ti as d,f,m as p,n as m,p as h,ra as g,st as _,yi as v}from"./index-BZVPYTjj.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)(c,{tone:`neutral`,children:[(0,b.jsx)(u,{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:o,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)(a,{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:o})]})]})})})}function O(){let{handleStar:e}=p();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:d,text:`Star the repo to follow updates`},{icon:l,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(d,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:h}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(_,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:g,text:`Talk directly with the team`},{icon:s,text:`Share feedback and request features`},{icon:v,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(_,{size:16,style:{color:`currentColor`}}),onClick:f}})]}),(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)(o,{size:20}),iconBg:`#22c55e`,title:`Community Hub`,description:`Showcases, guides, and projects shared by the community.`,href:m}),(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{t as e}from"./button-amTXFI-2.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./loader-circle-Cz7opInR.js";import{t as r}from"./triangle-alert-Z0Gq0IuB.js";import{t as i}from"./modal-D5nLWNN9.js";var a=t(),o=`data-confirm-dialog-confirm`;function s({open:t,title:s,message:c,confirmLabel:l=`Confirm`,cancelLabel:u=`Cancel`,destructive:d=!1,isPending:f=!1,onConfirm:p,onCancel:m}){return(0,a.jsx)(i.Root,{open:t,onOpenChange:e=>{!e&&!f&&m()},children:(0,a.jsxs)(i.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{let t=e.currentTarget?.querySelector(`[${o}]`);t&&(e.preventDefault(),t.focus())},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),f||m()},children:[(0,a.jsx)(i.Header,{children:(0,a.jsx)(i.Title,{icon:d?r:void 0,children:s})}),(0,a.jsx)(i.Body,{children:(0,a.jsx)(i.Description,{children:c})}),(0,a.jsxs)(i.Footer,{children:[(0,a.jsx)(e,{variant:`outlined`,onClick:m,disabled:f,children:u}),(0,a.jsx)(e,{variant:d?`danger`:`primary`,onClick:p,disabled:f,leftIcon:f?(0,a.jsx)(n,{className:`animate-spin`}):void 0,[o]:``,children:l})]})]})})}export{s as t};
1
+ import{t as e}from"./button-BQVYX8n_.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./loader-circle-Ck8fq3yv.js";import{t as r}from"./triangle-alert-CnjNKhNx.js";import{t as i}from"./modal-bIQsMU63.js";var a=t(),o=`data-confirm-dialog-confirm`;function s({open:t,title:s,message:c,confirmLabel:l=`Confirm`,cancelLabel:u=`Cancel`,destructive:d=!1,isPending:f=!1,onConfirm:p,onCancel:m}){return(0,a.jsx)(i.Root,{open:t,onOpenChange:e=>{!e&&!f&&m()},children:(0,a.jsxs)(i.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{let t=e.currentTarget?.querySelector(`[${o}]`);t&&(e.preventDefault(),t.focus())},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),f||m()},children:[(0,a.jsx)(i.Header,{children:(0,a.jsx)(i.Title,{icon:d?r:void 0,children:s})}),(0,a.jsx)(i.Body,{children:(0,a.jsx)(i.Description,{children:c})}),(0,a.jsxs)(i.Footer,{children:[(0,a.jsx)(e,{variant:`outlined`,onClick:m,disabled:f,children:u}),(0,a.jsx)(e,{variant:d?`danger`:`primary`,onClick:p,disabled:f,leftIcon:f?(0,a.jsx)(n,{className:`animate-spin`}):void 0,[o]:``,children:l})]})]})})}export{s as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useMutation-Lj4VunQV.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./typography-D5f7kt80.js";import{t as l}from"./card-Bv5O5juh.js";import{t as u}from"./link-2-4bMylQ5v.js";import{t as d}from"./loader-circle-Cz7opInR.js";import{t as f}from"./triangle-alert-Z0Gq0IuB.js";import{n as p}from"./toast-xTp-xwYL.js";import{c as m}from"./routes-BbeIx_F9.js";import{t as h}from"./use-active-assistant-id-BWXi63qg.js";import{n as g}from"./a2a-invite-B9cylfIO.js";import{r as _}from"./contacts-gateway-CW5CipBv.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=r(),s=a(),[h]=i(),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-DJZBPgpf.js";import{t as n}from"./button-BQVYX8n_.js";import{m as r,u as i}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useMutation-Lj4VunQV.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./typography-Cqi8q9o7.js";import{t as l}from"./card-D8zyWtZh.js";import{t as u}from"./link-2-B9c5ZsFq.js";import{t as d}from"./loader-circle-Ck8fq3yv.js";import{t as f}from"./triangle-alert-CnjNKhNx.js";import{n as p}from"./toast-Ca-EEKyA.js";import{c as m}from"./routes-CAkcxlmQ.js";import{t as h}from"./use-active-assistant-id-KipCgPNT.js";import{n as g}from"./a2a-invite-D6BlTVdg.js";import{r as _}from"./contacts-gateway-DsqzGIxS.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};
@@ -0,0 +1 @@
1
+ import{n as e}from"./device-settings-BBwtGKJb.js";import{t}from"./onboarding-store-tqBxGvkR.js";function n(){return t.getState().shareAnalytics&&e(`shareAnalytics`,!0)}export{n as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./card-Bv5O5juh.js";import{t as n}from"./checkbox-EdyezNqo.js";import{c as r,s as i}from"./routes-BbeIx_F9.js";import{t as a}from"./setting-row-CUka7_L9.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-CVSDxk6A.js";import{t}from"./card-D8zyWtZh.js";import{t as n}from"./checkbox-B6CHx3mp.js";import{c as r,s as i}from"./routes-CAkcxlmQ.js";import{t as a}from"./setting-row-f2idXB8B.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 +1 @@
1
- import{n as e,r as t,t as n}from"./api-errors-CrWDzVca.js";import{t as r}from"./client.gen-DVfIRXUZ.js";import{c as i,s as a,u as o}from"./sdk.gen-BhtkuoSl.js";async function s(r,i){let{data:a,error:s,response:c}=await o({path:{assistant_id:r},body:i,throwOnError:!1});if(e(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new n(c.status,t(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(e(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,t(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(e(s,o,`Failed to verify channel`),!s.ok)throw new n(s.status,t(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(e(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,t(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{n as e,r as t,t as n}from"./api-errors-CrWDzVca.js";import{t as r}from"./client.gen-DVfIRXUZ.js";import{c as i,s as a,u as o}from"./sdk.gen-C9oZyNeN.js";async function s(r,i){let{data:a,error:s,response:c}=await o({path:{assistant_id:r},body:i,throwOnError:!1});if(e(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new n(c.status,t(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(e(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,t(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(e(s,o,`Failed to verify channel`),!s.ok)throw new n(s.status,t(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(e(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,t(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};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-BQVYX8n_.js";import{m as r,n as i,t as a,u as o}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./useQuery-B45lW1Kk.js";import{t as l}from"./useMutation-Lj4VunQV.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./typography-Cqi8q9o7.js";import{t as f}from"./card-D8zyWtZh.js";import{t as p}from"./createLucideIcon-Bjb-Kuq7.js";import{t as m}from"./arrow-left-C2re-gYj.js";import{t as h}from"./link-2-B9c5ZsFq.js";import{t as g}from"./loader-circle-Ck8fq3yv.js";import{t as _}from"./pencil-CsnkG5VN.js";import{t as v}from"./plus-DZZypDUF.js";import{t as y}from"./user-plus-KuzSTM_D.js";import{t as b}from"./tag-D0AE0-aA.js";import{t as x}from"./input-6HVXMszw.js";import{t as S}from"./modal-bIQsMU63.js";import{t as C}from"./panel-item-CfuwAm7q.js";import{n as w}from"./toast-Ca-EEKyA.js";import{t as T}from"./confirm-dialog-0S-O513X.js";import{C as E}from"./sdk.gen-CFgJ4K6f.js";import{Ht as ee,S as D,Vt as te,a as O,b as ne,x as k}from"./react-query.gen-JxTd3SS8.js";import{t as re}from"./assistant-identity-store-Bc4hbSCe.js";import{c as ie}from"./routes-CAkcxlmQ.js";import{t as ae}from"./assistant-feature-flag-store-xCO0XexH.js";import{Dt as oe,Ea as se,Hi as A,Ki as j,Mi as M,c as ce,cn as N,ia as P,ji as F,or as I,sn as L,wa as R,wr as z,xa as B,zi as V}from"./index-BZVPYTjj.js";import{t as H}from"./use-active-assistant-id-KipCgPNT.js";import{a as U,d as le,i as ue,n as de,o as fe,r as pe,t as me}from"./use-invite-link-dialog-Bo8DNR9l.js";import{t as W}from"./detail-card-D-y4TcVy.js";import{n as he,t as ge}from"./mobile-sidebar-drawer-BilS4-Bl.js";import{t as G}from"./mutation-error-BHT0MqVm.js";import{a as _e,i as ve,n as ye,t as be}from"./contacts-gateway-DsqzGIxS.js";var xe=p(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Se=p(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Ce=p(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),K=e(t(),1),q=new Set([`slack`]);function J(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}var Y=u();function X({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let[i,a]=(0,K.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,Y.jsxs)(`div`,{children:[i>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(Z,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r?()=>a(e.key):void 0})]},e.key))}),(0,Y.jsx)(T,{open:i!==null,title:`Disconnect ${i?N(i):``}?`,message:`This clears the stored credentials for this channel. You can reconnect later.`,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{i&&r&&r(i),a(null)},onCancel:()=>a(null)})]})}function Z({channel:e,pending:t,onConnect:r,onDisconnect:i}){let a=e.status===`ready`;return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(L,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:N(e.key)}),a&&e.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(B,{className:`h-3 w-3`}),`Connected`]}),(0,Y.jsx)(n,{variant:`danger`,onClick:i,disabled:!i||t,children:t?`Disconnecting…`:`Disconnect`})]}):(0,Y.jsx)(n,{variant:`outlined`,onClick:r,disabled:!r||t,children:`Connect`})})]})}function Q({role:e,contactType:t}){let{label:n,tone:r}=we(e,t);return(0,Y.jsx)(b,{tone:r,children:n})}function we(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Te({assistantName:e,...t}){let n=le(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:`${n} (Your Assistant)`,accessory:(0,Y.jsx)(Q,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Where ${n} can be reached.`,children:(0,Y.jsx)(X,{...t})})]})}function Ee({provenance:e}){return e.source===`global-default`?(0,Y.jsx)(b,{children:`Global default`}):(0,Y.jsxs)(b,{children:[`Default from`,(0,Y.jsx)(n,{asChild:!0,variant:`link`,size:`compact`,className:`h-auto px-0`,children:(0,Y.jsxs)(a,{to:`${ie.channels}?setup=${e.channel}`,children:[`Channels → `,N(e.channel)]})})]})}var $=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function De(e){return $.has(e)}function Oe(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&J(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function ke(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||De(e.type)&&(r.push({id:e.type,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ae({name:e,className:t,style:n}){switch(e){case`bot`:return(0,Y.jsx)(R,{className:t,style:n});case`hash`:return(0,Y.jsx)(P,{className:t,style:n});case`send`:return(0,Y.jsx)(F,{className:t,style:n});case`phone`:return(0,Y.jsx)(V,{className:t,style:n});case`mail`:return(0,Y.jsx)(j,{className:t,style:n});case`message-square`:return(0,Y.jsx)(A,{className:t,style:n});default:return(0,Y.jsx)(xe,{className:t,style:n})}}function je({contactChannels:e,availableChannels:t,a2aEnabled:n,channelProvenance:r,setupLabel:i=`Invite`,verifyLoading:a,verifySubject:o=`self`,onSetupChannel:s,onVerifyChannel:c,onRevokeChannel:l,onLinkAccount:u}){let[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),h=new Map;for(let t of e)t.status!==`revoked`&&(h.has(t.type)||h.set(t.type,t));return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:ke(t,e,n).map((e,t)=>{let n=h.get(e.id);return(0,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(Me,{info:e,existing:n,provenance:n&&oe(e.id)?r?.[e.id]:void 0,setupLabel:i,verifyLoading:a,onSetup:s?()=>s(e.id):void 0,onVerify:c&&e.supportsVerification?()=>f(e):void 0,onRevoke:l&&n?()=>m({channelId:n.id,channel:e}):void 0,onLinkAccount:u&&q.has(e.id)?()=>u(e.id):void 0})]},e.id)})}),d&&(0,Y.jsx)(T,{open:!0,title:`Verify ${d.label}`,message:o===`contact`?`This will mark this contact's ${d.label} channel as verified. Your assistant will recognize them when they reach out from it.`:`This will mark your ${d.label} channel as verified. Your assistant will recognize you when you reach out from it.`,confirmLabel:`Verify`,onConfirm:()=>{d&&(c?.(d.id),f(null))},onCancel:()=>f(null)}),p&&(0,Y.jsx)(T,{open:!0,title:`Revoke ${p.channel.label}`,message:`This will disconnect the verified channel. The contact will need to re-verify to use this channel again.`,confirmLabel:`Revoke`,destructive:!0,onConfirm:()=>{l?.(p.channelId,p.channel.id),m(null)},onCancel:()=>m(null)})]})}function Me({info:e,existing:t,provenance:r,setupLabel:i,verifyLoading:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let u=Oe(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(Ae,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[r?(0,Y.jsx)(Ee,{provenance:r}):null,u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(B,{className:`h-3 w-3`}),`Connected`]}),c?(0,Y.jsx)(n,{variant:`danger`,onClick:c,children:`Revoke`}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(B,{className:`h-3 w-3`}),`Verified`]}),c?(0,Y.jsx)(n,{variant:`danger`,onClick:c,children:`Revoke`}):null]}):u.kind===`unverified`?(0,Y.jsx)(n,{variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Verifying…`:`Verify`}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[l?(0,Y.jsxs)(n,{onClick:l,children:[(0,Y.jsx)(h,{className:`h-3.5 w-3.5`}),`Link account`]}):null,(0,Y.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o,children:i})]}):null]})]})}function Ne(e){return(0,Y.jsx)(Pe,{...e},e.contact.id)}function Pe({contact:e,savePending:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,a2aEnabled:c,channelProvenance:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g}){let _=e.displayName===`New Contact`,[v,y]=(0,K.useState)(_?``:e.displayName),[b,S]=(0,K.useState)(e.notes??``),[C,w]=(0,K.useState)(!1),E=v.trim(),ee=b.trim(),D=_?``:e.displayName,te=e.notes??``,O=E!==D||ee!==te,ne=E.length>0&&O&&!t&&!r,k=_&&e.channels.length===0&&e.interactionCount===0,re=E||e.displayName,ie=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:re,accessory:(0,Y.jsx)(Q,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:ie,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(x,{label:`Name`,type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Give this human a name`,autoFocus:_,disabled:t||r,fullWidth:!0}),(0,Y.jsx)(x,{label:`Notes`,type:`text`,value:b,onChange:e=>S(e.target.value),placeholder:`Optional notes about the human which AI will take into account`,disabled:t||r,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(n,{type:`button`,onClick:()=>u({displayName:E,notes:ee}),disabled:!ne,children:t?`Saving…`:`Save`}),f?(0,Y.jsx)(n,{type:`button`,variant:`outlined`,onClick:f,disabled:!o||k||O||a||t||r,title:o?k?`Save this contact before merging`:O?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:a?`Merging…`:`Merge…`}):null,(0,Y.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{k?d():w(!0)},disabled:r,children:r?`Deleting…`:`Delete Contact`})]})]})}),(0,Y.jsx)(W,{title:`Linked accounts`,subtitle:`Where the assistant recognizes this contact. Link accounts you know, invite the ones you don't.`,children:(0,Y.jsx)(je,{contactChannels:e.channels,availableChannels:s,a2aEnabled:c,channelProvenance:l,verifyLoading:i,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),(0,Y.jsx)(T,{open:C,title:`Delete ${e.displayName}?`,message:`This will permanently delete this contact and all their channels. This action cannot be undone.`,confirmLabel:`Delete`,destructive:!0,onConfirm:()=>{w(!1),d()},onCancel:()=>w(!1)})]})}function Fe(e){return(0,Y.jsx)(Ie,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Ie({open:e,survivor:t,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let[c,l]=(0,K.useState)(``),[u,f]=(0,K.useState)(null);(0,K.useEffect)(()=>{u&&!r.some(e=>e.id===u)&&f(null)},[r,u]);let p=(0,K.useMemo)(()=>{let e=c.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,c]),h=u?r.find(e=>e.id===u)??null:null,g=Ve(t);return(0,Y.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,Y.jsxs)(S.Content,{size:`md`,children:[(0,Y.jsxs)(S.Header,{children:[(0,Y.jsx)(S.Title,{icon:Ce,children:h?`Merge "${h.displayName}" into ${g}?`:`Merge another contact into ${g}`}),(0,Y.jsx)(S.Description,{children:h?`Channels and notes from the merged contact will move over. The merged contact will be deleted.`:`The contact you pick will be deleted. Its channels and notes will be added to this one.`})]}),(0,Y.jsxs)(S.Body,{className:`flex flex-col gap-3`,children:[h?(0,Y.jsx)(ze,{survivor:t,donor:h}):r.length===0?(0,Y.jsx)(Be,{}):(0,Y.jsx)(Le,{search:c,onSearch:l,candidates:p,onPick:f}),a?(0,Y.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,Y.jsx)(S.Footer,{children:h?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(n,{variant:`outlined`,onClick:()=>f(null),disabled:i,leftIcon:(0,Y.jsx)(m,{"aria-hidden":!0}),children:`Back`}),(0,Y.jsx)(n,{variant:`danger`,onClick:()=>o(h.id),disabled:i,children:i?`Merging…`:`Merge`})]}):(0,Y.jsx)(n,{variant:`outlined`,onClick:s,disabled:i,children:`Cancel`})})]})})}function Le({search:e,onSearch:t,candidates:n,onPick:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:`Search contacts`,leftIcon:(0,Y.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":`Select a contact to merge`,children:n.length===0?(0,Y.jsx)(d,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:`No matching contacts`}):n.map(e=>(0,Y.jsx)(Re,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Re({contact:e,onPick:t}){let n=Ge(e).join(` | `)||void 0;return(0,Y.jsx)(C,{asChild:!0,label:``,children:(0,Y.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function ze({survivor:e,donor:t}){let n=Ve(e),{moved:r,duplicates:i}=We(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsxs)(`li`,{children:[(0,Y.jsxs)(`span`,{className:`text-(--content-default)`,children:[`“`,t.displayName,`”`]}),` `,`will be deleted.`]}),(0,Y.jsx)(`li`,{children:r.length===0?`No new channels will move to ${n}.`:`${r.length} channel${r.length===1?``:`s`} will move to ${n}: ${r.map(e=>Ue(e.type)).join(`, `)}.`}),i.length>0?(0,Y.jsxs)(`li`,{className:`text-(--content-tertiary)`,children:[i.length,` duplicate channel`,i.length===1?``:`s`,` already on `,n,` `,`(skipped).`]}):null,t.notes?(0,Y.jsx)(`li`,{children:`Notes from the merged contact will be appended.`}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:`This cannot be undone.`})]})}function Be(){return(0,Y.jsx)(d,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:`No other contacts available to merge.`})}function Ve(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?`you`:`${e.displayName} (you)`:e.displayName||`this contact`}var He={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`};function Ue(e){return He[e.toLowerCase()]??e}function We(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function Ge(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(He[e]??r.type))}return n}function Ke({loading:e,guardian:t,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1}){let[l,u]=(0,K.useState)(``),d=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,Y.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Entries`}),(0,Y.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(g,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(v,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":`Add contact`,tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(qe,{name:t.displayName?`${t.displayName} (You)`:`You`,role:t.role,channelTypes:t.channelTypes,selected:a?.kind===`contact`&&a.contactId===t.id,onClick:()=>o({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(qe,{name:r?.trim()||`Your Assistant`,role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,Y.jsx)(x,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search Contacts`,leftIcon:(0,Y.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.length>0?(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[d.map(e=>(0,Y.jsx)(qe,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a?.kind===`contact`&&a.contactId===e.id,onClick:()=>o({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),d.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`No matching contacts`}):null]}):e?null:(0,Y.jsx)(n,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(g,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(y,{"aria-hidden":!0}),children:`Add Contact`})]})})}function qe({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s}){let c=r&&r.length>0?r.join(` | `):void 0;return(0,Y.jsx)(C,{asChild:!0,active:i,label:``,trailingAction:o===`pencil`?(0,Y.jsx)(_,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):o===`more`?(0,Y.jsx)(Se,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):void 0,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),c?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:c}):null]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,Y.jsx)(b,{tone:s?`positive`:`neutral`,children:s?`Verified`:`Unverified`}),(0,Y.jsx)(Q,{role:t,contactType:n})]})]})})}function Je(e){return(0,Y.jsx)(Ye,{...e},e.contact.id)}function Ye({contact:e,savePending:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let m=e.displayName.startsWith(`vellum-principal-`),h=m?``:e.displayName,[g,_]=(0,K.useState)(h),[v,y]=(0,K.useState)(e.notes??``),b=g.trim(),S=v.trim(),C=b!==h.trim()||S!==(e.notes??``).trim(),w=C&&!t,T=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:m?`You`:`${e.displayName} (You)`,accessory:(0,Y.jsx)(Q,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(x,{label:`Name`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`Your name`,disabled:t,fullWidth:!0}),(0,Y.jsx)(x,{label:`Notes`,type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Notes about yourself which AI will take into account`,disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(n,{variant:`primary`,onClick:()=>c({displayName:b||e.displayName,notes:S}),disabled:!w,children:t?`Saving…`:`Save`}),l?(0,Y.jsx)(n,{variant:`outlined`,onClick:l,disabled:!a||C||i||t,title:a?C?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:i?`Merging…`:`Merge…`}):null]})]})}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Once verified, your assistant will recognize you when you message from these channels.`,children:(0,Y.jsx)(je,{contactChannels:e.channels,availableChannels:o,a2aEnabled:s,setupLabel:`Verify me`,verifyLoading:r,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,Y.jsx)(U,{onClick:p}):null]})}function Xe(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function Ze(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function Qe({open:e,channelLabel:t,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:c,onClose:l,onInviteInstead:u}){let[d,f]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&f(``)},[e]);let p=(0,K.useMemo)(()=>Xe(i??[],d),[i,d]),m=s!=null;return(0,Y.jsx)(S.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,Y.jsxs)(S.Content,{size:`sm`,children:[(0,Y.jsxs)(S.Header,{children:[(0,Y.jsxs)(S.Title,{children:[`Link `,t,` account`]}),(0,Y.jsxs)(S.Description,{children:[`Search your `,t,` workspace and pick`,` `,(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`,children:r}),`’s account.`]})]}),(0,Y.jsxs)(S.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(x,{type:`search`,value:d,onChange:e=>f(e.target.value),placeholder:`Search by name or @handle`,"aria-label":`Search ${t} workspace accounts`,leftIcon:(0,Y.jsx)(M,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:o}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:`Loading workspace members…`}):p.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?`No workspace members found.`:`No members match.`}):(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:p.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:m,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:Ze(e.displayName)}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,Y.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,Y.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:`Linking…`}):null]})},e.id))})})]}),(0,Y.jsxs)(S.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,Y.jsxs)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:[`Picking marks this account as`,` `,(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`,children:`guardian-linked`}),` `,`— you vouch for the identity, no handshake needed.`]}),u?(0,Y.jsxs)(n,{variant:`link`,className:`shrink-0`,onClick:u,disabled:m,children:[`Or send an invite instead`,(0,Y.jsx)(se,{className:`h-3.5 w-3.5`})]}):null]})]})})}function $e(e){let t={};for(let n of e)oe(n.channelType)&&(t[n.channelType]=n.policy===`trusted_contacts`?{source:`global-default`}:{source:`channel-default`,channel:n.channelType});return t}function et(e){return $e(ue(e))}function tt(e){let t=ae.use.channelTrustFloors(),n=pe(),r=t&&n,i=c({...I({path:{assistant_id:e}}),enabled:r,select:et});return r?i.data:void 0}function nt({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,K.useState)(!1),o=l({mutationFn:n=>ye(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),w.success(`Linked as @${t.account.username}`),r()}}),s=(0,K.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,K.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,K.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?`Failed to link account`:null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:u}}var rt=[{id:`slack`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],it=[];function at({assistantId:e,onStartSetupConversation:t}){let n=ae.use.a2aChannel(),a=re.use.name(),o=s(),[u]=r(),d=u.get(`setup`),f=d&&oe(d)?d:null,[p,m]=(0,K.useState)({kind:`assistant`}),h=me(e),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),b=le(a),x=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),S=k(x),C=c({...ne(x),enabled:!!e,select:e=>e.contacts}),T=de({assistantId:e,onStartSetupConversation:t}),se=tt(e),A=c({...O({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await E({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:rt};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}).data??it,j=C.data,M=(0,K.useMemo)(()=>j?.find(e=>e.role===`guardian`)??null,[j]),N=(0,K.useMemo)(()=>j?.filter(e=>e.role!==`guardian`)??[],[j]),P=(0,K.useMemo)(()=>p.kind===`contact`?j?.find(e=>e.id===p.contactId)??null:null,[j,p]),F=(0,K.useMemo)(()=>!j||!P?[]:j.filter(e=>e.id!==P.id&&e.role!==`guardian`),[j,P]),I=F.length>0,L=(0,K.useRef)(!!f);(0,K.useEffect)(()=>{L.current||M&&(L.current=!0,m({kind:`contact`,contactId:M.id}))},[M]);let R=(0,K.useCallback)(()=>o.invalidateQueries({queryKey:S}),[o,S]),z=l({mutationFn:()=>ve(e,{displayName:`New Contact`}),onMutate:async()=>{await o.cancelQueries({queryKey:S})},onSuccess:e=>{D(o,x,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),m({kind:`contact`,contactId:e.id})},onError:G(`Failed to create contact`),onSettled:()=>R()}),B=l({mutationFn:t=>be(e,t),onSuccess:(e,t)=>{D(o,x,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),m({kind:`assistant`})},onError:G(`Failed to delete contact`),onSettled:()=>R()}),V=l({mutationFn:({contactId:t,patch:n})=>ve(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{D(o,x,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(`Failed to save contact`),onSettled:()=>R()}),H=ee({onMutate:async()=>{await o.cancelQueries({queryKey:S})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(D(o,x,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),m({kind:`contact`,contactId:n.id})),y(!1),w.success(`Contacts merged`)},onSettled:()=>R()}),U=(0,K.useCallback)(e=>{m(e),_(!1),y(!1),H.reset()},[H]),ue=(0,K.useCallback)(()=>{H.reset(),y(!0)},[H]),pe=(0,K.useCallback)(()=>{H.isPending||(y(!1),H.reset())},[H]),W=te({onSuccess:()=>R()}),ye=(0,K.useCallback)((t,n)=>{W.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[W,e]),xe=(0,K.useCallback)(()=>{z.isPending||z.mutate()},[z]),Se=(0,K.useCallback)(e=>{if(!t)return;let n=A.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[A,t]),Ce=(0,K.useCallback)(e=>{if(!t)return;let n=A.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[A,t]),q=l({mutationFn:t=>_e(e,t.channelId),onSuccess:()=>R(),onError:G(`Failed to verify channel`)}),J=(0,K.useCallback)(e=>{if(!P)return;let t=P.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&q.mutate({channelId:t.id})},[P,q]),X=nt({assistantId:e,channelType:`slack`,contact:P?{id:P.id,displayName:P.displayName}:null,onLinked:R}),Z=c({...ce(e),enabled:!!e&&X.dialogOpen,select:e=>e.users}),Q=T.channels.some(e=>e.key===`slack`&&e.status===`ready`),we=(0,K.useCallback)(e=>{e===X.channelType&&X.open()},[X]),Ee=B.isPending?B.variables:null,$=(0,K.useMemo)(()=>P?V.isPending&&V.variables?.contactId===P.id?{...P,displayName:V.variables.patch.displayName,notes:V.variables.patch.notes}:P:null,[P,V.isPending,V.variables]);if(f)return(0,Y.jsx)(i,{to:`${ie.channels}?setup=${f}`,replace:!0});let De={loading:C.isLoading,assistantName:b,guardian:M?{id:M.id,displayName:M.displayName.startsWith(`vellum-principal-`)?``:M.displayName,role:M.role,channelTypes:lt(M.channels,n)}:null,regularContacts:N.filter(e=>e.id!==Ee).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:lt(e.channels,n),verified:ct(e.channels)})),selection:p,onAddContact:xe,addingContact:z.isPending};return(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden sm:flex-row sm:gap-6`,children:[(0,Y.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Y.jsx)(he,{onClick:()=>_(!0)})}),(0,Y.jsx)(ge,{open:g,onClose:()=>_(!1),title:`Contacts`,children:(0,Y.jsx)(Ke,{...De,onSelect:U})}),(0,Y.jsx)(`aside`,{className:`hidden min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch sm:block`,children:(0,Y.jsx)(Ke,{...De,onSelect:U})}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:p.kind===`assistant`||p.kind===`contact`&&p.contactId===Ee?(0,Y.jsx)(Te,{assistantName:b,channels:T.channels,pendingChannelKey:T.pendingChannelKey,onConnect:T.onSetup,onDisconnect:T.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(Je,{contact:$,savePending:V.isPending,verifyPending:q.isPending,mergePending:H.isPending,canMerge:I,availableChannels:A,a2aEnabled:n,onSave:e=>{V.mutate({contactId:$.id,patch:e})},onMerge:ue,onSetupChannel:t?Ce:void 0,onVerifyChannel:J,onRevokeChannel:ye,onGenerateInviteLink:n?h.open:void 0}):(0,Y.jsx)(Ne,{contact:$,savePending:V.isPending,deletePending:B.isPending,verifyPending:q.isPending,mergePending:H.isPending,canMerge:I,availableChannels:A,a2aEnabled:n,channelProvenance:se,onSave:e=>{V.mutate({contactId:$.id,patch:e})},onDelete:()=>{B.mutate($.id)},onMerge:ue,onSetupChannel:t?Se:void 0,onVerifyChannel:J,onRevokeChannel:ye,onLinkAccount:Q?we:void 0}):(0,Y.jsx)(ot,{})}),P?(0,Y.jsx)(Fe,{open:v,survivor:P,candidates:F,pending:H.isPending,errorMessage:H.error instanceof Error?H.error.message:H.error?`Failed to merge contacts`:null,onMerge:t=>H.mutate({path:{assistant_id:e},body:{keepId:P.id,mergeId:t}}),onClose:pe}):null,(0,Y.jsx)(Qe,{open:X.dialogOpen,channelLabel:`Slack`,contactName:P?.displayName??``,accounts:Z.data,loading:Z.isLoading,errorMessage:Z.isError?`Couldn’t load the workspace roster. Check the Slack connection and try again.`:X.linkErrorMessage,pendingAccountId:X.pendingAccountId,onPick:X.pick,onClose:X.close,onInviteInstead:t?()=>{X.close(),Se(X.channelType)}:void 0}),(0,Y.jsx)(fe,{open:h.isOpen,assistantId:e,onClose:h.close})]})}function ot(){return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a contact`})})}var st={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`,a2a:`A2A`};function ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||J(e)))}function lt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(st[e]??i.type))}return r}function ut(){let e=o(),t=H();return(0,Y.jsx)(at,{assistantId:t,onStartSetupConversation:t=>{z(e,{prompt:t})}},t)}export{ut as ContactsPageRoute};
@@ -1 +1 @@
1
- import{t as e}from"./capture-error-Dhiismgm.js";import{t}from"./queryOptions-BtNi-_9H.js";import{Q as n}from"./sdk.gen-BwnFjFcp.js";import{n as r,r as i,t as a}from"./api-errors-CrWDzVca.js";function o(e){return e.surfacedAt==null?e.conversationType===`background`||e.conversationType===`scheduled`||e.groupId===`system:background`||e.groupId===`system:scheduled`:!1}function s(e){return e.conversationType===`scheduled`||e.groupId===`system:scheduled`}function c(e){return!e.hasUnseenLatestAssistantMessage&&!o(e)&&e.conversationId!=null&&e.latestAssistantMessageAt!=null}function l(e){return e.hasUnseenLatestAssistantMessage===!0&&!o(e)&&e.conversationId!=null}function u(e){return e.hasUnseenLatestAssistantMessage===!0&&!o(e)&&e.archivedAt==null}function d(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function f(e){return typeof e==`string`?e:void 0}function p(e){if(e)return{sourceChannel:e.sourceChannel,externalChatId:e.externalChatId,externalThreadId:e.externalThreadId,externalChatName:e.externalChatName,externalUserId:f(e.externalUserId),displayName:f(e.displayName),username:f(e.username),slackChannel:e.slackChannel?{channelId:e.slackChannel.channelId,name:e.slackChannel.name,link:e.slackChannel.link?.webUrl?{webUrl:e.slackChannel.link.webUrl}:void 0}:void 0,slackThread:e.slackThread?{channelId:e.slackThread.channelId,threadTs:e.slackThread.threadTs,link:e.slackThread.link?.appUrl||e.slackThread.link?.webUrl?{appUrl:e.slackThread.link.appUrl,webUrl:e.slackThread.link.webUrl}:void 0}:void 0}}function m(e){let t=e.assistantAttention,n=e.channelBinding?.sourceChannel??f(e.conversationOriginChannel);return{conversationId:e.id,title:e.title,createdAt:d(e.createdAt),lastMessageAt:d(e.lastMessageAt??e.updatedAt),hasUnseenLatestAssistantMessage:t?.hasUnseenLatestAssistantMessage,latestAssistantMessageAt:d(t?.latestAssistantMessageAt),lastSeenAssistantMessageAt:d(t?.lastSeenAssistantMessageAt),archivedAt:e.archivedAt,surfacedAt:d(e.surfacedAt),groupId:f(e.groupId),source:e.source,isPinned:e.isPinned,conversationType:e.conversationType,scheduleJobId:e.scheduleJobId,displayOrder:d(e.displayOrder),channelBinding:p(e.channelBinding),originChannel:n,isProcessing:e.isProcessing}}function h(e){return m(e)}var g=`conversation-list`;function _(e){return[g,e??``]}function v(e){return[g,e??``,`foreground`]}function y(e){return[g,e??``,`archived`]}function b(e){return[g,e??``,`background`]}function x(e){return[g,e??``,`scheduled`]}function S(e){return[g,e??``,`channel`]}function C(e){return(t,n)=>(n[e]??0)-(t[e]??0)}var w=50,T=200;async function E(e,t,o={}){let{conversationType:s,archiveStatus:c,originChannel:l}=o,{data:u,error:d,response:f}=await n({path:{assistant_id:e},query:{limit:w,offset:t,...s?{conversationType:s}:{},...c?{archiveStatus:c}:{},...l?{originChannel:l}:{}},throwOnError:!1});if(r(f,d,`Failed to list conversations.`),!f.ok){let e=i(d,f,`Failed to list conversations.`);throw new a(f.status,e)}return{conversations:(u?.conversations??[]).map(m),hasMore:u?.hasMore??!1}}async function D(e,t={}){let n=[],r=new Set;for(let i=0;i<T;i++){let{conversations:a,hasMore:o}=await E(e,i*w,t);for(let e of a)r.has(e.conversationId)||(r.add(e.conversationId),n.push(e));if(!o||a.length===0)break}return n}async function O(t,n=`active`,r=`lastMessageAt`){let i=n===`active`?{}:{archiveStatus:n},a={...i,conversationType:`background`},[o,s]=await Promise.allSettled([D(t,i),D(t,a)]);if(o.status===`rejected`)throw o.reason;let c=o.value,l=[];s.status===`fulfilled`?l=s.value:e(s.reason,{context:`fetchMergedConversationList.background(${n})`,level:`warning`,extra:{assistantId:t}});let u=new Set,d=[];for(let e of[...c,...l])u.has(e.conversationId)||(u.add(e.conversationId),d.push(e));return d.sort(C(r)),d}async function k(e){return[...await D(e)].sort(C(`lastMessageAt`))}async function A(e){let{conversations:t}=await E(e,0);return t.length>0}async function j(e){return(await D(e,{conversationType:`background`})).filter(e=>!s(e)).sort(C(`lastMessageAt`))}async function M(e){return[...await D(e,{conversationType:`scheduled`})].sort(C(`lastMessageAt`))}async function N(e){return O(e,`archived`,`archivedAt`)}async function P(e){let t=await E(e,0);return{...t,conversations:[...t.conversations].sort(C(`lastMessageAt`))}}async function F(e){let t=await E(e,0,{conversationType:`background`});return{...t,conversations:t.conversations.filter(e=>!s(e)).sort(C(`lastMessageAt`))}}async function I(e){let t=await E(e,0,{conversationType:`scheduled`});return{...t,conversations:[...t.conversations].sort(C(`lastMessageAt`))}}var L=3e4;function R(e){return t({queryKey:v(e),queryFn:()=>k(e),staleTime:L})}function z(e){return t({queryKey:b(e),queryFn:()=>j(e),staleTime:L})}function B(e){return t({queryKey:x(e),queryFn:()=>M(e),staleTime:L})}function V(e){return t({queryKey:y(e),queryFn:()=>N(e),staleTime:L})}export{c as _,R as a,s as b,A as c,I as d,S as f,l as g,h,b as i,F as l,x as m,y as n,_ as o,B as p,z as r,v as s,V as t,P as u,u as v,o as y};
1
+ import{t as e}from"./capture-error-Dhiismgm.js";import{t}from"./queryOptions-BtNi-_9H.js";import{Q as n}from"./sdk.gen-CFgJ4K6f.js";import{n as r,r as i,t as a}from"./api-errors-CrWDzVca.js";function o(e){return e.surfacedAt==null?e.conversationType===`background`||e.conversationType===`scheduled`||e.groupId===`system:background`||e.groupId===`system:scheduled`:!1}function s(e){return e.conversationType===`scheduled`||e.groupId===`system:scheduled`}function c(e){return!e.hasUnseenLatestAssistantMessage&&!o(e)&&e.conversationId!=null&&e.latestAssistantMessageAt!=null}function l(e){return e.hasUnseenLatestAssistantMessage===!0&&!o(e)&&e.conversationId!=null}function u(e){return e.hasUnseenLatestAssistantMessage===!0&&!o(e)&&e.archivedAt==null}function d(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function f(e){return typeof e==`string`?e:void 0}function p(e){if(e)return{sourceChannel:e.sourceChannel,externalChatId:e.externalChatId,externalThreadId:e.externalThreadId,externalChatName:e.externalChatName,externalUserId:f(e.externalUserId),displayName:f(e.displayName),username:f(e.username),slackChannel:e.slackChannel?{channelId:e.slackChannel.channelId,name:e.slackChannel.name,link:e.slackChannel.link?.webUrl?{webUrl:e.slackChannel.link.webUrl}:void 0}:void 0,slackThread:e.slackThread?{channelId:e.slackThread.channelId,threadTs:e.slackThread.threadTs,link:e.slackThread.link?.appUrl||e.slackThread.link?.webUrl?{appUrl:e.slackThread.link.appUrl,webUrl:e.slackThread.link.webUrl}:void 0}:void 0}}function m(e){let t=e.assistantAttention,n=e.channelBinding?.sourceChannel??f(e.conversationOriginChannel);return{conversationId:e.id,title:e.title,createdAt:d(e.createdAt),lastMessageAt:d(e.lastMessageAt??e.updatedAt),hasUnseenLatestAssistantMessage:t?.hasUnseenLatestAssistantMessage,latestAssistantMessageAt:d(t?.latestAssistantMessageAt),lastSeenAssistantMessageAt:d(t?.lastSeenAssistantMessageAt),archivedAt:e.archivedAt,surfacedAt:d(e.surfacedAt),groupId:f(e.groupId),source:e.source,isPinned:e.isPinned,conversationType:e.conversationType,scheduleJobId:e.scheduleJobId,displayOrder:d(e.displayOrder),channelBinding:p(e.channelBinding),originChannel:n,isProcessing:e.isProcessing}}function h(e){return m(e)}var g=`conversation-list`;function _(e){return[g,e??``]}function v(e){return[g,e??``,`foreground`]}function y(e){return[g,e??``,`archived`]}function b(e){return[g,e??``,`background`]}function x(e){return[g,e??``,`scheduled`]}function S(e){return[g,e??``,`channel`]}function C(e){return(t,n)=>(n[e]??0)-(t[e]??0)}var w=50,T=200;async function E(e,t,o={}){let{conversationType:s,archiveStatus:c,originChannel:l}=o,{data:u,error:d,response:f}=await n({path:{assistant_id:e},query:{limit:w,offset:t,...s?{conversationType:s}:{},...c?{archiveStatus:c}:{},...l?{originChannel:l}:{}},throwOnError:!1});if(r(f,d,`Failed to list conversations.`),!f.ok){let e=i(d,f,`Failed to list conversations.`);throw new a(f.status,e)}return{conversations:(u?.conversations??[]).map(m),hasMore:u?.hasMore??!1}}async function D(e,t={}){let n=[],r=new Set;for(let i=0;i<T;i++){let{conversations:a,hasMore:o}=await E(e,i*w,t);for(let e of a)r.has(e.conversationId)||(r.add(e.conversationId),n.push(e));if(!o||a.length===0)break}return n}async function O(t,n=`active`,r=`lastMessageAt`){let i=n===`active`?{}:{archiveStatus:n},a={...i,conversationType:`background`},[o,s]=await Promise.allSettled([D(t,i),D(t,a)]);if(o.status===`rejected`)throw o.reason;let c=o.value,l=[];s.status===`fulfilled`?l=s.value:e(s.reason,{context:`fetchMergedConversationList.background(${n})`,level:`warning`,extra:{assistantId:t}});let u=new Set,d=[];for(let e of[...c,...l])u.has(e.conversationId)||(u.add(e.conversationId),d.push(e));return d.sort(C(r)),d}async function k(e){return[...await D(e)].sort(C(`lastMessageAt`))}async function A(e){let{conversations:t}=await E(e,0);return t.length>0}async function j(e){return(await D(e,{conversationType:`background`})).filter(e=>!s(e)).sort(C(`lastMessageAt`))}async function M(e){return[...await D(e,{conversationType:`scheduled`})].sort(C(`lastMessageAt`))}async function N(e){return O(e,`archived`,`archivedAt`)}async function P(e){let t=await E(e,0);return{...t,conversations:[...t.conversations].sort(C(`lastMessageAt`))}}async function F(e){let t=await E(e,0,{conversationType:`background`});return{...t,conversations:t.conversations.filter(e=>!s(e)).sort(C(`lastMessageAt`))}}async function I(e){let t=await E(e,0,{conversationType:`scheduled`});return{...t,conversations:[...t.conversations].sort(C(`lastMessageAt`))}}var L=3e4;function R(e){return t({queryKey:v(e),queryFn:()=>k(e),staleTime:L})}function z(e){return t({queryKey:b(e),queryFn:()=>j(e),staleTime:L})}function B(e){return t({queryKey:x(e),queryFn:()=>M(e),staleTime:L})}function V(e){return t({queryKey:y(e),queryFn:()=>N(e),staleTime:L})}export{c as _,R as a,s as b,A as c,I as d,S as f,l as g,h,b as i,F as l,x as m,y as n,_ as o,B as p,z as r,v as s,V as t,P as u,u as v,o as y};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]);export{t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./card-Bv5O5juh.js";import{t as a}from"./circle-alert-zOqdmf25.js";import{t as o}from"./circle-check-VSiny8yl.js";import{t as s}from"./key-round-CD3JWrs1.js";import{t as c}from"./loader-circle-Cz7opInR.js";import{t as l}from"./input-CoUmPnRU.js";import{s as u}from"./remote-gateway-session-CbBWrPZH.js";var d=e(t(),1),f=`/v1/credential-requests/peek`,p=`/v1/credential-requests/submit`;function m(e){return e>0xe8d4a51000?e:e*1e3}function h(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function g(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function _(e,t){let n=await fetch(u(f),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&g(r)?{status:`ok`,request:r}:n.status===404?{status:h(r)??`invalid`}:{status:`error`}}async function v(e,t,n){let r=await fetch(u(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let i=await r.json().catch(()=>null);return r.status===404?{status:h(i)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var y=r();function b(e){let[t,n]=(0,d.useState)(()=>Date.now());return(0,d.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function x(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function S({icon:e,title:t,children:n}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,y.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,y.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function C(){let[e]=(0,d.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[t,r]=(0,d.useState)({kind:`loading`}),[u,f]=(0,d.useState)(``),[p,h]=(0,d.useState)(!1),[g,C]=(0,d.useState)(null),w=b(1e3);(0,d.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,d.useEffect)(()=>{if(!e){r({kind:`invalid`});return}let t=new AbortController;return(async()=>{let n=await _(e,t.signal).catch(()=>({status:`error`}));t.signal.aborted||(n.status===`ok`?r({kind:`form`,request:n.request}):r({kind:n.status}))})(),()=>{t.abort()}},[e]);let T=async n=>{if(n.preventDefault(),!e||t.kind!==`form`||!u.trim()||p)return;h(!0),C(null);let i=await v(e,u).catch(()=>({status:`error`}));switch(h(!1),i.status){case`ok`:f(``),r({kind:`success`});break;case`invalid`:case`expired`:case`used`:r({kind:i.status});break;case`store-failed`:f(``),r({kind:`store-failed`});break;case`error`:C(`Something went wrong while submitting. Check your connection and try again.`);break}},E=t.kind===`form`?m(t.request.expiresAt):null,D=t.kind===`form`&&E!==null&&E>w,O;if(t.kind===`loading`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(c,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:`Checking link`,children:`Looking up this credential request.`});else if(t.kind===`success`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(o,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:`Credential saved`,children:`You can close this tab and return to your conversation — the assistant can use the credential right away. The value can't be viewed again.`});else if(t.kind===`invalid`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link not valid`,children:`This credential link isn't valid. Check that the full link was copied, or ask for a new one.`});else if(t.kind===`expired`||t.kind===`form`&&!D)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link expired`,children:`This credential link has expired. Links only work for a short time — ask for a new one and enter the value again.`});else if(t.kind===`used`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link already used`,children:`This credential link has already been used. Each link works exactly once — ask for a new one if the value still needs to be provided.`});else if(t.kind===`store-failed`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link no longer valid`,children:`The assistant could not store the credential, and for safety this one-time link cannot be reused. Ask for a new link and try again there.`});else if(t.kind===`error`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Something went wrong`,children:`The credential request couldn't be loaded. Refresh the page to try again.`});else{let{request:e}=t,r=`${e.service}:${e.field}`,i=(E??0)-w;O=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(s,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,y.jsx)(`h1`,{className:`text-xl font-semibold`,children:`Provide a credential`})]}),(0,y.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label||r}),(0,y.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[e.label?`${r} · `:``,`one-time entry`]})]}),(0,y.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:`Enter the secret value below. It is stored encrypted on the assistant, is never shown again, and this link stops working as soon as it's used.`}),(0,y.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void T(e),children:[(0,y.jsx)(l,{label:`Secret value`,type:`password`,value:u,onChange:e=>f(e.target.value),placeholder:`Enter the secret value`,autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:g??void 0}),(0,y.jsx)(n,{type:`submit`,disabled:p||!u.trim(),leftIcon:p?(0,y.jsx)(c,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Submit`})]}),(0,y.jsxs)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:[`Expires in `,x(i),` (`,new Date(E??0).toLocaleTimeString(),`).`]})]})}return(0,y.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,y.jsx)(`div`,{className:`w-full max-w-md`,children:(0,y.jsx)(i.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,y.jsx)(`div`,{className:`flex flex-col gap-4`,children:O})})})})}export{C as CredentialEntryPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-BQVYX8n_.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./card-D8zyWtZh.js";import{t as a}from"./circle-alert-_RJjkRGu.js";import{t as o}from"./circle-check-DWe3QGcN.js";import{t as s}from"./key-round-CN4UKztQ.js";import{t as c}from"./loader-circle-Ck8fq3yv.js";import{t as l}from"./input-6HVXMszw.js";import{s as u}from"./remote-gateway-session-CBKZhJak.js";var d=e(t(),1),f=`/v1/credential-requests/peek`,p=`/v1/credential-requests/submit`;function m(e){return e>0xe8d4a51000?e:e*1e3}function h(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function g(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function _(e,t){let n=await fetch(u(f),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&g(r)?{status:`ok`,request:r}:n.status===404?{status:h(r)??`invalid`}:{status:`error`}}async function v(e,t,n){let r=await fetch(u(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let i=await r.json().catch(()=>null);return r.status===404?{status:h(i)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var y=r();function b(e){let[t,n]=(0,d.useState)(()=>Date.now());return(0,d.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function x(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function S({icon:e,title:t,children:n}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,y.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,y.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function C(){let[e]=(0,d.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[t,r]=(0,d.useState)({kind:`loading`}),[u,f]=(0,d.useState)(``),[p,h]=(0,d.useState)(!1),[g,C]=(0,d.useState)(null),w=b(1e3);(0,d.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,d.useEffect)(()=>{if(!e){r({kind:`invalid`});return}let t=new AbortController;return(async()=>{let n=await _(e,t.signal).catch(()=>({status:`error`}));t.signal.aborted||(n.status===`ok`?r({kind:`form`,request:n.request}):r({kind:n.status}))})(),()=>{t.abort()}},[e]);let T=async n=>{if(n.preventDefault(),!e||t.kind!==`form`||!u.trim()||p)return;h(!0),C(null);let i=await v(e,u).catch(()=>({status:`error`}));switch(h(!1),i.status){case`ok`:f(``),r({kind:`success`});break;case`invalid`:case`expired`:case`used`:r({kind:i.status});break;case`store-failed`:f(``),r({kind:`store-failed`});break;case`error`:C(`Something went wrong while submitting. Check your connection and try again.`);break}},E=t.kind===`form`?m(t.request.expiresAt):null,D=t.kind===`form`&&E!==null&&E>w,O;if(t.kind===`loading`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(c,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:`Checking link`,children:`Looking up this credential request.`});else if(t.kind===`success`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(o,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:`Credential saved`,children:`You can close this tab and return to your conversation — the assistant can use the credential right away. The value can't be viewed again.`});else if(t.kind===`invalid`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link not valid`,children:`This credential link isn't valid. Check that the full link was copied, or ask for a new one.`});else if(t.kind===`expired`||t.kind===`form`&&!D)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link expired`,children:`This credential link has expired. Links only work for a short time — ask for a new one and enter the value again.`});else if(t.kind===`used`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link already used`,children:`This credential link has already been used. Each link works exactly once — ask for a new one if the value still needs to be provided.`});else if(t.kind===`store-failed`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Link no longer valid`,children:`The assistant could not store the credential, and for safety this one-time link cannot be reused. Ask for a new link and try again there.`});else if(t.kind===`error`)O=(0,y.jsx)(S,{icon:(0,y.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:`Something went wrong`,children:`The credential request couldn't be loaded. Refresh the page to try again.`});else{let{request:e}=t,r=`${e.service}:${e.field}`,i=(E??0)-w;O=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(s,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,y.jsx)(`h1`,{className:`text-xl font-semibold`,children:`Provide a credential`})]}),(0,y.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label||r}),(0,y.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[e.label?`${r} · `:``,`one-time entry`]})]}),(0,y.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:`Enter the secret value below. It is stored encrypted on the assistant, is never shown again, and this link stops working as soon as it's used.`}),(0,y.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void T(e),children:[(0,y.jsx)(l,{label:`Secret value`,type:`password`,value:u,onChange:e=>f(e.target.value),placeholder:`Enter the secret value`,autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:g??void 0}),(0,y.jsx)(n,{type:`submit`,disabled:p||!u.trim(),leftIcon:p?(0,y.jsx)(c,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Submit`})]}),(0,y.jsxs)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:[`Expires in `,x(i),` (`,new Date(E??0).toLocaleTimeString(),`).`]})]})}return(0,y.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,y.jsx)(`div`,{className:`w-full max-w-md`,children:(0,y.jsx)(i.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,y.jsx)(`div`,{className:`flex flex-col gap-4`,children:O})})})})}export{C as CredentialEntryPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-BQVYX8n_.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./card-D8zyWtZh.js";import{t as c}from"./check-CkQjevXL.js";import{t as l}from"./chevron-down-DwIPfcCg.js";import{o as u}from"./list-row-BvLPXpTK.js";import{t as d}from"./eye-off-CG1f2Bnj.js";import{t as f}from"./eye-nshRoUpm.js";import{t as p}from"./key-round-CN4UKztQ.js";import{t as m}from"./link-2-B9c5ZsFq.js";import{t as h}from"./loader-circle-Ck8fq3yv.js";import{t as g}from"./plus-DZZypDUF.js";import{j as _}from"./src-CYX5MuYs.js";import{t as v}from"./tag-D0AE0-aA.js";import{t as y}from"./popover-rW459udD.js";import{t as b}from"./input-6HVXMszw.js";import{t as x}from"./modal-bIQsMU63.js";import{n as S,t as C}from"./panel-item-CfuwAm7q.js";import{n as w}from"./toast-Ca-EEKyA.js";import{t as ee}from"./confirm-dialog-0S-O513X.js";import{Rr as T,lt as te,ut as E}from"./sdk.gen-CFgJ4K6f.js";import{Ut as ne,Wt as re}from"./react-query.gen-JxTd3SS8.js";import{t as ie}from"./use-is-org-ready-Cf1j_pDw.js";import{t as D}from"./assistant-feature-flag-store-xCO0XexH.js";import{Cr as O,Mi as ae,Si as k,t as A}from"./index-BZVPYTjj.js";import{t as oe}from"./use-active-assistant-id-KipCgPNT.js";import{t as se}from"./detail-card-D-y4TcVy.js";var j=e(n(),1),M=o(),N=1500;function P(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,canGenerateLink:n,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let c=`${e.service}:${e.field}`,[l,u]=(0,j.useState)(!1),d=[e.alias?c:null,e.createdAt?`added ${P(e.createdAt)}`:null].filter(e=>!!e);return(0,M.jsx)(s.Root,{children:(0,M.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,M.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,M.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,M.jsx)(F,{assistantId:t,credential:e})}),d.length>0&&(0,M.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,M.jsx)(`div`,{className:`shrink-0`,children:(0,M.jsx)(I,{name:c,open:l,onOpenChange:u,canGenerateLink:n,generatingLink:r,deleting:i,onGenerateLink:()=>{u(!1),a()},onDelete:()=>{u(!1),o()}})})]})})}function F({assistantId:e,credential:t}){let[n,r]=(0,j.useState)(null),[i,a]=(0,j.useState)(!1),[o,s]=(0,j.useState)(!1),l=(0,j.useRef)(null),p=(0,j.useRef)(0),m=`${t.service}:${t.field}`,g=(0,j.useCallback)(()=>{p.current++,r(null),a(!1),s(!1),l.current&&=(clearTimeout(l.current),null)},[]);(0,j.useEffect)(()=>{g()},[t.updatedAt,g]);let _=(0,j.useCallback)(async()=>{let n=++p.current;a(!0);try{let{data:i}=await E({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});p.current===n&&r(i.value)}catch{p.current===n&&w.error(`Couldn't reveal ${m}.`)}finally{p.current===n&&a(!1)}},[e,t.service,t.field,m]),v=(0,j.useCallback)(()=>{n!=null&&navigator.clipboard.writeText(n).then(()=>{s(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>s(!1),N)},()=>w.error(`Couldn't copy — reveal and copy manually.`))},[n]),y=n!==null;return t.hasSecret?(0,M.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,M.jsx)(`button`,{type:`button`,onClick:()=>y?g():void _(),disabled:i,"aria-label":y?`Hide value for ${m}`:`Reveal value for ${m}`,title:y?`Hide value`:`Click to reveal`,"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)] ${y?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:y?n:t.scrubbedValue}),i?(0,M.jsx)(h,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):y?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`button`,{type:`button`,onClick:v,"aria-label":`Copy value for ${m}`,title:`Copy value`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:o?(0,M.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,M.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,onClick:g,"aria-label":`Hide value for ${m}`,title:`Hide value`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,M.jsx)(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,M.jsx)(`button`,{type:`button`,onClick:()=>void _(),"aria-label":`Reveal value for ${m}`,title:`Click to reveal`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,M.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,M.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function I({name:e,open:t,onOpenChange:n,canGenerateLink:i,generatingLink:a,deleting:o,onGenerateLink:s,onDelete:c}){let u=O(),d=a||o,f=(0,M.jsx)(r,{variant:`outlined`,rightIcon:(0,M.jsx)(l,{}),"aria-haspopup":`menu`,"aria-expanded":t,"aria-label":`Configure ${e}`,leftIcon:d?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Configure`});return u?(0,M.jsxs)(S.Root,{open:t,onOpenChange:n,children:[(0,M.jsx)(S.Trigger,{asChild:!0,children:f}),(0,M.jsxs)(S.Content,{children:[(0,M.jsx)(S.Header,{children:(0,M.jsx)(S.Title,{children:e})}),(0,M.jsxs)(S.Body,{children:[i&&(0,M.jsx)(C,{icon:a?h:m,label:`Generate link`,onSelect:()=>{d||s()}}),(0,M.jsx)(C,{icon:o?h:k,label:`Delete`,onSelect:()=>{d||c()}})]})]})]}):(0,M.jsxs)(y.Root,{open:t,onOpenChange:n,children:[(0,M.jsx)(y.Trigger,{asChild:!0,children:f}),(0,M.jsxs)(y.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[i&&(0,M.jsx)(r,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:s,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:a?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):(0,M.jsx)(m,{"aria-hidden":!0}),children:`Generate link`}),(0,M.jsx)(r,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:c,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:o?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):(0,M.jsx)(k,{"aria-hidden":!0}),children:`Delete`})]})]})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function ue(e,t){let{data:n,response:r}=await T.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}function de(e){return[`credentials-list`,e]}var L=6;function R(){let e=D.use.credentialsSettings(),t=D.use.hasHydrated();return t&&!e?(0,M.jsx)(A,{}):t?(0,M.jsx)(z,{}):null}function z(){let e=oe(),n=i(),o=ie(),c=D.use.credentialRequests(),l=de(e),d=a({queryKey:l,queryFn:async()=>{let{data:t}=await te({path:{assistant_id:e},body:{},throwOnError:!0});return{credentials:t.credentials,managedCredentials:t.managedCredentials}},enabled:o,retry:t}),f=(0,j.useMemo)(()=>d.data?.credentials??[],[d.data]),y=(0,j.useMemo)(()=>d.data?.managedCredentials??[],[d.data]),S=re({onSuccess:()=>{n.invalidateQueries({queryKey:l}),w.success(`Credential saved.`)},onError:e=>{w.error(e.message||`Failed to save credential`)}}),C=ne({onError:e=>{w.error(e.message||`Failed to delete credential`)}}),[T,E]=(0,j.useState)(!1),[O,k]=(0,j.useState)(`own`),[A,N]=(0,j.useState)(``),[P,F]=(0,j.useState)(``),[I,R]=(0,j.useState)(``),[z,B]=(0,j.useState)(``),[V,H]=(0,j.useState)(``),[U,W]=(0,j.useState)(null),[G,K]=(0,j.useState)(null),[fe,q]=(0,j.useState)(null),J=S.isPending,pe=C.isPending?`${C.variables?.body?.service}:${C.variables?.body?.field}`:null,Y=(0,j.useMemo)(()=>{let e=A.trim().toLowerCase();return e?f.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):f},[f,A]);(0,j.useEffect)(()=>{f.length<=L&&N(``)},[f.length]),(0,j.useEffect)(()=>{f.length===0&&y.length>0&&k(`managed`)},[f.length,y.length]);let X=()=>{E(!1),F(``),R(``),B(``),H(``)},me=t=>{t?.preventDefault();let n=P.trim(),r=I.trim();!n||!r||!z.trim()||S.mutate({path:{assistant_id:e},body:{service:n,field:r,value:z,label:V.trim()||void 0}},{onSuccess:X})},he=()=>{let t=U;W(null),t&&C.mutate({path:{assistant_id:e},body:{service:t.service,field:t.field}},{onSuccess:()=>{n.invalidateQueries({queryKey:l}),w.success(`Deleted ${t.service}:${t.field}.`)}})},ge=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await ue(e,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):w.error(r.error||`Failed to generate a one-time link`)}catch(e){w.error(e instanceof Error?e.message:`Failed to generate a one-time link`)}finally{q(null)}},_e=()=>{let e=G?.url;e&&navigator.clipboard.writeText(e).then(()=>w.success(`Link copied to clipboard.`),()=>w.error(`Couldn't copy the link — select it and copy manually.`))};if(d.isLoading)return(0,M.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,M.jsx)(h,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=f.length>0,Q=y.length>0,ve=f.length>L,$=O===`managed`&&Q;return(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsx)(se,{title:`Credentials`,subtitle:$?`Provided through your Vellum-managed integrations. These are read-only here.`:`Stored encrypted in your assistant's credential vault. Reveal a value on demand, or replace or delete it at any time.`,accessory:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,M.jsx)(_,{items:[{value:`own`,label:`Your own`},{value:`managed`,label:`Managed`}],value:O,onChange:k,ariaLabel:`Credential source`}):null,!$&&Z?(0,M.jsx)(r,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>E(!0),leftIcon:(0,M.jsx)(g,{"aria-hidden":!0}),children:`Add`}):null]}),children:$?(0,M.jsx)(`div`,{className:`space-y-2`,children:y.map(e=>(0,M.jsx)(s.Root,{children:(0,M.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,M.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.provider}),(0,M.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[e.accountInfo??e.handle,` · `,e.status]})]}),(0,M.jsx)(v,{tone:`neutral`,children:`Managed`})]})},e.handle))}):(0,M.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,M.jsxs)(`div`,{className:`space-y-3`,children:[ve?(0,M.jsx)(b,{type:`text`,value:A,onChange:e=>N(e.target.value),placeholder:`Search credentials`,"aria-label":`Search credentials`,leftIcon:(0,M.jsx)(ae,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,M.jsxs)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No credentials matched “`,A.trim(),`”.`]}):(0,M.jsx)(`div`,{className:`space-y-2`,children:Y.map(t=>{let n=`${t.service}:${t.field}`;return(0,M.jsx)(ce,{credential:t,assistantId:e,canGenerateLink:c,generatingLink:fe===n,deleting:pe===n,onGenerateLink:()=>void ge(t),onDelete:()=>W(t)},t.credentialId??n)})})]}):(0,M.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,M.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,M.jsx)(p,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,M.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No credentials yet`}),(0,M.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Add an API key or token to let tools and integrations use it.`})]}),Z?null:(0,M.jsx)(r,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,M.jsx)(g,{"aria-hidden":!0}),children:`Add Credential`})]})}),(0,M.jsx)(ee,{open:U!==null,title:`Delete credential`,message:U?`Delete ${U.service}:${U.field}? Tools and integrations using it will lose access.`:``,confirmLabel:`Delete`,destructive:!0,onConfirm:he,onCancel:()=>W(null)}),(0,M.jsx)(x.Root,{open:T,onOpenChange:e=>{!e&&!J&&X()},children:(0,M.jsx)(x.Content,{size:`sm`,children:(0,M.jsxs)(`form`,{onSubmit:me,children:[(0,M.jsxs)(x.Header,{children:[(0,M.jsx)(x.Title,{icon:p,children:`Add credential`}),(0,M.jsx)(x.Description,{children:`Add an API key or token to let tools and integrations use it.`})]}),(0,M.jsxs)(x.Body,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row`,children:[(0,M.jsx)(b,{label:`Service`,type:`text`,value:P,onChange:e=>F(e.target.value),placeholder:`e.g. github`,autoFocus:!0,fullWidth:!0}),(0,M.jsx)(b,{label:`Field`,type:`text`,value:I,onChange:e=>R(e.target.value),placeholder:`e.g. api_token`,fullWidth:!0})]}),(0,M.jsx)(b,{label:`Value`,type:`password`,value:z,onChange:e=>B(e.target.value),placeholder:`Enter the secret value`,fullWidth:!0}),(0,M.jsx)(b,{label:`Label (optional)`,type:`text`,value:V,onChange:e=>H(e.target.value),placeholder:`e.g. GitHub personal access token`,fullWidth:!0})]}),(0,M.jsxs)(x.Footer,{children:[(0,M.jsx)(r,{type:`button`,variant:`outlined`,onClick:X,disabled:J,children:`Cancel`}),(0,M.jsx)(r,{type:`submit`,variant:`primary`,disabled:J||!P.trim()||!I.trim()||!z.trim(),leftIcon:J?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Save`})]})]})})}),(0,M.jsx)(x.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,M.jsxs)(x.Content,{size:`sm`,children:[(0,M.jsxs)(x.Header,{children:[(0,M.jsx)(x.Title,{icon:m,children:`One-time credential link`}),(0,M.jsx)(x.Description,{children:G?`Send this link to whoever should provide ${G.name}. It works exactly once${G.expiresAt===null?``:` and expires ${new Date(le(G.expiresAt)).toLocaleString()}`}. Anyone with the link can set this credential, so share it over a trusted channel.`:``})]}),(0,M.jsx)(x.Body,{children:(0,M.jsx)(b,{label:`Link`,type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,M.jsx)(x.Footer,{children:(0,M.jsx)(r,{type:`button`,size:`compact`,onClick:_e,leftIcon:(0,M.jsx)(u,{"aria-hidden":!0}),children:`Copy link`})})]})})]})}export{R as CredentialsPage};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{u as n}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{c as r}from"./routes-CAkcxlmQ.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
@@ -1 +1 @@
1
- import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-amTXFI-2.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-D5f7kt80.js";import{t as o}from"./loader-circle-Cz7opInR.js";import"./src-zsLiFPw3.js";import{t as s}from"./input-CoUmPnRU.js";import{t as c}from"./modal-D5nLWNN9.js";import{n as l}from"./toast-xTp-xwYL.js";import{t as u}from"./confirm-dialog-CSkhRFRk.js";import{tn as d}from"./sdk.gen-BwnFjFcp.js";import{Ut as f}from"./index-yu6nDHvG.js";var p=e(n(),1),m=i();function h({open:e,onOpenChange:t,assistantId:n,onTokenSaved:i}){let[u,f]=(0,p.useState)(``),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(null),y=(0,p.useCallback)(async()=>{if(u.trim()){g(!0),v(null);try{await d({path:{assistant_id:n},body:{action:`set`,apiToken:u.trim()},throwOnError:!0}),f(``),i()}catch(e){let t=e instanceof Error?e.message:`Failed to save Vercel token.`;v(t),l.error(t)}finally{g(!1)}}},[n,u,i]);return(0,m.jsx)(c.Root,{open:e,onOpenChange:t,children:(0,m.jsxs)(c.Content,{size:`sm`,children:[(0,m.jsx)(c.Header,{children:(0,m.jsx)(c.Title,{children:`Connect Vercel`})}),(0,m.jsx)(c.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(a,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:`Enter your Vercel API token to deploy apps as static pages.`}),(0,m.jsx)(`a`,{href:`https://vercel.com/account/tokens`,target:`_blank`,rel:`noopener noreferrer`,className:`text-body-medium-default text-(--primary-base) hover:underline`,children:`Create a token on Vercel →`}),(0,m.jsx)(s,{type:`password`,placeholder:`Vercel API token`,value:u,onChange:e=>f(e.target.value),label:`API Token`,fullWidth:!0,errorText:_,disabled:h})]})}),(0,m.jsxs)(c.Footer,{children:[(0,m.jsx)(c.Close,{asChild:!0,children:(0,m.jsx)(r,{variant:`outlined`,disabled:h,children:`Cancel`})}),(0,m.jsx)(r,{variant:`primary`,onClick:y,disabled:h||!u.trim(),leftIcon:h?(0,m.jsx)(o,{className:`animate-spin`}):void 0,children:h?`Saving…`:`Save`})]})]})})}var g=t({DeployDialogs:()=>_});function _({assistantId:e,assistantName:t,onStartConversation:n}){let r=f.use.isTokenDialogOpen(),i=f.use.complexDeployApp();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:r,onOpenChange:e=>{e||f.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{f.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(u,{open:i!==null,title:`This app needs a full deploy`,message:`"${i?.name??``}" uses backend services that won't work on a static Vercel page. ${t??`Your assistant`} can deploy it properly with serverless functions.`,confirmLabel:`Let ${t??`your assistant`} handle it`,onConfirm:()=>{let e=f.getState().complexDeployApp?.name??`this app`;f.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>f.getState().setComplexDeployApp(null)})]})}export{g as n,_ as t};
1
+ import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-BQVYX8n_.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-Cqi8q9o7.js";import{t as o}from"./loader-circle-Ck8fq3yv.js";import"./src-CYX5MuYs.js";import{t as s}from"./input-6HVXMszw.js";import{t as c}from"./modal-bIQsMU63.js";import{n as l}from"./toast-Ca-EEKyA.js";import{t as u}from"./confirm-dialog-0S-O513X.js";import{nn as d}from"./sdk.gen-CFgJ4K6f.js";import{Lt as f}from"./index-BZVPYTjj.js";var p=e(n(),1),m=i();function h({open:e,onOpenChange:t,assistantId:n,onTokenSaved:i}){let[u,f]=(0,p.useState)(``),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(null),y=(0,p.useCallback)(async()=>{if(u.trim()){g(!0),v(null);try{await d({path:{assistant_id:n},body:{action:`set`,apiToken:u.trim()},throwOnError:!0}),f(``),i()}catch(e){let t=e instanceof Error?e.message:`Failed to save Vercel token.`;v(t),l.error(t)}finally{g(!1)}}},[n,u,i]);return(0,m.jsx)(c.Root,{open:e,onOpenChange:t,children:(0,m.jsxs)(c.Content,{size:`sm`,children:[(0,m.jsx)(c.Header,{children:(0,m.jsx)(c.Title,{children:`Connect Vercel`})}),(0,m.jsx)(c.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(a,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:`Enter your Vercel API token to deploy apps as static pages.`}),(0,m.jsx)(`a`,{href:`https://vercel.com/account/tokens`,target:`_blank`,rel:`noopener noreferrer`,className:`text-body-medium-default text-(--primary-base) hover:underline`,children:`Create a token on Vercel →`}),(0,m.jsx)(s,{type:`password`,placeholder:`Vercel API token`,value:u,onChange:e=>f(e.target.value),label:`API Token`,fullWidth:!0,errorText:_,disabled:h})]})}),(0,m.jsxs)(c.Footer,{children:[(0,m.jsx)(c.Close,{asChild:!0,children:(0,m.jsx)(r,{variant:`outlined`,disabled:h,children:`Cancel`})}),(0,m.jsx)(r,{variant:`primary`,onClick:y,disabled:h||!u.trim(),leftIcon:h?(0,m.jsx)(o,{className:`animate-spin`}):void 0,children:h?`Saving…`:`Save`})]})]})})}var g=t({DeployDialogs:()=>_});function _({assistantId:e,assistantName:t,onStartConversation:n}){let r=f.use.isTokenDialogOpen(),i=f.use.complexDeployApp();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:r,onOpenChange:e=>{e||f.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{f.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(u,{open:i!==null,title:`This app needs a full deploy`,message:`"${i?.name??``}" uses backend services that won't work on a static Vercel page. ${t??`Your assistant`} can deploy it properly with serverless functions.`,confirmLabel:`Let ${t??`your assistant`} handle it`,onConfirm:()=>{let e=f.getState().complexDeployApp?.name??`this app`;f.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>f.getState().setComplexDeployApp(null)})]})}export{g as n,_ as t};
@@ -0,0 +1 @@
1
+ import{P as e}from"./button-BQVYX8n_.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./card-D8zyWtZh.js";import"./src-CYX5MuYs.js";var r=t();function i({id:t,title:i,subtitle:a,accessory:o,compactAccessory:s=!1,children:c,showBorder:l=!0,variant:u=`default`,className:d}){let f=!!(i||a||o),p=(0,r.jsxs)(r.Fragment,{children:[f&&(0,r.jsxs)(`div`,{className:s?`flex flex-row items-start justify-between gap-4`:`flex flex-col items-start gap-3 md:flex-row md:items-start md:justify-between md:gap-4`,children:[(0,r.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[i&&(0,r.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),a&&(0,r.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:a})]}),o&&(0,r.jsx)(`div`,{className:`shrink-0`,children:o})]}),c!=null&&(0,r.jsx)(`div`,{className:f?`mt-4`:``,children:c})]});return l?(0,r.jsx)(n,{asChild:!0,className:e(u===`danger`&&`border-[var(--system-negative-weak)] bg-[var(--surface-lift)]`,d),children:(0,r.jsx)(`section`,{id:t,children:p})}):(0,r.jsx)(`section`,{id:t,className:e(`space-y-4`,d),children:p})}export{i as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./typography-D5f7kt80.js";import"./src-zsLiFPw3.js";import{Si as n}from"./index-yu6nDHvG.js";var r=e();function i({onStop:e,ariaLabel:i,disabled:a}){return(0,r.jsxs)(`button`,{type:`button`,"aria-label":i,onClick:e,disabled:a,className:`flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-lg border border-[var(--system-negative-strong)] bg-transparent px-2.5 py-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,r.jsx)(n,{className:`h-3 w-3`,fill:`currentColor`}),(0,r.jsx)(t,{variant:`label-small-default`,children:`Stop`})]})}export{i as t};
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./typography-Cqi8q9o7.js";import"./src-CYX5MuYs.js";import{Ei as n}from"./index-BZVPYTjj.js";var r=e();function i({onStop:e,ariaLabel:i,disabled:a}){return(0,r.jsxs)(`button`,{type:`button`,"aria-label":i,onClick:e,disabled:a,className:`flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-lg border border-[var(--system-negative-strong)] bg-transparent px-2.5 py-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,r.jsx)(n,{className:`h-3 w-3`,fill:`currentColor`}),(0,r.jsx)(t,{variant:`label-small-default`,children:`Stop`})]})}export{i as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,m as n,o as r,t as i}from"./capture-error-Dhiismgm.js";import{t as a}from"./react-DJZBPgpf.js";import{P as o,t as s}from"./button-BQVYX8n_.js";import{m as c,n as l,u}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as d}from"./QueryClientProvider-DKhXIxGb.js";import{t as f}from"./useQuery-B45lW1Kk.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{t as m}from"./createLucideIcon-Bjb-Kuq7.js";import{t as h}from"./info-CqgkBvyS.js";import{t as g}from"./loader-circle-Ck8fq3yv.js";import{t as _}from"./triangle-alert-CnjNKhNx.js";import"./src-CYX5MuYs.js";import{t as v}from"./tag-D0AE0-aA.js";import{t as y}from"./toggle-CWrJ2t4S.js";import{n as b}from"./toast-Ca-EEKyA.js";import{t as x}from"./confirm-dialog-0S-O513X.js";import{t as S}from"./dropdown-CuE5AuVj.js";import{p as C,w}from"./local-mode-Bskd5bsT.js";import{X as ee,Xt as te,Y as ne,Zt as re,c as ie,u as ae,zt as T}from"./react-query.gen-JxTd3SS8.js";import{E as oe}from"./auth-store-D3dDj0_K.js";import{t as E}from"./client.gen-DVfIRXUZ.js";import{c as D,o as se}from"./api-BsCfy4XV.js";import{c as O}from"./routes-CAkcxlmQ.js";import{t as k}from"./use-is-org-ready-Cf1j_pDw.js";import{a as ce,l as A,o as j}from"./feature-flag-catalog-BkLG5Cht.js";import{t as M}from"./client-feature-flag-store-CXG75X45.js";import{k as N,v as P}from"./react-query.gen-DjmYXavs.js";import{t as F}from"./assistant-feature-flag-store-xCO0XexH.js";import{t as I}from"./misc-CS-Pktrv.js";import{Ca as L,Mi as R,va as z}from"./index-BZVPYTjj.js";import{t as B}from"./use-active-assistant-id-KipCgPNT.js";import{t as V}from"./detail-card-D-y4TcVy.js";import{t as H}from"./environment-store-R_3zZFKL.js";import{n as U}from"./assistant-status-panel-BDnovwx0.js";var W=m(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),G=m(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),K=e(a(),1),q=p();function le({memoryEnabled:e}){let t=B(),n=d(),{data:r}=f({...ne({path:{assistant_id:t}}),staleTime:3e4}),a=e=>{ee(n,{path:{assistant_id:t}},t=>t&&{...t,status:e?`running`:`not_running`})},o=te({onSuccess:()=>a(!0)}),s=re({onSuccess:()=>a(!1)}),c=async e=>{try{e?(await o.mutateAsync({path:{assistant_id:t}}),b.success(`Background worker started.`)):(await s.mutateAsync({path:{assistant_id:t}}),b.success(`Background worker stopped.`))}catch(e){i(e,{context:`settings-memory-worker-toggle`}),b.error(`Failed to update background worker.`)}};if(!r)return null;let l=o.isPending||s.isPending;return(0,q.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4 border-t border-[var(--border-subtle)] pt-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:`Background worker`}),(0,q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Run memory consolidation in a dedicated background process. It starts automatically; stop it to pause background memory processing until the next restart.`})]}),(0,q.jsx)(y,{checked:r.status===`running`,onChange:e=>void c(e),"aria-label":`Enable background memory worker`,disabled:!e||l})]})}function ue(){let{healthz:e}=U(),t=B(),n=d(),r=e?.capabilities?.memoryOptOut===!0,{data:a}=f({...ie({path:{assistant_id:t}}),staleTime:3e4,enabled:r}),o=T({onSuccess:e=>{ae(n,{path:{assistant_id:t}},e)}}),s=a?.memory?.enabled!==!1,c=async e=>{try{await o.mutateAsync({path:{assistant_id:t},body:{memory:{enabled:e}}}),b.success(e?`Memory enabled.`:`Memory disabled.`)}catch(e){i(e,{context:`settings-memory-toggle`}),b.error(`Failed to update memory setting.`)}};return r?(0,q.jsx)(V,{title:`Memory`,subtitle:`Let your assistant remember information from past conversations. Turning this off also pauses memory consolidation.`,accessory:(0,q.jsx)(y,{checked:s,onChange:e=>void c(e),"aria-label":`Enable memory`,disabled:o.isPending}),compactAccessory:!0,children:(0,q.jsx)(le,{memoryEnabled:s})}):null}function de(){let e=d(),[t,n]=(0,K.useState)(!1),[r,i]=(0,K.useState)(!1),a=k(),o=B(),{data:c,isLoading:l}=f({...N({path:{id:o}}),enabled:a}),{data:u,isLoading:p}=f({...P({query:{hosting:`all`}}),enabled:a}),m=l||p,h=u?.results??[];return(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(fe,{assistant:c??null,loading:m}),(0,q.jsx)(pe,{assistants:h,activeAssistantId:o,loading:m}),(0,q.jsxs)(V,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,q.jsx)(s,{variant:`outlined`,leftIcon:t?(0,q.jsx)(g,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,q.jsx)(x,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await se(void 0,`create`);if(t.ok){if(C())try{let e=await D();e.ok&&await w(e.data,oe.getState().currentOrganizationId??void 0)}catch{}b.success(t.status===201?`New assistant hatched successfully.`:`Returned your existing assistant — no new one was created.`),e.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),e.invalidateQueries({queryKey:P({query:{hosting:`all`}}).queryKey})}else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;b.error(e)}}catch{b.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function fe({assistant:e,loading:t}){return t?(0,q.jsx)(V,{title:`Assistant Info`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,q.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,q.jsx)(V,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,q.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,q.jsx)(J,{children:`Name`}),(0,q.jsx)(Y,{children:e.name??`Unnamed`}),(0,q.jsx)(J,{children:`Status`}),(0,q.jsx)(`div`,{children:(0,q.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,q.jsx)(J,{children:`Assistant ID`}),(0,q.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{children:`Machine ID`}),(0,q.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,q.jsx)(J,{children:`Created`}),(0,q.jsx)(Y,{children:new Date(e.created).toLocaleDateString()}),(0,q.jsx)(J,{children:`Last Modified`}),(0,q.jsx)(Y,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{children:`Version`}),(0,q.jsx)(Y,{children:e.current_release_version})]})]})}):(0,q.jsx)(V,{title:`Assistant Info`,children:(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function pe({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,q.jsx)(V,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,q.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,q.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,q.jsx)(v,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,q.jsx)(v,{tone:`warning`,children:`Current`})]}),(0,q.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function J({children:e}){return(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function Y({children:e}){return(0,q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function me(){let e=H.use.emailRootDomain(),t=H.use.isNonProduction(),n=H.use.setEnvironment();return(0,q.jsx)(V,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,q.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,q.jsx)(y,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,q.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,q.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,q.jsx)(v,{tone:`neutral`,children:e})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,q.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}async function he(){let{data:e,response:t}=await E.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var X={client:`warning`,assistant:`positive`};function ge(){let e=B(),{data:t}=f({queryKey:[`feature-flag-definitions`],queryFn:he,enabled:k(),staleTime:300*1e3}),n=(0,K.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of t)n.type===`string`&&n.values?.length&&e.set(n.key,n.values);return e},[t]),[r,i]=(0,K.useState)(``),a=M(),o=F(),s=(0,K.useMemo)(()=>{let e=[];for(let t of j){let r=ce(t.key);if(typeof t.defaultEnabled==`boolean`){let n=a[r],i=o[r],s=t.scope===`both`?n===!0||i===!0:t.scope===`assistant`?i:n;if(typeof s!=`boolean`)continue;e.push({kind:`boolean`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let i=a.stringFlags?.[r],s=o.stringFlags?.[r],c=t.scope===`assistant`?s??t.defaultEnabled:i??t.defaultEnabled;e.push({kind:`string`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:c,defaultValue:t.defaultEnabled,values:n.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o,n]),c=(0,K.useMemo)(()=>{if(!r.trim())return s;let e=r.trim().toLowerCase();return s.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[s,r]);return(0,q.jsx)(V,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(R,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,q.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),c.length===0&&(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),c.length>0&&(0,q.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:c.map(t=>(0,q.jsx)(ye,{flag:t,assistantId:e},t.storeKey))})]})})}function Z({scope:e}){return e===`both`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(v,{tone:X.client,children:`client`}),(0,q.jsx)(v,{tone:X.assistant,children:`assistant`})]}):(0,q.jsx)(v,{tone:X[e],children:e})}function _e({flag:e,assistantId:t}){let n=M.use.setFlag(),r=F.use.setFlag();return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,q.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,q.jsx)(y,{checked:e.value,onChange:i=>{A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,q.jsx)(Z,{scope:e.scope})]}),(0,q.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,q.jsx)(v,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function ve({flag:e,assistantId:t}){let n=M.use.setStringFlag(),r=F.use.setStringFlag(),[i,a]=(0,K.useState)(e.value);(0,K.useEffect)(()=>{a(e.value)},[e.value]);let s=i=>{i!==e.value&&(A(e.scope,`client`)&&n(e.storeKey,i),A(e.scope,`assistant`)&&r(e.storeKey,i,t))},c=i!==e.value,l=e.values&&e.values.length>0?e.values:null,u=c&&l!=null&&!l.includes(i),d=()=>{u||s(i)},f=e=>{e.key===`Enter`&&e.currentTarget.blur()},p=l!=null&&l.includes(e.value);return(0,q.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,q.jsx)(Z,{scope:e.scope})]}),(0,q.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),p?(0,q.jsx)(S,{value:e.value,onChange:e=>{a(e),s(e)},options:l.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":`${e.label} value`}):(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),onBlur:d,onKeyDown:f,className:o(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,u?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||`Enter value...`}),u&&(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:[`Expected one of: `,l.join(`, `)]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,q.jsx)(v,{tone:`neutral`,children:e.defaultValue||`(empty)`})]})]})})}function ye({flag:e,assistantId:t}){return e.kind===`string`?(0,q.jsx)(ve,{flag:e,assistantId:t}):(0,q.jsx)(_e,{flag:e,assistantId:t})}function be(){let e=(0,K.useCallback)(()=>{t(Error(`[Dev Settings] Test error event`)),b.success(`Sentry error event sent.`)},[]),i=(0,K.useCallback)(()=>{r(`[Dev Settings] Test warning event`,`warning`),b.success(`Sentry warning event sent.`)},[]),a=(0,K.useCallback)(()=>{r(`[Dev Settings] Test info event`,`info`),b.success(`Sentry info event sent.`)},[]),o=(0,K.useCallback)(()=>{r(`[Dev Settings] Test fatal event`,`fatal`),b.success(`Sentry fatal event sent.`)},[]),s=(0,K.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),b.success(`Sentry performance transaction sent.`)},[]);return(0,q.jsx)(V,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(Q,{icon:(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,q.jsx)(Q,{icon:(0,q.jsx)(z,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,q.jsx)(Q,{icon:(0,q.jsx)(_,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:i}),(0,q.jsx)(Q,{icon:(0,q.jsx)(h,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,q.jsx)(Q,{icon:(0,q.jsx)(G,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(`div`,{className:`shrink-0`,children:e}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,q.jsxs)(s,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,q.jsx)(L,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`},{id:`memory`,label:`Memory`}];function xe(){let e=u(),[t,n]=c(),r=F.use.settingsDeveloperNav(),i=F.use.hasHydrated(),a=(0,K.useMemo)(()=>{let e=t.get(`tab`);return $.find(t=>t.id===e)?.id??`feature-flags`},[t]);if(i&&!r)return(0,q.jsx)(l,{replace:!0,to:O.settings.general});let o=e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})};return(0,q.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-4 border-b border-[var(--border-base)]`,children:[(0,q.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex items-center gap-1`,children:$.map(e=>{let t=e.id===a;return(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>o(e.id),className:I(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),C()&&(0,q.jsx)(s,{variant:`outlined`,className:`mb-1 shrink-0`,onClick:()=>void e(`${O.selectAssistant}?noAutoSkip=1`),children:`Choose Assistant`})]}),(0,q.jsxs)(`div`,{id:`developer-tab-panel-${a}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${a}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[a===`feature-flags`&&(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(ge,{}),(0,q.jsx)(me,{})]}),a===`lifecycle`&&(0,q.jsx)(de,{}),a===`sentry`&&(0,q.jsx)(be,{}),a===`memory`&&(0,q.jsx)(`div`,{className:`space-y-4`,children:(0,q.jsx)(ue,{})})]})]})}export{xe as DeveloperPage};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,s as n}from"./local-settings-lVNyIOJ_.js";var r={theme:{key:`device:theme`,legacy:`vellum_theme`},shareAnalytics:{key:`device:share_analytics`,legacy:`vellum_share_analytics`},shareDiagnostics:{key:`device:share_diagnostics`,legacy:`vellum_share_diagnostics`},diagnosticsReporting:{key:`device:diagnostics_reporting`},biometricEnabled:{key:`device:biometric_enabled`,legacy:`vellum_biometric_enabled`},llmLogRetention:{key:`device:llm_log_retention`,legacy:`vellum_llm_log_retention`},timezone:{key:`device:timezone`,legacy:`vellum_timezone`},mediaEmbedsEnabled:{key:`device:media_embeds_enabled`,legacy:`vellum_media_embeds_enabled`},mediaEmbedDomains:{key:`device:media_embed_domains`,legacy:`vellum_media_embed_domains`},dockBadgesEnabled:{key:`device:dock_badges_enabled`,legacy:`vellum_dock_badges_enabled`},lastUserId:{key:`device:last_user_id`,legacy:`onboarding.lastUserId`}};function i(e){return r[e].key}function a(e){return e.legacy==null?null:localStorage.getItem(e.legacy)}function o(e,t){if(typeof window>`u`)return t;let n=r[e];try{return localStorage.getItem(n.key)??a(n)??t}catch{return t}}function s(e,t){n(r[e].key,t)}function c(e,t){if(typeof window>`u`)return t;let n=r[e];try{let e=localStorage.getItem(n.key)??a(n);if(e===`true`)return!0;if(e===`false`)return!1}catch{}return t}function l(t,n){e(r[t].key,n)}function u(e,n){return t(r[e].key,n)}function d(){if(!(typeof window>`u`))try{for(let e of Object.values(r)){if(e.legacy==null)continue;let t=localStorage.getItem(e.legacy);t!==null&&(localStorage.getItem(e.key)===null&&n(e.key,t),localStorage.getItem(e.key)!==null&&localStorage.removeItem(e.legacy))}}catch{}}export{l as a,d as i,c as n,s as o,o as r,u as s,i as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{u as n}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{c as r}from"./routes-CAkcxlmQ.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DevicesRedirectPage};
@@ -1 +1 @@
1
- import{n as e}from"./platform-detection-BrxvFUiR.js";var t=200,n=200,r=`vellum:chat-diagnostics:v1`,i=`vellum:chat-diagnostics-lifecycle:v1`,a={storageKey:r,max:t,loaded:!1,events:[]},o={storageKey:i,max:n,loaded:!1,events:[]};function s(){if(typeof window>`u`)return null;try{return window.sessionStorage}catch{return null}}function c(e){return typeof e==`object`&&!!e&&typeof e.ts==`string`&&typeof e.kind==`string`&&e.details!=null&&typeof e.details==`object`&&!Array.isArray(e.details)}function l(e){if(e.loaded)return;e.loaded=!0;let t=s();if(t)try{let n=t.getItem(e.storageKey);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;e.events=r.filter(c).slice(-e.max)}catch{e.events=[]}}function u(e){let t=s();if(t)try{t.setItem(e.storageKey,JSON.stringify(e.events))}catch{}}function d(e,t,n){l(e),e.events.push({ts:new Date().toISOString(),kind:t,details:{platform:p(),...n}}),e.events.length>e.max&&(e.events=e.events.slice(-e.max)),u(e)}function f(e){return l(e),e.events.map(e=>({ts:e.ts,kind:e.kind,details:{...e.details}}))}function p(){try{return e()}catch{return`web`}}function m(e,t={}){d(a,e,t)}function h(e,t={}){d(o,e,t)}function g(){return f(a)}function _(){return f(o)}function v(e){return{schemaVersion:2,collectedAt:new Date().toISOString(),currentState:e,lifecycleEvents:_(),events:g()}}function y(e){return!Number.isFinite(e)||e<=0?`0`:e===1?`1`:e<=5?`2-5`:`6+`}function b(e){let t={};for(let n of e)t[n.role]=(t[n.role]??0)+1;return t}function x(e,t,n){typeof t[n]==`string`&&(e[n]=t[n])}function S(e,t,n){typeof t[n]==`number`&&Number.isFinite(t[n])&&(e[n]=t[n])}function C(e,t,n){typeof t[n]==`boolean`&&(e[n]=t[n])}function w(e,t,n){typeof t[n]==`string`&&(e[`${n}Length`]=t[n].length)}function T(e){let t=e,n={type:e.type};for(let e of[`messageId`,`requestId`,`surfaceId`,`surfaceType`,`toolUseId`,`conversationId`,`deliveryId`,`code`,`toolName`,`errorCategory`,`rawType`,`tab`,`sourceEventName`])x(n,t,e);for(let e of[`position`,`inputTokens`,`outputTokens`,`cachedInputTokens`,`cacheCreationInputTokens`,`contextWindowTokens`,`contextWindowMaxTokens`,`openUntil`])S(n,t,e);for(let e of[`isError`,`retryable`,`runStillActive`])C(n,t,e);for(let e of[`text`,`content`,`message`,`userMessage`,`debugDetails`,`title`,`body`,`summary`,`result`,`url`])w(n,t,e);if(typeof t.url==`string`)try{n.urlHost=new URL(t.url).host}catch{n.urlHost=null}return Array.isArray(t.attachments)&&(n.attachmentCount=t.attachments.length),Array.isArray(t.actions)&&(n.actionCount=t.actions.length),t.data!=null&&typeof t.data==`object`&&!Array.isArray(t.data)&&(n.dataKeys=Object.keys(t.data).length),t.input!=null&&typeof t.input==`object`&&!Array.isArray(t.input)&&(n.inputKeys=Object.keys(t.input).length),n}export{m as a,b as c,_ as i,T as l,v as n,h as o,g as r,p as s,y as t};
1
+ import{n as e}from"./platform-detection-BaPcSHIf.js";var t=200,n=200,r=`vellum:chat-diagnostics:v1`,i=`vellum:chat-diagnostics-lifecycle:v1`,a={storageKey:r,max:t,loaded:!1,events:[]},o={storageKey:i,max:n,loaded:!1,events:[]};function s(){if(typeof window>`u`)return null;try{return window.sessionStorage}catch{return null}}function c(e){return typeof e==`object`&&!!e&&typeof e.ts==`string`&&typeof e.kind==`string`&&e.details!=null&&typeof e.details==`object`&&!Array.isArray(e.details)}function l(e){if(e.loaded)return;e.loaded=!0;let t=s();if(t)try{let n=t.getItem(e.storageKey);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;e.events=r.filter(c).slice(-e.max)}catch{e.events=[]}}function u(e){let t=s();if(t)try{t.setItem(e.storageKey,JSON.stringify(e.events))}catch{}}function d(e,t,n){l(e),e.events.push({ts:new Date().toISOString(),kind:t,details:{platform:p(),...n}}),e.events.length>e.max&&(e.events=e.events.slice(-e.max)),u(e)}function f(e){return l(e),e.events.map(e=>({ts:e.ts,kind:e.kind,details:{...e.details}}))}function p(){try{return e()}catch{return`web`}}function m(e,t={}){d(a,e,t)}function h(e,t={}){d(o,e,t)}function g(){return f(a)}function _(){return f(o)}function v(e){return{schemaVersion:2,collectedAt:new Date().toISOString(),currentState:e,lifecycleEvents:_(),events:g()}}function y(e){return!Number.isFinite(e)||e<=0?`0`:e===1?`1`:e<=5?`2-5`:`6+`}function b(e){let t={};for(let n of e)t[n.role]=(t[n.role]??0)+1;return t}function x(e,t,n){typeof t[n]==`string`&&(e[n]=t[n])}function S(e,t,n){typeof t[n]==`number`&&Number.isFinite(t[n])&&(e[n]=t[n])}function C(e,t,n){typeof t[n]==`boolean`&&(e[n]=t[n])}function w(e,t,n){typeof t[n]==`string`&&(e[`${n}Length`]=t[n].length)}function T(e){let t=e,n={type:e.type};for(let e of[`messageId`,`requestId`,`surfaceId`,`surfaceType`,`toolUseId`,`conversationId`,`deliveryId`,`code`,`toolName`,`errorCategory`,`rawType`,`tab`,`sourceEventName`])x(n,t,e);for(let e of[`position`,`inputTokens`,`outputTokens`,`cachedInputTokens`,`cacheCreationInputTokens`,`contextWindowTokens`,`contextWindowMaxTokens`,`openUntil`])S(n,t,e);for(let e of[`isError`,`retryable`,`runStillActive`])C(n,t,e);for(let e of[`text`,`content`,`message`,`userMessage`,`debugDetails`,`title`,`body`,`summary`,`result`,`url`])w(n,t,e);if(typeof t.url==`string`)try{n.urlHost=new URL(t.url).host}catch{n.urlHost=null}return Array.isArray(t.attachments)&&(n.attachmentCount=t.attachments.length),Array.isArray(t.actions)&&(n.actionCount=t.actions.length),t.data!=null&&typeof t.data==`object`&&!Array.isArray(t.data)&&(n.dataKeys=Object.keys(t.data).length),t.input!=null&&typeof t.input==`object`&&!Array.isArray(t.input)&&(n.inputKeys=Object.keys(t.input).length),n}export{m as a,b as c,_ as i,T as l,v as n,h as o,g as r,p as s,y as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./check-DFNrQERi.js";import{t as i}from"./loader-circle-Cz7opInR.js";import{t as a}from"./triangle-alert-Z0Gq0IuB.js";import{Ca as o,Jn as s,Xn as c,Yn as l,qn as u}from"./index-yu6nDHvG.js";var d=e(t(),1),f=n();function p(){let[e,t]=(0,d.useState)(null),n=(0,d.useRef)(null),r=(0,d.useRef)(!1);if((0,d.useEffect)(()=>{let e=c(t);return u().then(e=>{e&&t(t=>t??e)}),e},[]),(0,d.useEffect)(()=>()=>{l(!1)},[]),(0,d.useEffect)(()=>{e?.kind===`recording`||!r.current||(r.current=!1,l(!1))},[e?.kind]),!e)return null;let i=e.kind===`recording`?e.transcription.trim():``,a=e.kind===`recording`?e.audioLevel??0:0,o=e=>{r.current!==e&&(r.current=e,l(e))};return(0,f.jsx)(`div`,{className:`flex h-screen w-screen items-start justify-center bg-transparent p-4`,onMouseMove:t=>{if(e.kind!==`recording`){o(!1);return}let r=n.current;if(!r){o(!1);return}let i=r.getBoundingClientRect();o(t.clientX>=i.left&&t.clientX<=i.right&&t.clientY>=i.top&&t.clientY<=i.bottom)},onMouseLeave:()=>o(!1),children:(0,f.jsxs)(`div`,{className:`flex w-[min(28rem,calc(100vw-2rem))] flex-col gap-1 rounded-xl border border-[var(--border-default)] bg-[var(--surface-base)] px-4 py-2.5 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,f.jsx)(_,{state:e}),(0,f.jsx)(`span`,{className:`truncate text-[11px] font-medium text-[var(--content-secondary)]`,children:g(e)}),e.kind===`recording`&&(0,f.jsx)(m,{level:a,stopButtonRef:n,onInteractiveChange:o,onStop:()=>{s(),o(!1)}})]}),i&&(0,f.jsx)(`div`,{className:`flex max-h-7 flex-col justify-end overflow-hidden`,children:(0,f.jsx)(`p`,{className:`break-words text-[10px] leading-snug text-[var(--content-tertiary)]`,children:i})})]})})}function m({level:e,stopButtonRef:t,onInteractiveChange:n,onStop:r}){return(0,f.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,f.jsx)(h,{level:e}),(0,f.jsx)(`button`,{ref:t,type:`button`,className:`flex size-5 items-center justify-center rounded-full text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--system-negative-strong)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--system-negative-strong)]`,"aria-label":`Stop recording`,title:`Stop recording`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:r,children:(0,f.jsx)(o,{className:`size-4`,strokeWidth:2,"aria-hidden":!0})})]})}function h({level:e}){let t=Math.max(0,Math.min(1,e));return(0,f.jsx)(`div`,{className:`flex h-4 w-16 shrink-0 items-end gap-0.5`,"aria-hidden":!0,children:[.16,.32,.48,.64,.8,.96].map((e,n)=>(0,f.jsx)(`span`,{className:`w-1 rounded-full bg-[var(--system-negative-strong)] transition-[height,opacity] duration-75`,style:{height:`${6+n*1.5}px`,opacity:t>=e?1:.22}},e))})}function g(e){switch(e.kind){case`recording`:return`Recording…`;case`processing`:return`Processing…`;case`done`:return`Done`;case`error`:return e.message}}function _({state:e}){switch(e.kind){case`recording`:return(0,f.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-[var(--system-negative-strong)]`,"aria-hidden":!0});case`processing`:return(0,f.jsx)(i,{className:`size-4 shrink-0 animate-spin text-[var(--content-secondary)]`,"aria-hidden":!0});case`done`:return(0,f.jsx)(r,{className:`size-4 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":!0});case`error`:return(0,f.jsx)(a,{className:`size-4 shrink-0 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}}export{p as DictationOverlayPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./check-CkQjevXL.js";import{t as i}from"./loader-circle-Ck8fq3yv.js";import{t as a}from"./triangle-alert-CnjNKhNx.js";import{$n as o,Qn as s,Zn as c,er as l,ya as u}from"./index-BZVPYTjj.js";var d=e(t(),1),f=n();function p(){let[e,t]=(0,d.useState)(null),n=(0,d.useRef)(null),r=(0,d.useRef)(!1);if((0,d.useEffect)(()=>{let e=l(t);return c().then(e=>{e&&t(t=>t??e)}),e},[]),(0,d.useEffect)(()=>()=>{o(!1)},[]),(0,d.useEffect)(()=>{e?.kind===`recording`||!r.current||(r.current=!1,o(!1))},[e?.kind]),!e)return null;let i=e.kind===`recording`?e.transcription.trim():``,a=e.kind===`recording`?e.audioLevel??0:0,u=e=>{r.current!==e&&(r.current=e,o(e))};return(0,f.jsx)(`div`,{className:`flex h-screen w-screen items-start justify-center bg-transparent p-4`,onMouseMove:t=>{if(e.kind!==`recording`){u(!1);return}let r=n.current;if(!r){u(!1);return}let i=r.getBoundingClientRect();u(t.clientX>=i.left&&t.clientX<=i.right&&t.clientY>=i.top&&t.clientY<=i.bottom)},onMouseLeave:()=>u(!1),children:(0,f.jsxs)(`div`,{className:`flex w-[min(28rem,calc(100vw-2rem))] flex-col gap-1 rounded-xl border border-[var(--border-default)] bg-[var(--surface-base)] px-4 py-2.5 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,f.jsx)(_,{state:e}),(0,f.jsx)(`span`,{className:`truncate text-[11px] font-medium text-[var(--content-secondary)]`,children:g(e)}),e.kind===`recording`&&(0,f.jsx)(m,{level:a,stopButtonRef:n,onInteractiveChange:u,onStop:()=>{s(),u(!1)}})]}),i&&(0,f.jsx)(`div`,{className:`flex max-h-7 flex-col justify-end overflow-hidden`,children:(0,f.jsx)(`p`,{className:`break-words text-[10px] leading-snug text-[var(--content-tertiary)]`,children:i})})]})})}function m({level:e,stopButtonRef:t,onInteractiveChange:n,onStop:r}){return(0,f.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,f.jsx)(h,{level:e}),(0,f.jsx)(`button`,{ref:t,type:`button`,className:`flex size-5 items-center justify-center rounded-full text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--system-negative-strong)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--system-negative-strong)]`,"aria-label":`Stop recording`,title:`Stop recording`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:r,children:(0,f.jsx)(u,{className:`size-4`,strokeWidth:2,"aria-hidden":!0})})]})}function h({level:e}){let t=Math.max(0,Math.min(1,e));return(0,f.jsx)(`div`,{className:`flex h-4 w-16 shrink-0 items-end gap-0.5`,"aria-hidden":!0,children:[.16,.32,.48,.64,.8,.96].map((e,n)=>(0,f.jsx)(`span`,{className:`w-1 rounded-full bg-[var(--system-negative-strong)] transition-[height,opacity] duration-75`,style:{height:`${6+n*1.5}px`,opacity:t>=e?1:.22}},e))})}function g(e){switch(e.kind){case`recording`:return`Recording…`;case`processing`:return`Processing…`;case`done`:return`Done`;case`error`:return e.message}}function _({state:e}){switch(e.kind){case`recording`:return(0,f.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-[var(--system-negative-strong)]`,"aria-hidden":!0});case`processing`:return(0,f.jsx)(i,{className:`size-4 shrink-0 animate-spin text-[var(--content-secondary)]`,"aria-hidden":!0});case`done`:return(0,f.jsx)(r,{className:`size-4 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":!0});case`error`:return(0,f.jsx)(a,{className:`size-4 shrink-0 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}}export{p as DictationOverlayPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{M as n,N as r,O as i,j as a,m as o,o as s}from"./button-amTXFI-2.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{n as l,t as u}from"./dist-HJ505Xnn.js";var d=e(t(),1);function f(e){let t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function p(e,[t,n]){return Math.min(n,Math.max(t,e))}var m=c(),h=[`PageUp`,`PageDown`],g=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],_={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},v=`Slider`,[y,b,x]=l(v),[S,C]=a(v,[x]),[w,T]=S(v),E=d.forwardRef((e,t)=>{let{name:n,min:i=0,max:a=100,step:o=1,orientation:c=`horizontal`,disabled:l=!1,minStepsBetweenThumbs:u=0,defaultValue:f=[i],value:_,onValueChange:v=()=>{},onValueCommit:b=()=>{},inverted:x=!1,form:S,...C}=e,T=d.useRef(new Set),E=d.useRef(0),D=d.useRef(!1),O=c===`horizontal`?k:A,[j=[],M]=s({prop:_,defaultProp:f,onChange:e=>{[...T.current][E.current]?.focus({preventScroll:!0,focusVisible:D.current}),D.current=!1,v(e)}}),N=d.useRef(j);function P(e){L(e,Y(j,e))}function F(e){L(e,E.current)}function I(){let e=N.current[E.current];j[E.current]!==e&&b(j)}function L(e,t,{commit:n}={commit:!1}){let r=ee(o),s=p(te(Math.round((e-i)/o)*o+i,r),[i,a]);M((e=[])=>{let r=K(e,s,t);if(Q(r,u*o)){E.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&b(r),t?r:e}else return e})}return(0,m.jsx)(w,{scope:e.__scopeSlider,name:n,disabled:l,min:i,max:a,valueIndexToChangeRef:E,thumbs:T.current,values:j,orientation:c,form:S,children:(0,m.jsx)(y.Provider,{scope:e.__scopeSlider,children:(0,m.jsx)(y.Slot,{scope:e.__scopeSlider,children:(0,m.jsx)(O,{"aria-disabled":l,"data-disabled":l?``:void 0,...C,ref:t,onPointerDown:r(C.onPointerDown,()=>{l||(N.current=j,D.current=!1)}),min:i,max:a,inverted:x,onSlideStart:l?void 0:P,onSlideMove:l?void 0:F,onSlideEnd:l?void 0:I,onHomeKeyDown:()=>{l||(D.current=!0,L(i,0,{commit:!0}))},onEndKeyDown:()=>{l||(D.current=!0,L(a,j.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!l){D.current=!0;let n=h.includes(e.key)||e.shiftKey&&g.includes(e.key)?10:1,r=E.current,i=j[r];L(i+o*n*t,r,{commit:!0})}}})})})})});E.displayName=v;var[D,O]=S(v,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),k=d.forwardRef((e,t)=>{let{min:r,max:i,dir:a,inverted:o,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:f,...p}=e,[h,g]=d.useState(null),v=n(t,g),y=d.useRef(void 0),b=u(a),x=b===`ltr`,S=x&&!o||!x&&o;function C(e){let t=y.current||h.getBoundingClientRect(),n=$([0,t.width],S?[r,i]:[i,r]);return y.current=t,n(e-t.left)}return(0,m.jsx)(D,{scope:e.__scopeSlider,startEdge:S?`left`:`right`,endEdge:S?`right`:`left`,direction:S?1:-1,size:`width`,children:(0,m.jsx)(j,{dir:b,"data-orientation":`horizontal`,...p,ref:v,style:{...p.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=C(e.clientX);s?.(t)},onSlideMove:e=>{let t=C(e.clientX);c?.(t)},onSlideEnd:()=>{y.current=void 0,l?.()},onStepKeyDown:e=>{let t=_[S?`from-left`:`from-right`].includes(e.key);f?.({event:e,direction:t?-1:1})}})})}),A=d.forwardRef((e,t)=>{let{min:r,max:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,f=d.useRef(null),p=n(t,f),h=d.useRef(void 0),g=!a;function v(e){let t=h.current||f.current.getBoundingClientRect(),n=$([0,t.height],g?[i,r]:[r,i]);return h.current=t,n(e-t.top)}return(0,m.jsx)(D,{scope:e.__scopeSlider,startEdge:g?`bottom`:`top`,endEdge:g?`top`:`bottom`,size:`height`,direction:g?1:-1,children:(0,m.jsx)(j,{"data-orientation":`vertical`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=v(e.clientY);o?.(t)},onSlideMove:e=>{let t=v(e.clientY);s?.(t)},onSlideEnd:()=>{h.current=void 0,c?.()},onStepKeyDown:e=>{let t=_[g?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),j=d.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onHomeKeyDown:c,onEndKeyDown:l,onStepKeyDown:u,...d}=e,f=T(v,n);return(0,m.jsx)(i.span,{...d,ref:t,onKeyDown:r(e.onKeyDown,e=>{e.key===`Home`?(c(e),e.preventDefault()):e.key===`End`?(l(e),e.preventDefault()):h.concat(g).includes(e.key)&&(u(e),e.preventDefault())}),onPointerDown:r(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),f.thumbs.has(t)?t.focus({preventScroll:!0,focusVisible:!1}):a(e)}),onPointerMove:r(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&o(e)}),onPointerUp:r(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),s(e))})})}),M=`SliderTrack`,N=d.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,a=T(M,n);return(0,m.jsx)(i.span,{"data-disabled":a.disabled?``:void 0,"data-orientation":a.orientation,...r,ref:t})});N.displayName=M;var P=`SliderRange`,F=d.forwardRef((e,t)=>{let{__scopeSlider:r,...a}=e,o=T(P,r),s=O(P,r),c=n(t,d.useRef(null)),l=o.values.length,u=o.values.map(e=>q(e,o.min,o.max)),f=l>1?Math.min(...u):0,p=100-Math.max(...u);return(0,m.jsx)(i.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,...a,ref:c,style:{...e.style,[s.startEdge]:f+`%`,[s.endEdge]:p+`%`}})});F.displayName=P;var I=`SliderThumb`,[L,R]=S(I),z=`SliderThumbProvider`;function B(e){let{__scopeSlider:t,name:n,children:r,internal_do_not_use_render:i}=e,a=T(z,t),s=b(t),[c,l]=d.useState(null),u=d.useMemo(()=>c?s().findIndex(e=>e.ref.current===c):-1,[s,c]),f=o(c),p=c?!!a.form||!!c.closest(`form`):!0,h=a.values[u],g=n??(a.name?a.name+(a.values.length>1?`[]`:``):void 0),_=h===void 0?0:q(h,a.min,a.max);d.useEffect(()=>{if(c)return a.thumbs.add(c),()=>{a.thumbs.delete(c)}},[c,a.thumbs]);let v={value:h,name:g,form:a.form,isFormControl:p,index:u,thumb:c,onThumbChange:l,percent:_,size:f};return(0,m.jsx)(L,{scope:t,...v,children:ne(i)?i(v):r})}B.displayName=z;var V=`SliderThumbTrigger`,H=d.forwardRef((e,t)=>{let{__scopeSlider:a,...o}=e,s=T(V,a),c=O(V,a),{index:l,value:u,percent:d,size:f,onThumbChange:p}=R(V,a),h=n(t,p),g=J(l,s.values.length),_=f?.[c.size],v=_?X(_,d,c.direction):0;return(0,m.jsx)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[c.startEdge]:`calc(${d}% + ${v}px)`},children:(0,m.jsx)(y.ItemSlot,{scope:a,children:(0,m.jsx)(i.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":s.min,"aria-valuenow":u,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?``:void 0,tabIndex:s.disabled?void 0:0,...o,ref:h,style:u===void 0?{display:`none`}:e.style,onFocus:r(e.onFocus,()=>{s.valueIndexToChangeRef.current=l})})})})});H.displayName=V;var U=d.forwardRef((e,t)=>{let{__scopeSlider:n,name:r,...i}=e;return(0,m.jsx)(B,{__scopeSlider:n,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(H,{...i,ref:t,__scopeSlider:n}),r?(0,m.jsx)(G,{__scopeSlider:n},e):null]})})});U.displayName=I;var W=`SliderBubbleInput`,G=d.forwardRef(({__scopeSlider:e,...t},r)=>{let{value:a,name:o,form:s}=R(W,e),c=d.useRef(null),l=n(c,r),u=f(a);return d.useEffect(()=>{let e=c.current;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(u!==a&&n){let t=new Event(`input`,{bubbles:!0});n.call(e,a),e.dispatchEvent(t)}},[u,a]),(0,m.jsx)(i.input,{style:{display:`none`},name:o,form:s,...t,ref:l,defaultValue:a})});G.displayName=W;function K(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function q(e,t,n){return p(100/(n-t)*(e-t),[0,100])}function J(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Y(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function X(e,t,n){let r=e/2;return(r-$([0,50],[0,r])(t)*n)*n}function Z(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Q(e,t){if(t>0){let n=Z(e);return Math.min(...n)>=t}return!0}function $(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function ee(e){if(!Number.isFinite(e))return 0;let t=e.toString();if(t.includes(`e`)){let[e,n]=t.split(`e`),r=e.split(`.`)[1]||``,i=Number(n);return Math.max(0,r.length-i)}let n=t.split(`.`)[1];return n?n.length:0}function te(e,t){let n=10**t;return Math.round(e*n)/n}function ne(e){return typeof e==`function`}export{f as a,N as i,F as n,U as r,E as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{M as n,N as r,O as i,j as a,m as o,o as s}from"./button-BQVYX8n_.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{n as l,t as u}from"./dist-URk13ITj.js";var d=e(t(),1);function f(e){let t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function p(e,[t,n]){return Math.min(n,Math.max(t,e))}var m=c(),h=[`PageUp`,`PageDown`],g=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],_={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},v=`Slider`,[y,b,x]=l(v),[S,C]=a(v,[x]),[w,T]=S(v),E=d.forwardRef((e,t)=>{let{name:n,min:i=0,max:a=100,step:o=1,orientation:c=`horizontal`,disabled:l=!1,minStepsBetweenThumbs:u=0,defaultValue:f=[i],value:_,onValueChange:v=()=>{},onValueCommit:b=()=>{},inverted:x=!1,form:S,...C}=e,T=d.useRef(new Set),E=d.useRef(0),D=d.useRef(!1),O=c===`horizontal`?k:A,[j=[],M]=s({prop:_,defaultProp:f,onChange:e=>{[...T.current][E.current]?.focus({preventScroll:!0,focusVisible:D.current}),D.current=!1,v(e)}}),N=d.useRef(j);function P(e){L(e,Y(j,e))}function F(e){L(e,E.current)}function I(){let e=N.current[E.current];j[E.current]!==e&&b(j)}function L(e,t,{commit:n}={commit:!1}){let r=ee(o),s=p(te(Math.round((e-i)/o)*o+i,r),[i,a]);M((e=[])=>{let r=K(e,s,t);if(Q(r,u*o)){E.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&b(r),t?r:e}else return e})}return(0,m.jsx)(w,{scope:e.__scopeSlider,name:n,disabled:l,min:i,max:a,valueIndexToChangeRef:E,thumbs:T.current,values:j,orientation:c,form:S,children:(0,m.jsx)(y.Provider,{scope:e.__scopeSlider,children:(0,m.jsx)(y.Slot,{scope:e.__scopeSlider,children:(0,m.jsx)(O,{"aria-disabled":l,"data-disabled":l?``:void 0,...C,ref:t,onPointerDown:r(C.onPointerDown,()=>{l||(N.current=j,D.current=!1)}),min:i,max:a,inverted:x,onSlideStart:l?void 0:P,onSlideMove:l?void 0:F,onSlideEnd:l?void 0:I,onHomeKeyDown:()=>{l||(D.current=!0,L(i,0,{commit:!0}))},onEndKeyDown:()=>{l||(D.current=!0,L(a,j.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!l){D.current=!0;let n=h.includes(e.key)||e.shiftKey&&g.includes(e.key)?10:1,r=E.current,i=j[r];L(i+o*n*t,r,{commit:!0})}}})})})})});E.displayName=v;var[D,O]=S(v,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),k=d.forwardRef((e,t)=>{let{min:r,max:i,dir:a,inverted:o,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:f,...p}=e,[h,g]=d.useState(null),v=n(t,g),y=d.useRef(void 0),b=u(a),x=b===`ltr`,S=x&&!o||!x&&o;function C(e){let t=y.current||h.getBoundingClientRect(),n=$([0,t.width],S?[r,i]:[i,r]);return y.current=t,n(e-t.left)}return(0,m.jsx)(D,{scope:e.__scopeSlider,startEdge:S?`left`:`right`,endEdge:S?`right`:`left`,direction:S?1:-1,size:`width`,children:(0,m.jsx)(j,{dir:b,"data-orientation":`horizontal`,...p,ref:v,style:{...p.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=C(e.clientX);s?.(t)},onSlideMove:e=>{let t=C(e.clientX);c?.(t)},onSlideEnd:()=>{y.current=void 0,l?.()},onStepKeyDown:e=>{let t=_[S?`from-left`:`from-right`].includes(e.key);f?.({event:e,direction:t?-1:1})}})})}),A=d.forwardRef((e,t)=>{let{min:r,max:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,f=d.useRef(null),p=n(t,f),h=d.useRef(void 0),g=!a;function v(e){let t=h.current||f.current.getBoundingClientRect(),n=$([0,t.height],g?[i,r]:[r,i]);return h.current=t,n(e-t.top)}return(0,m.jsx)(D,{scope:e.__scopeSlider,startEdge:g?`bottom`:`top`,endEdge:g?`top`:`bottom`,size:`height`,direction:g?1:-1,children:(0,m.jsx)(j,{"data-orientation":`vertical`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=v(e.clientY);o?.(t)},onSlideMove:e=>{let t=v(e.clientY);s?.(t)},onSlideEnd:()=>{h.current=void 0,c?.()},onStepKeyDown:e=>{let t=_[g?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),j=d.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onHomeKeyDown:c,onEndKeyDown:l,onStepKeyDown:u,...d}=e,f=T(v,n);return(0,m.jsx)(i.span,{...d,ref:t,onKeyDown:r(e.onKeyDown,e=>{e.key===`Home`?(c(e),e.preventDefault()):e.key===`End`?(l(e),e.preventDefault()):h.concat(g).includes(e.key)&&(u(e),e.preventDefault())}),onPointerDown:r(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),f.thumbs.has(t)?t.focus({preventScroll:!0,focusVisible:!1}):a(e)}),onPointerMove:r(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&o(e)}),onPointerUp:r(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),s(e))})})}),M=`SliderTrack`,N=d.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,a=T(M,n);return(0,m.jsx)(i.span,{"data-disabled":a.disabled?``:void 0,"data-orientation":a.orientation,...r,ref:t})});N.displayName=M;var P=`SliderRange`,F=d.forwardRef((e,t)=>{let{__scopeSlider:r,...a}=e,o=T(P,r),s=O(P,r),c=n(t,d.useRef(null)),l=o.values.length,u=o.values.map(e=>q(e,o.min,o.max)),f=l>1?Math.min(...u):0,p=100-Math.max(...u);return(0,m.jsx)(i.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,...a,ref:c,style:{...e.style,[s.startEdge]:f+`%`,[s.endEdge]:p+`%`}})});F.displayName=P;var I=`SliderThumb`,[L,R]=S(I),z=`SliderThumbProvider`;function B(e){let{__scopeSlider:t,name:n,children:r,internal_do_not_use_render:i}=e,a=T(z,t),s=b(t),[c,l]=d.useState(null),u=d.useMemo(()=>c?s().findIndex(e=>e.ref.current===c):-1,[s,c]),f=o(c),p=c?!!a.form||!!c.closest(`form`):!0,h=a.values[u],g=n??(a.name?a.name+(a.values.length>1?`[]`:``):void 0),_=h===void 0?0:q(h,a.min,a.max);d.useEffect(()=>{if(c)return a.thumbs.add(c),()=>{a.thumbs.delete(c)}},[c,a.thumbs]);let v={value:h,name:g,form:a.form,isFormControl:p,index:u,thumb:c,onThumbChange:l,percent:_,size:f};return(0,m.jsx)(L,{scope:t,...v,children:ne(i)?i(v):r})}B.displayName=z;var V=`SliderThumbTrigger`,H=d.forwardRef((e,t)=>{let{__scopeSlider:a,...o}=e,s=T(V,a),c=O(V,a),{index:l,value:u,percent:d,size:f,onThumbChange:p}=R(V,a),h=n(t,p),g=J(l,s.values.length),_=f?.[c.size],v=_?X(_,d,c.direction):0;return(0,m.jsx)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[c.startEdge]:`calc(${d}% + ${v}px)`},children:(0,m.jsx)(y.ItemSlot,{scope:a,children:(0,m.jsx)(i.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":s.min,"aria-valuenow":u,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?``:void 0,tabIndex:s.disabled?void 0:0,...o,ref:h,style:u===void 0?{display:`none`}:e.style,onFocus:r(e.onFocus,()=>{s.valueIndexToChangeRef.current=l})})})})});H.displayName=V;var U=d.forwardRef((e,t)=>{let{__scopeSlider:n,name:r,...i}=e;return(0,m.jsx)(B,{__scopeSlider:n,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(H,{...i,ref:t,__scopeSlider:n}),r?(0,m.jsx)(G,{__scopeSlider:n},e):null]})})});U.displayName=I;var W=`SliderBubbleInput`,G=d.forwardRef(({__scopeSlider:e,...t},r)=>{let{value:a,name:o,form:s}=R(W,e),c=d.useRef(null),l=n(c,r),u=f(a);return d.useEffect(()=>{let e=c.current;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(u!==a&&n){let t=new Event(`input`,{bubbles:!0});n.call(e,a),e.dispatchEvent(t)}},[u,a]),(0,m.jsx)(i.input,{style:{display:`none`},name:o,form:s,...t,ref:l,defaultValue:a})});G.displayName=W;function K(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function q(e,t,n){return p(100/(n-t)*(e-t),[0,100])}function J(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Y(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function X(e,t,n){let r=e/2;return(r-$([0,50],[0,r])(t)*n)*n}function Z(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Q(e,t){if(t>0){let n=Z(e);return Math.min(...n)>=t}return!0}function $(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function ee(e){if(!Number.isFinite(e))return 0;let t=e.toString();if(t.includes(`e`)){let[e,n]=t.split(`e`),r=e.split(`.`)[1]||``,i=Number(n);return Math.max(0,r.length-i)}let n=t.split(`.`)[1];return n?n.length:0}function te(e,t){let n=10**t;return Math.round(e*n)/n}function ne(e){return typeof e==`function`}export{f as a,N as i,F as n,U as r,E as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,E as r,M as i,N as a,O as o,T as s,c,j as l,o as u,s as d,w as f}from"./button-amTXFI-2.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{i as m,n as h,r as g,t as _}from"./Combination-Cd_aWAsj.js";var v=e(t(),1),y=p(),b=`Dialog`,[x,S]=l(b),[C,w]=x(b),T=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,d]=u({prop:r,defaultProp:i??!1,onChange:a,caller:b});return(0,y.jsx)(C,{scope:t,triggerRef:s,contentRef:c,contentId:f(),titleId:f(),descriptionId:f(),open:l,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};T.displayName=b;var E=`DialogTrigger`,D=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,s=w(E,n),c=i(t,s.triggerRef);return(0,y.jsx)(o.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":q(s.open),...r,ref:c,onClick:a(e.onClick,s.onOpenToggle)})});D.displayName=E;var O=`DialogPortal`,[k,A]=x(O,{forceMount:void 0}),j=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=w(O,t);return(0,y.jsx)(k,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,y.jsx)(d,{present:n||a.open,children:(0,y.jsx)(c,{asChild:!0,container:i,children:e})}))})};j.displayName=O;var M=`DialogOverlay`,N=v.forwardRef((e,t)=>{let n=A(M,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(M,e.__scopeDialog);return a.modal?(0,y.jsx)(d,{present:r||a.open,children:(0,y.jsx)(F,{...i,ref:t})}):null});N.displayName=M;var P=n(`DialogOverlay.RemoveScroll`),F=v.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,s=w(M,n),c=i(t,r());return(0,y.jsx)(_,{as:P,allowPinchZoom:!0,shards:[s.contentRef],children:(0,y.jsx)(o.div,{"data-state":q(s.open),...a,ref:c,style:{pointerEvents:`auto`,...a.style}})})}),I=`DialogContent`,L=v.forwardRef((e,t)=>{let n=A(I,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(I,e.__scopeDialog);return(0,y.jsx)(d,{present:r||a.open,children:a.modal?(0,y.jsx)(R,{...i,ref:t}):(0,y.jsx)(z,{...i,ref:t})})});L.displayName=I;var R=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),r=v.useRef(null),o=i(t,n.contentRef,r);return v.useEffect(()=>{let e=r.current;if(e)return h(e)},[]),(0,y.jsx)(B,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:a(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:a(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:a(e.onFocusOutside,e=>e.preventDefault())})}),z=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),r=v.useRef(!1),i=v.useRef(!1);return(0,y.jsx)(B,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),B=v.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,c=w(I,n);return m(),(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(g,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,y.jsx)(s,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":q(c.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),V=`DialogTitle`,H=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(V,n);return(0,y.jsx)(o.h2,{id:i.titleId,...r,ref:t})});H.displayName=V;var U=`DialogDescription`,W=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(U,n);return(0,y.jsx)(o.p,{id:i.descriptionId,...r,ref:t})});W.displayName=U;var G=`DialogClose`,K=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(G,n);return(0,y.jsx)(o.button,{type:`button`,...r,ref:t,onClick:a(e.onClick,()=>i.onOpenChange(!1))})});K.displayName=G;function q(e){return e?`open`:`closed`}export{N as a,D as c,W as i,K as n,j as o,L as r,H as s,T as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,E as r,M as i,N as a,O as o,T as s,c,j as l,o as u,s as d,w as f}from"./button-BQVYX8n_.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{i as m,n as h,r as g,t as _}from"./Combination-BJXmG5wD.js";var v=e(t(),1),y=p(),b=`Dialog`,[x,S]=l(b),[C,w]=x(b),T=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=v.useRef(null),c=v.useRef(null),[l,d]=u({prop:r,defaultProp:i??!1,onChange:a,caller:b});return(0,y.jsx)(C,{scope:t,triggerRef:s,contentRef:c,contentId:f(),titleId:f(),descriptionId:f(),open:l,onOpenChange:d,onOpenToggle:v.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};T.displayName=b;var E=`DialogTrigger`,D=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,s=w(E,n),c=i(t,s.triggerRef);return(0,y.jsx)(o.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":q(s.open),...r,ref:c,onClick:a(e.onClick,s.onOpenToggle)})});D.displayName=E;var O=`DialogPortal`,[k,A]=x(O,{forceMount:void 0}),j=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=w(O,t);return(0,y.jsx)(k,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,y.jsx)(d,{present:n||a.open,children:(0,y.jsx)(c,{asChild:!0,container:i,children:e})}))})};j.displayName=O;var M=`DialogOverlay`,N=v.forwardRef((e,t)=>{let n=A(M,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(M,e.__scopeDialog);return a.modal?(0,y.jsx)(d,{present:r||a.open,children:(0,y.jsx)(F,{...i,ref:t})}):null});N.displayName=M;var P=n(`DialogOverlay.RemoveScroll`),F=v.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,s=w(M,n),c=i(t,r());return(0,y.jsx)(_,{as:P,allowPinchZoom:!0,shards:[s.contentRef],children:(0,y.jsx)(o.div,{"data-state":q(s.open),...a,ref:c,style:{pointerEvents:`auto`,...a.style}})})}),I=`DialogContent`,L=v.forwardRef((e,t)=>{let n=A(I,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(I,e.__scopeDialog);return(0,y.jsx)(d,{present:r||a.open,children:a.modal?(0,y.jsx)(R,{...i,ref:t}):(0,y.jsx)(z,{...i,ref:t})})});L.displayName=I;var R=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),r=v.useRef(null),o=i(t,n.contentRef,r);return v.useEffect(()=>{let e=r.current;if(e)return h(e)},[]),(0,y.jsx)(B,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:a(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:a(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:a(e.onFocusOutside,e=>e.preventDefault())})}),z=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),r=v.useRef(!1),i=v.useRef(!1);return(0,y.jsx)(B,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),B=v.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,c=w(I,n);return m(),(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(g,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,y.jsx)(s,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":q(c.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),V=`DialogTitle`,H=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(V,n);return(0,y.jsx)(o.h2,{id:i.titleId,...r,ref:t})});H.displayName=V;var U=`DialogDescription`,W=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(U,n);return(0,y.jsx)(o.p,{id:i.descriptionId,...r,ref:t})});W.displayName=U;var G=`DialogClose`,K=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(G,n);return(0,y.jsx)(o.button,{type:`button`,...r,ref:t,onClick:a(e.onClick,()=>i.onOpenChange(!1))})});K.displayName=G;function q(e){return e?`open`:`closed`}export{N as a,D as c,W as i,K as n,j as o,L as r,H as s,T as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{L as n,R as r,z as i}from"./button-BQVYX8n_.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";var o=e(t(),1),s=a();function c(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r),a=n.length;n=[...n,r];let c=t=>{let{scope:n,children:r,...c}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>c,Object.values(c));return(0,s.jsx)(l.Provider,{value:u,children:r})};c.displayName=t+`Provider`;function l(n,s){let c=s?.[e]?.[a]||i,l=o.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[c,l]}let i=()=>{let t=n.map(e=>o.createContext(e));return function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,l(i,...t)]}function l(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}typeof window<`u`&&window.document&&window.document.createElement;function u(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var d=globalThis?.document?o.useLayoutEffect:()=>{},f=o.useInsertionEffect||d;function p({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,s]=m({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:i;{let t=o.useRef(e!==void 0);o.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,o.useCallback(t=>{if(c){let n=h(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}function m({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return f(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function h(e){return typeof e==`function`}function g(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}var _=e=>{let{present:t,children:n}=e,i=v(t),a=typeof n==`function`?n({present:i.isPresent}):o.Children.only(n),s=r(i.ref,b(a));return typeof n==`function`||i.isPresent?o.cloneElement(a,{ref:s}):null};_.displayName=`Presence`;function v(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),[s,c]=g(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{let e=y(r.current);a.current=s===`mounted`?e:`none`},[s]),d(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=y(t);e?c(`MOUNT`):o===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),d(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=y(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=y(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:o.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function y(e){return e?.animationName||`none`}function b(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}i();function x(e){let t=S(e),n=o.forwardRef((e,n)=>{let{children:r,...i}=e,a=o.Children.toArray(r),c=a.find(w);if(c){let e=c.props.children,r=a.map(t=>t===c?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:t);return(0,s.jsx)(t,{...i,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,s.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function S(e){let t=o.forwardRef((e,t)=>{let{children:r,...i}=e;if(o.isValidElement(r)){let e=E(r),a=T(i,r.props);return r.type!==o.Fragment&&(a.ref=t?n(t,e):e),o.cloneElement(r,a)}return o.Children.count(r)>1?o.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var C=Symbol(`radix.slottable`);function w(e){return o.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===C}function T(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function E(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var D=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=x(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,s.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});export{d as a,p as i,x as n,u as o,_ as r,c as s,D as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,M as r,j as i}from"./button-amTXFI-2.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";var o=e(t(),1),s=a();function c(e){let t=e+`CollectionProvider`,[a,c]=i(t),[l,u]=a(t,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:t,children:n}=e,r=o.useRef(null),i=o.useRef(new Map).current;return(0,s.jsx)(l,{scope:t,itemMap:i,collectionRef:r,children:n})};d.displayName=t;let f=e+`CollectionSlot`,p=n(f),m=o.forwardRef((e,t)=>{let{scope:n,children:i}=e;return(0,s.jsx)(p,{ref:r(t,u(f,n).collectionRef),children:i})});m.displayName=f;let h=e+`CollectionItemSlot`,g=`data-radix-collection-item`,_=n(h),v=o.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,c=o.useRef(null),l=r(t,c),d=u(h,n);return o.useEffect(()=>(d.itemMap.set(c,{ref:c,...a}),()=>void d.itemMap.delete(c))),(0,s.jsx)(_,{[g]:``,ref:l,children:i})});v.displayName=h;function y(t){let n=u(e+`CollectionConsumer`,t);return o.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:d,Slot:m,ItemSlot:v},y,c]}var l=o.createContext(void 0);function u(e){let t=o.useContext(l);return e||t||`ltr`}export{c as n,u as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,M as r,j as i}from"./button-BQVYX8n_.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";var o=e(t(),1),s=a();function c(e){let t=e+`CollectionProvider`,[a,c]=i(t),[l,u]=a(t,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:t,children:n}=e,r=o.useRef(null),i=o.useRef(new Map).current;return(0,s.jsx)(l,{scope:t,itemMap:i,collectionRef:r,children:n})};d.displayName=t;let f=e+`CollectionSlot`,p=n(f),m=o.forwardRef((e,t)=>{let{scope:n,children:i}=e;return(0,s.jsx)(p,{ref:r(t,u(f,n).collectionRef),children:i})});m.displayName=f;let h=e+`CollectionItemSlot`,g=`data-radix-collection-item`,_=n(h),v=o.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,c=o.useRef(null),l=r(t,c),d=u(h,n);return o.useEffect(()=>(d.itemMap.set(c,{ref:c,...a}),()=>void d.itemMap.delete(c))),(0,s.jsx)(_,{[g]:``,ref:l,children:i})});v.displayName=h;function y(t){let n=u(e+`CollectionConsumer`,t);return o.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:d,Slot:m,ItemSlot:v},y,c]}var l=o.createContext(void 0);function u(e){let t=o.useContext(l);return e||t||`ltr`}export{c as n,u as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{f as n,l as r,u as i}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./typography-Cqi8q9o7.js";import{t as s}from"./loader-circle-Ck8fq3yv.js";import"./src-CYX5MuYs.js";import{n as c}from"./resolved-assistants-store-DAzPZ1eV.js";import{bt as l,xt as u,yt as d}from"./sdk.gen-CFgJ4K6f.js";import{c as f}from"./routes-CAkcxlmQ.js";import{r as p}from"./viewer-store-CFywMdJp.js";import{At as m,Cr as h,Tr as g,kt as _,vt as v}from"./index-BZVPYTjj.js";import{t as y}from"./use-edge-swipe-back-BfWKkSiL.js";var b=e(t(),1);function x({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,b.useRef)(n);return(0,b.useLayoutEffect)(()=>{r.current=n},[n]),(0,b.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var S=a();function C(){let{surfaceId:e}=n(),t=i(),{pathname:a}=r(),C=h(),w=c.use.activeAssistantId(),T=(0,b.useRef)(null),[E,D]=(0,b.useState)(null),[O,k]=(0,b.useState)(!0),[A,j]=(0,b.useState)(null),M=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(!e){j(`No document ID provided.`),k(!1);return}if(!w)return;let t=!1;return(async()=>{try{let{data:n}=await l({path:{assistant_id:w,id:e},throwOnError:!0});if(t)return;D(n)}catch{t||j(`Failed to load document.`)}finally{t||k(!1)}})(),()=>{t=!0}},[e,w]);let N=(0,b.useCallback)(()=>{M.current?.refreshComments()},[]);g(`sse.event`,x({surfaceId:e??``,enabled:!!e,onCommentsChanged:N}));let P=(0,b.useCallback)(()=>{t(-1)},[t]);y({containerRef:T,onBack:P,enabled:C,navKey:a});let F=(0,b.useCallback)(async()=>{if(!E||!w||!e)return;let n=E.conversationId||_(w,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(m(w,e,n),n!==E.conversationId)try{await d({path:{assistant_id:w,id:e},body:{conversationId:n},throwOnError:!0})}catch{}p.getState().openDocument(),p.getState().setLoadedDocument({surfaceId:E.surfaceId,conversationId:n,documentName:E.title,content:E.content});let r=`Please review and address my comments on "${E.title}".`;t(`${f.conversation(n)}?prompt=${encodeURIComponent(r)}`)},[E,w,e,t]),I=(0,b.useCallback)(async()=>{if(!E||!w)return;let{data:e,response:t}=await u({path:{assistant_id:w,id:E.surfaceId},throwOnError:!1,parseAs:`blob`});if(!t?.ok||!e)return;let n=URL.createObjectURL(e);Object.assign(document.createElement(`a`),{href:n,download:`${E.title||`document`}.pdf`}).click(),URL.revokeObjectURL(n)},[E,w]);return O?(0,S.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,S.jsx)(s,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):A||!E||!w?(0,S.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,S.jsx)(o,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:A??`Document not found.`})}):(0,S.jsx)(`div`,{ref:T,className:`flex min-h-0 flex-1 flex-col`,children:(0,S.jsx)(v,{surfaceId:E.surfaceId,assistantId:w,conversationId:E.conversationId,documentName:E.title,content:E.content,onClose:P,onExport:I,onSubmitFeedback:F,handleRef:M})})}export{C as DocumentViewerPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./createLucideIcon-IRfcSUxS.js";var n=t(`crown`,[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`,key:`1vdc57`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),r=e();function i({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:i=`my-assistant`,disabled:a,autoFocus:o,prefix:s,error:c,locked:l,lockedMessage:u}){return(0,r.jsxs)(`div`,{children:[(0,r.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${c?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[s,(0,r.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:a||l,readOnly:l,autoFocus:o,placeholder:i,"aria-label":`Subdomain`,"aria-invalid":!!c,className:`h-full min-w-0 flex-1 bg-transparent ${s?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,r.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),c&&(0,r.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:c}),l&&u&&(0,r.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:u})]})}export{n,i as t};
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./createLucideIcon-Bjb-Kuq7.js";var n=t(`crown`,[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`,key:`1vdc57`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),r=e();function i({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:i=`my-assistant`,disabled:a,autoFocus:o,prefix:s,error:c,locked:l,lockedMessage:u}){return(0,r.jsxs)(`div`,{children:[(0,r.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${c?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[s,(0,r.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:a||l,readOnly:l,autoFocus:o,placeholder:i,"aria-label":`Subdomain`,"aria-invalid":!!c,className:`h-full min-w-0 flex-1 bg-transparent ${s?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,r.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),c&&(0,r.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:c}),l&&u&&(0,r.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:u})]})}export{n,i as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]);export{t};