sliccy 6.248.3 → 6.248.4
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.
- package/dist/ui/.vite/manifest.json +229 -204
- package/dist/ui/assets/{account-store-mjceqynz.js → account-store-CoiNHIE9.js} +1 -1
- package/dist/ui/assets/{account-store-DvMtuAxT.js → account-store-EUAU8ivx.js} +1 -1
- package/dist/ui/assets/{adobe-BwMu78zI.js → adobe-Cnyzs0z9.js} +1 -1
- package/dist/ui/assets/{adobe-BR5kagG4.js → adobe-bJrGAM6E.js} +1 -1
- package/dist/ui/assets/{agent-panels-CqdhYmst.js → agent-panels-DxCO1Hct.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-Bapmhu3C.js → almost-bash-shell-headless-BMKZNLwu.js} +12 -12
- package/dist/ui/assets/{apply-layout-e_T1KE6y.js → apply-layout-BjLmZ8CX.js} +1 -1
- package/dist/ui/assets/{azure-openai-g4Xv5E--.js → azure-openai-C5kzBBrl.js} +1 -1
- package/dist/ui/assets/{azure-openai-BN148pwc.js → azure-openai-CgL7nikU.js} +1 -1
- package/dist/ui/assets/{cdp-BY2Mm1l_.js → cdp-DU50qKlQ.js} +1 -1
- package/dist/ui/assets/{cerebras-DFBA9Br9.js → cerebras-C4IlgrId.js} +1 -1
- package/dist/ui/assets/{cerebras-BxdukTUc.js → cerebras-Exx59PmI.js} +1 -1
- package/dist/ui/assets/{composer-speech--hKCVvOJ.js → composer-speech-CtvE78Rx.js} +1 -1
- package/dist/ui/assets/{connect-surface-BT8a8Ghs.js → connect-surface-Bvi30iYd.js} +1 -1
- package/dist/ui/assets/{directed-approval-DCBFB0cJ.js → directed-approval-CQVXF9kD.js} +1 -1
- package/dist/ui/assets/dist-CegW-G1M.js +1 -0
- package/dist/ui/assets/dist-kcvXs5tL.js +5 -0
- package/dist/ui/assets/{emscripten-vfs-hook-Dh5V1kuy.js → emscripten-vfs-hook-G9JRg26r.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-AZqZX0be.js → frozen-archive-writer-DV7A8nNw.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-D8Na80jS.js → frozen-archive-writer-DV8CfTGq.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-DgFaw8dO.js → frozen-session-delete-KNFPPuJe.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-V1cg6Y8X.js → frozen-session-identity-B46HFhaz.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-bvyrPA_v.js → frozen-session-identity-CF594WMJ.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-Cb4ufYMy.js → gelatiere-unit-BnExmaTM.js} +1 -1
- package/dist/ui/assets/{ghostty-vt-BeUP0ymd.wasm → ghostty-vt--DTGF19l.wasm} +0 -0
- package/dist/ui/assets/{github-D6ABE0-R.js → github-BrjjZAsX.js} +1 -1
- package/dist/ui/assets/{github-MjQRJghz.js → github-C6Rd03wJ.js} +1 -1
- package/dist/ui/assets/{github-copilot-DzbXKZtj.js → github-copilot-DqpGzQw_.js} +1 -1
- package/dist/ui/assets/{github-copilot-D6lNv_9-.js → github-copilot-_OyzohK5.js} +1 -1
- package/dist/ui/assets/{hear-AGuOYMWS.js → hear-BN5luL3S.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-ChQxP0KX.js → js-realm-worker-DUoX2h5j.js} +2 -2
- package/dist/ui/assets/{jsh-executor-75tLym35.js → jsh-executor-B_ddQzto.js} +2 -2
- package/dist/ui/assets/{kernel-worker-BnbHshZp.js → kernel-worker-MybuXyBd.js} +8 -8
- package/dist/ui/assets/{lick-ws-bridge-6FEM7X9M.js → lick-ws-bridge-CPjy5dPn.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-BPZTVU5Z.js → lick-ws-bridge-DEmDlxVR.js} +1 -1
- package/dist/ui/assets/{live-session-curation-BM7-y_ky.js → live-session-curation-C9AY4psl.js} +1 -1
- package/dist/ui/assets/{live-session-curation-Kj71P6dK.js → live-session-curation-ChkffqSA.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-DywJwCkI.js → live-session-snapshot-DwWIWtG9.js} +1 -1
- package/dist/ui/assets/{local-llm-_Vv5kgAi.js → local-llm-B-KVBQuy.js} +1 -1
- package/dist/ui/assets/{local-llm-CWvkEx1Y.js → local-llm-BI7bYfoc.js} +1 -1
- package/dist/ui/assets/{main-cherry-C242PEw0.js → main-cherry-CQgQpSib.js} +1 -1
- package/dist/ui/assets/{main-CraGyWI5.js → main-pp1LzVcX.js} +3 -3
- package/dist/ui/assets/{mcp-command-BabmvfAi.js → mcp-command-B779bOTK.js} +10 -10
- package/dist/ui/assets/{memory-curation-seam-ETLJrcCv.js → memory-curation-seam-ByPo8cGi.js} +1 -1
- package/dist/ui/assets/{memory-health-DS1GE6Db.js → memory-health-DcxlUrXc.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-gi5xCQnL.js → memory-write-execute-CKI-9ZAP.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-B6zMyDMc.js → merge-folded-cost-into-frozen-DIYTak4p.js} +1 -1
- package/dist/ui/assets/{new-session-ERMxClkz.js → new-session-g_r_qcmc.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-bG8L_Eoa.js → oauth-bootstrap-DreVl6g7.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-DHS8hPJJ.js → onboarding-orchestrator-C2EOhp34.js} +1 -1
- package/dist/ui/assets/{openai-codex-DKIssXwD.js → openai-codex-B8pw-NWl.js} +1 -1
- package/dist/ui/assets/{openai-codex-CGrqWES0.js → openai-codex-C4Tm1S2D.js} +1 -1
- package/dist/ui/assets/{openrouter-ZVV6FVqk.js → openrouter-B0EqwIn3.js} +1 -1
- package/dist/ui/assets/{openrouter-si1rvDmH.js → openrouter-CzQ8Mfh0.js} +1 -1
- package/dist/ui/assets/{openrouter-free-BL-82nwO.js → openrouter-free-Cl4RHvyD.js} +1 -1
- package/dist/ui/assets/{openrouter-free-TVKDr4Ci.js → openrouter-free-CpKJupv_.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Do5xCmz5.js → openrouter-oauth-0yFjXvrc.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-C0BSjkp9.js → openrouter-oauth-BRahdbZ4.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-DoEdFmZH.js → panel-rpc-handlers-GkEWjrsh.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BbOMOerL.js → panelize-shell-CtMH6CGD.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-sHOLEMOO.js → pi-edit-execution-ru_RSE31.js} +1 -1
- package/dist/ui/assets/{provider-BNzD2VCf.js → provider-Dm5ZNpu9.js} +1 -1
- package/dist/ui/assets/{provider-DTbC8IiQ.js → provider-qOOj0Bx4.js} +1 -1
- package/dist/ui/assets/{provider-settings-Hf5Vr2vr.js → provider-settings-Dts8qnq0.js} +1 -1
- package/dist/ui/assets/provider-store-access-C_mdEz_o.js +1 -0
- package/dist/ui/assets/provider-store-access-TfpqgcQb.js +1 -0
- package/dist/ui/assets/{providers-CH0N1Hn6.js → providers-CEBpTOtO.js} +2 -2
- package/dist/ui/assets/{providers-DXT44kfO.js → providers-IksVbHjy.js} +1 -1
- package/dist/ui/assets/{quick-llm-95xYFP4C.js → quick-llm-BKYqGAke.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-BJztShpA.js → realm-inprocess-ZgBNrBFy.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-DLGlX1JV.js → realm-unhandled-rejections-Dlau5E21.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-VCxk3AmS.js → realm-unhandled-rejections-VXmx0XIB.js} +1 -1
- package/dist/ui/assets/{recovery-screen-C4ccpr6-.js → recovery-screen-NNWQWNqn.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-CbmgWziL.js → remote-terminal-view-oOTCkn_X.js} +2 -2
- package/dist/ui/assets/{restore-D14e8jg_.js → restore-zlhvIM6j.js} +1 -1
- package/dist/ui/assets/{run-CAghXwX-.js → run-BGO-UaQS.js} +1 -1
- package/dist/ui/assets/{run-Dt6bu0ib.js → run-BY-WnPWq.js} +2 -2
- package/dist/ui/assets/{run-BNk3oV9Y.js → run-DD-Zc-AI.js} +2 -2
- package/dist/ui/assets/{run-CctUty19.js → run-DfaMtqBW.js} +1 -1
- package/dist/ui/assets/{serve-command-CwZwH2sF.js → serve-command-Bkb8RYZg.js} +2 -2
- package/dist/ui/assets/{serve-runtime-CUY8Qryz.js → serve-runtime-BWUwkiqv.js} +1 -1
- package/dist/ui/assets/{session-command-memory-NpuNEURz.js → session-command-memory-nKG4sb28.js} +2 -2
- package/dist/ui/assets/{session-jsonl-D4p25wJo.js → session-jsonl-B5phOLgv.js} +1 -1
- package/dist/ui/assets/{session-jsonl-2Dg1Jgyg.js → session-jsonl-Ca8gi9Dg.js} +1 -1
- package/dist/ui/assets/{session-search-index-BjKWodVu.js → session-search-index-tweAFlvW.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-CjVU1qOg.js → setup-feature-flags-remote-Bnrz-kqW.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-BdD735K3.js → setup-model-catalog-DPoX_vRY.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-C5-VfSnD.js → silent-renew-backoff-CMGVLIXZ.js} +1 -1
- package/dist/ui/assets/slicc-version-D9VMviCR.js +1 -0
- package/dist/ui/assets/{soundscape-CQ9qZd-p.js → soundscape-DtFo8gPx.js} +1 -1
- package/dist/ui/assets/{speak-CSIK-Yvk.js → speak-BNqo53H8.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-Cn-J2bbA.js → sprinkle-manager-KZBan5ot.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-BUkonV7E.js → sprinkle-renderer-GOx0t_KB.js} +1 -1
- package/dist/ui/assets/{sudo-EZzi8bkV.js → sudo-CfhS3XDc.js} +1 -1
- package/dist/ui/assets/{supervisor-CUgH4wzz.js → supervisor-DXke_KPH.js} +1 -1
- package/dist/ui/assets/{sync-dialog-D4gXHIgq.js → sync-dialog-B4XIyWlR.js} +1 -1
- package/dist/ui/assets/{transformers-env-Dm_MXKYG.js → transformers-env-C6_kFf6e.js} +1 -1
- package/dist/ui/assets/{tray-leader-BUSNq_Gl.js → tray-leader-CrSh1Fel.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-DEwFa7lI.js → tray-leave-runtime-wJkN1AA0.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-CKjdtBdU.js → tray-sidecar-DlOOGPQH.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DZ35XKwJ.js → upgrade-detection-Ct24ndl7.js} +1 -1
- package/dist/ui/assets/{voice-reply-CaYhBRdn.js → voice-reply-CxXL_kEA.js} +1 -1
- package/dist/ui/assets/warm-wterm-DQwmz7G4.js +1 -0
- package/dist/ui/assets/wasm-inline-DSUyFn1L.js +1 -0
- package/dist/ui/assets/{wc-attach-C9rxulO7.js → wc-attach-Cmjdm23i.js} +2 -2
- package/dist/ui/assets/{wc-browser-6Ul-SEOZ.js → wc-browser-SUzkjJTA.js} +1 -1
- package/dist/ui/assets/{wc-computers-sDur6b13.js → wc-computers-BrBtwbOb.js} +1 -1
- package/dist/ui/assets/{wc-detached-9ariBwmo.js → wc-detached-cVeDn3rP.js} +1 -1
- package/dist/ui/assets/{wc-extension-CaXN-GTk.js → wc-extension-VohpgpQG.js} +2 -2
- package/dist/ui/assets/{wc-follower-B1AULTlR.js → wc-follower-BfOmPsV0.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-L5HBJRH7.js → wc-follower-oauth-Br9RPRQJ.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-CWTa_Fw1.js → wc-gelatiere-WQR5AxZ9.js} +1 -1
- package/dist/ui/assets/{wc-live-CBQLeEAN.js → wc-live-Bj38qUgj.js} +5 -5
- package/dist/ui/assets/{wc-nav-D-qT15R2.js → wc-nav-BHy21Jl4.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-C30JW8KM.js → wc-onboarding-DooXTaWX.js} +2 -2
- package/dist/ui/assets/{wc-permissions-Do9-WSJc.js → wc-permissions-CUtqnNV2.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-B67JnHl5.js → wc-placeholder-Ca_dzZDr.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-BaJdvYlQ.js → wc-secret-request-CxHPy2MF.js} +1 -1
- package/dist/ui/assets/{wc-settings-D8XLxkCT.js → wc-settings-Bf68mx0s.js} +3 -3
- package/dist/ui/assets/{wc-shell-BOiMEPvK.js → wc-shell-C0Y0f1tt.js} +234 -20
- package/dist/ui/assets/{wc-shortcut-config-B9YZlZ95.js → wc-shortcut-config-CkCG_Ehd.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-PlC39bUS.js → wc-sprinkles-BlFVp_Zu.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-BLI_0Glp.js → wc-transcript-export-DWFK7w_9.js} +2 -2
- package/dist/ui/assets/{wc-tray-DWLWOtPX.js → wc-tray-BU_mkrQK.js} +4 -4
- package/dist/ui/assets/welcome-detection-3uAUZPVw.js +1 -0
- package/dist/ui/assets/{whisper-session-CoIpux2Q.js → whisper-session-7VWAVhAF.js} +2 -2
- package/dist/ui/assets/{xai-grok-B5uojC5R.js → xai-grok-6WPJsfyI.js} +1 -1
- package/dist/ui/assets/{xai-grok-Xb6FZ1vE.js → xai-grok-Cl-8KspF.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/dist-CaUJj_g5.js +0 -1
- package/dist/ui/assets/dist-DBSQLDw2.js +0 -1
- package/dist/ui/assets/provider-store-access-BiWdVR9d.js +0 -1
- package/dist/ui/assets/provider-store-access-D3dRz2B4.js +0 -1
- package/dist/ui/assets/slicc-version-Cf9JtZVj.js +0 -1
- package/dist/ui/assets/welcome-detection-BXOFjfMt.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t}from"./feature-flags-DvsApnS-.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./tray-follower-status-BAjnN7Ar.js";import{n as i}from"./clipboard-eqmn97SP.js";import{S as a,g as o,o as s}from"./main-CraGyWI5.js";import{r as c}from"./tray-leader-BUSNq_Gl.js";import{o as l}from"./record-DtD74Jn0.js";import{_ as u,c as d,s as f,v as p}from"./wc-live-CBQLeEAN.js";import{o as m}from"./wc-unit-context-D5liISq3.js";function h(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function g(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function _(e,t,n){try{let r=t();e.setAttribute(`model`,r.name??r.id),n&&(e.selectedModelId=n())}catch{}}function v(e,n){let r=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...n?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return t(`experimental-settings`)&&r.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),r}function y(e,t){return()=>{e.models=g(t()),p()}}function b(e,t,n){return()=>_(e,t,()=>{let e=t();return`${n()}:${e.id}`})}function x(e,t,n){return()=>{let r=h(t()),i=e.avatarMenu.querySelector(`slicc-avatar`),a=e.inputCard.querySelector(`slicc-send-button`);if(r){i?.removeAttribute(`initials`),i?.setAttribute(`name`,r.name),r.avatarUrl&&(i?.setAttribute(`src`,r.avatarUrl),a?.setAttribute(`src`,r.avatarUrl)),e.avatarMenu.user={name:r.name,provider:r.provider};return}i?.removeAttribute(`name`),i?.removeAttribute(`src`),i?.removeAttribute(`initials`),a?.removeAttribute(`src`),e.avatarMenu.user={name:`SLICC`,provider:n?`extension`:`standalone`}}}async function S(t){let{refs:i,client:a,log:o,onExportTranscript:l}=t,{getAllAvailableModels:u,getAccounts:d,getSelectedProvider:f,resolveCurrentModel:p}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}=await import(`./main-CraGyWI5.js`).then(e=>e.i);return{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),m=y(i.composerMeta,u),h=b(i.composerMeta,p,f);m();let g=null;await N(i,a,t.workUnits,t.getUnits,()=>{let e=g;g=null,e!=null&&i.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let _=n(),S=x(i,d,_);S();let O=()=>{if(_)return[];let e=s(c(),r()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},P=new URLSearchParams(window.location.search).has(`detached`),I=()=>_&&!P?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],L=!1,R=()=>{i.avatarMenu.items=[...v(L,!!t.shortcuts),...I(),...O()]};R(),i.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&R()});let z=C(o,m,S,()=>a.updateModel());t.shortcuts?.setAction(`accounts`,z);let B=w(o,T(t)),V=E(o);D(i,o),i.avatarMenu.addEventListener(`slicc-avatar-action`,n=>{let r=n.detail?.id;if(r&&k(r,o)){R();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-9ariBwmo.js`);return{requestDetachedPopout:e}},__vite__mapDeps([39,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])).then(({requestDetachedPopout:e})=>e()).catch(e=>o.error(`detached popout request failed`,e));return}r===`shortcuts`&&t.shortcuts?.showHelp(),r===`settings`&&z(),r===`theme`&&B(),r===`experimental-settings`&&V(),r===`export-transcript`&&l&&(L=!0,R(),l().finally(()=>{L=!1,R()}))}),i.composerMeta.addEventListener(`add-ai`,z),A(i,z),j({refs:i,log:o,openSettings:z,setPendingReplayMessageId:e=>{g=e}}),await M({refs:i,log:o,openSettings:z,refreshModels:m,applyIdentity:S,client:a}),await F({refreshModels:m,refreshModelPill:h,applyIdentity:S,client:a})}function C(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-D8XLxkCT.js`);return{showWcSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function w(t,n){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-D8XLxkCT.js`);return{showThemeSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showThemeSettings:e})=>e(t,n?{getTrigger:n.getTrigger,setTrigger:n.setTrigger,persistTrigger:n.persistTrigger}:void 0)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function T(e){let t=e.shortcuts;if(t)return{getTrigger:()=>t.trigger(),setTrigger:e=>t.setTrigger(e),persistTrigger:e.persistKeyboardTrigger}}function E(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-D8XLxkCT.js`);return{showExperimentalSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function D(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{O(t,{copy:!1,initialTab:`status`})})}function O(t,n){let r=c().session?.joinUrl;r&&(n.copy&&i(r).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([51,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-D4gXHIgq.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([52,28,38,1,45,53,3,4,41,42,17,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,46,54,55,56,57,58,59,60,61,49,48,47,62,63,37,0,2,64,65,66,67,68,69,70,71,72,73,74,75]));t({joinUrl:r,copied:n.copy,initialTab:n.initialTab,followers:f(),onReset:d()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function k(e,t){return e===`tray-enable`?(a({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:o}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(O(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function A(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function j(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function M(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-CraGyWI5.js`).then(e=>e.i);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function N(t,n,r,i,a){let{resolveModelById:o,resolveCurrentModel:s,setSelectedModelId:c}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-CraGyWI5.js`).then(e=>e.i);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),l=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},u=e=>{try{let n=e?o(l(e)):s();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};u(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,o=t?.id;o&&t?.source!==`follower`&&(c(o),u(o),P(n,r,i(),o),a?.())})}async function P(e,t,n,r,i=u){let a=l(r);if(!a)return!1;let o=e.selectedScoopJid,s=m(n,o?{id:o}:null);if(!s)return!1;let c=await t.setModel(s.id,a);return c&&i(),c===!0}async function F(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-CraGyWI5.js`).then(e=>e.i);return{getAccounts:e,getProviderConfig:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{S as wireWcNav};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-pp1LzVcX.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-EUAU8ivx.js","assets/providers-CEBpTOtO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/telemetry-B0sKnLBU.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/wc-detached-cVeDn3rP.js","assets/wc-settings-Bf68mx0s.js","assets/wc-shell-C0Y0f1tt.js","assets/mime-types-D0xZwlMO.js","assets/same-file-identity-OexpsaSD.js","assets/types-D8gIX-W-.js","assets/icons-BUdZEBvI.js","assets/wc-shell-WkeczD9x.css","assets/slugify-BYJ6QVAt.js","assets/theme-engine-ZV7CeqWw.js","assets/theme-CwPIBqJE.js","assets/discovery-preference-D8GXCv8i.js","assets/legacy-styles-B3nS5QUo.js","assets/sync-dialog-B4XIyWlR.js","assets/wc-live-Bj38qUgj.js","assets/sprinkle-renderer-GOx0t_KB.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-v1mGAdRY.js","assets/shared-DSEuryGJ.js","assets/transcript-export-DP-r8eDz.js","assets/frozen-archive-writer-DV8CfTGq.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/browser-Chc3wUwj.js","assets/tray-leader-CrSh1Fel.js","assets/record-DtD74Jn0.js","assets/descriptor-1ECGTjSt.js","assets/types-CFfBWsH5.js","assets/frozen-session-identity-CF594WMJ.js","assets/session-jsonl-B5phOLgv.js","assets/live-session-curation-ChkffqSA.js","assets/thinking-level-DCJktR5U.js","assets/wc-unit-context-D5liISq3.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t}from"./feature-flags-DvsApnS-.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./tray-follower-status-BAjnN7Ar.js";import{n as i}from"./clipboard-eqmn97SP.js";import{S as a,g as o,o as s}from"./main-pp1LzVcX.js";import{r as c}from"./tray-leader-CrSh1Fel.js";import{o as l}from"./record-DtD74Jn0.js";import{_ as u,c as d,s as f,v as p}from"./wc-live-Bj38qUgj.js";import{o as m}from"./wc-unit-context-D5liISq3.js";function h(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function g(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function _(e,t,n){try{let r=t();e.setAttribute(`model`,r.name??r.id),n&&(e.selectedModelId=n())}catch{}}function v(e,n){let r=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...n?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return t(`experimental-settings`)&&r.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),r}function y(e,t){return()=>{e.models=g(t()),p()}}function b(e,t,n){return()=>_(e,t,()=>{let e=t();return`${n()}:${e.id}`})}function x(e,t,n){return()=>{let r=h(t()),i=e.avatarMenu.querySelector(`slicc-avatar`),a=e.inputCard.querySelector(`slicc-send-button`);if(r){i?.removeAttribute(`initials`),i?.setAttribute(`name`,r.name),r.avatarUrl&&(i?.setAttribute(`src`,r.avatarUrl),a?.setAttribute(`src`,r.avatarUrl)),e.avatarMenu.user={name:r.name,provider:r.provider};return}i?.removeAttribute(`name`),i?.removeAttribute(`src`),i?.removeAttribute(`initials`),a?.removeAttribute(`src`),e.avatarMenu.user={name:`SLICC`,provider:n?`extension`:`standalone`}}}async function S(t){let{refs:i,client:a,log:o,onExportTranscript:l}=t,{getAllAvailableModels:u,getAccounts:d,getSelectedProvider:f,resolveCurrentModel:p}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}=await import(`./main-pp1LzVcX.js`).then(e=>e.i);return{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),m=y(i.composerMeta,u),h=b(i.composerMeta,p,f);m();let g=null;await N(i,a,t.workUnits,t.getUnits,()=>{let e=g;g=null,e!=null&&i.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let _=n(),S=x(i,d,_);S();let O=()=>{if(_)return[];let e=s(c(),r()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},P=new URLSearchParams(window.location.search).has(`detached`),I=()=>_&&!P?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],L=!1,R=()=>{i.avatarMenu.items=[...v(L,!!t.shortcuts),...I(),...O()]};R(),i.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&R()});let z=C(o,m,S,()=>a.updateModel());t.shortcuts?.setAction(`accounts`,z);let B=w(o,T(t)),V=E(o);D(i,o),i.avatarMenu.addEventListener(`slicc-avatar-action`,n=>{let r=n.detail?.id;if(r&&k(r,o)){R();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-cVeDn3rP.js`);return{requestDetachedPopout:e}},__vite__mapDeps([39,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])).then(({requestDetachedPopout:e})=>e()).catch(e=>o.error(`detached popout request failed`,e));return}r===`shortcuts`&&t.shortcuts?.showHelp(),r===`settings`&&z(),r===`theme`&&B(),r===`experimental-settings`&&V(),r===`export-transcript`&&l&&(L=!0,R(),l().finally(()=>{L=!1,R()}))}),i.composerMeta.addEventListener(`add-ai`,z),A(i,z),j({refs:i,log:o,openSettings:z,setPendingReplayMessageId:e=>{g=e}}),await M({refs:i,log:o,openSettings:z,refreshModels:m,applyIdentity:S,client:a}),await F({refreshModels:m,refreshModelPill:h,applyIdentity:S,client:a})}function C(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-Bf68mx0s.js`);return{showWcSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function w(t,n){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-Bf68mx0s.js`);return{showThemeSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showThemeSettings:e})=>e(t,n?{getTrigger:n.getTrigger,setTrigger:n.setTrigger,persistTrigger:n.persistTrigger}:void 0)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function T(e){let t=e.shortcuts;if(t)return{getTrigger:()=>t.trigger(),setTrigger:e=>t.setTrigger(e),persistTrigger:e.persistKeyboardTrigger}}function E(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-Bf68mx0s.js`);return{showExperimentalSettings:e}},__vite__mapDeps([40,3,41,1,4,42,17,28,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,45,46,47,48,49,50])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function D(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{O(t,{copy:!1,initialTab:`status`})})}function O(t,n){let r=c().session?.joinUrl;r&&(n.copy&&i(r).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([51,3])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-B4XIyWlR.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([52,28,38,1,45,53,3,4,41,42,17,29,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,43,36,44,46,54,55,56,57,58,59,60,61,49,48,47,62,63,37,0,2,64,65,66,67,68,69,70,71,72,73,74,75]));t({joinUrl:r,copied:n.copy,initialTab:n.initialTab,followers:f(),onReset:d()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function k(e,t){return e===`tray-enable`?(a({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:o}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(O(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function A(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function j(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function M(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-pp1LzVcX.js`).then(e=>e.i);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function N(t,n,r,i,a){let{resolveModelById:o,resolveCurrentModel:s,setSelectedModelId:c}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-pp1LzVcX.js`).then(e=>e.i);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),l=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},u=e=>{try{let n=e?o(l(e)):s();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};u(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,o=t?.id;o&&t?.source!==`follower`&&(c(o),u(o),P(n,r,i(),o),a?.())})}async function P(e,t,n,r,i=u){let a=l(r);if(!a)return!1;let o=e.selectedScoopJid,s=m(n,o?{id:o}:null);if(!s)return!1;let c=await t.setModel(s.id,a);return c&&i(),c===!0}async function F(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-pp1LzVcX.js`).then(e=>e.i);return{getAccounts:e,getProviderConfig:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{S as wireWcNav};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{b as n}from"./main-CraGyWI5.js";import{n as r,t as i}from"./record-DtD74Jn0.js";import{G as a,V as o,W as s}from"./wc-live-CBQLeEAN.js";var c=t(`welcome-detection`),l=`/shared/.welcomed`,u=`browser-coding-agent`,d=1,f=`sessions`,p=r({folder:i}),m=`[Sprinkle Event: welcome]`;function h(){return new Promise((e,t)=>{let n=indexedDB.open(u,d);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(f)||e.createObjectStore(f,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function g(){return h().catch(()=>new Promise((e,t)=>{setTimeout(()=>{h().then(e,t)},120)}))}async function _(){let e=await g();try{return await new Promise((t,n)=>{let r=e.transaction(f,`readonly`).objectStore(f).get(p);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function v(){let[e,t]=await Promise.all([y().catch(e=>(c.warn(`Failed to read the cone conversation record`,{error:b(e)}),[])),_().catch(e=>(c.warn(`Failed to read the legacy cone chat session`,{error:b(e)}),null))]),n=Array.isArray(t?.messages)?t.messages:[];return[...e,...n]}async function y(){return(await new a(new s).loadRootChatSession(`cone`))?.messages??[]}function b(e){return e instanceof Error?e.message:String(e)}async function x(){try{return(await v()).some(e=>S(e))}catch(e){return c.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function S(e){let t=e.content;return typeof t==`string`?t.includes(m):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(m);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(m)}return!1}):!1}async function C(e){let t=!1;try{t=await e.exists(l)}catch(e){return c.warn(`Failed to read welcomed marker`,{path:l,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await x()?{isFirstRun:!1}:{isFirstRun:!0}}async function w(e){await e.writeFile(l,`1`)}var T=`"action":"onboarding-complete-with-provider"`;function E(e){let t=e.content;return typeof t==`string`?t.includes(T):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(T);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(T)}return!1}):!1}async function D(){try{return(await v()).some(e=>E(e))}catch(e){return c.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function O(e){let{vfs:t,storage:r,firedWelcomeActions:i,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;n(r)||C(t).then(e=>{if(e.isFirstRun){if(i.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}i.add(`first-run`),a(i),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function k(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function A(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function j(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function M(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-DHS8hPJJ.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>j(t.providers),saveAccount:(e,n,r,i,a)=>t.providers.addAccount(e,n,r,i,a),setSelectedModel:e=>t.providers.setSelectedModelId(e),resolveModelLabel:(e,n)=>{try{return t.providers.getProviderModels(e).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:e=>t.broadcastToDip(e),fireFinalLick:e=>t.onFireFinalLick(e),onAccountsChanged:t.onAccountsChanged?()=>t.onAccountsChanged?.():void 0,launchOAuth:async(e,n)=>await N(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>j(t.providers)}}async function N(t,n,r){try{let i=r.providers.getProviderConfig(t);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(t,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=await t();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:A(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var P=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),F=`slicc:welcome-flow-fired`;function I(){try{let e=typeof localStorage<`u`?localStorage.getItem(F):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function L(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(F,JSON.stringify([...e]))}catch{}}function R(e,t,n,r,i){if(P.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}P.has(e)&&(t.add(e),L(t)),n()}var z=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`,`gelatiere-dismiss`,`gelatiere-install`,`gelatiere-try`]);function B(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`||e.sprinkleName===`suggestions`?e.body?.action:void 0;if(f&&P.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),L(t)}if(!f||!z.has(f))return!1;let p=e.body;return Y(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function V(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function H(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function U(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:V(n,`baseUrl`),deployment:V(n,`deployment`),apiVersion:V(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function W(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:V(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var G={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":H,"connect-ready":(e,t)=>X(t),"connect-attempt":U,"oauth-attempt":W,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0),"gelatiere-dismiss":(e,t)=>(J(e,t,`dismiss`),!0),"gelatiere-install":(e,t)=>(J(e,t,`take`),!1),"gelatiere-try":(e,t)=>(J(e,t,`take`),!1)},K;function q(){return K??=e(()=>import(`./wc-shell-BOiMEPvK.js`).then(e=>e.mt),__vite__mapDeps([13,6,4,1,14,7,15,16,17,18,19,20,21,22,23,24,25,26,27,5,8,9,10,28,29,30,31,11,32,33,34,35,36,37,38,39,40,41,42,43,44])),K}function J(e,t,n){let r=e?.data?.id;if(typeof r!=`string`||!r||!t.vfs)return;let i=t.vfs;q().then(({dismissGelatiereSuggestion:e,takeGelatiereSuggestion:t})=>n===`take`?t(i,r):e(i,r)).catch(e=>t.log.warn(`Failed to settle gelatiere suggestion`,e))}function Y(e,t,n){return G[e]?.(t,n)??!1}function X(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),Z(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function Z(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-BXOFjfMt.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=t?await Q(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-CraGyWI5.js`).then(e=>e.i);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([45,6,46,4,1,17,18,19,20,21,22,23,24,25,26,27,5,7,8,9,10,28,29,30,31,11,32,33,15,16,34,35,36,37,38,39,41,47,48])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function Q(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function $(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function ee(t){let{client:n,getController:r,openVfs:i,log:a}=t,s=await e(()=>import(`./main-CraGyWI5.js`).then(e=>e.i),__vite__mapDeps([45,6,46,4,1,17,18,19,20,21,22,23,24,25,26,27,5,7,8,9,10,28,29,30,31,11,32,33,15,16,34,35,36,37,38,39,41,47,48])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=$(await i()),d=I(),f=e=>{let t=r();t?t.addAssistantMessage(e):a.warn(`WC onboarding: no controller to post welcome line`)},p=await M({fs:u,log:a,providers:s,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>o(e),onFireFinalLick:e=>{k(n),R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,a)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){a.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=B({firedWelcomeActions:d,getAccounts:s.getAccounts,getProviderConfig:s.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,a)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return s.getProviderConfig(e)?.name??null}catch{return null}})();o({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>a.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:a});return O({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:L,getOrchestrator:()=>p.get(),log:a}),{interceptWelcomeLick:m}}export{w as i,D as n,x as r,C as t,ee as wireWcOnboarding};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-C2EOhp34.js","assets/logger-DDBAeTLF.js","assets/slugify-BYJ6QVAt.js","assets/oauth-service-GpUOM3Aw.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-4VBgrEIu.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-shell-C0Y0f1tt.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-EUAU8ivx.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CEBpTOtO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BUdZEBvI.js","assets/wc-shell-WkeczD9x.css","assets/main-pp1LzVcX.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{b as n}from"./main-pp1LzVcX.js";import{n as r,t as i}from"./record-DtD74Jn0.js";import{G as a,V as o,W as s}from"./wc-live-Bj38qUgj.js";var c=t(`welcome-detection`),l=`/shared/.welcomed`,u=`browser-coding-agent`,d=1,f=`sessions`,p=r({folder:i}),m=`[Sprinkle Event: welcome]`;function h(){return new Promise((e,t)=>{let n=indexedDB.open(u,d);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(f)||e.createObjectStore(f,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function g(){return h().catch(()=>new Promise((e,t)=>{setTimeout(()=>{h().then(e,t)},120)}))}async function _(){let e=await g();try{return await new Promise((t,n)=>{let r=e.transaction(f,`readonly`).objectStore(f).get(p);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function v(){let[e,t]=await Promise.all([y().catch(e=>(c.warn(`Failed to read the cone conversation record`,{error:b(e)}),[])),_().catch(e=>(c.warn(`Failed to read the legacy cone chat session`,{error:b(e)}),null))]),n=Array.isArray(t?.messages)?t.messages:[];return[...e,...n]}async function y(){return(await new a(new s).loadRootChatSession(`cone`))?.messages??[]}function b(e){return e instanceof Error?e.message:String(e)}async function x(){try{return(await v()).some(e=>S(e))}catch(e){return c.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function S(e){let t=e.content;return typeof t==`string`?t.includes(m):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(m);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(m)}return!1}):!1}async function C(e){let t=!1;try{t=await e.exists(l)}catch(e){return c.warn(`Failed to read welcomed marker`,{path:l,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await x()?{isFirstRun:!1}:{isFirstRun:!0}}async function w(e){await e.writeFile(l,`1`)}var T=`"action":"onboarding-complete-with-provider"`;function E(e){let t=e.content;return typeof t==`string`?t.includes(T):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(T);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(T)}return!1}):!1}async function D(){try{return(await v()).some(e=>E(e))}catch(e){return c.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function O(e){let{vfs:t,storage:r,firedWelcomeActions:i,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;n(r)||C(t).then(e=>{if(e.isFirstRun){if(i.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}i.add(`first-run`),a(i),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function k(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function A(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function j(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function M(t){let{OnboardingOrchestrator:n}=await e(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-C2EOhp34.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2])),r=null;return{get:()=>r||(r=new n({fs:t.fs,postSystemMessage:t.postSystemMessage,postDipReference:t.postDipReference,getProviderCatalogue:()=>j(t.providers),saveAccount:(e,n,r,i,a)=>t.providers.addAccount(e,n,r,i,a),setSelectedModel:e=>t.providers.setSelectedModelId(e),resolveModelLabel:(e,n)=>{try{return t.providers.getProviderModels(e).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:e=>t.broadcastToDip(e),fireFinalLick:e=>t.onFireFinalLick(e),onAccountsChanged:t.onAccountsChanged?()=>t.onAccountsChanged?.():void 0,launchOAuth:async(e,n)=>await N(e,n??null,t)}),r),peek:()=>r,buildCatalogue:()=>j(t.providers)}}async function N(t,n,r){try{let i=r.providers.getProviderConfig(t);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(t,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=await t();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e}},__vite__mapDeps([3,4,5,6,7,8,9,10,11,12])),n=t();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:A(t,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var P=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),F=`slicc:welcome-flow-fired`;function I(){try{let e=typeof localStorage<`u`?localStorage.getItem(F):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function L(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(F,JSON.stringify([...e]))}catch{}}function R(e,t,n,r,i){if(P.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}P.has(e)&&(t.add(e),L(t)),n()}var z=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`,`gelatiere-dismiss`,`gelatiere-install`,`gelatiere-try`]);function B(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`||e.sprinkleName===`suggestions`?e.body?.action:void 0;if(f&&P.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),L(t)}if(!f||!z.has(f))return!1;let p=e.body;return Y(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function V(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function H(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function U(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:V(n,`baseUrl`),deployment:V(n,`deployment`),apiVersion:V(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function W(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:V(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var G={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":H,"connect-ready":(e,t)=>X(t),"connect-attempt":U,"oauth-attempt":W,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0),"gelatiere-dismiss":(e,t)=>(J(e,t,`dismiss`),!0),"gelatiere-install":(e,t)=>(J(e,t,`take`),!1),"gelatiere-try":(e,t)=>(J(e,t,`take`),!1)},K;function q(){return K??=e(()=>import(`./wc-shell-C0Y0f1tt.js`).then(e=>e.mt),__vite__mapDeps([13,6,4,1,14,7,15,16,17,18,19,20,21,22,23,24,25,26,27,5,8,9,10,28,29,30,31,11,32,33,34,35,36,37,38,39,40,41,42,43,44])),K}function J(e,t,n){let r=e?.data?.id;if(typeof r!=`string`||!r||!t.vfs)return;let i=t.vfs;q().then(({dismissGelatiereSuggestion:e,takeGelatiereSuggestion:t})=>n===`take`?t(i,r):e(i,r)).catch(e=>t.log.warn(`Failed to settle gelatiere suggestion`,e))}function Y(e,t,n){return G[e]?.(t,n)??!1}function X(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),Z(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function Z(t,n,r){let{hasOnboardingFinalLickInHistory:i}=await e(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-3uAUZPVw.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=t?await Q(t):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await e(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-pp1LzVcX.js`).then(e=>e.i);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([45,6,46,4,1,17,18,19,20,21,22,23,24,25,26,27,5,7,8,9,10,28,29,30,31,11,32,33,15,16,34,35,36,37,38,39,41,47,48])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function Q(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function $(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function ee(t){let{client:n,getController:r,openVfs:i,log:a}=t,s=await e(()=>import(`./main-pp1LzVcX.js`).then(e=>e.i),__vite__mapDeps([45,6,46,4,1,17,18,19,20,21,22,23,24,25,26,27,5,7,8,9,10,28,29,30,31,11,32,33,15,16,34,35,36,37,38,39,41,47,48])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await e(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=$(await i()),d=I(),f=e=>{let t=r();t?t.addAssistantMessage(e):a.warn(`WC onboarding: no controller to post welcome line`)},p=await M({fs:u,log:a,providers:s,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>o(e),onFireFinalLick:e=>{k(n),R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,a)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){a.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=B({firedWelcomeActions:d,getAccounts:s.getAccounts,getProviderConfig:s.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,a)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return s.getProviderConfig(e)?.name??null}catch{return null}})();o({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>a.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:a});return O({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:L,getOrchestrator:()=>p.get(),log:a}),{interceptWelcomeLick:m}}export{w as i,D as n,x as r,C as t,ee as wireWcOnboarding};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-qcWGbpG5.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/remote-terminal-view-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-qcWGbpG5.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/remote-terminal-view-oOTCkn_X.js","assets/preload-helper-Czpn1I53.js","assets/tool-ui-eSQ1g2I1.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/browser-Chc3wUwj.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-v1mGAdRY.js","assets/terminal-session-client-DmE-iBjP.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{n}from"./permissions-surface-registry-CilCRwhh.js";var r=t(`wc-permissions`);function i(){return`pendingMount:perm-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function a(e){if(e.runtimeMode===`cherry`)return null;let t=e.host??document.body,r=document.createElement(`slicc-permissions`);r.setAttribute(`data-leader-permissions`,``),e.providers&&(r.providers=e.providers),t.appendChild(r),n(r);let i=e=>{let t=e.detail;t.kind===`filesystem`&&t.source===`drop`&&o(t.handle).then(e=>{document.dispatchEvent(new CustomEvent(`slicc-mount-pending`,{detail:{idbKey:e,dirName:t.handle.name,source:`drop`},bubbles:!0,composed:!0}))})};return r.addEventListener(`slicc-permission-grant`,i),{element:r,dispose(){r.removeEventListener(`slicc-permission-grant`,i),r.remove(),n(null)}}}async function o(t){let n=i();try{let{storePendingHandle:r}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await r(n,t)}catch(e){throw r.warn(`failed to stash dropped handle`,{error:e instanceof Error?e.message:String(e)}),e}return n}var s=`__sliccMountPendingConsumer`;function c(e){let t=new Set;for(let n of e.split(`
|
|
3
|
-
`)){let e=n.trim();if(!e||e===`No active mounts`)continue;let r=e.split(/\s+/)[0];r.startsWith(`/`)&&t.add(r)}return t}function l(e){return e.trim().replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``)||`folder`}function u(e,t){let n=`/mnt/${e}`,r=2;for(;t.has(n);)n=`/mnt/${e}-${r++}`;return n}function d(e){let t=e.doc??document,n=t;if(n[s])return()=>{};n[s]=!0;let i=Promise.resolve(),a=t=>{let n=t.detail;n?.idbKey&&(i=i.then(()=>f(n,e)).catch(e=>{r.error(`slicc-mount-pending consumer failed`,{error:e instanceof Error?e.message:String(e)})}))};return t.addEventListener(`slicc-mount-pending`,a),()=>{t.removeEventListener(`slicc-mount-pending`,a),n[s]=!1}}async function f(e,t){let n=t.loadHandle??(await p()).loadAndClearPendingHandle,i=t.storeHandle??(await p()).storePendingHandle,a=t.mountKeyFor??await m(),o;try{o=await n(e.idbKey)}catch(t){r.warn(`failed to read pending handle from IDB`,{idbKey:e.idbKey,error:t instanceof Error?t.message:String(t)});return}if(!o){r.warn(`pending mount handle missing or expired`,{idbKey:e.idbKey});return}let s=new Set;try{s=c((await t.runShell(`mount list`)).stdout)}catch(e){r.warn(`mount list probe failed; assuming no existing mounts`,{error:e instanceof Error?e.message:String(e)})}let d=u(l(e.dirName),s);try{await i(a(d),o)}catch(e){r.warn(`failed to stash handle for worker adoption`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}let f;try{f=await t.runShell(`mount ${d}`)}catch(e){r.error(`mount command threw`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}if(f.exitCode!==0){r.error(`mount command returned non-zero`,{targetPath:d,stderr:f.stderr.trim()});return}r.info(`mounted dropped folder`,{targetPath:d,dirName:e.dirName})}async function p(){return e(()=>import(`./mount-picker-popup-qcWGbpG5.js`),__vite__mapDeps([0,1,2,3]))}async function m(){let{localMountIdbKey:t}=await e(async()=>{let{localMountIdbKey:e}=await import(`./remote-terminal-view-
|
|
3
|
+
`)){let e=n.trim();if(!e||e===`No active mounts`)continue;let r=e.split(/\s+/)[0];r.startsWith(`/`)&&t.add(r)}return t}function l(e){return e.trim().replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``)||`folder`}function u(e,t){let n=`/mnt/${e}`,r=2;for(;t.has(n);)n=`/mnt/${e}-${r++}`;return n}function d(e){let t=e.doc??document,n=t;if(n[s])return()=>{};n[s]=!0;let i=Promise.resolve(),a=t=>{let n=t.detail;n?.idbKey&&(i=i.then(()=>f(n,e)).catch(e=>{r.error(`slicc-mount-pending consumer failed`,{error:e instanceof Error?e.message:String(e)})}))};return t.addEventListener(`slicc-mount-pending`,a),()=>{t.removeEventListener(`slicc-mount-pending`,a),n[s]=!1}}async function f(e,t){let n=t.loadHandle??(await p()).loadAndClearPendingHandle,i=t.storeHandle??(await p()).storePendingHandle,a=t.mountKeyFor??await m(),o;try{o=await n(e.idbKey)}catch(t){r.warn(`failed to read pending handle from IDB`,{idbKey:e.idbKey,error:t instanceof Error?t.message:String(t)});return}if(!o){r.warn(`pending mount handle missing or expired`,{idbKey:e.idbKey});return}let s=new Set;try{s=c((await t.runShell(`mount list`)).stdout)}catch(e){r.warn(`mount list probe failed; assuming no existing mounts`,{error:e instanceof Error?e.message:String(e)})}let d=u(l(e.dirName),s);try{await i(a(d),o)}catch(e){r.warn(`failed to stash handle for worker adoption`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}let f;try{f=await t.runShell(`mount ${d}`)}catch(e){r.error(`mount command threw`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}if(f.exitCode!==0){r.error(`mount command returned non-zero`,{targetPath:d,stderr:f.stderr.trim()});return}r.info(`mounted dropped folder`,{targetPath:d,dirName:e.dirName})}async function p(){return e(()=>import(`./mount-picker-popup-qcWGbpG5.js`),__vite__mapDeps([0,1,2,3]))}async function m(){let{localMountIdbKey:t}=await e(async()=>{let{localMountIdbKey:e}=await import(`./remote-terminal-view-oOTCkn_X.js`);return{localMountIdbKey:e}},__vite__mapDeps([4,5,6,1,7,0,2,3,8,9,10,11,12,13,14]));return t}export{a as installLeaderPermissionsSurface,d as installMountPendingConsumer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{at as t}from"./wc-shell-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-BKYqGAke.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/preload-helper-Czpn1I53.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/logger-DDBAeTLF.js","assets/utf16-clip-CGL7omVm.js","assets/account-store-EUAU8ivx.js","assets/core-DzRw0pz2.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CEBpTOtO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-BUdZEBvI.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{at as t}from"./wc-shell-C0Y0f1tt.js";import{t as n}from"./utf16-clip-CGL7omVm.js";var r=400,i=800,a=`You suggest the user's next prompt in a coding-agent chat. Based on the recent conversation, output ONE concrete follow-up the user might type next. Reply with just the prompt text — no quotes, no preamble, no list. Max 80 characters. If nothing useful comes to mind, reply exactly: What shall we build?`;function o(e,t){return e.length>t?`${n(e,t)}…`:e}function s(e){let n=e.filter(e=>!e.isStreaming&&!e.queued&&e.source!==`lick`),a=[...n].reverse().find(e=>e.role===`assistant`),s=n.filter(e=>e.role===`user`).slice(-3);return!a||s.length===0?null:[...s.map(e=>`[user]: ${o(t(e.content),r)}`),`[assistant]: ${o(a.content,i)}`].join(`
|
|
3
3
|
|
|
4
|
-
`)}async function c(t){if(t.currentValue.length>0)return;let n=s(t.messages);if(!n){t.setPlaceholder(t.defaultPlaceholder);return}let r=await(t.quickLabelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-
|
|
4
|
+
`)}async function c(t){if(t.currentValue.length>0)return;let n=s(t.messages);if(!n){t.setPlaceholder(t.defaultPlaceholder);return}let r=await(t.quickLabelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-BKYqGAke.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]))).quickLabel)({system:a,prompt:`Recent conversation:\n${n}`,maxTokens:40,signal:t.signal});t.signal?.aborted||t.currentValue.length>0||t.setPlaceholder(r&&r.length>0?r:t.defaultPlaceholder)}function l(e,t,n){t===n?(e.removeAttribute(`suggestion`),e.setAttribute(`placeholder`,t)):e.setAttribute(`suggestion`,t)}function u(e){let t=null;return()=>{e.inputCard.hasAttribute(`disabled`)||(t?.abort(),t=new AbortController,c({messages:e.getMessages(),currentValue:e.inputCard.value??``,setPlaceholder:t=>l(e.inputCard,t,e.defaultPlaceholder),defaultPlaceholder:e.defaultPlaceholder,signal:t.signal}).catch(()=>void 0))}}export{u as createPlaceholderRefresher};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import{M as t}from"./wc-shell-
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import{M as t}from"./wc-shell-C0Y0f1tt.js";import{k as n}from"./account-store-EUAU8ivx.js";import"./proxied-fetch-4VBgrEIu.js";import{s as r,t as i}from"./api-endpoint-DuEQRZ4g.js";import{n as a}from"./float-topology-C_iRKPQK.js";import"./secret-topology-hMRoGGjt.js";import{n as o}from"./secrets-bridge-client-D734Xx8G.js";import{setSecretRequestSurface as s}from"./secret-request-registry-DrOMKR1H.js";var c={anthropic:`Anthropic`,openai:`OpenAI`,google:`Google`,adobe:`Adobe`,github:`GitHub`,bedrock:`AWS Bedrock`,azure:`Azure`,"azure-openai":`Azure OpenAI`,"azure-ai-foundry":`Azure AI Foundry`,groq:`Groq`,xai:`xAI`,openrouter:`OpenRouter`,local:`your local model`};function l(e){if(e)return c[e]??e}function u(e){return new Promise((t,n)=>{chrome.runtime.sendMessage(e,e=>{let r=chrome.runtime.lastError;if(r){n(Error(r.message??`chrome.runtime.lastError`));return}t(e)})})}var d=1e4,f=0;async function p(e,t,n){let a={method:e,headers:i({"Content-Type":`application/json`}),signal:AbortSignal.timeout(d)};n&&(a.body=JSON.stringify(n));try{let e=await fetch(r(`/api/secrets${t}`),a),n=await e.json().catch(()=>({}));return{ok:e.ok,status:e.status,data:n}}catch(e){return{ok:!1,status:f,data:{error:m(e)}}}}function m(e){let t=e instanceof Error?e.name:``;return t===`TimeoutError`||t===`AbortError`?`no response from the secret store within ${d/1e3}s`:`secret store unreachable: ${e instanceof Error?e.message:String(e)}`}function h(e,t){return`could not read ${e} secrets — ${t??`the bridge gave no reason`}`}function g(e,t){let n=e.entries.find(e=>e.name===t)??null;if(n)return n;if(e.warnings.length>0)throw Error(e.warnings.join(`; `));return null}function _(){return{async list(){let[e,t]=await Promise.all([p(`GET`,``),p(`GET`,`/session`)]),n=[],r=[];if(e.ok)for(let t of e.data)n.push({name:t.name,domains:t.domains,persisted:!0});else r.push(h(`saved`,x(e.data)));if(t.ok)for(let e of t.data)n.push({name:e.name,domains:e.domains,persisted:!1});else r.push(h(`session`,x(t.data)));return{entries:n,warnings:r}},async getInfo(e){return g(await this.list(),e)},async getMasked(e){let{ok:t,data:n}=await p(`GET`,`/masked`);return t?n.find(t=>t.name===e)??null:null},async peek(e){let{ok:t,data:n}=await p(`GET`,`/peek?name=${encodeURIComponent(e)}`);return t?n:null},async setSession(e,t,n){let{ok:r,data:i}=await p(`POST`,`/session`,{name:e,value:t,domains:n});if(!r)throw Error(x(i)??`failed to set session secret`)},async setPersisted(e,t,n){let{ok:r,data:i}=await p(`POST`,``,{name:e,value:t,domains:n});if(!r)throw Error(x(i)??`failed to persist secret`)},async setScope(e,t){let{ok:n,data:r}=await p(`POST`,`/scope`,{name:e,domains:t});if(!n)throw Error(x(r)??`failed to update scope`)},async delete(e){let{ok:t,status:n,data:r}=await p(`DELETE`,`/${encodeURIComponent(e)}`);if(n===404)return{removed:!1};if(!t)throw Error(x(r)??`failed to delete secret`);return{removed:!0,fromSession:r&&typeof r==`object`&&`fromSession`in r?!!r.fromSession:void 0}}}}function v(e){let t=t=>e(t);return{async list(){let[e,n]=await Promise.all([t({type:`secrets.list`}),t({type:`secrets.session.list`})]),r=[],i=[];for(let t of e?.entries??[])r.push({name:t.name,domains:t.domains,persisted:!0});for(let e of n?.entries??[])r.push({name:e.name,domains:e.domains,persisted:!1});return e?.entries||i.push(h(`saved`,e?.error)),n?.entries||i.push(h(`session`,n?.error)),{entries:r,warnings:i}},async getInfo(e){return g(await this.list(),e)},async getMasked(e){return((await t({type:`secrets.list-masked-entries`}))?.entries??[]).find(t=>t.name===e)??null},async peek(e){let n=await t({type:`secrets.peek`,name:e});if(n?.error)throw Error(n.error);return n?.record??null},async setSession(e,n,r){let i=await t({type:`secrets.session.set`,name:e,value:n,domains:r});if(!i?.ok)throw Error(i?.error??`secrets.session.set failed`)},async setPersisted(e,n,r){let i=await t({type:`secrets.set`,name:e,value:n,domains:r});if(!i?.ok)throw Error(i?.error??`secrets.set failed`)},async setScope(e,n){let r=await t({type:`secrets.set-domains`,name:e,domains:n});if(!r?.ok)throw Error(r?.error??`secrets.set-domains failed`)},async delete(e){let n=await t({type:`secrets.delete`,name:e});if(!n?.ok)throw Error(n?.error??`secrets.delete failed`);return{removed:n.removed??!0,fromSession:n.fromSession}}}}function y(){return v(e=>u(e))}function b(){return v(e=>{let{type:t,...n}=e;return o(t,n)})}function x(e){if(e&&typeof e==`object`&&`error`in e){let t=e.error;if(typeof t==`string`)return t}}function S(e){switch(e){case`extension-direct`:return y();case`extension-delegate`:return b();default:return _()}}var C=e(`wc-secret-request`);function w(e){try{return t(e,document),!0}catch(e){return C.error("no trusted layer in this float — refusing to collect a secret on spoofable chrome; use `secret set` or the settings UI instead (see trusted-layer.ts)",{error:e instanceof Error?e.message:String(e)}),!1}}function T(){try{return l(n())}catch{return}}function E(e){return{name:e.name,domains:e.domains,reason:e.reason,requester:e.requester,persist:e.persist,provider:e.provider??T()}}async function D(e={},t={}){let n=t.backend??S(a()),r=t.createDialog?.()??document.createElement(`slicc-secret-dialog`);if(t.mount)t.mount(r);else if(!w(r))return{stored:!1,reason:`unavailable`};let i={};r.submitHandler=async e=>{try{e.persist?await n.setPersisted(e.name,e.value,e.domains):await n.setSession(e.name,e.value,e.domains)}catch(e){return e instanceof Error?e.message:String(e)}return i.entry={name:e.name,domains:e.domains,persisted:e.persist},null};try{let t=await r.open(E(e)),a=i.entry;return!t||!a?{stored:!1,reason:`cancelled`}:{stored:!0,name:a.name,maskedValue:await O(n,a.name),domains:a.domains,persisted:a.persisted}}finally{r.remove()}}async function O(e,t){try{return(await e.getMasked(t))?.maskedValue??null}catch(e){return C.warn(`secret stored, but the mask could not be read back`,{name:t,error:e instanceof Error?e.message:String(e)}),null}}function k(e={}){return s(t=>D(t,e)),()=>s(null)}export{k as installSecretRequestSurface,D as requestSecretFromUser};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-GpUOM3Aw.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-4VBgrEIu.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{X as t,Z as n}from"./wc-shell-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-GpUOM3Aw.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-4VBgrEIu.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-pp1LzVcX.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/logger-DDBAeTLF.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-EUAU8ivx.js","assets/providers-CEBpTOtO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/telemetry-B0sKnLBU.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{X as t,Z as n}from"./wc-shell-C0Y0f1tt.js";import{a as r,c as i,o as a,r as o,s}from"./feature-flags-DvsApnS-.js";import{t as c}from"./slugify-BYJ6QVAt.js";import{a as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,o as v,s as y,t as b,u as x,v as S,y as C}from"./theme-engine-ZV7CeqWw.js";import{t as w}from"./theme-CwPIBqJE.js";import{n as T,t as E}from"./discovery-preference-D8GXCv8i.js";var D={surfaces:[`--s2-gray-25`,`--s2-gray-50`,`--s2-gray-75`,`--s2-gray-100`,`--s2-gray-200`,`--s2-bg-base`,`--s2-bg-layer-1`,`--s2-bg-layer-2`,`--s2-bg-elevated`,`--s2-bg-sunken`],text:[`--s2-gray-800`,`--s2-gray-900`,`--s2-gray-1000`,`--s2-content-default`,`--s2-content-secondary`,`--s2-content-tertiary`,`--s2-content-disabled`],accents:[`--slicc-cone`,`--slicc-scoop-blue`,`--slicc-scoop-purple`,`--slicc-scoop-teal`,`--slicc-accent`,`--s2-accent`,`--s2-accent-hover`,`--s2-accent-down`],semantic:[`--s2-negative`,`--s2-positive`,`--s2-informative`,`--s2-notice`],chrome:[`--s2-border-default`,`--s2-border-subtle`,`--s2-border-focus`,`--s2-shadow-elevated`,`--s2-shadow-container`]},O=`slicc-wc-settings-style`,k=`
|
|
3
3
|
/* Width is owned by the dialog card (via ::part) — a min-width on the body
|
|
4
4
|
used to overflow the card's content box and clip the row borders. */
|
|
5
5
|
slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
@@ -60,4 +60,4 @@ slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
|
60
60
|
.wcset__radio-row__detail{font-size:11px;color:var(--txt-3);margin-top:2px;line-height:1.4;}
|
|
61
61
|
.wcset__notice{font-size:11.5px;line-height:1.45;color:var(--ink);background:var(--ghost);border:1px solid var(--line);border-left:3px solid var(--ctx);border-radius:8px;padding:8px 10px;}
|
|
62
62
|
.wcset__notice[hidden]{display:none;}
|
|
63
|
-
`;function A(e){if(e.getElementById(O))return;let t=e.createElement(`style`);t.id=O,t.textContent=k,e.head.appendChild(t)}function j(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function M(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function N(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function P(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:N(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function F(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function I(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=j(`wcset__row`),c=j(`wcset__info`);if(c.append(j(`wcset__name`,t.name),j(`wcset__detail`,P(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(M(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?F(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(M(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function L(e){let{ps:t,setStatus:n}=e,r=j(`wcset__add`);r.append(j(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=j(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(M(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{F(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(M(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function R(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Chat`));let r=j(`wcset__toggle-row`),i=document.createElement(`label`);i.textContent=`Show timestamps`;let a=document.createElement(`input`);return a.type=`checkbox`,a.checked=t(),a.addEventListener(`change`,()=>n(a.checked)),r.append(i,a),e.append(r),e}function z(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Browsing`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=E(),r.addEventListener(`change`,()=>T(r.checked)),t.append(n,r),e.append(t),e}function B(e,t,n){let r=j(`wcset__add`);r.append(j(`wcset__section-label`,`Keyboard mode`));let i=j(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=j(`wcset__radio-row__body`);c.append(j(`wcset__radio-row__title`,r.title),j(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function V(e){let t=j(`wcset__list`),n=a().filter(e=>e.userToggleable);n.length===0&&t.append(j(`wcset__empty`,`No experimental features are available right now.`));let c=new Map(n.map(e=>[e.id,r(e.id)])),l=s(),u=new Map,d=new Map,f=()=>{e.onPendingChange([...d].some(([e,t])=>t!==c.get(e)))};for(let i of n){let n=j(`wcset__toggle-row`),a=j(`wcset__info`),s=document.createElement(`label`),l=document.createElement(`input`);l.id=`wcset-feature-${i.id}`,l.type=`checkbox`,l.checked=r(i.id),s.htmlFor=l.id,s.textContent=i.label,a.append(s,j(`wcset__detail`,i.description)),l.addEventListener(`change`,()=>{if(!o(i.id)){l.checked=c.get(i.id)??!1,e.setStatus(`This feature cannot be changed on this runtime.`,!0);return}d.set(i.id,l.checked),e.setStatus(l.checked===c.get(i.id)?`Back to the current setting.`:`Not applied yet — reload to apply.`),f()}),u.set(i.id,l),n.append(a,l),t.append(n)}return{element:t,revert:()=>{d.clear();for(let[e,t]of u)t.checked=c.get(e)??!1;f()},commit:()=>{for(let[t,n]of d)try{n===c.get(t)?i(t,l[t]):i(t,n?`on`:`off`)}catch(n){e.log.error(`Experimental settings update failed`,{flagId:t,err:n})}}}}function H(e,t,n){return`wcset__preset-swatch${t.includes(e)?` wcset__preset-swatch--active`:``}${n===e?` wcset__preset-swatch--live`:``}`}function U(e){let t=f(e);return t===`darker`?`Selected. Used when Dark is on.`:t===`brighter`?`Selected. Used when Light is on.`:`Select. Two themes follow Light and Dark automatically.`}function W(e){let t=j(`wcset__appearance`);t.append(j(`wcset__section-label`,`Appearance`));let n=x(),r=u(),i=j(`wcset__preset-grid`),a=document.createElement(`div`);a.className=`wcset__preset-swatch${n.length===0?` wcset__preset-swatch--active`:``}`,a.title=`Follow the system colors, with no theme.`,a.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,a.addEventListener(`click`,()=>{h(),w(),f()}),i.append(a);for(let e of C){let t=document.createElement(`div`);t.className=H(e.id,n,r),t.title=U(e.id),t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{S(e.id),w(),f()}),i.append(t)}t.append(i),t.append(j(`wcset__pair-hint`,`Select two themes to switch between the darker and the brighter one as Light and Dark change. A third pick replaces the older one.`));let o=g().filter(e=>e.id!==`__preview`);if(o.length>0){let e=j(`wcset__custom-themes`);e.append(j(`wcset__section-label`,`My Themes`));for(let t of o){let r=j(`wcset__custom-row`),i=j(`wcset__custom-row__name`,t.name);n.includes(t.id)&&(i.style.fontWeight=`700`),r.append(i),r.append(M(`wcset__btn`,n.includes(t.id)?`Selected`:`Use`,()=>{S(t.id),w(),f()})),r.append(M(`wcset__btn`,`Edit`,()=>{p(t)})),r.append(M(`wcset__btn`,`Export`,()=>{let e=new Blob([y(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(M(`wcset__btn wcset__btn--danger`,`×`,()=>{l(t.id),w(),f()})),e.append(r)}t.append(e)}let s=j(``);s.style.cssText=`display:flex;gap:8px;`,s.append(M(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{p(null)})),s.append(M(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=d(t);_(n),e.setStatus(`Imported "${n.name}".`),f()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(s);let c=j(``);t.append(c);function f(){let n=t.parentElement;if(!n)return;let r=W(e);n.replaceChild(r,t)}function p(t){c.replaceChildren(Z(t,e,f))}return t}function G(e,t,n,r){let i=[],a=v(e,t);for(let[e,t]of Object.entries(D)){i.push(j(`wcset__section-label`,e));let o=j(`wcset__advanced-grid`);for(let e of t){let t=j(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function K(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=j(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(j(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=j(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function q(e,t){let n=j(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=j(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function J(e,t){let n=j(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(M(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(M(`wcset__btn`,`Cancel`,t)),n}function Y(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function X(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function Z(e,t,n){let r=j(`wcset__builder`),i=e?.base??`dark`,a=e?.disableShader??!1,o=!1,s={background:e?.tokens[`--s2-gray-25`]||(i===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(i===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},u={background:1,text:1,accent:1},d=X(e,i),f={},p=document.createElement(`input`);p.className=`wcset__input`,p.placeholder=`Theme name`,p.value=e?.name??``;function g(){return c(p.value)||`custom-${Date.now()}`}function y(){let e=i===`dark`;s.surface=b(s.background,e?.1:-.08),s.border=b(s.background,e?.15:-.12),s.success=`#2d9d78`,s.error=`#e34850`}function x(){y();let e={...v(s,i),...f};for(let[t,n]of Object.entries(u))if(n<1&&s[t]){let r=s[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}let t={id:`__preview`,name:`Preview`,base:i,tokens:e,disableShader:a,components:Y(d)};_(t),m(`__preview`),w()}function S(){r.replaceChildren();let c=j(`wcset__builder-row`),b=document.createElement(`label`);b.textContent=`Name`,c.append(b,p),r.append(c),r.append(q(i,e=>{i=e,S(),x()}));let C={disabled:a};for(let e of K(s,u,C,d,()=>{a=C.disabled,x()}))r.append(e);let T=document.createElement(`button`);if(T.className=`wcset__advanced-toggle`,T.textContent=o?`Hide advanced`:`Show advanced`,T.addEventListener(`click`,()=>{o=!o,S()}),r.append(T),o)for(let e of G(s,i,f,x))r.append(e);r.append(J(()=>{let r=p.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}y();let o={...v(s,i),...f},c=e?.id??g(),u={id:c,name:r,base:i,tokens:o,disableShader:a,components:Y(d)};l(`__preview`),_(u),m(c),w(),t.setStatus(`Saved "${r}".`),n()},()=>{l(`__preview`),e?m(e.id):h(),w(),n()}))}return S(),x(),r}async function Q(t){let n=await e(()=>import(`./main-CraGyWI5.js`).then(e=>e.i),__vite__mapDeps([10,3,11,1,12,13,14,15,16,17,18,19,20,21,22,23,2,4,5,6,7,24,25,26,27,8,28,29,30,31,32,33,34,35,36,37,38,39,40]));A(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=j(`wcset`),o=j(`wcset__list`),s=j(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=j(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(j(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(I(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(L(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function ee(e,t){return A(document),l(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=W({ps:null,log:e,setStatus:o,renderList:()=>{}}),c=R(),d=z();i.append(s,c,d),t&&i.append(B(t,o,e)),i.append(a),r.append(i);let f=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});f.setAttribute(`slot`,`footer`),r.append(f);let m=x().filter(e=>e!==`__preview`);r.addEventListener(`slicc-dialog-close`,()=>{u()===`__preview`&&(l(`__preview`),m.length>0?p(m):h(),w()),r.remove(),n()}),document.body.append(r),r.show?.()})}var $=`Done`,te=`Reload now`,ne=`Revert`,re=`Experimental features take effect when SLICC boots. Nothing is saved until you reload — reload this tab to apply your changes, or revert.`;async function ie(e,t={}){if(!r(`experimental-settings`))return;A(document);let n=t.reload??(()=>location.reload());return new Promise(t=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Experimental`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=j(`wcset__notice`,re);s.hidden=!0;let c=()=>{r.hide?.()},l=M(`wcset__btn wcset__btn--primary`,$,()=>{d&&(f.commit(),n()),c()});l.setAttribute(`slot`,`footer`);let u=M(`wcset__btn`,ne,()=>{f.revert(),o(`Reverted.`)});u.setAttribute(`slot`,`footer`),u.hidden=!0;let d=!1,f=V({log:e,setStatus:o,onPendingChange:e=>{d=e,s.hidden=!e,u.hidden=!e,l.textContent=e?te:$}});i.append(f.element,s,a),r.append(i,u,l),r.addEventListener(`slicc-dialog-close`,()=>{r.remove(),t()}),document.body.append(r),r.show?.()})}export{ie as showExperimentalSettings,ee as showThemeSettings,Q as showWcSettings};
|
|
63
|
+
`;function A(e){if(e.getElementById(O))return;let t=e.createElement(`style`);t.id=O,t.textContent=k,e.head.appendChild(t)}function j(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function M(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function N(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function P(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:N(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function F(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function I(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=j(`wcset__row`),c=j(`wcset__info`);if(c.append(j(`wcset__name`,t.name),j(`wcset__detail`,P(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(M(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?F(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(M(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function L(e){let{ps:t,setStatus:n}=e,r=j(`wcset__add`);r.append(j(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=j(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(M(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{F(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(M(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function R(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Chat`));let r=j(`wcset__toggle-row`),i=document.createElement(`label`);i.textContent=`Show timestamps`;let a=document.createElement(`input`);return a.type=`checkbox`,a.checked=t(),a.addEventListener(`change`,()=>n(a.checked)),r.append(i,a),e.append(r),e}function z(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Browsing`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=E(),r.addEventListener(`change`,()=>T(r.checked)),t.append(n,r),e.append(t),e}function B(e,t,n){let r=j(`wcset__add`);r.append(j(`wcset__section-label`,`Keyboard mode`));let i=j(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=j(`wcset__radio-row__body`);c.append(j(`wcset__radio-row__title`,r.title),j(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function V(e){let t=j(`wcset__list`),n=a().filter(e=>e.userToggleable);n.length===0&&t.append(j(`wcset__empty`,`No experimental features are available right now.`));let c=new Map(n.map(e=>[e.id,r(e.id)])),l=s(),u=new Map,d=new Map,f=()=>{e.onPendingChange([...d].some(([e,t])=>t!==c.get(e)))};for(let i of n){let n=j(`wcset__toggle-row`),a=j(`wcset__info`),s=document.createElement(`label`),l=document.createElement(`input`);l.id=`wcset-feature-${i.id}`,l.type=`checkbox`,l.checked=r(i.id),s.htmlFor=l.id,s.textContent=i.label,a.append(s,j(`wcset__detail`,i.description)),l.addEventListener(`change`,()=>{if(!o(i.id)){l.checked=c.get(i.id)??!1,e.setStatus(`This feature cannot be changed on this runtime.`,!0);return}d.set(i.id,l.checked),e.setStatus(l.checked===c.get(i.id)?`Back to the current setting.`:`Not applied yet — reload to apply.`),f()}),u.set(i.id,l),n.append(a,l),t.append(n)}return{element:t,revert:()=>{d.clear();for(let[e,t]of u)t.checked=c.get(e)??!1;f()},commit:()=>{for(let[t,n]of d)try{n===c.get(t)?i(t,l[t]):i(t,n?`on`:`off`)}catch(n){e.log.error(`Experimental settings update failed`,{flagId:t,err:n})}}}}function H(e,t,n){return`wcset__preset-swatch${t.includes(e)?` wcset__preset-swatch--active`:``}${n===e?` wcset__preset-swatch--live`:``}`}function U(e){let t=f(e);return t===`darker`?`Selected. Used when Dark is on.`:t===`brighter`?`Selected. Used when Light is on.`:`Select. Two themes follow Light and Dark automatically.`}function W(e){let t=j(`wcset__appearance`);t.append(j(`wcset__section-label`,`Appearance`));let n=x(),r=u(),i=j(`wcset__preset-grid`),a=document.createElement(`div`);a.className=`wcset__preset-swatch${n.length===0?` wcset__preset-swatch--active`:``}`,a.title=`Follow the system colors, with no theme.`,a.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,a.addEventListener(`click`,()=>{h(),w(),f()}),i.append(a);for(let e of C){let t=document.createElement(`div`);t.className=H(e.id,n,r),t.title=U(e.id),t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{S(e.id),w(),f()}),i.append(t)}t.append(i),t.append(j(`wcset__pair-hint`,`Select two themes to switch between the darker and the brighter one as Light and Dark change. A third pick replaces the older one.`));let o=g().filter(e=>e.id!==`__preview`);if(o.length>0){let e=j(`wcset__custom-themes`);e.append(j(`wcset__section-label`,`My Themes`));for(let t of o){let r=j(`wcset__custom-row`),i=j(`wcset__custom-row__name`,t.name);n.includes(t.id)&&(i.style.fontWeight=`700`),r.append(i),r.append(M(`wcset__btn`,n.includes(t.id)?`Selected`:`Use`,()=>{S(t.id),w(),f()})),r.append(M(`wcset__btn`,`Edit`,()=>{p(t)})),r.append(M(`wcset__btn`,`Export`,()=>{let e=new Blob([y(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(M(`wcset__btn wcset__btn--danger`,`×`,()=>{l(t.id),w(),f()})),e.append(r)}t.append(e)}let s=j(``);s.style.cssText=`display:flex;gap:8px;`,s.append(M(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{p(null)})),s.append(M(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=d(t);_(n),e.setStatus(`Imported "${n.name}".`),f()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(s);let c=j(``);t.append(c);function f(){let n=t.parentElement;if(!n)return;let r=W(e);n.replaceChild(r,t)}function p(t){c.replaceChildren(Z(t,e,f))}return t}function G(e,t,n,r){let i=[],a=v(e,t);for(let[e,t]of Object.entries(D)){i.push(j(`wcset__section-label`,e));let o=j(`wcset__advanced-grid`);for(let e of t){let t=j(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function K(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=j(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(j(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=j(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function q(e,t){let n=j(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=j(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function J(e,t){let n=j(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(M(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(M(`wcset__btn`,`Cancel`,t)),n}function Y(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function X(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function Z(e,t,n){let r=j(`wcset__builder`),i=e?.base??`dark`,a=e?.disableShader??!1,o=!1,s={background:e?.tokens[`--s2-gray-25`]||(i===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(i===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},u={background:1,text:1,accent:1},d=X(e,i),f={},p=document.createElement(`input`);p.className=`wcset__input`,p.placeholder=`Theme name`,p.value=e?.name??``;function g(){return c(p.value)||`custom-${Date.now()}`}function y(){let e=i===`dark`;s.surface=b(s.background,e?.1:-.08),s.border=b(s.background,e?.15:-.12),s.success=`#2d9d78`,s.error=`#e34850`}function x(){y();let e={...v(s,i),...f};for(let[t,n]of Object.entries(u))if(n<1&&s[t]){let r=s[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}let t={id:`__preview`,name:`Preview`,base:i,tokens:e,disableShader:a,components:Y(d)};_(t),m(`__preview`),w()}function S(){r.replaceChildren();let c=j(`wcset__builder-row`),b=document.createElement(`label`);b.textContent=`Name`,c.append(b,p),r.append(c),r.append(q(i,e=>{i=e,S(),x()}));let C={disabled:a};for(let e of K(s,u,C,d,()=>{a=C.disabled,x()}))r.append(e);let T=document.createElement(`button`);if(T.className=`wcset__advanced-toggle`,T.textContent=o?`Hide advanced`:`Show advanced`,T.addEventListener(`click`,()=>{o=!o,S()}),r.append(T),o)for(let e of G(s,i,f,x))r.append(e);r.append(J(()=>{let r=p.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}y();let o={...v(s,i),...f},c=e?.id??g(),u={id:c,name:r,base:i,tokens:o,disableShader:a,components:Y(d)};l(`__preview`),_(u),m(c),w(),t.setStatus(`Saved "${r}".`),n()},()=>{l(`__preview`),e?m(e.id):h(),w(),n()}))}return S(),x(),r}async function Q(t){let n=await e(()=>import(`./main-pp1LzVcX.js`).then(e=>e.i),__vite__mapDeps([10,3,11,1,12,13,14,15,16,17,18,19,20,21,22,23,2,4,5,6,7,24,25,26,27,8,28,29,30,31,32,33,34,35,36,37,38,39,40]));A(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=j(`wcset`),o=j(`wcset__list`),s=j(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=j(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(j(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(I(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(L(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function ee(e,t){return A(document),l(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=W({ps:null,log:e,setStatus:o,renderList:()=>{}}),c=R(),d=z();i.append(s,c,d),t&&i.append(B(t,o,e)),i.append(a),r.append(i);let f=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});f.setAttribute(`slot`,`footer`),r.append(f);let m=x().filter(e=>e!==`__preview`);r.addEventListener(`slicc-dialog-close`,()=>{u()===`__preview`&&(l(`__preview`),m.length>0?p(m):h(),w()),r.remove(),n()}),document.body.append(r),r.show?.()})}var $=`Done`,te=`Reload now`,ne=`Revert`,re=`Experimental features take effect when SLICC boots. Nothing is saved until you reload — reload this tab to apply your changes, or revert.`;async function ie(e,t={}){if(!r(`experimental-settings`))return;A(document);let n=t.reload??(()=>location.reload());return new Promise(t=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Experimental`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=j(`wcset__notice`,re);s.hidden=!0;let c=()=>{r.hide?.()},l=M(`wcset__btn wcset__btn--primary`,$,()=>{d&&(f.commit(),n()),c()});l.setAttribute(`slot`,`footer`);let u=M(`wcset__btn`,ne,()=>{f.revert(),o(`Reverted.`)});u.setAttribute(`slot`,`footer`),u.hidden=!0;let d=!1,f=V({log:e,setStatus:o,onPendingChange:e=>{d=e,s.hidden=!e,u.hidden=!e,l.textContent=e?te:$}});i.append(f.element,s,a),r.append(i,u,l),r.addEventListener(`slicc-dialog-close`,()=>{r.remove(),t()}),document.body.append(r),r.show?.()})}export{ie as showExperimentalSettings,ee as showThemeSettings,Q as showWcSettings};
|