sliccy 3.36.0 → 3.37.1
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/README.md +1 -1
- package/dist/ui/assets/{adobe-BDx0xZZN.js → adobe-CZPBfX_1.js} +2 -2
- package/dist/ui/assets/{adobe-cxXajJ1A.js → adobe-Do5FVWEd.js} +1 -1
- package/dist/ui/assets/{agent-bridge-DyKUTtuo.js → agent-bridge-CTTgpHln.js} +1 -1
- package/dist/ui/assets/{agent-message-to-chat-Bi5-2WlC.js → agent-message-to-chat-gcUd4azi.js} +1 -1
- package/dist/ui/assets/anthropic-CPc6AdUF.js +39 -0
- package/dist/ui/assets/anthropic-DqX3RKuq.js +39 -0
- package/dist/ui/assets/{apps-CMXlIt7l.js → apps-BW1k6lF-.js} +1 -1
- package/dist/ui/assets/{azure-openai-D6erH762.js → azure-openai-AsqEbq7P.js} +1 -1
- package/dist/ui/assets/{azure-openai-BemTM7cG.js → azure-openai-lQA0OsYZ.js} +1 -1
- package/dist/ui/assets/azure-openai-responses-BE8XE04k.js +1 -0
- package/dist/ui/assets/azure-openai-responses-D7KfF46t.js +1 -0
- package/dist/ui/assets/{biome_wasm-DcVkLcac.js → biome_wasm-C15EopD6.js} +1 -1
- package/dist/ui/assets/{bsh-watchdog-C6PTBGjJ.js → bsh-watchdog-B4BKDMv9.js} +1 -1
- package/dist/ui/assets/{cdp-84XjVz0a.js → cdp-Ck34I7rp.js} +3 -3
- package/dist/ui/assets/{cdp-ws-page-bridge-Br3RDWMc.js → cdp-ws-page-bridge-xODEflym.js} +1 -1
- package/dist/ui/assets/{common-Kgrp69uW.js → common-D_RGfoLs.js} +1 -1
- package/dist/ui/assets/{connect-surface-BPBamnV2.js → connect-surface-DQiJgxmp.js} +1 -1
- package/dist/ui/assets/cost-command-BPJ3R2wT.js +1 -0
- package/dist/ui/assets/{dist-Cp7UAJid.js → dist-5eteEdeW.js} +4 -4
- package/dist/ui/assets/{dist-CoGx23Mh.js → dist-BeB4OPFR.js} +4 -4
- package/dist/ui/assets/{dist-BwrS08So.js → dist-CZleMBgY.js} +1 -1
- package/dist/ui/assets/{dist-rL8usQYO.js → dist-DFawGJ88.js} +1 -1
- package/dist/ui/assets/{es-CPRTyRS4.js → es-CFfrd0ul.js} +4 -4
- package/dist/ui/assets/{follower-sprinkle-bridge-DvVGjC8f.js → follower-sprinkle-bridge-CBj18dVf.js} +1 -1
- package/dist/ui/assets/{github-zokiXPzN.js → github-C4UQlYfZ.js} +2 -2
- package/dist/ui/assets/{github-BIvONWqz.js → github-C6Ut-Hki.js} +1 -1
- package/dist/ui/assets/{github-copilot-ClJae8xc.js → github-copilot-CjLuHl_d.js} +2 -2
- package/dist/ui/assets/{github-copilot-904lM2o2.js → github-copilot-Dqba68pv.js} +1 -1
- package/dist/ui/assets/google-BlIB0cJA.js +1 -0
- package/dist/ui/assets/google-CCReXHOY.js +1 -0
- package/dist/ui/assets/{google-shared-CNKdXbm8.js → google-shared-CV2aMv2V.js} +3 -3
- package/dist/ui/assets/{google-shared-BzEbof8A.js → google-shared-Cgd8LKVE.js} +1 -1
- package/dist/ui/assets/{google-vertex-OUoxkWRz.js → google-vertex-BjTDaknH.js} +1 -1
- package/dist/ui/assets/{google-vertex-B5vBchlU.js → google-vertex-DA4qECv8.js} +1 -1
- package/dist/ui/assets/{hosted-config-apply-_WyR0PnY.js → hosted-config-apply-DvmOz70_.js} +1 -1
- package/dist/ui/assets/{intercepted-oauth-E-RJ_38y.js → intercepted-oauth-Ca2ar2P-.js} +1 -1
- package/dist/ui/assets/{kernel-worker-jD7bcOG1.js → kernel-worker-3dJlBPKw.js} +765 -765
- package/dist/ui/assets/lick-ws-bridge-DXWCrUpu.js +1 -0
- package/dist/ui/assets/{local-llm-DTfJxIXt.js → local-llm-CvUKDON7.js} +2 -2
- package/dist/ui/assets/{magick-wasm-Dilg8m3U.js → magick-wasm-DHrcSuej.js} +1 -1
- package/dist/ui/assets/{main-BuR1AKEt.js → main-BpRJcmki.js} +193 -193
- package/dist/ui/assets/{main-cherry-DQ9DcLoo.js → main-cherry-B46m_kn5.js} +1 -1
- package/dist/ui/assets/{migration-run-EL8p-R1L.js → migration-run-N0b3mn0V.js} +1 -1
- package/dist/ui/assets/{mistral-BTJY2iBI.js → mistral-C0BwdjQK.js} +10 -10
- package/dist/ui/assets/{mistral-CQpf9iQh.js → mistral-q0AndRb9.js} +10 -10
- package/dist/ui/assets/{nodejs-Cl5Op5oH.js → nodejs-C9x-6kuN.js} +1 -1
- package/dist/ui/assets/{nuke-command-EsWO-99-.js → nuke-command-Dyosu0J7.js} +1 -1
- package/dist/ui/assets/{oauth-COh1tidH.js → oauth-788GCHZ5.js} +1 -1
- package/dist/ui/assets/oauth-bootstrap-DMTToV-t.js +2 -0
- package/dist/ui/assets/{oauth-service-DwylaCdf.js → oauth-service-ClH1BHMq.js} +1 -1
- package/dist/ui/assets/{oauth-service-CHFZzMAM.js → oauth-service-DjGfalyq.js} +1 -1
- package/dist/ui/assets/{offscreen-client-CY2P6ZpH.js → offscreen-client-C_hPHkwJ.js} +1 -1
- package/dist/ui/assets/{onboarding-orchestrator-Dy5rLil-.js → onboarding-orchestrator-8kqMyWPN.js} +1 -1
- package/dist/ui/assets/{openai-codex-hQxy0wsX.js → openai-codex-DOHPeNTF.js} +1 -1
- package/dist/ui/assets/{openai-codex-CSExyJdK.js → openai-codex-Dx0ZoExa.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-BcIl6TvG.js +7 -0
- package/dist/ui/assets/openai-codex-responses-sPuczYbE.js +7 -0
- package/dist/ui/assets/openai-completions-Bx5Afuyz.js +5 -0
- package/dist/ui/assets/openai-responses-Bj4fvlFf.js +1 -0
- package/dist/ui/assets/openai-responses-QksDIhvO.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-B8LvbBLm.js → openai-responses-shared-BFgL-o3e.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-BEfL_4Jo.js → openai-responses-shared-BocZ0nJ9.js} +1 -1
- package/dist/ui/assets/openrouter-Cy2dLX1Z.js +1 -0
- package/dist/ui/assets/openrouter-KSYp3IxY.js +1 -0
- package/dist/ui/assets/{panel-rpc-handlers-BXEiLAAr.js → panel-rpc-handlers-CJ-H4d6p.js} +1 -1
- package/dist/ui/assets/{provider-DE_36sNg.js → provider-B7jO0hH7.js} +1 -1
- package/dist/ui/assets/{provider-CfArdY9x.js → provider-DPhAhKZ2.js} +2 -2
- package/dist/ui/assets/provider-store-access-4xBAIgs1.js +1 -0
- package/dist/ui/assets/provider-store-access-sO8BdpI8.js +1 -0
- package/dist/ui/assets/{proxied-fetch-CeUEVmxJ.js → proxied-fetch-CDLv67Nc.js} +1 -1
- package/dist/ui/assets/{pyodide-1sA0caY8.js → pyodide-BMh2S3n1.js} +2 -2
- package/dist/ui/assets/{remote-terminal-view-CWAelr73.js → remote-terminal-view-BIZsKmbf.js} +1 -1
- package/dist/ui/assets/{remote-vfs-client-DccrPQK3.js → remote-vfs-client-ByyZAkae.js} +1 -1
- package/dist/ui/assets/{secret-env-CCuKboWk.js → secret-env-Bje7EF6z.js} +1 -1
- package/dist/ui/assets/{slicc-editor-C91M-_Ki.js → slicc-editor-DawcDX-J.js} +1 -1
- package/dist/ui/assets/{spawn-BVUlR8PQ.js → spawn-BWlCnXas.js} +1 -1
- package/dist/ui/assets/{sql-wasm-C_8iNeNy.js → sql-wasm-Dm6zQsKx.js} +2 -2
- package/dist/ui/assets/{src-Dt77-cQy.js → src-l2uxz6Ab.js} +2 -2
- package/dist/ui/assets/{store-DhPN9ghF.js → store-D6FxMGSe.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-C9WjcJt7.js → tray-leave-runtime-B1x3_Arq.js} +1 -1
- package/dist/ui/assets/{typescript-CXc3cH84.js → typescript-D6flK270.js} +9 -9
- package/dist/ui/assets/upgrade-detection-jCctGGPk.js +1 -0
- package/dist/ui/assets/{web-CBnsPMLv.js → web-CCvcFM5o.js} +1 -1
- package/dist/ui/assets/{writable-vfs-client-8kaPaUvR.js → writable-vfs-client-DRD0MgVo.js} +1 -1
- package/dist/ui/assets/{ws-subscribers-r7MB4Tl5.js → ws-subscribers-DmE7U-J_.js} +1 -1
- package/dist/ui/assets/{xai-grok-DYhZ5bwG.js → xai-grok-BeDajuFq.js} +1 -1
- package/dist/ui/assets/{xai-grok-VZlQG8z0.js → xai-grok-CP5PeYYT.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/packages/webapp/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/anthropic-BLr6vgjL.js +0 -39
- package/dist/ui/assets/anthropic-DhlxlRUi.js +0 -39
- package/dist/ui/assets/azure-openai-responses-BCdijGeI.js +0 -1
- package/dist/ui/assets/azure-openai-responses-Ckbzibre.js +0 -1
- package/dist/ui/assets/cost-command-BzwhcR5V.js +0 -1
- package/dist/ui/assets/google-Cjha4joL.js +0 -1
- package/dist/ui/assets/google-Doi2Ohn6.js +0 -1
- package/dist/ui/assets/lick-ws-bridge-Bu0447pg.js +0 -1
- package/dist/ui/assets/oauth-bootstrap-CnTMAvSf.js +0 -2
- package/dist/ui/assets/openai-codex-responses-BUfFqzRl.js +0 -7
- package/dist/ui/assets/openai-codex-responses-YNMSm_9-.js +0 -7
- package/dist/ui/assets/openai-completions-jY0XduoF.js +0 -5
- package/dist/ui/assets/openai-responses-KsCBEvUD.js +0 -1
- package/dist/ui/assets/openai-responses-KvO6yZ53.js +0 -1
- package/dist/ui/assets/openrouter-BDi20ID7.js +0 -1
- package/dist/ui/assets/openrouter-Bg9dnwH0.js +0 -1
- package/dist/ui/assets/provider-store-access-B6gI9Cfx.js +0 -1
- package/dist/ui/assets/provider-store-access-DK_UYwgf.js +0 -1
- package/dist/ui/assets/upgrade-detection-C8SKVajA.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as e}from"./main-
|
|
1
|
+
import{I as e}from"./main-BpRJcmki.js";import{BrowserAPI as t}from"./cdp-Ck34I7rp.js";var n=new Set([`handshake.hello`,`handshake.welcome`,`cdp.request`,`cdp.response`,`cdp.event`,`permission.request`,`permission.response`,`host.event`,`slicc.event`]);function r(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.cherry===1&&typeof t.channelId==`string`&&typeof t.kind==`string`&&n.has(t.kind)}function i(e,t){return!(!t.allowOrigins.includes(e.origin)||t.expectedSource!==null&&e.source!==t.expectedSource||!r(e.data)||t.channelId!==null&&e.data.channelId!==t.channelId)}var a=e(`cherry-transport`),o=`cherry-session`,s=`cherry-target`,c=`cherry-frame`,l=3e4,u=class{opts;channelId=null;nextId=1;_state=`disconnected`;pending=new Map;listeners=new Map;connectResolve=null;connectTimer=null;_joinUrl=null;boundHandler=e=>this.handleMessage(e);onHostEvent=null;constructor(e){this.opts=e}get state(){return this._state}get joinUrl(){return this._joinUrl}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);this._state=`connecting`,this.channelId=`cherry-${crypto.randomUUID()}`,typeof window<`u`&&window.addEventListener(`message`,this.boundHandler);let t=e?.timeout??l;return new Promise((e,n)=>{this.connectResolve=e,this.connectTimer=setTimeout(()=>{this.connectTimer=null,typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler),this._state=`disconnected`,this.channelId=null,this.connectResolve=null,n(Error(`Cherry handshake timed out after ${t}ms`))},t),this.post({cherry:1,channelId:this.channelId,kind:`handshake.hello`,capabilities:this.opts.capabilities??{navigate:!0,screenshot:!0,openUrl:!0}})})}disconnect(){this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),typeof window<`u`&&window.removeEventListener(`message`,this.boundHandler);for(let[,e]of this.pending)e.reject(Error(`Cherry transport disconnected`));this.pending.clear(),this._state=`disconnected`,this.channelId=null}async send(e,t,n,r=3e4){if(this._state!==`connected`)throw Error(`Cherry transport is not connected`);let i=this.handleSynthetic(e,t);if(i)return i;let a=this.nextId++,o=await new Promise((n,i)=>{let o=setTimeout(()=>{this.pending.delete(a),i(Error(`Cherry CDP timed out after ${r}ms: ${e}`))},r);this.pending.set(a,{resolve:e=>{clearTimeout(o),n(e)},reject:e=>{clearTimeout(o),i(e)}}),this.post({cherry:1,channelId:this.channelId,kind:`cdp.request`,id:a,method:e,params:t})});return e===`Page.navigate`&&this.synthesizeNavigationLifecycle(o,t?.url),o}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}__test_receive(e){this.handleMessage(e)}emitSliccEventToHost(e,t){if(!this.channelId){a.warn(`Dropping slicc.event before handshake (no channelId yet)`,{name:e});return}this.post({cherry:1,channelId:this.channelId,kind:`slicc.event`,name:e,detail:t})}post(e){this.opts.counterpart.postMessage(e,this.opts.targetOrigin)}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of n)try{e(t)}catch{}}handleSynthetic(e,t){switch(e){case`Target.getTargets`:return Promise.resolve({targetInfos:[{targetId:s,type:`page`,title:`Cherry Host Page`,url:typeof location<`u`?location.href:`about:blank`,attached:!0}]});case`Target.attachToTarget`:return Promise.resolve({sessionId:o});case`Target.detachFromTarget`:case`Target.closeTarget`:return Promise.resolve({success:!0});case`Page.enable`:case`Runtime.enable`:case`DOM.enable`:case`Page.bringToFront`:return Promise.resolve({});case`Page.getFrameTree`:return Promise.resolve({frameTree:{frame:{id:c,loaderId:`cherry-loader`,url:typeof location<`u`?location.href:`about:blank`,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},childFrames:[]}});case`Runtime.createIsolatedWorld`:return Promise.resolve({executionContextId:1});default:return null}}synthesizeNavigationLifecycle(e,t){let n=e.frameId??c,r=t??(typeof location<`u`?location.href:`about:blank`);this.emit(`Page.frameNavigated`,{frame:{id:n,loaderId:`cherry-loader`,url:r,securityOrigin:this.opts.targetOrigin,mimeType:`text/html`},sessionId:o}),this.emit(`Page.loadEventFired`,{timestamp:Date.now()/1e3,sessionId:o})}handleMessage(e){if(!i(e,{allowOrigins:this.opts.allowOrigins,expectedSource:this.opts.counterpart,channelId:this.channelId})){r(e.data)&&a.warn(`Rejected a cherry envelope (origin/source/channel mismatch)`,{origin:e.origin,allowOrigins:this.opts.allowOrigins});return}let t=e.data;switch(t.kind){case`handshake.welcome`:this.connectTimer!==null&&(clearTimeout(this.connectTimer),this.connectTimer=null),this._state=`connected`,this._joinUrl=t.joinUrl??null,a.info(`Cherry handshake complete`,{channelId:this.channelId}),this.connectResolve?.(),this.connectResolve=null;return;case`cdp.response`:{let e=this.pending.get(t.id);if(!e)return;this.pending.delete(t.id),t.error?e.reject(Error(`Cherry CDP error: ${t.error.message} (${t.error.code})`)):e.resolve(t.result??{});return}case`cdp.event`:this.emit(t.method,{...t.params??{},sessionId:t.sessionId??o});return;case`host.event`:this.onHostEvent?.(t.name,t.detail);return;default:return}}},d=e(`cherry-boot`);async function f(){let e=[document.referrer?new URL(document.referrer).origin:location.origin],n=e[0],r=new u({counterpart:window.parent,allowOrigins:e,targetOrigin:n});await r.connect(),d.info(`Cherry transport connected`);let i=r.joinUrl;if(!i)throw Error(`cherry boot: no joinUrl from handshake`);return{transport:r,browser:new t(r),joinUrl:i}}export{f as setupCherryFollower};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{St as e,gt as t,h as n,m as r}from"./kernel-worker-3dJlBPKw.js";const i=`/.slicc-migrated`;async function a(e){let{manifest:t,source:n,target:r,logger:i}=e,a={fileCount:t.fileCount,totalBytes:t.totalBytes},c=t.entries.filter(e=>e.type===`dir`).sort((e,t)=>o(e.path)-o(t.path)),l=t.entries.filter(e=>e.type===`file`),u=t.entries.filter(e=>e.type===`symlink`);for(let e of c)try{await r.mkdir(e.path)}catch(e){return i?.warn?.(`[migration] mkdir failed during C2 copy`,{copiedFiles:0,stage:`mkdir`,code:s(e)}),{kind:`copy-error`,expected:a,copiedFiles:0,stage:`mkdir`}}let d=0;try{e.onProgress?.({copied:0,total:a.fileCount})}catch{}for(let t of l){if(t.type!==`file`)continue;let o;try{o=await n.readFile(t.path)}catch(e){return i?.warn?.(`[migration] legacy read failed during C2 copy`,{copiedFiles:d,stage:`read`,code:s(e)}),{kind:`copy-error`,expected:a,copiedFiles:d,stage:`read`}}try{await r.writeFile(t.path,o)}catch(e){return i?.warn?.(`[migration] OPFS write failed during C2 copy`,{copiedFiles:d,stage:`writeFile`,code:s(e)}),{kind:`copy-error`,expected:a,copiedFiles:d,stage:`writeFile`}}d++;try{e.onProgress?.({copied:d,total:a.fileCount})}catch{}}let f=0;for(let e of u)if(e.type===`symlink`)try{await r.symlink(e.target,e.path)}catch(e){if(s(e)===`EEXIST`){f++;continue}return i?.warn?.(`[migration] symlink failed during C2 copy`,{copiedFiles:d,stage:`symlink`,code:s(e)}),{kind:`copy-error`,expected:a,copiedFiles:d,stage:`symlink`}}if(f>0&&i?.info?.(`[migration] tolerated pre-existing symlinks during C2 re-run`,{skipped:f,symlinks:t.symlinkCount}),e.flushBeforeSentinel)try{await e.flushBeforeSentinel()}catch(e){return i?.warn?.(`[migration] sidecar flush failed before parity`,{code:s(e)}),{kind:`copy-error`,expected:a,copiedFiles:d,stage:`writeFile`}}let p=await e.countOpfsFiles(),m=p.totalBytes-a.totalBytes;return p.fileCount===a.fileCount?(m!==0&&i?.info?.(`[migration] byte drift tolerated (count parity matched)`,{expectedBytes:a.totalBytes,actualBytes:p.totalBytes,byteDelta:m}),await e.writeSentinel(),i?.info?.(`[migration] C2 copy complete, sentinel written`,{files:p.fileCount,totalBytes:p.totalBytes,expectedBytes:a.totalBytes,byteDelta:m,symlinks:t.symlinkCount,dirs:t.dirCount}),{kind:`success`,fileCount:p.fileCount,totalBytes:p.totalBytes}):(i?.warn?.(`[migration] parity mismatch — sentinel NOT written`,{expectedFiles:a.fileCount,actualFiles:p.fileCount,expectedBytes:a.totalBytes,actualBytes:p.totalBytes,byteDelta:m}),{kind:`parity-mismatch`,expected:a,actual:p})}function o(e){if(e===`/`)return 0;let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===47&&t++;return t}function s(e){let t=e?.code;return typeof t==`string`?t:void 0}const c=t(`migration-guard`);function l(){let e=globalThis;return{hasExtensionRuntime:typeof e.chrome?.runtime?.id==`string`,hasDocument:e.document!==void 0,pathname:e.window?.location?.pathname??``}}function u(e){return!e.hasExtensionRuntime||!e.hasDocument?!1:!/offscreen\.html$/.test(e.pathname)}var d=class extends Error{constructor(e){super(`runLegacyMigrationFromVfs invoked from the chrome extension side panel (pathname='${e.pathname}'). Migration must run only in the offscreen document; the panel should wait on the kernel-ready RPC (OffscreenClient.onReady).`),this.name=`MigrationFromSidePanelError`}};function f(e=l()){if(u(e)){let t=new d(e);throw c.error(t.message),t}}async function p(e,t={}){f(t.callerEnv);let r=t.logger,o=await n({sentinelExists:async()=>{try{return await e.stat(i),!0}catch{return!1}},probeLegacyDbExists:t.probeLegacyDbExists??y,lfsFactory:t.legacyLfsFactory??v,logger:r});if(o.kind===`sentinel-present`)return{kind:`sentinel-present`};if(o.kind===`legacy-absent`)return{kind:`legacy-absent`};let s=await(t.legacyReaderFactory??_)(),c=m(e);return{kind:`copied`,result:await a({manifest:o.manifest,source:s,target:c,countOpfsFiles:()=>g(e,o.manifest),flushBeforeSentinel:()=>e.flush().catch(()=>{}),writeSentinel:async()=>{await e.writeFile(i,``),await e.flush().catch(()=>{})},onProgress:t.onProgress,logger:r})}}function m(e){return{mkdir:async t=>{await e.mkdir(t,{recursive:!0})},writeFile:async(t,n)=>{await e.writeFile(t,n)},symlink:async(t,n)=>{try{await e.symlink(t,n);return}catch(e){if(h(e)!==`EEXIST`)throw e}let r;try{r=await e.readlink(n)}catch{}r!==t&&(await e.rm(n,{recursive:!0}),await e.symlink(t,n))}}}function h(e){let t=e?.code;return typeof t==`string`?t:void 0}async function g(e,t){let n=0,r=0;for(let i of t.entries){if(i.type!==`file`)continue;let t;try{t=await e.lstat(i.path)}catch{continue}t.type===`file`&&(n++,r+=t.size??0)}return{fileCount:n,totalBytes:r}}async function _(){let t=(await import(`./src-l2uxz6Ab.js`).then(t=>e(t.default,1))).default,n=new t(r).promises;return{readFile:async e=>{let t=await n.readFile(e);return t instanceof Uint8Array?t:new TextEncoder().encode(String(t))}}}async function v(){let t=(await import(`./src-l2uxz6Ab.js`).then(t=>e(t.default,1))).default;return new t(r).promises}async function y(){try{let e=globalThis.indexedDB;if(!e)return!1;let t=e.databases;return typeof t==`function`?(await t.call(e)).some(e=>e.name===r):!0}catch{return!0}}export{p as runLegacyMigrationFromVfs};
|