sliccy 6.229.1 → 6.229.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +186 -186
- package/dist/ui/assets/{account-store-De49vW57.js → account-store-CowcSecG.js} +1 -1
- package/dist/ui/assets/{account-store-DFJwUOps.js → account-store-D2Icce05.js} +1 -1
- package/dist/ui/assets/{adobe-BaTeCejh.js → adobe-BdyKsD7-.js} +1 -1
- package/dist/ui/assets/{adobe-DFFuwch9.js → adobe-Du6Nn1Bo.js} +1 -1
- package/dist/ui/assets/{agent-panels-rTBICP6P.js → agent-panels-Cas9sml0.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-TzSnFhqw.js → almost-bash-shell-headless-BzHyvXK_.js} +24 -24
- package/dist/ui/assets/{apply-layout-BDlb2LH-.js → apply-layout-C5z335qy.js} +1 -1
- package/dist/ui/assets/{apps-foHY98EA.js → apps-icbfxygL.js} +1 -1
- package/dist/ui/assets/{azure-openai-28dNaqdo.js → azure-openai-9LrOUGdR.js} +1 -1
- package/dist/ui/assets/{azure-openai-DXhRZLNk.js → azure-openai-BsuLckzg.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-CFR-plu9.js → backend-hostfs-ul38q_-V.js} +1 -1
- package/dist/ui/assets/{cdp-DPQ-dCCh.js → cdp-BCoH-J6f.js} +1 -1
- package/dist/ui/assets/{cerebras-ChKR3IaP.js → cerebras-CNIzRG1J.js} +1 -1
- package/dist/ui/assets/{cerebras-Bsst2ACV.js → cerebras-Csx3RKzj.js} +1 -1
- package/dist/ui/assets/{composer-speech-BL5J2k0Y.js → composer-speech-CohGVRjH.js} +1 -1
- package/dist/ui/assets/{connect-surface-BygLUPpS.js → connect-surface-7ZqD6nq7.js} +1 -1
- package/dist/ui/assets/{directed-approval-BKAkbmlp.js → directed-approval-DKZxbcBl.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-7_qNnKDN.js → emscripten-vfs-hook-DERetoEH.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-DxXDoDd1.js → ensure-speech-assets-DxtfMNAN.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-DNz19BM7.js → frozen-archive-writer-DWVDA4Y8.js} +1 -1
- package/dist/ui/assets/{fs-DLi7tIXv.js → fs-BUsVEmsX.js} +1 -1
- package/dist/ui/assets/{fs-BTjbTfwX.js → fs-iwpNzQdl.js} +2 -2
- package/dist/ui/assets/{gelatiere-unit-B5q8FZG9.js → gelatiere-unit-hYV3q3Xz.js} +1 -1
- package/dist/ui/assets/{github-DLiGkQiX.js → github-BTTZENwY.js} +1 -1
- package/dist/ui/assets/{github-DPZlW4ci.js → github-DBgsdeUW.js} +2 -2
- package/dist/ui/assets/{github-auth-_gdfHK1f.js → github-auth-DXJer3bD.js} +1 -1
- package/dist/ui/assets/{github-copilot-DDJ7Tg3K.js → github-copilot-BFaHTsGw.js} +1 -1
- package/dist/ui/assets/{github-copilot-C8tnjfXy.js → github-copilot-CIcQGn7Z.js} +1 -1
- package/dist/ui/assets/{github-install-DZfzHxx6.js → github-install-7a9uVd3W.js} +1 -1
- package/dist/ui/assets/{github-zip-CWSDKTxL.js → github-zip-fry304hI.js} +1 -1
- package/dist/ui/assets/{hear-DEzO31cV.js → hear-PbMgJEsO.js} +1 -1
- package/dist/ui/assets/{help-BytM7U6f.js → help-BMmq6sq2.js} +1 -1
- package/dist/ui/assets/{installer-CWctQNAj.js → installer-DeDv-dvS.js} +1 -1
- package/dist/ui/assets/{ipk-mamba-Dbh1dcaA.js → ipk-mamba-CMV3ELsC.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-BSgXcj1q.js → js-realm-worker-oKo_arnO.js} +2 -2
- package/dist/ui/assets/{jsh-executor-ih2DlArV.js → jsh-executor-B7mIy4Lh.js} +2 -2
- package/dist/ui/assets/{kernel-worker-hF56A-lx.js → kernel-worker-xLRYNltz.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-Co_ErQOe.js → lick-ws-bridge-Bl_OJq4E.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-CKju7OOV.js → lick-ws-bridge-Cy_1ITjB.js} +1 -1
- package/dist/ui/assets/{live-session-curation-5CQLkXVi.js → live-session-curation-DEtj6GB8.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-DwGUkPED.js → live-session-snapshot-CripoibY.js} +1 -1
- package/dist/ui/assets/{local-llm-QS3-V-x_.js → local-llm-CqCsqzYy.js} +1 -1
- package/dist/ui/assets/{local-llm-Dl2gba-U.js → local-llm-D1tS2bBI.js} +1 -1
- package/dist/ui/assets/{main-CN8_DXbf.js → main-Buhm0-hg.js} +3 -3
- package/dist/ui/assets/{main-cherry-DF864gNB.js → main-cherry-88p0gj3y.js} +1 -1
- package/dist/ui/assets/{mcp-command-B23g5hoQ.js → mcp-command-BBC5wuuf.js} +12 -12
- package/dist/ui/assets/{memory-curation-seam-DiU--5W1.js → memory-curation-seam-hIGWifBy.js} +1 -1
- package/dist/ui/assets/{memory-health-BQ4mkf9n.js → memory-health-CCUxDHM0.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-BEug-lCH.js → memory-write-execute-CoIdm1G0.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-B8uSMhIL.js → merge-folded-cost-into-frozen-L94M_Dr9.js} +1 -1
- package/dist/ui/assets/{mount-gt-BLeOo.js → mount-BkHkpfEI.js} +1 -1
- package/dist/ui/assets/{mount-BVhF5b_c.js → mount-C6vddCAo.js} +3 -3
- package/dist/ui/assets/{new-session-BQodVKAm.js → new-session-CYBsYHOV.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-J4kB5NFE.js → oauth-bootstrap-DcSqBQ4G.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-DmoRHUNm.js → onboarding-orchestrator-B14RkYJ7.js} +1 -1
- package/dist/ui/assets/{openai-codex-BbMVmhKF.js → openai-codex-Ti-2DwbB.js} +1 -1
- package/dist/ui/assets/{openai-codex-DDZ2j8hk.js → openai-codex-cJIdGHKD.js} +1 -1
- package/dist/ui/assets/{openrouter-CuRkJQt-.js → openrouter-9yZ1k_xq.js} +1 -1
- package/dist/ui/assets/{openrouter-CqYSX6OC.js → openrouter-DRDJwBRE.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CWoICeZP.js → openrouter-free-CKOmXvc2.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CdQWIZGj.js → openrouter-free-klRJRU31.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DXl0Bj1I.js → openrouter-oauth-CFr3s5Ly.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-H_cbYAgA.js → openrouter-oauth-DVR_BS-x.js} +1 -1
- package/dist/ui/assets/{opfs-mount-CQDODPYa.js → opfs-mount-C84mBe6t.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-B1NcwkLy.js → panel-rpc-handlers-b93FdNjY.js} +2 -2
- package/dist/ui/assets/{panelize-shell-pzUticpN.js → panelize-shell-DFKPkvtI.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-BJMfyfRx.js → pi-edit-execution-Dri3WBiU.js} +1 -1
- package/dist/ui/assets/{provider-DeB_JM-g.js → provider-BfVpcbfk.js} +2 -2
- package/dist/ui/assets/{provider-BvBLMKOW.js → provider-CS6PHtoF.js} +1 -1
- package/dist/ui/assets/{provider-settings-BoDHKkqV.js → provider-settings-BbsZ1qBl.js} +1 -1
- package/dist/ui/assets/provider-store-access-BE0JQJTt.js +1 -0
- package/dist/ui/assets/provider-store-access-shPZ5Tzj.js +1 -0
- package/dist/ui/assets/{providers-SzSqznod.js → providers-Ckr9hn7r.js} +2 -2
- package/dist/ui/assets/{providers-BoH87RWe.js → providers-D3DLebm2.js} +1 -1
- package/dist/ui/assets/{quick-llm-BagaPTFq.js → quick-llm-W7EV_6N3.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-DggWhhOI.js → realm-inprocess-yBp5J4sf.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-CMHrDZyx.js → realm-unhandled-rejections-DqId55hf.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-CPOPyBQX.js → realm-unhandled-rejections-HWDWq7jy.js} +1 -1
- package/dist/ui/assets/{recovery-screen-Btp0K56i.js → recovery-screen-Dy5lXAWw.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-ChCP-Bbu.js → remote-terminal-view-BZmb1Wyz.js} +2 -2
- package/dist/ui/assets/{restore-DqUzWUaP.js → restore-CTsKVDFg.js} +1 -1
- package/dist/ui/assets/{run-oO204zVA.js → run-BJJgZJ6E.js} +1 -1
- package/dist/ui/assets/{run-CTC84eUp.js → run-BOcsKLg2.js} +1 -1
- package/dist/ui/assets/{run-BJ3XrNC9.js → run-BlhsThab.js} +1 -1
- package/dist/ui/assets/{run-tx0M_-VP.js → run-DfZqbehT.js} +2 -2
- package/dist/ui/assets/{run-CxE2WYhe.js → run-L3158s5p.js} +2 -2
- package/dist/ui/assets/{session-command-memory-B22Fx_Fv.js → session-command-memory-BVbB-SSu.js} +2 -2
- package/dist/ui/assets/{session-jsonl-BKxlVR_b.js → session-jsonl-9gKz-AVR.js} +1 -1
- package/dist/ui/assets/{session-jsonl-Dxi8GXVh.js → session-jsonl-DmaNnhrx.js} +1 -1
- package/dist/ui/assets/{session-search-index-DL3tEE6j.js → session-search-index-Di9Bd-h8.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-B-gmyHYF.js → setup-feature-flags-remote-CZS9-z-U.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-CrWzqJXS.js → setup-model-catalog-f5sDsrH4.js} +1 -1
- package/dist/ui/assets/{signed-fetch-CCXVuKo3.js → signed-fetch-XVeKM2Ti.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-YirqzqNs.js → silent-renew-backoff-cyTtBzvQ.js} +1 -1
- package/dist/ui/assets/slicc-version-HGp9X2HJ.js +1 -0
- package/dist/ui/assets/{snapshot-BRkKiBz8.js → snapshot-BjK1vO6N.js} +1 -1
- package/dist/ui/assets/{snapshot-features-BU1GzOVe.js → snapshot-features-DlnZzOsH.js} +1 -1
- package/dist/ui/assets/{soundscape-PmyW3Fnh.js → soundscape-Mr88k6cc.js} +1 -1
- package/dist/ui/assets/{speak-Dod_2B-n.js → speak-Cscd0BKG.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-B2miohbR.js → sprinkle-manager-C6JpaiSF.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-BkVgMT51.js → sprinkle-renderer-SCt0TTBQ.js} +1 -1
- package/dist/ui/assets/{state-B9f85xmR.js → state-BG2vLncn.js} +1 -1
- package/dist/ui/assets/{store-esTGveWP.js → store-BuxM7u4i.js} +1 -1
- package/dist/ui/assets/{store-B2M2VDut.js → store-tnsLNVfM.js} +1 -1
- package/dist/ui/assets/{sudo-CVIMbOlS.js → sudo-D-kr8T3t.js} +1 -1
- package/dist/ui/assets/{supervisor-C5jgwyu1.js → supervisor-VT-q91Bc.js} +1 -1
- package/dist/ui/assets/{sync-dialog-B7aorJdX.js → sync-dialog-WPvxLKb3.js} +1 -1
- package/dist/ui/assets/{transformers-env-DXwGL5xt.js → transformers-env-CgzLTJnY.js} +1 -1
- package/dist/ui/assets/{tray-leader-Df0tra6h.js → tray-leader-az_Ksbe-.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-Dj4AAYh1.js → tray-leave-runtime-7OydH3Nx.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-CnXNRwlL.js → tray-sidecar-CvnnbCd-.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DBR5EiBv.js → upgrade-detection-Dl24TN6j.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-isPSbTuF.js → upskill-lick-skip-B9YGLtpR.js} +1 -1
- package/dist/ui/assets/{voice-reply-CgGrcVfO.js → voice-reply-BTBzo1t-.js} +1 -1
- package/dist/ui/assets/{wc-attach-DRi3jVHF.js → wc-attach-BOQi3ieU.js} +2 -2
- package/dist/ui/assets/{wc-browser-B9wIM0lS.js → wc-browser-BrrkBblB.js} +1 -1
- package/dist/ui/assets/{wc-computers-DN45vrC3.js → wc-computers-B4GqHRtL.js} +1 -1
- package/dist/ui/assets/{wc-detached-Bca26geO.js → wc-detached-BxCVikC_.js} +1 -1
- package/dist/ui/assets/{wc-extension-CQbPLWG7.js → wc-extension-mDPTv28u.js} +2 -2
- package/dist/ui/assets/{wc-follower-CSnwIc4n.js → wc-follower-CfNlcRHk.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-DoDuukgB.js → wc-follower-oauth-CXignXZx.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-Am_f0HUM.js → wc-gelatiere-CVM1gC17.js} +1 -1
- package/dist/ui/assets/{wc-live-BV4BTJCF.js → wc-live-_NBiyx3J.js} +5 -5
- package/dist/ui/assets/{wc-nav-B0qkrdmO.js → wc-nav-CnD8Slg6.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-BGgccgKz.js → wc-onboarding-BkJJiDEJ.js} +2 -2
- package/dist/ui/assets/{wc-permissions-cPPRqOxV.js → wc-permissions-DCIncKoG.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-qdzn19Er.js → wc-placeholder-sJbdGCLn.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-0rnHNydY.js → wc-secret-request-Bq5Wqw8g.js} +1 -1
- package/dist/ui/assets/{wc-settings-DtSMjOsO.js → wc-settings-BTaQBsY7.js} +3 -3
- package/dist/ui/assets/{wc-shell-uARsGEP-.js → wc-shell-C8DQjqvF.js} +43 -43
- package/dist/ui/assets/{wc-shortcut-config-BhWskOwm.js → wc-shortcut-config-D-zXMNoN.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-D2tEI61R.js → wc-sprinkles-B4WfcAW5.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-DRSktEBJ.js → wc-transcript-export-lifOC01N.js} +2 -2
- package/dist/ui/assets/{wc-tray-Bq_ULo8m.js → wc-tray-CwGnxnUW.js} +4 -4
- package/dist/ui/assets/welcome-detection-DqF4hV8O.js +1 -0
- package/dist/ui/assets/{whisper-session-BKOs_QBn.js → whisper-session-DJmF3unQ.js} +2 -2
- package/dist/ui/assets/{xai-grok-zu6NiHP1.js → xai-grok-3lm4P4we.js} +1 -1
- package/dist/ui/assets/{xai-grok-BkO-O8rc.js → xai-grok-B0zLeZkh.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/provider-store-access-BHw1Z0aZ.js +0 -1
- package/dist/ui/assets/provider-store-access-Bmm5JJPZ.js +0 -1
- package/dist/ui/assets/slicc-version-Cjlqb-OB.js +0 -1
- package/dist/ui/assets/welcome-detection-B3A9heem.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-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-Buhm0-hg.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/core-DXD5e-Tl.js","assets/compat-DpI6NrfX.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/preload-helper-Czpn1I53.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DsSG76zx.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-Cplb-Tee.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-Dm_PZRZx.js","assets/float-topology-C9GjBEv-.js","assets/secrets-bridge-client-CWv2_nw7.js","assets/port-bridge-client-D_erEovW.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CowcSecG.js","assets/providers-Ckr9hn7r.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-B0sKnLBU.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/wc-detached-BxCVikC_.js","assets/wc-settings-BTaQBsY7.js","assets/wc-shell-C8DQjqvF.js","assets/mime-types-D0xZwlMO.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-dEBJiC8z.js","assets/wc-shell-WkeczD9x.css","assets/slugify-BYJ6QVAt.js","assets/theme-engine-ZV7CeqWw.js","assets/theme-CwPIBqJE.js","assets/discovery-preference-D1cUzn0M.js","assets/legacy-styles-B3nS5QUo.js","assets/sync-dialog-WPvxLKb3.js","assets/wc-live-_NBiyx3J.js","assets/sprinkle-renderer-SCt0TTBQ.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/session-jsonl-9gKz-AVR.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/browser-BhTdBqdp.js","assets/tray-leader-az_Ksbe-.js","assets/record-CBv8rWFt.js","assets/descriptor-CuhPBdq8.js","assets/types-CFfBWsH5.js","assets/wc-unit-context-CZro7UrY.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-Buhm0-hg.js";import{r as c}from"./tray-leader-az_Ksbe-.js";import{o as l}from"./record-CBv8rWFt.js";import{_ as u,c as d,s as f,v as p}from"./wc-live-_NBiyx3J.js";import{o as m}from"./wc-unit-context-CZro7UrY.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-Buhm0-hg.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])),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-BxCVikC_.js`);return{requestDetachedPopout:e}},__vite__mapDeps([35,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])).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-BTaQBsY7.js`);return{showWcSettings:e}},__vite__mapDeps([36,7,37,1,12,38,15,25,26,3,4,5,6,8,9,10,11,13,14,16,17,18,19,20,21,22,23,24,27,28,29,30,31,32,39,40,41,42,43,44,45,46])).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-BTaQBsY7.js`);return{showThemeSettings:e}},__vite__mapDeps([36,7,37,1,12,38,15,25,26,3,4,5,6,8,9,10,11,13,14,16,17,18,19,20,21,22,23,24,27,28,29,30,31,32,39,40,41,42,43,44,45,46])).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-BTaQBsY7.js`);return{showExperimentalSettings:e}},__vite__mapDeps([36,7,37,1,12,38,15,25,26,3,4,5,6,8,9,10,11,13,14,16,17,18,19,20,21,22,23,24,27,28,29,30,31,32,39,40,41,42,43,44,45,46])).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([47,7])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-WPvxLKb3.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([48,25,34,1,41,49,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,37,38,26,27,28,29,30,31,32,39,40,42,50,51,52,53,54,55,56,57,45,44,43,58,59,33,0,2,60,61,62,63,64,65,66,67]));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-Buhm0-hg.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]));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-Buhm0-hg.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])),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-Buhm0-hg.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]));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-CN8_DXbf.js";import{n as r,t as i}from"./record-CBv8rWFt.js";import{G as a,V as o,W as s}from"./wc-live-BV4BTJCF.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-DmoRHUNm.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-B-vKfxAF.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-B-vKfxAF.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-uARsGEP-.js`).then(e=>e.mt),__vite__mapDeps([13,6,4,1,14,7,15,16,17,18,19,20,21,22,23,24,25,5,8,9,10,26,27,28,29,30,31,32,11,33,34,35,36,37,38,39,40])),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-B3A9heem.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-CN8_DXbf.js`).then(e=>e.i);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([41,6,42,17,18,19,20,4,21,22,23,24,1,25,5,7,8,9,10,26,27,28,29,30,31,15,16,32,11,33,34,35,36,43,44])),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-CN8_DXbf.js`).then(e=>e.i),__vite__mapDeps([41,6,42,17,18,19,20,4,21,22,23,24,1,25,5,7,8,9,10,26,27,28,29,30,31,15,16,32,11,33,34,35,36,43,44])),{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-B14RkYJ7.js","assets/logger-DDBAeTLF.js","assets/slugify-BYJ6QVAt.js","assets/oauth-service-B-vKfxAF.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-Cplb-Tee.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-D3EPRnmw.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-shell-C8DQjqvF.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CowcSecG.js","assets/core-DXD5e-Tl.js","assets/compat-DpI6NrfX.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DsSG76zx.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-Dm_PZRZx.js","assets/float-topology-C9GjBEv-.js","assets/secrets-bridge-client-CWv2_nw7.js","assets/port-bridge-client-D_erEovW.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-Ckr9hn7r.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-dEBJiC8z.js","assets/wc-shell-WkeczD9x.css","assets/main-Buhm0-hg.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-Buhm0-hg.js";import{n as r,t as i}from"./record-CBv8rWFt.js";import{G as a,V as o,W as s}from"./wc-live-_NBiyx3J.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-B14RkYJ7.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-B-vKfxAF.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-B-vKfxAF.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-C8DQjqvF.js`).then(e=>e.mt),__vite__mapDeps([13,6,4,1,14,7,15,16,17,18,19,20,21,22,23,24,25,5,8,9,10,26,27,28,29,30,31,32,11,33,34,35,36,37,38,39,40])),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-DqF4hV8O.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-Buhm0-hg.js`).then(e=>e.i);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([41,6,42,17,18,19,20,4,21,22,23,24,1,25,5,7,8,9,10,26,27,28,29,30,31,15,16,32,11,33,34,35,36,43,44])),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-Buhm0-hg.js`).then(e=>e.i),__vite__mapDeps([41,6,42,17,18,19,20,4,21,22,23,24,1,25,5,7,8,9,10,26,27,28,29,30,31,15,16,32,11,33,34,35,36,43,44])),{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-BZmb1Wyz.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-BhTdBqdp.js","assets/libesm-BypnjKEL.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-BZmb1Wyz.js`);return{localMountIdbKey:e}},__vite__mapDeps([4,5,6,1,7,0,2,3,8,9,10,11,12,13,14,15]));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-W7EV_6N3.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/compat-DpI6NrfX.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/preload-helper-Czpn1I53.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DsSG76zx.js","assets/logger-DDBAeTLF.js","assets/account-store-CowcSecG.js","assets/core-DXD5e-Tl.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-Cplb-Tee.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-Dm_PZRZx.js","assets/float-topology-C9GjBEv-.js","assets/secrets-bridge-client-CWv2_nw7.js","assets/port-bridge-client-D_erEovW.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-Ckr9hn7r.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-dEBJiC8z.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{at as t}from"./wc-shell-C8DQjqvF.js";var n=400,r=800,i=`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 a(e,t){return e.length>t?`${e.slice(0,t)}…`:e}function o(e){let i=e.filter(e=>!e.isStreaming&&!e.queued&&e.source!==`lick`),o=[...i].reverse().find(e=>e.role===`assistant`),s=i.filter(e=>e.role===`user`).slice(-3);return!o||s.length===0?null:[...s.map(e=>`[user]: ${a(t(e.content),n)}`),`[assistant]: ${a(o.content,r)}`].join(`
|
|
3
3
|
|
|
4
|
-
`)}async function s(t){if(t.currentValue.length>0)return;let n=o(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 s(t){if(t.currentValue.length>0)return;let n=o(t.messages);if(!n){t.setPlaceholder(t.defaultPlaceholder);return}let r=await(t.quickLabelFn??(await e(async()=>{let{quickLabel:e}=await import(`./quick-llm-W7EV_6N3.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]))).quickLabel)({system:i,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 c(e,t,n){t===n?(e.removeAttribute(`suggestion`),e.setAttribute(`placeholder`,t)):e.setAttribute(`suggestion`,t)}function l(e){let t=null;return()=>{e.inputCard.hasAttribute(`disabled`)||(t?.abort(),t=new AbortController,s({messages:e.getMessages(),currentValue:e.inputCard.value??``,setPlaceholder:t=>c(e.inputCard,t,e.defaultPlaceholder),defaultPlaceholder:e.defaultPlaceholder,signal:t.signal}).catch(()=>void 0))}}export{l 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-C8DQjqvF.js";import{A as n}from"./account-store-CowcSecG.js";import"./proxied-fetch-Cplb-Tee.js";import{s as r,t as i}from"./api-endpoint-DuEQRZ4g.js";import{n as a}from"./float-topology-C9GjBEv-.js";import"./secret-topology-Dm_PZRZx.js";import{n as o}from"./secrets-bridge-client-CWv2_nw7.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-B-vKfxAF.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-Cplb-Tee.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-D3EPRnmw.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-B-vKfxAF.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-Cplb-Tee.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-D3EPRnmw.js","assets/permissions-surface-registry-CilCRwhh.js","assets/main-Buhm0-hg.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/core-DXD5e-Tl.js","assets/compat-DpI6NrfX.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DsSG76zx.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-Dm_PZRZx.js","assets/float-topology-C9GjBEv-.js","assets/secrets-bridge-client-CWv2_nw7.js","assets/port-bridge-client-D_erEovW.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CowcSecG.js","assets/providers-Ckr9hn7r.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.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-C8DQjqvF.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-D1cUzn0M.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-B-vKfxAF.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-B-vKfxAF.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-CN8_DXbf.js`).then(e=>e.i),__vite__mapDeps([10,3,11,12,13,14,15,1,16,17,18,19,20,21,2,4,5,6,7,22,23,24,25,26,27,28,29,30,8,31,32,33,34,35,36]));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-B-vKfxAF.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-B-vKfxAF.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-Buhm0-hg.js`).then(e=>e.i),__vite__mapDeps([10,3,11,12,13,14,15,1,16,17,18,19,20,21,2,4,5,6,7,22,23,24,25,26,27,28,29,30,8,31,32,33,34,35,36]));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};
|