@vellumai/web 0.11.9-staging.1 → 0.11.9-staging.2

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 (162) hide show
  1. package/dist/assets/{a2a-invite-B9jqmgbB.js → a2a-invite-BmopEUuc.js} +1 -1
  2. package/dist/assets/{about-page-B9eULV1f.js → about-page-jeGmoRA9.js} +1 -1
  3. package/dist/assets/{account-page-CZSO-AlP.js → account-page-JdskrJ78.js} +1 -1
  4. package/dist/assets/{account-shell-DgHv1A1w.js → account-shell-pvaSOGcE.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-CNvbVyVw.js → acp-run-detail-panel-By-l4zoq.js} +1 -1
  6. package/dist/assets/{activity-redirect-page-CwgTPGTG.js → activity-redirect-page-BFBKktry.js} +1 -1
  7. package/dist/assets/{activity-steps-panel-zky0cnuk.js → activity-steps-panel-cif0uZ12.js} +1 -1
  8. package/dist/assets/{add-credits-modal-Dx0fdWm5.js → add-credits-modal-NBoCa1j3.js} +1 -1
  9. package/dist/assets/{ai-page-Czt1hbgM.js → ai-page-CS3Z6MrX.js} +1 -1
  10. package/dist/assets/{android-billing-handoff-BJxquTxv.js → android-billing-handoff-B8rC7eeV.js} +1 -1
  11. package/dist/assets/{api-key-screen-BIiNVLmB.js → api-key-screen-C2s4sMm1.js} +1 -1
  12. package/dist/assets/{app-info-DdWNjeN2.js → app-info-WxnSkFp1.js} +1 -1
  13. package/dist/assets/archive-redirect-page-B5G-WDp0.js +1 -0
  14. package/dist/assets/{assistant-status-panel-eeZDx5Ef.js → assistant-status-panel-qlWNpUbQ.js} +1 -1
  15. package/dist/assets/{auth-welcome-screen-B5i9VCDX.js → auth-welcome-screen-D20mVl5R.js} +1 -1
  16. package/dist/assets/{avatar-bundled-components-X6uhm3sR.js → avatar-bundled-components-Bdw589VI.js} +1 -1
  17. package/dist/assets/{avatar-random-mKQpdYRU.js → avatar-random-B3jE15Y7.js} +2 -2
  18. package/dist/assets/{await-org-header-settled-3RjHs2p_.js → await-org-header-settled-DcAqEzY1.js} +1 -1
  19. package/dist/assets/{background-task-detail-panel-D-5wO1mD.js → background-task-detail-panel-CXD0nKQP.js} +1 -1
  20. package/dist/assets/{billing-page-BEx67_Vu.js → billing-page-DjpHOzD6.js} +3 -3
  21. package/dist/assets/{billing-redirect-page-DGi9rWvB.js → billing-redirect-page-Ca7pWbvL.js} +1 -1
  22. package/dist/assets/{bookmarks-page-vDGPyme6.js → bookmarks-page-B4Bj_NZ1.js} +1 -1
  23. package/dist/assets/{bundle-confirm-page-CLqCqvDN.js → bundle-confirm-page-CjvXenWx.js} +1 -1
  24. package/dist/assets/{channel-transcript-panel-C4lFREze.js → channel-transcript-panel-Bupj5L4O.js} +1 -1
  25. package/dist/assets/{channels-page-route-Cb0pntjc.js → channels-page-route-CSFzQtEJ.js} +1 -1
  26. package/dist/assets/{checkout-continuation-B6h2u8bW.js → checkout-continuation-BBasTGr1.js} +1 -1
  27. package/dist/assets/{checkout-page-BOd355tP.js → checkout-page-QfqxmVX3.js} +1 -1
  28. package/dist/assets/checkout-return-target-DRW4Fb93.js +1 -0
  29. package/dist/assets/{command-palette-B64x_N5e.js → command-palette-CsWImGc1.js} +1 -1
  30. package/dist/assets/{command-palette-window-page-BnnVhvV6.js → command-palette-window-page-Dm2bWRPF.js} +1 -1
  31. package/dist/assets/{community-page-BqfWeHrB.js → community-page-DG_go-bx.js} +1 -1
  32. package/dist/assets/companion-accent-Dhs0VHm8.js +1 -0
  33. package/dist/assets/{companion-layout-BWgLSvze.js → companion-layout-CU_fQwBX.js} +1 -1
  34. package/dist/assets/companion-surface-page-CUmDLt1d.js +1 -0
  35. package/dist/assets/{companion-watch-glow-page-CQT0SvDE.js → companion-watch-glow-page-DPah9dl8.js} +1 -1
  36. package/dist/assets/{connect-page-BEb1oXUc.js → connect-page-BAugVlOG.js} +1 -1
  37. package/dist/assets/{consent-controls-B1AnYj9V.js → consent-controls-BBOL1pVX.js} +1 -1
  38. package/dist/assets/{contacts-gateway-Cqy42w-P.js → contacts-gateway-_5gWCO5M.js} +1 -1
  39. package/dist/assets/{contacts-page-route-1biY-ppa.js → contacts-page-route-cNZg-y2G.js} +1 -1
  40. package/dist/assets/{credential-entry-page-Dp8ZvJCL.js → credential-entry-page-CG0pMgbA.js} +1 -1
  41. package/dist/assets/{credentials-page-DWCvFFiI.js → credentials-page-D8hdCncX.js} +1 -1
  42. package/dist/assets/{csv-preview-DfcTYrC2.js → csv-preview-BZResk4J.js} +1 -1
  43. package/dist/assets/danger-zone-redirect-page-CwAiH6Ly.js +1 -0
  44. package/dist/assets/{debug-page-KIzcZW4r.js → debug-page-DuHowSZO.js} +1 -1
  45. package/dist/assets/{deploy-dialogs-CC6DQ0vu.js → deploy-dialogs-CXykRB7L.js} +1 -1
  46. package/dist/assets/{detail-card-BXhwux_c.js → detail-card-sxGt13nZ.js} +1 -1
  47. package/dist/assets/{detail-panel-stop-button-3gCSXBXB.js → detail-panel-stop-button-BhBUIYrN.js} +1 -1
  48. package/dist/assets/{developer-page-DWZTB0CS.js → developer-page-Xok7vdls.js} +1 -1
  49. package/dist/assets/devices-redirect-page-Bn8l0NbB.js +1 -0
  50. package/dist/assets/{dictation-overlay-page-C_LaA2sN.js → dictation-overlay-page-faR6ZD05.js} +1 -1
  51. package/dist/assets/{document-viewer-page-UQ_WQgfz.js → document-viewer-page-CICQK2iT.js} +1 -1
  52. package/dist/assets/{emails-page-DbvNvgv2.js → emails-page-ChkgqqfV.js} +1 -1
  53. package/dist/assets/{environment-store-Dkn0BKG2.js → environment-store-DbxWXxoY.js} +1 -1
  54. package/dist/assets/{file-editor-C7Um2GrG.js → file-editor-BcG_sR-r.js} +1 -1
  55. package/dist/assets/{general-page-CavuxYdx.js → general-page-BbkJBzvT.js} +1 -1
  56. package/dist/assets/{hatching-screen-ChUtQw8W.js → hatching-screen-jX7krI2v.js} +1 -1
  57. package/dist/assets/{hosting-screen-9TLoyimY.js → hosting-screen-BsNV_ReB.js} +1 -1
  58. package/dist/assets/{identity-page-route-D7W7YrE3.js → identity-page-route-aHYnV_jN.js} +1 -1
  59. package/dist/assets/index-BUt2OH6r.css +2 -0
  60. package/dist/assets/{index-BVVp210p.js → index-b_IQShc9.js} +9 -9
  61. package/dist/assets/{inspect-page-DbB0qA0t.js → inspect-page-HI841yUu.js} +3 -3
  62. package/dist/assets/{integrations-page-DfLlnJon.js → integrations-page-BmMDMgFU.js} +1 -1
  63. package/dist/assets/{intelligence-layout-CNhNn2l4.js → intelligence-layout-CLPUS0ap.js} +1 -1
  64. package/dist/assets/keyboard-shortcuts-redirect-page-DDGnWlyz.js +1 -0
  65. package/dist/assets/{latest-assistant-text-QBDnPUy-.js → latest-assistant-text-DAXhdhSY.js} +1 -1
  66. package/dist/assets/{library-detail-page-BzJfzbC3.js → library-detail-page-43KAFuJi.js} +1 -1
  67. package/dist/assets/{library-page-v3XsOgxI.js → library-page-CDLs7xOE.js} +1 -1
  68. package/dist/assets/{login-page-1BkkzrgT.js → login-page-GVnmapVt.js} +1 -1
  69. package/dist/assets/{logout-page-CnlDy9lt.js → logout-page-Bz-a8xjH.js} +1 -1
  70. package/dist/assets/{logs-layout-DDdSW282.js → logs-layout-_NfJqBwz.js} +1 -1
  71. package/dist/assets/{markdown-preview-DNH9WsbV.js → markdown-preview-c_WsdpT0.js} +1 -1
  72. package/dist/assets/{media-preview-BePTwtIU.js → media-preview-D7AavJf-.js} +1 -1
  73. package/dist/assets/{memory-page-route-BTPvwnHF.js → memory-page-route-Csfkb0fE.js} +1 -1
  74. package/dist/assets/{memory-router-playground-page-DQzcoSy8.js → memory-router-playground-page-B_TvYode.js} +1 -1
  75. package/dist/assets/{message-files-panel-BXc-fblZ.js → message-files-panel-Q_w3u4r6.js} +1 -1
  76. package/dist/assets/{metric-card-DxpIyY0z.js → metric-card-XbeSP_dF.js} +1 -1
  77. package/dist/assets/{notifications-page-BNgPGEQb.js → notifications-page-BCo_g_9g.js} +1 -1
  78. package/dist/assets/{oauth-complete-page-DqZtiKH-.js → oauth-complete-page-D0_ddx3s.js} +1 -1
  79. package/dist/assets/{oauth-popup-complete-page-BDfhFWci.js → oauth-popup-complete-page-DR-OaEn7.js} +1 -1
  80. package/dist/assets/{page-shell-Dlsn8wyt.js → page-shell-D1-wKbPX.js} +1 -1
  81. package/dist/assets/{pairing-page-CWoinj-Z.js → pairing-page-CFi0G2Xh.js} +1 -1
  82. package/dist/assets/password-reset-page-DdG-gDUR.js +1 -0
  83. package/dist/assets/{pdf-file-preview-CJ6geQeY.js → pdf-file-preview-QWR5YVZp.js} +1 -1
  84. package/dist/assets/{personality-page-C9p1PiOn.js → personality-page-D4oROOvq.js} +1 -1
  85. package/dist/assets/{plans-page-BNi_MgUe.js → plans-page-BAgmH1pe.js} +1 -1
  86. package/dist/assets/{platform-loopback-page-_NLrjsOR.js → platform-loopback-page-hfwG6N6r.js} +1 -1
  87. package/dist/assets/{plugin-detail-page-DIOu3ao3.js → plugin-detail-page-JFE-PjTL.js} +1 -1
  88. package/dist/assets/{plugins-page-LBod4Ue5.js → plugins-page-PjMDyM4p.js} +1 -1
  89. package/dist/assets/{preview-error-kO-J66Zv.js → preview-error-BLcNtS5K.js} +1 -1
  90. package/dist/assets/{privacy-page-CEt-Gr-k.js → privacy-page-BBlgcXb0.js} +1 -1
  91. package/dist/assets/{privacy-screen-Dr2tpwgO.js → privacy-screen-DMC-z5IT.js} +1 -1
  92. package/dist/assets/{provider-callback-page-aJ_6i4xK.js → provider-callback-page-CuAY1_4R.js} +1 -1
  93. package/dist/assets/{provider-key-PAmg3XjL.js → provider-key-CNHs7dwm.js} +1 -1
  94. package/dist/assets/{provider-signup-page-BCUoHgWf.js → provider-signup-page-DjNpFmgq.js} +1 -1
  95. package/dist/assets/{quick-input-page-C8AjTd-X.js → quick-input-page-CMM22KVb.js} +1 -1
  96. package/dist/assets/{research-mock-page-CGOcSvcT.js → research-mock-page-ClUeMeQm.js} +1 -1
  97. package/dist/assets/{research-onboarding-route-DBZhQhpw.js → research-onboarding-route-BCNagFK9.js} +1 -1
  98. package/dist/assets/{review-terms-screen-DsxPDq8C.js → review-terms-screen-LYu2oH8u.js} +1 -1
  99. package/dist/assets/{schedules-CiQRct_v.js → schedules-jQA-lEXD.js} +1 -1
  100. package/dist/assets/{schedules-page-DY4qoW1Q.js → schedules-page-y5DMdtSF.js} +1 -1
  101. package/dist/assets/security-redirect-page-Cso7bCn1.js +1 -0
  102. package/dist/assets/{select-assistant-screen-DY2bsToS.js → select-assistant-screen-DTrNJM_L.js} +1 -1
  103. package/dist/assets/{self-hosted-servers-Ck45Ce7U.js → self-hosted-servers-CE0-6fMf.js} +1 -1
  104. package/dist/assets/{service-form-controls-BrAek3O9.js → service-form-controls-CmKM2qps.js} +1 -1
  105. package/dist/assets/{setting-row-D7b4t29_.js → setting-row-JfvUWIUE.js} +1 -1
  106. package/dist/assets/{settings-divider-DOmdsd_b.js → settings-divider-BDaGinDZ.js} +1 -1
  107. package/dist/assets/{settings-layout-DyxqBBfM.js → settings-layout-BSPQuLG_.js} +1 -1
  108. package/dist/assets/{share-feedback-modal-DQkZsb9S.js → share-feedback-modal-C-9w9Qun.js} +1 -1
  109. package/dist/assets/{sidebar-tree-cUpG2j7M.js → sidebar-tree-B_7TxIfc.js} +1 -1
  110. package/dist/assets/{signup-page-BS3key1b.js → signup-page-Up3lhxjE.js} +1 -1
  111. package/dist/assets/{signup-shell-CJkXiLFK.js → signup-shell-Cz7nHsiG.js} +1 -1
  112. package/dist/assets/{skill-detail-page-Ctdu9URX.js → skill-detail-page-CcD41B-N.js} +1 -1
  113. package/dist/assets/{skill-detail-panel-pSGqD5fk.js → skill-detail-panel-COgbn-zN.js} +1 -1
  114. package/dist/assets/{skill-removal-dialog-BAZKh1bp.js → skill-removal-dialog-IZ80QFym.js} +1 -1
  115. package/dist/assets/{skills-page-C3fYc9yk.js → skills-page-9DYmyfOw.js} +1 -1
  116. package/dist/assets/{sounds-page-DzAbysBF.js → sounds-page-DzCV0GMu.js} +1 -1
  117. package/dist/assets/{start-screen-BZJCt4uO.js → start-screen-De2GtK4A.js} +1 -1
  118. package/dist/assets/{stt-language-picker-modal-3JHZ7KRr.js → stt-language-picker-modal-CLsnI2Yz.js} +1 -1
  119. package/dist/assets/{subagent-detail-panel-C-id-gz6.js → subagent-detail-panel-Bx-nrZRA.js} +1 -1
  120. package/dist/assets/{superpowers-page-ByqWgwxm.js → superpowers-page-BZXp-HPn.js} +1 -1
  121. package/dist/assets/{system-events-page-Drm8odGD.js → system-events-page-CdnLtW07.js} +1 -1
  122. package/dist/assets/system-events-redirect-page-8K7jp-vf.js +1 -0
  123. package/dist/assets/{text-preview-DQo_wIE1.js → text-preview-CzBwTE6l.js} +1 -1
  124. package/dist/assets/{theme-stage-page-BW7WXz7Y.js → theme-stage-page-DFM8cSRo.js} +1 -1
  125. package/dist/assets/{tiptap-document-editor-B5NBtP2i.js → tiptap-document-editor-DiMEXCfY.js} +1 -1
  126. package/dist/assets/{tool-detail-panel-s9N8-rpr.js → tool-detail-panel-C-r8dnRp.js} +1 -1
  127. package/dist/assets/{trait-cycle-row-DIN6r7YK.js → trait-cycle-row-C2Icx-67.js} +1 -1
  128. package/dist/assets/{upgrade-cancel-page-Dc8GuuuI.js → upgrade-cancel-page-Bi8uWXPd.js} +1 -1
  129. package/dist/assets/{upgrade-success-page-Ba2I2Zur.js → upgrade-success-page-BkEgh_vv.js} +1 -1
  130. package/dist/assets/{usage-redirect-page-zIF77c7V.js → usage-redirect-page-kNuqbUkh.js} +1 -1
  131. package/dist/assets/{use-assistant-identity-details-D9qdC7Cd.js → use-assistant-identity-details-BHiN3OAl.js} +1 -1
  132. package/dist/assets/{use-checkout-dismiss-refresh-BwscoYFU.js → use-checkout-dismiss-refresh-DOJD5kF-.js} +1 -1
  133. package/dist/assets/{use-edge-swipe-back-CJNLwmcm.js → use-edge-swipe-back-BO9Eg7fg.js} +2 -2
  134. package/dist/assets/{use-hotkey-recorder-BpZ2ce5P.js → use-hotkey-recorder-CSRkbNLq.js} +1 -1
  135. package/dist/assets/{use-invite-link-dialog-Ho7FM83m.js → use-invite-link-dialog-D8k7P63J.js} +1 -1
  136. package/dist/assets/{use-platform-assistant-id-CupaRcFg.js → use-platform-assistant-id-C6Npjvje.js} +1 -1
  137. package/dist/assets/{use-return-to-short-circuit-DrqtvQUp.js → use-return-to-short-circuit-qAmnQhhd.js} +1 -1
  138. package/dist/assets/{use-side-list-room-DT90pjIs.js → use-side-list-room-wi1Z0sax.js} +1 -1
  139. package/dist/assets/{use-skill-actions-tfxzxIKS.js → use-skill-actions-Cenw6B7x.js} +1 -1
  140. package/dist/assets/{use-skill-detail-files-CaKc2HWM.js → use-skill-detail-files-BMTlfXyu.js} +1 -1
  141. package/dist/assets/use-supports-credentials-settings-BbVrMmw2.js +1 -0
  142. package/dist/assets/use-transcript-message-by-id-BAc4xz_C.js +1 -0
  143. package/dist/assets/{voice-page-B9hAlvd7.js → voice-page-Cno795eb.js} +1 -1
  144. package/dist/assets/{weather-forecast-display-BJes18_s.js → weather-forecast-display-Bq7Ktxyw.js} +1 -1
  145. package/dist/assets/{welcome-screen-CrXclfuA.js → welcome-screen-CipRXBbr.js} +1 -1
  146. package/dist/assets/{workflow-detail-panel-FJt7O7DN.js → workflow-detail-panel-B4pwzq2k.js} +1 -1
  147. package/dist/assets/{workspace-page-maAwyAnK.js → workspace-page-B_ntO4pT.js} +1 -1
  148. package/dist/index.html +2 -2
  149. package/package.json +1 -1
  150. package/dist/assets/archive-redirect-page-Bahth1ou.js +0 -1
  151. package/dist/assets/checkout-return-target-DEiJUksg.js +0 -1
  152. package/dist/assets/companion-accent-D98A6fdt.js +0 -1
  153. package/dist/assets/companion-surface-page-BYlBiFag.js +0 -1
  154. package/dist/assets/danger-zone-redirect-page-BbvorzSo.js +0 -1
  155. package/dist/assets/devices-redirect-page-MeFP2iGe.js +0 -1
  156. package/dist/assets/index-ChmqERCm.css +0 -2
  157. package/dist/assets/keyboard-shortcuts-redirect-page-CX6auuC3.js +0 -1
  158. package/dist/assets/password-reset-page-Cv3_LjgI.js +0 -1
  159. package/dist/assets/security-redirect-page-Be_N1V2t.js +0 -1
  160. package/dist/assets/system-events-redirect-page-D4uO9zjA.js +0 -1
  161. package/dist/assets/use-supports-credentials-settings-BsoxGpqB.js +0 -1
  162. package/dist/assets/use-transcript-message-by-id-2x4qzE7s.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{er as t,j as n,ur as r}from"./vendor-CYfJo8gP.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{$_ as c,$p as ee,Ag as te,Ar as l,Bp as u,Cy as d,Dy as f,Eg as p,Ev as ne,H_ as re,Hp as ie,Jl as ae,Kl as m,L_ as oe,N_ as se,O_ as h,P_ as ce,Pf as le,Qp as ue,Rp as g,Ul as _,Wl as v,Wp as y,Zp as de,dv as b,em as fe,fv as x,h_ as S,im as pe,j_ as me,nm as C,nu as he,nv as ge,rm as _e,ro as ve,yv as w}from"./index-BVVp210p.js";import{t as T}from"./avatar-bundled-components-X6uhm3sR.js";import{c as ye,n as be,t as xe}from"./provider-key-PAmg3XjL.js";import{a as Se,i as Ce,n as E,o as we,r as D,t as O}from"./avatar-random-mKQpdYRU.js";import{t as k}from"./plugin-attribution-BKqeSMc9.js";var A=e(i(),1),j=s(),Te=800,M=null,N,P=null,F=null;function I(){M=null,N=void 0,P=null,F=null}var Ee={initializing:0,provisioning:.33,connecting:.66,resizing:.85,ready:1},L=1500,De={initializing:`hatchingScreen.phase.initializing`,provisioning:`hatchingScreen.phase.provisioning`,connecting:`hatchingScreen.phase.connecting`,resizing:`hatchingScreen.phase.resizing`,ready:`hatchingScreen.phase.ready`};function Oe(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/L))**3;return e+(t-e)*r}function ke(){let e=m(_(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function R(){let{t:e}=n(`onboarding`),i=a(),s=t(),[m]=o(),_=m.get(`hosting`),L=m.get(`fail`),R=m.get(k),z=x(),B=h()&&_!==null&&_!==`vellum-cloud`,V=_===`vellum-cloud`,H=m.get(v)===`1`,Ae=le.use.sessionStatus(),je=B?y(Ae):Ae,[U]=(0,A.useState)(()=>F??=O(T)),Me=(0,A.useMemo)(()=>{let e=ve(T,U.bodyShape,U.eyeStyle,U.color,320);return e?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`:``},[U]),[W,G]=(0,A.useState)(`initializing`),[Ne,K]=(0,A.useState)(null),[Pe,q]=(0,A.useState)(!1),[Fe,Ie]=(0,A.useState)(!1),[Le,Re]=(0,A.useState)(0),[ze,J]=(0,A.useState)(0),[Be,Ve]=(0,A.useState)(0),Y=(0,A.useRef)(W),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,G(e),Ve(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(L!==null){K(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let e=ke();if(e.kind===`redirect`){i(e.to,{replace:!0});return}if(e.kind===`wait`)return;V&&h()&&(c(),ge(null)),q(!1),Ie(!1);let t=!1,n=null,a=null,o=null,l=Date.now(),d,f=!1,p=!1,v=ae(),y=e=>{try{he(``)}catch(e){w(e,{context:`onboarding_mark_completed`})}J(1),Q.current=1,X.current=1,G(`ready`),Y.current=`ready`,a=setTimeout(()=>{t||(I(),(async()=>{if(await ie.checkAssistant(),!t){if(te(m)){Se(e),i(`${b.assistant}?onboarding=1`,{replace:!0});return}if(B){let t=new URLSearchParams;_&&t.set(`hosting`,_),e&&t.set(`assistant`,e),R&&t.set(k,R);let n=t.toString();i(`${b.onboarding.research}${n?`?${n}`:``}`,{replace:!0});return}i(b.onboarding.research,{replace:!0})}})())},Te)},x=e=>we(e,U,s),ve=async()=>{if($(`provisioning`),!B){try{let e=await C(),n=ee(e);if(!t&&e.ok&&n.kind===`active`){h()&&oe(e.data.id,e.data.name,u()??void 0),await O(e.data.id);return}n.kind===`auto_hatch`&&(p=!0)}catch{}if(t)return}if(B){try{let e=_===`docker`?`docker`:void 0;M&&N!==e&&I(),M||=(N=e,re(void 0,e));let n=await M;if(t)return;if(!n.ok){I(),K(n.error??`Failed to hatch local assistant.`);return}await me(),n.assistantId&&g(n.assistantId),$(`connecting`);let r=!1;for(;!t&&!r;){if(await ce()){c(),await se(),r=!0;break}if(Date.now()-l>=3e5){I(),K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,D)}),o=null}if(t)return;if(n.assistantId)try{await be(n.assistantId)}catch(e){if(e instanceof xe){if(!t){let t=ye(e.provider)?.displayName??e.provider;Ie(!0);let n=`Update your ${t} API key to continue.`;K(e.reason?`${e.reason} ${n}`:n)}return}w(e,{context:`onboarding_apply_provider_key`})}n.assistantId&&await le.getState().connectLocalAssistant(n.assistantId),n.assistantId&&(S.getState().upsertFromApi({id:n.assistantId,name:n.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),g(n.assistantId),x(n.assistantId)),y(n.assistantId)}catch{if(I(),t)return;K(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{P||=pe(v?{version:v}:void 0);let e=await P;if(P=null,t)return;if(e.ok&&(d=e.data.id),f=e.ok&&e.status===201,!e.ok){if(r(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),ue(e.status,e.error)){K(de),q(!0);return}if(!fe(e.status)){K(ne(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(P=null,w(e,{context:`onboarding_hatch_assistant`}),t)return}T(0)},T=e=>{t||(n=setTimeout(A,e))},O=async e=>{for($(`connecting`);!t;){try{if((await _e(e)).ok)break}catch{}if(Date.now()-l>=3e5){K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{n=setTimeout(e,D)}),n=null}if(t)return;let i=await Ce({assistantId:e,postCheckoutReturn:H,managedHatch:V,hatchStartMs:l,isCancelled:()=>t,onResizeWait:()=>$(`resizing`),registerTimer:e=>{n=e}});if(!t){if(i===`health_timeout`){r(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:E,stage:`post_resize_health`}}),K(`Your assistant is taking longer than expected. Please try again.`);return}y(e)}},A=async()=>{if(!t){if(Date.now()-l>=3e5){r(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:E}}),K(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await C(d);if(t||d&&!e.ok&&e.status===404&&(d=void 0,e=await C(),t))return;let n=ee(e);if(n.kind===`active`){if(e.ok){let t=e.data.id;S.getState().upsertFromApi(e.data),g(t),(f||p)&&x(t),h()&&oe(t,e.data.name,u()??void 0),await O(t);return}y();return}if(n.kind===`error`){K(n.message);return}n.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),T(D)}catch(e){if(w(e,{context:`onboarding_poll_assistant`}),t)return;T(D)}}};return ve(),()=>{t=!0,n&&clearTimeout(n),a&&clearTimeout(a),o&&clearTimeout(o)}},[Le,L,U,V,H,je,i,s,$,B]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=Ee[Y.current],i=Oe(X.current,r,n);Q.current=i,J(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Be]),Ne?(0,j.jsx)(l,{avatarWave:`beside`,children:(0,j.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${z?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40 md:min-h-full md:pb-6`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:z?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:e(Fe?`hatchingScreen.apiKeyFailed`:`hatchingScreen.genericFailure`)}),(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${z?`mt-3.5`:`mt-4`}`,children:Ne}),Pe&&(0,j.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,j.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`hatchingScreen.localFallbackPitch`)}),(0,j.jsx)(f,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,children:(0,j.jsx)(`a`,{href:`${window.location.origin}/download`,children:e(`actions.downloadMacApp`)})})]}),(0,j.jsx)(`img`,{src:Me,alt:``,width:160,height:160,className:`${z?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,j.jsxs)(`div`,{className:`flex w-full flex-col ${z?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[Fe?(0,j.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>void i(_?`${b.onboarding.apiKey}?hosting=${_}`:b.onboarding.apiKey,{replace:!0}),children:e(`hatchingScreen.updateApiKey`)}):(0,j.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,G(`initializing`),J(0),Ve(e=>e+1),K(null),q(!1),Re(e=>e+1)},children:e(`actions.tryAgain`)}),(0,j.jsx)(f,{variant:`outlined`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>void i(B?b.onboarding.hosting:`${b.onboarding.privacy}?${p}=1`,{replace:!0}),children:e(`actions.back`)})]})]})}):(0,j.jsx)(l,{avatarWave:`beside`,children:(0,j.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${z?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40 md:min-h-full md:pb-6`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:z?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:e(W===`ready`?`hatchingScreen.ready`:`hatchingScreen.waking`)}),W!==`ready`&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${z?`mt-3.5`:`mt-4`}`,children:e(`hatchingScreen.wakingBody`)}),(0,j.jsx)(`img`,{src:Me,alt:``,width:160,height:160,className:`${z?`my-auto py-8`:`my-16`} ${W===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,j.jsx)(d,{value:ze,height:6,className:`w-full ${z?`max-w-[200px]`:`max-w-sm`}`,"aria-label":e(`hatchingScreen.progressAriaLabel`)}),(0,j.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${z?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:e(De[W])})]})})}export{R as HatchingScreen};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{er as t,j as n,ur as r}from"./vendor-CYfJo8gP.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{$_ as c,$p as ee,Ag as te,Ar as l,Bp as u,Cy as d,Dy as f,Eg as p,Ev as ne,H_ as re,Hp as ie,Jl as ae,Kl as m,L_ as oe,N_ as se,O_ as h,P_ as ce,Pf as le,Qp as ue,Rp as g,Ul as _,Wl as v,Wp as y,Zp as de,dv as b,em as fe,fv as x,h_ as S,im as pe,j_ as me,nm as C,nu as he,nv as ge,rm as _e,ro as ve,yv as w}from"./index-b_IQShc9.js";import{t as T}from"./avatar-bundled-components-Bdw589VI.js";import{c as ye,n as be,t as xe}from"./provider-key-CNHs7dwm.js";import{a as Se,i as Ce,n as E,o as we,r as D,t as O}from"./avatar-random-B3jE15Y7.js";import{t as k}from"./plugin-attribution-BKqeSMc9.js";var A=e(i(),1),j=s(),Te=800,M=null,N,P=null,F=null;function I(){M=null,N=void 0,P=null,F=null}var Ee={initializing:0,provisioning:.33,connecting:.66,resizing:.85,ready:1},L=1500,De={initializing:`hatchingScreen.phase.initializing`,provisioning:`hatchingScreen.phase.provisioning`,connecting:`hatchingScreen.phase.connecting`,resizing:`hatchingScreen.phase.resizing`,ready:`hatchingScreen.phase.ready`};function Oe(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/L))**3;return e+(t-e)*r}function ke(){let e=m(_(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function R(){let{t:e}=n(`onboarding`),i=a(),s=t(),[m]=o(),_=m.get(`hosting`),L=m.get(`fail`),R=m.get(k),z=x(),B=h()&&_!==null&&_!==`vellum-cloud`,V=_===`vellum-cloud`,H=m.get(v)===`1`,Ae=le.use.sessionStatus(),je=B?y(Ae):Ae,[U]=(0,A.useState)(()=>F??=O(T)),Me=(0,A.useMemo)(()=>{let e=ve(T,U.bodyShape,U.eyeStyle,U.color,320);return e?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`:``},[U]),[W,G]=(0,A.useState)(`initializing`),[Ne,K]=(0,A.useState)(null),[Pe,q]=(0,A.useState)(!1),[Fe,Ie]=(0,A.useState)(!1),[Le,Re]=(0,A.useState)(0),[ze,J]=(0,A.useState)(0),[Be,Ve]=(0,A.useState)(0),Y=(0,A.useRef)(W),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,G(e),Ve(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(L!==null){K(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let e=ke();if(e.kind===`redirect`){i(e.to,{replace:!0});return}if(e.kind===`wait`)return;V&&h()&&(c(),ge(null)),q(!1),Ie(!1);let t=!1,n=null,a=null,o=null,l=Date.now(),d,f=!1,p=!1,v=ae(),y=e=>{try{he(``)}catch(e){w(e,{context:`onboarding_mark_completed`})}J(1),Q.current=1,X.current=1,G(`ready`),Y.current=`ready`,a=setTimeout(()=>{t||(I(),(async()=>{if(await ie.checkAssistant(),!t){if(te(m)){Se(e),i(`${b.assistant}?onboarding=1`,{replace:!0});return}if(B){let t=new URLSearchParams;_&&t.set(`hosting`,_),e&&t.set(`assistant`,e),R&&t.set(k,R);let n=t.toString();i(`${b.onboarding.research}${n?`?${n}`:``}`,{replace:!0});return}i(b.onboarding.research,{replace:!0})}})())},Te)},x=e=>we(e,U,s),ve=async()=>{if($(`provisioning`),!B){try{let e=await C(),n=ee(e);if(!t&&e.ok&&n.kind===`active`){h()&&oe(e.data.id,e.data.name,u()??void 0),await O(e.data.id);return}n.kind===`auto_hatch`&&(p=!0)}catch{}if(t)return}if(B){try{let e=_===`docker`?`docker`:void 0;M&&N!==e&&I(),M||=(N=e,re(void 0,e));let n=await M;if(t)return;if(!n.ok){I(),K(n.error??`Failed to hatch local assistant.`);return}await me(),n.assistantId&&g(n.assistantId),$(`connecting`);let r=!1;for(;!t&&!r;){if(await ce()){c(),await se(),r=!0;break}if(Date.now()-l>=3e5){I(),K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,D)}),o=null}if(t)return;if(n.assistantId)try{await be(n.assistantId)}catch(e){if(e instanceof xe){if(!t){let t=ye(e.provider)?.displayName??e.provider;Ie(!0);let n=`Update your ${t} API key to continue.`;K(e.reason?`${e.reason} ${n}`:n)}return}w(e,{context:`onboarding_apply_provider_key`})}n.assistantId&&await le.getState().connectLocalAssistant(n.assistantId),n.assistantId&&(S.getState().upsertFromApi({id:n.assistantId,name:n.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),g(n.assistantId),x(n.assistantId)),y(n.assistantId)}catch{if(I(),t)return;K(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{P||=pe(v?{version:v}:void 0);let e=await P;if(P=null,t)return;if(e.ok&&(d=e.data.id),f=e.ok&&e.status===201,!e.ok){if(r(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),ue(e.status,e.error)){K(de),q(!0);return}if(!fe(e.status)){K(ne(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(P=null,w(e,{context:`onboarding_hatch_assistant`}),t)return}T(0)},T=e=>{t||(n=setTimeout(A,e))},O=async e=>{for($(`connecting`);!t;){try{if((await _e(e)).ok)break}catch{}if(Date.now()-l>=3e5){K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{n=setTimeout(e,D)}),n=null}if(t)return;let i=await Ce({assistantId:e,postCheckoutReturn:H,managedHatch:V,hatchStartMs:l,isCancelled:()=>t,onResizeWait:()=>$(`resizing`),registerTimer:e=>{n=e}});if(!t){if(i===`health_timeout`){r(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:E,stage:`post_resize_health`}}),K(`Your assistant is taking longer than expected. Please try again.`);return}y(e)}},A=async()=>{if(!t){if(Date.now()-l>=3e5){r(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:E}}),K(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await C(d);if(t||d&&!e.ok&&e.status===404&&(d=void 0,e=await C(),t))return;let n=ee(e);if(n.kind===`active`){if(e.ok){let t=e.data.id;S.getState().upsertFromApi(e.data),g(t),(f||p)&&x(t),h()&&oe(t,e.data.name,u()??void 0),await O(t);return}y();return}if(n.kind===`error`){K(n.message);return}n.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),T(D)}catch(e){if(w(e,{context:`onboarding_poll_assistant`}),t)return;T(D)}}};return ve(),()=>{t=!0,n&&clearTimeout(n),a&&clearTimeout(a),o&&clearTimeout(o)}},[Le,L,U,V,H,je,i,s,$,B]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=Ee[Y.current],i=Oe(X.current,r,n);Q.current=i,J(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Be]),Ne?(0,j.jsx)(l,{avatarWave:`beside`,children:(0,j.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${z?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40 md:min-h-full md:pb-6`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:z?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:e(Fe?`hatchingScreen.apiKeyFailed`:`hatchingScreen.genericFailure`)}),(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${z?`mt-3.5`:`mt-4`}`,children:Ne}),Pe&&(0,j.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,j.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`hatchingScreen.localFallbackPitch`)}),(0,j.jsx)(f,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,children:(0,j.jsx)(`a`,{href:`${window.location.origin}/download`,children:e(`actions.downloadMacApp`)})})]}),(0,j.jsx)(`img`,{src:Me,alt:``,width:160,height:160,className:`${z?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,j.jsxs)(`div`,{className:`flex w-full flex-col ${z?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[Fe?(0,j.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>void i(_?`${b.onboarding.apiKey}?hosting=${_}`:b.onboarding.apiKey,{replace:!0}),children:e(`hatchingScreen.updateApiKey`)}):(0,j.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,G(`initializing`),J(0),Ve(e=>e+1),K(null),q(!1),Re(e=>e+1)},children:e(`actions.tryAgain`)}),(0,j.jsx)(f,{variant:`outlined`,size:`regular`,fullWidth:!0,className:z?void 0:`h-11 text-base`,onClick:()=>void i(B?b.onboarding.hosting:`${b.onboarding.privacy}?${p}=1`,{replace:!0}),children:e(`actions.back`)})]})]})}):(0,j.jsx)(l,{avatarWave:`beside`,children:(0,j.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${z?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40 md:min-h-full md:pb-6`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:z?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:e(W===`ready`?`hatchingScreen.ready`:`hatchingScreen.waking`)}),W!==`ready`&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${z?`mt-3.5`:`mt-4`}`,children:e(`hatchingScreen.wakingBody`)}),(0,j.jsx)(`img`,{src:Me,alt:``,width:160,height:160,className:`${z?`my-auto py-8`:`my-16`} ${W===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,j.jsx)(d,{value:ze,height:6,className:`w-full ${z?`max-w-[200px]`:`max-w-sm`}`,"aria-label":e(`hatchingScreen.progressAriaLabel`)}),(0,j.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${z?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:e(De[W])})]})})}export{R as HatchingScreen};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CYfJo8gP.js";import{b as n,f as r,g as i,t as a}from"./react-DPM_L_aA.js";import{Br as o,lr as s,pi as c,un as l}from"./icons-CSdHOix6.js";import{$_ as u,Ar as d,Dy as f,Eg as p,If as m,Pr as h,dv as g,fv as _,h_ as v,ko as y,lv as b,nv as x,zm as S}from"./index-BVVp210p.js";import{i as C}from"./provider-key-PAmg3XjL.js";import{t as w}from"./radio-card-nav-DgU-fAGb.js";var T=e(n(),1),E=a(),D=`h-5 w-5 shrink-0`;function O(){let e=m(),t=S.use.multiPlatformAssistant(),n=v.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,E.jsx)(s,{className:D}),...!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,E.jsx)(l,{className:D})}]}function k(){let{t:e}=t(`onboarding`),n=r(),[a]=i(),o=a.get(`from`)===`select-assistant`,s=m(),l=_(),v=O(),S=v.find(e=>e.mode===`vellum-cloud`)?.disabled,[D,k]=(0,T.useState)(s&&!S?`vellum-cloud`:`local`);(0,T.useEffect)(()=>{S&&D===`vellum-cloud`&&k(`local`)},[S,D]);let{loading:j,error:M,login:N,cancel:P}=y(`${g.onboarding.hosting}?from=select-assistant`),F=o&&!s&&!l;return(0,E.jsx)(d,{avatarWave:`beside`,children:(0,E.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${l?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,E.jsxs)(`div`,{className:`flex w-full flex-col items-center ${l?``:`flex-1 justify-center`}`,children:[(0,E.jsx)(`h1`,{className:l?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`hostingScreen.title`)}),(0,E.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${l?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[e(`hostingScreen.body`),` `,(0,E.jsx)(`a`,{href:b(g.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`underline transition-colors hover:text-[var(--content-default)]`,children:e(`hostingScreen.needHelp`)})]}),M&&(0,E.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:M}),(0,E.jsx)(`div`,{role:`radiogroup`,"aria-label":e(`hostingScreen.optionsAriaLabel`),onKeyDown:w,className:`grid w-full ${l?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:v.map(t=>(0,E.jsx)(A,{option:t,selected:D===t.mode,tabStop:D===t.mode,onSelect:()=>{t.disabled||k(t.mode)},loginLabel:e(j?`actions.cancel`:`actions.loginToUse`),onLogin:t.disabled&&t.mode===`vellum-cloud`&&F?j?P:()=>void N():void 0},t.mode))}),(0,E.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,E.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:l?void 0:`h-11 text-base`,onClick:()=>{D===`vellum-cloud`?(u(),x(null),C(null),n(`${g.onboarding.privacy}?${p}=1`,h)):n(`${g.onboarding.apiKey}?hosting=${D}`,h)},children:e(`actions.continue`)})}),(0,E.jsx)(`div`,{className:`mt-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,E.jsx)(f,{variant:`ghost`,size:`compact`,className:`text-[var(--content-tertiary)]`,leftIcon:(0,E.jsx)(c,{}),onClick:()=>{n(o?g.selectAssistant:g.welcome,h)},disabled:j,children:e(`actions.back`)})})]})})})}function A({option:e,selected:t,tabStop:n,onSelect:r,loginLabel:i,onLogin:a}){let s=_(),c=!!e.disabled,l=a?void 0:e.badge;return(0,E.jsxs)(`div`,{role:c?void 0:`radio`,"aria-checked":c?void 0:t,tabIndex:c?void 0:n?0:-1,onClick:c?void 0:r,onKeyDown:c?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:[`group flex w-full items-center border text-left`,s?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,c?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,c?``:t?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,E.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,s?`h-8 w-8 rounded-md`:`h-10 w-10 rounded-md`,t&&!c?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e.icon}),(0,E.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),l&&(0,E.jsx)(`span`,{className:`rounded-full bg-[var(--surface-active)]/40 px-2 py-0.5 text-[var(--content-tertiary)] ${s?`text-label-medium-default`:`text-body-small-default`}`,children:l})]}),(0,E.jsx)(`span`,{className:`mt-1 line-clamp-2 text-[var(--content-tertiary)] ${s?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),a&&(0,E.jsx)(f,{variant:`primary`,size:`regular`,className:`shrink-0`,onClick:a,children:i}),!c&&(0,E.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,E.jsx)(o,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{k as HostingScreen};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CYfJo8gP.js";import{b as n,f as r,g as i,t as a}from"./react-DPM_L_aA.js";import{Br as o,lr as s,pi as c,un as l}from"./icons-CSdHOix6.js";import{$_ as u,Ar as d,Dy as f,Eg as p,If as m,Pr as h,dv as g,fv as _,h_ as v,ko as y,lv as b,nv as x,zm as S}from"./index-b_IQShc9.js";import{i as C}from"./provider-key-CNHs7dwm.js";import{t as w}from"./radio-card-nav-DgU-fAGb.js";var T=e(n(),1),E=a(),D=`h-5 w-5 shrink-0`;function O(){let e=m(),t=S.use.multiPlatformAssistant(),n=v.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,E.jsx)(s,{className:D}),...!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,E.jsx)(l,{className:D})}]}function k(){let{t:e}=t(`onboarding`),n=r(),[a]=i(),o=a.get(`from`)===`select-assistant`,s=m(),l=_(),v=O(),S=v.find(e=>e.mode===`vellum-cloud`)?.disabled,[D,k]=(0,T.useState)(s&&!S?`vellum-cloud`:`local`);(0,T.useEffect)(()=>{S&&D===`vellum-cloud`&&k(`local`)},[S,D]);let{loading:j,error:M,login:N,cancel:P}=y(`${g.onboarding.hosting}?from=select-assistant`),F=o&&!s&&!l;return(0,E.jsx)(d,{avatarWave:`beside`,children:(0,E.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${l?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,E.jsxs)(`div`,{className:`flex w-full flex-col items-center ${l?``:`flex-1 justify-center`}`,children:[(0,E.jsx)(`h1`,{className:l?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`hostingScreen.title`)}),(0,E.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${l?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[e(`hostingScreen.body`),` `,(0,E.jsx)(`a`,{href:b(g.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`underline transition-colors hover:text-[var(--content-default)]`,children:e(`hostingScreen.needHelp`)})]}),M&&(0,E.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:M}),(0,E.jsx)(`div`,{role:`radiogroup`,"aria-label":e(`hostingScreen.optionsAriaLabel`),onKeyDown:w,className:`grid w-full ${l?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:v.map(t=>(0,E.jsx)(A,{option:t,selected:D===t.mode,tabStop:D===t.mode,onSelect:()=>{t.disabled||k(t.mode)},loginLabel:e(j?`actions.cancel`:`actions.loginToUse`),onLogin:t.disabled&&t.mode===`vellum-cloud`&&F?j?P:()=>void N():void 0},t.mode))}),(0,E.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,E.jsx)(f,{variant:`primary`,size:`regular`,fullWidth:!0,className:l?void 0:`h-11 text-base`,onClick:()=>{D===`vellum-cloud`?(u(),x(null),C(null),n(`${g.onboarding.privacy}?${p}=1`,h)):n(`${g.onboarding.apiKey}?hosting=${D}`,h)},children:e(`actions.continue`)})}),(0,E.jsx)(`div`,{className:`mt-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,E.jsx)(f,{variant:`ghost`,size:`compact`,className:`text-[var(--content-tertiary)]`,leftIcon:(0,E.jsx)(c,{}),onClick:()=>{n(o?g.selectAssistant:g.welcome,h)},disabled:j,children:e(`actions.back`)})})]})})})}function A({option:e,selected:t,tabStop:n,onSelect:r,loginLabel:i,onLogin:a}){let s=_(),c=!!e.disabled,l=a?void 0:e.badge;return(0,E.jsxs)(`div`,{role:c?void 0:`radio`,"aria-checked":c?void 0:t,tabIndex:c?void 0:n?0:-1,onClick:c?void 0:r,onKeyDown:c?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:[`group flex w-full items-center border text-left`,s?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,c?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,c?``:t?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,E.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,s?`h-8 w-8 rounded-md`:`h-10 w-10 rounded-md`,t&&!c?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e.icon}),(0,E.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),l&&(0,E.jsx)(`span`,{className:`rounded-full bg-[var(--surface-active)]/40 px-2 py-0.5 text-[var(--content-tertiary)] ${s?`text-label-medium-default`:`text-body-small-default`}`,children:l})]}),(0,E.jsx)(`span`,{className:`mt-1 line-clamp-2 text-[var(--content-tertiary)] ${s?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),a&&(0,E.jsx)(f,{variant:`primary`,size:`regular`,className:`shrink-0`,onClick:a,children:i}),!c&&(0,E.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,E.jsx)(o,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{k as HostingScreen};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Zn as n,d as r,er as i,f as a,g as o,j as s}from"./vendor-CYfJo8gP.js";import{b as c,n as l,t as u}from"./react-DPM_L_aA.js";import{Lr as d,P as f,Qn as p,Zr as m,_ as h,_t as g,cn as _,fi as v,m as y,qr as b,r as x,xi as S}from"./icons-CSdHOix6.js";import{t as C}from"./folder-open-8sWiN1cw.js";import{$f as w,$r as T,Dy as E,Eo as D,Jr as O,Kf as k,Kr as A,On as j,Op as M,Pd as N,Pu as P,Qu as F,To as ee,Ty as I,Vd as L,X_ as R,Xr as z,Y as B,Yu as V,Zf as te,_f as ne,cy as H,dv as re,ep as ie,ju as ae,s as oe,sv as U,uy as W,vr as G,wn as se,xi as K}from"./index-BVVp210p.js";import{t as ce}from"./page-shell-Dlsn8wyt.js";import{a as q,o as le,s as ue}from"./latest-assistant-text-QBDnPUy-.js";import{a as de,i as fe,n as pe,r as me,s as he,t as ge}from"./use-assistant-identity-details-D9qdC7Cd.js";import{t as _e}from"./trait-cycle-row-DIN6r7YK.js";var ve=S(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),J=e(c(),1),Y=u();function X(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function ye({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:c,assistantName:l,onRenameSubmit:u,isRenaming:d=!1}){let{t:f}=s(),m=(0,J.useRef)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(!1),b=r??g,[x,S]=(0,J.useState)(0),[C,T]=(0,J.useState)(0),[D,O]=(0,J.useState)(0),[k,A]=(0,J.useState)(`character`),[j,M]=(0,J.useState)(null),[N,P]=(0,J.useState)(!1),[F,ee]=(0,J.useState)(!1),[I,L]=(0,J.useState)(l??``),R=j??a,z=!!R;(0,J.useEffect)(()=>{e&&L(l??``)},[e,l]);let B=(0,J.useRef)(!1);(0,J.useEffect)(()=>{e&&!B.current&&A(a?`custom`:`character`),B.current=e},[e,a]),(0,J.useEffect)(()=>{if(e)if(b&&i){let e=b.bodyShapes.findIndex(e=>e.id===i.bodyShape),t=b.eyeStyles.findIndex(e=>e.id===i.eyeStyle),n=b.colors.findIndex(e=>e.id===i.color);S(e>=0?e:0),T(t>=0?t:0),O(n>=0?n:0)}else S(0),T(0),O(0)},[e,b,i]),(0,J.useEffect)(()=>{if(!e||b||v)return;let t=!1;return y(!0),te(n).then(e=>{t||(_(e),y(!1))}),()=>{t=!0}},[e,b,v,n]),(0,J.useEffect)(()=>{if(j)return()=>{URL.revokeObjectURL(j)}},[j]),(0,J.useEffect)(()=>{e||M(null)},[e]);let V=I.trim(),ne=!!u&&V.length>0&&V!==(l??``),H=(0,J.useCallback)(()=>{b&&(A(`character`),S(Math.floor(Math.random()*b.bodyShapes.length)),T(Math.floor(Math.random()*b.eyeStyles.length)),O(Math.floor(Math.random()*b.colors.length)))},[b]),re=(0,J.useCallback)(()=>{m.current?.click()},[]),ae=(0,J.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;ee(!0);let r=await ie(n,t);ee(!1),r&&(c(),M(URL.createObjectURL(t)),A(`custom`)),m.current&&(m.current.value=``)},[n,c]),oe=(0,J.useCallback)(async e=>{if(e.preventDefault(),!(N||d)){if(ne&&u&&u(V),b&&k===`character`){let e={bodyShape:b.bodyShapes[x].id,eyeStyle:b.eyeStyles[C].id,color:b.colors[D].id};P(!0);try{await w(n,e),M(null),o(e)}finally{P(!1)}}t()}},[N,d,ne,u,V,b,k,x,C,D,n,o,t]),U=b?.bodyShapes[x],G=b?.eyeStyles[C],K=b?.colors[D],ce=k===`custom`&&z,q=l!==void 0&&u?(0,Y.jsx)(be,{value:I,onChange:L,disabled:d}):null;return(0,Y.jsx)(W.Root,{open:e,onOpenChange:e=>!e&&t(),children:(0,Y.jsxs)(W.Content,{size:`sm`,children:[(0,Y.jsx)(W.Header,{children:(0,Y.jsx)(W.Title,{children:f(`avatarManagementModal.title`)})}),(0,Y.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:oe,children:[(0,Y.jsx)(W.Body,{className:`space-y-4`,children:ce?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,Y.jsx)(`img`,{src:R,alt:f(`avatarManagementModal.uploadedAlt`),className:`h-40 w-40 rounded-xl object-cover`})})}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[q,(0,Y.jsx)(xe,{label:f(`avatarManagementModal.useCharacterLabel`),description:f(`avatarManagementModal.useCharacterDescription`),onClick:()=>A(`character`),thumbnail:b&&U&&G&&K?(0,Y.jsx)(se,{components:b,bodyShapeId:U.id,eyeStyleId:G.id,colorId:K.id,size:32}):(0,Y.jsx)(p,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]})]}):b?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,Y.jsx)(se,{components:b,bodyShapeId:U.id,eyeStyleId:G.id,colorId:K.id,size:160})})}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[q,(0,Y.jsx)(_e,{label:f(`avatarManagementModal.body`),value:U.id,onPrev:()=>S(X(x,b.bodyShapes.length,`backward`)),onNext:()=>S(X(x,b.bodyShapes.length,`forward`))}),(0,Y.jsx)(_e,{label:f(`avatarManagementModal.eyes`),value:G.id,onPrev:()=>T(X(C,b.eyeStyles.length,`backward`)),onNext:()=>T(X(C,b.eyeStyles.length,`forward`))}),(0,Y.jsx)(_e,{label:f(`avatarManagementModal.color`),value:K.id,colorHex:K.hex,onPrev:()=>O(X(D,b.colors.length,`backward`)),onNext:()=>O(X(D,b.colors.length,`forward`))})]}),z&&(0,Y.jsx)(xe,{label:f(`avatarManagementModal.keepUploadedLabel`),description:f(`avatarManagementModal.keepUploadedDescription`),onClick:()=>A(`custom`),thumbnail:(0,Y.jsx)(`img`,{src:R,alt:``,className:`h-8 w-8 rounded-md object-cover`})})]}):(0,Y.jsxs)(Y.Fragment,{children:[q,v?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Y.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})}):(0,Y.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:f(`avatarManagementModal.loadError`)})]})}),(0,Y.jsxs)(W.Footer,{className:`justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(E,{type:`button`,variant:`outlined`,iconOnly:(0,Y.jsx)(p,{}),"aria-label":f(`avatarManagementModal.randomize`),tooltip:f(`avatarManagementModal.randomize`),onClick:H,disabled:!b}),(0,Y.jsx)(E,{type:`button`,variant:`outlined`,iconOnly:(0,Y.jsx)(h,{}),"aria-label":f(`avatarManagementModal.uploadImage`),tooltip:f(`avatarManagementModal.uploadImage`),onClick:re,disabled:F})]}),(0,Y.jsx)(E,{type:`submit`,variant:`primary`,disabled:N||d||F,children:f(N||d?`avatarManagementModal.saving`:`avatarManagementModal.save`)})]})]}),(0,Y.jsx)(`input`,{ref:m,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:ae})]})})}function be({value:e,onChange:t,disabled:n}){let{t:r}=s();return(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,Y.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:r(`avatarManagementModal.name`)}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`flex min-w-[80px] items-center justify-center`,children:(0,Y.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:40,size:8,placeholder:r(`avatarManagementModal.name`),"aria-label":r(`avatarManagementModal.name`),className:`h-7 min-w-0 field-sizing-content bg-transparent text-center text-body-medium-default text-[var(--content-strong)] outline-none placeholder:text-[var(--content-tertiary)] disabled:cursor-not-allowed disabled:opacity-60`})}),(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-7 w-7 shrink-0`})]})]})}function xe({label:e,description:t,thumbnail:n,onClick:r}){return(0,Y.jsxs)(`button`,{type:`button`,onClick:r,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,Y.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-md bg-[var(--surface-sunken)]`,children:n}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate text-body-medium-default text-[var(--content-strong)]`,children:e}),(0,Y.jsx)(`span`,{className:`block truncate text-body-small-default text-[var(--content-quiet)]`,children:t})]}),(0,Y.jsx)(d,{className:`h-4 w-4 shrink-0 text-[var(--content-quiet)]`})]})}function Se(e){let t=e.trim();return`<system-message>
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Zn as n,d as r,er as i,f as a,g as o,j as s}from"./vendor-CYfJo8gP.js";import{b as c,n as l,t as u}from"./react-DPM_L_aA.js";import{Lr as d,P as f,Qn as p,Zr as m,_ as h,_t as g,cn as _,fi as v,m as y,qr as b,r as x,xi as S}from"./icons-CSdHOix6.js";import{t as C}from"./folder-open-8sWiN1cw.js";import{$f as w,$r as T,Dy as E,Eo as D,Jr as O,Kf as k,Kr as A,On as j,Op as M,Pd as N,Pu as P,Qu as F,To as ee,Ty as I,Vd as L,X_ as R,Xr as z,Y as B,Yu as V,Zf as te,_f as ne,cy as H,dv as re,ep as ie,ju as ae,s as oe,sv as U,uy as W,vr as G,wn as se,xi as K}from"./index-b_IQShc9.js";import{t as ce}from"./page-shell-D1-wKbPX.js";import{a as q,o as le,s as ue}from"./latest-assistant-text-DAXhdhSY.js";import{a as de,i as fe,n as pe,r as me,s as he,t as ge}from"./use-assistant-identity-details-BHiN3OAl.js";import{t as _e}from"./trait-cycle-row-C2Icx-67.js";var ve=S(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),J=e(c(),1),Y=u();function X(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function ye({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:c,assistantName:l,onRenameSubmit:u,isRenaming:d=!1}){let{t:f}=s(),m=(0,J.useRef)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(!1),b=r??g,[x,S]=(0,J.useState)(0),[C,T]=(0,J.useState)(0),[D,O]=(0,J.useState)(0),[k,A]=(0,J.useState)(`character`),[j,M]=(0,J.useState)(null),[N,P]=(0,J.useState)(!1),[F,ee]=(0,J.useState)(!1),[I,L]=(0,J.useState)(l??``),R=j??a,z=!!R;(0,J.useEffect)(()=>{e&&L(l??``)},[e,l]);let B=(0,J.useRef)(!1);(0,J.useEffect)(()=>{e&&!B.current&&A(a?`custom`:`character`),B.current=e},[e,a]),(0,J.useEffect)(()=>{if(e)if(b&&i){let e=b.bodyShapes.findIndex(e=>e.id===i.bodyShape),t=b.eyeStyles.findIndex(e=>e.id===i.eyeStyle),n=b.colors.findIndex(e=>e.id===i.color);S(e>=0?e:0),T(t>=0?t:0),O(n>=0?n:0)}else S(0),T(0),O(0)},[e,b,i]),(0,J.useEffect)(()=>{if(!e||b||v)return;let t=!1;return y(!0),te(n).then(e=>{t||(_(e),y(!1))}),()=>{t=!0}},[e,b,v,n]),(0,J.useEffect)(()=>{if(j)return()=>{URL.revokeObjectURL(j)}},[j]),(0,J.useEffect)(()=>{e||M(null)},[e]);let V=I.trim(),ne=!!u&&V.length>0&&V!==(l??``),H=(0,J.useCallback)(()=>{b&&(A(`character`),S(Math.floor(Math.random()*b.bodyShapes.length)),T(Math.floor(Math.random()*b.eyeStyles.length)),O(Math.floor(Math.random()*b.colors.length)))},[b]),re=(0,J.useCallback)(()=>{m.current?.click()},[]),ae=(0,J.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;ee(!0);let r=await ie(n,t);ee(!1),r&&(c(),M(URL.createObjectURL(t)),A(`custom`)),m.current&&(m.current.value=``)},[n,c]),oe=(0,J.useCallback)(async e=>{if(e.preventDefault(),!(N||d)){if(ne&&u&&u(V),b&&k===`character`){let e={bodyShape:b.bodyShapes[x].id,eyeStyle:b.eyeStyles[C].id,color:b.colors[D].id};P(!0);try{await w(n,e),M(null),o(e)}finally{P(!1)}}t()}},[N,d,ne,u,V,b,k,x,C,D,n,o,t]),U=b?.bodyShapes[x],G=b?.eyeStyles[C],K=b?.colors[D],ce=k===`custom`&&z,q=l!==void 0&&u?(0,Y.jsx)(be,{value:I,onChange:L,disabled:d}):null;return(0,Y.jsx)(W.Root,{open:e,onOpenChange:e=>!e&&t(),children:(0,Y.jsxs)(W.Content,{size:`sm`,children:[(0,Y.jsx)(W.Header,{children:(0,Y.jsx)(W.Title,{children:f(`avatarManagementModal.title`)})}),(0,Y.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:oe,children:[(0,Y.jsx)(W.Body,{className:`space-y-4`,children:ce?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,Y.jsx)(`img`,{src:R,alt:f(`avatarManagementModal.uploadedAlt`),className:`h-40 w-40 rounded-xl object-cover`})})}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[q,(0,Y.jsx)(xe,{label:f(`avatarManagementModal.useCharacterLabel`),description:f(`avatarManagementModal.useCharacterDescription`),onClick:()=>A(`character`),thumbnail:b&&U&&G&&K?(0,Y.jsx)(se,{components:b,bodyShapeId:U.id,eyeStyleId:G.id,colorId:K.id,size:32}):(0,Y.jsx)(p,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]})]}):b?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,Y.jsx)(se,{components:b,bodyShapeId:U.id,eyeStyleId:G.id,colorId:K.id,size:160})})}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[q,(0,Y.jsx)(_e,{label:f(`avatarManagementModal.body`),value:U.id,onPrev:()=>S(X(x,b.bodyShapes.length,`backward`)),onNext:()=>S(X(x,b.bodyShapes.length,`forward`))}),(0,Y.jsx)(_e,{label:f(`avatarManagementModal.eyes`),value:G.id,onPrev:()=>T(X(C,b.eyeStyles.length,`backward`)),onNext:()=>T(X(C,b.eyeStyles.length,`forward`))}),(0,Y.jsx)(_e,{label:f(`avatarManagementModal.color`),value:K.id,colorHex:K.hex,onPrev:()=>O(X(D,b.colors.length,`backward`)),onNext:()=>O(X(D,b.colors.length,`forward`))})]}),z&&(0,Y.jsx)(xe,{label:f(`avatarManagementModal.keepUploadedLabel`),description:f(`avatarManagementModal.keepUploadedDescription`),onClick:()=>A(`custom`),thumbnail:(0,Y.jsx)(`img`,{src:R,alt:``,className:`h-8 w-8 rounded-md object-cover`})})]}):(0,Y.jsxs)(Y.Fragment,{children:[q,v?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Y.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})}):(0,Y.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:f(`avatarManagementModal.loadError`)})]})}),(0,Y.jsxs)(W.Footer,{className:`justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(E,{type:`button`,variant:`outlined`,iconOnly:(0,Y.jsx)(p,{}),"aria-label":f(`avatarManagementModal.randomize`),tooltip:f(`avatarManagementModal.randomize`),onClick:H,disabled:!b}),(0,Y.jsx)(E,{type:`button`,variant:`outlined`,iconOnly:(0,Y.jsx)(h,{}),"aria-label":f(`avatarManagementModal.uploadImage`),tooltip:f(`avatarManagementModal.uploadImage`),onClick:re,disabled:F})]}),(0,Y.jsx)(E,{type:`submit`,variant:`primary`,disabled:N||d||F,children:f(N||d?`avatarManagementModal.saving`:`avatarManagementModal.save`)})]})]}),(0,Y.jsx)(`input`,{ref:m,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:ae})]})})}function be({value:e,onChange:t,disabled:n}){let{t:r}=s();return(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,Y.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:r(`avatarManagementModal.name`)}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`flex min-w-[80px] items-center justify-center`,children:(0,Y.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:40,size:8,placeholder:r(`avatarManagementModal.name`),"aria-label":r(`avatarManagementModal.name`),className:`h-7 min-w-0 field-sizing-content bg-transparent text-center text-body-medium-default text-[var(--content-strong)] outline-none placeholder:text-[var(--content-tertiary)] disabled:cursor-not-allowed disabled:opacity-60`})}),(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-7 w-7 shrink-0`})]})]})}function xe({label:e,description:t,thumbnail:n,onClick:r}){return(0,Y.jsxs)(`button`,{type:`button`,onClick:r,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,Y.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-md bg-[var(--surface-sunken)]`,children:n}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate text-body-medium-default text-[var(--content-strong)]`,children:e}),(0,Y.jsx)(`span`,{className:`block truncate text-body-small-default text-[var(--content-quiet)]`,children:t})]}),(0,Y.jsx)(d,{className:`h-4 w-4 shrink-0 text-[var(--content-quiet)]`})]})}function Se(e){let t=e.trim();return`<system-message>
2
2
  The user renamed you: your name is now ${t}.
3
3
 
4
4
  Update IDENTITY.md so its name line reads exactly \`- **Name:** ${t}\`. This is a rename only — keep everything else in IDENTITY.md and SOUL.md exactly as it is, and do not touch users/ (that is your user's profile, not your identity). If your name appears elsewhere in those files, update those mentions to ${t} too.