sliccy 6.240.0 → 6.240.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 +215 -213
- package/dist/ui/assets/{account-store-Dcuv1CAr.js → account-store-BZBj_ntG.js} +1 -1
- package/dist/ui/assets/{account-store-Co7p6uLK.js → account-store-DkttH-BP.js} +1 -1
- package/dist/ui/assets/{adobe-DScuixZ8.js → adobe-ByBtC69J.js} +1 -1
- package/dist/ui/assets/{adobe-C8D8r5Fe.js → adobe-CVqQJ2x-.js} +1 -1
- package/dist/ui/assets/{agent-panels-O5YJfC1_.js → agent-panels-BVpX6zQ5.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-C4AVF2S6.js → almost-bash-shell-headless-HOeKQtgA.js} +499 -499
- package/dist/ui/assets/{apply-layout-BZ9iuS4D.js → apply-layout-C_O6ndKr.js} +1 -1
- package/dist/ui/assets/{azure-openai-jPUEdFGb.js → azure-openai-DiqKGUYo.js} +1 -1
- package/dist/ui/assets/{azure-openai-DGNroO-7.js → azure-openai-Z4aqtv7E.js} +1 -1
- package/dist/ui/assets/{cdp-DfHqMmOw.js → cdp-D0OuKYd5.js} +1 -1
- package/dist/ui/assets/{cerebras-DJsSEczS.js → cerebras-6-gk1Jha.js} +1 -1
- package/dist/ui/assets/{cerebras--GK0UhYQ.js → cerebras-UwtUgOV6.js} +1 -1
- package/dist/ui/assets/{composer-speech-Bdzozil9.js → composer-speech-QgsQ1IqW.js} +1 -1
- package/dist/ui/assets/{connect-surface-BQ_yaiI0.js → connect-surface-COrO1h1v.js} +1 -1
- package/dist/ui/assets/context-compaction-BCsq-2e6.js +58 -0
- package/dist/ui/assets/core-BFRZk2b-.js +62 -0
- package/dist/ui/assets/{core-C1m4D34S.js → core-EGZ5TU35.js} +1 -1
- package/dist/ui/assets/{directed-approval-CM6zsUB_.js → directed-approval-iMn6w3M8.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-BykczwZL.js → emscripten-vfs-hook-_WoXADPd.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-DHqVNK3z.js → frozen-archive-writer-BhgsVjoX.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-BoBWoTrh.js → frozen-archive-writer-CBS7YWrT.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-CmVE8uz7.js → frozen-session-delete-B1-ipujg.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-ChrV93y5.js → frozen-session-identity-CTAIleP4.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-CRTDWmSN.js → frozen-session-identity-EbIVZuRz.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-Dnug4wB5.js → gelatiere-unit-BE-OCtHt.js} +1 -1
- package/dist/ui/assets/{github-DBHS2Dqt.js → github-C1OAynaV.js} +1 -1
- package/dist/ui/assets/{github-B2Jmtl5T.js → github-Dhh_Kein.js} +1 -1
- package/dist/ui/assets/{github-copilot-Cb-AGqlO.js → github-copilot-BECMsi8_.js} +1 -1
- package/dist/ui/assets/{github-copilot-jU2_bitu.js → github-copilot-Hlw3Z0TU.js} +1 -1
- package/dist/ui/assets/{guest-tool-gate-CXdRgkkb.js → guest-tool-gate-83ZVVYjM.js} +1 -1
- package/dist/ui/assets/{hear-C8rKY1FP.js → hear-B0sL5R-Z.js} +1 -1
- package/dist/ui/assets/{idle-compaction-pwltoPDa.js → idle-compaction-DGln8tkz.js} +1 -1
- package/dist/ui/assets/{interrupted-work-recovery-DSX617ic.js → interrupted-work-recovery-CWSaMQsO.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-kX5NT2rg.js → js-realm-worker-lw4jlVws.js} +2 -2
- package/dist/ui/assets/{jsh-executor-BVRmWOcY.js → jsh-executor-DZkflzRL.js} +2 -2
- package/dist/ui/assets/{kernel-worker-B8dQ6oD2.js → kernel-worker-yDR9ykP9.js} +78 -78
- package/dist/ui/assets/{lick-ws-bridge-xmS7PfYb.js → lick-ws-bridge-D_7Sju9n.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-B55KMh7y.js → lick-ws-bridge-awVQ4bod.js} +1 -1
- package/dist/ui/assets/{live-session-curation-BNMM5Cko.js → live-session-curation-KCnMJq1h.js} +1 -1
- package/dist/ui/assets/live-session-curation-XtShh6w8.js +186 -0
- package/dist/ui/assets/{live-session-snapshot-BW_iWuYO.js → live-session-snapshot-Cl5CEBKO.js} +1 -1
- package/dist/ui/assets/{local-llm-BTE5kJfp.js → local-llm-BuO74RMi.js} +1 -1
- package/dist/ui/assets/{local-llm-CJUTJaEr.js → local-llm-gJaQCXGv.js} +1 -1
- package/dist/ui/assets/main-CvCAlghs.js +22 -0
- package/dist/ui/assets/{main-cherry-Oc5q4aB-.js → main-cherry-C829SF3P.js} +1 -1
- package/dist/ui/assets/{mcp-command-CwuwVp6r.js → mcp-command-DMHz7PmL.js} +9 -9
- package/dist/ui/assets/{memory-curation-seam-BMeMHKkg.js → memory-curation-seam-epGReJuG.js} +1 -1
- package/dist/ui/assets/{memory-health-Bvv6LYKB.js → memory-health-BYR_Y-0X.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-CPixKZV3.js → memory-write-execute-DT_htd19.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-hv0-jK2p.js → merge-folded-cost-into-frozen-DimTAP8-.js} +1 -1
- package/dist/ui/assets/{new-session-DspiDGrn.js → new-session-D3NIubwl.js} +2 -2
- package/dist/ui/assets/oauth-bootstrap-dt8ZYlvi.js +2 -0
- package/dist/ui/assets/{onboarding-orchestrator-DkOtMT6l.js → onboarding-orchestrator-DB4uV5QM.js} +1 -1
- package/dist/ui/assets/{openai-codex-DPx8bB-I.js → openai-codex-CR-4SKAR.js} +1 -1
- package/dist/ui/assets/{openai-codex-DqI-LV1p.js → openai-codex-Cl-z58Kf.js} +1 -1
- package/dist/ui/assets/{openrouter-Bm5NKbSA.js → openrouter-BNdMnkix.js} +1 -1
- package/dist/ui/assets/{openrouter-CX8Bzh4-.js → openrouter-D79_Vd4c.js} +1 -1
- package/dist/ui/assets/{openrouter-free-Dio8R8YY.js → openrouter-free-C1-Bj_Xx.js} +1 -1
- package/dist/ui/assets/{openrouter-free-BtMhJjpj.js → openrouter-free-CQa1CoO4.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CYyzK9z-.js → openrouter-oauth-DOazjMTa.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DTvqvfHg.js → openrouter-oauth-D_I7eEtl.js} +1 -1
- package/dist/ui/assets/panel-rpc-handlers-BzU1tjGq.js +2 -0
- package/dist/ui/assets/{panelize-shell-BF3KcP4C.js → panelize-shell-B0pTufSe.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-2UPU8l9Z.js → pi-edit-execution-CvC4g6ge.js} +1 -1
- package/dist/ui/assets/{provider-BVH2DJ2j.js → provider-BVtwgFuj.js} +1 -1
- package/dist/ui/assets/{provider-C8H2Tzfg.js → provider-D5HnoEAQ.js} +1 -1
- package/dist/ui/assets/{provider-settings-SY82ESoD.js → provider-settings-Eedtvqyh.js} +1 -1
- package/dist/ui/assets/provider-store-access-Cb_QGFws.js +1 -0
- package/dist/ui/assets/provider-store-access-DpnMfiJL.js +1 -0
- package/dist/ui/assets/providers-CR6zPkBA.js +2 -0
- package/dist/ui/assets/{providers-CefzTaF8.js → providers-CxXqdsb8.js} +1 -1
- package/dist/ui/assets/{quick-llm-DiEAuzzI.js → quick-llm-OcogX5yH.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-Cc3228-9.js → realm-inprocess-D4P5wFOE.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-BcZm-Y2j.js → realm-unhandled-rejections-BcTVMNp-.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-TLpLRRgO.js → realm-unhandled-rejections-CKtowxzG.js} +1 -1
- package/dist/ui/assets/{recovery-screen-Cl89ahLT.js → recovery-screen-BGirKYu_.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-D82qMvNy.js → remote-terminal-view-qc6RzQpT.js} +2 -2
- package/dist/ui/assets/{restore-yq1C_osw.js → restore-BRsw6f-s.js} +1 -1
- package/dist/ui/assets/{run-DZrK_oOt.js → run-BpasEHV5.js} +2 -2
- package/dist/ui/assets/{run-Cu8PtYCw.js → run-CjVzDP7D.js} +2 -2
- package/dist/ui/assets/{run-tc2VFBej.js → run-Co30Tf9M.js} +1 -1
- package/dist/ui/assets/{run-BPeIvqOM.js → run-D4C2w6Ix.js} +1 -1
- package/dist/ui/assets/{session-command-memory-CDOmbg5g.js → session-command-memory-XnFNRIFA.js} +2 -2
- package/dist/ui/assets/{session-jsonl-D_UZgGp5.js → session-jsonl-CrcMW8fx.js} +1 -1
- package/dist/ui/assets/{session-jsonl-C4593KNn.js → session-jsonl-DO6bKeXA.js} +1 -1
- package/dist/ui/assets/{session-search-index-CUPFfLvv.js → session-search-index-CeQkxdD7.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-cYu5aVbG.js → setup-feature-flags-remote-BSbLoDdK.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-CR19K3-A.js → setup-model-catalog-DKaFLDA2.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-Bvrf2Hhh.js → silent-renew-backoff-JpXc1wkl.js} +1 -1
- package/dist/ui/assets/slicc-version-BfDpFkW3.js +1 -0
- package/dist/ui/assets/{soundscape-DxIHlkzy.js → soundscape-CD-xcN6Z.js} +1 -1
- package/dist/ui/assets/{speak-DkUF9yAq.js → speak-DgoChm2i.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-UTFA1mfr.js → sprinkle-manager-CDJc_08W.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-Cr1UxyZz.js → sprinkle-renderer-Dur1ZNnK.js} +1 -1
- package/dist/ui/assets/{sudo-SwaFp2JP.js → sudo-DO4cHGWe.js} +1 -1
- package/dist/ui/assets/{supervisor-DvFfdQZG.js → supervisor-DsxjOzXp.js} +1 -1
- package/dist/ui/assets/{sync-dialog-89X_eADs.js → sync-dialog-Ca6pboEO.js} +1 -1
- package/dist/ui/assets/{transformers-env-C6jpYwFE.js → transformers-env-lnsOWAhF.js} +1 -1
- package/dist/ui/assets/{tray-leader-2nVEUays.js → tray-leader-IzNrTl6C.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-Bn1GC9Cf.js → tray-leave-runtime-C1DwCeQz.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DmR9wMCP.js → tray-sidecar-DyqniZfp.js} +1 -1
- package/dist/ui/assets/{turn-journal-EgGBqAjY.js → turn-journal-CVQtwHPx.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-CHMH6iyk.js → upgrade-detection-GSR1EuFa.js} +1 -1
- package/dist/ui/assets/utf16-clip-Dcxt-q1C.js +1 -0
- package/dist/ui/assets/{voice-reply-BSouYhfc.js → voice-reply-BaAuLq60.js} +1 -1
- package/dist/ui/assets/wc-attach-sJ3NMqHQ.js +13 -0
- package/dist/ui/assets/{wc-browser-_YDya6R4.js → wc-browser-u5uzxk-d.js} +1 -1
- package/dist/ui/assets/{wc-computers-DsTSGd08.js → wc-computers-BX1yCXPi.js} +1 -1
- package/dist/ui/assets/{wc-detached-Cnh8X5Wm.js → wc-detached-U-XIb2f6.js} +1 -1
- package/dist/ui/assets/wc-extension-BgC75srq.js +2 -0
- package/dist/ui/assets/wc-follower-C6KuLED-.js +17 -0
- package/dist/ui/assets/{wc-follower-oauth-D8E_ti39.js → wc-follower-oauth-DsNONUfK.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-BCuLQnrY.js → wc-gelatiere-C1LMmmP-.js} +1 -1
- package/dist/ui/assets/wc-live-BvTlZWIq.js +248 -0
- package/dist/ui/assets/wc-nav-DAZqGqhf.js +2 -0
- package/dist/ui/assets/{wc-onboarding-myCW-Onf.js → wc-onboarding-Cf7ATuAZ.js} +2 -2
- package/dist/ui/assets/{wc-permissions-Baf4WNdK.js → wc-permissions-BfNzwBXu.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-C0mKH-Yt.js → wc-placeholder-73ZpUgXT.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-DLrIa256.js → wc-secret-request-BztOdnag.js} +1 -1
- package/dist/ui/assets/{wc-settings-C14VLbGh.js → wc-settings-ClXzlz1S.js} +3 -3
- package/dist/ui/assets/{wc-shell-BTfKKBgo.js → wc-shell-BBeNiS8R.js} +4 -4
- package/dist/ui/assets/{wc-shortcut-config-BvDHKCy0.js → wc-shortcut-config-DNDBw_BA.js} +1 -1
- package/dist/ui/assets/wc-sprinkles-ClXMSwxA.js +2 -0
- package/dist/ui/assets/{wc-transcript-export-CyRiKnwi.js → wc-transcript-export-APmcHVyY.js} +2 -2
- package/dist/ui/assets/{wc-tray-jeohKKcJ.js → wc-tray-B9Wksuuv.js} +4 -4
- package/dist/ui/assets/welcome-detection-CjuV_cig.js +1 -0
- package/dist/ui/assets/whisper-session-Bd6DyWgL.js +2 -0
- package/dist/ui/assets/{xai-grok-CpBrt9ak.js → xai-grok-CKLvBVjv.js} +1 -1
- package/dist/ui/assets/{xai-grok-BFykbO4p.js → xai-grok-ummZtHNw.js} +1 -1
- package/dist/ui/index.html +5 -4
- package/dist/ui/packages/webapp/index.html +5 -4
- package/package.json +1 -1
- package/dist/ui/assets/context-compaction-B8b3xc1C.js +0 -58
- package/dist/ui/assets/core-Cx9N3lmn.js +0 -62
- package/dist/ui/assets/live-session-curation-C8WI_jMh.js +0 -186
- package/dist/ui/assets/main-Cxb1a5Uz.js +0 -22
- package/dist/ui/assets/oauth-bootstrap-Dya1IvMk.js +0 -2
- package/dist/ui/assets/panel-rpc-handlers-DfSkY8OF.js +0 -2
- package/dist/ui/assets/provider-store-access-Cd8AQEiQ.js +0 -1
- package/dist/ui/assets/provider-store-access-DbDmDCT_.js +0 -1
- package/dist/ui/assets/providers-DollmArp.js +0 -2
- package/dist/ui/assets/slicc-version-BxghrDTL.js +0 -1
- package/dist/ui/assets/wc-attach-4HlzE8yC.js +0 -13
- package/dist/ui/assets/wc-extension-CTg_a4Zu.js +0 -2
- package/dist/ui/assets/wc-follower-CpxmTt8d.js +0 -17
- package/dist/ui/assets/wc-live-1-EV8_qk.js +0 -248
- package/dist/ui/assets/wc-nav-BJ5I51NK.js +0 -2
- package/dist/ui/assets/wc-sprinkles-ZL0xE_Cs.js +0 -2
- package/dist/ui/assets/welcome-detection-CuDKZAa8.js +0 -1
- package/dist/ui/assets/whisper-session-Ch8cDNVc.js +0 -2
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-BTfKKBgo.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-Dcuv1CAr.js","assets/core-Cx9N3lmn.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-DollmArp.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/wc-secret-request-DLrIa256.js","assets/secret-request-registry-DrOMKR1H.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{r as t,t as n}from"./base64-ELzoYfwP.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";var i=8,a=2e3,o=[`/workspace`,`/shared`,`/tmp`],s=8,c=new Set([`node_modules`,`.git`]),l=1e4,u=/\.(png|jpe?g|gif|webp|svg|avif)$/i,d=4194304,f=262144;function p(){return`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function m(e){return{png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,avif:`image/avif`,md:`text/markdown`,json:`application/json`}[e.toLowerCase().split(`.`).pop()??``]??`text/plain`}function h(e,n){let r={id:p(),name:e,size:n.length};if(u.test(e))return n.length>d?{...r,mimeType:m(e),kind:`image`,error:`image too large to inline`}:{...r,mimeType:m(e),kind:`image`,data:t(n)};let i={...r,mimeType:m(e),kind:`file`};return n.length>f?{...i,error:`file too large to inline`}:i}async function g(e){let t=new Uint8Array(await e.arrayBuffer()),n=h(e.name,t);return e.type?{...n,mimeType:e.type}:n}function _(e,t){let n=t.match(/^data:(image\/[^;]+);base64,(.+)$/);return n?{id:p(),name:e,mimeType:n[1],size:Math.floor(n[2].length*3/4),kind:`image`,data:n[2]}:null}var v=`/tmp/upload`,y=1568;async function b(e,t,n){await e.mkdir(v,{recursive:!0}).catch(()=>void 0);let r=`${v}/${Date.now()}-${t.replace(/[^A-Za-z0-9._-]+/g,`_`)}`;return await e.writeFile(r,n),r}async function x(e,t=y){let n=new Image;n.src=e;try{await n.decode()}catch{return e}let r=Math.min(1,t/Math.max(n.naturalWidth,n.naturalHeight,1));if(r>=1)return e;let i=document.createElement(`canvas`);return i.width=Math.round(n.naturalWidth*r),i.height=Math.round(n.naturalHeight*r),i.getContext(`2d`)?.drawImage(n,0,0,i.width,i.height),i.toDataURL(`image/jpeg`,.85)}async function S(e,t,r){let i=_(e,t);if(!i)return null;let a;return r&&i.data&&(a=await b(r,e,n(i.data)).catch(()=>void 0)),{..._(e,await x(t).catch(()=>t))??i,name:e,path:a}}async function C(e,t,n){if(!n)return null;let r=new Uint8Array(await t.arrayBuffer()),i=await b(n,e,r).catch(()=>void 0);return i?{id:p(),name:e,mimeType:t.type||`video/webm`,size:r.length,kind:`file`,path:i}:null}async function w(e){let t=[],n=o.map(e=>({dir:e,depth:0}));for(;n.length>0&&t.length<a;){let{dir:r,depth:i}=n.shift(),o;try{o=await e.readDir(r)}catch{continue}for(let e of o){let o=`${r}/${e.name}`;if(e.type===`directory`)i<s&&!c.has(e.name)&&n.push({dir:o,depth:i+1});else if(t.push(o),t.length>=a)break}}return t}function T(e){let t=null;return async n=>{let r=await e.openReader();(!t||Date.now()-t.at>l)&&(t={at:Date.now(),paths:await w(r)});let a=e=>n===``||e.toLowerCase().includes(n),o=t.paths.filter(e=>a(e)).slice(0,i).map(e=>({id:e,label:e.split(`/`).pop()??e,sub:e.slice(0,e.lastIndexOf(`/`))})),s=[];try{s=(await r.readDir(`/workspace/skills`)).filter(e=>e.type===`directory`&&a(e.name)).slice(0,i).map(e=>({id:e.name,label:e.name}))}catch{}let c=(await e.listConversations().catch(()=>[])).filter(e=>a(e.label)).slice(0,i);return[{kind:`file`,label:`Files`,icon:`file`,entries:o},{kind:`skill`,label:`Skills`,icon:`sparkles`,entries:s},{kind:`conversation`,label:`Conversations`,icon:`message-square`,entries:c}]}}var E=`slicc-wc-attach-style`,D=`
|
|
3
|
-
.wcatt{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0;font-family:var(--ui);}
|
|
4
|
-
.wcatt:empty{display:none;}
|
|
5
|
-
.wcatt__chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink);
|
|
6
|
-
background:var(--ghost);border:1px solid var(--line);border-radius:14px;padding:3px 8px;max-width:220px;}
|
|
7
|
-
.wcatt__thumb{width:28px;height:28px;object-fit:cover;border-radius:8px;cursor:zoom-in;
|
|
8
|
-
border:1px solid var(--line);flex:0 0 auto;}
|
|
9
|
-
.wcatt__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
10
|
-
.wcatt__x{appearance:none;background:none;border:none;cursor:pointer;color:var(--txt-3);
|
|
11
|
-
font:inherit;padding:0;line-height:1;}
|
|
12
|
-
.wcatt__x:hover{color:var(--ink);}
|
|
13
|
-
`,O=class{#e;#t=[];constructor(e){if(!document.getElementById(E)){let e=document.createElement(`style`);e.id=E,e.textContent=D,document.head.appendChild(e)}this.#e=document.createElement(`div`),this.#e.className=`wcatt`,e.prepend(this.#e)}get items(){return this.#t}add(e){this.#t.push(e),this.#n()}take(){let e=this.#t;return this.#t=[],this.#n(),e}#n(){this.#e.replaceChildren(...this.#t.map(e=>this.#r(e)))}#r(t){let n=document.createElement(`span`);if(n.className=`wcatt__chip`,t.kind===`image`&&t.data){let r=document.createElement(`img`);r.className=`wcatt__thumb`,r.src=`data:${t.mimeType};base64,${t.data}`,r.alt=t.name,r.addEventListener(`click`,()=>{e(async()=>{let{SliccImagePreview:e}=await import(`./wc-shell-BTfKKBgo.js`).then(e=>e.N);return{SliccImagePreview:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])).then(({SliccImagePreview:e})=>e.show(r.src,r))}),n.append(r)}let r=document.createElement(`span`);r.className=`wcatt__name`,r.textContent=t.name;let i=document.createElement(`button`);return i.type=`button`,i.className=`wcatt__x`,i.setAttribute(`aria-label`,`Remove ${t.name}`),i.textContent=`×`,i.addEventListener(`click`,()=>{this.#t=this.#t.filter(e=>e.id!==t.id),this.#n()}),n.append(r,i),n}};async function k(e){let t=document.createElement(`video`);t.srcObject=e,t.muted=!0;try{await t.play(),await new Promise(e=>requestAnimationFrame(()=>e(null)));let e=document.createElement(`canvas`);return e.width=t.videoWidth,e.height=t.videoHeight,e.width===0||e.height===0?null:(e.getContext(`2d`)?.drawImage(t,0,0),e.toDataURL(`image/png`))}finally{for(let t of e.getTracks())t.stop();t.srcObject=null}}async function A(){let e=r();if(e){let t=await e.request(`screenshare`,{constraints:{video:!0}});if(!t)return null;let n=t.stream;return k(n)}return k(await navigator.mediaDevices.getDisplayMedia({video:!0}))}async function j(e,t){let n=r();if(!n)return null;let i=await n.prompt({kinds:e,description:t,skipIfGranted:!0});for(let e of i.grants)if(e.kind===`camera`||e.kind===`microphone`||e.kind===`screenshare`)for(let t of e.stream.getTracks())t.stop();return i.status===`granted`}var M=`slicc_camera_device`,N=`slicc_microphone_device`,P=[`position:absolute`,`left:50%`,`right:auto`,`transform:translateX(-50%)`,`bottom:56px`,`width:calc(100% - 32px)`,`max-width:680px`,`z-index:3`].join(`;`);async function F(e,t){if(await j([`camera`,`microphone`],`Slicc is requesting access to your camera and microphone to capture a photo or video for this conversation.`)===!1)return null;let n=document.createElement(`slicc-composer-capture`),r=localStorage.getItem(M);r&&n.setAttribute(`preferred-device`,r);let i=localStorage.getItem(N);i&&n.setAttribute(`preferred-audio-device`,i),n.style.cssText=P,n.hidden=!0,n.addEventListener(`slicc-capture-device-change`,e=>{let t=e.detail;if(!t?.deviceId)return;let n=t.kind===`microphone`?N:M;localStorage.setItem(n,t.deviceId)}),e.append(n);try{return await n.open(t)}finally{n.remove()}}async function I(e,t,n){if(!e.dataUrl)return;let r=`photo-${Date.now()}.png`,i=await t.openWriter?.().catch(()=>null)??null,a=await S(r,e.dataUrl,i);a&&n.add(a)}async function L(e,t,n){if(!e.blob)return;let r=/webm/i.test(e.mimeType)?`webm`:`bin`,i=`video-${Date.now()}.${r}`,a=await t.openWriter?.().catch(()=>null)??null,o=await C(i,e.blob,a);o&&n.add(o)}async function R(e,t,n){if(e.mode===`photo`){if(!t.composer){let e=await z();if(!e)return;let r=await S(`photo-${Date.now()}.png`,e,await t.openWriter?.().catch(()=>null)??null);r&&n.add(r);return}let e=await F(t.composer,`photo`);if(!e)return;e.kind===`image`?await I(e,t,n):e.kind===`video`&&await L(e,t,n);return}let r=await A();if(!r)return;let i=await S(`screenshot-${Date.now()}.png`,r,await t.openWriter?.().catch(()=>null)??null);i&&n.add(i)}async function z(){if(await j([`camera`],`Slicc is requesting access to your camera to capture a photo for this conversation.`)===!1)return null;let e=document.createElement(`slicc-camera-dialog`),t=localStorage.getItem(M);t&&e.setAttribute(`preferred-device`,t),e.addEventListener(`slicc-camera-device-change`,e=>{let t=e.detail?.deviceId;t&&localStorage.setItem(M,t)}),document.body.append(e);try{return await e.open()}finally{e.remove()}}async function B(e,t,n){let r=await n.openWriter?.().catch(()=>null)??null,i=r?await b(r,e.name,t).catch(()=>void 0):void 0;return i?{...e,error:void 0,path:i}:e.kind===`image`?e:{...e,error:`could not be saved to the virtual filesystem`}}async function V(e,t,n){let r=await(await t()).readFile(e,{encoding:`binary`});return typeof r==`string`?(n.error(`VFS image pick returned text, not bytes — skipping the inline copy`,e),null):r}async function H(e,t,n){let r=0;try{r=(await(await n()).stat(e)).size}catch{}return{id:p(),name:t,mimeType:m(t),size:r,kind:`file`,path:e}}async function U(e,t,n,r){let i=e.split(`/`).pop()??e;if(u.test(i)){let a=await V(e,t,r);if(a){let t=h(i,a);n.add({...t,error:void 0,path:e});return}}n.add(await H(e,i,t))}function W(e,t){let n=t.value??t.getAttribute(`value`)??``,r=n&&!n.endsWith(` `)?` `:``;t.setAttribute(`value`,`${n}${r}${e}`)}function G(e,t){W(`Use the "${e}" skill: `,t)}async function K(t){let{requestSecretFromUser:n}=await e(async()=>{let{requestSecretFromUser:e}=await import(`./wc-secret-request-DLrIa256.js`);return{requestSecretFromUser:e}},__vite__mapDeps([39,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40])),r=await n();if(!r.stored)return;let i=r.domains.join(`, `),a=r.persisted?`saved`:`this session only`;W(r.maskedValue?`I stored the secret ${r.name} (masked value ${r.maskedValue}, scope: ${i}, ${a}). Use the masked value — SLICC swaps in the real one at the network boundary. `:`I stored the secret ${r.name} (scope: ${i}, ${a}). Run \`secret get ${r.name}\` for its masked value. `,t.inputCard)}function q(e){return e?.name===`NotAllowedError`}async function J(e,t,n){if(e.kind===`upload`&&e.file instanceof File){let r=new Uint8Array(await e.file.arrayBuffer());n.add(await B(await g(e.file),r,t))}else e.kind===`capture`?await R(e,t,n):e.kind===`file`&&typeof e.id==`string`&&t.openReader?await U(e.id,t.openReader,n,t.log):e.kind===`secret`?await K(t):e.kind===`skill`&&typeof e.label==`string`?G(e.label,t.inputCard):e.kind===`conversation`&&typeof e.id==`string`&&t.freezer.dispatchEvent(new CustomEvent(`freezer-card-select`,{bubbles:!0,composed:!0,detail:{slug:e.id}}))}function Y(e){let{inputCard:t,log:n}=e,r=new O(t),i=t.querySelector(`slicc-add-menu`);return i&&(e.openReader?i.provider=T({openReader:e.openReader,listConversations:e.listConversations??(async()=>[])}):i.results=[],i.setAttribute(`global-drop`,``),e.noCamera&&i.setAttribute(`no-camera`,``),e.secretEntry&&i.setAttribute(`secret-action`,``)),t.addEventListener(`slicc-add`,t=>{let i=t.detail;i&&J(i,e,r).catch(e=>{q(e)||n.error(`WC add-menu action failed`,e)})}),t.addEventListener(`paste`,t=>{let i=t.clipboardData?.items;if(i)for(let a of Array.from(i)){if(!a.type.startsWith(`image/`))continue;let i=a.getAsFile();if(!i)continue;t.preventDefault();let o=(i.type.split(`/`)[1]||`png`).replace(/[^a-z0-9]/gi,``)||`png`,s=i.name?i:new File([i],`pasted-image.${o}`,{type:i.type});J({kind:`upload`,name:s.name,size:s.size,file:s},e,r).catch(e=>n.error(`Paste image failed`,e))}}),r}export{Y as wireWcAttach};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-Cxb1a5Uz.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/core-Cx9N3lmn.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/preload-helper-Czpn1I53.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-Dcuv1CAr.js","assets/providers-DollmArp.js","assets/stored-accounts-ChNHYF68.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{C as t,S as n,b as r,r as i,t as a,y as o}from"./wc-live-1-EV8_qk.js";import{wireWcDetached as s}from"./wc-detached-Cnh8X5Wm.js";async function c(c,l,u=!1){let d;await i(c,l,{floatKind:`extension`,connect:e=>{d=new t(o(e.wiring));let i=n(d);return{client:r(e.wiring),host:i,workbench:(e,t)=>{a(e,d,t,i,l)}}}}),s({client:d,isDetachedSelf:u});let{setupSudoExtension:f}=await e(async()=>{let{setupSudoExtension:e}=await import(`./main-Cxb1a5Uz.js`).then(e=>e.c);return{setupSudoExtension:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]));await f({log:l}),d.requestState(),l.info(`WC extension shell connected to offscreen engine`)}export{c as bootExtensionFloat};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-BTfKKBgo.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-Dcuv1CAr.js","assets/core-Cx9N3lmn.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-DollmArp.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/panelize-shell-BF3KcP4C.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-live-1-EV8_qk.js","assets/sprinkle-renderer-Cr1UxyZz.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/theme-CwPIBqJE.js","assets/theme-engine-ZV7CeqWw.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/frozen-archive-writer-DHqVNK3z.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-Cxb1a5Uz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/browser-BhTdBqdp.js","assets/utf16-clip-CGL7omVm.js","assets/tray-leader-2nVEUays.js","assets/record-CBv8rWFt.js","assets/descriptor-CuhPBdq8.js","assets/types-CFfBWsH5.js","assets/frozen-session-identity-ChrV93y5.js","assets/session-jsonl-D_UZgGp5.js","assets/live-session-curation-C8WI_jMh.js","assets/thinking-level-DCJktR5U.js","assets/wc-unit-context-CZro7UrY.js","assets/legacy-styles-B3nS5QUo.js","assets/follower-navigate-watcher-C0CP4-Mn.js","assets/navigation-watcher-CPcnZL9l.js","assets/discovery-preference-D8GXCv8i.js","assets/wc-transcript-export-CyRiKnwi.js","assets/export-spool-CuNzzI8a.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r}from"./feature-flags-DvsApnS-.js";import{n as i}from"./transcript-export-DP-r8eDz.js";import{S as a,a as o,c as s,d as c,i as ee,n as te,r as ne,t as re,x as l}from"./wc-follower-oauth-D8E_ti39.js";import{a as ie,t as ae}from"./tray-follower-status-BAjnN7Ar.js";import{C as oe,D as u,E as d,s as se,w as f,x as ce}from"./main-Cxb1a5Uz.js";import{m as le,r as ue,x as de}from"./wc-live-1-EV8_qk.js";import{n as fe}from"./theme-engine-ZV7CeqWw.js";import{c as pe,m as me,s as he,t as ge}from"./wc-unit-context-CZro7UrY.js";import{WcSprinkleZone as _e}from"./wc-sprinkles-ZL0xE_Cs.js";import{wireWcAttach as ve}from"./wc-attach-4HlzE8yC.js";import{installLeaderPermissionsSurface as ye}from"./wc-permissions-Baf4WNdK.js";var p=t(`follower-switch-out`);function be(e,t){t.stopFollower();try{t.storage.removeItem(d),e.workerBaseUrl===null?t.storage.removeItem(u):t.storage.setItem(u,e.workerBaseUrl)}catch(e){p.error(`follower switch-out: storage write failed — state may revert on reload`,{error:e instanceof Error?e.message:String(e)})}try{let e=t.getHref(),n=f(e);n!==e&&t.replaceHref(n)}catch(e){p.error(`follower switch-out: URL normalize failed — may re-enter follower on reload`,{error:e instanceof Error?e.message:String(e)})}t.reload()}var m=6;function xe(e){let{refs:t,getSync:n,getTargets:r,hasCdpBrowser:i,log:a}=e;if(t.overlaySurfaces.has(`browser`))return{overlay:document.createElement(`slicc-tab-overlay`),refresh:()=>{}};let o=document.createElement(`slicc-tab-overlay`);o.setAttribute(`heading`,`Browser · tabs in this tray`),o.setAttribute(`no-peek`,``),document.body.append(o);let s=()=>{o.tabs=r().map(e=>({id:e.targetId,title:e.title||e.url||e.targetId,url:e.url}))};return t.overlaySurfaces.add(`browser`),t.dock.addEventListener(`slicc-dock-select`,e=>{e.detail?.id===`browser`&&(s(),o.show(),t.dock.collapse?.())}),o.addEventListener(`tab-activate`,t=>{let r=t.detail.id,s=n(),c=s?.getLeaderProtocolVersion()??0;if(!(s&&i()&&c>=m)){let t=o.tabs.find(e=>e.id===r)?.url;if(!t){a.warn(`WC follower browser: no URL for tab`,{id:r});return}e.window.open(t,`_blank`,`noopener`)||a.warn(`WC follower browser: window.open was blocked`,{id:r}),o.hide();return}s.requestTabTeleport(r).then(e=>{a.info(`WC follower browser: leader teleported a tab here`,{source:r,targetId:e}),o.hide()}).catch(e=>{a.error(`WC follower browser: tab teleport failed`,e)})}),{overlay:o,refresh:s}}var h=new Set([`oauth-attempt`,`connect-attempt`,`device-code-decision`]);function Se(e){return h.has(e)}var g=`slicc-signin-redirect-style`,_=`wc-signin-redirect`,v=`${_}--welcome`,y=`
|
|
3
|
-
.${_}{display:flex;gap:10px;align-items:flex-start;margin:10px 12px;padding:12px 14px;
|
|
4
|
-
border:1px solid var(--line);border-radius:12px;background:var(--ghost);color:var(--ink);
|
|
5
|
-
font-family:var(--ui);font-size:13px;line-height:1.4;}
|
|
6
|
-
.${_}__body{flex:1;min-width:0;}
|
|
7
|
-
.${_}__title{font-weight:600;margin-bottom:2px;}
|
|
8
|
-
.${_}__sub{color:var(--txt-2);}
|
|
9
|
-
.${_}__open{appearance:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;
|
|
10
|
-
background:var(--canvas);color:var(--ink);font:inherit;font-weight:600;padding:6px 12px;white-space:nowrap;}
|
|
11
|
-
.${_}__open:hover{background:var(--ghost);}
|
|
12
|
-
.${_}__x{appearance:none;background:none;border:none;cursor:pointer;color:var(--txt-3);
|
|
13
|
-
font:inherit;font-size:16px;line-height:1;padding:0 2px;}
|
|
14
|
-
.${_}__x:hover{color:var(--ink);}
|
|
15
|
-
`;function b(e){if(e.getElementById(g))return;let t=e.createElement(`style`);t.id=g,t.textContent=y,e.head.appendChild(t)}function x(e,t){b(e);let n=e.createElement(`div`);n.className=_,n.setAttribute(`role`,`status`);let r=e.createElement(`div`);r.className=`${_}__body`;let i=e.createElement(`div`);i.className=`${_}__title`,i.textContent=t.title;let a=e.createElement(`div`);a.className=`${_}__sub`,a.textContent=t.sub,r.append(i,a);let o=e.createElement(`button`);if(o.type=`button`,o.className=`${_}__open`,o.textContent=t.buttonLabel,o.addEventListener(`click`,()=>t.onOpenTab()),n.append(r,o),t.dismissible){let t=e.createElement(`button`);t.type=`button`,t.className=`${_}__x`,t.setAttribute(`aria-label`,`Dismiss`),t.textContent=`×`,t.addEventListener(`click`,()=>n.remove()),n.append(t)}return n}function Ce(e,t){let n=e.ownerDocument;t.onOpenTab();let r=e.querySelector(`.${_}`);if(r)return r.scrollIntoView?.({block:`nearest`}),r;let i=x(n,{title:`Sign in from the SLICC tab`,sub:`The side panel can't complete a provider login — we've switched you to the main SLICC tab. Finish signing in there (Settings › Providers), then come back.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!0});return e.append(i),i.scrollIntoView?.({block:`nearest`}),i}function we(e,t){let n=x(e,{title:`Set up SLICC in the main tab`,sub:`SLICC needs a model connected before it can help. Open the main SLICC tab to finish setup and sign in, then come back to the side panel.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!1});return n.classList.add(v),n}var S=t(`wc-follower`),Te=`/shared/sprinkles/welcome/`,Ee=`/shared/sprinkles/suggestions/`;function De(e){return e===void 0||e===`active`?{kind:`active`}:e.trim()===``?null:{kind:`frozen`,sessionId:e}}function Oe(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.style.color=`var(--s2-negative, #e34850)`,r.textContent=`Could not start follower`;let i=document.createElement(`p`);i.style.color=`var(--s2-content-tertiary, #717171)`,i.textContent=t,n.append(r,i),e.appendChild(n)}function ke(e,t,n,r,i){let a=e=>{let t=document.createElement(`div`);return t.className=`wcui-placeholder`,t.textContent=e,t};i.files?(e.style.display=`none`,e.parentElement?.append(a(`Files live on the leader. A follower mirrors the leader's chat, sprinkles, and browser tabs - not its filesystem.`))):e.closest(`slicc-surface`)?.remove(),i.terminal?t.append(a(`The shell runs on the leader. A follower has no local terminal - drive the session through chat.`)):t.closest(`slicc-surface`)?.remove(),i.memory?n.append(a(`Memory lives on the leader. A follower has no local memory store.`)):n.closest(`slicc-surface`)?.remove(),i.monitor?(r.style.display=`none`,r.parentElement?.append(a(`Monitor reads the leader's kernel state. A follower has no local kernel.`))):r.closest(`slicc-surface`)?.remove()}var C={terminal:!0,files:!0,memory:!0,browser:!0,modelPicker:!0,history:!0,nav:!0,monitor:!0,showTimestamps:!0};function Ae(e){let t=[];for(let[n,r]of[[`terminal`,`term`],[`files`,`files`],[`memory`,`memory`],[`browser`,`browser`],[`monitor`,`monitor`]])e[n]||t.push(`slicc-dock-item[data-t="${r}"]`);if(e.modelPicker||t.push(`slicc-composer-meta`),e.history||t.push(`slicc-freezer`),e.nav||t.push(`slicc-nav`),!e.terminal&&!e.files&&!e.memory&&!e.browser&&!e.monitor&&t.push(`slicc-dock .div`,`slicc-dock .grow`),t.length||!e.history){let n=document.createElement(`style`),r=t.length?`${t.join(`,
|
|
16
|
-
`)}{display:none!important;}`:``;e.history||(r+=`
|
|
17
|
-
.wcui-appcol{padding-left:0!important;}`),n.textContent=r,document.head.append(n)}}function w(e,t){return e&&!t}async function T(t,n,r){let[{parseLayoutDocument:i},{panelizeShell:a}]=await Promise.all([e(()=>import(`./wc-shell-BTfKKBgo.js`).then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),e(()=>import(`./panelize-shell-BF3KcP4C.js`),__vite__mapDeps([39,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,41]))]),o=i(n);if(`error`in o){r.warn(`follower: host-pushed layout failed validation — keeping the default`,{error:o.error});return}a(t.refs,o),r.info(`follower: applied host-pushed layout document`,{id:o.id,locked:o.locked===!0})}async function je(e,t,i){if(i&&t.cherryTransport?.flags)try{let e=JSON.parse(t.cherryTransport.flags);e&&typeof e==`object`&&!Array.isArray(e)&&r(e)}catch(e){S.warn(`follower: host-pushed flags were not valid JSON — ignoring`,e)}let a=n(`panel-layouts`);if(e.refs.dockTree.tilesMovable=a,i&&t.cherryTransport?.layout)try{let n=JSON.parse(t.cherryTransport.layout);n&&typeof n==`object`&&`base`in n?a?await T(e,n,S):S.warn(`follower: ignoring host-pushed layout — the panel-layouts flag is off`):e.refs.dockTree.setTree(n)}catch(e){S.warn(`follower: host-pushed layout was not valid JSON — keeping the default`,e)}}async function E(t,r,u){let d=u===`cherry`,f=d&&new URLSearchParams(window.location.search).get(`ui-only`)===`1`,p=window.location.ancestorOrigins?.[0],m=d&&(p?.startsWith(`chrome-extension://`)??!1),h;try{h=await se({runtimeMode:u,envBaseUrl:null,window,log:r})}catch(e){let n=e instanceof Error?e.message:String(e);S.error(`follower prelude failed`,{runtimeMode:u,error:n}),Oe(t,n);return}let g=d?h.cherryJoinUrl:ce(window.location.href,window.localStorage);if(!g){S.error(`follower mount with no join URL - falling back to live boot`);let{bootLeaderFloat:n}=await e(async()=>{let{bootLeaderFloat:e}=await import(`./wc-live-1-EV8_qk.js`).then(e=>e.n);return{bootLeaderFloat:e}},__vite__mapDeps([42,1,8,9,10,11,2,12,13,14,15,16,3,17,18,5,19,20,21,22,23,24,25,26,27,28,0,4,6,7,29,30,31,32,33,34,35,36,37,38,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]));return n(t,r,`standalone`)}let _=d?`cherry`:m?`extension`:`standalone`,y,b,x,T=new Set,E=null,D=new te({onSilence:(e,t)=>{e===R()&&P.addAssistantMessage(ee(t,m))},onRejected:(e,t)=>{e!==null&&e===R()&&P.addAssistantMessage(ne(t))}});T.add(()=>D.noteLeaderActivity());let O=null,k=()=>h.cherryTransport?.emitSliccEventToHost(`slicc.open-leader-tab`),A=()=>{m&&Ce(y.refs.thread,{onOpenTab:k})},j=e=>{let t=e.querySelectorAll(`img[src^="${Te}"]`);return t.length!==0&&(t.forEach((t,n)=>{n===0&&!M?t.replaceWith(we(e.ownerDocument,{onOpenTab:k})):t.remove()}),!0)},M=!1,Me=e=>{let t=e.querySelectorAll(`img[src^="${Ee}"]`);if(t.length!==0){for(let e of t)e.remove();M=!0;for(let e of y.refs.thread.querySelectorAll(`.${v}`))e.remove()}},N=(await ue(t,r,{floatKind:_,connect:async t=>{y=t,d&&h.cherryTransport?.theme&&fe(h.cherryTransport.theme),await je(y,h,d);let n=d&&h.cherryTransport?.effortLevel;n?localStorage.setItem(`slicc_locked_effort_level`,n):localStorage.removeItem(`slicc_locked_effort_level`),b=d&&h.cherryTransport?{...C,...h.cherryTransport.features}:C,ke(y.refs.fileTree,y.refs.termSurface,y.refs.memoryHost,y.refs.monitor,b),Ae(b),e(async()=>{let{applyTimestampVisibility:e,initTimestampPreference:t}=await import(`./wc-shell-BTfKKBgo.js`).then(e=>e.Q);return{applyTimestampVisibility:e,initTimestampPreference:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])).then(({applyTimestampVisibility:e,initTimestampPreference:t})=>{b.showTimestamps?t():e(!1)}),e(async()=>{let{loadDipStyles:e,loadSprinkleStyles:t}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e,loadSprinkleStyles:t}},__vite__mapDeps([73,2])).then(({loadDipStyles:e,loadSprinkleStyles:t})=>Promise.all([e(),t()])).catch(()=>void 0),x=new o({getSync:()=>J?.currentSync??null,onSend:(e,t)=>D.noteSent(e,t)});let r=de({getSync:()=>J?.currentSync??null,onAgentEvent:e=>(T.add(e),()=>T.delete(e)),onAgentError:e=>{S.warn(`follower send failed`,{error:e}),N.controller.addAssistantMessage(`_That message was not sent to the leader — ${e}_`)}}),i={...r,sendSprinkleLick:(e,t,n)=>{r.sendSprinkleLick(e,t,n);let i=t?.action;typeof i==`string`&&Se(i)&&A()},addressableUnitId:()=>V(),onMessageRendered:e=>{Me(e),m&&j(e)},onSelectionApplied:()=>{W(H,U),O?.onShownUnitChanged()},onSnapshotRendered:e=>{N.controller.setProcessing(e.some(e=>e.isStreaming))},ownsModelPill:!0,takeAttachments:()=>Pe.take()};return{client:x,host:i}}})).chat,P=N.controller;if(m)for(let e of[`slicc-error-open-settings`,`slicc-error-login`,`slicc-error-change-model`])y.refs.thread.addEventListener(e,()=>A());let F=`Connecting to leader…`,I=`Ask the leader, or describe a change…`,L=null,R=()=>y.getSelected()?.id??L,z=e=>e&&e.length>0?e:null,B=!1,V=()=>B?z(R()??x.selectedUnitId):null,Ne=()=>{let e=y.getSelected();return e?me(e):!1},H=!1,U=F,W=(e,t)=>{H=e,U=t;let n=e&&V()!==null;y.refs.inputCard.setAttribute(`placeholder`,e&&!n?F:t),n&&!Ne()?y.refs.inputCard.removeAttribute(`disabled`):y.refs.inputCard.setAttribute(`disabled`,``)};W(!1,F),ie(e=>{try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}});try{window.localStorage.setItem(l,JSON.stringify(ae()))}catch{}f||y.refs.composer.setAttribute(`ptt`,``);let Pe=ve({inputCard:y.refs.inputCard,freezer:y.refs.freezer,composer:y.refs.composer,noCamera:f,log:S}),G=new _e(y.refs).callbacks(),K=e=>{if(L=e,!e)return;let t=x.currentUnits().find(t=>t.id===e);if(!t){y.watchUnit(e),W(H,U);return}if(y.getSelected()?.id!==t.id){y.selectScoop(t);return}W(H,U)},q=()=>{B=!1,x.resetSelection()};y.refs.switcher.connection=`disconnected`;let J,Y=null,Fe=()=>(Y||=ye({runtimeMode:u})?.element??null,Y),X=[],Ie=xe({refs:y.refs,getSync:()=>J.currentSync,getTargets:()=>X,hasCdpBrowser:()=>w(h.hasLocalCdpSurface,f),window,log:S});O=le({composerMeta:y.refs.composerMeta,getUnits:()=>x.currentUnits(),setModel:(e,t)=>{x.setModel(e,t).catch(()=>void 0)},getSync:()=>J.currentSync,getSelectedScoopJid:()=>R(),modelPickerEnabled:b.modelPicker,getLockedEffortLevel:()=>localStorage.getItem(`slicc_locked_effort_level`)}),x.subscribeList(()=>O?.onShownUnitChanged()),J=s(x.wrapOptions({joinUrl:g,runtime:d?a:`slicc-standalone`,advertisesCdpTargets:w(h.hasLocalCdpSurface,f),onTargetsUpdated:e=>{X=e,Ie.refresh()},...d||f?{}:{onOAuthPopupRequest:(e,t)=>re(e,t,{getPermissionsSurface:Fe,window})},browserAPI:h.browser,onSnapshot:(e,t)=>{B=!0,K(z(t))},onUserMessage:(e,t,n,r)=>P.addUserMessage(e,r),onOwnUserMessageEcho:(e,t)=>D.noteReceived(t,e),onUserMessageAck:e=>D.noteAck(e),onBiscottoMessageState:(e,t)=>{switch(D.noteLeaderActivity(),t){case`pending`:P.addAssistantMessage(`_Sent for review — waiting for the host._`);break;case`rejected`:P.addAssistantMessage(`_The host did not forward that message._`);break;case`unanswered`:P.addAssistantMessage(`_No one reviewed that message in time, so it was not forwarded._`)}},onStatus:(e,t)=>{D.noteLeaderActivity(t),c(t,R())&&P.setProcessing(e===`processing`)},setChatAgent:e=>{E?.(),E=e.onEvent(e=>{for(let t of T)t(e)})},onSudoApprovalRequest:async t=>{let{openSudoApprovalDialog:n}=await e(async()=>{let{openSudoApprovalDialog:e}=await import(`./wc-sudo-approval-C51zuN6a.js`);return{openSudoApprovalDialog:e}},[]),r=d?h.cherryTransport?.hostOrigin:void 0;return{decision:(await n({kind:t.kind,detail:t.detail,...t.suggestedPattern?{suggestedPattern:t.suggestedPattern}:{},...t.reason?{reason:t.reason}:{}},{allowAlways:!1,signal:t.signal,expiresAt:t.expiresAt,requester:t.requester??t.scoopName??(r?`via ${r}`:void 0)})).decision,attestation:`none`}},onConnectionChange:e=>{y.refs.switcher.connection=e?`connected`:`disconnected`,e||q(),e||D.noteLeaderActivity(),W(e,e?I:F),e||O?.reset(),d&&h.cherryTransport?.emitSliccEventToHost(e?`slicc.follower.ready`:`slicc.follower.disconnected`)},getSelectedScoopJid:()=>R(),onLeaderStalled:e=>{W(!e,e?`The leader is busy — hang on…`:I)},onGaveUp:e=>{S.error(`follower gave up reaching the leader`,{error:e}),y.refs.switcher.connection=`disconnected`,q(),W(!1,`Couldn't reach the leader. Reload to retry.`),O?.reset(),d&&h.cherryTransport?.emitSliccEventToHost(`slicc.follower.disconnected`)},...d?{}:{onJoinUrlChanged:e=>{S.info(`follower joinUrl superseded, persisting replacement`,{newJoinUrl:e}),oe(window.localStorage,e)}},addSprinkle:G.addSprinkle,removeSprinkle:G.removeSprinkle,onOpen:e=>{/^https?:\/\//.test(e)?window.open(e,`_blank`,`noopener`):S.warn(`follower sprinkle open() of a local path is unavailable`,{path:e})},onSelectScoop:e=>he(x.currentUnits(),e,y.getSelected()?.id,e=>y.selectScoop(e),()=>ge(y.refs.inputCard)),onSelectedScoop:()=>pe(x.currentUnits(),y.getSelected()?.id),onScoopsList:(e,t)=>{B=!0;let n=R();!n||!e.some(e=>e.jid===n)?K(z(t)):K(n),y.wiring.refreshScoops?.()},onModelsList:e=>O?.onModelsList(e),onModelState:e=>O?.onModelState(e),...d?{onCherrySliccEvent:(e,t)=>h.cherryTransport?.emitSliccEventToHost(e,t)}:{}}));for(let e of[`save`,`skip`,`erase`])y.refs.freezer.addEventListener(`new-chat-${e}`,()=>{x.forgetLocalSends(),J.currentSync?.requestNewSession(e)});n(`agentic-memory`)&&y.refs.freezer.querySelector(`slicc-freezer-new`)?.setAttribute(`no-skip`,``),y.refs.switcher.addEventListener(`slicc-scoop-select`,e=>{let t=e.detail?.key;t&&(L=t)}),d&&h.cherryTransport&&(h.cherryTransport.onHostEvent=(e,t)=>J.currentSync?.sendCherryHostEvent(e,t),h.cherryTransport.onExportRequest=(e,t,n,r)=>{let a=J.currentSync;if(!a)return Promise.reject(new i(`transfer-aborted`));let o=De(t);return o?a.requestTranscriptExport(o,n,r):Promise.reject(new i(`session-not-found`))});let Z=null;if(!d){let{startFollowerNavigateWatcher:t}=await e(async()=>{let{startFollowerNavigateWatcher:e}=await import(`./follower-navigate-watcher-C0CP4-Mn.js`);return{startFollowerNavigateWatcher:e}},__vite__mapDeps([74,3,75,6,18,1,2,5,19,20,21,76]));Z=t(h.realCdpTransport,()=>J.currentSync)}let Q=!1,$=()=>{y.refs.avatarMenu.items=[{kind:`separator`},...m?[{id:`focus-leader-tab`,label:`Bring leader to front`,icon:`external-link`}]:[],{id:`export-transcript`,label:Q?`Exporting…`:`Export transcript`,icon:`download`,disabled:Q||void 0},{id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0}]};$(),y.refs.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n===`focus-leader-tab`){h.cherryTransport?.emitSliccEventToHost(`slicc.focus-leader-tab`);return}if(n===`tray-stop`){window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}}));return}if(n===`export-transcript`&&!Q){Q=!0,$();let t=J.currentSync;if(!t){Q=!1,$();return}let n=new AbortController;t.requestTranscriptExport({kind:`active`},n.signal).then(async t=>{let{downloadTranscriptBlob:n}=await e(async()=>{let{downloadTranscriptBlob:e}=await import(`./wc-transcript-export-CyRiKnwi.js`);return{downloadTranscriptBlob:e}},__vite__mapDeps([77,2,54,78,60,1]));await n(t,`slicc-transcript-${new Date().toISOString().slice(0,10)}.zip`)}).catch(e=>{S.error(`follower transcript export failed`,{error:String(e)})}).finally(()=>{Q=!1,$()})}}),window.addEventListener(`slicc:tray-leave`,e=>{be({workerBaseUrl:(e.detail??{}).workerBaseUrl??null},{storage:window.localStorage,stopFollower:()=>{Z?.(),J.stop()},getHref:()=>window.location.href,replaceHref:e=>window.history.replaceState(null,``,e),reload:()=>window.location.reload()})}),S.info(`follower mounted`,{runtimeMode:u,isCherry:d})}export{E as bootFollowerFloat};
|