sliccy 6.77.0 → 6.78.0
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/node-server/_shared/agent-wire-types.d.ts +28 -0
- package/dist/node-server/_shared/agent-wire-types.d.ts.map +1 -1
- package/dist/node-server/bridge-security.js +1 -1
- package/dist/node-server/fetch-proxy-headers.d.ts +7 -0
- package/dist/node-server/fetch-proxy-headers.js +7 -0
- package/dist/node-server/routes/fetch-proxy.js +18 -1
- package/dist/ui/.vite/manifest.json +231 -231
- package/dist/ui/assets/{account-store-De_TsgNS.js → account-store-BYQKqAgp.js} +3 -3
- package/dist/ui/assets/{account-store-bVEfH-i1.js → account-store-DxVNrRBU.js} +2 -2
- package/dist/ui/assets/{adobe-CGqrUz1Y.js → adobe-DgvyQkR3.js} +2 -2
- package/dist/ui/assets/{adobe-CsU1dmjd.js → adobe-d0FS6rbN.js} +1 -1
- package/dist/ui/assets/{apply-layout-CY5gbE-i.js → apply-layout-BR2L_XAe.js} +1 -1
- package/dist/ui/assets/{apps-vs-BVQNd.js → apps-yCWHyFOJ.js} +1 -1
- package/dist/ui/assets/{azure-openai-DtTNvGOT.js → azure-openai-BzlubeJS.js} +1 -1
- package/dist/ui/assets/{azure-openai-DosGMzDb.js → azure-openai-DUj5um3l.js} +1 -1
- package/dist/ui/assets/{cerebras-BYO1lkzs.js → cerebras-GaJLd0iF.js} +1 -1
- package/dist/ui/assets/{cerebras-Bmyzp-zX.js → cerebras-LxIEL_2m.js} +1 -1
- package/dist/ui/assets/{client-BGJKiXya.js → client-BTUV7dbh.js} +1 -1
- package/dist/ui/assets/{composer-speech-faUgsBUj.js → composer-speech-SNeD5SER.js} +1 -1
- package/dist/ui/assets/{connect-surface-B4rlBU-8.js → connect-surface-n0EhwnRN.js} +1 -1
- package/dist/ui/assets/{cost-command-AOg9dLn6.js → cost-command-Be2VSQE-.js} +1 -1
- package/dist/ui/assets/{discovery-preference-DnRQbFjv.js → discovery-preference-fqUhjzeE.js} +1 -1
- package/dist/ui/assets/{dist-C9DoSbIs.js → dist-BgBby8A3.js} +1 -1
- package/dist/ui/assets/{dist-Dk3FjOeV.js → dist-CUNJrB-E.js} +1 -1
- package/dist/ui/assets/{dist-DXFsi5vc.js → dist-DflFofKs.js} +1 -1
- package/dist/ui/assets/{dist-B49ZrWMI.js → dist-lpaE9omP.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-tfN1ILpq.js → ensure-speech-assets-DDGWBTuw.js} +1 -1
- package/dist/ui/assets/{float-topology-BX3WJDxo.js → float-topology-BgioAcOd.js} +1 -1
- package/dist/ui/assets/{follower-navigate-watcher-B9JWWBt4.js → follower-navigate-watcher-CNC7ybEv.js} +1 -1
- package/dist/ui/assets/fs-M8pR-IYy.js +1 -0
- package/dist/ui/assets/fs-k3SuP720.js +2 -0
- package/dist/ui/assets/{github-UAVy7vuV.js → github-CSrhTw9O.js} +1 -1
- package/dist/ui/assets/{github-copilot-Dv6Tbnfe.js → github-copilot-BMoQjC4H.js} +1 -1
- package/dist/ui/assets/{github-copilot-DJaloPXe.js → github-copilot-Cr-fq2Ji.js} +1 -1
- package/dist/ui/assets/{github-lYedv6El.js → github-hM4cqkpY.js} +2 -2
- package/dist/ui/assets/{github-install-D4ez_Fes.js → github-install-BQa8EEjK.js} +1 -1
- package/dist/ui/assets/{github-zip-DhP92o0b.js → github-zip-BDtWVoGh.js} +1 -1
- package/dist/ui/assets/{hear-BUBmK8Kl.js → hear-D33CHppO.js} +1 -1
- package/dist/ui/assets/{host-command-CzRn3Wvz.js → host-command-BsHBnvjR.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-jrHPVSxc.js → js-realm-worker-CN4kgXJf.js} +1 -1
- package/dist/ui/assets/{kernel-worker-CwMofD35.js → kernel-worker-BH0rEmWC.js} +658 -657
- package/dist/ui/assets/{lick-urls-DEfVsxzt.js → lick-urls-AW0BSaf4.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DZ5pLaXa.js → lick-ws-bridge-CWRES2H2.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-C5jpbwXT.js → lick-ws-bridge-DiPcVRfN.js} +1 -1
- package/dist/ui/assets/{local-llm-BIQIX2zz.js → local-llm-CiXCcmVr.js} +1 -1
- package/dist/ui/assets/{local-llm-CbcMvXaz.js → local-llm-D256GT_v.js} +1 -1
- package/dist/ui/assets/{main-Bq1HBP85.js → main-BS0D26py.js} +3 -3
- package/dist/ui/assets/{mount-BbZCKptE.js → mount-B9_3ZQzT.js} +2 -2
- package/dist/ui/assets/{mount-bridge-client-CdactLBz.js → mount-bridge-client-4blXuJO1.js} +1 -1
- package/dist/ui/assets/{mount-recovery-BruKweZb.js → mount-recovery-BZ_CHinL.js} +1 -1
- package/dist/ui/assets/{mount-DjyUp2dd.js → mount-tfINOI55.js} +1 -1
- package/dist/ui/assets/{new-session-huVBjjzQ.js → new-session-B-Hg54W3.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-BmWuG2rE.js → oauth-bootstrap-Cm9RUT-G.js} +2 -2
- package/dist/ui/assets/{oauth-service-DNcIcWT8.js → oauth-service-Bbrrl8Mr.js} +1 -1
- package/dist/ui/assets/{oauth-service-C9Jn4g2n.js → oauth-service-Cy5ngmcU.js} +1 -1
- package/dist/ui/assets/{openai-codex-DHVs2Np8.js → openai-codex-BwJnndoW.js} +1 -1
- package/dist/ui/assets/{openai-codex-BubNbqI-.js → openai-codex-SI6Y9VIv.js} +1 -1
- package/dist/ui/assets/{openrouter-qx31i_3q.js → openrouter-75bG7oVb.js} +1 -1
- package/dist/ui/assets/{openrouter-COJNpYJ7.js → openrouter-CCkgw1Hq.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DGyh6uTl.js → openrouter-oauth-BsRxdUIm.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Dc4HIytd.js → openrouter-oauth-CxKccPms.js} +1 -1
- package/dist/ui/assets/{page-approval-service-BwheP_IN.js → page-approval-service-Bbc3_KdK.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-uTtbnQ-T.js → panel-rpc-handlers-PZanZLgN.js} +2 -2
- package/dist/ui/assets/{port-bridge-client-CqQzd6rs.js → port-bridge-client-BbVs1yhx.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-VUdCD0pB.js → port-bridge-client-DxYLF2-N.js} +1 -1
- package/dist/ui/assets/{provider-B1ktTd1p.js → provider-CCymriTA.js} +1 -1
- package/dist/ui/assets/{provider-CLmpi6v_.js → provider-D7o2EKwf.js} +2 -2
- package/dist/ui/assets/{provider-settings-BtqihEI0.js → provider-settings-DEB4b4aJ.js} +1 -1
- package/dist/ui/assets/{provider-settings-BRDtbslv.js → provider-settings-TzcAGHan.js} +2 -2
- package/dist/ui/assets/{provider-store-access-Dodlst86.js → provider-store-access-BAr3RNys.js} +2 -2
- package/dist/ui/assets/provider-store-access-DI_9BT-e.js +1 -0
- package/dist/ui/assets/{providers-C8tlUswj.js → providers-COBW-XCJ.js} +2 -2
- package/dist/ui/assets/{providers-BwF5xVyN.js → providers-NPujfHKb.js} +1 -1
- package/dist/ui/assets/proxied-fetch-B4g-4VbQ.js +2 -0
- package/dist/ui/assets/proxied-fetch-n2pCvcgW.js +1 -0
- package/dist/ui/assets/{quick-llm-BqTUJESa.js → quick-llm-DDn8RKhn.js} +1 -1
- package/dist/ui/assets/{recovery-screen-Dy9kEn0F.js → recovery-screen-DIiiwxvZ.js} +1 -1
- package/dist/ui/assets/{redirect-uri-PiFA5zYB.js → redirect-uri-DMl66Kja.js} +1 -1
- package/dist/ui/assets/{secret-env-D-b2fLc6.js → secret-env-q4hxkt7Z.js} +1 -1
- package/dist/ui/assets/secret-topology-xLmXoozo.js +1 -0
- package/dist/ui/assets/{secrets-bridge-client-C6W2y020.js → secrets-bridge-client-cWDAnFqs.js} +1 -1
- package/dist/ui/assets/{session-freezer-DapToxvf.js → session-freezer-DEQ1yv8N.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-BnkkTBSb.js → setup-feature-flags-remote-C5LY6I_m.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-DG_T27N6.js → setup-standalone-prelude-BfNMCJt3.js} +2 -2
- package/dist/ui/assets/{setup-sudo-Dl9iLnhq.js → setup-sudo-BSuoDx7e.js} +2 -2
- package/dist/ui/assets/{skills-C7FEjIi4.js → skills-DUSnM1rm.js} +1 -1
- package/dist/ui/assets/slicc-version-Jic4BOQq.js +1 -0
- package/dist/ui/assets/{speak-B7odF4tO.js → speak-BDT9rGzg.js} +1 -1
- package/dist/ui/assets/{store-C5L7dcKq.js → store-BkhxqaNb.js} +1 -1
- package/dist/ui/assets/{store-BaPf6KDU.js → store-CQG01Tk6.js} +1 -1
- package/dist/ui/assets/{sudo-Cv4CbvvB.js → sudo-C8XByrIL.js} +1 -1
- package/dist/ui/assets/{transformers-env-Ca8O2jds.js → transformers-env-SL0zTs7S.js} +1 -1
- package/dist/ui/assets/{tray-leader-CXKotSM9.js → tray-leader-DcRtwWl-.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-5MLCSmgw.js → tray-leave-runtime-BGfdX5KF.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-BoItLnrD.js → tray-runtime-config-B1LF8Kd4.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-DAGrwZQV.js → tray-runtime-config-CRGwg9SK.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-Dy7iFYYj.js → upgrade-detection-DRU7F7my.js} +1 -1
- package/dist/ui/assets/{voice-reply-D0FE04Jw.js → voice-reply-CnP5wEO_.js} +1 -1
- package/dist/ui/assets/{wc-extension-Bn3ds_hE.js → wc-extension-B70bdD0p.js} +2 -2
- package/dist/ui/assets/{wc-float-label-BhT8N0Fl.js → wc-float-label-qqb_uM9y.js} +1 -1
- package/dist/ui/assets/{wc-follower-BE_rDo0n.js → wc-follower-8z-K6oOv.js} +3 -3
- package/dist/ui/assets/wc-live-DtPpvPYm.js +41 -0
- package/dist/ui/assets/{wc-nav-BWsK8yB4.js → wc-nav-B6RzcW_X.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-cK_1n2x5.js → wc-onboarding-CR0RV6sk.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-DIbjJjdZ.js → wc-placeholder-DBbTc5wU.js} +2 -2
- package/dist/ui/assets/{wc-settings-Dp0V4Xq-.js → wc-settings-BbxgKizd.js} +3 -3
- package/dist/ui/assets/{wc-shell-rDFZeAKy.js → wc-shell-HRL75vOX.js} +13 -13
- package/dist/ui/assets/{wc-sprinkles-CGE3qrDA.js → wc-sprinkles-DJI-9XkZ.js} +2 -2
- package/dist/ui/assets/{wc-tray-CaGfG302.js → wc-tray-DaIyyHwC.js} +2 -2
- package/dist/ui/assets/{wc-tray-scoops-CNqQ6-vb.js → wc-tray-scoops-bjahDti3.js} +1 -1
- package/dist/ui/assets/{whisper-session-SKAIZswP.js → whisper-session-Cf2gGkoR.js} +2 -2
- package/dist/ui/assets/{xai-grok-BukNgR1Z.js → xai-grok-B-djVuhX.js} +1 -1
- package/dist/ui/assets/{xai-grok-C8CAvz9J.js → xai-grok-LqyYZqJi.js} +1 -1
- package/dist/ui/index.html +12 -12
- package/dist/ui/packages/webapp/index.html +12 -12
- package/package.json +2 -2
- package/dist/ui/assets/fs-BCHhJeBr.js +0 -1
- package/dist/ui/assets/fs-C_rsgblo.js +0 -2
- package/dist/ui/assets/provider-store-access-D8ImPUZ_.js +0 -1
- package/dist/ui/assets/proxied-fetch-5-UeqOh8.js +0 -2
- package/dist/ui/assets/proxied-fetch-CWqWgyRG.js +0 -1
- package/dist/ui/assets/secret-topology-DzxAuCnz.js +0 -1
- package/dist/ui/assets/slicc-version-prHqE09F.js +0 -1
- package/dist/ui/assets/wc-live-CgeW0gxt.js +0 -41
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-Dk3FjOeV.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/safe-buffer-BwTVRVVo.js","assets/dist-B49ZrWMI.js","assets/sidecar-repair-B1MVRrrn.js","assets/mount-BbZCKptE.js","assets/preload-helper-Czpn1I53.js","assets/mime-types-ugOWOUZ9.js","assets/base64-DpPqYZJF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-5-UeqOh8.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/runtime-env-E-i2SW1s.js","assets/types-idfTVsM8.js","assets/backend-local-1YuE96fx.js","assets/tool-ui-DfXu6quJ.js","assets/logger-DDBAeTLF.js","assets/picker-approval-D89YhXsA.js","assets/html-B_Hg2WOy.js","assets/mount-picker-popup-Bc3ca2Vl.js","assets/logger-BoSvu4mW.js","assets/picker-popup-Bwcnocm6.js","assets/runtime-env-CgsZ7LTp.js","assets/mount-table-store-dY2IfQ5S.js","assets/mount-bridge-client-CdactLBz.js","assets/port-bridge-client-CqQzd6rs.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,i as r,n as i,r as a,t as o}from"./path-utils-DNJG-zQf.js";import{t as s}from"./types-idfTVsM8.js";import{t as c}from"./virtual-device-paths-9EXC9iPp.js";import{t as l}from"./backend-local-1YuE96fx.js";import{a as u,i as d,n as f,t as p}from"./mount-table-store-dY2IfQ5S.js";import{i as m,r as h,t as g}from"./sidecar-repair-B1MVRrrn.js";var _=t(`fs-watcher`),v=0;function y(e,t){return t===`/`||e===t||e.startsWith(t+`/`)}var b=class{registrations=new Map;watch(e,t,n){let r=`fsw-${++v}`;return this.registrations.set(r,{id:r,basePath:e,filter:t,callback:n}),_.debug(`Watch registered`,{id:r,basePath:e}),()=>{this.registrations.delete(r),_.debug(`Watch unregistered`,{id:r})}}notify(e){if(e.length!==0)for(let[,t]of this.registrations){let n=e.filter(e=>y(e.path,t.basePath)&&t.filter(e.path));if(n.length>0)try{t.callback(n)}catch(e){_.error(`Watch callback error`,{id:t.id,error:e instanceof Error?e.message:String(e)})}}}dispose(){this.registrations.clear(),_.debug(`All watchers disposed`)}get size(){return this.registrations.size}},x=t(`mount-index`),S=400,C=2e6,w=`SLICC_MOUNT_INDEX_MAX_DEPTH`,T=`SLICC_MOUNT_INDEX_MAX_ENTRIES`,E=256,D=class extends Error{cause;constructor(e,t){super(e),this.name=`MountIndexAbortError`,this.cause=t}};function O(e){let t=e.map(([e,t])=>`${e}\u0000${t.kind}`).sort(),n=t.length>E?t.slice(0,E):t;return`${t.length}\u0001${n.join(``)}`}async function ee(e,t){let n=e.isSameEntry;if(typeof n!=`function`)return!1;try{return await n.call(e,t)}catch{return!1}}function te(e,t){return e instanceof Map?e.get(t):e[t]}function k(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<=0))return n}function A(e,t,n){let r=te(e,t);if(r===void 0||r.trim()===``)return n;let i=k(r);return i===void 0?(x.warn(`Ignoring invalid ${t}; expected a positive integer, using default`,{value:r,fallback:n}),n):i}function j(e){return{maxDepth:A(e,w,S),maxEntries:A(e,T,C)}}var M=class{mounts=new Map;listeners=new Set;registerMount(e,t,n=j({})){this.mounts.get(e)?.abortController?.abort();let r=new AbortController,i={handle:t,state:{status:`pending`,indexed:0},files:new Set,directories:new Set,abortController:r,limits:n};this.mounts.set(e,i),this.notifyListeners(),this.indexMount(e,i,r.signal)}unregisterMount(e){let t=this.mounts.get(e);t&&(t.abortController?.abort(),this.mounts.delete(e),this.notifyListeners())}async refreshMount(e,t){let n=this.mounts.get(e);if(!n)throw Error(`No mount at ${e}`);n.abortController?.abort();let r=new AbortController;n.abortController=r,n.state={status:`pending`,indexed:0},n.files.clear(),n.directories.clear(),t&&(n.limits=t),this.notifyListeners(),await this.indexMount(e,n,r.signal)}isReady(e){return this.mounts.get(e)?.state.status===`ready`}isAnyIndexing(){for(let e of this.mounts.values())if(e.state.status===`indexing`||e.state.status===`pending`)return!0;return!1}dispose(){for(let e of this.mounts.values())e.abortController?.abort();this.mounts.clear(),this.listeners.clear()}getState(e){return this.mounts.get(e)?.state}getFiles(e,t){let n=this.mounts.get(e);if(n?.state.status!==`ready`)return;if(!t)return[...n.files];let r=[];for(let e of n.files)t(e)&&r.push(e);return r}getDirectoryEntries(e,t){let n=this.mounts.get(e);if(n?.state.status!==`ready`)return;let r=t===`/`?`/`:t+`/`,i=new Map;for(let e of n.files){if(!e.startsWith(r))continue;let t=e.slice(r.length);t.includes(`/`)||i.set(t,`file`)}for(let e of n.directories){if(!e.startsWith(r))continue;let t=e.slice(r.length);t.includes(`/`)||i.set(t,`directory`)}return[...i.entries()].map(([e,t])=>({name:e,type:t}))}hasPath(e,t){let n=this.mounts.get(e);if(n?.state.status===`ready`)return n.files.has(t)||n.directories.has(t)}notifyWrite(e){let t=this.findMountForPath(e);if(!t)return;let n=this.mounts.get(t);if(n?.state.status!==`ready`)return;n.files.add(e);let r=e;for(;r!==t;){let e=r.lastIndexOf(`/`);if(e<=0)break;r=r.slice(0,e)||`/`,r.length>=t.length&&n.directories.add(r)}}notifyDelete(e){let t=this.findMountForPath(e);if(!t)return;let n=this.mounts.get(t);if(n?.state.status!==`ready`)return;n.files.delete(e),n.directories.delete(e);let r=e+`/`;for(let e of n.files)e.startsWith(r)&&n.files.delete(e);for(let e of n.directories)e.startsWith(r)&&n.directories.delete(e)}notifyRename(e,t){let n=this.findMountForPath(e);if(!n)return;let r=this.mounts.get(n);if(r?.state.status===`ready`){if(r.files.has(e)){r.files.delete(e),r.files.add(t);return}if(r.directories.has(e)){r.directories.delete(e),r.directories.add(t);let n=e+`/`,i=t+`/`;for(let e of[...r.files])e.startsWith(n)&&(r.files.delete(e),r.files.add(i+e.slice(n.length)));for(let e of[...r.directories])e.startsWith(n)&&(r.directories.delete(e),r.directories.add(i+e.slice(n.length)))}}}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}findMountForPath(e){let t;for(let n of this.mounts.keys())(e===n||e.startsWith(n+`/`))&&(!t||n.length>t.length)&&(t=n);return t}notifyListeners(){for(let e of this.listeners)try{e()}catch{}}async indexMount(e,t,n){t.state={status:`indexing`,indexed:0},this.notifyListeners();try{if(await this.walkHandle(e,t.handle,t,n),n.aborted)return;t.state={status:`ready`,indexed:t.files.size+t.directories.size,total:t.files.size+t.directories.size},t.abortController=null,x.info(`Mount indexed`,{path:e,files:t.files.size,directories:t.directories.size})}catch(r){if(n.aborted)return;let i=r instanceof Error?r.message:String(r),a=r instanceof D?r.cause:`indexing-error`;t.state={status:`error`,indexed:0,error:i,abortCause:a},x.error(`Mount indexing failed`,{path:e,error:i,abortCause:a})}this.notifyListeners()}async walkHandle(e,t,n,r,i=0,a=new Map){if(r.aborted)return;this.enforceWalkBounds(i,n),n.directories.add(e);let o=await this.readChildren(t,r,n);if(r.aborted)return;let s=await this.confirmNoCycle(e,t,o,a),c=this.pushAncestor(a,s,e,t);try{await this.walkChildren(e,o,n,r,i,a)}finally{this.popAncestor(a,s,c)}}enforceWalkBounds(e,t){if(e>t.limits.maxDepth)throw new D(`mount indexing aborted: directory nesting exceeded ${t.limits.maxDepth} levels`,`depth-exceeded`);if(t.directories.size+t.files.size>=t.limits.maxEntries)throw new D(`mount indexing aborted: exceeded ${t.limits.maxEntries} entries`,`entries-exceeded`)}async readChildren(e,t,n){let r=e,i=[];for await(let e of r){if(t.aborted)break;if(n.directories.size+n.files.size+i.length>=n.limits.maxEntries)throw new D(`mount indexing aborted: exceeded ${n.limits.maxEntries} entries`,`entries-exceeded`);i.push(e)}return i}async confirmNoCycle(e,t,n,r){let i=O(n),a=r.get(i);if(a){for(let n of a)if(await ee(n.handle,t))throw new D(`mount indexing aborted: self-referential mount cycle detected at ${e} (re-exposes ${n.path})`,`cycle-detected`)}return i}pushAncestor(e,t,n,r){let i=e.get(t);return i||(i=[],e.set(t,i)),i.push({path:n,handle:r,signature:t}),i}popAncestor(e,t,n){n.pop(),n.length===0&&e.delete(t)}async walkChildren(e,t,n,r,i,a){for(let[o,s]of t){if(r.aborted)return;let t=e===`/`?`/${o}`:`${e}/${o}`;s.kind===`file`?(n.files.add(t),n.state.indexed++):s.kind===`directory`&&await this.walkHandle(t,s,n,r,i+1,a),n.state.indexed%500==0&&(this.notifyListeners(),await new Promise(e=>setTimeout(e,0)))}}},N={[c]:{stat:()=>({type:`file`,size:0,mtime:0,ctime:0}),read:e=>(e?.encoding??`utf-8`)===`utf-8`?``:new Uint8Array,readText:()=>``,write:()=>{}}},P=[`/tmp/`],F=class{vfs;allowedPrefixes;readOnlyPrefixes;readGrantPatterns=[];writeEnforcement;constructor(e,t,n=[],r=`hard`){this.vfs=e;let a=e=>{let t=i(e);return t.endsWith(`/`)?t:t+`/`};this.allowedPrefixes=t.map(a),this.readOnlyPrefixes=n.map(a),this.writeEnforcement=r}getAllPrefixes(){let e=this.vfs.listMounts().map(e=>e.endsWith(`/`)?e:e+`/`);return[...this.allowedPrefixes,...this.readOnlyPrefixes,...e,...P]}setReadGrants(e){this.readGrantPatterns=[];for(let t of new Set(e))this.addReadGrant(t)}addReadGrant(e){let t=e.split(`/`),n=[];for(let e=1;e<t.length;e++)n.push(a(t.slice(0,e).join(`/`)||`/`));this.readGrantPatterns.push({pattern:e,regex:a(e),ancestorRegexes:n})}matchesReadGrant(e){return this.readGrantPatterns.some(t=>t.regex.test(e))}leadsToReadGrant(e){return this.readGrantPatterns.some(t=>t.ancestorRegexes.some(t=>t.test(e)))}isAllowed(e){let t=i(e),n=this.getAllPrefixes();return this.matchesReadGrant(t)||this.leadsToReadGrant(t)||n.some(e=>t===e.slice(0,-1)||t.startsWith(e)||t===`/`||e.startsWith(t+`/`))}isAllowedStrict(e){let t=i(e),n=this.getAllPrefixes();return this.matchesReadGrant(t)||n.some(e=>t===e.slice(0,-1)||t.startsWith(e))}isWritable(e){let t=i(e);return[...this.allowedPrefixes,...P].some(e=>t===e.slice(0,-1)||t.startsWith(e))}canWrite(e){return this.isWritable(e)}checkWrite(e){if(this.writeEnforcement!==`sudo-delegated`&&!this.isWritable(e))throw new s(`EACCES`,`permission denied`,i(e))}async resolveAndCheckRead(e){try{let t=await this.vfs.realpath(e);if(!this.isAllowedStrict(t))throw new s(`ENOENT`,`no such file or directory`,i(e));return t}catch(t){throw t instanceof s?t:new s(`ENOENT`,`no such file or directory`,i(e))}}async resolveAndCheckWrite(e){try{let t=await this.vfs.realpath(e);if(!this.isWritable(t)&&!this.isSymlinkEscapeAllowed(t))throw new s(`EACCES`,`permission denied`,i(e));return t}catch(t){throw t instanceof s?t:new s(`EACCES`,`permission denied`,i(e))}}isSymlinkEscapeAllowed(e){return!1}async checkParentRealpathEscape(e){let t=this.vfs.dirname(e),n=this.vfs.basename(e),r;try{r=await this.vfs.realpath(t)}catch(e){if(e instanceof s&&e.code===`EACCES`)throw e;return}let a=r+`/`+n;if(this.isWritable(a))return;let o=i(r)!==i(t);if(!(this.writeEnforcement===`sudo-delegated`&&!o))throw new s(`EACCES`,`permission denied`,i(e))}getUnderlyingFS(){return this.vfs}invalidatePaths(e){this.vfs.invalidatePaths(e)}async flush(){await this.vfs.flush()}isPathUnderMount(e){return this.vfs.isPathUnderMount(e)}async readFile(e,t){let n=N[i(e)];if(n)return n.read(t);if(!this.isAllowedStrict(e))throw new s(`ENOENT`,`no such file or directory`,i(e));let r=await this.resolveAndCheckRead(e);return this.vfs.readFile(r,t)}async readDir(e){if(!this.isAllowed(e))return[];let t=e;if(this.isAllowedStrict(e))try{t=await this.resolveAndCheckRead(e)}catch{return[]}let n=await this.vfs.readDir(t);if(!this.isAllowedStrict(e)){let t=i(e);return n.filter(e=>{let n=t===`/`?`/${e.name}`:`${t}/${e.name}`;return this.isAllowed(n)})}return n}async stat(e){let t=N[i(e)];if(t)return t.stat();if(!this.isAllowed(e))throw new s(`ENOENT`,`no such file or directory`,i(e));if(this.isAllowedStrict(e)){let t=await this.resolveAndCheckRead(e);return this.vfs.stat(t)}return this.vfs.stat(e)}scanPathForSymlinks(e,t){let n=i(e);if(n===`/`)return!1;let r=n.slice(1).split(`/`),a=t?r.length:r.length-1,o=``;for(let e=0;e<a;e++){o=o+`/`+r[e];let t=this.vfs.lstatSync(o);if(t===null)return null;if(t.type===`symlink`)return!0}return!1}statSync(e){let t=N[i(e)];return t?t.stat():!this.isAllowedStrict(e)||this.scanPathForSymlinks(e,!0)!==!1?null:this.vfs.statSync(e)}lstatSync(e){let t=N[i(e)];return t?t.stat():!this.isAllowed(e)||this.scanPathForSymlinks(e,!1)!==!1?null:this.vfs.lstatSync(e)}readDirSync(e){if(!this.isAllowed(e)||this.scanPathForSymlinks(e,!0)!==!1)return null;let t=this.vfs.readDirSync(e);if(t===null)return null;if(this.isAllowedStrict(e))return t;let n=i(e);return t.filter(e=>{let t=n===`/`?`/${e.name}`:`${n}/${e.name}`;return this.isAllowed(t)})}async realpath(e){let t;try{t=await this.vfs.realpath(e)}catch(t){throw t instanceof s?t:new s(`ENOENT`,`no such file or directory`,i(e))}if(!this.isAllowedStrict(t))throw new s(`ENOENT`,`no such file or directory`,i(e));return t}async exists(e){if(N[i(e)])return!0;if(!this.isAllowed(e))return!1;if(this.isAllowedStrict(e))try{await this.resolveAndCheckRead(e)}catch{return!1}return this.vfs.exists(e)}async readTextFile(e){let t=N[i(e)];if(t)return t.readText();if(!this.isAllowedStrict(e))throw new s(`ENOENT`,`no such file or directory`,i(e));let n=await this.resolveAndCheckRead(e);return this.vfs.readTextFile(n)}async*walk(e){if(!this.isAllowed(e))return;let t=e;if(this.isAllowedStrict(e))try{t=await this.resolveAndCheckRead(e)}catch{return}for await(let e of this.vfs.walk(t))this.isAllowed(e)&&(yield e)}async writeFile(e,t,n){let r=N[i(e)];if(r){r.write(t);return}this.checkWrite(e),await this.checkParentRealpathEscape(e);try{(await this.vfs.lstat(e)).type===`symlink`&&await this.resolveAndCheckWrite(e)}catch(e){if(e instanceof s&&e.code===`EACCES`)throw e}return this.vfs.writeFile(e,t,n)}async mkdir(e,t){return this.checkWrite(e),await this.checkParentRealpathEscape(e),this.vfs.mkdir(e,t)}async rm(e,t){this.checkWrite(e);try{(await this.vfs.lstat(e)).type===`symlink`||await this.resolveAndCheckWrite(e)}catch(e){if(e instanceof s&&e.code===`EACCES`)throw e}return this.vfs.rm(e,t)}async rename(e,t){return this.checkWrite(e),this.checkWrite(t),await this.resolveAndCheckWrite(e),await this.checkParentRealpathEscape(t),this.vfs.rename(e,t)}async copyFile(e,t){if(!this.isAllowed(e))throw new s(`ENOENT`,`no such file or directory`,i(e));this.checkWrite(t);let n=await this.resolveAndCheckRead(e);await this.checkParentRealpathEscape(t);try{(await this.vfs.lstat(t)).type===`symlink`&&await this.resolveAndCheckWrite(t)}catch(e){if(e instanceof s&&e.code===`EACCES`)throw e}return this.vfs.copyFile(n,t)}async symlink(e,t){return this.checkWrite(t),await this.checkParentRealpathEscape(t),this.vfs.symlink(e,t)}async readlink(e){if(!this.isAllowedStrict(e))throw new s(`ENOENT`,`no such file or directory`,i(e));let t=await this.vfs.readlink(e),n;if(t.startsWith(`/`))n=i(t);else{let r=this.vfs.dirname(e);n=i(r+`/`+t)}if(!this.isAllowedStrict(n))throw new s(`ENOENT`,`no such file or directory`,i(e));return t}async lstat(e){let t=N[i(e)];if(t)return t.stat();if(!this.isAllowed(e))throw new s(`ENOENT`,`no such file or directory`,i(e));let n=i(e),r=this.vfs.dirname(n),a=this.vfs.basename(n),o;if(r===n)o=r;else try{o=await this.vfs.realpath(r)}catch{throw new s(`ENOENT`,`no such file or directory`,n)}let c=o===`/`?`/${a}`:`${o}/${a}`;if(!this.isAllowed(c))throw new s(`ENOENT`,`no such file or directory`,n);return this.vfs.lstat(c)}watch(e,t,n){if(!this.isAllowed(e))throw new s(`EACCES`,`permission denied`,i(e));let r=this.vfs.getWatcher();if(!r)throw new s(`EINVAL`,`no watcher configured`);return r.watch(i(e),t,n)}dirname(e){return this.vfs.dirname(e)}basename(e){return this.vfs.basename(e)}async mount(e,t,n){return this.checkWrite(e),await this.checkParentRealpathEscape(e),this.vfs.mount(e,t,n)}async unmount(e){return this.checkWrite(e),await this.checkParentRealpathEscape(e),this.vfs.unmount(e)}listMounts(){return this.vfs.listMounts()}getMountIndex(){return this.vfs.getMountIndex()}async refreshMount(e,t){return this.checkWrite(e),this.vfs.refreshMount(e,t)}async dispose(){await this.vfs.dispose()}};function I(e,t){if(e instanceof s){let n=`${e.code}: `,r=e.message;throw r.startsWith(n)&&(r=r.slice(n.length)),e.path&&r.endsWith(` '${e.path}'`)&&(r=r.slice(0,r.length-` '${e.path}'`.length)),new s(e.code,r,t)}throw e}var L=[`ENOENT`,`EEXIST`,`ENOTDIR`,`EISDIR`,`ENOTEMPTY`,`EINVAL`,`EACCES`,`ELOOP`,`EBUSY`,`EFBIG`,`EBADF`,`EIO`];function R(e,t){if(e instanceof s)return e;{let n=e instanceof Error?e.message:String(e);if(n.includes(`maximum size exceeded`))return new s(`EIO`,`internal overflow, not storage: ${n} — reload the session`,t)}let n=e?.code;if(typeof n==`string`){let r=n;if(L.includes(r)){let n=e instanceof Error?e.message:String(e);return n.startsWith(`${r}: `)&&(n=n.slice(r.length+2),n=n.replace(/, undefined( '[^']*')?$/,``).replace(/ '[^']*'$/,``)),new s(r,n||r,t)}}let r=e instanceof Error?e.message:String(e);return r.includes(`ENOENT`)?new s(`ENOENT`,`no such file or directory`,t):r.includes(`EEXIST`)?new s(`EEXIST`,`file already exists`,t):r.includes(`ENOTDIR`)?new s(`ENOTDIR`,`not a directory`,t):r.includes(`EISDIR`)?new s(`EISDIR`,`is a directory`,t):r.includes(`ENOTEMPTY`)?new s(`ENOTEMPTY`,`directory not empty`,t):r.includes(`ELOOP`)?new s(`ELOOP`,`too many levels of symbolic links`,t):new s(`EINVAL`,r,t)}var z=61440,B=16384;function V(e){return e===void 0?`absent`:(e&z)===B?`directory`:`file`}function H(e,t){return t===`absent`?!1:e.kind===`missing`||e.kind!==t}function U(e){let t=e?.mode;return typeof t==`number`?t:void 0}function W(e,t,n,r=new Set){let i=new Set(n);if(r.size>0){for(let t of Object.keys(e.entries??{}))for(let e of r)if(t===e||t.startsWith(`${e}/`)){i.add(t);break}}let a=[];for(let n of i){let r=e.entries?.[n],i=t.entries?.[n];if(!r||!i)continue;let o=V(U(r));o!==V(U(i))&&a.push({path:n,ownIsDirectory:o===`directory`})}return a}async function G(e,t,n,r){try{return await e.lstat(t)}catch(e){let t=R(e,r);if(t.code===`ENOENT`&&n)return null;throw t}}async function K(e,t,r){let a;try{a=await e.readlink(t)}catch(e){throw R(e,r)}return a.startsWith(`/`)?i(a):i(o(n(t).dir,a))}async function q(e,t,n,r,i,a){let o=t===`/`?`/${n}`:`${t}/${n}`;for(;;){let t=await G(e,o,r,i);if(t===null||!t.isSymbolicLink())return{resolved:o,hops:a};if(++a>10)throw new s(`ELOOP`,`too many symbolic links encountered`,i);o=await K(e,o,i)}}async function J(e,t,n){let r=i(n);if(t(r))return r;let a=r.split(`/`).filter(Boolean),o=`/`,s=0;for(let t=0;t<a.length;t++){let n=await q(e,o,a[t],t===a.length-1,r,s);o=n.resolved,s=n.hops}return o}async function Y(e,t,n){return t(n)?n:J(e,t,n)}function X(e,t,n){return e.size===0||!e.has(n)||!t.isReady(n)?!1:!Array.from(e.keys()).some(e=>e!==n&&e.startsWith(n+`/`))}async function Z(e,t){try{return await e(t)}catch{return t}}async function*Q(e,t,n,r=0){let a=i(t);if(X(e.mountPoints,e.mountIndex,a)){let t=e.mountIndex.getFiles(a);if(t){for(let e of t)yield e;return}}let o=n??new Set;if(r>64||o.size>=1e5)return;let s=await Z(t=>e.realpath(t),a);if(o.has(s))return;o.add(s);let c=await e.readDir(a);for(let t of c)yield*ne(e,t,a===`/`?`/${t.name}`:`${a}/${t.name}`,o,r+1)}async function*ne(e,t,n,r,i){if(t.type===`file`){yield n;return}if(t.type===`symlink`){yield*re(e,n,r,i);return}yield*Q(e,n,r,i)}async function*re(e,t,n,r){try{let i=await e.stat(t);i.type===`file`?yield t:i.type===`directory`&&(yield*Q(e,t,n,r))}catch{}}function $(){try{if(typeof globalThis.navigator?.storage?.getDirectory==`function`)return`opfs`}catch{}return`memory`}var ie=class t{lfs;lfsSync;rawLfs=null;rawLfsSync=null;_ready;_readyResolved=!1;backend;mountPoints=new Map;opfsBackendFs=null;opfsHandle=null;mountRoot=``;internalMounts=new Set;watcher=null;dbName;mountSyncChannel=null;mountIndex=new M;static writeChains=new Map;constructor(e,n,r,i){if(this.dbName=e,this.backend=r===`opfs`?`opfs`:`memory`,this.lfs=this.makeDeferredLfs(),this.lfsSync=this.makeDeferredLfsSync(),this._ready=this.backend===`opfs`?t.initOpfsBackend(this,i,n===!0):t.initMemoryBackend(this,e,n===!0),this._ready.then(()=>{this._readyResolved=!0},()=>{}),typeof BroadcastChannel<`u`)try{this.mountSyncChannel=new BroadcastChannel(`vfs-mount-sync:${e}`),this.mountSyncChannel.onmessage=e=>{let{type:t,path:n,descriptor:r}=e.data??{};if(t===`mount`&&typeof n==`string`&&r)this.reconstructBackendFromDescriptor(r).then(e=>{this.mountPoints.set(n,e),e.kind===`local`&&this.mountIndex.registerMount(n,e.getHandle()),this.watcher?.notify([{type:`modify`,path:n,entryType:`directory`}])}).catch(()=>{});else if(t===`unmount`&&typeof n==`string`){let e=this.mountPoints.get(n);this.mountPoints.delete(n),this.mountIndex.unregisterMount(n),e?.close(),this.watcher?.notify([{type:`modify`,path:n,entryType:`directory`}])}}}catch{}}static async initOpfsBackend(n,r,i){let a=r??await t.acquireOpfsHandle(n.dbName,i);await t.seedOpfsMetadataSidecarIfMissing(a);let[o,{WebAccess:s}]=await Promise.all([e(()=>import(`./dist-Dk3FjOeV.js`).then(e=>e.t),__vite__mapDeps([0,1,2])),e(()=>import(`./dist-B49ZrWMI.js`),__vite__mapDeps([3,0,1,2]))]);await t.ensureRootMount(o);let c=`/__opfs__/${n.dbName}`,l=t.opfsBackends.get(n.dbName);if(l&&i){try{o.umount(c)}catch{}t.opfsBackends.delete(n.dbName),l=void 0}if(!l){let r=()=>o.resolveMountConfig({backend:s,handle:a,metadata:`/.metadata.json`}),{resolveWithSidecarRepair:i,repairOpfsMetadataSidecar:u}=await e(async()=>{let{resolveWithSidecarRepair:e,repairOpfsMetadataSidecar:t}=await import(`./sidecar-repair-B1MVRrrn.js`).then(e=>e.n);return{resolveWithSidecarRepair:e,repairOpfsMetadataSidecar:t}},__vite__mapDeps([4,1]));try{let e=await n.withWriteLock(()=>u(a));e?.changed&&console.warn(`[virtual-fs] repaired metadata sidecar before mount (#2146)`,{dbName:n.dbName,kindFixed:e.kindFixed,sizesFixed:e.sizesFixed,dropped:e.dropped,inosReassigned:e.inosReassigned,nlinksFixed:e.nlinksFixed,selfEntryDropped:e.selfEntryDropped})}catch{}let d=await i(r,()=>n.withWriteLock(()=>u(a)),e=>console.warn(`[virtual-fs] repaired poisoned metadata sidecar; retrying mount`,{dbName:n.dbName,kindFixed:e.kindFixed,sizesFixed:e.sizesFixed,dropped:e.dropped,nlinksFixed:e.nlinksFixed,selfEntryDropped:e.selfEntryDropped}));try{o.mount(c,d)}catch{}l={backendFs:d,refs:0,sidecarDirty:{paths:new Set,prefixes:new Set}},t.opfsBackends.set(n.dbName,l)}l.refs+=1,n.opfsBackendFs=l.backendFs.index?l.backendFs:null,n.opfsHandle=a,n.mountRoot=c,n.rawLfs=o.promises,n.rawLfsSync=o}static async initMemoryBackend(n,r,i){let a=await e(()=>import(`./dist-Dk3FjOeV.js`).then(e=>e.t),__vite__mapDeps([0,1,2]));await t.ensureRootMount(a);let o=`/__zenfs__/${r}`,s=t.memoryBackends.get(r);if(s&&i){try{a.umount(o)}catch{}t.memoryBackends.delete(r),s=void 0}s||(s={store:a.InMemory.create({label:r}),refs:0},t.memoryBackends.set(r,s)),s.refs+=1;try{a.mount(o,s.store)}catch{}n.mountRoot=o,n.rawLfs=a.promises,n.rawLfsSync=a,n.opfsBackendFs=null,n.opfsHandle=null}static rootMountReady=null;static memoryBackends=new Map;static opfsBackends=new Map;static async ensureRootMount(e){return t.rootMountReady===null&&(t.rootMountReady=(async()=>{await e.configureSingle({backend:e.InMemory,label:`__vfs_root__`})})()),t.rootMountReady}prefix(e){return this.mountRoot?e===`/`?this.mountRoot:this.mountRoot+e:e}unprefix(e){return!this.mountRoot||!e.startsWith(this.mountRoot)?e:e.slice(this.mountRoot.length)||`/`}makeDeferredLfs(){let e=e=>this.prefix(e),t=e=>this.unprefix(e),n=()=>{if(!this.rawLfs)throw Error(`VirtualFS used before init resolved`);return this.rawLfs};return{readFile:(t,r)=>this._readyResolved?n().readFile(e(t),r):this._ready.then(()=>n().readFile(e(t),r)),writeFile:(t,r,i)=>this._readyResolved?n().writeFile(e(t),r,i):this._ready.then(()=>n().writeFile(e(t),r,i)),readdir:t=>this._readyResolved?n().readdir(e(t)):this._ready.then(()=>n().readdir(e(t))),mkdir:(t,r)=>this._readyResolved?n().mkdir(e(t),r):this._ready.then(()=>n().mkdir(e(t),r)),rmdir:t=>this._readyResolved?n().rmdir(e(t)):this._ready.then(()=>n().rmdir(e(t))),unlink:t=>this._readyResolved?n().unlink(e(t)):this._ready.then(()=>n().unlink(e(t))),rename:(t,r)=>this._readyResolved?n().rename(e(t),e(r)):this._ready.then(()=>n().rename(e(t),e(r))),stat:t=>this._readyResolved?n().stat(e(t)):this._ready.then(()=>n().stat(e(t))),lstat:t=>this._readyResolved?n().lstat(e(t)):this._ready.then(()=>n().lstat(e(t))),symlink:(t,r)=>{let i=t.startsWith(`/`)?e(t):t;return this._readyResolved?n().symlink(i,e(r)):this._ready.then(()=>n().symlink(i,e(r)))},readlink:async r=>(this._readyResolved||await this._ready,t(await n().readlink(e(r)))),truncate:async(t,r)=>{this._readyResolved||await this._ready;let i=n();typeof i.truncate==`function`&&await i.truncate(e(t),r)},realpath:async r=>{this._readyResolved||await this._ready;let i=n();return typeof i.realpath==`function`?t(await i.realpath(e(r))):e(r)}}}makeDeferredLfsSync(){let e=e=>this.prefix(e),t=e=>this.unprefix(e);return{readdirSync:t=>{let n=this.rawLfsSync;return n?.readdirSync?n.readdirSync(e(t)):void 0},statSync:t=>{let n=this.rawLfsSync;return n?.statSync?n.statSync(e(t)):void 0},lstatSync:t=>{let n=this.rawLfsSync;return n?.lstatSync?n.lstatSync(e(t)):void 0},readlinkSync:n=>{let r=this.rawLfsSync;return r?.readlinkSync?t(r.readlinkSync(e(n))):void 0}}}static async seedOpfsMetadataSidecarIfMissing(e){let t=`.metadata.json`;try{await e.getFileHandle(t);return}catch(e){if(e?.name!==`NotFoundError`)throw e}let n=await(await e.getFileHandle(t,{create:!0})).createWritable(),r=JSON.stringify({version:1,maxSize:4294967295,entries:{}});await n.write(r),await n.close()}static async acquireOpfsHandle(e,t){let n=navigator.storage;if(!n?.getDirectory)throw new s(`EINVAL`,`OPFS is not available in this environment`);let r=await n.getDirectory();if(t)try{await r.removeEntry(e,{recursive:!0})}catch{}return r.getDirectoryHandle(e,{create:!0})}static _createSyncForTests(e){return new t(e)}static async create(e){let n=e?.dbName??`browser-fs`,r=e?.wipe===!0,i=e?.backend??$(),a=new t(n,r,i);return await a._ready,r&&await p().catch(()=>{}),a}async flush(){await this.writeOpfsMetadataSidecar()}async writeOpfsMetadataSidecar(){this.backend===`opfs`&&await this.withWriteLock(()=>this.writeOpfsMetadataSidecarUnlocked())}async writeOpfsMetadataSidecarUnlocked(){if(this.backend!==`opfs`)return;let e=this.opfsBackendFs,n=this.opfsHandle;if(!e||!n)return;let r=e.index.toJSON(),i=t.opfsBackends.get(this.dbName)?.sidecarDirty,a=r;if(i){let e=null;try{let t=await n.getFileHandle(`.metadata.json`),r=JSON.parse(await(await t.getFile()).text());r&&typeof r==`object`&&r.entries&&(e=r)}catch{}e&&(await this.auditDirtyKindFlips(r,e,i,n),a=h(e,r,i))}let o=JSON.stringify(m(a)),s=await(await n.getFileHandle(`.metadata.json`,{create:!0})).createWritable();await s.write(o),await s.close(),i&&(i.paths.clear(),i.prefixes.clear())}async auditDirtyKindFlips(e,t,n,r){let i=W(e,t,n.paths,n.prefixes);if(i.length===0)return;let a=g(r),o=this.opfsBackendFs;for(let n of i){let r=await a(n.path).catch(()=>null);if(r!==null&&r.kind!==`missing`&&r.kind===`directory`===n.ownIsDirectory)continue;let i=t.entries?.[n.path];e.entries&&i!==void 0&&(e.entries[n.path]=i);let s=r!==null&&r.kind!==`missing`;s&&(o?.index?.delete(n.path),o?._handles?.delete(n.path)),console.warn(`[virtual-fs] refused to flush in-memory kind flip over sidecar record (#2006)`,{path:n.path,reality:r?.kind??`unverifiable`,evicted:s})}}markSidecarDirty(e,r=`path`){if(this.backend!==`opfs`)return;let a=t.opfsBackends.get(this.dbName)?.sidecarDirty;if(!a)return;let o=i(e);(r===`prefix`?a.prefixes:a.paths).add(o);let{dir:s}=n(o);for(;s!==`/`;)a.paths.add(s),s=n(s).dir}invalidatePaths(e){if(this.backend!==`opfs`||!this.opfsBackendFs)return;let t=this.opfsBackendFs;for(let n of e){let e=i(n);t.index.delete(e),t._handles?.delete(e),this.markSidecarDirty(e)}}async withKindMismatchRetry(e,t){return this.withKindMismatchRetryPaths([e],t)}async withKindMismatchRetryPaths(e,t){try{return await t()}catch(n){let r=n?.code;if(r!==`EISDIR`&&r!==`ENOTDIR`&&r!==`EINVAL`)throw n;for(let n of e)if(await this.reconcileKindMismatch(n).catch(()=>!1))return await t();throw n}}async reconcileKindMismatch(e){if(this.backend!==`opfs`)return!1;let t=this.opfsBackendFs,n=this.opfsHandle;if(!t?.index||!n)return!1;let r=i(e),a=r;try{a=await this.resolveSymlinks(r)}catch{}let o=await g(n)(a),s=V(t.index.get(a)?.mode),c=t._handles?.get(a),l=c?.kind===`directory`?`directory`:c?.kind===`file`?`file`:`absent`,u=H(o,s),d=H(o,l);if(!u&&!d)return!1;if(t.index.delete(a),t._handles?.delete(a),s===`directory`||l===`directory`){let e=`${a}/`;for(let n of[...t.index.keys()])n.startsWith(e)&&t.index.delete(n);if(t._handles)for(let n of[...t._handles.keys()])n.startsWith(e)&&t._handles.delete(n)}return this.markSidecarDirty(a),console.warn(`[virtual-fs] reconciled in-memory kind mismatch (#2006)`,{path:a,reality:o.kind,indexHeld:s,handleHeld:l}),!0}canWrite(e){return!0}setWatcher(e){this.watcher=e}getWatcher(){return this.watcher}async dispose(){if(this.mountSyncChannel?.close(),this.mountSyncChannel=null,this.watcher?.dispose(),this.watcher=null,this.mountIndex.dispose(),await this.writeOpfsMetadataSidecar(),this.mountRoot){let n=this.backend===`opfs`?t.opfsBackends:t.memoryBackends,r=n.get(this.dbName);if(r&&(--r.refs,r.refs<=0)){n.delete(this.dbName);try{(await e(()=>import(`./dist-Dk3FjOeV.js`).then(e=>e.t),__vite__mapDeps([0,1,2]))).umount(this.mountRoot)}catch{}}}}readDirSync(e){let t=i(e);if(this.findMount(t))return null;let n=this.lfsSync;if(typeof n.readdirSync!=`function`||typeof n.lstatSync!=`function`)return null;try{let e=n.readdirSync(t),r=[];for(let i of e){let e=t===`/`?`/${i}`:`${t}/${i}`;try{let t=n.lstatSync(e),a=t.isSymbolicLink()?`symlink`:t.isDirectory()?`directory`:`file`;r.push({name:i,type:a})}catch{}}return r}catch{return null}}statSync(e){let t=i(e);if(this.findMount(t))return null;let r=this.lfsSync;if(typeof r.statSync!=`function`||typeof r.lstatSync!=`function`||typeof r.readlinkSync!=`function`)return null;if(t===`/`)try{let e=r.statSync(t);return{type:e.isDirectory()?`directory`:`file`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs}}catch{return null}let a=t;for(let e=0;e<=10;e++){let e;try{e=r.lstatSync(a)}catch{return null}if(!e.isSymbolicLink())return{type:e.isDirectory()?`directory`:`file`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs};let t;try{t=r.readlinkSync(a)}catch{return null}a=t.startsWith(`/`)?i(t):i(o(n(a).dir,t))}return null}lstatSync(e){let t=i(e);if(this.findMount(t))return null;let n=this.lfsSync;if(typeof n.lstatSync!=`function`)return null;if(t===`/`)return this.statSync(t);try{let e=n.lstatSync(t);if(e.isSymbolicLink()){let r=n.readlinkSync?n.readlinkSync(t):``;return{type:`symlink`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs,isSymlink:!0,symlinkTarget:r}}return{type:e.isDirectory()?`directory`:`file`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs}}catch{return null}}async mount(e,t,r){let a=i(e);if(this.mountPoints.has(a))throw new s(`EEXIST`,`mount point is already mounted`,a);try{if((await this.lstat(a)).type!==`directory`)throw new s(`ENOTDIR`,`mount point must be a directory`,a);if((await this.readDir(a)).length>0)throw new s(`ENOTEMPTY`,`mount point must be empty to avoid shadowing existing files`,a)}catch(e){if(!(e instanceof s)||e.code!==`ENOENT`)throw e}let{dir:o}=n(a);o!==`/`&&await this.mkdir(o,{recursive:!0});try{await this.lfs.mkdir(a)}catch{}if(this.mountPoints.set(a,t),t.kind===`local`){let e=j(r?.env??{});this.mountIndex.registerMount(a,t.getHandle(),e)}let c=t.kind===`local`?{kind:`local`,mountId:t.mountId,idbHandleKey:a}:{kind:t.kind===`s3`?`s3`:t.kind===`aem`?`aem`:`da`,mountId:t.mountId,source:t.source,profile:t.profile??`default`};try{this.mountSyncChannel?.postMessage({type:`mount`,path:a,descriptor:c})}catch{}this.watcher?.notify([{type:`modify`,path:a,entryType:`directory`}]);try{let e={targetPath:a,descriptor:c,createdAt:Date.now()},n=t.kind===`local`?t.getHandle():void 0;await u(e,n)}catch{}}async unmount(e){let t=i(e),n=this.mountPoints.get(t);this.mountPoints.delete(t),this.mountIndex.unregisterMount(t);try{this.mountSyncChannel?.postMessage({type:`unmount`,path:t})}catch{}this.watcher?.notify([{type:`modify`,path:t,entryType:`directory`}]),await n?.close();try{await d(t)}catch{}}async reconstructBackendFromDescriptor(t){switch(t.kind){case`local`:{let e=await f(t.idbHandleKey);if(!e)throw Error(`no handle stored for ${t.idbHandleKey}`);return l.fromHandle(e,{mountId:t.mountId})}case`s3`:{let{S3MountBackend:n,RemoteMountCache:r,makeSignedFetchS3:i}=await e(async()=>{let{S3MountBackend:e,RemoteMountCache:t,makeSignedFetchS3:n}=await import(`./mount-BbZCKptE.js`);return{S3MountBackend:e,RemoteMountCache:t,makeSignedFetchS3:n}},__vite__mapDeps([5,6,7,8,9,10,1,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),a=new r({mountId:t.mountId,ttlMs:3e4});return new n({source:t.source,profile:t.profile,cache:a,mountId:t.mountId,signedFetch:i(t.profile)})}case`da`:{let{DaMountBackend:n,RemoteMountCache:r,makeSignedFetchDa:i}=await e(async()=>{let{DaMountBackend:e,RemoteMountCache:t,makeSignedFetchDa:n}=await import(`./mount-BbZCKptE.js`);return{DaMountBackend:e,RemoteMountCache:t,makeSignedFetchDa:n}},__vite__mapDeps([5,6,7,8,9,10,1,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),a=new r({mountId:t.mountId,ttlMs:3e4});return new n({source:t.source,profile:t.profile,cache:a,mountId:t.mountId,signedFetch:i()})}case`aem`:{let{AemMountBackend:n,RemoteMountCache:r,makeSignedFetchDa:i}=await e(async()=>{let{AemMountBackend:e,RemoteMountCache:t,makeSignedFetchDa:n}=await import(`./mount-BbZCKptE.js`);return{AemMountBackend:e,RemoteMountCache:t,makeSignedFetchDa:n}},__vite__mapDeps([5,6,7,8,9,10,1,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),a=new r({mountId:t.mountId,ttlMs:3e4});return new n({source:t.source,profile:t.profile,cache:a,mountId:t.mountId,signedFetch:i()})}}}listMounts(){let e=[];for(let t of this.mountPoints.keys())this.internalMounts.has(t)||e.push(t);return e}listInternalMounts(){return[...this.internalMounts]}listMountPoints(){let e=[];for(let[t,n]of this.mountPoints)this.internalMounts.has(t)||e.push({path:t,kind:n.kind});return e}async mountInternal(e,t){let r=i(e);if(this.mountPoints.has(r))throw new s(`EEXIST`,`mount point is already mounted`,r);let{dir:a}=n(r);a!==`/`&&await this.mkdir(a,{recursive:!0});try{await this.lfs.mkdir(r)}catch{}this.mountPoints.set(r,t),this.internalMounts.add(r),this.watcher?.notify([{type:`modify`,path:r,entryType:`directory`}])}async unmountInternal(e){let t=i(e);if(!this.internalMounts.has(t))throw new s(`ENOENT`,`not an internal mount point`,t);let n=this.mountPoints.get(t);this.mountPoints.delete(t),this.internalMounts.delete(t),this.watcher?.notify([{type:`modify`,path:t,entryType:`directory`}]),await n?.close()}getMountIndex(){return this.mountIndex}async refreshMount(e,t){let n=i(e),r=this.mountPoints.get(n);if(!r)throw new s(`ENOENT`,`not a mount point`,n);let a=await r.refresh(t);return r.kind===`local`&&await this.mountIndex.refreshMount(n,j(t?.env??{})),a}isPathUnderMount(e){for(let t of this.mountPoints.keys())if(e===t||e.startsWith(t+`/`))return!0;return!1}findMount(e){let t=null;for(let[n,r]of this.mountPoints)(e===n||e.startsWith(n+`/`))&&(!t||n.length>t.mountPath.length)&&(t={mountPath:n,backend:r});return t?e===t.mountPath?{path:t.mountPath,backend:t.backend,relParts:[]}:{path:t.mountPath,backend:t.backend,relParts:e.slice(t.mountPath.length+1).split(`/`).filter(Boolean)}:null}async readFile(e,t){return this.withKindMismatchRetry(e,()=>this.readFileInner(e,t))}async readFileInner(e,t){let n=i(e),r=this.findMount(n);if(r){if(r.relParts.length===0)throw new s(`EISDIR`,`is a directory`,n);let e=r.relParts.join(`/`);try{let n=await r.backend.readFile(e);return(t?.encoding??`utf-8`)===`utf-8`?new TextDecoder(`utf-8`).decode(n):n}catch(e){I(e,n)}}let a=await this.resolveSymlinks(n);try{return(t?.encoding??`utf-8`)===`utf-8`?await this.lfs.readFile(a,{encoding:`utf8`}):await this.lfs.readFile(a)}catch(e){throw R(e,n)}}async writeFile(e,t,n){return this.withKindMismatchRetry(e,()=>this.writeFileInner(e,t,n))}async writeFileInner(e,t,r){let a=i(e),o=this.findMount(a);if(o){if(o.relParts.length===0)throw new s(`EISDIR`,`is a directory`,a);let e=o.relParts.join(`/`),n=!1;try{await this.stat(a),n=!0}catch{}let r=typeof t==`string`?new TextEncoder().encode(t):t instanceof Uint8Array?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t);try{await o.backend.writeFile(e,r)}catch(e){I(e,a)}this.watcher?.notify([{type:n?`modify`:`create`,path:a,entryType:`file`}]),this.mountIndex.notifyWrite(a);return}let c;try{c=await this.resolveSymlinks(a)}catch{c=a}let l=!1;try{await this.lfs.stat(c),l=!0}catch{}let{dir:u}=n(c);await this.withWriteLock(async()=>{this.markSidecarDirty(c),u!==`/`&&await this.mkdirRecursiveUnlocked(u);let e=typeof t==`string`?new TextEncoder().encode(t).byteLength:(t instanceof Uint8Array,t.byteLength);try{await this.lfs.writeFile(c,t)}catch(e){if(u!==`/`&&e instanceof Error&&e.message.includes(`ENOENT`)){await this.mkdirRecursiveUnlocked(u);try{await this.lfs.writeFile(c,t)}catch(e){throw R(e,a)}}else throw R(e,a)}try{await this.lfs.truncate?.(c,e)}catch(e){throw R(e,a)}}),this.watcher?.notify([{type:l?`modify`:`create`,path:c,entryType:`file`}])}async readDir(e){let t=i(e),n=this.findMount(t);return n?this.readDirMounted(t,n):this.readDirLocal(t)}async readDirMounted(e,t){let n=this.mountIndex.getDirectoryEntries(t.path,e);if(n!==void 0){let t=new Map;for(let e of n)t.set(e.name,{name:e.name,type:e.type});return this.addNestedMountEntries(t,e),[...t.values()]}let r=t.relParts.join(`/`)||`/`,i;try{i=await t.backend.readDir(r)}catch(t){I(t,e)}let a=new Map;for(let e of i)a.set(e.name,{name:e.name,type:e.kind===`directory`?`directory`:`file`});return this.addNestedMountEntries(a,e),[...a.values()]}async readDirLocal(e){return this.withKindMismatchRetry(e,()=>this.readDirLocalInner(e))}async readDirLocalInner(e){let t=await this.resolveSymlinks(e);try{let e=await this.lfs.readdir(t),n=[];for(let r of e){let e=await this.statDirEntry(t,r);e&&n.push(e)}return n}catch(t){throw R(t,e)}}async statDirEntry(e,t){let n=e===`/`?`/${t}`:`${e}/${t}`;try{let e=await this.lfs.lstat(n);return e.isSymbolicLink()?{name:t,type:`symlink`}:{name:t,type:e.isDirectory()?`directory`:`file`}}catch{return null}}addNestedMountEntries(e,t){let n=t===`/`?`/`:`${t}/`;for(let r of this.mountPoints.keys()){if(r===t||!r.startsWith(n))continue;let i=r.slice(n.length);!i||i.includes(`/`)||e.has(i)||e.set(i,{name:i,type:`directory`})}}async withWriteLock(e){let n=this.dbName,r,i=new Promise(e=>{r=e}),a=t.writeChains.get(n)??Promise.resolve();t.writeChains.set(n,i),await a;try{let t=globalThis.navigator?.locks;return this.backend!==`opfs`||typeof t?.request!=`function`?await e():await t.request(`slicc-vfs:${n}`,()=>e())}finally{r(),t.writeChains.get(n)===i&&t.writeChains.delete(n)}}async mkdirRecursiveUnlocked(e){let t=e.split(`/`).filter(Boolean),n=``;for(let e of t){n+=`/`+e;try{await this.lfs.mkdir(n)}catch(e){if(e instanceof Error&&!e.message.includes(`EEXIST`))throw R(e,n);try{let e=await this.lfs.lstat(n);if(!e.isDirectory()&&!e.isSymbolicLink())throw new s(`ENOTDIR`,`not a directory`,n)}catch(e){if(e instanceof s&&e.code===`ENOTDIR`)throw e}}}}async mkdir(e,t){let n=i(e);if(n===`/`)return;let r=this.findMount(n);if(r){if(r.relParts.length===0)return;let e=r.relParts.join(`/`),t=await this.exists(n);try{await r.backend.mkdir(e)}catch(e){I(e,n)}t||this.watcher?.notify([{type:`create`,path:n,entryType:`directory`}]);return}t?.recursive?await this.withWriteLock(()=>(this.markSidecarDirty(n),this.mkdirRecursiveUnlocked(n))):(await this.withWriteLock(async()=>{this.markSidecarDirty(n);try{await this.lfs.mkdir(n)}catch(e){throw R(e,n)}}),this.watcher?.notify([{type:`create`,path:n,entryType:`directory`}]))}async rm(e,t){return this.withKindMismatchRetry(i(e),()=>this.rmInner(e,t))}async rmInner(e,t){let n=i(e),r=this.findMount(n);if(r){if(r.relParts.length===0)throw new s(`EINVAL`,`cannot remove a mount point — use unmount`,n);let e;try{e=(await this.stat(n)).type}catch{}let i=r.relParts.join(`/`);try{await r.backend.remove(i,{recursive:t?.recursive})}catch(e){I(e,n)}this.watcher?.notify([{type:`delete`,path:n,entryType:e}]),this.mountIndex.notifyDelete(n);return}try{let e=await this.lfs.lstat(n);await this.withWriteLock(async()=>{e.isSymbolicLink()?await this.lfs.unlink(n):e.isDirectory()?t?.recursive?await this.rmRecursiveUnlocked(n):await this.lfs.rmdir(n):await this.lfs.unlink(n),this.markSidecarDirty(n,`prefix`),await this.writeOpfsMetadataSidecarUnlocked()})}catch(e){throw R(e,n)}this.watcher?.notify([{type:`delete`,path:n}])}async rmRecursiveUnlocked(e){let t=await this.lfs.readdir(e);for(let n of t){let t=e===`/`?`/${n}`:`${e}/${n}`,r=await this.lfs.lstat(t);r.isSymbolicLink()?await this.lfs.unlink(t):r.isDirectory()?await this.rmRecursiveUnlocked(t):await this.lfs.unlink(t)}await this.lfs.rmdir(e)}async stat(e){return this.withKindMismatchRetry(e,()=>this.statInner(e))}async statInner(e){let t=i(e),n=this.findMount(t);if(n){if(n.relParts.length===0)try{let e=await this.lfs.stat(t);return{type:`directory`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs}}catch{return{type:`directory`,size:0,mtime:Date.now(),ctime:Date.now()}}let e=n.relParts.join(`/`);try{let t=await n.backend.stat(e);return{type:t.kind===`directory`?`directory`:`file`,size:t.size,mtime:t.mtime,ctime:t.mtime}}catch(e){I(e,t)}}let r=await this.resolveSymlinks(t);try{let e=await this.lfs.stat(r);return{type:e.isDirectory()?`directory`:`file`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs}}catch(e){throw R(e,t)}}async exists(e){let t=i(e),n=this.findMount(t);if(n){if(n.relParts.length===0)return!0;try{return await this.stat(t),!0}catch{return!1}}try{return await this.stat(t),!0}catch{try{return await this.lfs.lstat(t),!0}catch{return!1}}}async rename(e,t){return this.withKindMismatchRetryPaths([i(e),i(t)],()=>this.renameInner(e,t))}async renameInner(e,t){let n=i(e),r=i(t),a;try{a=(await this.lstat(n)).type}catch{}try{await this.withWriteLock(async()=>{this.markSidecarDirty(n,`prefix`),this.markSidecarDirty(r,`prefix`),await this.lfs.rename(n,r),await this.writeOpfsMetadataSidecarUnlocked()})}catch(e){throw R(e,n)}this.watcher?.notify([{type:`delete`,path:n,entryType:a},{type:`create`,path:r,entryType:a}]),this.mountIndex.notifyRename(n,r)}async readTextFile(e){return await this.readFile(e,{encoding:`utf-8`})}async*walk(e,t,n=0){yield*Q({mountPoints:this.mountPoints,mountIndex:this.mountIndex,realpath:e=>this.realpath(e),readDir:e=>this.readDir(e),stat:e=>this.stat(e)},e,t,n)}async copyFile(e,t){if((await this.stat(e)).type===`directory`)throw new s(`EISDIR`,`is a directory`,e);let n=await this.readFile(e,{encoding:`binary`});await this.writeFile(t,n)}dirname(e){return n(i(e)).dir}basename(e){return n(i(e)).base}async symlink(e,t){let r=i(t);if(this.findMount(r))throw new s(`EINVAL`,`symlinks not supported on mounted filesystems`,r);let{dir:a}=n(r);await this.withWriteLock(async()=>{a!==`/`&&await this.mkdirRecursiveUnlocked(a);try{await this.lfs.symlink(e,r)}catch(t){if(a!==`/`&&t instanceof Error&&t.message.includes(`ENOENT`)){await this.mkdirRecursiveUnlocked(a);try{await this.lfs.symlink(e,r)}catch(e){throw R(e,r)}}else throw R(t,r)}this.markSidecarDirty(r),await this.writeOpfsMetadataSidecarUnlocked()}),this.watcher?.notify([{type:`create`,path:r,entryType:`symlink`}])}async readlink(e){let t=i(e);try{return await this.lfs.readlink(t)}catch(e){throw R(e,t)}}async lstat(e){let t=i(e);if(this.findMount(t)||t===`/`)return this.stat(t);try{let e=await this.lfs.lstat(t);if(e.isSymbolicLink()){let n=await this.lfs.readlink(t);return{type:`symlink`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs,isSymlink:!0,symlinkTarget:n}}return{type:e.isDirectory()?`directory`:`file`,size:e.size,mtime:e.mtimeMs,ctime:e.ctimeMs}}catch(e){throw R(e,t)}}async realpath(e){return J(this.lfs,e=>this.findMount(e)!==null,e)}resolveSymlinks(e){return Y(this.lfs,e=>this.findMount(e)!==null,e)}};export{s as FsError,b as FsWatcher,M as MountIndex,F as RestrictedFS,ie as VirtualFS,o as joinPath,i as normalizePath,r as pathSegments,$ as resolveVfsBackendFromEnv,n as splitPath};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-C5L7dcKq.js";export{e as readMcpAuthEntries};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-B3MSVImO.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{n,t as r}from"./base64-DpPqYZJF.js";import"./src-CAWTvdAa.js";import{n as i}from"./runtime-env-Dlaokqg1.js";import{t as a}from"./fetch-body-D2PwksUW.js";function o(e){if(!e)return!1;let t=e.toLowerCase();return t.startsWith(`text/`)||t.includes(`json`)||t.includes(`xml`)||t.includes(`javascript`)||t.includes(`ecmascript`)||t.includes(`html`)||t.includes(`css`)||t.includes(`svg`)}var s=new Map,c=new Map;function l(e,t){s.set(e,t),setTimeout(()=>s.delete(e),1e4)}function u(e,t){c.set(e,t),setTimeout(()=>c.delete(e),1e4)}function d(e){return e.headers.get(`x-proxy-error`)===`1`}async function f(e){let t=`Proxy error ${e.status}`,n;try{n=await e.text()}catch{return t}return p(n,t)}function p(e,t){let n;try{n=JSON.parse(e)}catch{return t}if(!n||typeof n!=`object`)return t;let r=n.error;if(typeof r==`string`&&r.length>0)return r;if(r&&typeof r==`object`){let e=r.message;if(typeof e==`string`&&e.length>0)return e;try{return JSON.stringify(r)}catch{return t}}return t}function m(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function h(e){let t={};for(let[n,r]of Object.entries(e))n.toLowerCase()===`x-proxy-set-cookie`?t[`set-cookie`]=r:t[n]=r;return t}function g(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}var _=null,v=null;function y(e){if(e===null||e===``){_=null;return}_=e.replace(/\/+$/,``)}function b(){return _}function x(e){v=e===null||e===``?null:e}var S=null;function C(e){S=e===null||e===``?null:e}function w(){return S}function T(e){return _?`${_}${e}`:e}function E(e){let t={};if(v&&_&&(t[`X-Bridge-Token`]=v),e)for(let n of Object.keys(e))t[n]=e[n];return t}var D=e({collectViaExtensionDelegate:()=>H,createProxiedFetch:()=>U,decodeForbiddenResponseHeaders:()=>F,encodeForbiddenRequestHeaders:()=>P,getLocalApiBaseUrl:()=>b,headersToRecord:()=>M,isTextContentType:()=>o,prepareRequestBody:()=>N,readResponseBody:()=>j}),O=33554432,k=new Set([101,103,204,205,304]);function A(){return T(`/api/fetch-proxy`)}async function j(e,t){let n=e.headers.get(`content-type`)??``,r=await e.arrayBuffer(),i=new Uint8Array(r);if(!o(n))if(t)u(t,i);else{let e=``;for(let t=0;t<i.length;t+=32768)e+=String.fromCharCode(...i.subarray(t,t+32768));l(e,i)}return i}var M=g;function N(e,t){if(!e)return;let n=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(n&&!o(n)){let t=a(e);return new Blob([t])}return e}var P=m,F=h,I=r;function L(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}async function R(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=k.has(e.status)?null:t,a=await j(new Response(i,{status:e.status,statusText:e.statusText,headers:r}),n);return{status:e.status,statusText:e.statusText,headers:F(e.headers),body:a,url:n}}async function z(e){let t=M(e?.headers),r=e?.method??`GET`,i=e?.body?N(e.body,t):void 0,a=P(t),o,s=!1;if(i!==void 0){let e=i instanceof Uint8Array?i:new Uint8Array(await new Response(i).arrayBuffer());e.byteLength>O?s=!0:o=n(e)}return{method:r,transportHeaders:a,bodyBase64:o,requestBodyTooLarge:s}}async function B(e,t,n){let{method:r,transportHeaders:i,bodyBase64:a,requestBodyTooLarge:o}=await z(n),s=e();return new Promise((e,n)=>{let c=null,l=!1,u=[];s.onMessage.addListener(t=>{let r=t;if(r.type===`response-head`)c={status:r.status,statusText:r.statusText,headers:r.headers};else if(r.type===`response-chunk`)u.push(I(r.dataBase64));else if(r.type===`response-end`){if(l=!0,!c){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:c,body:L(u).buffer}),s.disconnect()}else r.type===`response-error`&&(l=!0,n(Error(r.error)),s.disconnect())}),s.onDisconnect.addListener(()=>{l||n(Error(c?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),s.postMessage({type:`request`,url:t,method:r,headers:i,bodyBase64:a,requestBodyTooLarge:o})})}async function V(e,t){let{head:n,body:r}=await B(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t);return R(n,new Uint8Array(r),e)}async function H(e,t){let n=w();if(!n)throw Error(`proxied-fetch: no extension delegate id configured`);let r=chrome.runtime.connect;return B(()=>r(n,{name:`fetch-proxy.fetch`}),e,t)}function U(){return i()?V:typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&w()?async(e,t)=>{let{head:n,body:r}=await H(e,t);return R(n,new Uint8Array(r),e)}:typeof chrome>`u`&&w()?async(e,n)=>{let{getPanelRpcClient:r}=await t(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-B3MSVImO.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1])),i=r();if(!i)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let a=n?.method??`GET`,o=M(n?.headers)??{},{head:s,body:c}=await i.call(`proxied-fetch`,{url:e,method:a,headers:o,body:n?.body},{timeoutMs:12e4});return R(s,new Uint8Array(c),e)}:async(e,t)=>{let n=t?.method??`GET`,r=E({...P(M(t?.headers)),"X-Target-URL":e}),i={method:n,headers:r,cache:`no-store`};t?.body&&![`GET`,`HEAD`].includes(n)&&(i.body=N(t.body,r));let a=await fetch(A(),i);if(d(a))throw Error(await f(a));let o=await j(a,e),s={};a.headers.forEach((e,t)=>{s[t]=e});let c=F(s);return{status:a.status,statusText:a.statusText,headers:c,body:o,url:e}}}export{b as a,C as c,f as d,w as i,y as l,D as n,T as o,E as r,x as s,U as t,d as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import"./src-CcFD5QfS.js";import{t}from"./runtime-env-DadgceZk.js";import{n,t as r}from"./binary-cache-bSOhqXB1.js";import{n as i}from"./fetch-body-DDu_AU5I.js";const a=32768;function o(){return globalThis.Buffer}const s=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})?$/;function c(e){let t=o();if(t){if(!s.test(e))throw Error(`Invalid base64 string`);return new Uint8Array(t.from(e,`base64`))}let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function l(e){let t=o();if(t)return t.from(e).toString(`base64`);let n=``;for(let t=0;t<e.byteLength;t+=a){let r=e.subarray(t,Math.min(t+a,e.byteLength));n+=String.fromCharCode.apply(null,r)}return btoa(n)}function u(e){if(!e)return!1;let t=e.toLowerCase();return t.startsWith(`text/`)||t.includes(`json`)||t.includes(`xml`)||t.includes(`javascript`)||t.includes(`ecmascript`)||t.includes(`html`)||t.includes(`css`)||t.includes(`svg`)}function d(e){return e.headers.get(`x-proxy-error`)===`1`}async function f(e){let t=`Proxy error ${e.status}`,n;try{n=await e.text()}catch{return t}return p(n,t)}function p(e,t){let n;try{n=JSON.parse(e)}catch{return t}if(!n||typeof n!=`object`)return t;let r=n.error;if(typeof r==`string`&&r.length>0)return r;if(r&&typeof r==`object`){let e=r.message;if(typeof e==`string`&&e.length>0)return e;try{return JSON.stringify(r)}catch{return t}}return t}function m(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function h(e){let t={};for(let[n,r]of Object.entries(e))n.toLowerCase()===`x-proxy-set-cookie`?t[`set-cookie`]=r:t[n]=r;return t}function g(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}function _(e){if(!e)return;if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),Object.keys(t).length===0?void 0:t}if(Array.isArray(e)){let t={};for(let[n,r]of e)t[n]=r;return Object.keys(t).length===0?void 0:t}let t={...e};return Object.keys(t).length===0?void 0:t}let v=null,y=null;function b(e){if(e===null||e===``){v=null;return}v=e.replace(/\/+$/,``)}function x(){return v}function S(e){y=e===null||e===``?null:e}let C=null;function w(e){C=e===null||e===``?null:e}function T(){return C}function E(e){return v?`${v}${e}`:e}function D(e){let t={};if(y&&v&&(t[`X-Bridge-Token`]=y),e)for(let n of Object.keys(e))t[n]=e[n];return t}var O=e({collectViaExtensionDelegate:()=>H,createProxiedFetch:()=>U,decodeForbiddenResponseHeaders:()=>F,encodeForbiddenRequestHeaders:()=>P,getLocalApiBaseUrl:()=>x,headersToRecord:()=>M,isTextContentType:()=>u,prepareRequestBody:()=>N,readResponseBody:()=>j});const k=new Set([101,103,204,205,304]);function A(){return E(`/api/fetch-proxy`)}async function j(e,t){let i=e.headers.get(`content-type`)??``,a=await e.arrayBuffer(),o=new Uint8Array(a);if(!u(i))if(t)n(t,o);else{let e=``;for(let t=0;t<o.length;t+=32768)e+=String.fromCharCode(...o.subarray(t,t+32768));r(e,o)}return o}const M=g;function N(e,t){if(!e)return;let n=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(n&&!u(n)){let t=i(e);return new Blob([t])}return e}const P=m,F=h,I=c;function L(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}async function R(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=k.has(e.status)?null:t,a=await j(new Response(i,{status:e.status,statusText:e.statusText,headers:r}),n);return{status:e.status,statusText:e.statusText,headers:F(e.headers),body:a,url:n}}async function z(e){let t=M(e?.headers),n=e?.method??`GET`,r=e?.body?N(e.body,t):void 0,i=P(t),a,o=!1;if(r!==void 0){let e=r instanceof Uint8Array?r:new Uint8Array(await new Response(r).arrayBuffer());e.byteLength>33554432?o=!0:a=l(e)}return{method:n,transportHeaders:i,bodyBase64:a,requestBodyTooLarge:o}}async function B(e,t,n){let{method:r,transportHeaders:i,bodyBase64:a,requestBodyTooLarge:o}=await z(n),s=e();return new Promise((e,n)=>{let c=null,l=!1,u=[];s.onMessage.addListener(t=>{let r=t;if(r.type===`response-head`)c={status:r.status,statusText:r.statusText,headers:r.headers};else if(r.type===`response-chunk`)u.push(I(r.dataBase64));else if(r.type===`response-end`){if(l=!0,!c){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:c,body:L(u).buffer}),s.disconnect()}else r.type===`response-error`&&(l=!0,n(Error(r.error)),s.disconnect())}),s.onDisconnect.addListener(()=>{l||n(Error(c?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),s.postMessage({type:`request`,url:t,method:r,headers:i,bodyBase64:a,requestBodyTooLarge:o})})}async function V(e,t){let{head:n,body:r}=await B(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t);return R(n,new Uint8Array(r),e)}async function H(e,t){let n=T();if(!n)throw Error(`proxied-fetch: no extension delegate id configured`);let r=chrome.runtime.connect;return B(()=>r(n,{name:`fetch-proxy.fetch`}),e,t)}function U(){return t()?V:typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&T()?async(e,t)=>{let{head:n,body:r}=await H(e,t);return R(n,new Uint8Array(r),e)}:typeof chrome>`u`&&T()?async(e,t)=>{let{getPanelRpcClient:n}=await import(`./panel-rpc-BPwAqRch.js`).then(e=>e.i),r=n();if(!r)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let i=t?.method??`GET`,a=M(t?.headers)??{},{head:o,body:s}=await r.call(`proxied-fetch`,{url:e,method:i,headers:a,body:t?.body},{timeoutMs:12e4});return R(o,new Uint8Array(s),e)}:async(e,t)=>{let n=t?.method??`GET`,r=M(t?.headers),i=D({...P(r),"X-Target-URL":e}),a={method:n,headers:i,cache:`no-store`};t?.body&&![`GET`,`HEAD`].includes(n)&&(a.body=N(t.body,i));let o=await fetch(A(),a);if(d(o))throw Error(await f(o));let s=await j(o,e),c={};o.headers.forEach((e,t)=>{c[t]=e});let l=F(c);return{status:o.status,statusText:o.statusText,headers:l,body:s,url:e}}}export{x as a,w as c,u as d,c as f,T as i,b as l,O as n,E as o,l as p,D as r,S as s,U as t,_ as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./float-topology-BX3WJDxo.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(){return{version:`6.77.0`,releasedAt:`2026-08-21T19:33:56Z`,buildId:`6.77.0-mt3cl749`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-settings-BRDtbslv.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/account-store-De_TsgNS.js","assets/preload-helper-Czpn1I53.js","assets/bedrock-camp-C8bCNVSq.js","assets/diagnostics-DN_idNHx.js","assets/transform-messages-N_eMsP2M.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-CrhNqqEN.js","assets/libesm-BI4UHVqp.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-5-UeqOh8.js","assets/base64-DpPqYZJF.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/float-topology-BX3WJDxo.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-DzxAuCnz.js","assets/secrets-bridge-client-C6W2y020.js","assets/port-bridge-client-CqQzd6rs.js","assets/image-markers-BXtVm4og.js","assets/tool-ui-DfXu6quJ.js","assets/providers-C8tlUswj.js","assets/panel-rpc-B3MSVImO.js","assets/telemetry-DeLkquP_.js","assets/runtime-env-CgsZ7LTp.js","assets/tray-runtime-config-DAGrwZQV.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/chat-session-store-pWb1-jNp.js","assets/wc-placeholder-DIbjJjdZ.js","assets/dictation-priming-CNllGgNq.js","assets/wc-attach-C4L2GyF0.js","assets/permissions-surface-registry-CilCRwhh.js","assets/session-freezer-DapToxvf.js","assets/attachments-CByeG2Ru.js","assets/types-idfTVsM8.js","assets/icons-DtQGhvkp.js","assets/agent-message-to-chat-_cvF5A5g.js","assets/voice-reply-D0FE04Jw.js","assets/speak-B7odF4tO.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-Ca8O2jds.js","assets/shared-CddfUR6k.js","assets/mime-types-ugOWOUZ9.js","assets/soundscape-TvriK11t.js","assets/soundscape-cues-5_sT5Un6.js","assets/legacy-styles-DcRu2WCJ.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/quick-llm-BqTUJESa.js","assets/llm-session-id-bZQs6gBN.js","assets/new-session-huVBjjzQ.js","assets/feature-flags-ByMXaIc4.js","assets/export-provider-BEHTjSYw.js","assets/db-DIbBClfy.js","assets/mount-table-store-dY2IfQ5S.js","assets/isomorphic-git-CLcEdT0Q.js","assets/safe-buffer-BwTVRVVo.js","assets/remote-vfs-client-5faRBsEi.js","assets/writable-vfs-client-Dqrpx9iK.js","assets/wc-onboarding-cK_1n2x5.js","assets/welcome-detection-sLx_L_gP.js","assets/dip-C4M86p74.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-B3LG5UIy.js","assets/usb-operations-Cgk-otz-.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-renderer-BvgsDBVv.js","assets/sprinkle-bridge-CSfksHce.js","assets/wc-browser-DdPBkgaJ.js","assets/slicc-app-url-BsBryEhn.js","assets/tab-teleport-Dhh60nH7.js","assets/teleport-storage-CwYntbOB.js","assets/logger-BoSvu4mW.js","assets/remote-terminal-view-Dc-DMywu.js","assets/picker-approval-D89YhXsA.js","assets/html-B_Hg2WOy.js","assets/mount-picker-popup-Bc3ca2Vl.js","assets/picker-popup-Bwcnocm6.js","assets/browser-DdY1FBRp.js","assets/serial-picker-NxC1kxYI.js","assets/hid-picker-JPu5knyb.js","assets/usb-picker-KMes4Lyb.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-D-b2fLc6.js","assets/wc-permissions-gFKCQht9.js","assets/wc-permissions-providers-BwYf17R6.js","assets/timestamp-preference-sKwBl5I8.js","assets/panelize-shell-BZuH5tPw.js","assets/virtual-device-paths-9EXC9iPp.js","assets/src-jZxFomYR.js","assets/speech-C5U8h4In.js","assets/panel-registry-CJdOibpf.js","assets/layout-schema-m9_VAwOw.js","assets/layout-apply-registry-Cw730jao.js","assets/trusted-layer-ghPA1ENf.js","assets/remote-sprinkle-vfs-e81pZJKo.js","assets/wc-sprinkles-CGE3qrDA.js","assets/agent-panels-B92KQapO.js","assets/apply-layout-CY5gbE-i.js","assets/wc-tray-CaGfG302.js","assets/tray-sync-protocol-BZ5yhJH9.js","assets/wc-tray-scoops-CNqQ6-vb.js","assets/remote-cdp-transport-CgOXLjZ8.js","assets/pending-request-table-Dgn6qYdL.js","assets/tray-leader-CXKotSM9.js","assets/tray-sync-protocol-DV_QG_Ey.js","assets/wc-scoop-color-CByZNEJo.js","assets/export-spool-Eul4J1RP.js","assets/src-BWaKqLvQ.js","assets/handoff-link-BM4ctkE8.js","assets/path-utils-DNJG-zQf.js","assets/synthetic-cdp-transport-Ds83IPjw.js","assets/sprinkle-instances-B8n7h-oP.js","assets/follower-presentation-DqBw0YiV.js","assets/leader-session-events-C25D3hk0.js","assets/host-command-CzRn3Wvz.js","assets/wc-transcript-export-DKIleW7-.js","assets/wc-nav-BWsK8yB4.js","assets/composer-speech-faUgsBUj.js","assets/whisper-session-SKAIZswP.js","assets/wc-float-label-BhT8N0Fl.js","assets/setup-sudo-Dl9iLnhq.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t,L as n,R as r,S as i,d as a}from"./account-store-De_TsgNS.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{t as s}from"./logger-DDBAeTLF.js";import{t as c}from"./mime-types-ugOWOUZ9.js";import{n as l,t as u}from"./base64-DpPqYZJF.js";import{a as d,n as f,r as p,t as m}from"./src-CAWTvdAa.js";import{o as h,r as g}from"./proxied-fetch-5-UeqOh8.js";import{n as _}from"./float-topology-BX3WJDxo.js";import"./secret-topology-DzxAuCnz.js";import{t as v}from"./secrets-bridge-client-C6W2y020.js";import{t as y}from"./tool-ui-DfXu6quJ.js";import{a as b,c as x,l as S,n as ee,r as te,u as ne}from"./telemetry-DeLkquP_.js";import{r as C}from"./feature-flags-ByMXaIc4.js";import{c as re,h as ie,i as ae,l as oe}from"./tray-runtime-config-DAGrwZQV.js";import{a as se,i as ce,n as le,r as ue}from"./setup-standalone-prelude-DG_T27N6.js";import{i as de,t as fe}from"./tray-follower-status-BAjnN7Ar.js";import{n as pe}from"./src-BWaKqLvQ.js";import{t as me}from"./html-B_Hg2WOy.js";import{t as he}from"./chat-session-store-pWb1-jNp.js";import{n as ge,r as _e}from"./tray-leader-CXKotSM9.js";import{n as ve}from"./shared-CddfUR6k.js";import{a as ye,n as be,t as xe}from"./dictation-priming-CNllGgNq.js";import{n as Se}from"./export-provider-BEHTjSYw.js";import{a as Ce,i as we,r as Te}from"./dip-C4M86p74.js";import{c as w,d as Ee,l as De,s as Oe,u as T}from"./session-freezer-DapToxvf.js";import{a as ke,c as Ae,d as je,f as E,g as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,p as Re,r as ze,s as Be,t as Ve,u as He}from"./wc-shell-rDFZeAKy.js";import{a as Ue,c as We,i as Ge,o as Ke,s as qe}from"./follower-presentation-DqBw0YiV.js";import{i as Je,o as Ye}from"./src-jZxFomYR.js";import{t as Xe}from"./wc-scoop-color-CByZNEJo.js";import{a as Ze,c as Qe,i as $e,n as et,o as tt,t as nt}from"./leader-session-events-C25D3hk0.js";import{t as rt}from"./host-command-CzRn3Wvz.js";var it=`agent-sessions`,at=1,D=`sessions`;function ot(){return new Promise((e,t)=>{let n=indexedDB.open(it,at);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(D)||e.createObjectStore(D,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var st=class{dbPromise=null;getDB(){return this.dbPromise||=ot().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(D,`readwrite`).objectStore(D).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(D,`readonly`).objectStore(D).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(D,`readwrite`).objectStore(D).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(D,`readonly`).objectStore(D).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(D,`readonly`).objectStore(D).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(D,`readwrite`).objectStore(D).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}};function O(e){return e.parentJid===null}function k(e){let t=[];for(let n of e)n.parentJid===null&&t.push(n);return t.sort((e,t)=>e.addedAt.localeCompare(t.addedAt)||e.jid.localeCompare(t.jid))}var ct=`__slicc_binary__`,lt=`b64`;function ut(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[ct]===lt&&typeof t.data==`string`}function A(e){if(e instanceof Uint8Array)return{[ct]:lt,data:l(e)};if(Array.isArray(e))return e.map(A);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=A(r);return t}return e}function j(e){if(ut(e))return u(e.data);if(Array.isArray(e))return e.map(j);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=j(r);return t}return e}var dt=s(`panel-transport`);function ft(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function pt(){return{onMessage:e=>{let t=(t,n,r)=>(ft(t)&&e(j(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=A(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{dt.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var mt=`unknown-parent`,M=s(`offscreen-client`),ht=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){M.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??pt(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e){if(!e.isCone)throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name})}async unregisterScoop(e){let t=this.scoops.find(t=>t.jid===e);if(t&&O(t)&&k(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${N()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(){let e=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingClearAcks.set(e,t)});this.send({type:`clear-chat`,requestId:e}),await Promise.race([t,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(e)}spawnAgent(e){let t=`agent-${N()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&M.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}M.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,originLabel:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}sendWebhookEvent(e,t,n){this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n})}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(M.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):M.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state),this.renderCompactionNotice(e.scoopJid,e.state);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[]}));break}case`tray-runtime-status`:{let t=e;gt(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){M.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if(e.scoopJid===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${N()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${N()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${N()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});break}case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${N()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t){if(e!==this.selectedScoopJid)return;let n;if(t===`summarizing`)n=`Context window almost exceeded — compacting history…`;else if(t===`fallback`)n=`Compaction summarization failed — continuing with older messages truncated.`;else return;let r=`compaction-${e}-${N()}`;this.emitToUI({type:`message_start`,messageId:r}),this.emitToUI({type:`content_delta`,messageId:r,text:n}),this.emitToUI({type:`content_done`,messageId:r})}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop,this.coneJidFromList(this.scoops));this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);if(t)if(e.level===void 0){let{thinkingLevel:e,effortOverride:n,...r}=t.config??{};t.config=r}else t.config={...t.config??{},thinkingLevel:e.level,effortOverride:e.effortOverride}}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleScoopList(e){this.scoops=e.scoops.map(t=>this.msgScoopToRegistered(t,this.coneJidFromList(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){M.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(t=>this.msgScoopToRegistered(t,this.coneJidFromList(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&>(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}coneJidFromList(e){return e.find(e=>e.isCone)?.jid??null}msgScoopToRegistered(e,t){return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,type:e.isCone?`cone`:`scoop`,parentJid:e.parentId===void 0?e.isCone?null:t??mt:e.parentId,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}}}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){M.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function N(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function gt(e,t){_e({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),de({state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime})}function P(e){return!e.includes(`\0`)}function _t(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!P(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!P(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!P(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!P(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(P(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function vt(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:(t,n)=>{n&&n.length>0?e.postMessage(t,n):e.postMessage(t)}}}function yt(e){let t=vt(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}function bt(e,t){let n=vt(e),r=new Map,i=n.onMessage(async e=>{let i=e;if(i?.type){if(i.type===`cdp-cmd`){let r=e;try{let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(i.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(i.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i);return}}});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function xt(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function St(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=yt(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=bt(o.port1,n),u=null,d=new Promise((e,t)=>{let n=null,i=null,o=()=>{n!==null&&(clearTimeout(n),n=null)},s=()=>{o(),n=setTimeout(()=>{u?.(),t(Error(`Kernel worker did not signal ready within ${r}ms`))},r)};u=()=>{i!==null&&(a.port1.removeEventListener(`message`,i),i=null),o()},i=n=>{let r=n.data;if(r?.type===`kernel-worker-boot-progress`){s();return}if(r?.type===`kernel-worker-ready`){u?.(),e();return}if(r?.type===`kernel-worker-boot-error`){u?.();let e=r.message??`unknown error`,n=r.code,i=Error(`Kernel worker boot failed: ${e}`);n&&(i.code=n),t(i)}},a.port1.addEventListener(`message`,i),s()}),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.77.0-mt3cl749`,flagFloat:e.flagFloat??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:d,dispose(){if(!p){p=!0,u?.(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function Ct(e){return St({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-CwMofD35.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??xt(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError})}var wt=1048576,Tt=`r`;function Et(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Dt(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)Dt(e[r],`${t}/${r}`,n);return}if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))Dt(i,`${t}/${Et(r)}`,n)}function Ot(e,t,n){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=At(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}function kt(e,t,n){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=At(o,`${t}/${Et(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}function At(e,t,n){return typeof e==`string`?n.get(t)??e:Array.isArray(e)?Ot(e,t,n):typeof e==`object`&&e?kt(e,t,n):e}function jt(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function Mt(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new p(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>wt)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new p(`redaction-unavailable`)}if(c.length!==s.length)throw new p(`redaction-unavailable`);r.push(...c),i=o}return r}function Nt(e,t,n,r){let i=[],a=jt(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=jt(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=m(t,Tt,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function Pt(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function Ft(e,t,n,r){if(r?.aborted)throw new p(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Dt(a,``,o);let s=[...t.entries()],c=await Mt([...o.map(e=>e.value),...s.map(([,e])=>e)],n,r),l=[],u={},d=1,f=new Map,m=[];for(let e=0;e<o.length;e++){let t=o[e],n=Nt(t.value,c[e],{kind:`json`,pointer:t.pointer},d);d=n.nextId,n.finalText!==t.value&&f.set(t.pointer,n.finalText),m.push(n)}Pt(m,l,u);let h=new Map,g=o.length,_=[];for(let e=0;e<s.length;e++){let[t,n]=s[e],r=Nt(n,c[g+e],{kind:`attachment`,attachmentId:t},d);d=r.nextId,h.set(t,r.finalText),_.push(r)}Pt(_,l,u);let v=At(e,``,f);return{document:{...v,privacy:{...v.privacy,redactionCounts:u,redactions:l}},textAttachments:h}}function It(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function Lt(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Rt={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function zt(e,t){return Rt[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Bt(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${zt(t,n)}`}function Vt(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Ht(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function Ut(e,t,n,r,i){let a=It(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(Vt(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=Vt(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function Wt(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:Vt(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(Ut(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function Gt(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function Kt(e,t,n,r,i,a,o){let s=Gt(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(Ut(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function qt(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=Kt(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function Jt(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Bt(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function Yt(e,t,n,r,i){let{rawAttachments:a,textMap:o}=Jt(e,n),s,c;try{let e=await Ft({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof p?e:new p(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new p(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new p(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Lt(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function Xt(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=Wt(Ht(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=qt(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await Yt(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}function Zt(e){return`session-${e.folder}`}function F(e){return O(e)&&e.folder===`cone`}var Qt=50;function $t(e){return Zt(e)}function en(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function tn(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:O(t)?`cone`:`scoop`,name:t.name,...t.folder&&!O(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=$t(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function nn(e,t){for(;;){let n=e.listScoops();for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(Qt,t),t?.aborted))throw new p(`transfer-aborted`);let r=en(n,e),[i,a]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new p(`transfer-aborted`);let o=e.listScoops();if(r===en(o,e))return tn(o,i,a,e)}}function I(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function L(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function rn(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(L(t,r++));return n}function an(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=L(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function on(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=L(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function sn(e,t,n){let r=I(t,n),i=rn(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function cn(e,t,n){let r=I(t,n),{blocks:i,excluded:a,images:o}=an(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function ln(e,t,n){let r=I(t,n),{blocks:i,images:a}=on(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function un(e,t,n){return e.role===`user`?sn(e,t,n):e.role===`assistant`?cn(e,t,n):e.role===`toolResult`?ln(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function dn(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function fn(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=un(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:dn(e),excludedReasoningBlocks:t,canonicalImages:n}}var pn=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function mn(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^pn[(t^e[n])&255];return~t>>>0}var hn=new TextEncoder;function R(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function z(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function gn(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,R(r,4,20),R(r,6,2048),R(r,8,0),R(r,10,0),R(r,12,0),z(r,14,n),z(r,18,t),z(r,22,t),R(r,26,e.length),R(r,28,0),r.set(e,30),r}function _n(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,R(i,4,20),R(i,6,20),R(i,8,2048),R(i,10,0),R(i,12,0),R(i,14,0),z(i,16,n),z(i,20,t),z(i,24,t),R(i,28,e.length),R(i,30,0),R(i,32,0),R(i,34,0),R(i,36,0),z(i,38,0),z(i,42,r),i.set(e,46),i}function vn(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,R(r,4,0),R(r,6,0),R(r,8,e),R(r,10,e),z(r,12,t),z(r,16,n),R(r,20,0),r}function yn(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function bn(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${e.session.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,40)||`transcript`}-${n}.zip`}async function*xn(e,t,n,r,i){if(n?.aborted)throw i(new p(`transfer-aborted`)),new p(`transfer-aborted`);let a=()=>i(new p(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=pe.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=hn.encode(`transcript.json`),f=mn(i),m=gn(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(m),n?.aborted))throw new p(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new p(`transfer-aborted`);let t=hn.encode(e),i=mn(r),a=gn(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new p(`transfer-aborted`);yield*d(r)}let h=c;for(let e of l){if(n?.aborted)throw new p(`transfer-aborted`);yield*d(_n(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new p(`transfer-aborted`);yield*d(vn(l.length,c-h,h)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new p(`transfer-aborted`)))}}var Sn=4294967295,Cn=65535;function wn(e,t,n){for(let e of t.keys())if(!yn(e))throw new p(`schema-invalid`);if(t.size+1>Cn)throw new p(`schema-invalid`);for(let e of t.values())if(e.byteLength>Sn)throw new p(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:bn(e),chunks:xn(e,t,n,r,i),completion:a}}function Tn(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:f},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function En(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Dn(e){if(!d(e).ok)throw new p(`schema-invalid`)}function On(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path))if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}return r}async function kn(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function An(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var jn=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Dn(i.document),r?.({phase:`packaging`}),wn(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await nn(this.deps.collection,t),r=fn(n.sources),{document:i,bundleFiles:a}=await Xt({document:Tn(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});Dn(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await nn(this.deps.collection,e),r=fn(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Tn(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),Xt({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await Ft(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new p(`redaction-unavailable`)}let a=On(r.attachments,i,e.attachments),o=await kn(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await Ee(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new p(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new p(`session-not-found`)}let{title:a,messages:o}=T(i),s=`legacy-cone`,c=En(o,s),l=An(i),u={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:f},session:{id:e,title:a,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...l,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:s,kind:`cone`,name:a,messages:c}],delegations:[],attachments:[]},d=new Map([[s,o]]);return n?.({phase:`redacting`}),Xt({document:u,chatMessagesByConversation:d,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new p(`attachment-unreadable`);return t}},Mn=`/sessions/data`,Nn=`document.json`;async function Pn(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Fn(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new p(`session-not-found`)}function In(e){return`${Mn}/${e}`}function Ln(e){return`${Mn}/.tmp-${e}`}async function B(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function V(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await V(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Rn(e,t,n){await B(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Rn(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function zn(e,t,n){Fn(t);let r=Ln(t),i=In(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new p(`schema-invalid`);await V(e,i),await B(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await Pn(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${Nn}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await B(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Rn(e,r,i),await e.flush()}catch(t){throw await V(e,r),t}await V(e,r)}async function Bn(e,t){Fn(t);let n=In(t),r=`${n}/${Nn}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new p(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new p(`schema-invalid`)}if(!d(a).ok)throw new p(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new p(`transfer-corrupt`)}if(await Pn(i)!==t.sha256)throw new p(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function H(){throw new p(`redaction-unavailable`)}function U(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&H(),e.texts}function Vn(){return{async redact(e){let t;try{t=await fetch(h(`/api/secrets/redact-export`),{method:`POST`,headers:g({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{H()}t.ok||H();let n;try{n=await t.json()}catch{H()}return U(n,e.length)}}}function Hn(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{H()}return typeof t==`object`&&t&&`error`in t&&H(),U(t,e.length)}}}function Un(){return{async redact(e){let t;try{t=await v(`secrets.redact-export`,{texts:e})}catch{H()}return t??H(),typeof t==`object`&&`error`in t&&H(),U(t,e.length)}}}function Wn(){return{async redact(e){H()}}}function Gn(){let e=_();return e===`connect`?Wn():e===`extension-direct`?Hn():e===`extension-delegate`?Un():Vn()}function Kn(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,isCone:n,type:n?`cone`:`scoop`,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...e.config?{config:e.config,configSchemaVersion:2}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{}};return n||(i.trigger=`@${r}`),i}function W(e){return O(e)?e.assistantLabel:e.name}function qn(e){return F(e)?`cone`:O(e)?`cone:${e.folder}`:`scoop:${e.name}`}function G(e){return F(e)?`cone`:O(e)?e.folder:e.name}function Jn(e,t){if(t.startsWith(`scoop:`)){let n=t.slice(6);return e.find(e=>!O(e)&&e.name===n)}if(t.startsWith(`cone:`)){let n=t.slice(5);return e.find(e=>O(e)&&e.folder===n)}return K(e)}function K(e){return e.find(e=>F(e))??k(e)[0]}function Yn(e){let t=k(e),n=new Set(t.map(e=>e.jid));return[...t,...e.filter(e=>!n.has(e.jid))]}var Xn=`wcui-cones-style`,Zn=`
|
|
3
|
-
.wcui-cones{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;flex:0 0 auto;}
|
|
4
|
-
.wcui-cones[hidden]{display:none;}
|
|
5
|
-
.wcui-cones .hd{font:500 11px/1 var(--ui);letter-spacing:.04em;text-transform:uppercase;
|
|
6
|
-
color:color-mix(in srgb,var(--ink) 55%,transparent);padding:6px 8px 4px;white-space:nowrap;overflow:hidden;}
|
|
7
|
-
.wcui-cones:not([expanded]) .hd,.wcui-cones:not([expanded]) .lbl,.wcui-cones:not([expanded]) .rm,
|
|
8
|
-
.wcui-cones:not([expanded]) .nlbl,.wcui-cones:not([expanded]) .form{display:none;}
|
|
9
|
-
.wcui-cones .row{display:flex;align-items:center;gap:8px;min-height:32px;padding:2px 6px;border-radius:8px;
|
|
10
|
-
background:transparent;border:none;color:var(--ink);font:inherit;font-family:var(--ui);text-align:left;width:100%;cursor:pointer;}
|
|
11
|
-
.wcui-cones .row:hover{background:var(--ghost);}
|
|
12
|
-
.wcui-cones .row[aria-current="true"]{background:color-mix(in srgb,var(--ctx) 14%,transparent);}
|
|
13
|
-
.wcui-cones .row:focus-visible,.wcui-cones .rm:focus-visible,.wcui-cones .add:focus-visible{outline:2px solid var(--ctx);outline-offset:2px;}
|
|
14
|
-
.wcui-cones .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--dot,var(--ctx));
|
|
15
|
-
border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);}
|
|
16
|
-
.wcui-cones .lbl{flex:1;min-width:0;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
17
|
-
.wcui-cones .rm{flex:0 0 auto;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:inherit;
|
|
18
|
-
opacity:.55;cursor:pointer;font:inherit;line-height:1;}
|
|
19
|
-
.wcui-cones .rm:hover{opacity:1;background:var(--ghost);}
|
|
20
|
-
.wcui-cones .confirm{display:flex;align-items:center;gap:6px;padding:2px 6px 4px 30px;font:500 12px var(--ui);color:var(--ink);}
|
|
21
|
-
.wcui-cones .confirm button{border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit;
|
|
22
|
-
font:inherit;padding:2px 8px;cursor:pointer;}
|
|
23
|
-
.wcui-cones .confirm .danger{border-color:color-mix(in srgb,#d23 50%,var(--line));color:#d23;}
|
|
24
|
-
.wcui-cones .add{display:flex;align-items:center;gap:10px;min-height:32px;padding:2px 8px;border-radius:8px;
|
|
25
|
-
background:transparent;border:none;color:var(--ink);font:inherit;font-family:var(--ui);text-align:left;width:100%;cursor:pointer;}
|
|
26
|
-
.wcui-cones .add:hover{background:var(--ghost);}
|
|
27
|
-
.wcui-cones:not([expanded]) .add{justify-content:center;padding:2px 0;}
|
|
28
|
-
.wcui-cones .plus{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;
|
|
29
|
-
background:color-mix(in srgb,var(--ctx) 14%,var(--canvas));border:1px solid color-mix(in srgb,var(--ctx) 40%,var(--line));color:var(--ctx);font-size:14px;line-height:1;}
|
|
30
|
-
.wcui-cones .nlbl{font-size:12.5px;font-weight:500;}
|
|
31
|
-
.wcui-cones .form{display:flex;gap:6px;padding:2px 8px 4px;}
|
|
32
|
-
.wcui-cones .form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--canvas);color:var(--ink);
|
|
33
|
-
font:inherit;font-family:var(--ui);font-size:12.5px;padding:4px 6px;}
|
|
34
|
-
.wcui-cones .form button{border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit;font:inherit;padding:2px 8px;cursor:pointer;}
|
|
35
|
-
`;function Qn(e){if(e.getElementById(Xn))return;let t=e.createElement(`style`);t.id=Xn,t.textContent=Zn,(e.head??e.documentElement).appendChild(t)}function $n(e,t){return{...Kn({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e}}function er(e){let{refs:t,client:n,log:r}=e,i=t.freezer.ownerDocument;Qn(i);let a=i.createElement(`div`);a.className=`wcui-cones`,a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,`Cones`);let o=null,s=!1,c=``,l=null,u=(e,t={},n)=>{let r=i.createElement(e);for(let[e,n]of Object.entries(t))r.setAttribute(e,n);return n!==void 0&&(r.textContent=n),r},d=t=>{if(o=null,k(n.getScoops()).length<=1){p();return}let i=e.getSelected()?.jid===t.jid;if(n.unregisterScoop(t.jid).catch(e=>r.warn(`WC cone remove failed`,e)),i){let r=k(n.getScoops()).find(e=>e.jid!==t.jid);r&&e.selectScoop(r)}p()},f=()=>{let e=c.trim();if(!e)return;s=!1,c=``;let t=$n(e,n.getScoops());l=e,n.registerScoop(t).catch(e=>r.warn(`WC cone create failed`,e)),p()},p=()=>{let r=k(n.getScoops());if(l!==null){let t=r.find(e=>e.name===l&&!e.folder.startsWith(`cone-pending-`));t&&(l=null,e.getSelected()?.jid!==t.jid&&e.selectScoop(t))}let i=e.getSelected()?.jid??t.switcher.getAttribute(`active`);a.replaceChildren(),a.append(u(`div`,{class:`hd`},`Cones`));for(let t of r){let n=u(`button`,{type:`button`,class:`row`,"data-jid":t.jid,"aria-current":i===t.jid?`true`:`false`,title:W(t)});if(n.append(u(`span`,{class:`dot`}),u(`span`,{class:`lbl`},W(t))),n.addEventListener(`click`,()=>{e.getSelected()?.jid!==t.jid&&e.selectScoop(t)}),r.length>1){let e=u(`button`,{type:`button`,class:`rm`,"aria-label":`Remove cone ${W(t)}`},`✕`);e.addEventListener(`click`,e=>{e.stopPropagation(),o=o===t.jid?null:t.jid,p()}),n.append(e)}if(a.append(n),o===t.jid){let e=u(`div`,{class:`confirm`});e.append(u(`span`,{},`Remove this cone and its scoops?`));let n=u(`button`,{type:`button`,class:`danger`},`Remove`);n.addEventListener(`click`,()=>d(t));let r=u(`button`,{type:`button`},`Cancel`);r.addEventListener(`click`,()=>{o=null,p()}),e.append(n,r),a.append(e)}}if(s){let e=u(`form`,{class:`form`}),t=u(`input`,{type:`text`,placeholder:`Cone name`,"aria-label":`New cone name`,maxlength:`40`});t.value=c,t.addEventListener(`input`,()=>{c=t.value});let n=u(`button`,{type:`submit`},`Create`),r=u(`button`,{type:`button`},`Cancel`);r.addEventListener(`click`,()=>{s=!1,c=``,p()}),e.addEventListener(`submit`,e=>{e.preventDefault(),f()}),e.append(t,n,r),a.append(e),queueMicrotask(()=>t.focus())}else{let e=u(`button`,{type:`button`,class:`add`,"aria-label":`New cone`});e.append(u(`span`,{class:`plus`},`+`),u(`span`,{class:`nlbl`},`New cone`)),e.addEventListener(`click`,()=>{s=!0,p()}),a.append(e)}};return t.freezer.addEventListener(`freezer-toggle`,e=>{let t=e.detail?.open===!0;a.toggleAttribute(`expanded`,t)}),typeof MutationObserver==`function`&&new MutationObserver(p).observe(t.switcher,{attributes:!0,attributeFilter:[`active`]}),t.freezer.append(a),(()=>{let e=t.freezer.hasAttribute(`open`)||t.freezer.querySelector(`slicc-freezer-new`)?.hasAttribute(`expanded`)===!0;a.toggleAttribute(`expanded`,e)})(),p(),{refresh:p,element:a}}function q(e){return e===`error`?`dead`:e===`initializing`?`none`:`open`}function J(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;case`ready`:case void 0:return`idle`}return`idle`}function tr(e,t,n,r,i){return Yn(e).map(e=>{let a=n?.get(e.jid),o=t?.get(e.jid);return{key:e.jid,type:e.isCone?`cone`:`scoop`,color:Xe(e),label:W(e),eyes:q(o),state:J(o),fill:typeof a==`number`?Math.round(a*100):void 0,phase:o===`processing`?r?.get(e.jid):void 0,awaiting:i===e.jid||void 0}})}function nr(e){let t=()=>{let t=e.getClient();t&&(e.refs.switcher.scoops=tr(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput)),e.refreshConesRail?.()};e.refreshScoops=t;let n=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),r=()=>{if(e.getSelected()||n())return;let t=e.getClient()?.getScoops()??[],r=e.pendingUrlContext;if(r?.startsWith(`freezer:`))return;if(r?.startsWith(`scoop:`)||r?.startsWith(`cone:`)){let n=Jn(t,r);if(n){e.pendingUrlContext=null,e.selectScoop(n);return}}let i=K(t);i&&(e.pendingUrlContext=null,e.selectScoop(i))};return{onStatusChange:(n,r)=>{let i=e.statuses.get(n),a=r;e.statuses.set(n,a),a!==`ready`&&e.awaitingInput===n&&(e.awaitingInput=null),(q(i)!==q(a)||J(i)!==J(a))&&(t(),e.notifyScoopStateChanged?.()),e.getSelected()?.jid===n&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:r=>{t(),!e.getSelected()&&!n()&&!e.pendingUrlContext&&e.selectScoop(r)},onScoopListUpdate:n=>{let i=new Set(n.map(e=>e.jid));for(let t of e.lickBackpressure.keys())i.has(t)||e.lickBackpressure.delete(t);t(),r()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(n,r)=>{e.phases.set(n,r),t(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.jid===t&&n.channel!==`web`&&Me(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.jid!==t)return;let i=G(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.jid===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onScoopMessagesReplaced:(t,n)=>{e.getSelected()?.jid===t&&e.getController()?.loadMessages(n)},onReady:()=>{t(),r(),e.notifyReady?.()}}}async function rr(e,t,n,r,i=Qe){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function ir(e,t){return e!=null&&e!==`cone`||new URL(t.location.href).searchParams.get(`cherry`)===`1`||re(t.localStorage)}async function ar(e,t){e.thread.setAttribute(`context`,qn(t)),e.thread.setAttribute(`accent`,Xe(t)),e.switcher.setAttribute(`active`,t.jid),Le(e,t.isCone?{kind:`cone`}:{kind:`scoop`,accent:Xe(t)});let n=localStorage.getItem(`slicc_locked_effort_level`);e.composerMeta.setAttribute(`thinking`,Ze(n??t.config?.thinkingLevel,t.config?.effortOverride));try{let{resolveCurrentModel:r,resolveModelById:i}=await o(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./provider-settings-BRDtbslv.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById: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])),a=t.config?.modelId,s=a?i(a):r();e.composerMeta.setAttribute(`model`,s.name??s.id),e.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!n)}catch{}}async function or(e){if(ir(e.pendingUrlContext,e.win))return;let{SessionStore:t}=await o(async()=>{let{SessionStore:e}=await import(`./chat-session-store-pWb1-jNp.js`).then(e=>e.n);return{SessionStore:e}},__vite__mapDeps([33,1])),n=new t;await n.init();let r=await n.load(`session-cone`);r&&r.messages.length>0&&!e.hasSelection()&&(e.loadMessages(r.messages),e.onHydrated())}function sr(e){let{boot:t,client:n,agentHandle:r,openReader:i,log:a}=e,{refs:s}=t;o(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-DIbjJjdZ.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([34,3,35,1])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:s.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:s.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),or({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>a.warn(`WC session hydration failed`,e));let c=null;return o(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-C4L2GyF0.js`);return{wireWcAttach:e}},__vite__mapDeps([36,3,14,12,37])).then(({wireWcAttach:t})=>{c=t({inputCard:s.inputCard,freezer:s.freezer,composer:s.composer,openReader:i,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await o(async()=>{let{readSessionsIndex:e}=await import(`./session-freezer-DapToxvf.js`).then(e=>e.o);return{readSessionsIndex:e}},__vite__mapDeps([38,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,39,40,41,35,42]));return(await e(await i())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:a})}).catch(e=>a.error(`WC add-menu wiring failed`,e)),s.switcher.setAttribute(`gaze-target`,`slicc-input-card`),s.inputCard.addEventListener(`input`,()=>{s.switcher.scrutinize(),s.switcher.wake()}),s.inputCard.addEventListener(`submit`,e=>{let n=ke(e);if(!n)return;t.wiring.awaitingInput=null,t.wiring.refreshScoops?.(),t.wiring.notifyScoopStateChanged?.();let r=e.detail?.source===`dictation`;r&&(o(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-D0FE04Jw.js`);return{markVoiceSubmission:e}},__vite__mapDeps([43,11,35,1,44,3,15,27,18,12,45,46,13,14,16,47,48])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),o(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([49,11,50])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),t.getController()?.sendUserMessage(n,c?.take(),{dictation:r,steer:Pe(e)}),s.inputCard.clear?.();let i=t.getSelected()?.jid;i&&(s.switcher.setAttribute(`attention`,i),t.wiring.lastActivity.set(i,n.slice(0,600)))}),s.inputCard.addEventListener(`stop`,()=>{t.getController()?.processing&&r.stop()}),o(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:s.thread,inputCard:s.inputCard})).catch(e=>a.error(`WC history nav wiring failed`,e)),s.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,i=tt(r),o=$e(r),s=t.getSelected();s&&i&&rr(n,s.jid,i,o).catch(e=>a.warn(`local thinking update failed`,e))}),{getAttachStage:()=>c}}var cr=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function lr(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function ur(e){let t=e.writeText??(e=>navigator.clipboard.writeText(e)),n=document.createElement(`div`);n.className=`wc-copy-row`,n.style.cssText=`display:flex;justify-content:flex-start;margin:-8px 0 14px;`;let r=document.createElement(`slicc-press-button`);r.setAttribute(`tooltip`,`Copy last response · hold to copy chat`),r.setAttribute(`label`,`Copy last response — hold to copy entire chat`),r.setAttribute(`disable-double-click`,``),r.style.cssText=`color:var(--txt-3);cursor:pointer;display:inline-flex;`;let i=document.createRange();r.append(i.createContextualFragment(cr));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=lr(e.getMessages());await t(n??Oe([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=Oe([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function Y(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function dr(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove(),t.querySelector(`.sprinkle-action-card__meta`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function fr(e){return`
|
|
36
|
-
<div class="sprinkle-action-card">
|
|
37
|
-
<div class="sprinkle-action-card__header">${me(dr(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
|
|
38
|
-
<div class="sprinkle-action-card__body">Waiting for approval on the leader…</div>
|
|
39
|
-
</div>
|
|
40
|
-
`}function pr(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var mr=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_=[];#v=[];#y=null;#b=new Map;#x=null;#S=null;#C=``;#w=!1;#T=!1;#E=`thinking`;#D=0;#O=null;#k=new Set;#A=new Map;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onMessageRendered,this.#a=e.onMessageDisposed,this.#o=e.onTurnComplete,this.#s=e.resolveTelemetryContext,this.#c=e.onQueuedChange,this.#l=e.onLickBackpressureChange,this.#u=e.onQueuedCancel,this.#d=e.onToolUiAction,this.#f=e.readOnlyToolUi??!1,this.#p=e.agent.onEvent(e=>this.#B(e)),this.#g=e=>this.#$(e),this.#e.addEventListener(`slicc-error-retry`,this.#g)}dispose(){this.#p(),this.#e.removeEventListener(`slicc-error-retry`,this.#g);for(let e of[...this.#A.keys()])this.#Q(e)}get processing(){return this.#T}getMessages(){return this.#_.map(e=>({...e}))}setAgent(e){this.#p(),this.#t=e,this.#p=e.onEvent(e=>this.#B(e))}setOnLocalUserMessage(e){this.#m=e}setOnLocalProcessingChange(e){this.#h=e}addUserMessage(e,t){this.#ne({id:Y(),role:`user`,content:e,timestamp:Date.now()})}getQueuedMessages(){return this.#v.map(pr)}removeQueuedMessage(e){let t=this.#v.filter(t=>t.id!==e);t.length!==this.#v.length&&(this.#v=t,this.#M())}#j(){if(this.#v.length===0)return;let e=this.#v;this.#v=[];for(let t of e)this.#ne(t);this.#M()}#M(){this.#c?.(this.#v.map(pr))}#N(){this.#l?.(this.#y)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#y)return;this.#y=null,this.#N();return}this.#y={text:`${e} events waiting for the current turn`},this.#N();try{b(n,t)}catch{}}addAssistantMessage(e){this.#ne({id:Y(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e){for(let e of this.#b.keys())this.#a?.(e);for(let e of[...this.#A.keys()])this.#Q(e);let t=this.#v.length>0;if(this.#v.length>0){if(this.#u)for(let e of this.#v)try{this.#u(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#v=[]}t&&this.#M(),this.#_=Be(e);let n=[...this.#_].reverse().find(e=>e.isStreaming);this.#x=n?.id??null,n&&(this.#S=n.id),this.#C=``,this.#w=!1,this.#b.clear();let r=[],i=``;for(let e of this.#_){let t=new Date(e.timestamp).toDateString();t!==i&&(r.push(Ae(e.timestamp)),i=t);let n=this.#te(e);this.#b.set(e.id,n),r.push(...n)}let a=this.#e;typeof a.replaceContent==`function`?a.replaceContent(...r):a.replaceChildren(...r),this.#oe();for(let e of this.#_)e.isStreaming||this.#i?.(e,this.#b.get(e.id)??[]);this.#z(),this.#ce(),this.#P()}#P(){if(this.#e.getAttribute(`context`)!==`cone`||this.#_.length===0||!ue()||this.#T)return;let e=this.#_[this.#_.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#$(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#F(r):r,a={id:Y(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#T&&!n?.steer?(this.#v.push(a),this.#M()):this.#ne(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#I();try{let e=n?.dictation?ye(i):i;this.#m?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#F(e){return xe(e,be())}#I(){if(this.#s)try{let e=this.#s();if(!e)return;ee(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#_[this.#_.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#re(a);return}this.#ne({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#T?!0:void 0})}updateLickState(e,t){let n=this.#_.find(t=>t.lickId===e);n&&(n.lickState=t,this.#re(n))}setProcessing(e){if(this.#T!==e){this.#T=e,e&&(this.#S=null),e&&(this.#D=0,this.#L(`thinking`)),e&&this.#j(),e||(this.#y&&(this.#y=null,this.#N()),this.#z()),this.#n?.(e);try{this.#h?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#R()}}#L(e){this.#E!==e&&(this.#E=e,this.#r?.(e))}#R(){let e=this.#S;if(this.#S=null,!this.#o)return;let t=e?this.#ee(e):null;this.#o(t?{...t}:null)}#z(){let e=this.#_[this.#_.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#O?.remove();return}this.#O??=ur({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#O)}#B(e){switch(e.type){case`message_start`:this.#V(e.messageId);break;case`content_delta`:this.#H(e.messageId,e.text);break;case`content_done`:this.#W(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#G(e.messageId,e.toolName,e.toolInput);break;case`tool_result`:this.#K(e.messageId,e.toolName,e.result,e.isError);break;case`tool_ui`:this.#X(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#Z(e.requestId);break;case`turn_end`:this.#q(e.messageId);break;case`error`:this.#J(e.error)}}#V(e){this.setProcessing(!0),this.#x=e,this.#S=e,this.#ne({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#H(e,t){this.#ee(e)&&(this.#C+=t,!this.#w&&(this.#w=!0,requestAnimationFrame(()=>this.#U(e))))}#U(e){if(this.#w=!1,!this.#C)return;let t=this.#ee(e);t&&(t.content+=this.#C,this.#C=``,this.#re(t))}#W(e,t,n){let r=this.#ee(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#C&&this.#x===e&&(r.content+=this.#C),this.#C=``,this.#w=!1,r.isStreaming=!1,this.#re(r))}#G(e,t,n){let r=this.#ee(e);r&&(r.toolCalls=r.toolCalls??[],r.toolCalls.push({id:Y(),name:t,input:n}),this.#D+=1,this.#L(`tool`),this.#re(r))}#K(e,t,n,r){let i=this.#ee(e),a=[...i?.toolCalls??[]].reverse().find(e=>e.name===t&&e.result===void 0);!i||!a||(a.result=n,a.isError=r,this.#D=Math.max(0,this.#D-1),this.#D===0&&this.#L(`thinking`),this.#re(i))}#q(e){let t=this.#ee(e);t?.isStreaming&&(t.isStreaming=!1,this.#re(t)),this.#x=null,this.setProcessing(!1)}#J(e){this.setProcessing(!1),this.#ne({id:Y(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#Y(e)}#Y(e){try{if(ne(e)||S(e)||x(e))return;te(`error-card`,e)}catch{}}#X(e,t,n){this.#Q(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#f){let e=Ce(r,fr(n),()=>{},!1);this.#A.set(t,{instance:e,container:r});return}let i=Ce(r,n,(e,n)=>{this.#d?.(t,e,n)},!1);this.#A.set(t,{instance:i,container:r}),this.#d?.(t,y,void 0)}#Z(e){this.#Q(e)}#Q(e){let t=this.#A.get(e);if(t){this.#A.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#$(e){if(this.#T)return;let t=e.detail?.messageId??null,n=this.#_.length;if(t){let e=this.#_.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#_[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,Y(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#_[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,Y(),i.attachments)}#ee(e){return this.#_.find(t=>t.id===e)}#te(e){try{return Fe(e)}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#ne(e){this.#ae(),this.#_.push(e);let t=this.#te(e);this.#b.set(e.id,t),this.#e.append(...t),this.#oe(),e.isStreaming||this.#i?.(e,t),e.role===`user`?this.#ce():this.#le()}#re(e){this.#ae(),this.#a?.(e.id);let t=this.#b.get(e.id)??[],n=this.#te(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#b.set(e.id,n),this.#oe(),e.isStreaming||this.#i?.(e,n),this.#le()}#ie(){return this.#e.inner??this.#e}#ae(){je(this.#ie(),this.#k)}#oe(){He(this.#ie(),{openClusterAnchors:this.#k,toolCallLookup:(e,t)=>this.#se(e,t)})}#se(e,t){return this.#_.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#ce(){this.#e.scrollTop=this.#e.scrollHeight}#le(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#ce()}};function hr(e,t,i,a,s){let c=new Map;o(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadDipStyles:e}},__vite__mapDeps([51,3])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),o(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CXRqxpw6.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([52,1,53,11])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),o(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-By4GU_Wc.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([53,1,11])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let l=t.createAgentHandle();l.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),o(async()=>{let{playCue:e}=await import(`./soundscape-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([49,11,50])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let u=new mr({thread:e.thread,agent:l,resolveTelemetryContext:()=>{let e=i();if(!e)return null;let t=G(e);try{let i=e.config?.modelId;return{scoopName:t,model:(i?r(i):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{o(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-D0FE04Jw.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([43,11,35,1,44,3,15,27,18,12,45,46,13,14,16,47,48])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await o(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([49,11,50]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||a?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onMessageDisposed:e=>{let t=c.get(e);t&&(Te(t),c.delete(e))},onMessageRendered:(e,n)=>{let r=n[0];r&&c.set(e.id,we(r,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};s?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n})}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=t.selectedScoopJid;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;u.removeQueuedMessage(n);let r=t.selectedScoopJid;r&&t.deleteQueuedMessage(r,n).catch(()=>void 0)}),{controller:u,agentHandle:l}}function gr(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function _r(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,gr(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function vr(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await X(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(w,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function X(e){let t=await yr(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function yr(e){let t;try{let n=await e.readFile(w,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function br(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t),a=i.slice(0,2e3),o=/^title:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??r,s=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??new Date(0).toISOString(),c=Number(/^messageCount:\s*(\d+)\s*$/m.exec(a)?.[1]??0),l=T(i);n.push({filename:r,title:o,frozenAt:s,messageCount:c,...l.cost?{cost:l.cost}:{},...l.models?{models:l.models}:{},...r.startsWith(`pending-`)?{pendingEnrichment:!0}:{}})}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function xr(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(_r))}async function Sr(e,t){let n=await e.readFile(De(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=T(r);return{title:i.title||t.title,messages:i.messages}}function Cr(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:s,log:c}=e,l=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await X(n);if(i===null){if((await yr(n)).kind!==`corrupt`||(c.warn(`WC freezer index corrupt — rebuilding from archives`),i=await br(n),i.length===0))return;await r.writeFile(w,JSON.stringify(i,null,2))}e===f&&(l=i,xr(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,o(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BqTUJESa.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([54,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,55,41])).then(({pickLucideIcon:e})=>vr({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>c.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>c.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=e=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{try{let{writer:t}=await n(),{resetNewSessionTmp:a,runNewSessionFreeze:s,runNewSessionFreezeQuick:c}=await o(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-huVBjjzQ.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([56,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,57,0,26,27,28,29,30,31,32,55,33,38,39,40,41,35,42]));if(e!==`erase`){let n=async e=>{let{getTranscriptExportService:t}=await o(async()=>{let{getTranscriptExportService:e}=await import(`./export-provider-BEHTjSYw.js`).then(e=>e.t);return{getTranscriptExportService:e}},__vite__mapDeps([58,1,12]));await t().captureFrozen({sessionId:e.sessionId??e.archive.id,title:e.archive.title,frozenAt:e.archive.frozenAt,createdAt:e.archive.createdAt,updatedAt:e.archive.updatedAt})};e===`save`?await s({vfs:t,agenticMemorySpawn:e=>r.spawnAgent(e),captureCompleteSnapshot:n,onProgress:e=>{let t=g();t&&(e===null?t.removeAttribute(`progress`):t.setAttribute(`progress`,String(e)))},onBackgroundEnriched:m}):await c({vfs:t,captureCompleteSnapshot:n})}await a(t),await r.clearAllMessages(),i()?.loadMessages([]),window.dispatchEvent(new CustomEvent(nt)),o(async()=>{let{resetDictationPriming:e}=await import(`./dictation-priming-CNllGgNq.js`).then(e=>e.r);return{resetDictationPriming:e}},__vite__mapDeps([35,1])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0),m();let l=K(r.getScoops());l&&d(l)}catch(e){c.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));C(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(et,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let v=async e=>{try{let{reader:r}=await n(),a=l.find(t=>t.filename===e);a||=(await X(r)??[]).find(t=>t.filename===e);let{messages:o}=await Sr(r,a??{filename:e,title:e,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${a?.filename??e}`),u=a?.sessionId??a?.filename??null,i()?.loadMessages(o),t.thread.setAttribute(`accent`,Ve),Le(t,{kind:`freezer`}),t.inputCard.setAttribute(`disabled`,``),t.switcher.removeAttribute(`active`),s()}catch(e){if(c.error(`WC thaw failed`,e),!a()){let e=K(r.getScoops());e&&d(e)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&v(t)}),{refreshFreezer:m,openFrozen:v,getViewedFrozenSessionId:()=>u}}var wr={R:`running`,S:`pending`,Z:`exited`,K:`killed`};function Tr(e){return wr[e.trim().split(` `)[2]??``]??`unknown`}function Er(e){let t=fe();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:oe(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=ge();if(n.state!==`inactive`)return{role:`leader`,state:n.state,joinUrl:n.session?.joinUrl,sessionId:n.session?.trayId,workerBaseUrl:n.session?.workerBaseUrl};let r=null;try{r=ie(e.getItem(ae))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Dr(e){let{client:n,openReader:r,storage:s}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await o(async()=>{let{getAllCronTasks:e}=await import(`./db-DIbBClfy.js`).then(e=>e.t);return{getAllCronTasks:e}},__vite__mapDeps([59,1]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await o(async()=>{let{getAllWebhooks:e}=await import(`./db-DIbBClfy.js`).then(e=>e.t);return{getAllWebhooks:e}},__vite__mapDeps([59,1]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await o(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([60,1])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,n=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!t(r.providerId)?.isOAuth){n.push({providerId:r.providerId});continue}let a=i(r.providerId),o=r.loggedOut?!1:a?!a.expired:!1;n.push({providerId:r.providerId,valid:o})}return n}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await r(),t=await e.readDir(`/proc`),n=[];for(let r of t.filter(e=>e.type===`directory`&&/^\d+$/.test(e.name)))try{let t=await e.readFile(`/proc/${r.name}/stat`,{encoding:`utf-8`}),i=await e.readFile(`/proc/${r.name}/cmdline`,{encoding:`utf-8`});n.push({pid:Number.parseInt(r.name,10),argv:String(i).trim(),status:Tr(String(t))})}catch{}return n}catch{return[]}},getTrayInfo:()=>Er(s),getConnectedFollowers:rt}}var Or=`sync-fs-nonce`;function kr(e={}){let t=e.navigator??(typeof navigator<`u`?navigator:void 0),n=e.document??(typeof document<`u`?document:void 0),r=e.window??(typeof window<`u`?window:void 0),i=e.randomUUID??(()=>crypto.randomUUID()),a=!!t?.serviceWorker?.controller,o=a?i():void 0;if(!o||!t?.serviceWorker)return{syncFsBridgeEnabled:a,syncFsChannelNonce:o};let s=t.serviceWorker,c={type:Or,nonce:o},l=()=>s.controller?.postMessage(c);return l(),s.addEventListener(`controllerchange`,l),s.addEventListener(`message`,e=>{e.data?.type===`sync-fs-need-nonce`&&l()}),n?.addEventListener(`visibilitychange`,()=>{n.visibilityState===`visible`&&l()}),r?.addEventListener(`focus`,l),{syncFsBridgeEnabled:a,syncFsChannelNonce:o}}var Z=e=>Array.from(e,e=>e.charCodeAt(0)),Ar=[{offset:0,bytes:[137,80,78,71,13,10,26,10],mime:`image/png`},{offset:0,bytes:[255,216,255],mime:`image/jpeg`},{offset:0,bytes:Z(`GIF87a`),mime:`image/gif`},{offset:0,bytes:Z(`GIF89a`),mime:`image/gif`},{offset:0,bytes:Z(`BM`),mime:`image/bmp`},{offset:0,bytes:Z(`RIFF`),also:{offset:8,bytes:Z(`WEBP`)},mime:`image/webp`},{offset:4,bytes:Z(`ftypavif`),mime:`image/avif`},{offset:0,bytes:[0,0,1,0],mime:`image/x-icon`},{offset:0,bytes:Z(`RIFF`),also:{offset:8,bytes:Z(`WAVE`)},mime:`audio/wav`},{offset:0,bytes:Z(`ID3`),mime:`audio/mpeg`},{offset:0,bytes:Z(`fLaC`),mime:`audio/flac`},{offset:4,bytes:Z(`ftypM4A`),mime:`audio/mp4`},{offset:4,bytes:Z(`ftypisom`),mime:`video/mp4`},{offset:4,bytes:Z(`ftypmp42`),mime:`video/mp4`},{offset:4,bytes:Z(`ftypqt`),mime:`video/quicktime`},{offset:0,bytes:[26,69,223,163],mime:`video/webm`},{offset:0,bytes:Z(`%PDF-`),mime:`application/pdf`},{offset:0,bytes:[0,97,115,109],mime:`application/wasm`},{offset:0,bytes:Z(`PK`),mime:`application/zip`},{offset:0,bytes:[31,139],mime:`application/gzip`},{offset:0,bytes:[127,69,76,70],mime:`application/x-executable`},{offset:0,bytes:[202,254,186,190],mime:`application/x-mach-binary`}],jr=Z(`OggS`);function Mr(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n[r])return!1;return!0}function Nr(e){let t=[...Ar].sort((e,t)=>t.bytes.length+(t.also?.bytes.length??0)-(e.bytes.length+(e.also?.bytes.length??0)));for(let n of t)if(Mr(e,n.offset,n.bytes)&&!(n.also&&!Mr(e,n.also.offset,n.also.bytes)))return n.mime;if(Mr(e,0,jr)){let t=Pr(e.subarray(0,64));return/theora|VP8/.test(t)?`video/ogg`:`audio/ogg`}return null}function Pr(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return t}var Fr=4096;function Ir(e){if(e.length===0)return!0;let t=e.subarray(0,Math.min(e.length,Fr));if(t.includes(0))return!1;let n=t.length;if(n===Fr)for(let e=0;e<4&&n>0;e+=1){let e=t[n-1]??0;if(!(e&128)||(--n,(e&192)==192))break}try{let e=new TextDecoder(`utf-8`,{fatal:!0}).decode(t.subarray(0,n)),r=0;for(let t of e){let e=t.codePointAt(0)??0;e!==9&&e!==10&&e!==13&&e!==12&&e!==27&&(e<32||e===127)&&(r+=1)}return r<=e.length*.05}catch{return!1}}function Lr(e,t){if(t&&t.length>0){let e=Nr(t);if(e)return{mime:e,text:Rr(e),source:`magic`}}let n=c(e);return n===`application/octet-stream`?t&&Ir(t)?{mime:`text/plain`,text:!0,source:`content`}:{mime:`application/octet-stream`,text:!1,source:t?`content`:`unknown`}:{mime:n,text:Rr(n),source:`extension`}}function Rr(e){if(e.startsWith(`text/`))return!0;let t=e.split(`;`,1)[0]?.trim()??e;return t===`application/json`||t===`application/xml`||t===`application/javascript`||t===`application/ecmascript`||t===`image/svg+xml`||t.endsWith(`+json`)||t.endsWith(`+xml`)}var zr=new Set([`md`,`markdown`,`mdown`,`mkd`,`mkdn`,`mdwn`]);function Br(e,t){let n=t.split(`;`,1)[0]?.trim()??t;if(n===`text/html`)return`html`;if(n===`text/markdown`||n===`text/x-markdown`)return`markdown`;let r=e.lastIndexOf(`.`),i=r>0?e.slice(r+1).toLowerCase():``;return zr.has(i)?`markdown`:i===`html`||i===`htm`?`html`:null}var Vr=24;async function Hr(e,t){let n=t.slice(0,Math.max(t.lastIndexOf(`/`),0))||`/`;for(let t=0;t<Vr;t+=1){try{return await e.stat(n===`/`?`/.git`:`${n}/.git`),n===``?`/`:n}catch{}if(n===`/`||n===``)return null;n=n.slice(0,Math.max(n.lastIndexOf(`/`),0))||`/`}return null}function Ur(e){let t=async t=>{let n=await e.stat(t),r=n.type===`directory`;return{type:r?`dir`:`file`,mode:r?16877:33188,size:n.size,ino:0,mtimeMs:n.mtime,ctimeMs:n.ctime,uid:1,gid:1,dev:1,isFile:()=>!r,isDirectory:()=>r,isSymbolicLink:()=>n.isSymlink===!0}};return{promises:{readFile:(t,n)=>{let r=typeof n==`string`?n:n?.encoding;return e.readFile(t,r===`utf8`?{encoding:`utf-8`}:{encoding:`binary`})},readdir:async t=>(await e.readDir(t)).map(e=>e.name),stat:t,lstat:t,readlink:async t=>(await e.stat(t)).symlinkTarget??``}}}async function Wr(e,t,n){let r=await Hr(e,t);if(!r)return null;let i=t.slice(r===`/`?1:r.length+1);if(i.length===0)return null;try{let t=await o(()=>import(`./isomorphic-git-CLcEdT0Q.js`),__vite__mapDeps([61,1,62])),a=Ur(e),s=await t.resolveRef({fs:a,dir:r,ref:`HEAD`}),{blob:c}=await t.readBlob({fs:a,dir:r,oid:s,filepath:i}),l=new TextDecoder().decode(c);return l===n?null:{baseContent:l,status:`modified`,repoRoot:r}}catch{return null}}function Gr(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return t===`.html`||t===`.svg`}async function Kr(e,t){let n=await e.readFile(t,{encoding:`binary`}),r=new Uint8Array(new ArrayBuffer(n.length));r.set(n);let{mime:i,text:a}=Lr(t,r);return{mime:i,text:a,bytes:r}}var qr=524288;function Jr(e,t,n){if(n.length>qr)return null;switch(Br(e,t)){case`markdown`:return{mount:`inline`,html:E(n)};case`html`:return{mount:`sandbox`,html:n};default:return null}}async function Yr(e,t,n={}){let{mime:r,text:i,bytes:a}=await Kr(e,t);if(!i){Je.open({path:t,content:a.buffer,mimeType:r,text:!1});return}let o=new TextDecoder().decode(a),s=await Wr(e,t,o),c=Jr(t,r,o);Je.open({path:t,content:o,mimeType:r,text:!0,...s?{baseContent:s.baseContent,gitStatus:s.status}:{},...c?{rendered:c}:{},...n.line===void 0?{}:{line:n.line}})}async function Xr(e,t){let{mime:n,bytes:r}=await Kr(e,t),i=new Blob([r],{type:n}),a=URL.createObjectURL(i);try{let e=document.createElement(`a`);e.href=a,e.download=t.split(`/`).pop()||`download`,e.click()}finally{URL.revokeObjectURL(a)}}async function Zr(e,t,n){let r=await e.readFile(t,{encoding:`binary`}),i=typeof r==`string`?r:Uint8Array.from(r);await e.writeFile(n,i)}async function Qr(e,t){try{return await e.stat(t),!0}catch{return!1}}function $r(e){let{fileTree:t,openFs:n,openWriter:r,insertReference:i,toPreviewUrl:a,log:o}=e;t.addEventListener(`file-preview`,async e=>{let{path:t}=e.detail;try{await Yr(await n(),t)}catch(e){o.error(`File preview failed`,e)}}),t.addEventListener(`file-reference`,e=>{let{path:t}=e.detail;i(t)}),t.addEventListener(`file-download`,async e=>{let{path:t}=e.detail;try{await Xr(await n(),t)}catch(e){o.error(`File download failed`,e)}}),t.addEventListener(`file-overflow`,e=>{let{path:n,anchor:r,kind:i}=e.detail,a=i!==`directory`,o=[{id:`preview`,label:`Preview`,visible:a},{id:`reference`,label:`Reference in chat`,visible:a},{id:`download`,label:`Download`,visible:a},{id:`rename`,label:`Rename`,visible:a},{id:`duplicate`,label:`Duplicate`,visible:a},{id:`copy-path`,label:`Copy path`},{id:`open-browser`,label:`Open in browser`,visible:a&&Gr(n)},{id:`delete`,label:`Delete`,destructive:!0,visible:a}];Ye.show({anchor:r,items:o,context:{path:n},dispatchTarget:t})}),t.addEventListener(`overflow-action`,async e=>{let{action:n,context:i}=e.detail,{path:s}=i;try{switch(n){case`preview`:case`reference`:case`download`:t.dispatchEvent(new CustomEvent(`file-${n}`,{detail:{id:s,path:s},bubbles:!0,composed:!0}));break;case`copy-path`:await navigator.clipboard.writeText(s);break;case`open-browser`:window.open(a(s),`_blank`);break;case`duplicate`:{let e=s.lastIndexOf(`.`),t=e>0?`${s.slice(0,e)}_copy${s.slice(e)}`:`${s}_copy`,n=await r();if(await Qr(n,t)&&!confirm(`${t} already exists. Overwrite?`))break;await Zr(n,s,t);break}case`delete`:confirm(`Delete ${s}?`)&&await(await r()).rm(s);break;case`rename`:{let e=s.split(`/`).pop()??``,t=prompt(`Rename ${s} to:`,e)?.trim();if(!t||t===e||t.includes(`/`))break;let n=`${s.slice(0,s.length-e.length)}${t}`,i=await r();if(await Qr(i,n)&&!confirm(`${n} already exists. Overwrite?`))break;await Zr(i,s,n),await i.rm(s);break}}}catch(e){o.error(`Overflow action "${n}" failed`,e)}})}var ei=`/workspace/CLAUDE.md`,ti=64,ni=12,ri=/\b(feedback|reviews?|corrections?|learnings?|observations?|testing|verification)\b/i,ii=/\b(user|preferences?|identit(?:y|ies)|accounts?|personal|interface|working rhythm|keyboard|accessibility)\b/i,ai=/^Auto-extracted \(/;function oi(e){let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}function si(e){return(oi(E(e)).textContent??``).replace(/\s+/g,` `).trim()}function ci(e){let t=si(e);if(t.length<=ti)return{title:t,summary:``,titleEnd:t.length,summaryStart:t.length};let n=[];for(let e of t.matchAll(/[.!?](?:[*_`'")\]]*)\s+|\s+[—–]\s+|[:;](?:[*_`]*)\s+|,\s+(?=(?:and|but|because|while|when|then|so)\b)/g)){let r=/^\s+[—–]|^[:;]/.test(e[0]),i=e.index+(r?0:e[0].trimEnd().length),a=e.index+e[0].length;t.slice(0,i).trim().length>=ni&&i<=96&&t.slice(a).trim()&&n.push({titleEnd:i,summaryStart:a})}let r=n.sort((e,t)=>Math.abs(e.titleEnd-ti)-Math.abs(t.titleEnd-ti))[0];if(r)return{title:t.slice(0,r.titleEnd).trim(),summary:t.slice(r.summaryStart).trim(),titleEnd:r.titleEnd,summaryStart:r.summaryStart};let i=t.slice(0,97).lastIndexOf(` `),a=i>=ni?i:96,o=t.slice(a).trim();return{title:t.slice(0,a).trim(),summary:o,titleEnd:a,summaryStart:t.indexOf(o,a)}}function li(e,t){let n=si(e),r=ai.test(t),i=r?n:`${t} ${n}`;return ri.test(i)?`feedback`:ii.test(i)?`user`:r?null:`project`}function ui(e,t){let n=ci(e);return{title:n.title,summary:n.summary,section:t,tag:li(e,t),bodyHtml:E(e),titleEnd:n.titleEnd,summaryStart:n.summaryStart}}function di(e){let t=[],n=`Memory`,r=``,i=``,a=null,o=()=>[r||n,i].filter(Boolean).join(` / `),s=()=>{if(!a)return;let e=a.lines.join(` `).trim();e&&t.push(ui(e,a.section)),a=null};for(let t of e.split(`
|
|
41
|
-
`)){let e=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t.trim());if(e){s();let t=si(e[2]);e[1].length===1?(n=t||n,r=``,i=``):e[1].length===2?(r=t,i=``):e[1].length===3&&(i=t);continue}let c=/^\s*[-*]\s+(.*)$/.exec(t);c?(s(),a={lines:[c[1]],section:o()}):t.trim()?a?a.lines.push(t.trim()):a={lines:[t.trim()],section:o()}:s()}return s(),t}function fi(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0,i=!1,a=!1,o=null,s=n.nextNode();for(;s;){for(let e=0;e<s.data.length;e+=1){if(/\s/.test(s.data[e])){i&&!a&&(a=!0,o={node:s,offset:e});continue}if(a){if(r===t)return o;r+=1}if(a=!1,o=null,r===t)return{node:s,offset:e};r+=1,i=!0}s=n.nextNode()}return r===t?{node:e,offset:e.childNodes.length}:null}function pi(e,t,n){let r=oi(e),i=fi(r,t),a=n==null?{node:r,offset:r.childNodes.length}:fi(r,n);if(!i||!a)return document.createDocumentFragment();let o=document.createRange();o.setStart(i.node,i.offset),o.setEnd(a.node,a.offset);let s=o.cloneContents();for(let e of[...s.childNodes])e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim()&&e.remove();let c=s.childNodes.length===1?s.firstChild:null;if(!(c instanceof HTMLParagraphElement))return s;let l=document.createDocumentFragment();return l.append(...c.childNodes),l}function mi(e){return di(e).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`heading`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`section`,e.section),e.tag&&t.setAttribute(`tag`,e.tag),t.setHeadingContent(pi(e.bodyHtml,0,e.titleEnd)),e.summary&&t.setBodyContent(pi(e.bodyHtml,e.summaryStart,null)),t})}async function hi(e){let t=``;try{let n=await e.readFile(ei,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch{t=``}return mi(t)}function gi(e){let t=e.filter(e=>e.health===`stalled`).length,n=e.filter(e=>e.health!==`stalled`&&e.peerState===`connecting`).length,r=e.length-t-n,i=[r>0?`${r} connected`:``,n>0?`${n} connecting`:``,t>0?`${t} stalled`:``].filter(Boolean);return{id:`followers`,label:`Followers`,count:e.filter(e=>e.peerState===`connected`).length,meta:i.join(` · `)||void 0,accent:`cyan`,emptyText:`No followers connected yet. Pair a phone, tablet, or CLI follower to this tray.`,rows:e.map(e=>{let t=e.motd??e.runtime??`Connected follower`,n=e.hostOrigin?`${t} · ${e.hostOrigin}`:t,r=[e.exec?`ssh`:``,e.cdp?`playwright`:``].filter(Boolean);return{name:qe(e),sublabel:n,meta:Ue(e),icon:Ge(e),badges:r,status:Ke(e)}})}}function _i(e){let t=e.stalled?`stalled`:e.state===`leader`?`connected`:e.state,n=e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`,r=e.sessionId?`Session ${We(e.sessionId)}`:null,i=e.workerBaseUrl?`Worker · ${e.workerBaseUrl}`:null;return{id:`tray`,label:`Tray`,count:1,meta:`${e.role} · ${t}`,accent:`waffle`,rows:[{name:e.role[0].toUpperCase()+e.role.slice(1),sublabel:[r,i].filter(Boolean).join(` · `)||`No tray session`,meta:t,icon:e.role===`follower`?`radio`:`cloud`,badges:e.joinUrl?[`join URL`]:[],status:n}]}}async function vi(e){let t=e.getScoops(),n=e.getTrayInfo(),r=e.getConnectedFollowers(),[i,a,o,s,c,l]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>[])]),u=e.getOAuthProviders(),d=Object.entries(s);return[_i(n),gi(r),{id:`cost`,label:`Cost`,count:c?.models.length??0,meta:c?`$${c.totalCost.toFixed(2)}`:void 0,rows:c?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`}))??[]},{id:`scoops`,label:`Scoops`,count:t.length,rows:t.map(t=>{let n=t.isCone?`${t.name||`sliccy`} (cone)`:t.name,r=e.isProcessing(t.jid);return{name:n,meta:r?`processing`:`idle`,active:r}})},{id:`processes`,label:`Processes`,count:l.length,rows:l.map(e=>{let t=e.argv.length>40?e.argv.slice(0,37)+`...`:e.argv,n=e.status===`running`;return{name:`${e.pid}`,meta:t,active:n}})},{id:`cron`,label:`Cron Tasks`,count:i.length,rows:i.map(e=>({name:e.name,meta:e.cron,active:e.status===`active`}))},{id:`webhooks`,label:`Webhooks`,count:a.length,rows:a.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`}))},{id:`workflows`,label:`Workflows`,count:0,rows:[]},{id:`mounts`,label:`Mounts`,count:o.length,rows:o.map(e=>({name:e.targetPath,meta:e.descriptor.kind,active:e.valid===!0,error:e.valid===!1}))},{id:`mcp`,label:`MCP Servers`,count:d.length,rows:d.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`${n} tool${n===1?``:`s`}`}})},{id:`oauth`,label:`OAuth`,count:u.length,rows:u.map(e=>({name:e.providerId,meta:``,active:e.valid===!0,error:e.valid===!1}))}]}var yi=[`/workspace`,`/shared`],bi=3,xi=200;async function Si(e,t,n){let r;try{r=await e.readDir(t)}catch{return[]}let i=r.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)),a=r.filter(e=>e.type===`file`).sort((e,t)=>e.name.localeCompare(t.name)),o=[...i,...a].slice(0,xi),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<bi?await Si(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function Ci(e){let t=[];for(let n of yi)t.push({kind:`dir`,id:n,label:n.slice(1),open:!0,children:await Si(e,n,1)});return t}function wi(e){let t=!1,n=null,r=null,i=!1,a=!1,o=()=>{e.openFs().then(async t=>{e.fileTree.items=await Ci(t),a||(a=!0,$r({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:ve,log:e.log}))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},s=()=>{i=!1,n!=null&&(clearInterval(n),n=null)},c=()=>{r!=null&&(clearInterval(r),r=null)},l=()=>{(async()=>{try{let t=await vi(e.getMonitorDeps());e.monitor.sections=t}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,l),{activate(a){if(a===`files`){s(),i=!0,e.onKernelReady(()=>{i&&(i=!1,o(),n=setInterval(o,3e3))});return}if(a===`memory`){e.openFs().then(async t=>{let n=await hi(t);e.memoryHost.setRows?e.memoryHost.setRows(n):e.memoryHost.replaceChildren(...n)}).catch(t=>e.log.error(`WC memory refresh failed`,t));return}if(a===`monitor`){c(),l(),r=setInterval(l,5e3);return}a===`term`&&!t&&(t=!0,e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}))},deactivate(e){e===`files`?s():e===`monitor`&&c()}}}var Ti=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Ei=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Di=2e4,Oi=12,ki=3e4;function Ai(e){let t=e.trim();for(;t.startsWith(`./`)||t.startsWith(`../`);)t=t.slice(t.startsWith(`./`)?2:3);return t.startsWith(`~/`)&&(t=t.slice(2)),t.replace(/\/{2,}/g,`/`)}function ji(e){return e.slice(e.lastIndexOf(`/`)+1)}function Mi(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Ni(e,t){let n=Ai(e);return t.includes(`/`)?Mi(n,t):ji(n)===t}function Pi(e,t){let n=[],r=new Set;for(let i=t.length-1;i>=0;--i){let a=t[i];if(!(a===void 0||r.has(a))&&Ni(a,e)&&(r.add(a),n.push(Ai(a)),n.length>=Fi))break}return n}var Fi=4,Ii=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;#c=null;#l=new Map;#u=new Map;constructor(e,t={}){this.#e=e,this.#t=t.roots??Ti,this.#n=t.ignoredDirs??Ei,this.#r=t.maxEntries??Di,this.#i=t.maxDepth??Oi,this.#a=t.ttlMs??ki}resolve(e,t=[]){this.#g();let n=Ai(e),r=this.#d(n),i=Pi(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Mi(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(ji(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Mi(t,e)).sort(Li)}:{query:e,matches:[...t].sort(Li)}}async#h(e){try{return(await this.#e.stat(e)).type===`file`}catch{return!1}}#g(){!this.#s||this.#a===1/0||Date.now()-this.#o<this.#a||this.invalidate()}#_(){return this.#s?Promise.resolve(this.#s):(this.#c??=this.#v().then(e=>(this.#s=e,this.#o=Date.now(),e)),this.#c)}async#v(){let e=new Map,t={left:this.#r};for(let n of this.#t){if(t.left<=0)break;await this.#y(n,0,e,t)}return e}async#y(e,t,n,r){if(r.left<=0||t>this.#i)return;let i;try{i=await this.#e.readDir(e)}catch{return}let a=this.#b(e,i,n,r);for(let e of a){if(r.left<=0)break;await this.#y(e,t+1,n,r)}}#b(e,t,n,r){let i=[];for(let a of t){if(r.left<=0)break;let t=e===`/`?`/${a.name}`:`${e}/${a.name}`;if(a.type===`directory`){this.#n.has(a.name)||i.push(t);continue}let o=n.get(a.name);o?o.push(t):n.set(a.name,[t]),--r.left}return i}};function Li(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Ri=`file-mention`,Q=`data-file-mentions`;function zi(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Bi=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Vi=`file-mention-open`;async function Hi(e,t,n=[]){let r=zi(e);if(e.getAttribute(Q)===r)return;let i=Ui(e);if(i.length===0){e.setAttribute(Q,r);return}let a=[],o=new Set;for(let e of i){let t=Ne(e.data);if(t.length!==0){a.push({node:e,mentions:t});for(let e of t)o.add(e.path)}}if(a.length===0){e.setAttribute(Q,r);return}let s=[...o],c=await t.resolveAll(s,n),l=new Map(s.map((e,t)=>[e,c[t]?.matches??[]]));for(let{node:e,mentions:t}of a){if(!e.isConnected)continue;let n=t.filter(e=>(l.get(e.path)?.length??0)>0);n.length!==0&&Wi(e,n,l)}e.setAttribute(Q,zi(e))}function Ui(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(t){if(!t.nodeValue||t.nodeValue.trim().length===0)return NodeFilter.FILTER_REJECT;for(let n=t.parentElement;n&&n!==e;n=n.parentElement)if(Bi.has(n.tagName)||n.classList.contains(`file-mention`))return NodeFilter.FILTER_REJECT;return NodeFilter.FILTER_ACCEPT}}),n=[];for(let e=t.nextNode();e!==null;e=t.nextNode())n.push(e);return n}function Wi(e,t,n){let r=e.ownerDocument,i=e.data,a=r.createDocumentFragment(),o=0;for(let e of t){let t=n.get(e.path)??[],s=t[0];s&&(e.start>o&&a.appendChild(r.createTextNode(i.slice(o,e.start))),a.appendChild(Gi(r,i.slice(e.start,e.end),s,t,e.line)),o=e.end)}o<i.length&&a.appendChild(r.createTextNode(i.slice(o))),e.parentNode?.replaceChild(a,e)}function Gi(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Ri,a.textContent=t,a.href=`#${n}`,a.dataset.path=n,i!==void 0&&(a.dataset.line=String(i)),a.title=r.length>1?`${n}\n(+${r.length-1} other match${r.length>2?`es`:``})`:n,a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let t={path:n,alternatives:r,...i===void 0?{}:{line:i}};a.dispatchEvent(new CustomEvent(Vi,{detail:t,bubbles:!0,composed:!0}))}),a}var $=`slicc-agent-message`,Ki=`slicc-action-row[${Re}]`;function qi(e,t){let n=[],r=e.querySelectorAll(Ki);for(let e of r){if(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)break;n.push(e.getAttribute(`data-file-paths`)??``)}return n.slice(-40).flatMap(e=>Ie(e))}function Ji(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Yi(e){try{return Xi(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function Xi(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Ii(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;Ne(n.textContent??``).length!==0&&Ji(()=>{let i=qi(t,e);a().then(e=>Hi(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll($))o(t)};s(t);let c=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`){t.target instanceof HTMLElement&&o(t.target);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.tagName.toLowerCase()===$?o(e):s(e));let e=t.target?.closest?.($);e&&o(e)}});c.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`streaming`]});let l=e=>{let{path:t,line:i}=e.detail;n().then(e=>Yr(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Vi,l),()=>{c.disconnect(),t.removeEventListener(Vi,l)}}var Zi=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>da,DOCK_TREE_STORAGE_KEY:()=>ua,attachWcClient:()=>ma,makeSprinkleAttachImage:()=>pa,mountWcUiLive:()=>ha,prepareWcShell:()=>Qi,wireDockTreePersistence:()=>fa,wireWcChipTips:()=>aa});function Qi(e,t){let n=ze(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=null,o=new Map,s=!1,c=new Set,l=e=>{if(a=e,!i)return;let t=i.selectedScoopJid;if(t&&t!==e.jid){let e=r?.getQueuedMessages()??[];for(let n of e)i.deleteQueuedMessage(t,n.id).catch(()=>void 0)}let s=o.get(e.jid);r?.setLickBackpressure(s?.count??0,s?.waitingMs??0,G(e)),i.setSelectedScoopJid(e.jid),n.inputCard.removeAttribute(`disabled`),ar(n,e),i.requestScoopMessages(e.jid),r?.setProcessing(i.isProcessing(e.jid)),n.switcher.hasAttribute(`attention`)||n.switcher.setAttribute(`attention`,e.jid)};return{refs:n,wiring:{refs:n,statuses:new Map,fills:new Map,phases:new Map,lickBackpressure:o,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>a,selectScoop:l,notifyReady:()=>{s=!0;for(let e of c)e()}},setClient:e=>{i=e},selectScoop:l,getSelected:()=>a,clearSelection:()=>{a=null},getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(s?e.activate(n):c.add(()=>e.activate(n)))},onClientReady:e=>{c.add(e),s&&e()}}}function $i(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([o(()=>import(`./remote-vfs-client-5faRBsEi.js`),__vite__mapDeps([63,40])),o(()=>import(`./writable-vfs-client-Dqrpx9iK.js`),__vite__mapDeps([64,40]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function ea(e,t,n,r,i){e.onClientReady(()=>{r.intercept||o(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-cK_1n2x5.js`);return{wireWcOnboarding:e}},__vite__mapDeps([65,3,28,12,13,1,14,15,16,29,66,11,67,27,18,37,68,69,70,71,72,52,53,73,47,48])).then(({wireWcOnboarding:r})=>r({client:t,getController:()=>e.getController(),openVfs:n,log:i})).then(e=>{r.intercept=e.interceptWelcomeLick}).catch(e=>i.error(`WC onboarding wiring failed`,e))})}function ta(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2)),typeof n.burnRate==`number`&&Number.isFinite(n.burnRate)?e.refs.floatbar.setAttribute(`rate`,n.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=tr(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput)})};return setInterval(n,15e3),n}function na(e,t,n){let r=t.standalone;r&&o(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DdPBkgaJ.js`);return{wireWcBrowser:e}},__vite__mapDeps([74,12,75,76,11,77,78])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function ra(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),aa({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function ia(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.jid;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function aa(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,s=e.getScoops().find(e=>e.jid===a);if(!s)return;let c=e.lastActivity.get(a)??``,l=t.get(a);if(l&&l.activity===c){i.title=l.tip;return}i.title||=W(s),!(!c||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await o(async()=>{let{quickLabel:e}=await import(`./quick-llm-BqTUJESa.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([54,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,55,41]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${s.isCone?`${W(s)} (a main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});n&&(t.set(a,{activity:c,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function oa(e,t,n){let{RemoteTerminalView:r}=await o(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-Dc-DMywu.js`);return{RemoteTerminalView:e}},__vite__mapDeps([79,1,3,23,11,37,80,81,82,78,83,15,27,18,12,68,84,10,69,85,86,71,87,88])),{fetchSecretEnvVars:i}=await o(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-D-b2fLc6.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([89,11,13,1,3,14,12,15,16,17,18,19,20,21])),a=await i(),s=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await s.mount(n),globalThis.__slicc_terminal_view=s,window.addEventListener(`beforeunload`,()=>s.dispose(),{once:!0})}function sa(e,t,n){let r=r=>{if(r.startsWith(`freezer:`)){n(r.slice(8));return}let i=Jn(t.getScoops(),r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function ca(e,t,n,r){o(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-gFKCQht9.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([90,3,11,37])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await o(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-BwYf17R6.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([91,3,15,27,18,12]));r({runtimeMode:a,providers:await s(c()||a===`extension`||a===`extension-detached`)}),i({runShell:la(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e))}function la(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await o(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([88,1])),r=new n({client:t,sid:`mount-drop-${Date.now()}`});return await r.open({cwd:`/workspace`}),r})().catch(e=>{throw n=null,e}),n);return async e=>(await r()).exec(e)}var ua=`slicc-dock-tree:default`,da={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function fa(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(ua,JSON.stringify(e))}catch{}};n.addEventListener(`dock-tree-change`,e=>{i(e.detail?.tree)}),n.addEventListener(`dock-tree-resize`,e=>{i(e.detail?.tree)});try{let e=localStorage.getItem(ua);r.setTree(e?JSON.parse(e):da)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(da)}}function pa(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function ma(e,t,n,r={}){o(async()=>{let{initTimestampPreference:e}=await import(`./timestamp-preference-sKwBl5I8.js`).then(e=>e.a);return{initTimestampPreference:e}},__vite__mapDeps([92,1])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:i}=e;e.setClient(t);let a=C(`panel-layouts`);i.dockTree.tilesMovable=a,a||fa(i,n);let s=null,c=ta(e.wiring,t),l=()=>s?.(),u={intercept:null},{controller:d,agentHandle:f}=hr(i,t,()=>e.getSelected(),ia({boot:e,triggerPlaceholder:l,refreshStats:c}),u);e.setController(d),e.onClientReady(c);let p=$i(t),m=async()=>(await p()).reader;r.standalone?.runtimeMode!==`cherry`&&r.standalone?.runtimeMode!==`hosted-leader`&&ea(e,t,p,u,n);let h=sr({boot:e,client:t,agentHandle:f,setRefreshPlaceholder:e=>{s=e},triggerPlaceholder:l,openReader:m,openWriter:async()=>(await p()).writer,log:n});ra(e,t),na(e,r,n),ca(e,t,r,n);let g=wi({fileTree:i.fileTree,termSurface:i.termSurface,memoryHost:i.memoryHost,monitor:i.monitor,openFs:m,openWriter:async()=>(await p()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Dr({client:t,openReader:m,storage:window.localStorage}),mountTerminal:n=>oa(e,t,n),insertReference:e=>{let t=i.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:n});e.setActivateSurface(g),a&&o(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-BZuH5tPw.js`);return{panelizeShell:e}},__vite__mapDeps([93,11,94,41,1,95,3,96,50,97,98,99,100])).then(({panelizeShell:e})=>e(i,void 0,void 0,{onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e)})).catch(e=>n.error(`panelize failed — keeping the classic shell`,e)),Yi({thread:i.thread,openFs:m,log:n}),i.floatbar.addEventListener(`click`,()=>{let e=i.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let{refreshFreezer:_,openFrozen:v,getViewedFrozenSessionId:y}=Cr({refs:i,openVfs:p,client:t,getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:n});if(_(),e.onClientReady(_),C(`multiple-cones`)){let r=er({refs:i,client:t,getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,log:n});e.wiring.refreshConesRail=r.refresh,e.onClientReady(r.refresh)}sa(e,t,v),p().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await o(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-CluNpFQR.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:n})}).catch(e=>n.warn(`WC page-VFS support wiring failed`,e)),p().then(async({reader:a,writer:s})=>{let{createRemoteSprinkleVfs:c}=await o(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-e81pZJKo.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([101,40])),l=(await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BZuH5tPw.js`);return{getPanelizedShell:e}},__vite__mapDeps([93,11,94,41,1,95,3,96,50,97,98,99,100]))).getPanelizedShell(),{wireWcSprinkles:u}=await o(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-CGE3qrDA.js`);return{wireWcSprinkles:e}},__vite__mapDeps([102,3,15,27,18,12])),d=await u({refs:i,client:t,fs:c({reader:a,writer:s}),instanceId:r.instanceId,onAttachImage:pa(h,n),onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:n});e.onClientReady(()=>void d.resync());let{getPanelizedShell:_}=await o(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BZuH5tPw.js`);return{getPanelizedShell:e}},__vite__mapDeps([93,11,94,41,1,95,3,96,50,97,98,99,100])),v=_();if(v){let e=c({reader:a,writer:s});v.attachFs(e);let{registerAgentPanels:t}=await o(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-B92KQapO.js`);return{registerAgentPanels:e}},__vite__mapDeps([103,11,97]));await t(e).catch(e=>n.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await o(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await o(async()=>{let{applyLayout:e}=await import(`./apply-layout-CY5gbE-i.js`);return{applyLayout:e}},__vite__mapDeps([104,102,3,15,27,18,12]));e(e=>t(d.zone,e))}if(r.standalone&&r.instanceId){let{wireWcTray:a}=await o(async()=>{let{wireWcTray:e}=await import(`./wc-tray-CaGfG302.js`);return{wireWcTray:e}},__vite__mapDeps([105,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,39,75,106,28,29,107,30,108,109,110,27,59,111,47,48,72,52,53,112,113,114,0,26,31,32,37,78,115,116,88,77,117,118,119,120,121,84])),s=d.zone.callbacks(),c=await a({refs:i,client:t,browser:r.standalone.browser,realCdpTransport:r.standalone.realCdpTransport,instanceId:r.instanceId,runtimeMode:r.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>s.addSprinkle(e,t,n),removeSprinkle:e=>s.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.jid??`cone`,agentHandle:f,openFs:m,openWriter:async()=>(await p()).writer,baseFloatLabel:r.standalone.baseFloatLabel,window,log:n});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast()}}).catch(e=>n.error(`WC sprinkle/tray wiring failed`,e));{let e=new st,n=new he,r=new jn({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>e.loadAll(),loadUiChatSessions:async()=>{let e=await n.list();return(await Promise.all(e.map(e=>n.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:Gn(),snapshotStore:{read:async e=>{let{reader:t}=await p();return Bn(t,e)},write:async(e,t)=>{let{writer:n}=await p();return zn(n,e,t)}},vfs:{readFile:async(e,t)=>(await p()).reader.readFile(e,t),readDir:async e=>(await p()).reader.readDir(e),stat:async e=>(await p()).reader.stat(e)},getActiveSessionInfo:()=>{let e=t.getScoops().find(e=>e.isCone);return{id:e?.jid??`session-${Date.now()}`,title:e?.name??`Active Session`}},version:`6.77.0`}),i=Se(r);window.addEventListener(`unload`,i,{once:!0})}let b=!1,x=()=>b?Promise.resolve():(b=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([o(()=>import(`./export-provider-BEHTjSYw.js`).then(e=>e.t),__vite__mapDeps([58,1,12])),o(()=>import(`./wc-transcript-export-DKIleW7-.js`),__vite__mapDeps([122,3,113,12,114,1]))]),r=y(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:s}=a;await n(await t(a),s)}catch(e){n.error(`Transcript export failed`,e)}finally{b=!1}})());if(o(async()=>{let{wireWcNav:e}=await import(`./wc-nav-BWsK8yB4.js`);return{wireWcNav:e}},__vite__mapDeps([123,3,15,27,18,12,57,28,13,1,14,16,29,30,31,32,110,11,59,121,84,10])).then(({wireWcNav:e})=>e({refs:i,client:t,log:n,onExportTranscript:x})).catch(e=>n.error(`WC nav wiring failed`,e)),o(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-faUgsBUj.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([124,11,15,27,18,12,37,96,45,46,13,1,3,14,16,47,48,125])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=i.composer;t(r.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>n.error(`WC push-to-talk wiring failed`,e)),o(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-B7odF4tO.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([44,3,11,15,27,18,12,45,46,13,1,14,16,47,48])).then(({setSpeakAssetsInstanceId:e})=>e(r.instanceId)).catch(e=>n.error(`WC say warmup wiring failed`,e)),r.standalone)return()=>{o(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-huVBjjzQ.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([56,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,57,0,26,27,28,29,30,31,32,55,33,38,39,40,41,35,42])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await p()).writer,onComplete:_})).catch(e=>n.warn(`Pending session catch-up scheduling failed`,e))}}async function ha(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await le({runtimeMode:n,envBaseUrl:null,window,log:t}),{resolveStandaloneFloatLabel:f,DEFAULT_STANDALONE_LABEL:p}=await o(async()=>{let{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}=await import(`./wc-float-label-BhT8N0Fl.js`);return{resolveStandaloneFloatLabel:e,DEFAULT_STANDALONE_LABEL:t}},__vite__mapDeps([126,13,1,3,14,12,15,16])),m=n===`standalone`||n===`electron-overlay`?await f():p,h=Qi(e,m);a&&se(a);let{syncFsBridgeEnabled:g,syncFsChannelNonce:_}=kr(),v=Ct({realCdpTransport:i,instanceId:a,makeClient:e=>new ht(nr(h.wiring),e),localApiBaseUrl:s,bridgeToken:c,syncFsBridgeEnabled:g,syncFsChannelNonce:_,localLickWsUrl:l,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{ce()}});_t({send:e=>v.client.sendRaw(e)}),d?.(v.client);let y=ma(h,v.client,t,{instanceId:a,standalone:{browser:r,realCdpTransport:i,runtimeMode:n,baseFloatLabel:m}}),{setupSudoStandalone:b}=await o(async()=>{let{setupSudoStandalone:e}=await import(`./setup-sudo-Dl9iLnhq.js`).then(e=>e.n);return{setupSudoStandalone:e}},__vite__mapDeps([127,1,3]));await b({log:t}),await v.ready,h.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:v.client.getScoops().length}),y?.();let{consumeAutoPrompt:x}=await o(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),S=x(window.location.search);S&&(h.getController()?.sendUserMessage(S),t.info(`Auto-prompt submitted`,{length:S.length}))}export{nr as a,mr as i,Qi as n,ht as o,Zi as r,ma as t};
|