@vellumai/web 0.9.0 → 0.9.1-staging.1

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 (614) hide show
  1. package/README.md +7 -7
  2. package/dist/assets/{BundleConfirmPage-COR1Ynv-.js → BundleConfirmPage-B05RoADk.js} +1 -1
  3. package/dist/assets/{account-page-_nv-9g2O.js → account-page-BXXWqnIU.js} +1 -1
  4. package/dist/assets/{account-shell-B0yfvmVK.js → account-shell-CMXld37R.js} +1 -1
  5. package/dist/assets/add-credits-modal-DpiB3QLy.js +1 -0
  6. package/dist/assets/advanced-page-NqIInihI.js +1 -0
  7. package/dist/assets/ai-page-1l2CkYpn.js +1 -0
  8. package/dist/assets/{angular-html-WWtxQ0FZ.js → angular-html-DrZg9N7A.js} +1 -1
  9. package/dist/assets/{angular-ts-BwZPsSaN.js → angular-ts-okMJpjnr.js} +1 -1
  10. package/dist/assets/{api-BIzaqOVi.js → api-BZ4I3q8P.js} +1 -1
  11. package/dist/assets/{api-key-screen-BfviA_1s.js → api-key-screen-Dp-VBpp-.js} +1 -1
  12. package/dist/assets/{apl-qImUYioN.js → apl-C_w7rnXn.js} +1 -1
  13. package/dist/assets/{app-html-cache-DKXWVT-p.js → app-html-cache-BTpT7uaA.js} +1 -1
  14. package/dist/assets/{archive-BmTrKV5M.js → archive-CeE0yzQG.js} +1 -1
  15. package/dist/assets/archive-page-0ieRHeti.js +1 -0
  16. package/dist/assets/arrow-up-BfbWaCwD.js +1 -0
  17. package/dist/assets/{assistant-feature-flag-store-CFzsxEC5.js → assistant-feature-flag-store-Cxp56Kba.js} +1 -1
  18. package/dist/assets/{assistant-identity-store-C5A1x0hz.js → assistant-identity-store-jSviVw26.js} +1 -1
  19. package/dist/assets/{assistant-status-panel-B8QHRlRK.js → assistant-status-panel-D-z6IxYW.js} +1 -1
  20. package/dist/assets/{astro-BdrsSwVj.js → astro-C45ziIIN.js} +1 -1
  21. package/dist/assets/auth-store-DSAM2WAh.js +6 -0
  22. package/dist/assets/avatar-bundled-components-Cu5DZgIL.js +1 -0
  23. package/dist/assets/{bell-C7RL04h4.js → bell-NxrwR0Jo.js} +1 -1
  24. package/dist/assets/billing-page-DKUCcl5k.js +3 -0
  25. package/dist/assets/{blade-B6JYoa3f.js → blade-qb9kSoZR.js} +1 -1
  26. package/dist/assets/{bookmark-GaSa4dxV.js → bookmark-x7Ifdw-I.js} +1 -1
  27. package/dist/assets/bookmarks-page-B1dsEwnh.js +1 -0
  28. package/dist/assets/{bsl-D_tf_CLc.js → bsl-CjyTSzpP.js} +1 -1
  29. package/dist/assets/{bug-rSnph6U_.js → bug-02o3SRzi.js} +1 -1
  30. package/dist/assets/build-state-Bzd27ecC.js +1 -0
  31. package/dist/assets/button-D7s2Q_uG.js +1 -0
  32. package/dist/assets/{cairo-DDfk82ho.js → cairo-CQCX_le0.js} +1 -1
  33. package/dist/assets/{calendar-CwOLKT3p.js → calendar-DwE3i9wW.js} +1 -1
  34. package/dist/assets/{capture-error-Dze4ISSQ.js → capture-error-BxOQIcLY.js} +1 -1
  35. package/dist/assets/{card-CL5iEMJO.js → card-BibIM9x3.js} +1 -1
  36. package/dist/assets/checkbox-Dc9gjmAy.js +1 -0
  37. package/dist/assets/chevron-left-BpXPM4yj.js +1 -0
  38. package/dist/assets/chevron-right-VLCJ26DX.js +1 -0
  39. package/dist/assets/{chevron-up-BuB8vDjx.js → chevron-up-CpvJ_NKe.js} +1 -1
  40. package/dist/assets/circle-alert-mVsAUggI.js +1 -0
  41. package/dist/assets/circle-check-CSXvLfEU.js +1 -0
  42. package/dist/assets/client-feature-flag-store-D6tVPQsU.js +1 -0
  43. package/dist/assets/{cloud-off-Bla9953d.js → cloud-off-DH9J_354.js} +1 -1
  44. package/dist/assets/{cobol-C-kmZQvm.js → cobol-Bk2j4Qib.js} +1 -1
  45. package/dist/assets/code-ClSTGNCv.js +1 -0
  46. package/dist/assets/{coffee-DhiWyyUJ.js → coffee-C-3Eo9LW.js} +1 -1
  47. package/dist/assets/command-palette-CSvW_XvX.js +1 -0
  48. package/dist/assets/command-palette-window-page-cWuw1xhs.js +1 -0
  49. package/dist/assets/{community-page-DTguxeti.js → community-page-BEOfCbCf.js} +1 -1
  50. package/dist/assets/{confirm-dialog-M0xuyGF3.js → confirm-dialog-D72Q4sYh.js} +1 -1
  51. package/dist/assets/connect-page-BqFzo5G7.js +1 -0
  52. package/dist/assets/{contacts-gateway-B2GdCtQB.js → contacts-gateway-0QjVTHxb.js} +1 -1
  53. package/dist/assets/contacts-page-route-DpPRviaL.js +1 -0
  54. package/dist/assets/conversation-queries-BmEO0Fc3.js +1 -0
  55. package/dist/assets/{cpp-BxTVNpCP.js → cpp-CJat0DvY.js} +1 -1
  56. package/dist/assets/{cpu-RoSTyhPi.js → cpu-BcJecU1F.js} +1 -1
  57. package/dist/assets/{credit-card-CBZ1Gldr.js → credit-card-0RHpgtQL.js} +1 -1
  58. package/dist/assets/{crystal-CEhFCZpE.js → crystal-BqtvtO3u.js} +1 -1
  59. package/dist/assets/{danger-zone-redirect-page-CyQBrlK6.js → danger-zone-redirect-page-CLhADkGK.js} +1 -1
  60. package/dist/assets/debug-page-DGv3D_k5.js +2 -0
  61. package/dist/assets/{deploy-dialogs-Bm0M00AX.js → deploy-dialogs-p1vsPTUv.js} +1 -1
  62. package/dist/assets/{detail-card-DCGV8um_.js → detail-card-CVf1cdeW.js} +1 -1
  63. package/dist/assets/developer-page-qfz1DprB.js +1 -0
  64. package/dist/assets/devices-page-CQaIWKCU.js +1 -0
  65. package/dist/assets/dictation-overlay-page-C-tkq4dH.js +1 -0
  66. package/dist/assets/{dist-CoxhZ9v8.js → dist-C1rQce1K.js} +3 -3
  67. package/dist/assets/dist-C7PFRcgv.js +45 -0
  68. package/dist/assets/dist-D7Zr-ONk.js +1 -0
  69. package/dist/assets/{document-viewer-page-GJ_dQp9b.js → document-viewer-page-DCIJeax2.js} +1 -1
  70. package/dist/assets/{dollar-sign-BN-8Yv73.js → dollar-sign-DMaImaTJ.js} +1 -1
  71. package/dist/assets/{domain-field-vYNUc_Az.js → domain-field-BB2BsmpU.js} +1 -1
  72. package/dist/assets/dropdown-SfZ7NXPp.js +1 -0
  73. package/dist/assets/earn-credits-modal-hDZ2B3fU.js +1 -0
  74. package/dist/assets/{edge-Bci24Md7.js → edge-BV6fRa4E.js} +1 -1
  75. package/dist/assets/{elixir-B5N7VKJH.js → elixir-OB2TezpS.js} +1 -1
  76. package/dist/assets/{elm-B1GlF0mV.js → elm-JQucPHIY.js} +1 -1
  77. package/dist/assets/emails-page-Bx6Gs9BA.js +1 -0
  78. package/dist/assets/{erb-D7ESY-Qt.js → erb-Dm43QUHY.js} +1 -1
  79. package/dist/assets/{erlang-CgzjewCv.js → erlang-BjHC8Fth.js} +1 -1
  80. package/dist/assets/esm-CNJhwbfn.js +2 -0
  81. package/dist/assets/esm-CO15BYmi.js +2 -0
  82. package/dist/assets/esm-CQum5pRC.js +2 -0
  83. package/dist/assets/{esm-_0RlmVwB.js → esm-CiJ6-8lg.js} +2 -2
  84. package/dist/assets/esm-DKexRi0t.js +2 -0
  85. package/dist/assets/{external-link-D3Ykpc6Y.js → external-link-DSvLY0NE.js} +1 -1
  86. package/dist/assets/feature-flag-catalog-BiYXpwz5.js +1 -0
  87. package/dist/assets/{file-markdown-B3OXc5Lr.js → file-markdown-Dfe7kMpk.js} +1 -1
  88. package/dist/assets/{fortran-fixed-form-D0WTYXYP.js → fortran-fixed-form-C3-VJqJr.js} +1 -1
  89. package/dist/assets/{fsharp-82JzUBif.js → fsharp-B8O8aOP4.js} +1 -1
  90. package/dist/assets/{gdresource-m8T_7jlj.js → gdresource-CUAhKJit.js} +1 -1
  91. package/dist/assets/general-page-hzdHpzIF.js +1 -0
  92. package/dist/assets/{git-commit-PbX4Y7Vw.js → git-commit-BBqOOYhn.js} +1 -1
  93. package/dist/assets/{git-rebase-KbdSOZ3-.js → git-rebase-Cey46YEw.js} +1 -1
  94. package/dist/assets/{glimmer-js-ChA_ZwwB.js → glimmer-js-B6y7m0WE.js} +1 -1
  95. package/dist/assets/{glimmer-ts-k4hLIrpd.js → glimmer-ts-CadiznLG.js} +1 -1
  96. package/dist/assets/{globe-XxyRAKtA.js → globe-CWYIIJUm.js} +1 -1
  97. package/dist/assets/{glsl-q_yvWVYt.js → glsl-BX0XpeT3.js} +1 -1
  98. package/dist/assets/{graphql-BPJsY1kn.js → graphql-DoIN2W3t.js} +1 -1
  99. package/dist/assets/{hack-CBPdsfm-.js → hack-Ci58pPV7.js} +1 -1
  100. package/dist/assets/{haml-LncuvXfT.js → haml-DmEHCdSk.js} +1 -1
  101. package/dist/assets/{handlebars-mG7pSHtc.js → handlebars-DZ7Q3UXT.js} +1 -1
  102. package/dist/assets/{hard-drive-DWg8XdD2.js → hard-drive-CTNBsAWU.js} +1 -1
  103. package/dist/assets/hatching-screen-Bd30Ia_7.js +1 -0
  104. package/dist/assets/home-page-route-DRougLlo.js +1 -0
  105. package/dist/assets/hosting-screen-DEZKXtDQ.js +1 -0
  106. package/dist/assets/{html-Cq0j65yf.js → html-CGrQAUxW.js} +1 -1
  107. package/dist/assets/{html-derivative-CP5arJ1H.js → html-derivative-OvdDTNui.js} +1 -1
  108. package/dist/assets/{http-DwlkCLx4.js → http-B3dPFFFp.js} +1 -1
  109. package/dist/assets/{hurl-CdC11TNb.js → hurl-DOe6gFKZ.js} +1 -1
  110. package/dist/assets/{hxml-DTQUeJZt.js → hxml-Dgdtv5Pm.js} +1 -1
  111. package/dist/assets/identity-page-route-Bf4m-KYt.js +1 -0
  112. package/dist/assets/index-BQE97htW.js +132 -0
  113. package/dist/assets/index-Cqs3Oe7d.css +2 -0
  114. package/dist/assets/info-cdSVfJsv.js +1 -0
  115. package/dist/assets/input-CwdmSRlD.js +1 -0
  116. package/dist/assets/{inspect-page-pCkEmpP6.js → inspect-page-CF6IvTnL.js} +5 -5
  117. package/dist/assets/{install-d5tDxfg0.js → install-BE_ugEQz.js} +1 -1
  118. package/dist/assets/integrations-page-CL5g5Fy2.js +1 -0
  119. package/dist/assets/{intelligence-layout-DM19ufqf.js → intelligence-layout-I7RyB84a.js} +1 -1
  120. package/dist/assets/{jinja-D_avM0mF.js → jinja-DIE_Jflk.js} +1 -1
  121. package/dist/assets/{jison-CAcq6yEW.js → jison-DMqdxd5c.js} +1 -1
  122. package/dist/assets/{julia-DPk9tS3O.js → julia-CIa9Gf6b.js} +1 -1
  123. package/dist/assets/{just-Bt0r6dYI.js → just-CJw06-bY.js} +1 -1
  124. package/dist/assets/keyboard-shortcuts-page-BoCAeGTj.js +1 -0
  125. package/dist/assets/{latex-CbGVyRdd.js → latex-IjGIU0T5.js} +1 -1
  126. package/dist/assets/{lib-BKXwfhCO.js → lib-CxFJAvX9.js} +1 -1
  127. package/dist/assets/{library-detail-page-DsVaWPIi.js → library-detail-page-Ci19BDrU.js} +1 -1
  128. package/dist/assets/{library-page-CnbZaK_J.js → library-page-2pAO8s9R.js} +1 -1
  129. package/dist/assets/{link-2-DGDYUt2-.js → link-2-DhbUuvTQ.js} +1 -1
  130. package/dist/assets/{liquid-C0LKu0K_.js → liquid-rqA9SJHF.js} +1 -1
  131. package/dist/assets/loader-circle-DkHNr7Ya.js +1 -0
  132. package/dist/assets/local-mode-Bo8nh80B.js +1 -0
  133. package/dist/assets/log-in-BK2MWU1V.js +1 -0
  134. package/dist/assets/{login-flow-DSUqqkE0.js → login-flow-LfFdQVKy.js} +1 -1
  135. package/dist/assets/{login-page-D3099sWt.js → login-page-CAwPG3zL.js} +1 -1
  136. package/dist/assets/{logout-page-CfN4-8nj.js → logout-page-K7GPUkhR.js} +1 -1
  137. package/dist/assets/{logs-layout-WQJDQfkN.js → logs-layout-DJLcEzf0.js} +1 -1
  138. package/dist/assets/{lua-CUP7Y2Pn.js → lua-DbcUyphn.js} +1 -1
  139. package/dist/assets/{marko-DH0yoTRe.js → marko-BoqFz5OD.js} +1 -1
  140. package/dist/assets/{mdc-BOLOlRWW.js → mdc-D0ahgoAK.js} +1 -1
  141. package/dist/assets/memory-router-playground-page-BnAPa8Kg.js +3 -0
  142. package/dist/assets/menu-BQSZbhtw.js +1 -0
  143. package/dist/assets/{minimize-2-BLdsBpLn.js → minimize-2-CZEYRlXG.js} +1 -1
  144. package/dist/assets/{mobile-sidebar-drawer-BQgKwZF8.js → mobile-sidebar-drawer-BOVf-4X5.js} +1 -1
  145. package/dist/assets/modal-CzEvQDM4.js +1 -0
  146. package/dist/assets/{moon-CYJLc3J5.js → moon-Kgk0y3SC.js} +1 -1
  147. package/dist/assets/{native-file-B-TZWM3R.js → native-file-B9T0QAPN.js} +2 -2
  148. package/dist/assets/{nextflow-Dt_MmHu-.js → nextflow-Ce0n9Q8q.js} +1 -1
  149. package/dist/assets/{nginx-pSzDt0fE.js → nginx-BqXGk0FA.js} +1 -1
  150. package/dist/assets/{nim-BV2SbK9H.js → nim-tDzu_GTm.js} +1 -1
  151. package/dist/assets/{notice-CF2pptne.js → notice-jdXknxvS.js} +1 -1
  152. package/dist/assets/notifications-page-sxAXn9yD.js +1 -0
  153. package/dist/assets/{oauth-complete-page-D0156Ff7.js → oauth-complete-page-BptiOXrB.js} +1 -1
  154. package/dist/assets/{oauth-popup-complete-page-xiSQOdBd.js → oauth-popup-complete-page-CzUGsXDZ.js} +1 -1
  155. package/dist/assets/onboarding-layout-CaCFWkQh.js +1 -0
  156. package/dist/assets/{page-shell-BeD0ynsM.js → page-shell-BK8U7uAs.js} +1 -1
  157. package/dist/assets/pairing-page-h7p877l-.js +1 -0
  158. package/dist/assets/panel-item-BkteAFRC.js +1 -0
  159. package/dist/assets/{password-reset-page-BRBJUia1.js → password-reset-page-BJc9fj0D.js} +1 -1
  160. package/dist/assets/{pencil-B3bs98KV.js → pencil-C3hvx-64.js} +1 -1
  161. package/dist/assets/{perl-CBrqQ2Y9.js → perl-1zAO6R_l.js} +1 -1
  162. package/dist/assets/{php-BRr2iuSd.js → php-BiEHZbtR.js} +1 -1
  163. package/dist/assets/platform-loopback-page-BbXfL66c.js +1 -0
  164. package/dist/assets/plugin-detail-page-D73NFF28.js +1 -0
  165. package/dist/assets/plugins-page-D0F0PpuI.js +1 -0
  166. package/dist/assets/prechat-route-Dbf2jEmp.js +1 -0
  167. package/dist/assets/{prefs-gr68GIXL.js → prefs-BJLsPNW_.js} +1 -1
  168. package/dist/assets/privacy-page-B91A8UUv.js +1 -0
  169. package/dist/assets/privacy-screen-DDX7Fs7k.js +1 -0
  170. package/dist/assets/{progress-bar-BxeXgLhp.js → progress-bar-BOKTRqXE.js} +1 -1
  171. package/dist/assets/provider-callback-page-ZpTK7tWH.js +1 -0
  172. package/dist/assets/{provider-key-D3ikycIK.js → provider-key-CREk2Vnb.js} +1 -1
  173. package/dist/assets/provider-signup-page-tSjgpRgo.js +1 -0
  174. package/dist/assets/{proxy-DEUrefJ_.js → proxy-Cd3VuNoq.js} +1 -1
  175. package/dist/assets/{pug-BoDVy1LQ.js → pug-DUQof6rd.js} +1 -1
  176. package/dist/assets/{qml-DRjsHkrO.js → qml-CGkhukx5.js} +1 -1
  177. package/dist/assets/{quick-input-page-OBxGPq88.js → quick-input-page-C9Xy1Hau.js} +1 -1
  178. package/dist/assets/{razor-BMNn_rDm.js → razor-gAsPj4GS.js} +1 -1
  179. package/dist/assets/react-query.gen-CTMlijN0.js +1 -0
  180. package/dist/assets/react-query.gen-DQTjtCEE.js +1 -0
  181. package/dist/assets/remote-gateway-session-Bs00EKBs.js +1 -0
  182. package/dist/assets/{resize-errors-BqvxgvBO.js → resize-errors-EgUeogec.js} +1 -1
  183. package/dist/assets/resolved-assistants-store-BuY00Dgn.js +1 -0
  184. package/dist/assets/{review-terms-screen-Bc9Egqae.js → review-terms-screen-C-kJmgps.js} +1 -1
  185. package/dist/assets/routes-DB8A8L8M.js +1 -0
  186. package/dist/assets/{rst-TNVqXwJf.js → rst-DKtwfZn1.js} +1 -1
  187. package/dist/assets/{ruby-DMzPTCr1.js → ruby-DwigaBT5.js} +1 -1
  188. package/dist/assets/{sas-DFcBXVuc.js → sas-Col9Mi_S.js} +1 -1
  189. package/dist/assets/{save-B0FEX-GY.js → save-BmSG47KO.js} +1 -1
  190. package/dist/assets/{schedules-ByXx8-Sr.js → schedules-Cyj1kxHv.js} +1 -1
  191. package/dist/assets/{scss-utNVzD3r.js → scss-BQG_h4A0.js} +1 -1
  192. package/dist/assets/{sdk.gen-qH7wLOCJ.js → sdk.gen-Cc6RAEr7.js} +1 -1
  193. package/dist/assets/sdk.gen-x-qpuaG-.js +1 -0
  194. package/dist/assets/select-assistant-screen-PLRPW4sS.js +1 -0
  195. package/dist/assets/settings-layout-Br8w26ON.js +1 -0
  196. package/dist/assets/{shaderlab-BtpLh0Rm.js → shaderlab-DdlsUSX2.js} +1 -1
  197. package/dist/assets/share-feedback-modal-D1lWsVtD.js +1 -0
  198. package/dist/assets/{shellsession-B5mArt0v.js → shellsession-vfzQ1mDP.js} +1 -1
  199. package/dist/assets/{shortcut-keys-FXO7qQjX.js → shortcut-keys-SeKJj-8k.js} +1 -1
  200. package/dist/assets/{sidebar-tree-CeH2oC1c.js → sidebar-tree-DR_MAZ2a.js} +1 -1
  201. package/dist/assets/signup-page-CVhT38z2.js +1 -0
  202. package/dist/assets/signup-shell-Bpciut3D.js +1 -0
  203. package/dist/assets/signup-shell-iu1RtjJg.css +1 -0
  204. package/dist/assets/skills-page-3Y1C1W-Q.js +1 -0
  205. package/dist/assets/sounds-page-DrLahW2v.js +1 -0
  206. package/dist/assets/{soy-DZlWN0sj.js → soy-D88tZlUq.js} +1 -1
  207. package/dist/assets/{sparql-BCtHXAbr.js → sparql-CoL1_ZRS.js} +1 -1
  208. package/dist/assets/{src-DOuqBUBT.js → src-smBQxdc-.js} +3 -3
  209. package/dist/assets/{stat-square-CSDqINvK.js → stat-square-B5tBfA4w.js} +1 -1
  210. package/dist/assets/{stata-Dd44DgqZ.js → stata-CWe_kfF2.js} +1 -1
  211. package/dist/assets/step-indicator-dots-DDl5cxT2.js +1 -0
  212. package/dist/assets/{subagent-detail-panel-BVXpCz2J.js → subagent-detail-panel-BN2hcYCC.js} +2 -2
  213. package/dist/assets/{surrealql-OVZ-gnfq.js → surrealql-BKM1bgDV.js} +1 -1
  214. package/dist/assets/{svelte-QxdAAhct.js → svelte-r7NjAx4N.js} +1 -1
  215. package/dist/assets/system-events-page-BaDA17Oa.js +1 -0
  216. package/dist/assets/{system-events-redirect-page-DrZ2u3dO.js → system-events-redirect-page-CqmtBW2h.js} +1 -1
  217. package/dist/assets/tag-BadGF3FB.js +1 -0
  218. package/dist/assets/{templ-C6aBSESX.js → templ-MfcVHJUO.js} +1 -1
  219. package/dist/assets/{tex-B45gdD9O.js → tex-AQi8XY01.js} +1 -1
  220. package/dist/assets/{tiptap-document-editor-WC0fzHW1.js → tiptap-document-editor-C0s5OMGS.js} +1 -1
  221. package/dist/assets/toast-ouIW2mYq.js +1 -0
  222. package/dist/assets/{toggle-CEm3M86o.js → toggle-_vZlLDBV.js} +1 -1
  223. package/dist/assets/{tool-detail-panel-Dfj3LmKr.js → tool-detail-panel-CikBGOnz.js} +1 -1
  224. package/dist/assets/trace-page-D61L9P5u.js +1 -0
  225. package/dist/assets/triangle-alert-Bq1nYBA_.js +1 -0
  226. package/dist/assets/{ts-tags-BqAJ4YDs.js → ts-tags-D3kzvhv6.js} +1 -1
  227. package/dist/assets/{twig-TjGlKzCH.js → twig-Db3lotmH.js} +1 -1
  228. package/dist/assets/{typography-Czgs_2w_.js → typography-BscuIPxA.js} +1 -1
  229. package/dist/assets/upgrade-cancel-page-CwDFTk-Z.js +1 -0
  230. package/dist/assets/upgrade-success-page-Ctx7Pgx9.js +1 -0
  231. package/dist/assets/usage-page-DJt6INPR.js +1 -0
  232. package/dist/assets/{use-active-assistant-id-Bdecq9LQ.js → use-active-assistant-id-CJjFnsdH.js} +1 -1
  233. package/dist/assets/{use-bus-subscription-BocLBf2F.js → use-bus-subscription-Dile3BXF.js} +1 -1
  234. package/dist/assets/use-is-org-ready-ZaDAhQkA.js +1 -0
  235. package/dist/assets/{use-oauth-complete-deep-link-listener-BGWwfkrM.js → use-oauth-complete-deep-link-listener-DLqTZY6C.js} +1 -1
  236. package/dist/assets/use-onboarding-login-BTaj-hG0.js +1 -0
  237. package/dist/assets/{use-plugin-drift-BNYVbuCR.js → use-plugin-drift-CaIvzeDn.js} +1 -1
  238. package/dist/assets/{utils-D2f3K1x1.js → utils-J6AQqhXe.js} +1 -1
  239. package/dist/assets/{viewer-store-4gKEarK-.js → viewer-store-C-VRTj0q.js} +1 -1
  240. package/dist/assets/voice-page-DWAv-yT7.js +1 -0
  241. package/dist/assets/{vue-Bm31t8Lm.js → vue-DJL0x4aQ.js} +1 -1
  242. package/dist/assets/{vue-html-xBRK8Xd9.js → vue-html-DK2eUWWJ.js} +1 -1
  243. package/dist/assets/{vue-vine-P1uwYlz8.js → vue-vine-CDIGDSv6.js} +1 -1
  244. package/dist/assets/{weather-forecast-display-YtwvAE3m.js → weather-forecast-display-KVpBIJDW.js} +1 -1
  245. package/dist/assets/{web-CPHbsWqm.js → web-Bbbrqz9-.js} +1 -1
  246. package/dist/assets/{web-Ker_tJP9.js → web-BmmMNr9D.js} +1 -1
  247. package/dist/assets/{web-DWvZdxOE.js → web-BnVK6Ko1.js} +1 -1
  248. package/dist/assets/{web-D4ymc7ZG.js → web-C8hX3beP.js} +1 -1
  249. package/dist/assets/{web-vxdpxjlv.js → web-CSektMPp.js} +1 -1
  250. package/dist/assets/{web-yO8boHQf.js → web-DntBgoV-.js} +1 -1
  251. package/dist/assets/{web-BegDkT4R.js → web-Q-Fy-bZq.js} +1 -1
  252. package/dist/assets/welcome-screen-ea0-Xr7b.js +1 -0
  253. package/dist/assets/workspace-page-DUCQ1nQd.js +1 -0
  254. package/dist/assets/x-BMQWZd8e.js +1 -0
  255. package/dist/assets/{xml-Cnbgehk4.js → xml-Dt5XXe4C.js} +1 -1
  256. package/dist/assets/{xsl-B8mB9ilZ.js → xsl-DWFkZJX5.js} +1 -1
  257. package/dist/index.html +91 -83
  258. package/package.json +1 -1
  259. package/dist/assets/add-credits-modal-BkOCDjqB.js +0 -1
  260. package/dist/assets/advanced-page-dif2oSms.js +0 -1
  261. package/dist/assets/ai-page-DoG94CQA.js +0 -1
  262. package/dist/assets/archive-page-CmD7FqLa.js +0 -1
  263. package/dist/assets/arrow-up-BLnb2N1m.js +0 -1
  264. package/dist/assets/auth-store-waC7X7ya.js +0 -6
  265. package/dist/assets/avatar-bundled-components-CJRg7P2Y.js +0 -1
  266. package/dist/assets/avatar-random-BtKQR_T3.js +0 -1
  267. package/dist/assets/billing-page-cavmVV7H.js +0 -3
  268. package/dist/assets/bookmarks-page-DbFw-AKH.js +0 -1
  269. package/dist/assets/build-state-Dolr1rr6.js +0 -1
  270. package/dist/assets/button-CHADMNBN.js +0 -1
  271. package/dist/assets/cast-onboarding-flow-B3gD85pn.css +0 -1
  272. package/dist/assets/cast-onboarding-flow-DzvIQoNG.js +0 -4
  273. package/dist/assets/checkbox-qlcBvCFW.js +0 -1
  274. package/dist/assets/chevron-left-CHId86dZ.js +0 -1
  275. package/dist/assets/chevron-right-C0jZwqbo.js +0 -1
  276. package/dist/assets/client-feature-flag-store-lWvUd78D.js +0 -1
  277. package/dist/assets/code-DAtk7tPY.js +0 -1
  278. package/dist/assets/command-palette-2IEtW9rZ.js +0 -1
  279. package/dist/assets/command-palette-window-page-C5p5AwyY.js +0 -1
  280. package/dist/assets/connect-page-CUp4cedV.js +0 -1
  281. package/dist/assets/contacts-page-route-B7ZKVyUd.js +0 -1
  282. package/dist/assets/debug-page-CCGD1BiX.js +0 -2
  283. package/dist/assets/developer-page-DAUssNZ3.js +0 -1
  284. package/dist/assets/devices-page-Da4e9mAO.js +0 -1
  285. package/dist/assets/dictation-overlay-page-y7ygbr0U.js +0 -1
  286. package/dist/assets/dist-B1Fpj7hg.js +0 -1
  287. package/dist/assets/dist-D6LVk88Z.js +0 -45
  288. package/dist/assets/dropdown-CocFV5yi.js +0 -1
  289. package/dist/assets/earn-credits-modal-CkrbYw5-.js +0 -1
  290. package/dist/assets/emails-page-C-NFBDHw.js +0 -1
  291. package/dist/assets/esm-BNq2jLTc.js +0 -2
  292. package/dist/assets/esm-CWstg7ip.js +0 -2
  293. package/dist/assets/esm-DYLYqqRN.js +0 -2
  294. package/dist/assets/esm-rfpiamO7.js +0 -2
  295. package/dist/assets/feature-flag-catalog-DkXBGepr.js +0 -1
  296. package/dist/assets/funnel-events-DYH6ni4s.js +0 -1
  297. package/dist/assets/general-page-WuMBWF7U.js +0 -1
  298. package/dist/assets/hatching-screen-DXbD5lfG.js +0 -1
  299. package/dist/assets/home-page-route-JGToc0RF.js +0 -1
  300. package/dist/assets/hosting-screen-Bp-_iLCV.js +0 -1
  301. package/dist/assets/identity-page-route-DSmJtKyq.js +0 -1
  302. package/dist/assets/index-BKOx2d-L.js +0 -132
  303. package/dist/assets/index-C6buyc4-.css +0 -2
  304. package/dist/assets/input-Cu3PPVCq.js +0 -1
  305. package/dist/assets/integrations-page-CSiVzrvI.js +0 -1
  306. package/dist/assets/keyboard-shortcuts-page-BzQv3QcH.js +0 -1
  307. package/dist/assets/loader-circle-BwqYfFHZ.js +0 -1
  308. package/dist/assets/memory-router-playground-page-DLOLMe3o.js +0 -3
  309. package/dist/assets/menu-B79-l6IU.js +0 -1
  310. package/dist/assets/modal-BYMhDpQo.js +0 -1
  311. package/dist/assets/notifications-page-DDoljRZO.js +0 -1
  312. package/dist/assets/onboarding-layout-Ckbaim4E.js +0 -1
  313. package/dist/assets/panel-item-FzMfzMJA.js +0 -1
  314. package/dist/assets/personal-page-shell-BbTuWjjQ.css +0 -1
  315. package/dist/assets/personal-page-shell-Cs95FWNT.js +0 -1
  316. package/dist/assets/platform-loopback-page-kanCISP0.js +0 -1
  317. package/dist/assets/plugin-detail-page-D13lk_sO.js +0 -1
  318. package/dist/assets/plugins-page-Bf6d_5Du.js +0 -1
  319. package/dist/assets/portal-container-DIXEBWUe.js +0 -1
  320. package/dist/assets/prechat-SGdv4TXK.js +0 -1
  321. package/dist/assets/prechat-context-Bcdx89-k.js +0 -1
  322. package/dist/assets/prechat-route-DsP8PFVG.js +0 -2
  323. package/dist/assets/privacy-page-BfQnPYWm.js +0 -1
  324. package/dist/assets/privacy-screen-CO9CQqgs.js +0 -1
  325. package/dist/assets/provider-callback-page-C68kJwN6.js +0 -1
  326. package/dist/assets/provider-signup-page-Cxtwdh5c.js +0 -1
  327. package/dist/assets/query-tags-gNW0M4r7.js +0 -1
  328. package/dist/assets/react-query.gen-CawmQR-A.js +0 -1
  329. package/dist/assets/resolved-assistants-store-BTvVAnMH.js +0 -1
  330. package/dist/assets/routes-DLEaIDYY.js +0 -1
  331. package/dist/assets/sdk.gen-ClmX029Q.js +0 -1
  332. package/dist/assets/select-assistant-screen-CwMKsewn.js +0 -1
  333. package/dist/assets/settings-layout-DWCdO1tr.js +0 -1
  334. package/dist/assets/share-feedback-modal-BhAUHb8M.js +0 -1
  335. package/dist/assets/signup-page-BeTJY2ul.js +0 -1
  336. package/dist/assets/skills-page-Du-RGGBl.js +0 -1
  337. package/dist/assets/sounds-page-05MOQSDW.js +0 -1
  338. package/dist/assets/step-indicator-dots-DyO7zuoJ.js +0 -1
  339. package/dist/assets/system-events-page-D1T7wfYU.js +0 -1
  340. package/dist/assets/tag-Ccr7Quy6.js +0 -1
  341. package/dist/assets/toast-BL8OPiip.js +0 -1
  342. package/dist/assets/trace-page-DhEvGIsS.js +0 -1
  343. package/dist/assets/upgrade-cancel-page-CRfkZ5Fd.js +0 -1
  344. package/dist/assets/upgrade-success-page-DOf7ZHyQ.js +0 -1
  345. package/dist/assets/usage-page-CIf9IUIP.js +0 -1
  346. package/dist/assets/use-is-org-ready-4wJxk8mJ.js +0 -1
  347. package/dist/assets/use-oauth-connect-BFVEwtOW.js +0 -1
  348. package/dist/assets/use-onboarding-login-DSd1eko2.js +0 -1
  349. package/dist/assets/voice-page-BV7iOlOB.js +0 -1
  350. package/dist/assets/welcome-screen-CwIapWXX.js +0 -1
  351. package/dist/assets/workspace-page-Bv55tLcy.js +0 -1
  352. package/dist/assets/x-Df0EF2EP.js +0 -1
  353. package/dist/skills/tasks/assets/icon.svg +0 -34
  354. /package/dist/assets/{abap-BnHnT9a0.js → abap-CJrBtfsa.js} +0 -0
  355. /package/dist/assets/{about-page-BC7BCOnA.js → about-page-CKoPPaO7.js} +0 -0
  356. /package/dist/assets/{actionscript-3-DZgRh7tj.js → actionscript-3-YHWB7sNC.js} +0 -0
  357. /package/dist/assets/{ada-DgN4Y3gI.js → ada-img0UdAj.js} +0 -0
  358. /package/dist/assets/{andromeeda-OD2gbn4M.js → andromeeda-C1LxTnTH.js} +0 -0
  359. /package/dist/assets/{apache-BHija_Nu.js → apache-IoQI1KUH.js} +0 -0
  360. /package/dist/assets/{apex-q2ga2RSa.js → apex-n2v3aQBo.js} +0 -0
  361. /package/dist/assets/{api-errors-CsfCFJ8r.js → api-errors-XDa-LFBi.js} +0 -0
  362. /package/dist/assets/{applescript-CDnuWWPl.js → applescript-D49Qqfh4.js} +0 -0
  363. /package/dist/assets/{ara-Uo1G66MQ.js → ara-DgXD1PbM.js} +0 -0
  364. /package/dist/assets/{asciidoc-B9bedL-W.js → asciidoc-DU5A8w3I.js} +0 -0
  365. /package/dist/assets/{asm-Dv6BlGGD.js → asm-DLWV3wBr.js} +0 -0
  366. /package/dist/assets/{aurora-x-DIKmIrmu.js → aurora-x-sgsXFaTN.js} +0 -0
  367. /package/dist/assets/{avatar-svg-compositor-Bq9IC5b6.js → avatar-svg-compositor-fjJyBMpk.js} +0 -0
  368. /package/dist/assets/{awk-ck9kXv8l.js → awk-D4m11dV4.js} +0 -0
  369. /package/dist/assets/{ayu-dark-B0-LMAvN.js → ayu-dark-_fQ79hPZ.js} +0 -0
  370. /package/dist/assets/{ayu-light-CevdBOdd.js → ayu-light-5TdpKX6N.js} +0 -0
  371. /package/dist/assets/{ayu-mirage-CLvQ9MSU.js → ayu-mirage-CTtiRp-q.js} +0 -0
  372. /package/dist/assets/{ballerina-D2j4tygO.js → ballerina-BhVCMXnc.js} +0 -0
  373. /package/dist/assets/{bat-rQDmQH-x.js → bat-D-KwEcSR.js} +0 -0
  374. /package/dist/assets/{beancount-BRYBUCCp.js → beancount-DMRw39yN.js} +0 -0
  375. /package/dist/assets/{berry-cb0iaqjQ.js → berry-B7y2b9zx.js} +0 -0
  376. /package/dist/assets/{bibtex-5X6yijJf.js → bibtex-G8nhfjal.js} +0 -0
  377. /package/dist/assets/{bicep-DahhY0zs.js → bicep-BbRPGczZ.js} +0 -0
  378. /package/dist/assets/{bird2-Buc4eQs2.js → bird2-tFQvrZc7.js} +0 -0
  379. /package/dist/assets/{c-FsLuy0vz.js → c-CurC6xJN.js} +0 -0
  380. /package/dist/assets/{c3-DC5oVGOP.js → c3-Cp2vGukQ.js} +0 -0
  381. /package/dist/assets/{cadence-CneVQmWh.js → cadence-DHp076aM.js} +0 -0
  382. /package/dist/assets/{catppuccin-frappe-grJ2oXiF.js → catppuccin-frappe-CO1Obb6a.js} +0 -0
  383. /package/dist/assets/{catppuccin-latte-C2m6qmiP.js → catppuccin-latte-BJrzEFTg.js} +0 -0
  384. /package/dist/assets/{catppuccin-macchiato-CwSO5mh8.js → catppuccin-macchiato-DIsBU39Q.js} +0 -0
  385. /package/dist/assets/{catppuccin-mocha-j5IymHz-.js → catppuccin-mocha-D7aSAErT.js} +0 -0
  386. /package/dist/assets/{clarity-DUqBOoN9.js → clarity-DmVThjx0.js} +0 -0
  387. /package/dist/assets/{client.gen-BchW2Z6T.js → client.gen-DI-JLhj6.js} +0 -0
  388. /package/dist/assets/{clojure-B_0tg4NQ.js → clojure-D50j7YDB.js} +0 -0
  389. /package/dist/assets/{cmake-B_aLGAyI.js → cmake-DTUsloWC.js} +0 -0
  390. /package/dist/assets/{cn-DFqQkJlk.js → cn-DvW5mxZR.js} +0 -0
  391. /package/dist/assets/{codeowners-D8zI0ej7.js → codeowners-BGoQ0QI5.js} +0 -0
  392. /package/dist/assets/{codeql-C5it8MEV.js → codeql-zmUPLoVL.js} +0 -0
  393. /package/dist/assets/{common-lisp-D5iBTKSn.js → common-lisp-CIdqjFi5.js} +0 -0
  394. /package/dist/assets/{conversation-store-WsKQTo9S.js → conversation-store-sNOTxyHV.js} +0 -0
  395. /package/dist/assets/{coq-DDVJptaP.js → coq-D_qWEzTo.js} +0 -0
  396. /package/dist/assets/{createLucideIcon-D6d6iDdi.js → createLucideIcon-BjZY5k1w.js} +0 -0
  397. /package/dist/assets/{csharp-C_0YwxsV.js → csharp-DPZA0mys.js} +0 -0
  398. /package/dist/assets/{css-DYhts7Lp.js → css-DChF48VH.js} +0 -0
  399. /package/dist/assets/{csv-BioS2BSy.js → csv-BqG7uatd.js} +0 -0
  400. /package/dist/assets/{cue-DAj3Ctx9.js → cue-DVrj2AhX.js} +0 -0
  401. /package/dist/assets/{cypher-BQvLt3cT.js → cypher-Db7YwVuF.js} +0 -0
  402. /package/dist/assets/{d-V_S4iGbD.js → d-DTzgBQRh.js} +0 -0
  403. /package/dist/assets/{dark-plus-x2wiSnR0.js → dark-plus-DxbO1e28.js} +0 -0
  404. /package/dist/assets/{dart-QV9mQPS5.js → dart-B15jnVsS.js} +0 -0
  405. /package/dist/assets/{dax-qXHq-XmE.js → dax-DSxTSlFL.js} +0 -0
  406. /package/dist/assets/{definitions-DHHUhcUE.js → definitions-VGpqtSQy.js} +0 -0
  407. /package/dist/assets/{desktop-Z5reMd8K.js → desktop-gjsAMaAW.js} +0 -0
  408. /package/dist/assets/{diff-D8qIP0na.js → diff-DxyDBL2w.js} +0 -0
  409. /package/dist/assets/{dist-CP-ms_vi.js → dist-CIRSrV5q.js} +0 -0
  410. /package/dist/assets/{docker-SqizJhrD.js → docker-DcapSxYW.js} +0 -0
  411. /package/dist/assets/{dotenv-Bi_jqYu0.js → dotenv-pum-ytkr.js} +0 -0
  412. /package/dist/assets/{dracula-h1hY073B.js → dracula-kaeur-Sr.js} +0 -0
  413. /package/dist/assets/{dracula-soft-COpGyraj.js → dracula-soft-jU3NJJow.js} +0 -0
  414. /package/dist/assets/{dream-maker-CnGbx0B4.js → dream-maker-BfSsPHrv.js} +0 -0
  415. /package/dist/assets/{edit-chat-session-BdIdIaSN.js → edit-chat-session-Cvyedviq.js} +0 -0
  416. /package/dist/assets/{effective-timezone-CDR6FaRF.js → effective-timezone-DD2wGZ9O.js} +0 -0
  417. /package/dist/assets/{emacs-lisp-B5TlD6K-.js → emacs-lisp-MBokZgVO.js} +0 -0
  418. /package/dist/assets/{emoji-catalog-data-DXa5phwq.js → emoji-catalog-data-_G4lAoH7.js} +0 -0
  419. /package/dist/assets/{environment-store-B8B5er5P.js → environment-store-GJl9GOSU.js} +0 -0
  420. /package/dist/assets/{event-bus-DKlaDVAu.js → event-bus-DPa7g-Z7.js} +0 -0
  421. /package/dist/assets/{everforest-dark-JS5CHRkS.js → everforest-dark-Qszq49lo.js} +0 -0
  422. /package/dist/assets/{everforest-light-B_WlC0XT.js → everforest-light-B8dpiC4q.js} +0 -0
  423. /package/dist/assets/{fennel-DoZ-opiU.js → fennel-aJ3Zv5f3.js} +0 -0
  424. /package/dist/assets/{fish-CvHLfqNS.js → fish-BVDdlPSM.js} +0 -0
  425. /package/dist/assets/{fluent-CnSNuZ9O.js → fluent-yojRsW8M.js} +0 -0
  426. /package/dist/assets/{format-DOj_VDWK.js → format-DtXueXvf.js} +0 -0
  427. /package/dist/assets/{format-date-hsycENtr.js → format-date-CCl_Cceb.js} +0 -0
  428. /package/dist/assets/{format-file-size-DlcqKN6E.js → format-file-size-HfQP5weH.js} +0 -0
  429. /package/dist/assets/{fortran-free-form-hy6j5UPM.js → fortran-free-form-Cm9_D9HR.js} +0 -0
  430. /package/dist/assets/{gdscript-o2RA3HyE.js → gdscript-Dj36uRY4.js} +0 -0
  431. /package/dist/assets/{gdshader-BXsJci7n.js → gdshader-Wu0mEaz_.js} +0 -0
  432. /package/dist/assets/{genie-Ca_jXWiN.js → genie-DHshP_gR.js} +0 -0
  433. /package/dist/assets/{gherkin-TTaxg3Ib.js → gherkin-D7b_L_CM.js} +0 -0
  434. /package/dist/assets/{github-dark-C2WPKSF2.js → github-dark-CydULzvy.js} +0 -0
  435. /package/dist/assets/{github-dark-default-DvkLyeNj.js → github-dark-default-B28I0mtM.js} +0 -0
  436. /package/dist/assets/{github-dark-dimmed-Ce6q30q9.js → github-dark-dimmed-BHQedfmI.js} +0 -0
  437. /package/dist/assets/{github-dark-high-contrast-BXEX0X7o.js → github-dark-high-contrast-7NW1860O.js} +0 -0
  438. /package/dist/assets/{github-light-DjFROXGf.js → github-light-Ckwc0Xue.js} +0 -0
  439. /package/dist/assets/{github-light-default-DV96uXVH.js → github-light-default-D2TXmsDl.js} +0 -0
  440. /package/dist/assets/{github-light-high-contrast-DyB1XlQ8.js → github-light-high-contrast-DtWvcT5G.js} +0 -0
  441. /package/dist/assets/{gleam-7uZ1b30k.js → gleam-D0kbL6Er.js} +0 -0
  442. /package/dist/assets/{gn-RhyNJpDW.js → gn-C2RHtHbM.js} +0 -0
  443. /package/dist/assets/{gnuplot-4uZDYrgA.js → gnuplot-Bflua8IL.js} +0 -0
  444. /package/dist/assets/{go-DpKwKDYk.js → go-kQrtCInP.js} +0 -0
  445. /package/dist/assets/{google-logo-D6GdawCD.js → google-logo-BrjwsK0j.js} +0 -0
  446. /package/dist/assets/{groovy-BodqWmWc.js → groovy-Cx0QVvcX.js} +0 -0
  447. /package/dist/assets/{gruvbox-dark-hard-Sm5wkDnF.js → gruvbox-dark-hard-45-al1LY.js} +0 -0
  448. /package/dist/assets/{gruvbox-dark-medium-_EA-_SfC.js → gruvbox-dark-medium-DBKDyiNV.js} +0 -0
  449. /package/dist/assets/{gruvbox-dark-soft-CMbSZU9M.js → gruvbox-dark-soft-DsJCmcUi.js} +0 -0
  450. /package/dist/assets/{gruvbox-light-hard-D_gdDb9E.js → gruvbox-light-hard-DoNtCtXu.js} +0 -0
  451. /package/dist/assets/{gruvbox-light-medium-BftA7vZC.js → gruvbox-light-medium-B7Ru3-7b.js} +0 -0
  452. /package/dist/assets/{gruvbox-light-soft-D0MRpGVT.js → gruvbox-light-soft-DqUsq0wb.js} +0 -0
  453. /package/dist/assets/{haskell-7AQp_uHr.js → haskell-BMIf5hSg.js} +0 -0
  454. /package/dist/assets/{haxe-CZ1EB0yh.js → haxe-Dd6NKRiM.js} +0 -0
  455. /package/dist/assets/{hcl-DaCENqZR.js → hcl-BbXBAkHQ.js} +0 -0
  456. /package/dist/assets/{hjson-DlAQBw2J.js → hjson-HZFryblC.js} +0 -0
  457. /package/dist/assets/{hlsl-DcO6hknW.js → hlsl-B_z-4mGb.js} +0 -0
  458. /package/dist/assets/{horizon-bM9G0tNb.js → horizon-DTjGYAGz.js} +0 -0
  459. /package/dist/assets/{horizon-bright-BHqLa59v.js → horizon-bright-D-5IXcVw.js} +0 -0
  460. /package/dist/assets/{houston-CL5fNb0m.js → houston-DYxRzDAO.js} +0 -0
  461. /package/dist/assets/{hy-DQKbVWn1.js → hy-CZz7-yZN.js} +0 -0
  462. /package/dist/assets/{imba-BjiYrqNQ.js → imba-D0H9CBRW.js} +0 -0
  463. /package/dist/assets/{impersonate-version-flag-BmrRmKMF.js → impersonate-version-flag-Df80CPXS.js} +0 -0
  464. /package/dist/assets/{ini-CYKn_Ji8.js → ini-Hq-jZViS.js} +0 -0
  465. /package/dist/assets/{java-Dvo80z5R.js → java-DNmSvEO2.js} +0 -0
  466. /package/dist/assets/{javascript-GH4Ohewf.js → javascript-9U3VX7fx.js} +0 -0
  467. /package/dist/assets/{json-DUPvhMCm.js → json-BJo90vyk.js} +0 -0
  468. /package/dist/assets/{json5-ujaraWkX.js → json5-B5WsutuM.js} +0 -0
  469. /package/dist/assets/{jsonc-34G6PVCc.js → jsonc-COIMgM31.js} +0 -0
  470. /package/dist/assets/{jsonl-dmB82gUj.js → jsonl-Cg8iEw1M.js} +0 -0
  471. /package/dist/assets/{jsonnet-Br_2ffad.js → jsonnet-BJ6vIOpZ.js} +0 -0
  472. /package/dist/assets/{jssm-DB0a4xSh.js → jssm-BMmePONy.js} +0 -0
  473. /package/dist/assets/{jsx-B5XtWyJZ.js → jsx-CprSFcDX.js} +0 -0
  474. /package/dist/assets/{kanagawa-dragon-j2mqGXO-.js → kanagawa-dragon-DQ7YDLVU.js} +0 -0
  475. /package/dist/assets/{kanagawa-lotus-DkcquZHv.js → kanagawa-lotus-CATrdpUN.js} +0 -0
  476. /package/dist/assets/{kanagawa-wave-CC8Oc_s3.js → kanagawa-wave-CKUiHHXA.js} +0 -0
  477. /package/dist/assets/{kdl-COKLRuZg.js → kdl-DzBG_i-5.js} +0 -0
  478. /package/dist/assets/{kotlin-Bd8NBCG0.js → kotlin-DIZwIusw.js} +0 -0
  479. /package/dist/assets/{kusto--DGa4bgQ.js → kusto-CHN2SbpC.js} +0 -0
  480. /package/dist/assets/{laserwave-CVoxTCdH.js → laserwave-CPJ25zFq.js} +0 -0
  481. /package/dist/assets/{lean-DlzraDWg.js → lean-DO7qDxEX.js} +0 -0
  482. /package/dist/assets/{less-B_IxmJc4.js → less-BZZ-PLfd.js} +0 -0
  483. /package/dist/assets/{lib-CYXy06Mp.js → lib-BGfiLWu8.js} +0 -0
  484. /package/dist/assets/{light-plus-BeMZ11-X.js → light-plus-Dc3MFjwj.js} +0 -0
  485. /package/dist/assets/{llm-dimension-CirET4yv.js → llm-dimension-oci2TkfR.js} +0 -0
  486. /package/dist/assets/{llvm-BHxdZWwh.js → llvm-8lvmBZ1y.js} +0 -0
  487. /package/dist/assets/{log-DlhodncL.js → log-iTn25_BO.js} +0 -0
  488. /package/dist/assets/{logo-HQdWCc7_.js → logo-BcHhJD22.js} +0 -0
  489. /package/dist/assets/{luau-KJFDz_yy.js → luau-DQM7PZq1.js} +0 -0
  490. /package/dist/assets/{make-aTarFpX_.js → make-BG0ZJ6Bw.js} +0 -0
  491. /package/dist/assets/{markdown-C4581R-V.js → markdown-C_c6h3zo.js} +0 -0
  492. /package/dist/assets/{material-theme-C5C8C9wY.js → material-theme-D3LBDIWR.js} +0 -0
  493. /package/dist/assets/{material-theme-darker-CxXF5p3u.js → material-theme-darker-CQaa_g54.js} +0 -0
  494. /package/dist/assets/{material-theme-lighter-CN3_ew41.js → material-theme-lighter-BvXIGcAz.js} +0 -0
  495. /package/dist/assets/{material-theme-ocean-DOr1uqH8.js → material-theme-ocean-BfNV9t9V.js} +0 -0
  496. /package/dist/assets/{material-theme-palenight-BjejtMhX.js → material-theme-palenight-BXCNgaL3.js} +0 -0
  497. /package/dist/assets/{matlab-B7qSySiJ.js → matlab-DeaiNlNF.js} +0 -0
  498. /package/dist/assets/{mdx-Cefs8RtB.js → mdx-ST4v-vi3.js} +0 -0
  499. /package/dist/assets/{mermaid-C1KO8hY-.js → mermaid-CUmM2hbn.js} +0 -0
  500. /package/dist/assets/{min-dark-DhWD_LA8.js → min-dark-D57-ylK-.js} +0 -0
  501. /package/dist/assets/{min-light-TFk_TRdA.js → min-light-B88050ZK.js} +0 -0
  502. /package/dist/assets/{mipsasm-BYTVLH8w.js → mipsasm-Cs1MOJEB.js} +0 -0
  503. /package/dist/assets/{misc-F3kQrahv.js → misc-C_E02qnv.js} +0 -0
  504. /package/dist/assets/{mojo-Ivviytf8.js → mojo-BVOdZw7n.js} +0 -0
  505. /package/dist/assets/{monokai-zQwYTSXE.js → monokai-CGSy3Ma6.js} +0 -0
  506. /package/dist/assets/{moonbit-DVjyyWxE.js → moonbit-BNTzlXOn.js} +0 -0
  507. /package/dist/assets/{move-DJcOLhuX.js → move-CLcYOhLW.js} +0 -0
  508. /package/dist/assets/{narrat-DHgMgzAV.js → narrat-CGQN4gQw.js} +0 -0
  509. /package/dist/assets/{nextflow-groovy-CHUnSpIr.js → nextflow-groovy-Dnp3QiLn.js} +0 -0
  510. /package/dist/assets/{night-owl-CZLiMDO6.js → night-owl-DkBuNuxI.js} +0 -0
  511. /package/dist/assets/{night-owl-light-B6QhsdNm.js → night-owl-light-CY1Epm7d.js} +0 -0
  512. /package/dist/assets/{nix-B0Zu_kK5.js → nix-DJ4B0RpD.js} +0 -0
  513. /package/dist/assets/{nord-0pexLVrJ.js → nord-TkEe7NZz.js} +0 -0
  514. /package/dist/assets/{nushell-C0uC3t3G.js → nushell-DTsa-DJU.js} +0 -0
  515. /package/dist/assets/{objective-c-CXbjvhkd.js → objective-c-BcTYeV3y.js} +0 -0
  516. /package/dist/assets/{objective-cpp-ocflEG3T.js → objective-cpp-shqpsJcg.js} +0 -0
  517. /package/dist/assets/{ocaml-DnO3lUFt.js → ocaml-CJ2GiCkj.js} +0 -0
  518. /package/dist/assets/{odin-D61fXTyD.js → odin-D0zd-gEH.js} +0 -0
  519. /package/dist/assets/{one-dark-pro-BkFjzFjI.js → one-dark-pro-BFuflvbQ.js} +0 -0
  520. /package/dist/assets/{one-light-DK9yCxR2.js → one-light-C2M4Ga1d.js} +0 -0
  521. /package/dist/assets/{openscad-Bp_2DQr5.js → openscad-M8wBXspJ.js} +0 -0
  522. /package/dist/assets/{pascal-rsQ53Qv4.js → pascal-B5I86tsE.js} +0 -0
  523. /package/dist/assets/{pdf-DPwu6kfe.js → pdf-B1h5VcnB.js} +0 -0
  524. /package/dist/assets/{pkl-B5LTji6U.js → pkl-BhDTZ1N8.js} +0 -0
  525. /package/dist/assets/{plastic-Cirw0lhz.js → plastic-BoMY19sJ.js} +0 -0
  526. /package/dist/assets/{plsql-BO8q_V0w.js → plsql-CDtFB7RS.js} +0 -0
  527. /package/dist/assets/{po-IuDRsZ-C.js → po-CVb8SYlg.js} +0 -0
  528. /package/dist/assets/{poimandres-Bmycycrh.js → poimandres-4UDxXvNA.js} +0 -0
  529. /package/dist/assets/{polar-BeFzhQfT.js → polar-C1oaTa9E.js} +0 -0
  530. /package/dist/assets/{postcss-aj7G4ME7.js → postcss-BuB05qbO.js} +0 -0
  531. /package/dist/assets/{powerquery-BxbQYjYF.js → powerquery-cgioiq22.js} +0 -0
  532. /package/dist/assets/{powershell-DyqaDCqd.js → powershell-CWXGVwDc.js} +0 -0
  533. /package/dist/assets/{prisma-BnUPBvbV.js → prisma-DlHB82Z6.js} +0 -0
  534. /package/dist/assets/{prolog-CJW-yTso.js → prolog-Dt0Y_lbJ.js} +0 -0
  535. /package/dist/assets/{proto-D_6P2RG7.js → proto-3Bdz34KE.js} +0 -0
  536. /package/dist/assets/{public-asset-DxiYX66V.js → public-asset-oHj-TY3D.js} +0 -0
  537. /package/dist/assets/{puppet-DprP35KV.js → puppet-BslS732_.js} +0 -0
  538. /package/dist/assets/{purescript-D8U1u20U.js → purescript-By6DvM4T.js} +0 -0
  539. /package/dist/assets/{python-CGHbIuBr.js → python-BnqlragU.js} +0 -0
  540. /package/dist/assets/{qmldir-Exr2qroL.js → qmldir-CUDcPERi.js} +0 -0
  541. /package/dist/assets/{qss-Dwz1fjSR.js → qss-BmmBNONp.js} +0 -0
  542. /package/dist/assets/{r-BrziXlsr.js → r-CUmTiDHR.js} +0 -0
  543. /package/dist/assets/{racket-B2oYbW0Z.js → racket-DtjvEIuJ.js} +0 -0
  544. /package/dist/assets/{raku-CV_rEolZ.js → raku-B4gJ9vRP.js} +0 -0
  545. /package/dist/assets/{red-RE6RxIua.js → red-BeDKVfFU.js} +0 -0
  546. /package/dist/assets/{reg-DC30h26N.js → reg-DFxdTupP.js} +0 -0
  547. /package/dist/assets/{regexp-B9j3iMxK.js → regexp-D13s7f6f.js} +0 -0
  548. /package/dist/assets/{rel-B-2dAcxg.js → rel-NXN-6M6P.js} +0 -0
  549. /package/dist/assets/{riscv-jv1gsqsB.js → riscv-D-rz2RP1.js} +0 -0
  550. /package/dist/assets/{ron-BPArPRV6.js → ron-B7QveNIW.js} +0 -0
  551. /package/dist/assets/{rose-pine-CVEe0-mq.js → rose-pine-C1kpuNwT.js} +0 -0
  552. /package/dist/assets/{rose-pine-dawn-DWlya3_S.js → rose-pine-dawn-B5MnRqO4.js} +0 -0
  553. /package/dist/assets/{rose-pine-moon-BDIc78mA.js → rose-pine-moon-ChZ8PyZr.js} +0 -0
  554. /package/dist/assets/{rosmsg-OHH2Ua8c.js → rosmsg-BXBSikqW.js} +0 -0
  555. /package/dist/assets/{rust-DkW4yszb.js → rust-D9Gh5zMK.js} +0 -0
  556. /package/dist/assets/{sass-Cgh1dByy.js → sass-C4OSAgy4.js} +0 -0
  557. /package/dist/assets/{scala-DAbc-CrY.js → scala-CDoa-DgD.js} +0 -0
  558. /package/dist/assets/{scheme-EkaUi0-d.js → scheme-Bk_uVPEd.js} +0 -0
  559. /package/dist/assets/{sdbl-CabyYCtG.js → sdbl-DTkJ9VoT.js} +0 -0
  560. /package/dist/assets/{semver-BljOCwsH.js → semver-DRocthZi.js} +0 -0
  561. /package/dist/assets/{shellscript-Cg00n8Z7.js → shellscript-Dy1_pXFS.js} +0 -0
  562. /package/dist/assets/{slack-dark-D8ixb--X.js → slack-dark-6leyXmpo.js} +0 -0
  563. /package/dist/assets/{slack-ochin-Yv6bCarn.js → slack-ochin-D4lMnbGj.js} +0 -0
  564. /package/dist/assets/{smalltalk-CuP-RPUE.js → smalltalk-DD36SM_u.js} +0 -0
  565. /package/dist/assets/{snazzy-light-CF1SBRKW.js → snazzy-light-bnV9Ljo-.js} +0 -0
  566. /package/dist/assets/{solarized-dark-C58juz5f.js → solarized-dark-BKu33QL5.js} +0 -0
  567. /package/dist/assets/{solarized-light-uTCPKt9I.js → solarized-light-D3Ztor-W.js} +0 -0
  568. /package/dist/assets/{solidity-D2gy_UCJ.js → solidity-BEtjX6KX.js} +0 -0
  569. /package/dist/assets/{splunk-D5cpHwO5.js → splunk-Bfkbb1Oi.js} +0 -0
  570. /package/dist/assets/{sql-DKvvqWhV.js → sql-D8wOpkwd.js} +0 -0
  571. /package/dist/assets/{ssh-config-CfE9WvOO.js → ssh-config-CsGMoSbp.js} +0 -0
  572. /package/dist/assets/{stylus-DCbVDWgh.js → stylus-6pKKhsoJ.js} +0 -0
  573. /package/dist/assets/{swift-DNDNJ2F-.js → swift-BkOeByzg.js} +0 -0
  574. /package/dist/assets/{synthwave-84-BHmVp4OT.js → synthwave-84-DSZAz7dX.js} +0 -0
  575. /package/dist/assets/{system-verilog-CdB2IWMB.js → system-verilog-CVyGNf3U.js} +0 -0
  576. /package/dist/assets/{systemd-DG4aQdSK.js → systemd-CQl5uhbn.js} +0 -0
  577. /package/dist/assets/{talonscript-DWovYr8W.js → talonscript-eoRxA5Ok.js} +0 -0
  578. /package/dist/assets/{tasl-EZMPUsLA.js → tasl-_YggCie7.js} +0 -0
  579. /package/dist/assets/{tcl-BDa9WQxI.js → tcl-B5y1m2vT.js} +0 -0
  580. /package/dist/assets/{terraform-CbaCTMA-.js → terraform-B7hrP3h2.js} +0 -0
  581. /package/dist/assets/{tokyo-night-B-3vO0X1.js → tokyo-night-CLJY2LDi.js} +0 -0
  582. /package/dist/assets/{toml-CJtDM0Kg.js → toml-Cs-cPRLv.js} +0 -0
  583. /package/dist/assets/{tsv-BMfwiXD3.js → tsv-ZzeIUMNN.js} +0 -0
  584. /package/dist/assets/{tsx-R_l1BRZE.js → tsx-BYD88th_.js} +0 -0
  585. /package/dist/assets/{turtle-DQheMc__.js → turtle-CPvNi5WC.js} +0 -0
  586. /package/dist/assets/{typescript-CrLVCN9o.js → typescript-DJJkbsZi.js} +0 -0
  587. /package/dist/assets/{typespec-B8WVILoM.js → typespec-CMdqLPgd.js} +0 -0
  588. /package/dist/assets/{typst-BoUCnaXm.js → typst-DsWXMrgl.js} +0 -0
  589. /package/dist/assets/{usage-window-XvgiaiRa.js → usage-window-WuitofiN.js} +0 -0
  590. /package/dist/assets/{use-is-mobile-C5MpTbZg.js → use-is-mobile-BE6bh_HI.js} +0 -0
  591. /package/dist/assets/{v-D6w-BLKm.js → v-CtLCtB_t.js} +0 -0
  592. /package/dist/assets/{vala-DEazxXUg.js → vala-BbUVMZyL.js} +0 -0
  593. /package/dist/assets/{vb-Dh8eDYSC.js → vb-vj4-Ez0k.js} +0 -0
  594. /package/dist/assets/{verilog-BtQGyGeV.js → verilog-Doq8Q-jI.js} +0 -0
  595. /package/dist/assets/{vesper-CyGGg_JU.js → vesper-B8LW9vrZ.js} +0 -0
  596. /package/dist/assets/{vhdl-B25cFZ69.js → vhdl-DRtkTOrI.js} +0 -0
  597. /package/dist/assets/{viml-eqeus6Be.js → viml-DYh9Vv9J.js} +0 -0
  598. /package/dist/assets/{vitesse-black-CmbhTUpx.js → vitesse-black-Dm5nxZKZ.js} +0 -0
  599. /package/dist/assets/{vitesse-dark-CErdJwzQ.js → vitesse-dark-Dlco7gYk.js} +0 -0
  600. /package/dist/assets/{vitesse-light-DFdxk79s.js → vitesse-light-BkxjEsr0.js} +0 -0
  601. /package/dist/assets/{vyper-DrtLYutu.js → vyper-D3LCCi2j.js} +0 -0
  602. /package/dist/assets/{wasm--VGMNnWJ.js → wasm-DMjikHsi.js} +0 -0
  603. /package/dist/assets/{wasm-BVkLVo9Z.js → wasm-DV6-PWqw.js} +0 -0
  604. /package/dist/assets/{wenyan-Dn_7eMtk.js → wenyan-BxycIgSG.js} +0 -0
  605. /package/dist/assets/{wgsl-Dnn0U4pZ.js → wgsl-cNpMN_q9.js} +0 -0
  606. /package/dist/assets/{wikitext-CB3r4A70.js → wikitext-xM7rCJnw.js} +0 -0
  607. /package/dist/assets/{wit-B9QJg3J7.js → wit-BhbrV2hd.js} +0 -0
  608. /package/dist/assets/{wolfram-D_sCn_NL.js → wolfram-DuxCpd52.js} +0 -0
  609. /package/dist/assets/{xterm-addon-fit-Ds0XcaAZ.js → xterm-addon-fit-D-DRi2x9.js} +0 -0
  610. /package/dist/assets/{xterm-BkYbNM4a.js → xterm-h58f7_nb.js} +0 -0
  611. /package/dist/assets/{yaml-Ctbb8AMj.js → yaml-h_MJYnCO.js} +0 -0
  612. /package/dist/assets/{zenscript-igtvxesw.js → zenscript-DV1Wsq0u.js} +0 -0
  613. /package/dist/assets/{zig-j3jjq-Ul.js → zig-CSTXgA3l.js} +0 -0
  614. /package/dist/assets/{zwitch-C8nFxL4o.js → zwitch-Cxnntp5a.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-zXRxGDTH.js";import{t as o}from"./capture-error-Dze4ISSQ.js";import{t as s}from"./react-DJZBPgpf.js";import{d as c,t as l}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as u}from"./QueryClientProvider-DKhXIxGb.js";import{t as d}from"./useQuery-B45lW1Kk.js";import{t as f}from"./useMutation-Lj4VunQV.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{t as m}from"./cn-DFqQkJlk.js";import{t as h}from"./button-CHADMNBN.js";import{t as g}from"./dropdown-CocFV5yi.js";import{c as _,l as v,n as y}from"./src-DOuqBUBT.js";import{t as b}from"./confirm-dialog-M0xuyGF3.js";import{t as x}from"./notice-CF2pptne.js";import{t as S}from"./tag-Ccr7Quy6.js";import{t as C}from"./input-Cu3PPVCq.js";import{t as w}from"./toggle-CEm3M86o.js";import{n as T}from"./stat-square-CSDqINvK.js";import{t as E}from"./modal-BYMhDpQo.js";import{n as D}from"./toast-BL8OPiip.js";import{f as O,l as k,n as A,p as j}from"./resolved-assistants-store-BTvVAnMH.js";import{t as M}from"./is-electron-CavSPgmY.js";import{t as N}from"./createLucideIcon-D6d6iDdi.js";import{t as P}from"./bell-C7RL04h4.js";import{t as F}from"./chevron-right-C0jZwqbo.js";import{t as ee}from"./hard-drive-DWg8XdD2.js";import{t as I}from"./loader-circle-BwqYfFHZ.js";import{t as L}from"./moon-CYJLc3J5.js";import{a as R,c as te,o as ne,r as re,s as ie,t as ae}from"./resize-errors-BqvxgvBO.js";import{n as z,r as B,t as V}from"./api-errors-CsfCFJ8r.js";import{H,_ as U,g as W,h as G,i as oe,l as se,m as ce,n as le,p as ue}from"./auth-store-waC7X7ya.js";import{t as de}from"./client.gen-BchW2Z6T.js";import{A as fe,K as pe,R as me,S as he}from"./sdk.gen-ClmX029Q.js";import{a as K}from"./routes-DLEaIDYY.js";import{t as q}from"./client-feature-flag-store-lWvUd78D.js";import{n as J,t as ge}from"./semver-BljOCwsH.js";import{t as _e}from"./assistant-feature-flag-store-CFzsxEC5.js";import{t as ve}from"./proxy-DEUrefJ_.js";import{$ as ye,Aa as be,An as xe,Bi as Se,Bt as Ce,Ft as we,Gi as Te,Ht as Ee,In as De,It as Oe,Jr as ke,Li as Ae,Ln as je,Lt as Me,Nn as Ne,Pt as Pe,Q as Fe,Ri as Ie,Rn as Le,Rr as Re,Tn as ze,Ui as Be,Vt as Ve,X as He,Yr as Ue,_r as We,c as Ge,co as Ke,d as qe,ea as Je,kn as Ye,kt as Xe,l as Ze,ln as Qe,na as $e,nr as et,o as tt,oo as nt,ot as rt,pa as it,qr as at,sn as ot,so as st,ta as ct,tr as lt,u as ut,yt as dt,zt as ft}from"./index-BKOx2d-L.js";import{t as pt}from"./use-active-assistant-id-Bdecq9LQ.js";import{t as Y}from"./detail-card-DCGV8um_.js";import{t as mt}from"./environment-store-B8B5er5P.js";import{i as ht,n as X,r as gt,t as _t}from"./assistant-status-panel-B8QHRlRK.js";var vt=N(`fingerprint-pattern`,[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]]),yt=N(`vibrate`,[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`,key:`sv1b1`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`,key:`101i4y`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`,key:`1oyrl4`}]]),Z=e(s(),1),bt=ue,xt=`Please choose a different handle.`;async function St(e,t){let{data:n,error:r,response:i}=await fe({path:{id:e},body:{handle:t},throwOnError:!1});if(!i)return{kind:`error`,message:B(r,void 0,`Failed to save handle.`)??`Failed to save handle.`};if(i.ok&&n)return{kind:`ok`,data:n};if(i.status===409){let{message:e}=U(r,`handle`,bt.taken);return{kind:`taken`,message:e}}if(i.status===400){let{code:e,message:t}=U(r,`handle`,xt);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:B(r,i,`Failed to save handle.`)}}async function Ct(e,t,n){let{data:r,error:i,response:a}=await he({path:{assistant_id:e},query:{handle:t},signal:n,throwOnError:!1});if(z(a,i,`Failed to check handle availability.`),!a.ok||!r)throw new V(a.status,a.status===429?`Too many checks — try again in a moment.`:B(i,a,`Failed to check handle availability.`));return{available:r.available,code:r.code??null,message:r.message??null}}function wt(e){return/\d{2,}$/.test(e)}var Q=p(),Tt=300,Et=1400;function Dt({initialHandle:e,inputLabel:t,helperText:n,idleHelperText:r,checkAvailable:i,save:a,onSaved:o,saveSuccessToast:s,fieldId:c}){let[l,u]=(0,Z.useState)(e),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(`idle`),[v,y]=(0,Z.useState)(null),b=Fe(),x=(0,Z.useRef)(null),S=(0,Z.useMemo)(()=>l.trim().toLowerCase(),[l]),w=S===e.toLowerCase();(0,Z.useEffect)(()=>{if(w||S.length===0){m(!1),x.current?.abort();return}let e=new AbortController;x.current?.abort(),x.current=e,m(!0);let t=window.setTimeout(async()=>{try{let t=await i(S,e.signal);e.signal.aborted||f(t)}catch(t){e.signal.aborted||y(t instanceof Error?t.message:`Couldn't check availability.`)}finally{e.signal.aborted||m(!1)}},Tt);return()=>{window.clearTimeout(t),e.abort()}},[S,w,i]);let T=(()=>{if(v)return v;if(d&&!d.available){let e=d.code;return d.message??(e?bt[e]:`Please choose a different handle.`)}return null})(),E=T?n:w?r??null:p?`Checking availability…`:d?.available?`Available.`:null,O=!w&&!p&&d?.available!==!1&&g!==`saving`,k=(0,Z.useCallback)(async()=>{if(!O)return;_(`saving`),y(null);let e=await a(S);if(e.kind===`ok`){_(`saved`),o(e.data),D.success(s),window.setTimeout(()=>_(`idle`),Et);return}if(e.kind===`taken`){_(`idle`),f({available:!1,code:`taken`,message:e.message});return}if(e.kind===`invalid`){_(`idle`),f({available:!1,code:e.code,message:e.message});return}_(`error`),y(e.message),D.error(e.message)},[O,S,o,a,s]),A=(()=>{if(w&&l.length>0||l.length===0)return null;let e=p?`checking`:d?.available?`available`:d?.available===!1?`invalid`:null;return e?(0,Q.jsx)(ye,{mode:`wait`,initial:!1,children:(0,Q.jsxs)(ve.span,{initial:b?!1:{opacity:0,scale:.85},animate:{opacity:1,scale:1},exit:b?void 0:{opacity:0,scale:.85},transition:{duration:.14,ease:`easeOut`},className:`flex items-center`,"aria-hidden":e!==`available`&&e!==`invalid`,children:[e===`checking`&&(0,Q.jsx)(I,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),e===`available`&&(0,Q.jsx)(Ke,{className:`h-4 w-4 text-[var(--system-positive-strong)]`,"aria-label":`Available`}),e===`invalid`&&(0,Q.jsx)(nt,{className:`h-4 w-4 text-[var(--system-negative-strong)]`,"aria-label":`Not available`})]},e)}):null})(),j=(()=>{switch(g){case`saving`:return(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(I,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}),`Saving…`]});case`saved`:return(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Ke,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Saved`]});default:return`Save`}})();return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsx)(C,{label:t,value:l,onChange:e=>{u(e.target.value.replace(/\s+/g,``)),f(null),y(null)},autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,maxLength:30,leftIcon:(0,Q.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),rightIcon:A,errorText:T??void 0,helperText:E??void 0,"aria-invalid":!!T,fullWidth:!0,"data-testid":`${c}-input`}),(!w||g!==`idle`)&&(0,Q.jsx)(`div`,{className:`flex justify-end`,children:(0,Q.jsx)(h,{variant:`primary`,size:`compact`,onClick:k,disabled:!O,"aria-live":`polite`,"data-testid":`${c}-save`,children:j})})]})}function Ot({initial:e,onSaved:t}){let n=le.use.refreshSession(),r=wt(e.username)?`Your handle was auto-generated at signup — pick one you like.`:void 0,i=(0,Z.useCallback)(async e=>await W({username:e}),[]),a=(0,Z.useCallback)((e,t)=>ce(e,t),[]),o=(0,Z.useCallback)(e=>{t(e),n()},[t,n]);return(0,Q.jsx)(Dt,{initialHandle:e.username,inputLabel:`User handle`,helperText:`Lowercase letters, digits, hyphens, and underscores. 3–30 characters.`,idleHelperText:r,checkAvailable:a,save:i,onSaved:o,saveSuccessToast:`Profile updated.`,fieldId:`user-handle`})}function kt({assistant:e,onSaved:t}){let n=e.handle??``,r=d({...dt({path:{assistant_id:e.id}})}).data?.results?.[0],i=!!r&&r.subdomain.toLowerCase()===n.toLowerCase(),a=n.length===0?`Your assistant doesn't have a handle yet — claim one to make it mentionable.`:void 0,o=(0,Z.useCallback)(async t=>await St(e.id,t),[e.id]),s=(0,Z.useCallback)((t,n)=>Ct(e.id,t,n),[e.id]);return i?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(C,{label:`Assistant handle`,value:n,readOnly:!0,disabled:!0,leftIcon:(0,Q.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),fullWidth:!0,"data-testid":`assistant-handle-input`}),(0,Q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Your assistant's handle is locked because it's used as its email subdomain. To change it,`,` `,(0,Q.jsx)(l,{to:`${K.settings.ai}?release=1#email`,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`release the subdomain`}),` `,`first.`]})]}):(0,Q.jsx)(Dt,{initialHandle:n,inputLabel:`Assistant handle`,helperText:`Lowercase letters, digits, hyphens, and underscores. 3–30 characters.`,idleHelperText:a,checkAvailable:s,save:o,onSaved:t,saveSuccessToast:`Assistant handle updated.`,fieldId:`assistant-handle`})}function At(){return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-busy":!0,"aria-live":`polite`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(`div`,{className:`h-3 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,Q.jsx)(`div`,{className:`h-9 w-full animate-pulse rounded-md bg-[var(--surface-muted)]`}),(0,Q.jsx)(`div`,{className:`h-3 w-72 animate-pulse rounded bg-[var(--surface-muted)]`})]}),(0,Q.jsx)(`div`,{className:`h-9 w-full animate-pulse rounded-md bg-[var(--surface-muted)]`}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`h-3 w-60 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,Q.jsx)(`div`,{className:`h-7 w-16 animate-pulse rounded-md bg-[var(--surface-muted)]`})]}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Loading your profile…`})]})}function jt({assistant:e}={}){let[t,n]=(0,Z.useState)(null),[r,i]=(0,Z.useState)(null),a=Fe(),[o,s]=(0,Z.useState)(e??null);return(0,Z.useEffect)(()=>{s(e??null)},[e]),(0,Z.useEffect)(()=>{let e=!1;return G().then(t=>{e||n(t)}).catch(t=>{e||i(t instanceof Error?t.message:`Failed to load profile.`)}),()=>{e=!0}},[]),(0,Q.jsx)(Y,{title:`Profile`,subtitle:`Manage your user and assistant public handles.`,children:r?(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:r}):t?(0,Q.jsxs)(ve.div,{initial:a?!1:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},className:`flex flex-col gap-6`,children:[(0,Q.jsx)(Ot,{initial:t,onSaved:n}),o&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Q.jsx)(kt,{assistant:o,onSaved:s})]})]}):(0,Q.jsx)(At,{})})}var Mt=Xe({query:{hosting:`platform`}});function Nt(){let e=pt(),t=d(Mt),n=t.data?.results??[];return t.isPending||n.length<2?null:(0,Q.jsx)(Y,{title:`Switch Assistant`,subtitle:`Choose which assistant is active for this account.`,children:(0,Q.jsx)(`div`,{className:`space-y-2`,children:n.map(t=>{let n=t.id===e;return(0,Q.jsxs)(`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:`flex min-w-0 items-center gap-3`,children:[(0,Q.jsx)(it,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Q.jsx)(`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:t.name||`Unnamed`}),t.status!==`active`&&(0,Q.jsx)(S,{tone:`warning`,children:t.status})]})})]}),(0,Q.jsx)(`div`,{className:`shrink-0`,children:n?(0,Q.jsxs)(`span`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--system-positive-default)]`,children:[(0,Q.jsx)(Ke,{className:`h-4 w-4`}),`Active`]}):(0,Q.jsx)(h,{variant:`outlined`,size:`compact`,disabled:t.status!==`active`,onClick:()=>{H(t.id),D.success(`Switched active assistant.`)},children:`Switch`})})]},t.id)})})})}var Pt=[{label:`Never`,seconds:0},{label:`5 min`,seconds:300,devOnly:!0},{label:`10 min`,seconds:600,devOnly:!0},{label:`1 hour`,seconds:3600},{label:`3 hours`,seconds:10800},{label:`1 day`,seconds:86400},{label:`3 days`,seconds:259200},{label:`7 days`,seconds:604800},{label:`14 days`,seconds:1209600},{label:`30 days`,seconds:2592e3}];function Ft(e){if(e===0)return`Never (sleep disabled)`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0&&n>0)return`${t}d ${n}h`;if(t>0)return`${t} day${t===1?``:`s`}`;if(n>0)return`${n} hour${n===1?``:`s`}`;let r=Math.floor(e/60);return r>0?`${r} minute${r===1?``:`s`}`:`${e}s`}function It({assistantId:e}){let t=u(),n=mt.use.isNonProduction(),r=(0,Z.useMemo)(()=>Pt.filter(e=>!e.devOnly||n),[n]),{data:i,isLoading:a,isError:o}=d(Ve({path:{id:e}})),s=(0,Z.useMemo)(()=>i?.idle_timeout_seconds??259200,[i]),[c,l]=(0,Z.useState)(null),f=c??s,p=c!==null,m=xe({onSuccess:()=>{D.success(`Sleep policy saved.`),l(null),t.invalidateQueries({queryKey:Ee({path:{id:e}})})},onError:()=>{D.error(`Failed to save sleep policy. Please try again.`)}});return a?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(I,{className:`h-4 w-4 animate-spin`}),`Loading sleep settings...`]}):o?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:`Failed to load sleep policy. Refresh the page to try again.`}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`label`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Idle timeout`}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`How long the assistant can be idle before it is put to sleep. "Never" disables idle sleep entirely.`}),(0,Q.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:r.map(e=>(0,Q.jsx)(h,{variant:`outlined`,active:f===e.seconds,onClick:()=>l(e.seconds),children:e.label},e.seconds))}),(0,Q.jsxs)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:[`Current: `,Ft(f)]})]}),p&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(h,{variant:`primary`,leftIcon:m.isPending?(0,Q.jsx)(I,{className:`animate-spin`}):void 0,onClick:()=>m.mutate({path:{id:e},body:{idle_timeout_seconds:f}}),disabled:m.isPending,children:`Save`}),(0,Q.jsx)(h,{variant:`outlined`,onClick:()=>l(null),disabled:m.isPending,children:`Cancel`})]})]})}function Lt(e,t,n){let r=[e.version];return e.version===n&&r.push(`(latest)`),t&&e.version===t&&r.push(`(current)`),r.join(` `)}var Rt=3e3;function zt(e,t){return t&&e===`preview`?`preview`:`stable`}function Bt({assistantId:e,currentVersion:t,releaseChannel:n,onUpgradeComplete:r}){let i=_e.use.rollbackEnabled(),a=q.use.previewChannel(),o=u(),s=zt(n,a),c=s===`preview`,[l,p]=(0,Z.useState)(!1),m=(0,Z.useRef)(null),[_,v]=(0,Z.useState)(null),[y,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(null),E=e=>e&&m.current&&e===m.current?(queueMicrotask(()=>{T(S?`Successfully rolled back to version ${m.current}.`:`Successfully updated to version ${m.current}.`),p(!1),m.current=null,v(null),D.success(S?`Rollback complete — assistant is healthy.`:`Update complete — assistant is healthy.`),r?.()}),!1):Rt;d({...ft({path:{id:e}}),refetchInterval:l?e=>E(e.state.data?.current_release_version):!1});let{data:O,isLoading:k}=d(ze({query:{channel:s}})),A=O?.find(e=>e.is_stable!==!1)??O?.[0],j=_??A?.version??null,M=(0,Z.useMemo)(()=>{if(!i||!j||!t)return!1;let e=J(j),n=J(t);return!e||!n?!1:ge(e,n)<0},[i,j,t]),N=(0,Z.useMemo)(()=>{if(!j)return!1;if(!t)return!0;let e=J(j),n=J(t);if(!e||!n)return j!==t;let r=ge(e,n);return i?r!==0:r>0},[i,j,t]),P=f({mutationFn:async t=>{let{data:n}=await pe({path:{id:e},body:t,throwOnError:!0});return n}}),F=f({mutationFn:async t=>{let{data:n}=await me({path:{id:e},body:t,throwOnError:!0});return n}});return(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Current`}),(0,Q.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:t??`—`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:c?`Preview release`:N?M?`Rollback to`:`Update to`:`Selected`}),(0,Q.jsx)(`span`,{className:`block min-w-0`,children:k?(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(I,{className:`h-3 w-3 animate-spin`}),`Loading...`]}):O&&O.length>0?i?(0,Q.jsx)(g,{value:j??``,onChange:e=>v(e===A?.version?null:e),disabled:l||P.isPending||F.isPending,options:O.map(e=>({value:e.version,label:Lt(e,t,A?.version)}))}):(0,Q.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:A?Lt(A,t,A.version):`—`}):`No releases available`})]})]}),(0,Q.jsx)(h,{variant:M?`outlined`:`primary`,className:`min-w-[160px]`,leftIcon:P.isPending||F.isPending||l?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)($e,{}),onClick:()=>x(!0),disabled:!N||P.isPending||F.isPending||l||k||!O?.length,children:l?S?`Rolling back...`:`Updating...`:M?`Rollback`:c?`Update preview`:`Update`}),c&&(0,Q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Using Preview releases.`,` `,(0,Q.jsx)(`a`,{href:`#preview-release-channel`,className:`text-[var(--primary-base)] underline-offset-2 hover:underline`,children:`Switch back to Stable`})]}),!N&&t&&j&&!k&&(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:w??`You are already on this version.`}),(0,Q.jsx)(b,{open:y,title:M?`Rollback assistant`:c?`Update preview release`:`Update assistant`,message:M?`Rollback to version ${j??`unknown`}? The assistant will be briefly unavailable.`:c?`Update to preview version ${j??`latest`}? The assistant will be briefly unavailable during the update.`:`Update to version ${j??`latest`}? The assistant will be briefly unavailable during the update.`,confirmLabel:M?`Rollback`:c?`Update preview`:`Update`,onConfirm:async()=>{x(!1),T(null);let t=_??void 0;try{if(M){let e=await F.mutateAsync({version:t});m.current=e.version??t??null,D.success(e.detail||`Rollback to ${t} initiated.`)}else{let e=await P.mutateAsync({version:t});if(e.detail?.includes(`Already on the latest`)){D.warning(e.detail);return}m.current=e.version??t??null,D.success(e.detail||`Update to ${e.version??t??`latest`} initiated.`)}C(M),p(!0),o.invalidateQueries({queryKey:Ce({path:{id:e}})})}catch{D.error(M?`Failed to trigger rollback. Please try again.`:`Failed to trigger update. Please try again.`)}},onCancel:()=>x(!1)})]})}function Vt(){let e=qe.useValue();if(We())return null;let t=Ze()?`Cmd`:`Ctrl`;return(0,Q.jsx)(Y,{title:`Composer`,children:(0,Q.jsx)(w,{checked:e,onChange:qe.save,label:`Send with ${t}+Enter`,helperText:`When enabled, Enter inserts a new line and ${t}+Enter sends.`})})}function Ht(){let e=Le({platformHostedOnly:!0}),t=je(),n=le.use.user()?.id??null,r=le.use.logout(),[i,a]=(0,Z.useState)(!1),o=Ne({onSuccess:async()=>{D.success(`Account deletion requested. You will be logged out shortly.`),se(n),await r(),Re(K.account.login)},onError:()=>{D.error(`Failed to request account deletion. Please try again.`)}}),s=e===`full`&&t;return(0,Z.useEffect)(()=>{s&&i&&a(!1)},[s,i]),e===`gated`?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Y,{title:`Delete Account`,subtitle:`Permanently delete your account and all associated data.`,variant:`danger`,children:e===`disabled`?(0,Q.jsx)(x,{tone:`info`,children:`Log in to the Vellum platform to delete your account.`}):(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(h,{variant:`dangerOutline`,onClick:()=>a(!0),disabled:o.isPending||s,className:`self-start`,children:`Delete My Account`}),s&&(0,Q.jsx)(I,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`})]})}),(0,Q.jsx)(b,{open:i,title:`Delete Account`,message:`This will permanently delete your account and all associated data. This action cannot be undone.`,confirmLabel:`Delete Account`,destructive:!0,onConfirm:()=>{if(s){a(!1);return}a(!1),o.mutate({})},onCancel:()=>a(!1)})]})}function Ut({title:e,subtitle:t,benefits:n,ctaLabel:r,ctaLeftIcon:i,onAction:a}){return(0,Q.jsx)(Y,{title:e,subtitle:t,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsx)(`ul`,{className:`space-y-3`,children:n.map(({icon:e,text:t})=>(0,Q.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`},children:(0,Q.jsx)(e,{size:14,style:{color:`var(--content-secondary)`},"aria-hidden":!0})}),(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]},t))}),(0,Q.jsx)(h,{variant:`primary`,size:`regular`,leftIcon:i,onClick:a,className:`self-start`,children:r})]})})}function Wt(){return ut()?(0,Q.jsx)(Ut,{title:`Get the iOS App`,subtitle:`The Vellum iOS app gives you a native experience.`,benefits:[{icon:P,text:`Push notifications`},{icon:vt,text:`Biometric login`},{icon:yt,text:`Native haptics`},{icon:Te,text:`Home screen access`}],ctaLabel:`Download`,ctaLeftIcon:(0,Q.jsx)(Te,{size:16}),onAction:()=>{Ge(),tt()}}):null}async function Gt(){if(!M())return!1;let e=window.vellum;return e?.launchAtLogin?e.launchAtLogin.get():!1}async function Kt(e){if(!M())return;let t=window.vellum;t?.launchAtLogin&&await t.launchAtLogin.set(e)}function qt(){let[e,t]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{Gt().then(t)},[]);let n=async e=>{t(e);try{await Kt(e)}catch{t(!e)}};return(0,Q.jsx)(Y,{title:`Launch at Login`,subtitle:`Automatically start Vellum when you log in to your Mac.`,children:(0,Q.jsx)(w,{checked:e,onChange:e=>void n(e),"aria-label":`Launch at Login`})})}function Jt({className:e}){return(0,Q.jsx)(`div`,{role:`presentation`,className:m(`h-px w-full bg-[var(--border-base)]`,e)})}var $=[`youtube.com`,`youtu.be`,`vimeo.com`,`loom.com`];function Yt(e){try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}catch{}return[...$]}function Xt(){return n(`mediaEmbedsEnabled`,!0)}function Zt(){let e=i(`mediaEmbedDomains`,``);return e?Yt(e):[...$]}function Qt(){let[e,n]=(0,Z.useState)(()=>Xt()),[i,a]=(0,Z.useState)(()=>Zt()),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(``),u=(0,Z.useMemo)(()=>c.trim().toLowerCase(),[c]),d=e=>{n(e),t(`mediaEmbedsEnabled`,e)},f=e=>{a(e),r(`mediaEmbedDomains`,JSON.stringify(e))},p=()=>{if(u){if(i.includes(u)){l(``);return}f([...i,u]),l(``)}},m=e=>{f(i.filter(t=>t!==e))},g=()=>{f([...$])},_=i.length===$.length&&i.every((e,t)=>e===$[t]);return(0,Q.jsxs)(Y,{title:`Media Embeds`,subtitle:`Automatically embed images, videos, and other media shared in chat messages.`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Auto Media Embeds`}),(0,Q.jsx)(w,{checked:e,onChange:d})]}),e&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`mt-4`,children:(0,Q.jsx)(Jt,{})}),(0,Q.jsxs)(h,{type:`button`,variant:`ghost`,onClick:()=>s(e=>!e),className:`mt-4 w-full justify-between px-3`,"aria-expanded":o,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o?(0,Q.jsx)(st,{className:`h-4 w-4`,"aria-hidden":!0}):(0,Q.jsx)(F,{className:`h-4 w-4`,"aria-hidden":!0}),`Video Domain Allowlist`]}),(0,Q.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[i.length,` domain`,i.length===1?``:`s`]})]}),o&&(0,Q.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,Q.jsx)(C,{label:`Add Domain`,type:`text`,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),p())},placeholder:`Add domain (e.g. example.com)`,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsx)(h,{variant:`primary`,size:`compact`,onClick:p,disabled:!u,children:`Add`})]}),i.length>0&&(0,Q.jsx)(`div`,{className:`flex justify-end`,children:(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`compact`,onClick:g,disabled:_,tintColor:`var(--content-tertiary)`,children:`Reset to Defaults`})}),i.length>0&&(0,Q.jsx)(`ul`,{className:`space-y-2`,children:i.map(e=>(0,Q.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] px-3 py-2 text-body-medium-lighter`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-[var(--content-default)]`,children:e}),(0,Q.jsx)(h,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(Ie,{}),onClick:()=>m(e),"aria-label":`Remove ${e}`})]},e))})]})]})]})}function $t(e){return e===`preview`?`preview`:`stable`}function en(e){if(!e)return`Unknown`;let t=new Date(e);return Number.isNaN(t.getTime())?`Unknown`:t.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function tn(e){return e.source_release_version?`Stable ${e.source_release_version}`:e.snapshot_name}function nn(e){return e.filter(e=>e.ready_to_use)}function rn(e){return e?.feature_enabled===!1}function an({assistantId:e,onComplete:t}){let n=q.use.previewChannel(),r=u(),[i,a]=(0,Z.useState)(),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(`restore_backup`),[h,g]=(0,Z.useState)(``),_=Oe({path:{assistant_id:e}}),v=Me({path:{assistant_id:e}}),b=Ce({path:{id:e}}),{data:C,isLoading:w,isError:T}=d({..._,enabled:n,retry:!1}),E=C?.preview_backups??[],O=(0,Z.useMemo)(()=>nn(E),[E]),k=O[0],A=O.find(e=>e.snapshot_name===h)??k,j=()=>{r.invalidateQueries({queryKey:v}),r.invalidateQueries({queryKey:b}),t?.()},M=f(Pe()),N=f(we()),P=$t(C?.current_channel),F=M.isPending||N.isPending,ee=F||rn(C)||!C?.latest_preview_release,L=p===`restore_backup`&&!A;if((0,Z.useEffect)(()=>{a(P===`preview`?`release-channel`:void 0)},[P]),!n)return null;let R=C?.standard_upgrade_available??!1;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(y.Root,{type:`single`,collapsible:!0,value:i,onValueChange:e=>a(e||void 0),className:`mt-5 border-t border-[var(--border-base)] pt-5`,children:(0,Q.jsxs)(y.Item,{value:`release-channel`,id:`preview-release-channel`,children:[(0,Q.jsxs)(y.Trigger,{className:`group justify-between gap-3`,children:[(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`Release Channel`}),C&&(0,Q.jsx)(S,{tone:P===`preview`?`warning`:`neutral`,children:P===`preview`?`Preview`:`Stable`})]}),(0,Q.jsx)(st,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Q.jsx)(y.Content,{children:(0,Q.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[w&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(I,{className:`h-4 w-4 animate-spin`}),`Loading release channel...`]}),T&&(0,Q.jsx)(x,{tone:`error`,title:`Could not load release channel status`,children:`Refresh this page before changing release channels.`}),C&&(0,Q.jsxs)(Q.Fragment,{children:[rn(C)&&(0,Q.jsx)(x,{tone:`neutral`,title:`Preview channel is unavailable`,children:`The Preview channel is not enabled for this assistant.`}),P===`stable`?(0,Q.jsx)(on,{status:C,isChangingChannel:F,optInDisabled:ee,onOptIn:()=>s(!0)}):(0,Q.jsx)(sn,{status:C,isChangingChannel:F,onOptOut:()=>{let e=k;g(e?.snapshot_name??``),m(e?`restore_backup`:R?`standard_upgrade`:`restore_backup`),l(!0)}})]})]})})]})}),(0,Q.jsx)(ln,{open:o,isPending:M.isPending,previewVersion:C?.latest_preview_release?.version,onConfirm:async()=>{try{let t=await M.mutateAsync({path:{assistant_id:e}});D.success(t.detail||`Preview channel enabled.`),s(!1),j()}catch(e){D.error(B(e,void 0,`Could not enable Preview channel.`))}},onCancel:()=>s(!1)}),(0,Q.jsx)(un,{open:c,backups:O,mode:p,selectedSnapshotName:A?.snapshot_name??``,isPending:N.isPending,restoreModeDisabled:L,standardUpgradeAvailable:R,onModeChange:m,onSnapshotChange:g,onConfirm:async()=>{if(!L)try{let t=await N.mutateAsync({path:{assistant_id:e},body:p===`restore_backup`?{mode:`restore_backup`,snapshot_name:A?.snapshot_name}:{mode:`standard_upgrade`}});D.success(t.detail||`Stable channel enabled.`),l(!1),j()}catch(e){D.error(B(e,void 0,`Could not switch to Stable.`))}},onCancel:()=>l(!1)})]})}function on({status:e,isChangingChannel:t,optInDisabled:n,onOptIn:r}){return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(cn,{status:e}),!e.latest_preview_release&&(0,Q.jsx)(x,{tone:`neutral`,title:`No Preview release is available`,children:`Stable remains the only available release channel.`}),(0,Q.jsx)(h,{variant:`outlined`,leftIcon:t?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)(ct,{}),disabled:n,onClick:r,children:`Opt in to Preview`})]})}function sn({status:e,isChangingChannel:t,onOptOut:n}){return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(cn,{status:e}),(0,Q.jsx)(h,{variant:`outlined`,leftIcon:t?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)(Je,{}),disabled:t,onClick:n,children:`Switch back to Stable`})]})}function cn({status:e}){return(0,Q.jsxs)(`dl`,{className:`grid gap-3 text-body-medium-lighter sm:grid-cols-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:`Latest Stable`}),(0,Q.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_stable_release?.version??`None`})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:`Latest Preview`}),(0,Q.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_preview_release?.version??`None`})]})]})}function ln({open:e,isPending:t,previewVersion:n,onConfirm:r,onCancel:i}){return(0,Q.jsx)(E.Root,{open:e,onOpenChange:e=>!e&&i(),children:(0,Q.jsxs)(E.Content,{size:`md`,hideCloseButton:t,children:[(0,Q.jsxs)(E.Header,{children:[(0,Q.jsx)(E.Title,{icon:Ae,children:`Opt in to Preview`}),(0,Q.jsx)(E.Description,{children:`Preview releases may be unstable. A 90-day safety backup is taken before the image changes.`})]}),(0,Q.jsx)(E.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(x,{tone:`warning`,title:`Data loss may occur when returning to Stable`,children:`Preview data may not be compatible with the Stable channel. The safety backup lets you restore the Stable-channel data that existed before opt-in.`}),(0,Q.jsxs)(`ol`,{className:`list-decimal space-y-2 pl-5 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,Q.jsx)(`li`,{children:`Create and verify a Preview safety backup.`}),(0,Q.jsxs)(`li`,{children:[`Switch to Preview image `,n??`latest`,`.`]}),(0,Q.jsx)(`li`,{children:`Run the normal upgrade path and wait for health.`})]})]})}),(0,Q.jsxs)(E.Footer,{children:[(0,Q.jsx)(h,{variant:`outlined`,disabled:t,onClick:i,children:`Cancel`}),(0,Q.jsx)(h,{variant:`primary`,disabled:t,leftIcon:t?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)(ct,{}),onClick:r,children:t?`Switching...`:`Take Backup and Switch`})]})]})})}function un({open:e,backups:t,mode:n,selectedSnapshotName:r,isPending:i,restoreModeDisabled:a,standardUpgradeAvailable:o,onModeChange:s,onSnapshotChange:c,onConfirm:l,onCancel:u}){return(0,Q.jsx)(E.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Q.jsxs)(E.Content,{size:`md`,hideCloseButton:i,children:[(0,Q.jsxs)(E.Header,{children:[(0,Q.jsx)(E.Title,{icon:Ae,children:`Switch back to Stable`}),(0,Q.jsx)(E.Description,{children:`Choose how this assistant should leave the Preview channel.`})]}),(0,Q.jsx)(E.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(v,{value:n,onValueChange:s,disabled:i,"aria-label":`Stable channel return method`,children:[(0,Q.jsx)(_,{value:`restore_backup`,disabled:t.length===0,label:`Restore safety backup`,helperText:`Return to the Stable-channel data captured before Preview opt-in.`}),(0,Q.jsx)(_,{value:`standard_upgrade`,disabled:!o,label:`Switch to Stable without restoring backup`,helperText:o?`Keep the current data and directly switch to the Stable image.`:`Unavailable because the latest Stable release is older than this assistant's Preview release.`})]}),n===`restore_backup`&&t.length>0&&(0,Q.jsxs)(`label`,{className:`flex flex-col gap-1 text-body-medium-default text-[var(--content-secondary)]`,children:[`Safety backup`,(0,Q.jsx)(g,{value:r,onChange:c,disabled:i,options:t.map(e=>({value:e.snapshot_name,label:`${tn(e)} - ${en(e.created_at)}`}))})]}),n===`restore_backup`&&t.length===0&&!o&&(0,Q.jsx)(x,{tone:`error`,title:`Stable requires a safety backup`,children:`This Preview release is newer than the latest Stable release, so switching directly is blocked. Wait for a newer Stable release, or run Vellum Doctor if the safety backup is missing.`}),n===`standard_upgrade`&&(0,Q.jsx)(x,{tone:`error`,title:`Preview data may not survive this`,children:`Switching directly to the Stable image without restoring the safety backup may cause data loss or leave the assistant unusable if Preview data is incompatible with Stable.`})]})}),(0,Q.jsxs)(E.Footer,{children:[(0,Q.jsx)(h,{variant:`outlined`,disabled:i,onClick:u,children:`Cancel`}),(0,Q.jsx)(h,{variant:n===`standard_upgrade`?`danger`:`primary`,disabled:i||a||n===`standard_upgrade`&&!o,leftIcon:i?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)($e,{}),onClick:l,children:i?`Switching...`:`Switch to Stable`})]})]})})}function dn({assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}){let o=c(),s=d(Qe()),u=s.data,f=!e.is_local,p=u?.plan_id===`pro`,m=d({...ot(),enabled:p}),_=e.machine_size||`small`,v=R(m.data?.max_machine_tier??null),y=(0,Z.useMemo)(()=>ne(v,_,(0,Q.jsx)(S,{tone:`positive`,children:`Current`})),[v,_]),b=m.data?.selected_storage_gib??null,[C,w]=(0,Z.useState)(!1),T=v.length>0?v[v.length-1]:null,[O,k]=(0,Z.useState)(null),A=O??T??_,[j,M]=(0,Z.useState)(null),[N,P]=(0,Z.useState)(null),F=Ye({onSuccess:(e,n)=>{D.success(`Resize started. Changes will apply shortly.`,{id:`assistant-resize`}),P(null),k(null),w(!1),n.body?.machine_size==null?i():a(t)},onError:e=>{P(ae(e,`Failed to resize assistant. Please try again.`))}});if(s.isError&&u==null)return(0,Q.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,children:(0,Q.jsx)(x,{tone:`error`,children:`Could not load your subscription. Please try again.`})});let L=p&&v.includes(A)&&A!==_?A:null,z=p&&b!=null&&!0,B=p&&v.length>0&&ie(_)<ie(v[v.length-1]),V=F.isPending||r,H=b==null?t?.disk?.totalMb??null:b*1024,U=t?.disk&&H!=null?{value:t.disk.usedMb,max:H,caption:`${X(t.disk.usedMb)} of ${X(H)}`}:null,W=t?.cpu?{value:t.cpu.currentPercent,max:100,caption:`${t.cpu.currentPercent.toFixed(1)}%`}:null,G=t?.memory?{value:t.memory.currentMb,max:t.memory.maxMb,caption:`${X(t.memory.currentMb)} of ${X(t.memory.maxMb)}`}:null,oe=f?p?z?(0,Q.jsxs)(`button`,{type:`button`,disabled:V,onClick:()=>w(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Q.jsx)(Be,{className:`h-3.5 w-3.5`}),`Increase Storage`]}):(0,Q.jsx)(h,{variant:`ghost`,size:`compact`,disabled:V,onClick:()=>w(!0),children:`Resize`}):(0,Q.jsx)(h,{variant:`ghost`,size:`compact`,onClick:()=>M(`storage`),children:`Resize`}):null,se=f?p?B?(0,Q.jsxs)(`button`,{type:`button`,disabled:V,onClick:()=>w(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Q.jsx)(Be,{className:`h-3.5 w-3.5`}),`Increase Size`]}):(0,Q.jsx)(h,{variant:`ghost`,size:`compact`,disabled:V,onClick:()=>w(!0),children:`Resize`}):(0,Q.jsx)(h,{variant:`ghost`,size:`compact`,onClick:()=>M(`machine`),children:`Resize`}):null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,compactAccessory:!0,accessory:(0,Q.jsx)(h,{variant:`ghost`,size:`compact`,iconOnly:n||r?(0,Q.jsx)(I,{className:`animate-spin`}):(0,Q.jsx)($e,{}),tooltip:r?`Applying resize…`:`Refresh resource metrics`,"aria-label":`Refresh resource metrics`,disabled:n||r,onClick:()=>void i()}),children:(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_2fr]`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Q.jsx)(ee,{className:`h-3.5 w-3.5`})}),(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Disk`})]}),oe]}),(0,Q.jsxs)(`div`,{className:`mt-auto flex flex-col gap-1 pt-3`,children:[(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Storage`}),U?(0,Q.jsx)(ht,{value:U.value,max:U.max,caption:U.caption}):n?(0,Q.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Q.jsx)(I,{className:`h-3 w-3 animate-spin`})}):(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Unavailable`})]})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Q.jsx)(te,{className:`h-3.5 w-3.5`})}),(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Machine`}),(0,Q.jsx)(S,{tone:`neutral`,children:re[_]})]}),se]}),(0,Q.jsxs)(`div`,{className:`mt-auto grid grid-cols-2 gap-3 pt-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`CPU`}),W?(0,Q.jsx)(ht,{value:W.value,max:W.max,caption:W.caption}):n?(0,Q.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Q.jsx)(I,{className:`h-3 w-3 animate-spin`})}):(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Memory`}),G?(0,Q.jsx)(ht,{value:G.value,max:G.max,caption:G.caption}):n?(0,Q.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Q.jsx)(I,{className:`h-3 w-3 animate-spin`})}):(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]})]})]})]})}),(0,Q.jsx)(E.Root,{open:j!=null,onOpenChange:e=>{e||M(null)},children:(0,Q.jsxs)(E.Content,{size:`sm`,children:[(0,Q.jsxs)(E.Header,{children:[(0,Q.jsx)(E.Title,{children:`Upgrade to Pro`}),(0,Q.jsx)(E.Description,{children:j===`storage`?`Upgrade to the Pro plan to increase your storage allocation and get more space for your assistant.`:`Upgrade to the Pro plan to unlock larger machine sizes with more CPU and memory for your assistant.`})]}),(0,Q.jsxs)(E.Footer,{children:[(0,Q.jsx)(h,{variant:`ghost`,onClick:()=>M(null),children:`Cancel`}),(0,Q.jsx)(h,{onClick:()=>{M(null),o(`${K.settings.billing}?adjust_plan=1`)},children:`Upgrade`})]})]})}),(0,Q.jsx)(E.Root,{open:C,onOpenChange:e=>{e||(w(!1),k(null),P(null))},children:(0,Q.jsxs)(E.Content,{size:`sm`,children:[(0,Q.jsxs)(E.Header,{children:[(0,Q.jsx)(E.Title,{icon:te,children:`Resize Assistant`}),(0,Q.jsx)(E.Description,{children:`Resize your assistant's compute and storage. Your assistant will briefly restart.`})]}),(0,Q.jsx)(E.Body,{children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[v.length===0?(0,Q.jsx)(x,{tone:`warning`,children:`No machine tier configured. Visit the community for help.`}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:`Machine Size`}),(0,Q.jsx)(g,{options:y,value:A,onChange:k,"aria-label":`Compute machine size`,"data-testid":`resize-machine-size`})]}),z?(0,Q.jsx)(x,{tone:`info`,children:`Storage will be expanded to ${b} GiB.`}):(0,Q.jsx)(x,{tone:`neutral`,children:`Storage will not change.`}),N&&(0,Q.jsx)(x,{tone:`error`,children:N})]})}),(0,Q.jsxs)(E.Footer,{className:`items-center justify-between`,children:[(0,Q.jsxs)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,children:[`Need more?`,` `,(0,Q.jsx)(l,{to:`${K.settings.billing}?adjust_plan=1`,className:`text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 transition-colors hover:text-[var(--content-default)]`,onClick:()=>w(!1),children:`Upgrade plan`})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(h,{variant:`ghost`,onClick:()=>{w(!1),k(null),P(null)},children:`Cancel`}),(0,Q.jsx)(h,{disabled:L==null&&!z||V,leftIcon:V?(0,Q.jsx)(I,{className:`animate-spin`}):void 0,onClick:()=>{P(null);let t={};L!=null&&(t.machine_size=L),z&&b!=null&&(t.storage_gib=b),F.mutate({path:{id:e.id},body:t})},children:N?`Retry`:`Apply`})]})]})]})})]})}function fn({assistantId:e}){let t=c(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(h,{variant:`dangerOutline`,onClick:()=>r(!0),className:`shrink-0`,children:`Retire Assistant`}),(0,Q.jsx)(lt,{open:n,isPending:i,onConfirm:async()=>{a(!0);let n=await et(e);if(n.ok){r(!1),t(n.nextRoute,{replace:!0});return}D.error(n.error),a(!1),r(!1)},onCancel:()=>r(!1)})]})}var pn=`UTC.Africa/Cairo.Africa/Johannesburg.Africa/Lagos.Africa/Nairobi.America/Anchorage.America/Argentina/Buenos_Aires.America/Bogota.America/Chicago.America/Denver.America/Halifax.America/Lima.America/Los_Angeles.America/Mexico_City.America/New_York.America/Phoenix.America/Santiago.America/Sao_Paulo.America/Toronto.America/Vancouver.Asia/Bangkok.Asia/Dubai.Asia/Hong_Kong.Asia/Jakarta.Asia/Jerusalem.Asia/Karachi.Asia/Kolkata.Asia/Kuala_Lumpur.Asia/Manila.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Taipei.Asia/Tokyo.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Athens.Europe/Berlin.Europe/Brussels.Europe/Dublin.Europe/Istanbul.Europe/Lisbon.Europe/London.Europe/Madrid.Europe/Moscow.Europe/Paris.Europe/Rome.Europe/Stockholm.Europe/Vienna.Europe/Warsaw.Europe/Zurich.Pacific/Auckland.Pacific/Honolulu`.split(`.`);function mn(){let e=Intl;if(typeof e.supportedValuesOf==`function`)try{let t=e.supportedValuesOf(`timeZone`);if(t.length>0)return[...t].sort()}catch{}return[...pn].sort()}function hn(e){let t=e.split(`/`),n=(t[t.length-1]??e).replace(/_/g,` `),r=t.length>1?(t[0]??``).replace(/_/g,` `):``,i=0,a=``;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??`GMT`;a=t.startsWith(`GMT`)||t.startsWith(`UTC`)?t:`GMT ${t}`;let n=t.match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(n){let e=n[1]===`-`?-1:1,t=parseInt(n[2]??`0`,10),r=parseInt(n[3]??`0`,10);i=e*(t*60+r)}}catch{return null}return{identifier:e,city:n,region:r,offsetLabel:a,offsetMinutes:i}}function gn(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,hour:`numeric`,minute:`2-digit`,hour12:!0}).format(new Date)}catch{return``}}function _n(e){if(!e)return`Not set`;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`long`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;if(t)return t}catch{}return e.replace(/_/g,` `)}function vn({value:e,onChange:t}){let[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l=(0,Z.useRef)(null),u=(0,Z.useMemo)(()=>mn().map(e=>hn(e)).filter(e=>e!==null),[]);(0,Z.useEffect)(()=>{let e=window.setTimeout(()=>{a(n.trim().toLowerCase())},200);return()=>window.clearTimeout(e)},[n]),(0,Z.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[o]);let d=(0,Z.useMemo)(()=>i?u.filter(e=>e.city.toLowerCase().includes(i)||e.region.toLowerCase().includes(i)||e.offsetLabel.toLowerCase().includes(i)||e.identifier.toLowerCase().includes(i)):u,[u,i]),f=(0,Z.useMemo)(()=>{if(!e)return``;let t=e.split(`/`);return(t[t.length-1]??e).replace(/_/g,` `)},[e]),p=e=>{t(e),r(``),s(!1),l.current?.blur()};return(0,Q.jsxs)(`div`,{ref:c,className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5 md:flex-row md:items-center md:justify-between md:gap-4`,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Closest city`}),(0,Q.jsxs)(`div`,{className:`relative w-full md:max-w-[280px]`,children:[(0,Q.jsx)(C,{ref:l,type:`text`,value:n,placeholder:f||`Search city or country...`,onChange:e=>{r(e.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:e=>{e.key===`Escape`&&(r(``),s(!1),l.current?.blur())},fullWidth:!0}),o&&d.length>0&&(0,Q.jsx)(`div`,{className:`absolute left-0 right-0 top-full z-20 mt-1 max-h-[240px] overflow-y-auto rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-lg`,children:d.slice(0,200).map(t=>(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>p(t.identifier),className:`flex w-full cursor-pointer items-center justify-between gap-3 px-3 py-2 text-left text-body-medium-lighter transition-colors ${t.identifier===e?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-default)] hover:bg-[var(--surface-active)]`}`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`div`,{className:`truncate text-body-medium-default`,children:t.city}),t.region&&(0,Q.jsx)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:t.region})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:gn(t.identifier)}),(0,Q.jsx)(`span`,{children:t.offsetLabel})]})]},t.identifier))})]})]}),(0,Q.jsx)(Jt,{}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Time zone`}),(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:_n(e)})]})]})}function yn(){let e=q.use.velvet(),[t,n]=(0,Z.useState)(()=>ke({velvetEnabled:e}));return(0,Z.useEffect)(()=>{n(ke({velvetEnabled:e}))},[e]),(0,Z.useEffect)(()=>a(`theme`,()=>{n(ke({velvetEnabled:e}))}),[e]),(0,Z.useEffect)(()=>{at(t)},[t]),(0,Q.jsx)(Y,{title:`Theme`,children:(0,Q.jsx)(`div`,{className:`max-w-[360px]`,children:(0,Q.jsx)(T,{ariaLabel:`Theme`,value:t,onChange:e=>{n(e),Ue(e),at(e)},items:[{value:`system`,label:`System`,icon:(0,Q.jsx)(it,{className:`h-4 w-4`})},{value:`light`,label:`Light`,icon:(0,Q.jsx)(Se,{className:`h-4 w-4`})},{value:`dark`,label:`Dark`,icon:(0,Q.jsx)(L,{className:`h-4 w-4`})},...e?[{value:`velvet`,label:`Velvet`,icon:(0,Q.jsx)(be,{className:`h-4 w-4`})}]:[]]})})})}function bn(){let e=A.use.activeAssistantId(),[t,n]=(0,Z.useState)(()=>i(`timezone`,``)),a=(0,Z.useRef)(e);(0,Z.useEffect)(()=>{a.current=e},[e]);let s=(0,Z.useRef)(!1),c=(0,Z.useRef)(null),l=(0,Z.useRef)(()=>{}),u=e=>{if(s.current){c.current=e;return}let t=a.current;if(!t){c.current=null;return}s.current=!0,c.current=null,de.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:t},body:{ui:{userTimezone:e}},throwOnError:!0}).catch(e=>{o(e,{context:`settings-timezone-override`})}).finally(()=>{s.current=!1;let e=c.current;c.current=null,e!==null&&l.current(e)})};return(0,Z.useEffect)(()=>{l.current=u}),(0,Q.jsx)(Y,{title:`Timezone`,subtitle:`Used when displaying times and scheduling reminders.`,children:(0,Q.jsx)(vn,{value:t,onChange:e=>{n(e),r(`timezone`,e),u(e)}})})}function xn(){let{assistant:e,assistantLoading:t,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}=gt(),s=q.use.multiPlatformAssistant(),l=_e.use.settingsSleepPolicy(),u=oe(),d=c(),f=Le(),p=Le({platformHostedOnly:!0}),m=De(),h=rt({assistantId:e?.id??null,enabled:p===`full`&&m}),g=e?.is_local&&!j()?null:e,_=k(),v=j()&&!!e&&!!_&&O(_);return(0,Z.useEffect)(()=>{!e||window.location.hash!==`#storage-resources`||requestAnimationFrame(()=>{document.getElementById(`storage-resources`)?.scrollIntoView({block:`start`})})},[e]),(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[h.status&&h.mode!==`inactive`&&(0,Q.jsx)(He,{status:h.status,mode:h.mode,isAcknowledging:h.isAcknowledging,acknowledgeError:h.acknowledgeError?.message??null,onAcknowledge:()=>void h.acknowledge(),onReviewWorkspaceData:()=>void d(`${K.workspace}?sort=size`),onUpgradeStorage:p===`full`?()=>void d(`${K.settings.billing}?adjust_plan=1`):null}),(0,Q.jsx)(Y,{title:`General`,children:(0,Q.jsx)(_t,{assistant:g,assistantLoading:t,healthz:n,healthzLoading:r})}),u&&f===`full`&&(0,Q.jsx)(jt,{assistant:m?g:null}),p===`full`&&e&&(0,Q.jsx)(dn,{assistant:e,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}),p===`disabled`&&(0,Q.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,children:(0,Q.jsx)(x,{tone:`info`,children:`Log in to the Vellum platform to manage compute resources.`})}),(0,Q.jsx)(yn,{}),(0,Q.jsx)(Vt,{}),M()&&(0,Q.jsx)(qt,{}),p===`full`&&g&&(0,Q.jsxs)(Y,{title:`Software Updates`,children:[(0,Q.jsx)(Bt,{assistantId:g.id,currentVersion:n?.version??g.current_release_version??null,releaseChannel:g.release_channel,onUpgradeComplete:()=>{a()}}),(0,Q.jsx)(an,{assistantId:g.id,onComplete:()=>{a()}})]}),p===`disabled`&&(0,Q.jsx)(Y,{title:`Software Updates`,children:(0,Q.jsx)(x,{tone:`info`,children:`Log in to the Vellum platform to manage software updates.`})}),(0,Q.jsx)(Wt,{}),p===`full`&&g&&l&&(0,Q.jsx)(Y,{title:`Sleep Policy`,subtitle:`Control how long this assistant stays awake when idle.`,children:(0,Q.jsx)(It,{assistantId:g.id})}),p===`disabled`&&l&&(0,Q.jsx)(Y,{title:`Sleep Policy`,subtitle:`Control how long this assistant stays awake when idle.`,children:(0,Q.jsx)(x,{tone:`info`,children:`Log in to the Vellum platform to manage sleep policy.`})}),(0,Q.jsx)(bn,{}),(0,Q.jsx)(Qt,{}),s&&(0,Q.jsx)(Nt,{}),(f===`full`||v)&&g&&(0,Q.jsx)(Y,{variant:`danger`,title:`Retire Assistant`,subtitle:`Permanently retire this assistant and delete all associated data.`,children:(0,Q.jsx)(fn,{assistantId:g.id})}),f===`disabled`&&!v&&(0,Q.jsx)(Y,{variant:`danger`,title:`Retire Assistant`,subtitle:`Permanently retire this assistant and delete all associated data.`,children:(0,Q.jsx)(x,{tone:`info`,children:`Log in to the Vellum platform to retire this assistant.`})}),(0,Q.jsx)(Ht,{})]})}export{xn as GeneralPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-Dze4ISSQ.js";import{t as r}from"./react-DJZBPgpf.js";import{d as i,h as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./button-CHADMNBN.js";import{t as l}from"./progress-bar-BxeXgLhp.js";import{_ as ee,a as te,b as u,c as d,g as ne,j as re,n as f,p,w as ie}from"./resolved-assistants-store-BTvVAnMH.js";import{t as m}from"./is-electron-CavSPgmY.js";import{r as ae}from"./api-errors-CsfCFJ8r.js";import{H as h,Q as oe,T as g,U as _,X as se,Y as ce,Z as v,c as y,n as b}from"./auth-store-waC7X7ya.js";import{a as le,o as ue,r as x}from"./api-BIzaqOVi.js";import{a as S}from"./routes-DLEaIDYY.js";import{r as C,t as w}from"./build-state-Dolr1rr6.js";import{l as de,n as fe}from"./prefs-gr68GIXL.js";import{t as T}from"./avatar-svg-compositor-Bq9IC5b6.js";import{t as E}from"./avatar-bundled-components-CJRg7P2Y.js";import{n as pe,t as D}from"./avatar-random-BtKQR_T3.js";import{t as O}from"./onboarding-layout-Ckbaim4E.js";import{t as me}from"./provider-key-D3ikycIK.js";var k=e(r(),1),A=s(),j=3e3,he=800,M=3e5,N=null,P=null,F={initializing:0,provisioning:.33,connecting:.66,ready:1},I=1500,L={initializing:`Getting things ready…`,provisioning:`Setting up your assistant…`,connecting:`Connecting to your assistant…`,ready:`Ready`};function ge(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/I))**3;return e+(t-e)*r}function _e(){let e=C(w(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function R(){let e=i(),r=o(),[s]=a(),C=s.get(`hosting`),w=s.get(`fail`),I=m(),R=p()&&C!==null&&C!==`vellum-cloud`,ve=b.use.sessionStatus(),[z]=(0,k.useState)(()=>D(E)),B=(0,k.useMemo)(()=>{let e=T(E,z.bodyShape,z.eyeStyle,z.color,320);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`},[z]),[V,H]=(0,k.useState)(`initializing`),[U,W]=(0,k.useState)(null),[ye,G]=(0,k.useState)(!1),[be,xe]=(0,k.useState)(0),[Se,K]=(0,k.useState)(0),[q,J]=(0,k.useState)(0),Y=(0,k.useRef)(V),X=(0,k.useRef)(0),Z=(0,k.useRef)(0),Q=(0,k.useRef)(0),$=(0,k.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,H(e),J(e=>e+1)},[]);return(0,k.useEffect)(()=>{if(w!==null){W(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let i=_e();if(i.kind===`redirect`){e(i.to,{replace:!0});return}if(i.kind===`wait`)return;G(!1);let a=!1,o=null,s=null,c=null,l=Date.now(),m,b=!1,T=!1,E=fe(),D=()=>{try{de(``)}catch(e){n(e,{context:`onboarding_mark_completed`})}K(1),Q.current=1,X.current=1,H(`ready`),Y.current=`ready`,s=setTimeout(()=>{a||(async()=>{if(await _.checkAssistant(),!a){if(g()){_.markExpectingFirstMessage(),e(`${S.assistant}?onboarding=1`,{replace:!0});return}e(S.onboarding.prechat,{replace:!0})}})()},he)},O=e=>pe(e,z,r),k=async()=>{if($(`provisioning`),!R){try{let e=await x(),t=v(e);if(!a&&e.ok&&t.kind===`active`){p()&&u({assistantId:e.data.id,name:e.data.name,cloud:`vellum`,runtimeUrl:d(),hatchedAt:new Date().toISOString(),organizationId:y.getState().currentOrganizationId??void 0}),D();return}t.kind===`auto_hatch`&&(T=!0)}catch{}if(a)return}if(R){try{N||=ie(void 0,C===`docker`?`docker`:void 0);let e=await N;if(N=null,a)return;if(!e.ok){W(e.error??`Failed to hatch local assistant.`);return}await ne(),e.assistantId&&h(e.assistantId),$(`connecting`);let t=!1;for(;!a&&!t;){let e=te();if(e)try{let n=await fetch(`${e}/readyz`);if(n.ok){let e=await n.json();if(e&&typeof e==`object`&&`status`in e&&e.status===`ok`){re(),await ee(),t=!0;break}}}catch{}if(Date.now()-l>=M){W(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{c=setTimeout(e,j)}),c=null}if(a)return;if(e.assistantId){try{await me(e.assistantId)}catch(e){n(e,{context:`onboarding_apply_provider_key`})}f.getState().upsertFromApi({id:e.assistantId,name:e.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),h(e.assistantId),O(e.assistantId)}D()}catch{if(N=null,a)return;W(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{P||=ue(E?{version:E}:void 0);let e=await P;if(P=null,a)return;if(e.ok&&(m=e.data.id),b=e.ok&&e.status===201,!e.ok){if(t(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),se(e.status,e.error)){W(ce),G(!0);return}if(!oe(e.status)){W(ae(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(P=null,n(e,{context:`onboarding_hatch_assistant`}),a)return}A(0)},A=e=>{a||(o=setTimeout(F,e))},F=async()=>{if(!a){if(Date.now()-l>=M){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:M}}),W(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await x(m);if(a||m&&!e.ok&&e.status===404&&(m=void 0,e=await x(),a))return;let t=v(e);if(t.kind===`active`){if(e.ok){let t=e.data.id;for(f.getState().upsertFromApi(e.data),h(t),(b||T)&&O(t),p()&&u({assistantId:t,name:e.data.name,cloud:`vellum`,runtimeUrl:d(),hatchedAt:new Date().toISOString(),organizationId:y.getState().currentOrganizationId??void 0}),$(`connecting`);!a;){try{if((await le(t)).ok)break}catch{}if(Date.now()-l>=M){W(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,j)}),o=null}if(a)return}D();return}if(t.kind===`error`){W(t.message);return}t.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),A(j)}catch(e){if(n(e,{context:`onboarding_poll_assistant`}),a)return;A(j)}}};return k(),()=>{a=!0,o&&clearTimeout(o),s&&clearTimeout(s),c&&clearTimeout(c)}},[be,w,z,ve,e,r,$,R]),(0,k.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=F[Y.current],i=ge(X.current,r,n);Q.current=i,K(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[q]),U?(0,A.jsx)(O,{children:(0,A.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${I?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,A.jsx)(`h1`,{className:I?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:`Something went wrong`}),(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${I?`mt-3.5`:`mt-4`}`,children:U}),ye&&(0,A.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,A.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Get started today with a local assistant`}),(0,A.jsx)(c,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:I?void 0:`h-11 text-base`,children:(0,A.jsx)(`a`,{href:`${window.location.origin}/download`,children:`Download the macOS app`})})]}),(0,A.jsx)(`img`,{src:B,alt:``,width:160,height:160,className:`${I?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,A.jsxs)(`div`,{className:`flex w-full flex-col ${I?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[(0,A.jsx)(c,{variant:`primary`,size:`regular`,fullWidth:!0,className:I?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,H(`initializing`),K(0),J(e=>e+1),W(null),G(!1),xe(e=>e+1)},children:`Try again`}),(0,A.jsx)(c,{variant:`outlined`,size:`regular`,fullWidth:!0,className:I?void 0:`h-11 text-base`,onClick:()=>void e(R?S.onboarding.hosting:S.onboarding.privacy,{replace:!0}),children:`Back`})]})]})}):(0,A.jsx)(O,{children:(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${I?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,A.jsx)(`h1`,{className:I?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:V===`ready`?`Your assistant is ready!`:`Waking up…`}),V!==`ready`&&(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${I?`mt-3.5`:`mt-4`}`,children:`Hang tight — your assistant will have a few questions for you once it's up.`}),(0,A.jsx)(`img`,{src:B,alt:``,width:160,height:160,className:`${I?`my-auto py-8`:`my-16`} ${V===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,A.jsx)(l,{value:Se,height:6,className:`w-full ${I?`max-w-[200px]`:`max-w-sm`}`,"aria-label":`Assistant startup progress`}),(0,A.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${I?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:L[V]})]})})}export{R as HatchingScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dze4ISSQ.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r}from"./chunk-5KNZJZUH-DdS6bb-3.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"./cn-DFqQkJlk.js";import{n as c,t as l}from"./button-CHADMNBN.js";import{t as u}from"./typography-Czgs_2w_.js";import{t as d}from"./dropdown-CocFV5yi.js";import{n as f,s as p,u as m}from"./src-DOuqBUBT.js";import{t as h}from"./notice-CF2pptne.js";import{t as g}from"./tag-Ccr7Quy6.js";import{n as _,t as v}from"./input-Cu3PPVCq.js";import{t as y}from"./toggle-CEm3M86o.js";import{n as b}from"./stat-square-CSDqINvK.js";import{t as x}from"./modal-BYMhDpQo.js";import{n as S}from"./toast-BL8OPiip.js";import{t as C}from"./createLucideIcon-D6d6iDdi.js";import{t as w}from"./bell-C7RL04h4.js";import{t as T}from"./calendar-CwOLKT3p.js";import{t as E}from"./chevron-right-C0jZwqbo.js";import{t as D}from"./loader-circle-BwqYfFHZ.js";import{t as O}from"./x-Df0EF2EP.js";import{gn as k,hn as A,mn as j,pn as ee,vn as te,yn as ne}from"./sdk.gen-qH7wLOCJ.js";import{T as re,w as ie}from"./react-query.gen-CawmQR-A.js";import{n as M,r as N,t as P}from"./api-errors-CsfCFJ8r.js";import{T as ae}from"./auth-store-waC7X7ya.js";import{a as F}from"./routes-DLEaIDYY.js";import{n as oe}from"./use-is-mobile-C5MpTbZg.js";import{c as se,o as ce,s as le}from"./query-tags-gNW0M4r7.js";import{t as ue}from"./viewer-store-4gKEarK-.js";import{t as de}from"./conversation-store-WsKQTo9S.js";import{t as fe}from"./effective-timezone-CDR6FaRF.js";import{$n as pe,Ga as me,Hn as he,Ir as ge,Ji as _e,Jn as ve,Mr as ye,Qa as I,Ri as L,Sa as be,Xn as xe,Yi as Se,Yn as Ce,ea as R,ha as we,lo as Te,mo as Ee,qn as De,rr as Oe,ut as ke,ya as z}from"./index-BKOx2d-L.js";import{t as Ae}from"./use-active-assistant-id-Bdecq9LQ.js";import{n as je,t as Me}from"./lib-BKXwfhCO.js";import{t as Ne}from"./page-shell-BeD0ynsM.js";import{n as Pe,r as B}from"./format-date-hsycENtr.js";import{n as Fe}from"./usage-window-XvgiaiRa.js";import{t as Ie}from"./schedules-ByXx8-Sr.js";var Le=C(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),Re=C(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),V=e(n(),1);async function ze(e,t){let{error:n,response:r}=await te({path:{assistant_id:e},body:t,throwOnError:!1});if(M(r,n,`Failed to create schedule.`),!r.ok)throw new P(r.status,N(n,r,`Failed to create schedule.`))}async function Be(e){return Ie(e)}async function Ve(e,t,n=10,r){let{data:i,error:a,response:o}=await A({path:{assistant_id:e,id:t},query:{limit:n,before:r},throwOnError:!1});if(M(o,a,`Failed to load schedule runs.`),!o.ok)throw new P(o.status,N(a,o,`Failed to load schedule runs.`));return{runs:i?.runs??[],nextCursor:i?.nextCursor??null}}async function He(e,t){let{data:n,error:r,response:i}=await ne({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(M(i,r,`Failed to load schedule usage.`),!i.ok)throw new P(i.status,N(r,i,`Failed to load schedule usage.`));return n?.summaries??[]}async function Ue(e,t,n){let{error:r,response:i}=await k({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(M(i,r,`Failed to toggle schedule.`),!i.ok)throw new P(i.status,N(r,i,`Failed to toggle schedule.`))}async function We(e,t){let{error:n,response:r}=await ee({path:{assistant_id:e,id:t},throwOnError:!1});if(M(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new P(r.status,N(n,r,`Failed to delete schedule.`))}async function Ge(e,t){let{error:n,response:r}=await j({path:{assistant_id:e,id:t},throwOnError:!1});if(M(r,n,`Failed to run schedule.`),!r.ok)throw new P(r.status,N(n,r,`Failed to run schedule.`))}var Ke={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},H=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],qe=[1,2,3,4,5];function U(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function W(e){let t=Array.from(new Set(e.map(e=>U(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Je(e){let t=U(e.minute,0,59),n=U(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${W(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${U(e.dayOfMonth,1,28)} * *`}}function Ye(e,t){let n=U(e,0,23),r=U(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function Xe(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function Ze(e){let t=W(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&qe.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${H[t[0]]?.full??`day`}`;let r=t.map(e=>H[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function Qe(e){let t=Ye(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=U(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${Ze(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${Xe(U(e.dayOfMonth,1,28))} of every month at ${t}`}}var G=o(),$e=[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],et=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),tt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}}),nt=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:Xe(n)}}),{value:`last`,label:`Last day`}],rt=[{value:`AM`,label:`AM`},{value:`PM`,label:`PM`}];function it(e,t){let n=e%12;return t===`PM`?n+12:n}function at(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function ot({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,G.jsx)(x.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,G.jsx)(st,{assistantId:t,onClose:n,onCreated:r}):null})}function st({assistantId:e,onClose:t,onCreated:n}){let r=Oe(),[i,a]=(0,V.useState)(``),[o,s]=(0,V.useState)(``),[c,u]=(0,V.useState)(``),[d,f]=(0,V.useState)(`simple`),[p,m]=(0,V.useState)(Ke),[h,g]=(0,V.useState)(``),[y,b]=(0,V.useState)(!1),[S,C]=(0,V.useState)(null),w=i.trim(),T=o.trim(),E=c.trim(),D=h.trim(),O=(0,V.useMemo)(()=>d===`simple`?Je(p):D,[d,p,D]),k=(0,V.useMemo)(()=>d===`simple`?Qe(p):D||`Enter a cron expression to continue.`,[d,p,D]),A=(0,V.useMemo)(()=>at(r),[r]),j=w.length>0&&T.length>0&&E.length>0&&O.length>0&&!y;return(0,G.jsxs)(x.Content,{size:`md`,children:[(0,G.jsxs)(x.Header,{children:[(0,G.jsx)(x.Title,{children:`Create schedule`}),(0,G.jsx)(x.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,G.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),j){b(!0),C(null);try{await ze(e,{name:w,description:T,expression:O,message:E,timezone:r}),b(!1),n()}catch(e){C(e instanceof Error?e.message:`Failed to create schedule.`),b(!1)}}},children:[(0,G.jsx)(x.Body,{children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,G.jsx)(v,{label:`Name`,placeholder:`Morning briefing`,value:i,onChange:e=>a(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,G.jsx)(_,{label:`Description`,placeholder:`What is this schedule for?`,value:o,onChange:e=>s(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,G.jsx)(ft,{label:`Repeat`,children:d===`simple`?(0,G.jsx)(ct,{cadence:p,onChange:m}):(0,G.jsx)(dt,{value:h,onChange:g,onUseSimple:()=>f(`simple`)})}),(0,G.jsx)(pt,{summary:k,mono:d===`advanced`&&D.length>0,timezoneLabel:A}),d===`simple`?(0,G.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e||Je(p)),f(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`Advanced — write a cron expression`}):null,(0,G.jsx)(_,{label:`Message`,placeholder:`What should the assistant do on each fire?`,value:c,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:4}),S?(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:S}):null]})}),(0,G.jsxs)(x.Footer,{children:[(0,G.jsx)(l,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,G.jsx)(l,{variant:`primary`,type:`submit`,disabled:!j,children:y?`Creating…`:`Create schedule`})]})]})]})}function ct({cadence:e,onChange:t}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(b,{items:$e,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,G.jsx)(K,{label:`At minute`,children:(0,G.jsx)(d,{options:tt,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":`Minute`,className:`w-24`})}):null,e.frequency===`weekly`?(0,G.jsx)(K,{label:`On these days`,children:(0,G.jsx)(ut,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,G.jsx)(K,{label:`On day`,children:(0,G.jsx)(d,{options:nt,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":`Day of month`,className:`w-32`})}):null,e.frequency===`hourly`?null:(0,G.jsx)(K,{label:`At time`,children:(0,G.jsx)(lt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function lt({hour24:e,minute:t,onChange:n}){let r=e<12?`AM`:`PM`,i=e%12==0?12:e%12;return(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(d,{options:et,value:String(i),onChange:e=>n(it(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,G.jsx)(d,{options:tt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,G.jsx)(`div`,{className:`w-[112px]`,children:(0,G.jsx)(b,{items:rt,value:r,onChange:e=>n(it(i,e),t),ariaLabel:`AM or PM`})})]})}function ut({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,G.jsx)(`div`,{className:`flex gap-1.5`,children:H.map(e=>{let t=n.has(e.value);return(0,G.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:s(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function dt({value:e,onChange:t,onUseSimple:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(v,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":`Cron expression`,helperText:`Standard 5-field cron (minute hour day month weekday). RRULE expressions are also accepted.`}),(0,G.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`← Back to the simple builder`})]})}function ft({label:e,children:t}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function K({label:e,children:t}){return(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,G.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function pt({summary:e,mono:t,timezoneLabel:n}){return(0,G.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,G.jsx)(I,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:s(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,G.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function mt({icon:e,title:t,description:n,actions:r}){return(0,G.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,G.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,G.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,G.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,G.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,G.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function ht(e=fe(),t=Date.now()){return Fe(`7d`,e,t)}function q(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function gt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var _t=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function J(e){return e==null||!Number.isFinite(e)?`—`:_t.format(e)}function vt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function yt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function bt(e){return yt(e)?e.conversationId??null:null}function xt(e,t){return e.status===`fired`||e.status===`cancelled`?!0:e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t}function St(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?xt(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function Ct(e,t,n=!0){return{queryKey:le(e,t),queryFn:()=>e?He(e,ht(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function wt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Tt(e){if(e.status===`loading`)return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`h-4 w-12 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,G.jsx)(`span`,{className:`h-4 w-10 animate-pulse rounded bg-[var(--surface-muted)]`})]});if(e.status===`error`)return(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:J(t.totalEstimatedCostUsd)}),(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:vt(t.runCount)})]})}function Et({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let a=e.isOneShot?``:e.cadenceDescription.trim(),o=e.lastRunAt??e.nextRunAt,s=[a,o?q(o):``].filter(Boolean);return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${n?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[(0,G.jsx)(y,{checked:e.enabled,onChange:i,"aria-label":`Toggle ${e.name}`}),(0,G.jsxs)(`button`,{type:`button`,onClick:r,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name}),s.length>0?(0,G.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:s.map((e,t)=>(0,G.jsxs)(V.Fragment,{children:[t>0?(0,G.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}):null,(0,G.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[Tt(t),(0,G.jsx)(E,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Dt({recurring:e,oneTime:t,usageForSchedule:n,isLoading:r,isError:i,refetch:a,onToggle:o,onSelectSchedule:s,selectedScheduleId:c,onStartNewChat:u,onCreateSchedule:d}){let f=e=>(0,G.jsx)(Et,{schedule:e,usage:n(e.id),selected:e.id===c,onClick:()=>s(e.id),onToggle:t=>o(e.id,t)},e.id);return(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r?(0,G.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,G.jsx)(`div`,{className:`h-12 animate-pulse rounded-md bg-[var(--surface-muted)]`},t))}):i&&e.length===0?(0,G.jsx)(h,{tone:`error`,actions:(0,G.jsx)(`button`,{type:`button`,onClick:a,className:`cursor-pointer underline hover:no-underline`,children:`Retry`}),children:`Failed to load schedules.`}):e.length===0&&t.length===0?(0,G.jsx)(mt,{icon:T,title:`No schedules yet`,description:`Ask your assistant to set one up, or create one yourself.`,actions:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(l,{variant:`primary`,size:`regular`,onClick:u,children:`New Conversation`}),(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`or`}),(0,G.jsx)(l,{variant:`outlined`,size:`regular`,onClick:d,children:`Create schedule`})]})}):(0,G.jsxs)(`div`,{children:[e.map(f),t.length>0?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:`One-time`}),t.map(f)]}):null]})})}function Ot({status:e}){return(0,G.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function kt({children:e}){return(0,G.jsx)(u,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Y({label:e,value:t}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,G.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function At({icon:e,value:t,label:n}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,G.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-sunken)] text-[var(--content-secondary)]`,children:e}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,G.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function jt({usage:e}){return e.status===`loading`?(0,G.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,G.jsx)(`div`,{className:`h-[60px] animate-pulse rounded-lg bg-[var(--surface-muted)]`},t))}):e.status===`error`?null:(0,G.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,G.jsx)(At,{icon:(0,G.jsx)(me,{className:`h-4 w-4`}),value:J(e.summary.totalEstimatedCostUsd),label:`7 Day Cost`}),(0,G.jsx)(At,{icon:(0,G.jsx)(Re,{className:`h-4 w-4`}),value:vt(e.summary.runCount),label:`7 Day Runs`})]})}function Mt({run:e,onOpenConversation:t}){let n=bt(e),r=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ot,{status:e.status}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:q(e.startedAt)}),(0,G.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[gt(e.durationMs),` ·`,` `,J(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,G.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),n?(0,G.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}):null]});return n?(0,G.jsx)(`button`,{type:`button`,onClick:()=>t(n),"aria-label":`Open conversation for run at ${q(e.startedAt)}`,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:r}):(0,G.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:r})}function Nt({runs:e,isLoading:t,onOpenConversation:n}){return t?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,G.jsx)(D,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,G.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No runs yet.`}):(0,G.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map(e=>(0,G.jsx)(Mt,{run:e,onOpenConversation:n},e.id))})}function Pt({schedule:e,assistantId:n,usage:i,isMobile:o,onClose:c,onDeleted:d}){let f=r(),{data:p,isLoading:m}=a({queryKey:ce(n,e.id),queryFn:()=>Ve(n,e.id),staleTime:1e4}),[h,g]=(0,V.useState)(!1),[_,v]=(0,V.useState)(!1),[y,b]=(0,V.useState)(!1),x=async()=>{g(!0);try{await Ge(n,e.id)}catch(e){t(e,{context:`schedule_run_now`}),S.error(`Failed to run schedule.`)}finally{g(!1)}},C=async()=>{b(!0);try{await We(n,e.id),d()}catch(e){t(e,{context:`schedule_delete`}),S.error(`Failed to delete schedule.`),b(!1),v(!1)}};return(0,G.jsxs)(`div`,{className:s(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,G.jsx)(u,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:e.name})}),(0,G.jsx)(l,{variant:`ghost`,iconOnly:(0,G.jsx)(O,{}),onClick:c,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,G.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[e.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,G.jsxs)(`section`,{children:[(0,G.jsx)(kt,{children:`Details`}),(0,G.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-2`,children:[e.cadenceDescription?(0,G.jsx)(Y,{label:`Cadence`,value:e.cadenceDescription}):null,(0,G.jsx)(Y,{label:`Mode`,value:e.mode}),(0,G.jsx)(Y,{label:`Status`,value:e.enabled?`Enabled`:`Disabled`}),(0,G.jsx)(Y,{label:`Next run`,value:q(e.nextRunAt)}),e.lastRunAt?(0,G.jsx)(Y,{label:`Last run`,value:(0,G.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,G.jsx)(Ot,{status:e.lastStatus}),q(e.lastRunAt)]})}):null]})]}),(0,G.jsx)(jt,{usage:i}),(0,G.jsxs)(`section`,{children:[(0,G.jsx)(kt,{children:`Recent runs`}),(0,G.jsx)(Nt,{runs:p?.runs,isLoading:m,onOpenConversation:e=>f(F.conversation(e))})]})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[_?(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(l,{variant:`ghost`,onClick:()=>v(!1),disabled:y,children:`Cancel`}),(0,G.jsx)(l,{variant:`danger`,onClick:()=>void C(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,G.jsx)(l,{variant:`dangerOutline`,leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`}),onClick:()=>v(!0),children:`Delete`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(l,{variant:`outlined`,leftIcon:(0,G.jsx)(Te,{className:`h-3.5 w-3.5`}),onClick:()=>f(F.logs.usageForSchedule(e.id)),children:`View usage`}),e.mode===`script`?(0,G.jsx)(l,{variant:`primary`,leftIcon:h?(0,G.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void x(),disabled:h,children:h?`Running…`:`Run now`}):null]})]})]})}var X={security:{icon:_e,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:z,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:I,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:Se,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:w,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},Ft=[`security`,`email`,`scheduling`,`background`,`system`],Z=`all`;function It({categories:e,activeFilter:t,onFilterChange:n}){let r=Ft.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:Z,label:`All`,icon:(0,G.jsx)(be,{className:`h-4 w-4`})},...r.map(e=>{let t=X[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,G.jsx)(t,{className:`h-4 w-4`})}})];return(0,G.jsx)(b,{ariaLabel:`Filter notifications`,iconOnly:!0,value:t??Z,onChange:e=>n(e===Z?null:e),items:i,className:`self-start`})}function Lt(e,t){!t||!ae()||(e.preventDefault(),ke(t))}var Rt={p:({children:e})=>(0,G.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,G.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,G.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,G.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>Lt(t,e),children:t}),ul:({children:e})=>(0,G.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,G.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,G.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,G.jsx)(`code`,{className:`rounded px-1 py-0.5 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 8%, transparent)`,color:`var(--content-default)`},children:e}),pre:({children:e})=>(0,G.jsx)(`pre`,{className:`mb-2 overflow-x-auto rounded p-3 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`,color:`var(--content-default)`},children:e}),h1:({children:e})=>(0,G.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,G.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,G.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,G.jsx)(`blockquote`,{className:`mb-2 border-l-2 pl-3 text-body-medium-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:e}),table:({children:e})=>(0,G.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,G.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,G.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,G.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,G.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,G.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,G.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function zt({content:e,className:t}){return(0,G.jsx)(`div`,{className:s(`text-body-medium-default`,t),children:(0,G.jsx)(je,{remarkPlugins:[Me],components:Rt,children:e})})}function Bt({item:e}){return(0,G.jsx)(zt,{content:e.summary})}function Vt(e){switch(e){case`revoked`:case`expired`:return`var(--system-negative-strong)`;case`missing_scopes`:case`missing_token`:case`ping_failed`:return`var(--system-mid-strong)`;default:return`var(--content-disabled)`}}function Ht(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Ut({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,G.jsx)(u,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:e.title??e.summary});let r=t?.accountInfo??null,i=t?.status??`unreachable`,a=t?.details??``,o=Array.isArray(t?.missingScopes)?t.missingScopes:[];return(0,G.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,G.jsx)(u,{variant:`title-small`,as:`h3`,children:n}),r?(0,G.jsx)(u,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,G.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,G.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Vt(i)},"aria-hidden":`true`}),(0,G.jsx)(u,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Ht(i)})]}),a?(0,G.jsx)(u,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,G.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,G.jsx)(u,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,G.jsx)(`ul`,{className:`m-0 flex list-disc flex-col gap-[var(--app-spacing-xxs)] pl-[var(--app-spacing-lg)]`,children:o.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(u,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}function Wt(e){return e&&X[e]?X[e]:X.system}function Gt(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function Kt({item:e,isMobile:t,validConversationIds:n,onClose:r,onGoToThread:i,onUpdateStatus:a,onDismiss:o,onViewSchedule:s}){if(!e)return null;let c=e.detailPanel?.kind,d=Gt(e),f=Wt(e.category),p=f.icon,m=e.status===`new`,h=e.status===`dismissed`,_=!!e.conversationId&&n.has(e.conversationId);return t?(0,G.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,G.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,G.jsx)(l,{variant:`ghost`,iconOnly:(0,G.jsx)(Ee,{}),onClick:r,"aria-label":`Back`,tooltip:`Back`}),(0,G.jsx)(u,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,G.jsx)(l,{variant:`ghost`,iconOnly:m?(0,G.jsx)(Le,{}):(0,G.jsx)(z,{}),onClick:()=>a(e.id,m?`seen`:`new`),"aria-label":m?`Mark as read`:`Mark as unread`,tooltip:m?`Mark as read`:`Mark as unread`}),h?(0,G.jsx)(l,{variant:`ghost`,iconOnly:(0,G.jsx)(R,{}),onClick:()=>a(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,G.jsx)(l,{variant:`ghost`,iconOnly:(0,G.jsx)(L,{}),onClick:()=>o(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,G.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,G.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:40,height:40,backgroundColor:f.weak},"aria-hidden":`true`,children:(0,G.jsx)(p,{width:18,height:18,style:{color:f.strong}})}),(0,G.jsx)(u,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:d}),(0,G.jsx)(g,{tone:`neutral`,className:`shrink-0`,title:Pe(e.timestamp),children:B(e.timestamp)})]}),(0,G.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,G.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:c===`toolPermission`?(0,G.jsx)(Ut,{item:e}):(0,G.jsx)(Bt,{item:e})}),_||s?(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[s?(0,G.jsx)(l,{variant:`outlined`,fullWidth:!0,leftIcon:(0,G.jsx)(T,{className:`size-4`}),onClick:s,children:`View schedule`}):null,_?(0,G.jsx)(l,{variant:`primary`,fullWidth:!0,onClick:()=>i(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,G.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,G.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:28,height:28,backgroundColor:f.weak},"aria-hidden":`true`,children:(0,G.jsx)(p,{width:14,height:14,style:{color:f.strong}})}),(0,G.jsx)(u,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:d}),_?(0,G.jsx)(l,{variant:`outlined`,onClick:()=>i(e.conversationId),children:`Go to Convo`}):null,(0,G.jsx)(l,{variant:`outlined`,iconOnly:(0,G.jsx)(O,{}),onClick:r,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,G.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[c===`toolPermission`?(0,G.jsx)(Ut,{item:e}):(0,G.jsx)(Bt,{item:e}),(0,G.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,G.jsx)(g,{tone:`neutral`,title:Pe(e.timestamp),children:B(e.timestamp)})})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-[var(--app-spacing-sm)] border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,G.jsx)(`div`,{children:s?(0,G.jsx)(l,{variant:`outlined`,leftIcon:(0,G.jsx)(T,{className:`size-4`}),onClick:s,children:`View schedule`}):null}),(0,G.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:h?(0,G.jsx)(l,{variant:`primary`,onClick:()=>a(e.id,`seen`),children:`Restore`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(l,{variant:`outlined`,onClick:()=>a(e.id,m?`seen`:`new`),children:m?`Mark as read`:`Mark as unread`}),(0,G.jsx)(l,{variant:`primary`,onClick:()=>o(e.id),children:`Dismiss`})]})})]})]})}function Q({label:e,onClick:t,className:n,children:r}){return(0,G.jsx)(c,{content:e,children:(0,G.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n),children:r})})}function qt(e){return e&&X[e]?X[e]:X.system}function $({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:c=`dismiss`}){let[l,u]=(0,V.useState)(!1),d=qt(e.category),f=d.icon,p=e.status===`new`,m=c===`restore`;return(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:s(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:l?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!p&&!t&&`opacity-70`),children:[(0,G.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,G.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:d.weak},children:(0,G.jsx)(f,{width:12,height:12,style:{color:d.strong}})}),p&&(0,G.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,G.jsx)(`span`,{className:s(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),l&&!m?(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,G.jsx)(Q,{label:p?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,p?`seen`:`new`),children:p?(0,G.jsx)(Le,{width:16,height:16}):(0,G.jsx)(z,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,G.jsx)(Q,{label:`Go to thread`,onClick:()=>{p&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,G.jsx)(we,{width:16,height:16})}),(0,G.jsx)(Q,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,G.jsx)(L,{width:16,height:16})})]}):l&&m?(0,G.jsxs)(Q,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,G.jsx)(R,{width:16,height:16,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,G.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:B(e.timestamp)})]})}function Jt(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function Yt(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function Xt(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function Zt(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function Qt(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}var $t={today:`Today`,yesterday:`Yesterday`,older:`Older`};function en({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s}){let[c,l]=(0,V.useState)(null),d=Zt(e.filter(e=>e.status!==`dismissed`)),p=Qt(d),m=c&&p.includes(c)?c:null;c!==m&&l(m);let h=Yt(Jt(Xt(d,m))),g=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,G.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(0,G.jsx)(It,{categories:p,activeFilter:m,onFilterChange:l}),h.size===0?m?(0,G.jsx)(u,{variant:`body-medium-lighter`,className:`py-[var(--app-spacing-xl)] text-center text-[var(--content-disabled)]`,children:`No items match the selected filter.`}):(0,G.jsx)(mt,{icon:w,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...h.entries()].map(([e,a])=>(0,G.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,G.jsx)(u,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:$t[e]}),(0,G.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:a.map(e=>(0,G.jsx)($,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),g.length>0&&(0,G.jsx)(f.Root,{type:`single`,collapsible:!0,children:(0,G.jsxs)(f.Item,{value:`dismissed`,children:[(0,G.jsxs)(f.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,G.jsx)(E,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,G.jsxs)(`span`,{children:[`Dismissed (`,g.length,`)`]})]}),(0,G.jsx)(f.Content,{children:(0,G.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:g.map(e=>(0,G.jsx)($,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function tn(){return(0,G.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function nn(e){let n=Oe(),[r]=(0,V.useState)(()=>Date.now()),{data:i,isLoading:o,isError:s,refetch:c}=a({queryKey:se(e),queryFn:()=>e?Be(e):Promise.resolve([]),staleTime:1e4}),{data:l,isLoading:u,isError:d}=a(Ct(e,n,!0)),{recurring:f,oneTime:p}=(0,V.useMemo)(()=>{let e=St(i??[],r);return{recurring:e.recurring,oneTime:[...e.upcomingOneTime,...e.pastOneTime]}},[r,i]),m=(0,V.useMemo)(()=>new Map((l??[]).map(e=>[e.scheduleId,e])),[l]);return{recurring:f,oneTime:p,usageForSchedule:(0,V.useCallback)(e=>u?{status:`loading`}:d?{status:`error`}:{status:`ready`,summary:m.get(e)??wt(e)},[d,u,m]),handleToggle:(0,V.useCallback)(async(n,r)=>{if(e)try{await Ue(e,n,r),c()}catch(e){t(e,{context:`schedule_toggle`}),S.error(`Failed to toggle schedule.`)}},[e,c]),isLoading:o,isError:s,refetch:(0,V.useCallback)(()=>{c()},[c])}}function rn(e){let t=i(),n=(0,V.useMemo)(()=>re({path:{assistant_id:e??``}}),[e]),r=a({...ie({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),o=(0,V.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:o}}function an(){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,G.jsx)(`div`,{className:`h-7 w-64 animate-pulse rounded-md bg-[var(--surface-lift)]`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,G.jsx)(`div`,{className:`h-16 animate-pulse rounded-md bg-[var(--surface-lift)]`},t))})]})}function on(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}function sn({assistantId:e,validConversationIds:t,onStartNewChat:n,onOpenConversation:r}){let i=oe(),a=xe(e);rn(e);let o=nn(e),[s,c]=(0,V.useState)(!1),[l,u]=(0,V.useState)(`schedules`),[d,f]=(0,V.useState)(null),[h,g]=(0,V.useState)(null),_=h?o.recurring.find(e=>e.id===h)??o.oneTime.find(e=>e.id===h)??null:null;(0,V.useEffect)(()=>{h&&!_&&g(null)},[h,_]);let v=(0,V.useCallback)(e=>{f(null),g(e)},[]),y=(0,V.useCallback)(e=>{g(null),e.status===`new`?(f({...e,status:`seen`}),a.updateStatus.mutate({itemId:e.id,status:`seen`})):f(e)},[a.updateStatus]),b=(0,V.useCallback)(()=>{f(null)},[]),x=(0,V.useCallback)(e=>{a.updateStatus.mutate({itemId:e,status:`dismissed`}),d?.id===e&&f(null)},[a.updateStatus,d?.id]),S=(0,V.useCallback)(e=>{a.updateStatus.mutate({itemId:e,status:`seen`}),f(t=>t?.id===e?{...t,status:`seen`}:t)},[a.updateStatus]),C=(0,V.useCallback)((e,t)=>{a.updateStatus.mutate({itemId:e,status:t}),f(n=>n?.id===e?{...n,status:t}:n)},[a.updateStatus]),w=(0,V.useCallback)(e=>{f(null),r(e)},[r]),T=on(d),E=T!=null&&(o.recurring.some(e=>e.id===T)||o.oneTime.some(e=>e.id===T)),D=d?(0,G.jsx)(Kt,{item:d,isMobile:i,validConversationIds:t,onClose:b,onGoToThread:w,onUpdateStatus:C,onDismiss:x,onViewSchedule:E?()=>{u(`schedules`),v(T)}:void 0}):null,O=_?(0,G.jsx)(Pt,{schedule:_,assistantId:e,usage:o.usageForSchedule(_.id),isMobile:i,onClose:()=>g(null),onDeleted:()=>{g(null),o.refetch()}}):null,k=D??O,A=(e,t)=>t&&!i?(0,G.jsx)(m,{className:`min-h-0 flex-1`,storageKey:`homeDetailDrawerWidth`,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:e}),right:t}):e,j=(0,G.jsx)(Dt,{recurring:o.recurring,oneTime:o.oneTime,usageForSchedule:o.usageForSchedule,isLoading:o.isLoading,isError:o.isError,refetch:o.refetch,onToggle:o.handleToggle,onSelectSchedule:v,selectedScheduleId:h,onStartNewChat:n,onCreateSchedule:()=>c(!0)}),ee=(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[a.isError?(0,G.jsxs)(`div`,{role:`alert`,className:`rounded-md border border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] px-[var(--app-spacing-lg)] py-[var(--app-spacing-md)] text-[var(--system-negative-strong)]`,children:[`Couldn't load home feed`,a.error instanceof Error?`: ${a.error.message}`:`.`]}):null,(0,G.jsx)(en,{items:a.data?.items??[],selectedItemId:d?.id,validConversationIds:t,onSelectItem:y,onDismissItem:x,onRestoreItem:S,onToggleRead:C,onGoToThread:w})]}),te=(0,G.jsxs)(p.Root,{value:l,onValueChange:e=>u(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(p.List,{className:`shrink-0`,children:[(0,G.jsx)(p.Trigger,{value:`schedules`,children:`Schedules`}),(0,G.jsx)(p.Trigger,{value:`notifications`,children:`Notifications`})]}),(0,G.jsx)(p.Panel,{value:`schedules`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:A(j,O)}),(0,G.jsx)(p.Panel,{value:`notifications`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:A(ee,D)})]}),ne=a.isLoading?(0,G.jsx)(an,{}):(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[i?null:(0,G.jsx)(tn,{}),te]});return k&&i?(0,G.jsx)(`div`,{className:`fixed inset-0 z-30 bg-[var(--surface-overlay)]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`},children:k}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ne,{children:ne}),(0,G.jsx)(ot,{isOpen:s,assistantId:e,onClose:()=>c(!1),onCreated:()=>{c(!1),o.refetch()}})]})}function cn(){let e=r(),t=Ae(),n=pe.use.setTopBarCenter(),i=oe(),{conversations:a}=ve(t),{conversations:o}=De(t,!0),{conversations:s}=Ce(t,!0),c=(0,V.useMemo)(()=>new Set(ge(a,o,s).map(e=>e.conversationId)),[a,o,s]);return(0,V.useEffect)(()=>(n(i?(0,G.jsx)(u,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{n(null)}),[i,n]),(0,G.jsx)(sn,{assistantId:t,validConversationIds:c,onStartNewChat:()=>{ue.getState().setMainView(`chat`);let t=ye();de.getState().setActiveConversationId(t),e(F.conversation(t)),he()},onOpenConversation:t=>e(F.conversation(t))})}export{cn as HomePageRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./button-CHADMNBN.js";import{A as o,j as s,n as c}from"./resolved-assistants-store-BTvVAnMH.js";import{t as l}from"./is-electron-CavSPgmY.js";import{r as u}from"./auth-store-waC7X7ya.js";import{a as d,r as f}from"./routes-DLEaIDYY.js";import{t as p}from"./client-feature-flag-store-lWvUd78D.js";import{Ea as m,Ka as h,fa as g}from"./index-BKOx2d-L.js";import{t as _}from"./onboarding-layout-Ckbaim4E.js";import{r as v}from"./provider-key-D3ikycIK.js";import{t as y}from"./use-onboarding-login-DSd1eko2.js";var b=e(t(),1),x=i(),S=`h-5 w-5 shrink-0 text-[var(--content-secondary)]`;function C(){let e=u(),t=p.use.multiPlatformAssistant(),n=c.use.assistants().some(e=>e.isPlatformHosted);return[{mode:`vellum-cloud`,label:`Vellum Cloud`,subtitle:`Always on, 24/7, even when your computer is off. Runs on Vellum's secure infrastructure.`,icon:(0,x.jsx)(h,{className:S}),...!e||!t&&n?{disabled:!0,badge:e?`Limit Reached`:`Requires Account`}:{}},{mode:`local`,label:`Local`,subtitle:`Runs directly on your machine. Your data never leaves your computer.`,icon:(0,x.jsx)(m,{className:S})},{mode:`docker`,label:`Docker`,subtitle:`Same privacy as local, but sandboxed using Docker for added isolation.`,icon:(0,x.jsx)(g,{className:S})}]}function w(){let e=n(),[t]=r(),i=t.get(`from`)===`select-assistant`,c=u(),p=l(),m=C(),h=m.find(e=>e.mode===`vellum-cloud`)?.disabled,[g,S]=(0,b.useState)(c&&!h?`vellum-cloud`:`local`);(0,b.useEffect)(()=>{h&&g===`vellum-cloud`&&S(`local`)},[h,g]);let{loading:w,error:E,login:D,cancel:O}=y(`${d.onboarding.hosting}?from=select-assistant`),k=i&&!c&&!p;return(0,x.jsx)(_,{children:(0,x.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,x.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Where do you want your assistant to live?`}),E&&(0,x.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:E}),(0,x.jsx)(`div`,{className:`grid w-full ${p?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:m.map(e=>(0,x.jsx)(T,{option:e,selected:g===e.mode,onSelect:()=>{e.disabled||S(e.mode)}},e.mode))}),(0,x.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,x.jsx)(a,{variant:`primary`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{g===`vellum-cloud`?(s(),o(null),v(null),e(d.onboarding.privacy)):e(`${d.onboarding.apiKey}?hosting=${g}`)},children:`Continue`}),k&&(0,x.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:w?O:()=>void D(),children:w?`Cancel`:`Log In`}),(0,x.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{e(i?d.selectAssistant:d.welcome)},disabled:w,children:`Back`})]}),(0,x.jsx)(`a`,{href:f(d.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`prechat-md-regular mt-6 text-body-medium-default text-[var(--content-default)] underline`,style:{animation:`fadeInUp 0.5s ease-out 0.6s both`},children:`Need help choosing?`})]})})}function T({option:e,selected:t,onSelect:n}){let r=l();return(0,x.jsxs)(`button`,{type:`button`,onClick:n,disabled:e.disabled,className:`flex w-full items-center border text-left transition-colors ${r?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-xl px-4 py-4`} ${e.disabled?`cursor-not-allowed opacity-60`:`cursor-pointer`} ${t&&!e.disabled?`${r?`border-[var(--primary-base)]/50`:`border-[var(--primary-base)]`} bg-[var(--primary-base)]/5`:`${r?`border-[var(--border-disabled)]`:`border-[var(--border-element)]`} bg-transparent`}`,children:[e.icon,(0,x.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.badge&&(0,x.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${r?`text-label-medium-default`:`text-body-small-default`}`,children:e.badge})]}),(0,x.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${r?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),!e.disabled&&(0,x.jsx)(`div`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${r?`border-[1.5px]`:`border-2`} ${t?r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--primary-base)]`:`border-[var(--border-element)]`}`,children:t&&(0,x.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full ${r?`bg-[var(--aux-white)]`:`bg-[var(--primary-base)]`}`})})]})}export{w as HostingScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dze4ISSQ.js";import{t as n}from"./react-DJZBPgpf.js";import{T as r}from"./portal-container-DIXEBWUe.js";import{d as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./useMutation-Lj4VunQV.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{t as l}from"./button-CHADMNBN.js";import{t as u}from"./card-CL5iEMJO.js";import"./src-DOuqBUBT.js";import{t as d}from"./confirm-dialog-M0xuyGF3.js";import{n as f,s as p,t as m}from"./install-d5tDxfg0.js";import{t as h}from"./chevron-left-CHId86dZ.js";import{t as g}from"./chevron-right-C0jZwqbo.js";import{n as _,t as v}from"./minimize-2-BLdsBpLn.js";import{t as y}from"./pencil-B3bs98KV.js";import{t as b}from"./save-B0FEX-GY.js";import{t as x}from"./x-Df0EF2EP.js";import{J as S,ht as C,q as w}from"./react-query.gen-CawmQR-A.js";import{r as T}from"./api-BIzaqOVi.js";import{a as E}from"./routes-DLEaIDYY.js";import{t as D}from"./viewer-store-4gKEarK-.js";import{t as O}from"./conversation-store-WsKQTo9S.js";import{t as k}from"./misc-F3kQrahv.js";import{t as A}from"./proxy-DEUrefJ_.js";import{$ as ee,$i as j,Ai as M,Ar as N,Di as te,Dr as P,Fa as F,Mr as I,Oi as ne,Or as L,S as R,Ua as re,Ui as ie,Z as z,er as ae,jr as oe,ka as se,ki as ce}from"./index-BKOx2d-L.js";import{t as B}from"./use-active-assistant-id-Bdecq9LQ.js";var le=e(r(),1),V=e(n(),1),H=c();function U(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function W({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,V.useState)(null),[o,s]=(0,V.useState)(!0),[c,l]=(0,V.useState)(!1),u=(0,V.useRef)(null),[d,f]=(0,V.useState)(0),[p,m]=(0,V.useState)(0),[h,g]=(0,V.useState)(0);(0,V.useEffect)(()=>{if(u.current===e)return;let n=!1;return L(e).then(r=>{if(!n&&(u.current=e,a(r),s(!1),r&&t)){let e=r.bodyShapes.findIndex(e=>e.id===t.bodyShape),n=r.eyeStyles.findIndex(e=>e.id===t.eyeStyle),i=r.colors.findIndex(e=>e.id===t.color);e>=0&&f(e),n>=0&&m(n),i>=0&&g(i)}}),()=>{n=!0}},[e,t]);let _=(0,V.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),m(Math.floor(Math.random()*i.eyeStyles.length)),g(Math.floor(Math.random()*i.colors.length)))},[i]),v=(0,V.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[p].id,color:i.colors[h].id};l(!0);try{await N(e,t),n?.(t)}finally{l(!1)}},[i,d,p,h,e,n]);if(o)return(0,H.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,H.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})});if(!i)return(0,H.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`});let y=i.bodyShapes[d],S=i.eyeStyles[p],C=i.colors[h];return(0,H.jsxs)(`div`,{className:`space-y-6`,children:[(0,H.jsx)(`div`,{className:`flex justify-center`,children:(0,H.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,H.jsx)(R,{components:i,bodyShapeId:y.id,eyeStyleId:S.id,colorId:C.id,size:160})})}),(0,H.jsxs)(`div`,{className:`space-y-3`,children:[(0,H.jsx)(G,{label:`Body`,value:y.id,onPrev:()=>f(U(d,i.bodyShapes.length,`backward`)),onNext:()=>f(U(d,i.bodyShapes.length,`forward`))}),(0,H.jsx)(G,{label:`Eyes`,value:S.id,onPrev:()=>m(U(p,i.eyeStyles.length,`backward`)),onNext:()=>m(U(p,i.eyeStyles.length,`forward`))}),(0,H.jsx)(G,{label:`Color`,value:C.id,colorHex:C.hex,onPrev:()=>g(U(h,i.colors.length,`backward`)),onNext:()=>g(U(h,i.colors.length,`forward`))})]}),(0,H.jsxs)(`div`,{className:`flex gap-2`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:_,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,H.jsx)(re,{className:`h-4 w-4`}),`Randomize`]}),(0,H.jsxs)(`button`,{type:`button`,onClick:v,disabled:c,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] px-3 py-2 text-body-medium-default text-[var(--system-positive-strong)] transition-colors hover:opacity-90 disabled:opacity-50`,children:[(0,H.jsx)(b,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,H.jsx)(`button`,{type:`button`,onClick:r,className:`flex cursor-pointer items-center justify-center rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,H.jsx)(x,{className:`h-4 w-4`})})]})]})}function G({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,H.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,H.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,H.jsx)(h,{className:`h-4 w-4`})}),(0,H.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,H.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,H.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,H.jsx)(`button`,{type:`button`,onClick:i,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,H.jsx)(g,{className:`h-4 w-4`})})]})]})}function ue({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,V.useId)(),u=(0,V.useRef)(null),d=(0,V.useRef)(null),f=(0,V.useRef)(null),[p,m]=(0,V.useState)(`actions`),[_,v]=(0,V.useState)(!1);(0,V.useEffect)(()=>{e&&d.current?.focus()},[e]),(0,V.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let y=(0,V.useCallback)(()=>{m(`actions`),t()},[t]),b=(0,V.useCallback)(e=>{e.key===`Escape`&&(p===`character-builder`?m(`actions`):y())},[y,p]),S=(0,V.useCallback)(e=>{e.target===u.current&&y()},[y]),C=(0,V.useCallback)(()=>{m(`actions`)},[]),w=(0,V.useCallback)(()=>{m(`character-builder`)},[]),T=(0,V.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await oe(n,t);v(!1),r&&(s(),y()),f.current&&(f.current.value=``)},[n,s,y]),E=(0,V.useCallback)(()=>{f.current?.click()},[]),D=(0,V.useCallback)(()=>{y(),c?.()},[y,c]),O=(0,V.useCallback)(e=>{o(e),y()},[o,y]);return e?(0,le.createPortal)((0,H.jsxs)(`div`,{ref:u,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:b,onClick:S,children:[(0,H.jsxs)(`div`,{className:`mx-4 flex w-full max-w-md flex-col rounded-xl border shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`85vh`},children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p===`character-builder`&&(0,H.jsx)(`button`,{type:`button`,onClick:C,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Back`,children:(0,H.jsx)(h,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,H.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:p===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,H.jsx)(`button`,{ref:d,type:`button`,onClick:y,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Close`,children:(0,H.jsx)(x,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,H.jsx)(`div`,{className:`overflow-y-auto p-6`,children:p===`actions`?(0,H.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,H.jsx)(z,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,H.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:w,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,H.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,H.jsx)(M,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,H.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,H.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,H.jsxs)(`button`,{type:`button`,onClick:E,disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,H.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,H.jsx)(se,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,H.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,H.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,H.jsxs)(`button`,{type:`button`,onClick:D,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,H.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,H.jsx)(ie,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,H.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,H.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,H.jsx)(W,{assistantId:n,initialTraits:i,onSave:O,onCancel:C})})]}),(0,H.jsx)(`input`,{ref:f,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:T})]}),document.body):null}var de={displayName:`Other`,color:`#888`,emoji:`?`},fe={email:{displayName:`Email`,color:`#A665C9`,emoji:`📧`},calendar:{displayName:`Calendar`,color:`#0E9B8B`,emoji:`📅`},messaging:{displayName:`Messaging`,color:`#6B8AE0`,emoji:`💬`},browsing:{displayName:`Browsing`,color:`#E9642F`,emoji:`🌐`},productivity:{displayName:`Productivity`,color:`#0E9B8B`,emoji:`📋`},development:{displayName:`Development`,color:`#EF4400`,emoji:`🔨`},voice:{displayName:`Voice`,color:`#DB4B77`,emoji:`🎤`},commerce:{displayName:`Commerce`,color:`#E9C91A`,emoji:`🛒`},content:{displayName:`Content`,color:`#DB4B77`,emoji:`🎨`},health:{displayName:`Health`,color:`#4C9B50`,emoji:`❤️`},system:{displayName:`System`,color:`#8D99A5`,emoji:`⚙️`},integrations:{displayName:`Integrations`,color:`#8D99A5`,emoji:`🔗`}};function K(e){return fe[e]??de}var q=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],pe={email:[{label:`Sending`,emoji:`📨`,skillIds:new Set([`agentmail`,`email-setup`])},{label:`Reading`,emoji:`📬`,skillIds:new Set([`email-channel`,`gmail`])}],messaging:[{label:`Chat`,emoji:`💬`,skillIds:new Set([`messaging`,`slack`,`telegram`])},{label:`Notifications`,emoji:`🔔`,skillIds:new Set([`notifications`])},{label:`People`,emoji:`👥`,skillIds:new Set([`contacts`,`followups`])}],development:[{label:`Coding`,emoji:`💻`,skillIds:new Set([`typescript-eval`,`frontend-design`])},{label:`Dev Tools`,emoji:`🔧`,skillIds:new Set([`api-mapping`,`cli-discover`,`subagent`,`app-builder`])}],browsing:[{label:`Control`,emoji:`🎮`,skillIds:new Set([`computer-use`,`macos-automation`,`browser`])},{label:`Triggers`,emoji:`⏰`,skillIds:new Set([`watcher`,`time-based-actions`])}],commerce:[{label:`Shopping`,emoji:`🛒`,skillIds:new Set([`amazon`,`doordash`,`restaurant-reservation`])}],system:[{label:`Core`,emoji:`🧠`,skillIds:new Set([`knowledge-graph`,`skills-catalog`,`self-upgrade`])},{label:`Daily`,emoji:`☀️`,skillIds:new Set([`start-the-day`,`weather`])}]},me=14,he=10,ge=6;function _e(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:me};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:he};case`skill`:return{shape:`diamond`,size:64,cornerRadius:ge}}}function ve(e,t,n,r){let i=Math.min(Math.max(0,t),e),a=Math.abs(n),o=Math.abs(r);if(a<1e-6&&o<1e-6)return e;let s=e/Math.max(a,o),c=s*n,l=s*r;if(!(Math.abs(c)>e-i&&Math.abs(l)>e-i))return s;let u=Math.sign(c)*(e-i),d=Math.sign(l)*(e-i),f=n*u+r*d,p=u*u+d*d-i*i,m=f*f-p;return m<0?s:f+Math.sqrt(m)}function ye(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return ve(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return ve(e.size/2,e.cornerRadius,r,i)}}}function be(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);if(i<1e-6)return{x1:e.x,y1:e.y,x2:t.x,y2:t.y};let a=n/i,o=r/i,s=Math.max(0,ye(_e(e),a,o)-3),c=Math.max(0,ye(_e(t),-a,-o)-3);if(s+c>=i){let n=(e.x+t.x)/2,r=(e.y+t.y)/2;return{x1:n,y1:r,x2:n,y2:r}}return{x1:e.x+a*s,y1:e.y+o*s,x2:t.x-a*c,y2:t.y-o*c}}var xe=10,Se=200,Ce=160,J=160;function Y(e,t,n,r){let i={x:e.x,y:e.y};for(let e=0;e<30;e++){let e=0,a=0,o=0;for(let s of n){let n=i.x-s.x,c=i.y-s.y,l=Math.sqrt(n*n+c*c),u=t+s.radius+r-l;u>e&&(e=u,l<.1?(a=u+1,o=0):(a=n/l*(u+1),o=c/l*(u+1)))}if(e<=0)break;i={x:i.x+a,y:i.y+o}}return i}function X(e,t,n,r,i,a,o,s,c,l,u,d){if(e.length===0)return;let f=a+o,p=Math.cos(r),m=Math.sin(r),h=-m,g=p,_=f*.88,v=K(c).color;e.forEach((r,c)=>{let y=Math.floor(c/3),b=c%3,x=Math.min(3,e.length-y*3),S=(b-(x-1)/2)*f,C=y%2==1&&x<3?f*.5:0,w=i+y*_,T=Y({x:n.x+w*p+(S+C)*h,y:n.y+w*m+(S+C)*g},a/2,u,o);u.push({id:r.id,kind:{type:`skill`,item:r},parentId:t,depth:s,x:T.x,y:T.y,radius:a/2}),d.push({id:`edge-${l}-skill-${c}`,fromId:t,toId:r.id,color:v})})}function we(e,t,n=90){let r=[],i=[],a=xe;if(r.push({id:`__center__`,kind:{type:`center`},parentId:null,depth:0,x:e.x,y:e.y,radius:n/2}),t.length===0)return{nodes:r,edges:i};let o=t.length,s=2*Math.PI/o;return t.forEach((t,n)=>{let o=-Math.PI/2+n*s,c=`cat-${t.category}`,l=K(t.category).color,u=Y({x:e.x+Se*Math.cos(o),y:e.y+Se*Math.sin(o)},80/2,r,a);r.push({id:c,kind:{type:`category`,category:t.category},parentId:`__center__`,depth:1,x:u.x,y:u.y,radius:80/2}),i.push({id:`edge-center-${t.category}`,fromId:`__center__`,toId:c,color:l});let d=pe[t.category];if(d&&d.length>0){let e=[],n=new Set;for(let r of d){let i=t.items.filter(e=>r.skillIds.has(e.id));i.length>0&&(e.push({def:r,items:i}),i.forEach(e=>n.add(e.id)))}let f=t.items.filter(e=>!n.has(e.id));if(f.length>0){if(e.length===0){X(t.items,c,u,o,J,64,a,2,t.category,t.category,r,i);return}let n=e[e.length-1];n&&n.items.push(...f)}let p=e.length,m=s*.55,h=p<=1?0:Math.min(m,(p-1)*.35);e.forEach((e,n)=>{let s;s=p===1?o:o+(n/(p-1)-.5)*h*2;let d=`subcat-${t.category}-${n}`,f=Y({x:u.x+Ce*Math.cos(s),y:u.y+Ce*Math.sin(s)},56/2,r,a);r.push({id:d,kind:{type:`subCategory`,label:e.def.label,emoji:e.def.emoji,category:t.category},parentId:c,depth:2,x:f.x,y:f.y,radius:56/2}),i.push({id:`edge-${t.category}-sub-${n}`,fromId:c,toId:d,color:l}),X(e.items,d,f,s,J,64,a,3,t.category,d,r,i)})}else X(t.items,c,u,o,J,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Te(e){let t=new Map;for(let n of e){let e=t.get(n.category);e?e.push(n):t.set(n.category,[n])}let n=[];for(let e of q){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!q.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function Ee(e,t,n,r,i=120,a=.4,o=3){if(e.length===0)return{zoom:1,panX:0,panY:0};let s=1/0,c=-1/0,l=1/0,u=-1/0;for(let t of e)s=Math.min(s,t.x),c=Math.max(c,t.x),l=Math.min(l,t.y),u=Math.max(u,t.y);let d=c-s+i*2,f=u-l+i*2;if(d<=0||f<=0||n<=0||r<=0)return{zoom:1,panX:0,panY:0};let p=Math.min(n/d,r/f),m=Math.max(a,Math.min(o,p)),h=(s+c)/2-t.x,g=(l+u)/2-t.y;return{zoom:m,panX:-h*m,panY:-g*m}}var De=.4,Oe=.25,Z={x:600,y:450},ke={type:`spring`,stiffness:180,damping:20},Ae={category:{size:80,cornerRadius:14,dashed:!1,fillPct:14,fillHoverPct:25,strokePct:55,strokeHoverPct:85,strokeWidth:2,strokeHoverWidth:2.5},subcategory:{size:56,cornerRadius:10,dashed:!0,fillPct:10,fillHoverPct:20,strokePct:40,strokeHoverPct:70,strokeWidth:1.5,strokeHoverWidth:2}},je={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`};function Me({edges:e,nodeById:t,visible:n}){return(0,H.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 h-full w-full overflow-visible`,children:e.map(e=>{let r=t.get(e.fromId),i=t.get(e.toId);if(!r||!i)return null;let{x1:a,y1:o,x2:s,y2:c}=be(r,i);return(0,H.jsx)(`line`,{x1:a,y1:o,x2:s,y2:c,stroke:e.color,strokeWidth:1.5,opacity:n?.45:0,style:{transition:`opacity 0.4s ease`}},e.id)})})}function Q({shape:e,label:t}){return(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,H.jsx)(`span`,{className:k(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,je[e])})}),(0,H.jsx)(`span`,{children:t})]})}function Ne({visible:e}){return(0,H.jsx)(`div`,{"data-constellation-control":!0,className:`pointer-events-none absolute bottom-4 left-4 rounded-md px-3 py-2 text-body-small-default`,style:{backgroundColor:`color-mix(in srgb, var(--surface-overlay) 80%, transparent)`,border:`1px solid color-mix(in srgb, var(--content-tertiary) 20%, transparent)`,color:`var(--content-secondary)`,opacity:+!!e,transition:`opacity 0.35s ease`},children:(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(Q,{shape:`category`,label:`Category`}),(0,H.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,H.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,H.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function Pe({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,i=e.kind===`skill`?ce:F;return(0,H.jsxs)(u,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,H.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-body-small-emphasised text-[var(--content-default)]`,style:{backgroundColor:`${t}33`},children:[(0,H.jsx)(i,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,H.jsx)(l,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,H.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,H.jsx)(p,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,H.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function Fe({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,V.useRef)(null);return(0,V.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,V.useCallback)(i=>{r.current&&=(clearTimeout(r.current),null),e&&i.detail===1&&(r.current=setTimeout(()=>{r.current=null,e()},n)),t&&i.detail>=2&&i.detail%2==0&&t()},[e,t,n])}function Ie(e,t,n){let[r,i]=(0,V.useState)(!1),a=r||n===!0,o=Fe({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,V.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,V.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,V.useCallback)(()=>i(!0),[]),onMouseLeave:(0,V.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function Le(e,t){switch(e.kind.type){case`center`:return{visible:t>=1};case`category`:return{visible:t>=2};case`subCategory`:return{visible:t>=3};case`skill`:return{visible:t>=4}}}function Re(e,t){switch(e.kind.type){case`center`:return .05;case`category`:return t*.04;case`subCategory`:return t*.03;case`skill`:return .08+t*.02}}function ze(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=K(e.kind.category);return{id:e.id,label:t.displayName,emoji:t.emoji,category:e.kind.category,kind:`workspaceFile`}}case`subCategory`:return{id:e.id,label:e.kind.label,emoji:e.kind.emoji,category:e.kind.category,kind:`workspaceFile`};default:return}}function Be({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Ae[e],{active:f,...p}=Ie(l,u,c),m={left:t-d.size/2,top:n-d.size/2,width:d.size,height:d.size,borderRadius:d.cornerRadius,backgroundColor:$(r,f?d.fillHoverPct:d.fillPct),borderStyle:d.dashed?`dashed`:`solid`,borderColor:$(r,f?d.strokeHoverPct:d.strokePct),borderWidth:f?d.strokeHoverWidth:d.strokeWidth,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`,cursor:l||u?`pointer`:`default`};return(0,H.jsx)(A.div,{className:`pointer-events-auto absolute flex flex-col items-center justify-center`,"data-constellation-node":!0,style:m,initial:{opacity:0,scale:.3},animate:{opacity:+!!a.visible,scale:a.visible?1:.3},transition:{...ke,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function Ve({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=Ie(c,l,s);return(0,H.jsxs)(A.div,{className:`pointer-events-auto absolute`,"data-constellation-node":!0,style:{left:e-64/2,top:t-64/2,width:64,height:64,cursor:c||l?`pointer`:`default`},initial:{opacity:0,scale:.4},animate:{opacity:+!!a.visible,scale:a.visible?1:.4},transition:{...ke,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,H.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0 rounded-md`,style:{transform:`rotate(45deg)`,backgroundColor:$(r,u?20:10),border:`${u?2:1.5}px solid ${$(r,u?70:40)}`,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`}}),(0,H.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,H.jsx)(p,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,H.jsx)(`span`,{className:`mt-0.5 max-w-[42px] truncate text-[9px] font-medium leading-tight text-[var(--content-default)]`,title:n.label,children:n.label})]})]})}function He({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=Le(e,n),u=Re(e,t);if(e.kind.type===`center`)return(0,H.jsx)(A.div,{className:`pointer-events-none absolute`,style:{left:e.x-90/2,top:e.y-90/2,width:90,height:90},initial:{opacity:0,scale:.6},animate:{opacity:+!!l.visible,scale:l.visible?1:.6},transition:{...ke,delay:u},children:(0,H.jsx)(z,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=K(e.kind.category),n=e.kind.type===`category`?`category`:`subcategory`,r=e.kind.type===`category`?t.emoji:e.kind.emoji,i=e.kind.type===`category`?t.displayName:e.kind.label,a=n===`category`?`text-[20px]`:`text-[14px]`,d=n===`category`?`mt-1 max-w-[85%] truncate text-label-medium-default leading-tight text-[var(--content-default)]`:`mt-0.5 max-w-[85%] truncate text-[9.5px] font-medium leading-tight text-[var(--content-default)]`;return(0,H.jsxs)(Be,{variant:n,x:e.x,y:e.y,color:t.color,tooltip:i,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c,children:[(0,H.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,H.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=K(t.category);return(0,H.jsx)(Ve,{x:e.x,y:e.y,item:t,color:n.color,fallbackEmoji:n.emoji,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c})}return null}function Ue(e,t,n,r){let[i,a]=(0,V.useState)({width:0,height:0}),[o,s]=(0,V.useState)(null),[c,l]=(0,V.useState)(null),[u,d]=(0,V.useState)(!1),[f,p]=(0,V.useState)(null),[m,h]=(0,V.useState)(!1),g=(0,V.useRef)(null),_=(0,V.useRef)(null);(0,V.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;a({width:e,height:n})}});n.observe(t);let r=t.getBoundingClientRect();return a({width:r.width,height:r.height}),()=>n.disconnect()},[e]);let v=(0,V.useMemo)(()=>Ee(t,Z,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,V.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,V.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,V.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,V.useCallback)((e,t)=>{let n=Math.max(De,Math.min(3,e));if(n===y)return;let r=n/y;l({x:b.x*r,y:b.y*r}),s(n),p(null),t?.animate&&x()},[b.x,b.y,x,y]),w=(0,V.useCallback)(()=>{C(y+Oe,{animate:!0})},[C,y]),T=(0,V.useCallback)(()=>{C(y-Oe,{animate:!0})},[C,y]),E=(0,V.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Z.x-t.x)*r,y:(Z.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,V.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.preventDefault();let t=e.ctrlKey||e.metaKey?150:400;C(y*(1+-e.deltaY/t))};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[C,e,y]),{zoom:y,pan:b,isDragging:u,isAnimating:m,viewSize:i,zoomedNodeId:f,zoomIn:w,zoomOut:T,fitAll:S,zoomToNode:E,handlePointerDown:(0,V.useCallback)(e=>{if(e.button!==0)return;let t=e.target;t.closest(`[data-constellation-control]`)||(t.closest(`[data-constellation-node]`)||r?.(),_.current={startX:e.clientX,startY:e.clientY,panStartX:b.x,panStartY:b.y,pointerId:e.pointerId,moved:!1},d(!0),g.current!=null&&(window.clearTimeout(g.current),g.current=null),h(!1),e.currentTarget.setPointerCapture(e.pointerId))},[r,b.x,b.y]),handlePointerMove:(0,V.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;!t.moved&&(Math.abs(n)>3||Math.abs(r)>3)&&(t.moved=!0,p(null)),l({x:t.panStartX+n,y:t.panStartY+r})},[]),handlePointerUp:(0,V.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function We({skills:e,components:t,traits:n,customImageUrl:r,className:i,isFullscreen:a,onToggleFullscreen:o,onSelectSkill:s}){let c=(0,V.useRef)(null),u=(0,V.useRef)(null),[d,f]=(0,V.useState)(0),[p,m]=(0,V.useState)(null),[h,g]=(0,V.useState)({width:240,height:120}),{nodes:y,edges:b}=(0,V.useMemo)(()=>we(Z,Te(e.map(e=>({id:e.id,label:e.name,icon:e.icon,emoji:e.emoji,category:e.category??`system`,description:e.description,kind:`skill`}))),90),[e]),x=(0,V.useMemo)(()=>{let e=new Map;for(let t of y)e.set(t.id,t);return e},[y]),S=(0,V.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?ze(e)??null:null},[p,x]),C=(0,V.useCallback)(()=>{m(null)},[]),w=Ue(c,y,x,C),T=e.length;(0,V.useEffect)(()=>{let e=!1,t=t=>{e||f(t)};t(0);let n=[setTimeout(()=>t(1),100),setTimeout(()=>t(2),300),setTimeout(()=>t(3),500),setTimeout(()=>t(4),700)];return()=>{e=!0,n.forEach(clearTimeout)}},[T]);let E=(0,V.useCallback)(e=>{m(t=>t===e?null:e)},[]),D=(0,V.useCallback)(()=>{!S||S.kind!==`skill`||(C(),s?.(S.id))},[C,s,S]);(0,V.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,V.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();g({width:t.width,height:t.height})},[S]);let O={x:w.viewSize.width/2,y:w.viewSize.height/2},k=O.x-Z.x*w.zoom+w.pan.x,M=O.y-Z.y*w.zoom+w.pan.y,N=p==null?void 0:x.get(p),P=0,F=0;if(S!=null&&N){let e=k+N.x*w.zoom,t=M+N.y*w.zoom,n=e,r=t-60,i=h.width/2,a=h.height/2,o=i+8,s=Math.max(o,w.viewSize.width-i-8),c=a+8,l=Math.max(c,w.viewSize.height-a-8);P=Math.min(Math.max(n,o),s),F=Math.min(Math.max(r,c),l)}let I=(0,V.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,H.jsxs)(`div`,{ref:c,className:`relative select-none overflow-hidden rounded-xl ${i??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle, color-mix(in srgb, var(--content-tertiary) 20%, transparent) 1px, transparent 1px)`,backgroundSize:`24px 24px`,backgroundPosition:`12px 12px`,touchAction:`none`,cursor:w.isDragging?`grabbing`:`grab`,userSelect:`none`,WebkitUserSelect:`none`},onPointerDown:w.handlePointerDown,onPointerMove:w.handlePointerMove,onPointerUp:w.handlePointerUp,onPointerCancel:w.handlePointerUp,children:[(0,H.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 6%, transparent), transparent 60%)`}}),(0,H.jsxs)(`div`,{className:`absolute inset-0`,style:{transform:`translate(${k}px, ${M}px) scale(${w.zoom})`,transformOrigin:`0 0`,transition:w.isAnimating?`transform 0.4s cubic-bezier(0.22, 1, 0.36, 1)`:`none`},children:[(0,H.jsx)(Me,{edges:b,nodeById:x,visible:d>=2}),y.map((e,i)=>(0,H.jsx)(He,{node:e,index:i,phase:d,components:t,traits:n,customImageUrl:r,isSelected:p===e.id||w.zoomedNodeId===e.id,onSingleClick:()=>E(e.id),onDoubleClick:()=>I(e.id)},e.id))]}),o&&(0,H.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,H.jsx)(l,{variant:`ghost`,iconOnly:a?(0,H.jsx)(v,{}):(0,H.jsx)(_,{}),onClick:o,"aria-label":a?`Exit fullscreen`:`Enter fullscreen`,tooltip:a?`Exit fullscreen`:`Enter fullscreen`})}),(0,H.jsx)(Ne,{visible:d>=4}),(0,H.jsx)(ee,{children:S==null?null:(0,H.jsx)(A.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:P,top:F,transform:`translate(-50%, -50%)`},initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:`easeOut`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,H.jsx)(Pe,{item:S,color:K(S.category).color,onViewDetails:s&&S.kind===`skill`?D:void 0})},`constellation-popover`)}),(0,H.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,H.jsx)(l,{variant:`ghost`,iconOnly:(0,H.jsx)(te,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,H.jsx)(l,{variant:`ghost`,iconOnly:(0,H.jsx)(ne,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,H.jsx)(l,{variant:`ghost`,iconOnly:(0,H.jsx)(j,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function Ge({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:i,traits:a,customImageUrl:o,onOpenThread:s,onOpenModal:c}){return(0,H.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,H.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,H.jsx)(`div`,{className:`pr-8 text-center`,children:(0,H.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,H.jsx)(l,{type:`button`,variant:`ghost`,iconOnly:(0,H.jsx)(y,{"aria-hidden":!0}),onClick:()=>s?.(`I would like to change your name`),disabled:!s,"aria-label":`Edit identity`,title:`Edit Name`,className:`absolute right-6 top-6`,tintColor:`var(--content-tertiary)`})]}),(0,H.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,H.jsx)(z,{components:i,traits:a,customImageUrl:o,size:200,interactive:!0})}),(0,H.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,H.jsx)(l,{type:`button`,variant:`outlined`,size:`regular`,onClick:c,className:`!rounded-full`,children:`Update Avatar`})}),(0,H.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,H.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,H.jsx)(l,{type:`button`,variant:`ghost`,iconOnly:(0,H.jsx)(y,{"aria-hidden":!0}),onClick:()=>s?.(`I would like to change your role description`),disabled:!s,"aria-label":`Edit role`,title:`Edit Role`,tintColor:`var(--content-tertiary)`})]}),(0,H.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,H.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,H.jsx)(l,{type:`button`,variant:`ghost`,iconOnly:(0,H.jsx)(y,{"aria-hidden":!0}),onClick:()=>s?.(`I would like to change your personality`),disabled:!s,"aria-label":`Edit personality`,title:`Edit Personality`,tintColor:`var(--content-tertiary)`})]}),(0,H.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,H.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,H.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Ke({assistantId:e,onOpenThread:n}){let r=a(),{components:i,traits:c,customImageUrl:l,isLoading:u,invalidate:p}=P(e),[h,g]=(0,V.useState)(null),[_,v]=(0,V.useState)(null),[y,b]=(0,V.useState)(null),[x,E]=(0,V.useState)(!1),[D,O]=(0,V.useState)(null),[k,A]=(0,V.useState)(null),[ee,j]=(0,V.useState)(null),[M,N]=(0,V.useState)(null);(0,V.useEffect)(()=>{let n=!1;return Promise.all([ae(e),T(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(g(t),r.ok?v(r.data.created):v(null),b(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let te=y!==e||u,[F,I]=(0,V.useState)(!1),ne=o({...w({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e}),L=(0,V.useMemo)(()=>ne.data??[],[ne.data]),R=(0,V.useCallback)(()=>{p()},[p]),re=(0,V.useCallback)(()=>{E(!0)},[]),ie=(0,V.useCallback)(()=>{E(!1)},[]),z=(0,V.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]),oe=(0,V.useCallback)(()=>{r.invalidateQueries({queryKey:S({path:{assistant_id:e}})})},[e,r]),se=s({mutationFn:t=>m(e,t),onMutate:e=>A(e),onSettled:()=>{A(null),oe()}}),ce=C({onMutate:e=>j(e.path.id),onSettled:()=>{j(null),oe()}}),B=(0,V.useCallback)(e=>{se.mutate(e.slug??e.id)},[se]),le=(0,V.useCallback)(e=>{N(e)},[]),U=(0,V.useCallback)(()=>{M&&(ce.mutate({path:{assistant_id:e,id:M.id}}),N(null))},[e,M,ce]),W=(0,V.useMemo)(()=>D?L.find(e=>e.id===D)??null:null,[L,D]),G=(0,H.jsx)(d,{open:M!==null,title:`Remove skill`,message:M?`Remove "${M.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:U,onCancel:()=>N(null)});if(W)return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(f,{assistantId:e,skill:W,onBack:()=>O(null),onInstall:()=>B(W),onRemove:()=>le(W),isInstalling:k===(W.slug??W.id),isRemoving:ee===W.id}),G]});if(te)return(0,H.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,H.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let de=h?.name||`Assistant`,fe=h?.personality||``,K=h?.role||`Not set`,q=_?new Date(_).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,H.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,H.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${F?`hidden`:`flex`}`,children:(0,H.jsx)(Ge,{assistantName:de,assistantPersonality:fe,assistantRole:K,hatchedDate:q,components:i,traits:c,customImageUrl:l,onOpenThread:n,onOpenModal:re})}),(0,H.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:(0,H.jsx)(We,{skills:L,components:i,traits:c,customImageUrl:l,className:`h-full w-full`,isFullscreen:F,onToggleFullscreen:()=>I(e=>!e),onSelectSkill:O})}),(0,H.jsx)(ue,{open:x,onClose:ie,assistantId:e,components:i,traits:c,customImageUrl:l,onSaveCharacter:R,onUploadImage:R,onGenerateWithAI:n?z:void 0}),G]})}function qe({onOpenThread:e}){return(0,H.jsx)(Ke,{assistantId:B(),onOpenThread:e})}function Je(){let e=i();return(0,H.jsx)(qe,{onOpenThread:t=>{D.getState().setMainView(`chat`);let n=I();O.getState().setActiveConversationId(n),e(`${E.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},B())}export{Je as IdentityPageRoute};