sliccy 3.34.0 → 3.35.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.
Files changed (115) hide show
  1. package/dist/ui/assets/{adobe-C_KbKd0n.js → adobe-BRQEfz1I.js} +2 -2
  2. package/dist/ui/assets/adobe-DqEEV7K5.js +1 -0
  3. package/dist/ui/assets/{agent-bridge-FF6kv2fb.js → agent-bridge--aoB7za4.js} +1 -1
  4. package/dist/ui/assets/{agent-message-to-chat-DkR9NV9t.js → agent-message-to-chat-Cf-PA3PL.js} +1 -1
  5. package/dist/ui/assets/{anthropic-DfZXQaUp.js → anthropic-CP-ouum5.js} +6 -6
  6. package/dist/ui/assets/anthropic-oHjoP5Qp.js +39 -0
  7. package/dist/ui/assets/{apps-BxS_QnGn.js → apps-P8w2nNUB.js} +2 -2
  8. package/dist/ui/assets/{azure-openai-Vm01DpT_.js → azure-openai-BDajo6ba.js} +1 -1
  9. package/dist/ui/assets/azure-openai-Dgh02LJw.js +1 -0
  10. package/dist/ui/assets/azure-openai-responses-BhEyP5io.js +1 -0
  11. package/dist/ui/assets/azure-openai-responses-D_Emnwqm.js +1 -0
  12. package/dist/ui/assets/{biome_wasm-CvSAK_uf.js → biome_wasm-Cj2t2Sqp.js} +1 -1
  13. package/dist/ui/assets/{bsh-watchdog-Du7KRjWw.js → bsh-watchdog-BHM3lIIW.js} +1 -1
  14. package/dist/ui/assets/{cdp-BMZH9kfw.js → cdp-DzsLEquc.js} +3 -3
  15. package/dist/ui/assets/{cdp-ws-page-bridge-DYY56Jqj.js → cdp-ws-page-bridge-Cq3dnPCj.js} +1 -1
  16. package/dist/ui/assets/{common-BG1B2pGi.js → common-Bes6Rp5g.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-0lxpf-5t.js → connect-surface-6MDb65af.js} +1 -1
  18. package/dist/ui/assets/cost-command-BJFKPD-9.js +1 -0
  19. package/dist/ui/assets/{dist-JjJ6duRw.js → dist-BR9SH6f-.js} +1 -1
  20. package/dist/ui/assets/{dist-CfHbsibs.js → dist-B_L1hx85.js} +1 -1
  21. package/dist/ui/assets/{dist-Yxhff45Z.js → dist-BvikTLzU.js} +1 -1
  22. package/dist/ui/assets/{dist-BanEKbJr.js → dist-iTrcpjMt.js} +4 -4
  23. package/dist/ui/assets/{es-CMFNtJSL.js → es-CcN0if_N.js} +4 -4
  24. package/dist/ui/assets/{follower-sprinkle-bridge-CszKWKEN.js → follower-sprinkle-bridge-BnXbVmXR.js} +1 -1
  25. package/dist/ui/assets/{github-lQAdGX0Z.js → github-BVkjHtni.js} +2 -2
  26. package/dist/ui/assets/{github-copilot-Hxxj6MFv.js → github-copilot-O8gRRubZ.js} +2 -2
  27. package/dist/ui/assets/github-copilot-r5E168qG.js +1 -0
  28. package/dist/ui/assets/{github-D5chbBco.js → github-kxRKas0e.js} +1 -1
  29. package/dist/ui/assets/google-C4UaifIA.js +1 -0
  30. package/dist/ui/assets/{google-6xMZvOez.js → google-DhgTyv3k.js} +1 -1
  31. package/dist/ui/assets/google-shared-CfTcRL_l.js +11 -0
  32. package/dist/ui/assets/google-shared-cbPEawjU.js +371 -0
  33. package/dist/ui/assets/{google-vertex-Dpr6tNZD.js → google-vertex-DCwY7SpP.js} +1 -1
  34. package/dist/ui/assets/{google-vertex-BHOYutHi.js → google-vertex-DrVy9tT-.js} +1 -1
  35. package/dist/ui/assets/{hosted-config-apply-LNWPnWio.js → hosted-config-apply-6JWS8OfU.js} +1 -1
  36. package/dist/ui/assets/{intercepted-oauth-D41iguEu.js → intercepted-oauth-BeA89evx.js} +1 -1
  37. package/dist/ui/assets/{kernel-worker-ApBe2nsN.js → kernel-worker-CsVAcCa0.js} +960 -960
  38. package/dist/ui/assets/lick-ws-bridge-BeO_NfAN.js +1 -0
  39. package/dist/ui/assets/{local-llm-BUHqKQIs.js → local-llm-BExlcRTe.js} +1 -1
  40. package/dist/ui/assets/{magick-wasm-WfPf-mzW.js → magick-wasm-52jtVvFN.js} +1 -1
  41. package/dist/ui/assets/{main-cherry-CvuKVZgJ.js → main-cherry-DDFIq_gA.js} +1 -1
  42. package/dist/ui/assets/{main-CiPLuc4Y.js → main-lrS_5wG0.js} +176 -176
  43. package/dist/ui/assets/{migration-run-CjK_K6H_.js → migration-run-Blb3KPMp.js} +1 -1
  44. package/dist/ui/assets/mistral-Bml5xQsA.js +46 -0
  45. package/dist/ui/assets/mistral-anetp8MW.js +46 -0
  46. package/dist/ui/assets/{nodejs-BOWNwnaN.js → nodejs-TWe3ARKT.js} +1 -1
  47. package/dist/ui/assets/{nuke-command-D8Fh0gbL.js → nuke-command-Be-RNfyH.js} +1 -1
  48. package/dist/ui/assets/{oauth-DLszIWW7.js → oauth-B68JgGW1.js} +1 -1
  49. package/dist/ui/assets/{oauth-bootstrap-Bkf6-I68.js → oauth-bootstrap-hbzMsWI8.js} +2 -2
  50. package/dist/ui/assets/{oauth-service-DclCNOyC.js → oauth-service-DUrh0AYU.js} +1 -1
  51. package/dist/ui/assets/{oauth-service-IRbgSoZf.js → oauth-service-DbPObLKr.js} +1 -1
  52. package/dist/ui/assets/{offscreen-client-WfjjyTww.js → offscreen-client-BujqsTo-.js} +1 -1
  53. package/dist/ui/assets/{onboarding-orchestrator-Cj4wwL1r.js → onboarding-orchestrator-BD4FQQVL.js} +1 -1
  54. package/dist/ui/assets/{openai-codex-o1t-m8rL.js → openai-codex-Cbrr6rGT.js} +1 -1
  55. package/dist/ui/assets/{openai-codex-DQpjVOFB.js → openai-codex-CxjIoboc.js} +1 -1
  56. package/dist/ui/assets/openai-codex-responses-C9vLfgL2.js +7 -0
  57. package/dist/ui/assets/openai-codex-responses-Ck2q17sa.js +7 -0
  58. package/dist/ui/assets/openai-completions-wICCJVuW.js +5 -0
  59. package/dist/ui/assets/openai-prompt-cache-DXo9f3w5.js +1 -0
  60. package/dist/ui/assets/openai-responses-Bjsbtb8-.js +1 -0
  61. package/dist/ui/assets/openai-responses-DxgM2J96.js +1 -0
  62. package/dist/ui/assets/{openai-responses-shared-S3zguGjk.js → openai-responses-shared-COkNR-Pr.js} +1 -1
  63. package/dist/ui/assets/{openai-responses-shared-yJFA8VNU.js → openai-responses-shared-DfPgySbe.js} +3 -3
  64. package/dist/ui/assets/openrouter-DJdg9hUw.js +1 -0
  65. package/dist/ui/assets/openrouter-DJeU4Mbk.js +1 -0
  66. package/dist/ui/assets/{panel-rpc-handlers-CkCiX7Tp.js → panel-rpc-handlers-CYxO9OxE.js} +1 -1
  67. package/dist/ui/assets/{provider-Cs2-iVKM.js → provider-D1Ft0Nb8.js} +2 -2
  68. package/dist/ui/assets/provider-p23r1B9g.js +1 -0
  69. package/dist/ui/assets/provider-store-access-BIempBYx.js +1 -0
  70. package/dist/ui/assets/provider-store-access-D-VyHV75.js +1 -0
  71. package/dist/ui/assets/{proxied-fetch-B31wB0pw.js → proxied-fetch-KHVJs3Kj.js} +1 -1
  72. package/dist/ui/assets/{pyodide-BXKIZesR.js → pyodide-BJTshnbo.js} +2 -2
  73. package/dist/ui/assets/{remote-terminal-view-D8Lym4ke.js → remote-terminal-view-D53aNTEz.js} +1 -1
  74. package/dist/ui/assets/{remote-vfs-client-CX-U7Vpk.js → remote-vfs-client-Cm2KnQKl.js} +1 -1
  75. package/dist/ui/assets/{secret-env-We7YhnkP.js → secret-env-ChcPNQmy.js} +1 -1
  76. package/dist/ui/assets/{slicc-editor-D1shQp3f.js → slicc-editor-CjKFECEG.js} +1 -1
  77. package/dist/ui/assets/{spawn-BROIpDuE.js → spawn-BQcHMJGU.js} +1 -1
  78. package/dist/ui/assets/{sql-wasm-BKOzFTaN.js → sql-wasm-C9SZBPLh.js} +2 -2
  79. package/dist/ui/assets/{src-LhD223BJ.js → src-Duh03CdO.js} +2 -2
  80. package/dist/ui/assets/{store-DcwzvMDt.js → store-gTLi8tdo.js} +1 -1
  81. package/dist/ui/assets/{tray-leave-runtime-D0wlJrCA.js → tray-leave-runtime-COlsOS8N.js} +1 -1
  82. package/dist/ui/assets/{typescript-BegR4udl.js → typescript-rk7H1_FE.js} +9 -9
  83. package/dist/ui/assets/upgrade-detection--HvC0q7X.js +1 -0
  84. package/dist/ui/assets/{web-VQMyUYjU.js → web-SsRbZ_tV.js} +1 -1
  85. package/dist/ui/assets/{writable-vfs-client-C-OKNpFf.js → writable-vfs-client-CmIlnwCv.js} +1 -1
  86. package/dist/ui/assets/{ws-subscribers-CWuwl3YA.js → ws-subscribers-CVS-pepL.js} +1 -1
  87. package/dist/ui/assets/{xai-grok-g5ns0DU5.js → xai-grok-BR7eM-uM.js} +1 -1
  88. package/dist/ui/assets/{xai-grok-DEMNJsqQ.js → xai-grok-C0k59tLJ.js} +1 -1
  89. package/dist/ui/index.html +1 -1
  90. package/dist/ui/packages/webapp/index.html +1 -1
  91. package/package.json +8 -6
  92. package/dist/ui/assets/adobe-BkTvvNWq.js +0 -1
  93. package/dist/ui/assets/anthropic-HYC-Omg5.js +0 -39
  94. package/dist/ui/assets/azure-openai-CLWQP72f.js +0 -1
  95. package/dist/ui/assets/azure-openai-responses-33r3NvaZ.js +0 -1
  96. package/dist/ui/assets/azure-openai-responses-DUgZZ6eN.js +0 -1
  97. package/dist/ui/assets/cost-command-DNDC9f5s.js +0 -1
  98. package/dist/ui/assets/github-copilot-DB_-fjnz.js +0 -1
  99. package/dist/ui/assets/google-CbHlbByo.js +0 -1
  100. package/dist/ui/assets/google-shared-CR-aIyZa.js +0 -11
  101. package/dist/ui/assets/google-shared-DX0yj3UK.js +0 -364
  102. package/dist/ui/assets/lick-ws-bridge-DLkh-q6E.js +0 -1
  103. package/dist/ui/assets/mistral-3BOt-kpO.js +0 -46
  104. package/dist/ui/assets/mistral-7zIzaf30.js +0 -46
  105. package/dist/ui/assets/openai-codex-responses-DGMmjslY.js +0 -7
  106. package/dist/ui/assets/openai-codex-responses-DhoTOdH3.js +0 -7
  107. package/dist/ui/assets/openai-completions-CTH4LB2F.js +0 -5
  108. package/dist/ui/assets/openai-responses-D68JIQf1.js +0 -1
  109. package/dist/ui/assets/openai-responses-Hs-gRUiN.js +0 -1
  110. package/dist/ui/assets/openrouter-B2BsIHza.js +0 -1
  111. package/dist/ui/assets/openrouter-UArPIjqO.js +0 -1
  112. package/dist/ui/assets/provider-BYq4p5If.js +0 -1
  113. package/dist/ui/assets/provider-store-access-G9HYvkSk.js +0 -1
  114. package/dist/ui/assets/provider-store-access-Mcnc2eQL.js +0 -1
  115. package/dist/ui/assets/upgrade-detection-fcwNs12W.js +0 -1
@@ -1 +1 @@
1
- import{St as e,gt as t,m as n,p as r}from"./kernel-worker-ApBe2nsN.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-LhD223BJ.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-LhD223BJ.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};
1
+ import{Ct as e,_t as t,h as n,m as r}from"./kernel-worker-CsVAcCa0.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-Duh03CdO.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-Duh03CdO.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};