sliccy 6.235.8 → 6.236.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/ui/.vite/manifest.json +182 -182
- package/dist/ui/assets/{account-store-DoIMTtzf.js → account-store-B0SZBaBz.js} +1 -1
- package/dist/ui/assets/{account-store-DKsqpYm9.js → account-store-DVqOBn6L.js} +1 -1
- package/dist/ui/assets/{adobe-GQ4jCUWt.js → adobe-BjoSx-f3.js} +1 -1
- package/dist/ui/assets/{adobe-BCZ9TxkN.js → adobe-xmGveWup.js} +1 -1
- package/dist/ui/assets/{agent-panels-Ds2L7Nk4.js → agent-panels-BZnz5hb1.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-BJx_RvgJ.js → almost-bash-shell-headless-DHHUMZjb.js} +28 -28
- package/dist/ui/assets/{apply-layout-6qq0oe_8.js → apply-layout-CnPhadDD.js} +1 -1
- package/dist/ui/assets/{apps-C52uxrUG.js → apps-BGYbZwBx.js} +1 -1
- package/dist/ui/assets/{azure-openai-DaXDld-u.js → azure-openai-BYZIz7wZ.js} +1 -1
- package/dist/ui/assets/{azure-openai-D2eNCLBr.js → azure-openai-DZ1j4RB2.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-BakHWEkW.js → backend-hostfs-owl2yNix.js} +1 -1
- package/dist/ui/assets/{cdp-Dn9oUaGc.js → cdp-2R7Q_1nW.js} +1 -1
- package/dist/ui/assets/{cerebras-YWXOjQM_.js → cerebras-DNLJPYnc.js} +1 -1
- package/dist/ui/assets/{cerebras-BYkJomvi.js → cerebras-g3jB4XMi.js} +1 -1
- package/dist/ui/assets/{composer-speech-DhFlN94o.js → composer-speech-DvQMslrH.js} +1 -1
- package/dist/ui/assets/{connect-surface-CSqjejD5.js → connect-surface-CIFlIYou.js} +1 -1
- package/dist/ui/assets/{directed-approval-BJ4zm82T.js → directed-approval-BgFCiL6E.js} +1 -1
- package/dist/ui/assets/{dist-HBVgABmW.js → dist-CH3AiPSl.js} +2 -3
- package/dist/ui/assets/{dist-SZE428w3.js → dist-DKZ_d5ft.js} +2 -3
- package/dist/ui/assets/{emscripten-vfs-hook-WCo2dGno.js → emscripten-vfs-hook-xMlRpdLI.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-Ca12G-8F.js → ensure-speech-assets-D-FO_G4X.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-C68X-wcA.js → frozen-archive-writer-Cc_5tusU.js} +1 -1
- package/dist/ui/assets/{fs-h7f6cvG7.js → fs-Bpfm64Em.js} +1 -1
- package/dist/ui/assets/{fs-DNhXEbbM.js → fs-qW9i-bg1.js} +2 -2
- package/dist/ui/assets/{gelatiere-unit-D0UzHXcb.js → gelatiere-unit-CBzchfle.js} +1 -1
- package/dist/ui/assets/{github-BAaOvNl6.js → github-Ba-iOhBc.js} +1 -1
- package/dist/ui/assets/{github-DYuoaZQ8.js → github-XRJ5U74m.js} +2 -2
- package/dist/ui/assets/{github-auth-DnNsVJ4H.js → github-auth-Blxk1kz9.js} +1 -1
- package/dist/ui/assets/{github-copilot-B47aNqrr.js → github-copilot-C-Y17ty_.js} +1 -1
- package/dist/ui/assets/{github-copilot-CyfVyMoF.js → github-copilot-DwklwNxb.js} +1 -1
- package/dist/ui/assets/{github-install-Ci0TeuQU.js → github-install-oUEyZc2F.js} +1 -1
- package/dist/ui/assets/{github-zip-CRFUMRz1.js → github-zip-Dg4RSOtp.js} +1 -1
- package/dist/ui/assets/{go-driver-BwzfMGeu.js → go-driver-DS6D_tfi.js} +1 -1
- package/dist/ui/assets/{hear-CMj4hRp-.js → hear-C_l6VKWZ.js} +1 -1
- package/dist/ui/assets/{help-BoehNgs7.js → help-EF_zeyEr.js} +1 -1
- package/dist/ui/assets/{installer-CIUsLY7C.js → installer-C6H-yVQO.js} +1 -1
- package/dist/ui/assets/{ipk-mamba-DZjezosN.js → ipk-mamba-CfSwj3yP.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-dRSIaKrO.js → js-realm-worker-B1CEe3a_.js} +2 -2
- package/dist/ui/assets/{jsh-executor-DlsGU55i.js → jsh-executor-CvrHFkOq.js} +2 -2
- package/dist/ui/assets/{kernel-worker-BQdjGSre.js → kernel-worker-7sXXD3HE.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-CVczx1ya.js → lick-ws-bridge-BVDq4kUa.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-BYLTj4fJ.js → lick-ws-bridge-H1C1lcuh.js} +1 -1
- package/dist/ui/assets/{live-session-curation-04z3B-uf.js → live-session-curation-C5uK7Fln.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-D_AKg7Yq.js → live-session-snapshot-ChqYu7pd.js} +1 -1
- package/dist/ui/assets/{local-llm-K1952yD_.js → local-llm-ClD4jmbi.js} +1 -1
- package/dist/ui/assets/{local-llm-CljSLNIK.js → local-llm-ebrhY1UO.js} +1 -1
- package/dist/ui/assets/{main-3E6J9HQ6.js → main-BcKq8pUj.js} +3 -3
- package/dist/ui/assets/{main-cherry-CSyIBKzV.js → main-cherry-W5F6WSVE.js} +1 -1
- package/dist/ui/assets/{mcp-command-X54bnjz-.js → mcp-command-BVQxzoaP.js} +12 -12
- package/dist/ui/assets/{memory-curation-seam-BtjSuXyF.js → memory-curation-seam-rtei0oMy.js} +1 -1
- package/dist/ui/assets/{memory-health-C5m7zDbA.js → memory-health-DR8NJju4.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-BAgMTm0U.js → memory-write-execute-B_SqcE8l.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-dW8AkbCx.js → merge-folded-cost-into-frozen-CPHbLf23.js} +1 -1
- package/dist/ui/assets/{mount-DPPjjHQF.js → mount-DTBIKBtA.js} +1 -1
- package/dist/ui/assets/{new-session-BOrS_Ub8.js → new-session-DMEJjF2L.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-DDeLecfM.js → oauth-bootstrap-tRELJk5P.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-DW19ct2k.js → onboarding-orchestrator-BdxQl3Hb.js} +1 -1
- package/dist/ui/assets/{openai-codex-bDUd2HsH.js → openai-codex-C_q5uOE_.js} +1 -1
- package/dist/ui/assets/{openai-codex-CRztqC6_.js → openai-codex-Cvfw1kmU.js} +1 -1
- package/dist/ui/assets/{openrouter-B9GkXstw.js → openrouter-CJ5LoUBy.js} +1 -1
- package/dist/ui/assets/{openrouter-De3G6EaE.js → openrouter-CeOUMqRj.js} +1 -1
- package/dist/ui/assets/{openrouter-free-BqWZFoFs.js → openrouter-free-CoQ_ZRr0.js} +1 -1
- package/dist/ui/assets/{openrouter-free-B3LrfpuJ.js → openrouter-free-DeTOFM41.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CQZB_YFD.js → openrouter-oauth-ByfQI9sa.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-D9O-RLBi.js → openrouter-oauth-CcwYrI__.js} +1 -1
- package/dist/ui/assets/{opfs-mount-VOC6C9lo.js → opfs-mount-B2OkpjpV.js} +1 -1
- package/dist/ui/assets/{opfs-mount-DEKiRz1s.js → opfs-mount-CFtfGC5C.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-BFPGSE8J.js → panel-rpc-handlers-BbMipuFv.js} +2 -2
- package/dist/ui/assets/{panelize-shell-B8J9VMq1.js → panelize-shell-CujJiTdi.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-C15B5JhQ.js → pi-edit-execution-BSFD03hL.js} +1 -1
- package/dist/ui/assets/{process-worker-Dkd94xZG.js → process-worker-Qo-KJQnm.js} +1 -1
- package/dist/ui/assets/{provider-Dgtn6lQq.js → provider-AUxEaASZ.js} +2 -2
- package/dist/ui/assets/{provider-D9kb8Znb.js → provider-DS9iWakd.js} +1 -1
- package/dist/ui/assets/{provider-settings-B50Nu6r0.js → provider-settings-CIvE0jx6.js} +1 -1
- package/dist/ui/assets/provider-store-access-DZoaZbxZ.js +1 -0
- package/dist/ui/assets/provider-store-access-yzGQ7d3D.js +1 -0
- package/dist/ui/assets/{providers-td0MRQ_9.js → providers-B2YRG4mo.js} +2 -2
- package/dist/ui/assets/{providers-DThv5XuY.js → providers-C11DeLzs.js} +1 -1
- package/dist/ui/assets/{quick-llm-vpEe-4o3.js → quick-llm-DBKSKmyW.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-C-z0QbaA.js → realm-inprocess-Cn-8XOTa.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-CLx1sKoP.js → realm-unhandled-rejections-CkZFmu3L.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-DKaT2S_s.js → realm-unhandled-rejections-D94aW11L.js} +1 -1
- package/dist/ui/assets/{recovery-screen-B3hsP7UA.js → recovery-screen-qwqwaOPe.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-D0axREho.js → remote-terminal-view-pqJhE74_.js} +2 -2
- package/dist/ui/assets/{restore-CqMAizSV.js → restore-CSI4is1g.js} +1 -1
- package/dist/ui/assets/run-BI9A9cl8.js +18 -0
- package/dist/ui/assets/{run-C36eR1Cq.js → run-BMgvV3mD.js} +1 -1
- package/dist/ui/assets/{run-ZjhLEhmz.js → run-CRsg5JNr.js} +1 -1
- package/dist/ui/assets/{run-oyj0EZfY.js → run-C_fKl4MV.js} +2 -2
- package/dist/ui/assets/{run-B7v2Y2Q1.js → run-DhZC6cXZ.js} +1 -1
- package/dist/ui/assets/{run-B45ip5WQ.js → run-yJ6Cm1Br.js} +2 -2
- package/dist/ui/assets/{session-command-memory-D-g0HKwG.js → session-command-memory-Y_8XLNvP.js} +2 -2
- package/dist/ui/assets/{session-jsonl-CEur_xIe.js → session-jsonl-CRHunzM-.js} +1 -1
- package/dist/ui/assets/{session-jsonl-DdMxujRB.js → session-jsonl-Cdm-S4g1.js} +1 -1
- package/dist/ui/assets/{session-search-index-BpiM4AeQ.js → session-search-index-DVk3Cm3e.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-Dcp59gKK.js → setup-feature-flags-remote-BCf-cHTh.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-C0YAqMAP.js → setup-model-catalog-DN_L1Hpo.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-V6jkyiM9.js → silent-renew-backoff-CuwzKzBU.js} +1 -1
- package/dist/ui/assets/slicc-version-CqHwtwSa.js +1 -0
- package/dist/ui/assets/{snapshot-CAOlURzo.js → snapshot-BzMeK9L0.js} +1 -1
- package/dist/ui/assets/{snapshot-features-BaMgsMgW.js → snapshot-features-DkjV6I9a.js} +1 -1
- package/dist/ui/assets/{soundscape-B-Vrh8zg.js → soundscape-CeXL0R4j.js} +1 -1
- package/dist/ui/assets/{speak-HMCYFeAm.js → speak-CUD18142.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-Cc-7Myxl.js → sprinkle-manager-Dl9rXGkO.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-C9QOj-m8.js → sprinkle-renderer-CWqp5eKE.js} +1 -1
- package/dist/ui/assets/{state-JJ6S_LTn.js → state-DtgzcA2P.js} +1 -1
- package/dist/ui/assets/{store-CTZqygF6.js → store-Bso4DY0i.js} +1 -1
- package/dist/ui/assets/{store-D4UsFKw4.js → store-DWDPftni.js} +1 -1
- package/dist/ui/assets/{sudo-BlFfbDq4.js → sudo-7-lHh4mC.js} +1 -1
- package/dist/ui/assets/{supervisor-C0et0amX.js → supervisor-B_4hHCm8.js} +1 -1
- package/dist/ui/assets/{sync-dialog-BTCe3RIN.js → sync-dialog-wAZOGDVC.js} +1 -1
- package/dist/ui/assets/{transformers-env-Cbw3ZLSO.js → transformers-env-DxhCWPNj.js} +1 -1
- package/dist/ui/assets/{tray-leader-DO8hGIWL.js → tray-leader-CQL__za0.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-Dwuf6b6S.js → tray-leave-runtime-klhY7mCb.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-HZD_qs95.js → tray-sidecar-BQBzj-vU.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-D__a5g4H.js → upgrade-detection-CFpP2ejJ.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-BiUXqy6K.js → upskill-lick-skip-LimHRqqL.js} +1 -1
- package/dist/ui/assets/{voice-reply-B_bl3yA0.js → voice-reply-BJaTMIFs.js} +1 -1
- package/dist/ui/assets/wasi-runtime-D50sf0fY.js +5 -0
- package/dist/ui/assets/{wc-attach-Oh03Xd9a.js → wc-attach-6lVuBToL.js} +2 -2
- package/dist/ui/assets/{wc-browser-CkZb3P94.js → wc-browser-DFLsiBZY.js} +1 -1
- package/dist/ui/assets/{wc-computers-DjR0QQaa.js → wc-computers-DDdfmLVs.js} +1 -1
- package/dist/ui/assets/{wc-detached-1mq7rIIU.js → wc-detached-POBFSBhq.js} +1 -1
- package/dist/ui/assets/{wc-extension-Bhp5moNc.js → wc-extension-CjVRvnB-.js} +2 -2
- package/dist/ui/assets/{wc-follower-CElSeSfu.js → wc-follower-0htiNJhm.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-BN9hsn0P.js → wc-follower-oauth-Dvl6pUun.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-Dfxejk6y.js → wc-gelatiere-TN9E-4YV.js} +1 -1
- package/dist/ui/assets/{wc-live-CWSG95vK.js → wc-live-CsG9aL8-.js} +5 -5
- package/dist/ui/assets/{wc-nav-CBabIJIZ.js → wc-nav-B6SaHjlX.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-ChUuJ5PQ.js → wc-onboarding-DlmEkfm8.js} +2 -2
- package/dist/ui/assets/{wc-permissions-CcP6cYsy.js → wc-permissions-Dg-WaX1E.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-B21ME3UF.js → wc-placeholder-Db0O4o_s.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-BP7WXjbu.js → wc-secret-request-BTucioOh.js} +1 -1
- package/dist/ui/assets/{wc-settings-4oWMucYy.js → wc-settings-CZkg12WQ.js} +3 -3
- package/dist/ui/assets/{wc-shell-BmjUHCSA.js → wc-shell-B1DRlJDQ.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-C9cnxw5d.js → wc-shortcut-config-o9Ssmytf.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-DNyxL2-i.js → wc-sprinkles-QieMho5j.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-BcVyK7wV.js → wc-transcript-export-CIFRM9gd.js} +2 -2
- package/dist/ui/assets/{wc-tray-BVSRs0z4.js → wc-tray-CqzgEPt7.js} +4 -4
- package/dist/ui/assets/welcome-detection-DdGdpieb.js +1 -0
- package/dist/ui/assets/{whisper-session-ceM6fjSx.js → whisper-session-C5gCocRl.js} +2 -2
- package/dist/ui/assets/{xai-grok-BUCdMBQ2.js → xai-grok-CMoQKCT4.js} +1 -1
- package/dist/ui/assets/{xai-grok-CmtGr1gF.js → xai-grok-CXv3ESRm.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/provider-store-access-CYYLP_ew.js +0 -1
- package/dist/ui/assets/provider-store-access-uvfRDrVO.js +0 -1
- package/dist/ui/assets/run-Bb3RvM_6.js +0 -18
- package/dist/ui/assets/slicc-version-DjhOimWX.js +0 -1
- package/dist/ui/assets/wasi-runtime-BsY0yyyZ.js +0 -5
- package/dist/ui/assets/welcome-detection-Ce0djVsO.js +0 -1
|
@@ -6,7 +6,6 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{t as r}f
|
|
|
6
6
|
`,vd=class extends u.default{entries=[];toString(){return _d+this.entries.map(e=>`${e.op.padEnd(gd)} ${e.path}`).join(`
|
|
7
7
|
`)}fromString(e){if(!e.startsWith(_d))throw T(C(`EINVAL`,`Invalid journal contents, refusing to parse`));for(let t of e.split(`
|
|
8
8
|
`)){if(t.startsWith(`#`))continue;let[e,n]=t.split(/\s+/);if(!hd(e)){E(`Unknown operation in journal (skipping): `+e);continue}this.entries.push({op:e,path:n})}return this}add(e,t){this.entries.push({op:e,path:t}),this.emit(`update`,e,t),this.emit(e,t)}has(e,t){let n=JSON.stringify({op:e,path:t});for(let e of this.entries)if(JSON.stringify(e)===n)return!0;return!1}delete(e,t){this.entries=this.entries.filter(n=>n.op!=e||n.path!=t)}isDeleted(e){let t=!1;for(let n of this.entries)n.path==e&&n.op===`delete`&&(t=!0);return t}},yd=class extends Sr{readable;writable;journal;async ready(){await this.readable.ready(),await this.writable.ready()}readySync(){this.readable.readySync(),this.writable.readySync()}constructor(e,t,n=new vd){if(super(1651862636,e.name),this.readable=e,this.writable=t,this.journal=n,t.attributes.has(`no_write`))throw T(C(`EINVAL`,`Writable file system can not be written to`));e.attributes.set(`no_write`)}isDeleted(e){return this.journal.isDeleted(e)}inos=new Map;_nextIno=1;renameInos(e,t){let n=[];for(let[r,i]of this.inos)r!=e&&!r.startsWith(e+`/`)||n.push({path:r,add:t+r.slice(e.length),ino:i});for(let e of n)this.inos.delete(e.path),this.inos.set(e.add,e.ino)}remapIno(e,t){let n=this.inos.get(e);return n===void 0&&(n=this._nextIno++,this.inos.set(e,n)),Object.assign(p(t,Zn),{attributes:t.attributes,ino:n})}usage(){return this.readable.usage()}async sync(){await this.writable.sync()}syncSync(){this.writable.syncSync()}async read(e,t,n,r){return await this.writable.exists(e)?await this.writable.read(e,t,n,r):await this.readable.read(e,t,n,r)}readSync(e,t,n,r){return this.writable.existsSync(e)?this.writable.readSync(e,t,n,r):this.readable.readSync(e,t,n,r)}async write(e,t,n){return await this.copyForWrite(e),await this.writable.write(e,t,n)}writeSync(e,t,n){return this.copyForWriteSync(e),this.writable.writeSync(e,t,n)}async rename(e,t){await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}await this.readable.exists(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}renameSync(e,t){this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}this.readable.existsSync(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}async stat(e){try{return this.remapIno(e,await this.writable.stat(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,await this.readable.stat(e))}}statSync(e){try{return this.remapIno(e,this.writable.statSync(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,this.readable.statSync(e))}}async touch(e,t){await this.copyForWrite(e,t.size),await this.writable.touch(e,t)}touchSync(e,t){this.copyForWriteSync(e,t.size),this.writable.touchSync(e,t)}async createFile(e,t){await this.createParentDirectories(e);let n=await this.writable.createFile(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}createFileSync(e,t){this.createParentDirectoriesSync(e);let n=this.writable.createFileSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async link(e,t){await this.copyForWrite(e),await this.writable.link(e,t),this.journal.delete(`delete`,t)}linkSync(e,t){this.copyForWriteSync(e),this.writable.linkSync(e,t),this.journal.delete(`delete`,t)}async unlink(e){if(!await this.exists(e))throw C(`ENOENT`);await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}unlinkSync(e){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}async rmdir(e){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(e)&&await this.writable.rmdir(e),!await this.exists(e)){this.inos.delete(e);return}if((await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}rmdirSync(e){if(!this.existsSync(e))throw C(`ENOENT`);if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),!this.existsSync(e)){this.inos.delete(e);return}if(this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}async mkdir(e,t){if(await this.exists(e))throw C(`EEXIST`);await this.createParentDirectories(e);let n=await this.writable.mkdir(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}mkdirSync(e,t){if(this.existsSync(e))throw C(`EEXIST`);this.createParentDirectoriesSync(e);let n=this.writable.mkdirSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async readdir(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=await this.readable.stat(e).catch(()=>null),n=await this.writable.stat(e).catch(()=>null);if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?await this.readable.readdir(e):[];if(n&&R(n))for(let t of await this.writable.readdir(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}readdirSync(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=null,n=null;try{t=this.readable.statSync(e)}catch{}try{n=this.writable.statSync(e)}catch{}if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?this.readable.readdirSync(e):[];if(n&&R(n))for(let t of this.writable.readdirSync(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}streamRead(e,t){return this.writable.existsSync(e)?this.writable.streamRead(e,t):this.readable.streamRead(e,t)}streamWrite(e,t){return this.copyForWriteSync(e),this.writable.streamWrite(e,t)}createParentDirectoriesSync(e){let t=[],n=te(C(`EDEADLK`));for(let n=N(e);!this.writable.existsSync(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())this.writable.mkdirSync(e,this.statSync(e))}async createParentDirectories(e){let t=[],n=te(C(`EDEADLK`,e));for(let n=N(e);!await this.writable.exists(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())await this.writable.mkdir(e,await this.stat(e))}copyForWriteSync(e,t){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(N(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e,t)}async copyForWrite(e,t){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(N(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e,t)}copyToWritableSync(e,t){let n=this.readable.statSync(e);if(R(n)){this.writable.mkdirSync(e,n);for(let t of this.readable.readdirSync(e))this.copyToWritableSync(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&this.readable.readSync(e,i,0,r),this.writable.createFileSync(e,n),this.writable.touchSync(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&this.writable.writeSync(e,i,0)}async copyToWritable(e,t){let n=await this.readable.stat(e);if(R(n)){await this.writable.mkdir(e,n);for(let t of await this.readable.readdir(e))await this.copyToWritable(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&await this.readable.read(e,i,0,r),await this.writable.createFile(e,n),await this.writable.touch(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&await this.writable.write(e,i,0)}},bd={name:`CopyOnWrite`,options:{writable:{type:`object`,required:!0},readable:{type:`object`,required:!0},journal:{type:`object`,required:!1}},async create(e){return new yd(await rd(e.readable),await rd(e.writable),e.journal)}},xd=new Map;async function Sd(e,t={},n=!1){let r=await fetch(e,t).catch(e=>{throw{tag:`fetch`,message:e.message}});if(!r.ok)throw{tag:`status`,response:r};let i=await r.arrayBuffer().catch(e=>{if(!n)throw{tag:`buffer`,response:r,message:e.message}});return{response:r,data:i?new Uint8Array(i):void 0}}async function Cd(e,t,n={}){let r=new Request(e,n);if(typeof t.start!=`number`||typeof t.end!=`number`){let{data:r}=await Sd(e,n);return new s(e,r.byteLength,t,xd).add(r,0),r}if(typeof t.size!=`number`){t.warn?.(e+`: Size not provided, an additional HEAD request is being made`);let{headers:n}=await fetch(r,{method:`HEAD`}),i=parseInt(n.get(`Content-Length`)??``);if(typeof i!=`number`)throw{tag:`size`,message:`Response is missing content-length header and no size was provided`};t.size=i}let{size:i,start:a,end:o}=t,c=xd.get(e)??new s(e,i,t,xd);r.headers.set(`If-Range`,new Date().toUTCString());for(let{start:n,end:l}of c.missing(a,o)){let{data:u,response:d}=await Sd(r,{headers:{Range:`bytes=${n}-${l}`}});if(d.status==206){c.add(u,n);continue}return t.warn?.(e+`: Remote does not support range requests with bytes. Falling back to full data.`),new s(e,i,t,xd).add(u,0),u.subarray(a,o)}c.collect();let l=c.regionAt(a);return l.data.subarray(a-l.offset,o-l.offset)}function wd(e,t){let n=xd.get(e);if(!n)return t.size?{data:new Uint8Array,missing:[{start:0,end:t.size??0}]}:(t.warn?.(e+`: Size not provided and cache is empty, can not determine missing range`),{data:void 0,missing:[]});let{start:r=0,end:i=n.size}=t,a=new Uint8Array(i-r);for(let e of n.regions)if(!(e.offset+e.data.byteLength<=r)){if(e.offset>=i)break;for(let t of e.ranges){if(t.end<=r)continue;if(t.start>=i)break;let n=Math.max(t.start,r),o=Math.min(t.end,i);n>=o||a.set(e.data.subarray(n-e.offset,o-e.offset),n-r)}}return{data:a,missing:n.missing(r,i)}}async function Td(e,t,n,r={}){xd.has(e)||new s(e,n.size??t.byteLength,n,xd);let i=xd.get(e),{offset:a=0,method:o=`POST`}=n;if(!n.cacheOnly){let n=new Headers(r.headers||{});if(n.get(`Content-Type`)||n.set(`Content-Type`,`application/octet-stream`),!n.get(`Content-Range`)&&(a!==0||t.byteLength!==i.size)){let e=a,r=a+t.byteLength-1,o=Math.max(i.size,r+1);n.set(`Content-Range`,`bytes ${e}-${r}/${o}`)}await Sd(new Request(e,{...r,method:o,headers:n,body:t.buffer instanceof ArrayBuffer?t:Uint8Array.from(t)}),{},!0)}i.add(t,a)}async function Ed(e,t={},n={}){t.cacheOnly||await Sd(new Request(e,n),{method:`DELETE`},!0),xd.delete(e)}var Dd=class extends Sr{index;constructor(e,t,n=new lr){super(e,t),this.index=n}usage(){return this.index.usage()}pathsForRename(e,t){if(!this.index.has(e))throw C(`ENOENT`);if((N(t)+`/`).startsWith(e+`/`))throw C(`EBUSY`);let n=[];for(let[r,i]of this.index.entries()){let a=Pn(e,r);if(a.startsWith(`..`))continue;let o=M(t,a);o.endsWith(`/`)&&(o=o.slice(0,-1)),n.push({from:r,to:o,inode:i})}return n.sort((e,t)=>t.from.length-e.from.length),n}async rename(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);await this.read(e,n,0,i.size),r.set(t,n),this.index.delete(e),await this.remove(e),this.index.has(t)&&await this.remove(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?await this._mkdir?.(e,t):await this.write(e,n,0)}}renameSync(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);this.readSync(e,n,0,i.size),r.set(t,n),this.index.delete(e),this.removeSync(e),this.index.has(t)&&this.removeSync(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?this._mkdirSync?.(e,t):this.writeSync(e,n,0)}}async stat(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}statSync(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}async touch(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}touchSync(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}_remove(e,t){let n=this.index.get(e);if(!n)throw C(`ENOENT`);let r=(n.mode&O)==mt;if(!r&&!t)throw C(`ENOTDIR`);if(r&&t)throw C(`EISDIR`);r||this.index.delete(e)}async unlink(e){this._remove(e,!0),await this.remove(e)}unlinkSync(e){this._remove(e,!0),this.removeSync(e)}async rmdir(e){if(this._remove(e,!1),(await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.index.delete(e),await this.remove(e)}rmdirSync(e){if(this._remove(e,!1),this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.index.delete(e),this.removeSync(e)}create(e,t){if(this.index.has(e))throw C(`EEXIST`);let n=this.index.get(N(e));if(!n)throw C(`ENOENT`);let r=this.index._alloc(),i=new L({ino:r,data:r+1,mode:t.mode,size:0,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid,nlink:1});return this.index.set(e,i),i}async createFile(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return await this._create?.(e,n),n}catch(t){throw this.index.delete(e),t}}createFileSync(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return this._createSync?.(e,n),n}catch(t){throw this.index.delete(e),t}}async mkdir(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return await this._mkdir?.(e,t),n}mkdirSync(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return this._mkdirSync?.(e,t),n}link(){throw C(`ENOSYS`)}linkSync(){throw C(`ENOSYS`)}async readdir(e){return Object.keys(this.index.directoryEntries(e))}readdirSync(e){return Object.keys(this.index.directoryEntries(e))}async sync(){}syncSync(){}};function Od(e){if(!(`tag`in e))throw T(C(`EIO`,e.stack));switch(e.tag){case`fetch`:throw T(C(`EREMOTEIO`,e.message));case`status`:throw T(C(e.response.status>500?`EREMOTEIO`:`EIO`,`Response status code is `+e.response.status));case`size`:throw T(C(`EBADE`,e.message));case`buffer`:throw T(C(`EIO`,`Failed to decode buffer`))}}var kd=class extends Dd{baseUrl;requestInit;remoteWrite;_asyncDone=Promise.resolve();_async(e){this._asyncDone=this._asyncDone.then(()=>e).catch(e=>Ee(`Async operation failed: `+(e.message??e)))}constructor(e,t,n={},r){super(544106099,`nfs`,e),this.baseUrl=t,this.requestInit=n,this.remoteWrite=r}resize(e,t,n){if(R(t)||t.size==n)return;let r=this.baseUrl+e,i=xd.get(r)??new s(r,n,{},xd);if(i.size=t.size,t.size<n)return;let a=new Uint8Array(t.size-n);if(i.add(a,n),this.remoteWrite)return Td(r,a,{offset:n,warn:E},this.requestInit).catch(Od)}async _create(e,t){await Td(this.baseUrl+e,new Uint8Array(t.size),{warn:E,cacheOnly:!this.remoteWrite,method:`PUT`},this.requestInit).catch(Od)}_createSync(e,t){this._async(this._create(e,t))}async touch(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t),await this.resize(e,n,r)}touchSync(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t);let i=this.resize(e,n,r);i&&this._async(i)}async remove(e){await Ed(this.baseUrl+e,{warn:E,cacheOnly:!this.remoteWrite},this.requestInit)}removeSync(e){this._async(this.remove(e))}async read(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let a=await Cd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit).catch(Od).catch(()=>void 0);if(!a)throw C(`ENODATA`);t.set(a)}readSync(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let{data:a,missing:o}=wd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E});if(!a)throw C(`ENODATA`);if(o.length)throw this._async(Cd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit)),C(`EAGAIN`);t.set(a)}async write(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),await Td(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(Od)}writeSync(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),this._async(Td(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(Od))}},Ad={name:`Fetch`,options:{index:{type:[`string`,`object`],required:!1},baseUrl:{type:`string`,required:!0},requestInit:{type:`object`,required:!1},remoteWrite:{type:`boolean`,required:!1}},isAvailable(){return typeof globalThis.fetch==`function`},async create(e){let t=new URL(e.baseUrl);t.pathname=j(t.pathname);let n=t.toString();n.at(-1)==`/`&&(n=n.slice(0,-1)),e.index??=`index.json`;let r=new lr;if(typeof e.index!=`string`)r.fromJSON(e.index);else{let t=await Cd(e.index,{warn:E},e.requestInit).catch(Od);r.fromJSON(JSON.parse(ce(t)))}let i=new kd(r,n,e.requestInit,e.remoteWrite);if(e.disableAsyncCache)return i;for(let[t,i]of r)i.mode&32768&&await Cd(n+t,{warn:E},e.requestInit).catch(Od);return i}},jd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Md=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Nd=class extends Sr{nodeFS;prefix;constructor(e,t){super(1852793957,`nodefs`),this.nodeFS=e,this.prefix=t}usage(){let e=this.nodeFS.statfsSync(this.prefix);return{totalSpace:e.bsize*e.blocks,freeSpace:e.bsize*e.bfree}}path(e){return this.prefix+e}async rename(e,t){await this.nodeFS.promises.rename(this.path(e),this.path(t))}renameSync(e,t){this.nodeFS.renameSync(this.path(e),this.path(t))}async stat(e){return await this.nodeFS.promises.stat(this.path(e))}statSync(e){return this.nodeFS.statSync(this.path(e))}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=jd(n,await this.nodeFS.promises.open(this.path(e),`r`),!0);await r.chmod(t.mode);try{await r.chown(t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}catch(e){n.error=e,n.hasError=!0}finally{let e=Md(n);e&&await e}}touchSync(e,t){this.nodeFS.chmodSync(this.path(e),t.mode);try{this.nodeFS.chownSync(this.path(e),t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}async unlink(e){await this.nodeFS.promises.unlink(this.path(e))}unlinkSync(e){this.nodeFS.unlinkSync(this.path(e))}async mkdir(e,t){return await this.nodeFS.promises.mkdir(this.path(e),t),await this.nodeFS.promises.stat(this.path(e))}mkdirSync(e,t){return this.nodeFS.mkdirSync(this.path(e),t),this.nodeFS.statSync(this.path(e))}async readdir(e){return await this.nodeFS.promises.readdir(this.path(e))}readdirSync(e){return this.nodeFS.readdirSync(this.path(e))}async createFile(e,t){if(R(t))await this.nodeFS.promises.mkdir(this.path(e),{mode:t.mode});else{let t={stack:[],error:void 0,hasError:!1};try{await jd(t,await this.nodeFS.promises.open(this.path(e),`wx`),!0).close()}catch(e){t.error=e,t.hasError=!0}finally{let e=Md(t);e&&await e}}return await this.nodeFS.promises.stat(this.path(e))}createFileSync(e,t){if(R(t))this.nodeFS.mkdirSync(this.path(e),{mode:t.mode});else{let t=this.nodeFS.openSync(this.path(e),`wx`);this.nodeFS.closeSync(t)}return this.nodeFS.statSync(this.path(e))}async rmdir(e){await this.nodeFS.promises.rmdir(this.path(e))}rmdirSync(e){this.nodeFS.rmdirSync(this.path(e))}async sync(){E(`Sync on passthrough is unnecessary`)}syncSync(){E(`Sync on passthrough is unnecessary`)}async link(e,t){await this.nodeFS.promises.link(this.path(e),this.path(t))}linkSync(e,t){this.nodeFS.linkSync(this.path(e),this.path(t))}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{await jd(i,await this.nodeFS.promises.open(this.path(e),`r`),!0).read({buffer:t,offset:n,length:r-n})}catch(e){i.error=e,i.hasError=!0}finally{let e=Md(i);e&&await e}}readSync(e,t,n,r){let i=this.nodeFS.openSync(this.path(e),`r`);try{this.nodeFS.readSync(i,t,{offset:n,length:r-n})}finally{this.nodeFS.closeSync(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{await jd(r,await this.nodeFS.promises.open(this.path(e),`w`),!0).write(t,n)}catch(e){r.error=e,r.hasError=!0}finally{let e=Md(r);e&&await e}}writeSync(e,t,n){let r=this.nodeFS.openSync(this.path(e),`w`);try{this.nodeFS.writeSync(r,t,n)}finally{this.nodeFS.closeSync(r)}}},Pd={name:`Passthrough`,options:{fs:{type:`object`,required:!0},prefix:{type:`string`,required:!0}},create({fs:e,prefix:t}){return new Nd(e,t)}},Fd=t({attach:()=>Yd,catchMessages:()=>Zd,decodeMessage:()=>Ud,detach:()=>Xd,encodeMessage:()=>Hd,from:()=>Bd,fromNode:()=>Rd,fromWeb:()=>Ld,fromWebSocket:()=>zd,handleRequest:()=>Qd,handleResponse:()=>Jd,isMessage:()=>Wd,isPort:()=>Id,request:()=>qd});function Id(e){return typeof e==`object`&&!!e&&`channel`in e&&`send`in e&&`addHandler`in e&&`removeHandler`in e}function Ld(e){let t=new Map;return{channel:e,send:e.postMessage.bind(e),addHandler(n){let r=e=>n(e.data);t.set(n,r),e.addEventListener(`message`,r)},removeHandler(n){e.removeEventListener(`message`,t.get(n))}}}function Rd(e){return{channel:e,send:e.postMessage.bind(e),addHandler:e.on.bind(e,`message`),removeHandler:e.off.bind(e,`message`)}}function zd(e){return{channel:e,send(t){e.send(Hd(t))},addHandler(t){e.addEventListener(`message`,e=>{t(Ud(e.data))})},removeHandler(t){e.removeEventListener(`message`,e=>{t(Ud(e.data))})}}}function Bd(e){if(Id(e))return e;if(e instanceof WebSocket)return zd(e);if(`on`in e)return Rd(e);if(`addEventListener`in e)return Ld(e);throw T(C(`EINVAL`,`Invalid port type`))}var Vd=1;function Hd(e){return`Z${Vd}${JSON.stringify(e,(e,t)=>{if(e!=`_zenfs`)return t instanceof Uint8Array?`$`+t.toBase64():t})}`}function Ud(e){if(!e.startsWith(`Z`))return{};e=e.slice(1);let t=parseInt(e);if(isNaN(t))return E(`Ignoring encoded message with missing version`),{};if(e=e.slice(t.toString().length),!h(e))return E(`Ignoring encoded message with invalid JSON`),{};if(t!=Vd)throw T(C(`EPROTONOSUPPORT`,`Version mismatch in RPC message encoding (got ${t}, expected ${Vd})`));return{...JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`$`)?Uint8Array.fromBase64(t.slice(1)):t),_zenfs:!0}}function Wd(e){return typeof e==`object`&&!!e&&`_zenfs`in e&&!!e._zenfs}function Gd(e){let t=Kd.get(e);t&&(t.timeout&&(clearTimeout(t.timeout),typeof t.timeout==`object`&&t.timeout.unref()),Kd.delete(e))}var Kd=new Map;function qd(e,{port:t,timeout:n=1e3,fs:r}){let i=`
|
|
9
|
-
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Gd(c),o(e)},n)};return Kd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Jd(e){if(!Wd(e))return;if(!Kd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Kd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Gd(e.id),n(t);return}Gd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Yd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function Xd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Zd(e){let t=[],n=t.push.bind(t);return Yd(e,n),async function(r){Xd(e,n);for(let n of t)await Qd(e,r,`data`in n?n.data:n)}}async function Qd(e,t,n){if(!Wd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}var $d=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],ef=1048576;function tf(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Dr&&this instanceof Dr){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>ef)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=ef||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this.rename
|
|
10
|
-
`).slice(t).join(`
|
|
11
|
-
`);return i.includes(`at <computed> [as ${e}]`)||i.includes(`at async <computed> [as ${e}]`)||i.includes(`${e}Sync `)}this[e]=async(...r)=>{let i=await t(...r);if(n(2))return i;if(!this._isInitialized)return this._skippedCacheUpdates++,i;try{if(this._mirrorMetaOnly(e,r))return i;e===`write`&&this._prepareMetaWrite(r[0],r[2]),this._sync?.[`${e}Sync`]?.(...r),this._followMetaOnly(e,r)}catch(e){if(n(3,e))return i;throw e.message+=` (Out of sync!)`,T(e)}return i}}Ee(`Async: patched ${t.length} methods`)}}return t}var nf=class extends tf(Sr){channel;timeout;port;_sync=jr.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Bd(e),Yd(this.port,Jd)}rpc(e,...t){return qd({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function rf(e,t){let n=Bd(e);Yd(n,e=>Qd(n,t,e))}function af(e,t){let n=Bd(e);Xd(n,e=>Qd(n,t,e))}var of={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new nf(e.port,e.timeout)}};async function sf(e,t,n=0){let r=Bd(e),i=Zd(r),a=await rd(t,n);return rf(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},cf=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},lf=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),uf=e=>`0x`+e.toString(16).padStart(8,`0`),{format:df}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`}),ff=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${uf(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),pf=255,mf=5,hf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ff,pf))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${uf(this.byteOffset)}>`;let t=[`---- Metadata block at ${uf(this.byteOffset)} ----`,`Checksum: ${uf(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${uf(this.previous_offset)}`,`Entries:`].join(`
|
|
9
|
+
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Gd(c),o(e)},n)};return Kd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Jd(e){if(!Wd(e))return;if(!Kd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Kd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Gd(e.id),n(t);return}Gd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Yd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function Xd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Zd(e){let t=[],n=t.push.bind(t);return Yd(e,n),async function(r){Xd(e,n);for(let n of t)await Qd(e,r,`data`in n?n.data:n)}}async function Qd(e,t,n){if(!Wd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}var $d=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],ef=1048576;function tf(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_replay(e,...t){return(this._zenfsOriginals?.[e]??this[e].bind(this))(...t)}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Dr&&this instanceof Dr){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>ef)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=ef||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this._replay(`rename`,e,t))}statSync(e){return this.checkSync(),this._sync.statSync(e)}touchSync(e,t){this.checkSync(),this._sync.touchSync(e,t),this._async(()=>this._replay(`touch`,e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this._replay(`createFile`,e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this._replay(`unlink`,e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this._replay(`rmdir`,e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this._replay(`mkdir`,e,t)),n}readdirSync(e){return this.checkSync(),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(),this._sync.linkSync(e,t),this._async(()=>this._replay(`link`,e,t))}async sync(){!this.attributes.has(`no_async_preload`)&&this._sync&&this._sync.syncSync(),await this._promise.catch(()=>{})}syncSync(){this.checkSync(),this._sync.syncSync()}existsSync(e){return this.checkSync(),this._sync.existsSync(e)}readSync(e,t,n,r){if(this.checkSync(),this._metaOnly?.has(e))throw C(`EIO`,`sync mirror has no payload for ${e}`);this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._prepareMetaWrite(e,n),this._sync.writeSync(e,t,n),this._async(()=>this._replay(`write`,e,t,n))}ioctlSync(e,t,...n){return this.checkSync(),this._sync.ioctlSync(e,t,...n)}streamWrite(e,t){this.checkSync();let n=this._sync.streamWrite(e,t).getWriter(),r=super.streamWrite(e,t).getWriter();return new WritableStream({async write(e,t){await Promise.all([n.write(e),r.write(e)]).catch(t.error.bind(t))},async close(){await Promise.all([n.close(),r.close()])},async abort(e){await Promise.all([n.abort(e),r.abort(e)])}})}_crossCopySemaphore;async crossCopy(e,t={failure:null}){try{if(t.failure)throw t.failure.error;this.checkSync();let n=await this.stat(e);if(t.failure)throw t.failure.error;if(!R(n)){if(n.size>ef){this._metaOnly??=new Set,this._metaOnly.add(e),this._sync.createFileSync(e,n),this._sync.touchSync(e,{...n,metaOnly:!0});return}let r=await this._crossCopySemaphore?.get()||{[Symbol.dispose](){}};try{if(t.failure)throw t.failure.error;this._sync.createFileSync(e,n);let r=new Uint8Array(n.size);await this.read(e,r,0,n.size),this._sync.writeSync(e,r,0),this._sync.touchSync(e,n)}catch(e){throw t.failure??={error:e},t.failure.error}finally{r[Symbol.dispose]()}return}e!==`/`&&(this._sync.mkdirSync(e,n),this._sync.touchSync(e,n));let r=[];for(let n of await this.readdir(e)){if(t.failure)break;r.push(this.crossCopy(M(e,n),t))}if(await Promise.allSettled(r),t.failure)throw t.failure.error}catch(e){throw t.failure??={error:e},t.failure.error}}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=$d.filter(t=>!e.includes(t)),n=e=>`zenfsMirror_${e}`,r=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`)||t.includes(`${e}Sync `)||t.includes(`${e}Sync@`),i=e=>{let t=(e?.stack??``).split(`
|
|
10
|
+
`).filter(Boolean);return t.slice(1).some(e=>/^\s*at /.test(e))&&!/^\s*at /.test(t[0]??``)&&t.shift(),t},a=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`),o=(e,t)=>{let n=i(t);return n.slice(n.findIndex(t=>a(e,t))+1)},s=e=>o(e,Error()).some(t=>r(e,t)),c=(e,t)=>o(e,t).some(e=>e.includes(`zenfsMirror_`)||e.includes(`<computed> [as `)),l=async(e,t,n)=>{let r=await t(...n);if(s(e))return r;if(!this._isInitialized)return this._skippedCacheUpdates++,r;try{if(this._mirrorMetaOnly(e,n))return r;e===`write`&&this._prepareMetaWrite(n[0],n[2]),this._sync?.[`${e}Sync`]?.(...n),this._followMetaOnly(e,n)}catch(t){if(c(e,t))return r;throw t.message+=` (Out of sync!)`,T(t)}return r},u={};this._zenfsOriginals=u;let d={async zenfsMirror_rename(...e){return await l(`rename`,u.rename,e)},async zenfsMirror_stat(...e){return await l(`stat`,u.stat,e)},async zenfsMirror_touch(...e){return await l(`touch`,u.touch,e)},async zenfsMirror_createFile(...e){return await l(`createFile`,u.createFile,e)},async zenfsMirror_unlink(...e){return await l(`unlink`,u.unlink,e)},async zenfsMirror_rmdir(...e){return await l(`rmdir`,u.rmdir,e)},async zenfsMirror_mkdir(...e){return await l(`mkdir`,u.mkdir,e)},async zenfsMirror_readdir(...e){return await l(`readdir`,u.readdir,e)},async zenfsMirror_exists(...e){return await l(`exists`,u.exists,e)},async zenfsMirror_link(...e){return await l(`link`,u.link,e)},async zenfsMirror_sync(...e){return await l(`sync`,u.sync,e)},async zenfsMirror_read(...e){return await l(`read`,u.read,e)},async zenfsMirror_write(...e){return await l(`write`,u.write,e)},async zenfsMirror_ioctl(...e){return await l(`ioctl`,u.ioctl,e)}};for(let e of t){u[e]=this[e].bind(this);let t=d[n(e)];if(!t)throw Error(`Async: no mirror wrapper for ${e}`);this[e]=t}Ee(`Async: patched ${t.length} methods`)}}return t}var nf=class extends tf(Sr){channel;timeout;port;_sync=jr.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Bd(e),Yd(this.port,Jd)}rpc(e,...t){return qd({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function rf(e,t){let n=Bd(e);Yd(n,e=>Qd(n,t,e))}function af(e,t){let n=Bd(e);Xd(n,e=>Qd(n,t,e))}var of={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new nf(e.port,e.timeout)}};async function sf(e,t,n=0){let r=Bd(e),i=Zd(r),a=await rd(t,n);return rf(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},cf=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},lf=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),uf=e=>`0x`+e.toString(16).padStart(8,`0`),{format:df}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`}),ff=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${uf(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),pf=255,mf=5,hf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ff,pf))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${uf(this.byteOffset)}>`;let t=[`---- Metadata block at ${uf(this.byteOffset)} ----`,`Checksum: ${uf(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${uf(this.previous_offset)}`,`Entries:`].join(`
|
|
12
11
|
`);for(let e of this.items)e.offset&&(t+=`\n\t${uf(e.id)}: ${df(e.size).padStart(5)} at ${uf(e.offset)}`);return t}#i=(X(this,ne),X(this,ie,void 0));get locked(){return this.#i}set locked(e){this.#i=e}waitUnlocked(e=0){if(e>mf)throw Ce(C(`EBUSY`,`sbfs: exceeded max attempts waiting for metadata block at ${uf(this.byteOffset)} to be unlocked`));if(Atomics.load(this,oe.lockIndex))switch(Atomics.wait(this,oe.lockIndex,1)){case`ok`:break;case`not-equal`:return e++,T(`sbfs: waiting for metadata block at ${uf(this.byteOffset)} to be unlocked (${e}/${mf})`),this.waitUnlocked(e);case`timed-out`:throw Ce(C(`EBUSY`,`sbfs: timed out waiting for metadata block at ${uf(this.byteOffset)} to be unlocked`))}}lock(){this.waitUnlocked(),Atomics.store(this,oe.lockIndex,1);let e=()=>{Atomics.store(this,oe.lockIndex,0),Atomics.notify(this,oe.lockIndex,1)};return e[Symbol.dispose]=e,e}constructor(){super(...arguments),X(this,ae)}static{X(s,o)}};return oe=s})();Object.assign(hf,{lockIndex:nn(hf,`locked`)/Int32Array.BYTES_PER_ELEMENT});var gf=1651715706,_f=2,vf=(()=>{var e,t,n,r,i,a,o,s,c,l;let u=[cn.packed()],d,f=[],p,m=dn.typed(BigUint64Array),h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[],oe,v=[],se=[],ce,le=[],ue=[],de,y=[],pe=[],b,x=[],S=[],me,he=[],w=[],ge,_e=[],ve=[],ye,be=[],xe=[],Se,we=[],Te=[],De,Oe=[],ke=[],Ae,je=[],Me=[];var Ne=class extends m{static{p=this}static{let fe=typeof Symbol==`function`&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;h=[(e=A).uint32.bind(e)],te=[(t=A).uint32.bind(t)],re=[(n=A).uint16.bind(n)],oe=[(r=A).uint16.bind(r)],ce=[(i=A).uint32.bind(i)],de=[(a=A).uint64.bind(a)],b=[(o=A).uint64.bind(o)],me=[A.uint8(16)],ge=[(s=A).uint32.bind(s)],ye=[(c=A).uint32.bind(c)],Se=[(l=A).uint32.bind(l)],De=[A.char(64)],Ae=[A.char(132)],Y(this,null,h,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:fe},g,ee),Y(this,null,te,{kind:`accessor`,name:`magic`,static:!1,private:!1,access:{has:e=>`magic`in e,get:e=>e.magic,set:(e,t)=>{e.magic=t}},metadata:fe},_,ne),Y(this,null,re,{kind:`accessor`,name:`version`,static:!1,private:!1,access:{has:e=>`version`in e,get:e=>e.version,set:(e,t)=>{e.version=t}},metadata:fe},ie,ae),Y(this,null,oe,{kind:`accessor`,name:`inode_format`,static:!1,private:!1,access:{has:e=>`inode_format`in e,get:e=>e.inode_format,set:(e,t)=>{e.inode_format=t}},metadata:fe},v,se),Y(this,null,ce,{kind:`accessor`,name:`flags`,static:!1,private:!1,access:{has:e=>`flags`in e,get:e=>e.flags,set:(e,t)=>{e.flags=t}},metadata:fe},le,ue),Y(this,null,de,{kind:`accessor`,name:`used_bytes`,static:!1,private:!1,access:{has:e=>`used_bytes`in e,get:e=>e.used_bytes,set:(e,t)=>{e.used_bytes=t}},metadata:fe},y,pe),Y(this,null,b,{kind:`accessor`,name:`total_bytes`,static:!1,private:!1,access:{has:e=>`total_bytes`in e,get:e=>e.total_bytes,set:(e,t)=>{e.total_bytes=t}},metadata:fe},x,S),Y(this,null,me,{kind:`accessor`,name:`uuid`,static:!1,private:!1,access:{has:e=>`uuid`in e,get:e=>e.uuid,set:(e,t)=>{e.uuid=t}},metadata:fe},he,w),Y(this,null,ge,{kind:`accessor`,name:`metadata_block_size`,static:!1,private:!1,access:{has:e=>`metadata_block_size`in e,get:e=>e.metadata_block_size,set:(e,t)=>{e.metadata_block_size=t}},metadata:fe},_e,ve),Y(this,null,ye,{kind:`accessor`,name:`metadata_offset_`,static:!1,private:!1,access:{has:e=>`metadata_offset_`in e,get:e=>e.metadata_offset_,set:(e,t)=>{e.metadata_offset_=t}},metadata:fe},be,xe),Y(this,null,Se,{kind:`accessor`,name:`metadata_offset`,static:!1,private:!1,access:{has:e=>`metadata_offset`in e,get:e=>e.metadata_offset,set:(e,t)=>{e.metadata_offset=t}},metadata:fe},we,Te),Y(this,null,De,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:fe},Oe,ke),Y(this,null,Ae,{kind:`accessor`,name:`_padding`,static:!1,private:!1,access:{has:e=>`_padding`in e,get:e=>e._padding,set:(e,t)=>{e._padding=t}},metadata:fe},je,Me),Y(null,d={value:p},u,{kind:`class`,name:p.name,metadata:fe},null,f),Ne=p=d.value,fe&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:fe})}static name=`SuperBlock`;constructor(...e){if(super(...e),X(this,Me),this.magic!=gf){E(`sbfs: Invalid magic value, assuming this is a fresh super block`);let e=new hf(this.buffer,k(Ne));Object.assign(this,{metadata:e,metadata_offset:e.byteOffset,used_bytes:BigInt(k(Ne)+k(hf)),total_bytes:BigInt(this.buffer.byteLength),magic:gf,version:1,inode_format:5,metadata_block_size:k(hf),uuid:fe(crypto.randomUUID())}),xf(this),xf(e);return}if(this.checksum!==bf(this))throw Ce(C(`EIO`,`sbfs: checksum mismatch for super block`));if(this.metadata=new hf(this.buffer,this.metadata_offset),this.metadata.checksum!==bf(this.metadata))throw Ce(C(`EIO`,`sbfs: checksum mismatch for metadata block (saved ${uf(this.metadata.checksum)}, computed ${uf(bf(this.metadata))})`));if(this.inode_format!=5)throw Ce(C(`EIO`,`sbfs: inode format mismatch`));if(this.metadata_block_size!=k(hf))throw Ce(C(`EIO`,`sbfs: metadata block size mismatch`))}#e=X(this,g,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,ee),X(this,_,void 0));get magic(){return this.#t}set magic(e){this.#t=e}#n=(X(this,ne),X(this,ie,void 0));get version(){return this.#n}set version(e){this.#n=e}#r=(X(this,ae),X(this,v,void 0));get inode_format(){return this.#r}set inode_format(e){this.#r=e}#i=(X(this,se),X(this,le,void 0));get flags(){return this.#i}set flags(e){this.#i=e}#a=(X(this,ue),X(this,y,void 0));get used_bytes(){return this.#a}set used_bytes(e){this.#a=e}#o=(X(this,pe),X(this,x,void 0));get total_bytes(){return this.#o}set total_bytes(e){this.#o=e}#s=(X(this,S),X(this,he,void 0));get uuid(){return this.#s}set uuid(e){this.#s=e}#c=(X(this,w),X(this,_e,void 0));get metadata_block_size(){return this.#c}set metadata_block_size(e){this.#c=e}#l=(X(this,ve),X(this,be,void 0));get metadata_offset_(){return this.#l}set metadata_offset_(e){this.#l=e}#u=(X(this,xe),X(this,we,void 0));get metadata_offset(){return this.#u}set metadata_offset(e){this.#u=e}metadata=X(this,Te);#d=X(this,Oe,void 0);get label(){return this.#d}set label(e){this.#d=e}#f=(X(this,ke),X(this,je,void 0));get _padding(){return this.#f}set _padding(e){this.#f=e}rotateMetadata(){let e=BigInt(Int32Array.BYTES_PER_ELEMENT),t=BigInt(k(hf)),n=Atomics.load(this,_f),r;for(;;){let i=(e-n%e)%e;r=n+i;let a=r+t;if(a>this.total_bytes)throw T(C(`ENOSPC`,`sbfs: not enough space for a new metadata block`));let o=Atomics.compareExchange(this,_f,n,a);if(o===n)break;n=o}let i=new hf(this.buffer,Number(r)),a=new Uint32Array(this.buffer,this.byteOffset,k(Ne)/Uint32Array.BYTES_PER_ELEMENT),o=Atomics.load(a,yf);for(;;){i.previous_offset=o,xf(i);let e=Atomics.compareExchange(a,yf,o,i.byteOffset);if(e===o)break;o=e}return this.metadata=i,xf(this),Ee(`sbfs: rotated metadata block at ${uf(i.previous_offset)} with new block at ${uf(i.byteOffset)}`),i}isUnused(e,t){if(!t)return!0;if(e+t>this.total_bytes||e<k(Ne))return!1;for(let n=this.metadata;n;n=n.previous){if(e<n.byteOffset+k(hf)&&e+t>n.byteOffset)return!1;for(let r of n.items)if(r.offset&&(e>=r.offset&&e<r.offset+r.size||e+t>r.offset&&e+t<=r.offset+r.size||e<=r.offset&&e+t>=r.offset+r.size))return!1}return!0}static{X(p,f)}};return Ne=p})(),yf=nn(vf,`metadata_offset`)/Uint32Array.BYTES_PER_ELEMENT;function bf(e){let t=k(e)-4;return e instanceof hf&&(t-=Int32Array.BYTES_PER_ELEMENT),l(new Uint8Array(e.buffer,e.byteOffset+4,t))}function xf(e){e instanceof hf&&(e.timestamp=BigInt(Date.now())),e.checksum=bf(e)}var Sf=class extends a{flags=[];name=`sbfs`;type=1935828595;get uuid(){return de(this.superblock.uuid)}superblock;_view;_u8;constructor(...e){if(super(...e),this.byteLength<k(vf)+k(hf))throw Ce(C(`EINVAL`,`sbfs: Buffer is too small for a file system`));this._view=new DataView(this.buffer,this.byteOffset,this.byteLength),this._u8=new Uint8Array(this.buffer,this.byteOffset,this.byteLength),this.superblock=new vf(this.buffer,this.byteOffset)}*keys(){let e=new Set;for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)!n.offset||e.has(n.id)||(e.add(n.id),yield n.id)}}get(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items){if(!n.offset||n.id!=e)continue;let t=this.byteOffset+n.offset;return new Uint8Array(this.buffer.slice(t,t+n.size))}}}set(e,t){let n={stack:[],error:void 0,hasError:!1};try{if(e===0&&t.length<k(L))throw Se(C(`EIO`,`sbfs: tried to set ${t.length} bytes for id 0!`));for(let n=this.superblock.metadata;n;n=n.previous){n.waitUnlocked();for(let r of n.items){let i={stack:[],error:void 0,hasError:!1};try{if(!r.offset||r.id!=e)continue;if(cf(i,n.lock(),!1),t.length==r.size){this._u8.set(t,r.offset);return}if(t.length<r.size||this.superblock.isUnused(r.offset,t.length)){this._u8.set(t,r.offset),r.size=t.length,xf(n);return}r.offset=Number(Atomics.add(this.superblock,_f,BigInt(t.length))),r.size=t.length,this._u8.set(t,r.offset),xf(n),xf(this.superblock);return}catch(e){i.error=e,i.hasError=!0}finally{lf(i)}}}let r=Array.from(this.superblock.metadata.items).find(e=>!e.offset);r||=(this.superblock.rotateMetadata(),this.superblock.metadata.items[0]),cf(n,this.superblock.metadata.lock(),!1);let i=Number(Atomics.add(this.superblock,_f,BigInt(t.length)));r.id=e,r.offset=i,r.size=t.length,this._u8.set(t,i),xf(this.superblock.metadata),xf(this.superblock)}catch(e){n.error=e,n.hasError=!0}finally{lf(n)}}delete(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)if(n.id==e){n.offset=0,n.size=0,n.id=0,xf(t);return}}}_fs;get fs(){return this._fs}set fs(e){this.buffer.constructor.name===`SharedArrayBuffer`&&e?.attributes.set(`no_id_tables`,!0),this._fs=e}sync(){return Promise.resolve()}usage(){return{totalSpace:Number(this.superblock.total_bytes),freeSpace:Number(this.superblock.total_bytes-this.superblock.used_bytes)}}transaction(){return new Or(this)}},Cf={name:`SingleBuffer`,options:{buffer:{type:`object`,required:!0}},create(e){let t=new Dr(ArrayBuffer.isView(e.buffer)?new Sf(e.buffer.buffer,e.buffer.byteOffset,e.buffer.byteLength):new Sf(e.buffer));return t.checkRootSync(),t}},Z=()=>{};function wf(e,t,n=Z){xu.call(this,e,t).then(()=>n(null)).catch(n)}function Tf(e,t=Z){Su.call(this,e).then(t).catch(()=>t(!1))}function Ef(e,t,n=Z){n=typeof t==`function`?t:n,Cu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function Df(e,t,n=Z){n=typeof t==`function`?t:n,wu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function Of(e,t=0,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`number`?t:0;Tu.call(this,e,r).then(()=>n(null)).catch(n)}function kf(e,t=Z){Eu.call(this,e).then(()=>t(null)).catch(t)}function Af(e,t,n,r=Z){let i=_n(n,420);r=typeof n==`function`?n:r,Du.call(this,e,t,i).then(e=>r(null,e.fd)).catch(r)}function jf(e,t,n=Z){n=typeof t==`function`?t:n,Ou.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Mf(e,t,n,r=Z){r=typeof n==`function`?n:r,ku.call(this,e,t,typeof n==`function`?null:n).then(()=>r(null)).catch(r)}function Nf(e,t,n,r=Z){let i=typeof n==`function`?void 0:n;r=typeof n==`function`?n:r,Au.call(this,e,t,i).then(()=>r(null)).catch(r)}function Pf(e,t,n=Z){n=typeof t==`function`?t:n,new bu(this,e).stat().then(e=>n(null,typeof t==`object`&&t?.bigint?new Un(e):e)).catch(n)}function Ff(e,t=Z){new bu(this,e).close().then(()=>t(null)).catch(t)}function If(e,t,n=Z){let r=typeof t==`number`?t:0;n=typeof t==`function`?t:n;let i=new bu(this,e);if(r<0)throw C(`EINVAL`);i.truncate(r).then(()=>n(null)).catch(n)}function Lf(e,t=Z){new bu(this,e).sync().then(()=>t(null)).catch(t)}function Rf(e,t=Z){new bu(this,e).datasync().then(()=>t(null)).catch(t)}function zf(e,t,n,r,i,a=Z){let o,s,c,l,u,d=new bu(this,e),f=[n,r,i].find(e=>typeof e==`function`)??a;typeof t==`string`?(l=typeof n==`number`?n:null,u=typeof r==`string`?r:`utf8`,o=H.Buffer.from(t,u),s=0,c=o.byteLength):(o=H.Buffer.from(t.buffer,t.byteOffset,t.byteLength),s=typeof n==`number`?n:0,c=typeof r==`number`?r:o.byteLength-s,l=typeof i==`number`?i:null),d.write(o,s,c,l).then(({bytesWritten:e})=>f(null,e,typeof t==`string`?t:o)).catch(f)}function Bf(e,t,n,r,i,a=Z){new bu(this,e).read(t,n,r,i).then(({bytesRead:e,buffer:t})=>a(null,e,t)).catch(a)}function Vf(e,t,n,r=Z){new bu(this,e).chown(t,n).then(()=>r(null)).catch(r)}function Hf(e,t,n){new bu(this,e).chmod(t).then(()=>n(null)).catch(n)}function Uf(e,t,n,r=Z){new bu(this,e).utimes(t,n).then(()=>r(null)).catch(r)}function Wf(e,t=Z){ju.call(this,e).then(()=>t(null)).catch(t)}function Gf(e,t,n=Z){Mu.call(this,e,t).then(()=>n(null)).catch(n)}function Kf(e,t,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`function`?{}:t;Nu.call(this,e,r).then(e=>n(null,e)).catch(n)}function qf(e,t,n=Z){Pu.call(this,e,t).then(()=>n(null)).catch(n)}function Jf(e,t,n,r=Z){let i=typeof n==`string`?n:`file`;r=typeof n==`function`?n:r,Fu.call(this,e,t,i).then(()=>r(null)).catch(r)}function Yf(e,t,n=Z){n=typeof t==`function`?t:n,Iu.call(this,e).then(e=>n(null,e)).catch(n)}function Xf(e,t,n,r=Z){Lu.call(this,e,t,n).then(()=>r(null)).catch(r)}function Zf(e,t,n,r=Z){Ru.call(this,e,t,n).then(()=>r(null)).catch(r)}function Qf(e,t,n=Z){zu.call(this,e,t).then(()=>n(null)).catch(n)}function $f(e,t,n=Z){Bu.call(this,e,t).then(()=>n(null)).catch(n)}function ep(e,t,n,r=Z){Vu.call(this,e,t,n).then(()=>r(null)).catch(r)}function tp(e,t,n,r=Z){Hu.call(this,e,t,n).then(()=>r(null)).catch(r)}function np(e,t,n=Z){n=typeof t==`function`?t:n,Uu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function rp(e,t,n=Z){let r=typeof t==`number`?t:4;n=typeof t==`function`?t:n,Gu.call(this,e,r).then(()=>n(null)).catch(n)}var ip=new Map;function ap(e,t,n){let r=j.call(this,e),i=typeof t==`function`?{}:t;if(typeof t==`function`&&(n=t),!n)throw S(`EINVAL`,`watch`,e.toString());if(ip.has(r)){let e=ip.get(r);e&&e.listeners.add(n);return}let a=new Ra(this,r,i);a.on(`change`,(e,t)=>{let n=ip.get(r);if(n)for(let r of n.listeners)r(e,t)}),ip.set(r,{watcher:a,listeners:new Set([n])})}function op(e,t=Z){let n=j.call(this,e),r=ip.get(n);r&&(t&&t!==Z?r.listeners.delete(t):r.listeners.clear(),r.listeners.size===0&&(r.watcher.stop(),ip.delete(n)))}function sp(e,t,n){let r=new La(this,j.call(this,e),typeof t==`object`?t:{});return n=typeof t==`function`?t:n,r.on(`change`,n||Z),r}function cp(e,t){t=typeof t==`object`?t:{encoding:t};let n=Du.call(this,e,`r`,t?.mode);return new pu({...t,autoClose:!0,signal:t?.signal??void 0},n)}function lp(e,t){t=typeof t==`object`?t:{encoding:t};let n=Du.call(this,e,`w`,t?.mode);return new mu(t,n)}function up(e,t,n=Z){n=typeof t==`function`?t:n,Ku.call(this,e,typeof t==`function`?void 0:t).then(()=>n(null)).catch(n)}function dp(e,t,n=Z){n=typeof t==`function`?t:n,qu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function fp(e,t,n,r=Z){r=typeof n==`function`?n:r,Yu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function pp(e,t,n,r=Z){r=typeof n==`function`?n:r,new bu(this,e).readv(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesRead:t})=>r(null,t,e)).catch(r)}function mp(e,t,n,r=Z){r=typeof n==`function`?n:r,new bu(this,e).writev(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesWritten:t})=>r(null,t,e)).catch(r)}function hp(e,t,n=Z){n=typeof t==`function`?t:n,Xu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}function gp(e,t,n,r=Z){r=typeof n==`function`?n:r,Zu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function _p(e,t,n=Z){n=typeof t==`function`?t:n,Qu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}async function vp(e,t){let n=await Du.call(this,e.toString(),`r`),r=await n.readFile();return await n.close(),new Blob([r],t)}function yp(e,t,n=Z){n=typeof t==`function`?t:n;let r=$u.call(this,e,typeof t==`function`?void 0:t);Array.fromAsync(r).then(e=>n(null,e??[])).catch(e=>n(e))}function bp(e,t){return Object.assign(Error(t),{code:e})}function xp(e,t,n){return bp(`ERR_INVALID_ARG_TYPE`,`The "${e}" argument must be of type ${t}. Received ${typeof n}`)}function Sp(e){return bp(`ERR_INVALID_STATE`,`Invalid state: `+e)}function Cp(e,t){if(typeof e!=`number`)throw xp(t,`number`,e);if(!Number.isInteger(e)||e<0||e>4294967295)throw bp(`ERR_OUT_OF_RANGE`,`The value of "${t}" is out of range. It must be an integer >= 0 and <= 4294967295. Received ${e}`)}var wp=16384,Tp=100,Ep=H.Buffer.alloc(0),Dp={open:Af,openSync:Yi,close:Ff,write:zf,writeSync:oa,fsync:Lf,fsyncSync:ia,mkdir:Gf,mkdirSync:fa};function Op(e,t,n){if(typeof e==`string`){if(H.Buffer.byteLength(e)===n)n=e.length;else{let t=H.Buffer.from(e);for(;n>0&&(t[n]&192)==128;)n--;n=t.subarray(0,n).toString().length}}return{writingBuf:e.slice(n),len:Math.max(t-n,0)}}function kp(e,t){return e.length?e.length==1?e[0]:H.Buffer.concat(e,t):Ep}var Ap=Symbol(`Utf8StreamFS`),jp=class extends u.default{#e=0;#t=-1;#n=[];#r=[];#i=!1;#a=!1;#o=!1;#s=!1;#c=!1;#l=16387;#u=null;#d=!1;#f=0;#p=0;#m=wp;#h=!1;#g=0;#_;#v=!1;#y=!1;#b=!0;#x;#S=()=>!0;#C=!1;#w;#T=``;#E;static[Ap]=Dp;static _withContext(e){Xe(e);class t extends jp{static[Ap]=ee(Dp,e)}return t}constructor(e={}){if(typeof e!=`object`||!e)throw xp(`options`,`object`,e);let{dest:t,minLength:n,maxLength:r,maxWrite:i,periodicFlush:a,sync:o,append:s=!0,mkdir:c,retryEAGAIN:l,fsync:u,contentMode:d=`utf8`,mode:f,fs:p={}}=e;super();let m=e.fd??t;if(typeof p!=`object`||!p)throw xp(`options.fs`,`object`,p);this.#E={...this.constructor[Ap],...p};let h=this.#E;for(let e of[`write`,`writeSync`,`fsync`,`fsyncSync`,`close`,`open`,`mkdir`,`mkdirSync`])if(typeof h[e]!=`function`)throw xp(`options.fs.${e}`,`function`,h[e]);this.#l=Math.max(n||0,this.#l),this.#f=n||0,this.#p=r||0,this.#m=i||wp,this.#g=a||0,this.#v=o||!1,this.#y=u||!1,this.#b=s||!1,this.#x=f,this.#S=l||(()=>!0),this.#C=c||!1,Cp(this.#l,`options.hwm`),Cp(this.#f,`options.minLength`),Cp(this.#p,`options.maxLength`),Cp(this.#m,`options.maxWrite`),Cp(this.#g,`options.periodicFlush`);for(let[e,t]of[[`sync`,this.#v],[`fsync`,this.#y],[`append`,this.#b],[`mkdir`,this.#C]])if(typeof t!=`boolean`)throw xp(`options.${e}`,`boolean`,t);if(typeof this.#S!=`function`)throw xp(`options.retryEAGAIN`,`function`,this.#S);if(d!=`buffer`&&d!=`utf8`)throw bp(`ERR_INVALID_ARG_VALUE`,`The property 'options.contentMode' must be one of: 'buffer', 'utf8'. Received ${JSON.stringify(d)}`);if(this.#w=d,this.#T=d==`buffer`?Ep:``,typeof m==`number`)this.#t=m,queueMicrotask(()=>this.emit(`ready`));else if(typeof m==`string`)this.#N(m);else throw xp(`fd`,`number or string`,m);if(this.#f>=this.#m)throw bp(`ERR_INVALID_ARG_VALUE`,`The argument 'minLength' should be smaller than maxWrite (${this.#m}). Received ${this.#f}`);this.#g!==0&&(this.#_=setInterval(()=>this.flush(),this.#g),this.#_.unref?.())}write(e){if(this.#d)throw Sp(`Utf8Stream is destroyed`);if(this.#w==`buffer`){if(!H.Buffer.isBuffer(e))throw xp(`data`,`Buffer`,e)}else if(typeof e!=`string`)throw xp(`data`,`string`,e);let t=this.#e+e.length;if(this.#p&&t>this.#p)return this.emit(`drop`,e),this.#e<this.#l;let n=this.#n.length-1;if(this.#w==`buffer`){let t=this.#n;!t.length||this.#r[n]+e.length>this.#m?(t.push([e]),this.#r.push(e.length)):(t[n].push(e),this.#r[n]+=e.length)}else{let t=this.#n;!t.length||t[n].length+e.length>this.#m?t.push(e):t[n]+=e}return this.#e=t,!this.#i&&this.#e>=this.#f&&this.#F(),this.#e<this.#l}flush(e){if(e!=null&&typeof e!=`function`)throw xp(`cb`,`function`,e);if(this.#d){let t=Sp(`Utf8Stream is destroyed`);if(!e)throw t;e(t);return}if(this.#f<=0){e?.(null);return}e&&this.#I(e),!this.#i&&(this.#n.length||(this.#n.push(this.#w==`buffer`?[]:``),this.#w==`buffer`&&this.#r.push(0)),this.#F())}flushSync(){if(this.#d)throw Sp(`Utf8Stream is destroyed`);if(this.#t<0)throw Sp(`Invalid file descriptor`);this.#w==`buffer`?this.#D():this.#O()}#D(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift([this.#T]),this.#T=Ep);let t=Ep;for(;e.length||t.length;){t.length<=0&&(t=kp(e[0],this.#r[0]));let n=this.#E.writeSync(this.#t,t);t=t.subarray(n),this.#e=Math.max(this.#e-n,0),t.length<=0&&(e.shift(),this.#r.shift())}}#O(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift(this.#T),this.#T=``);let t=``;for(;e.length||t;){t.length<=0&&(t=e[0]);let n=this.#E.writeSync(this.#t,t,`utf8`),r=Op(t,this.#e,n);t=r.writingBuf,this.#e=r.len,t.length<=0&&e.shift()}try{this.#E.fsyncSync(this.#t)}catch{}}reopen(e){if(this.#d)throw Sp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.reopen(e));return}if(this.#a)return;if(!this.#u)throw bp(`ERR_OPERATION_FAILED`,`Unable to reopen a file descriptor, you must pass a file to Utf8Stream`);if(e&&(this.#u=e.toString()),this.#o=!0,this.#i)return;let t=this.#t;this.once(`ready`,()=>{t!==this.#t&&this.#E.close(t,e=>{e&&this.emit(`error`,e)})}),this.#N(this.#u)}end(){if(this.#d)throw Sp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.end());return}this.#a||(this.#a=!0,!this.#i&&(this.#e>0&&this.#t>=0?this.#F():this.#P()))}destroy(){this.#d||this.#P()}get mode(){return this.#x}get file(){return this.#u}get fd(){return this.#t}get minLength(){return this.#f}get maxLength(){return this.#p}get writing(){return this.#i}get sync(){return this.#v}get fsync(){return this.#y}get append(){return this.#b}get periodicFlush(){return this.#g}get contentMode(){return this.#w}get mkdir(){return this.#C}[Symbol.dispose](){this.destroy()}#k(){this.listenerCount(`drain`)&&(this.#s=!1,this.emit(`drain`))}#A(e,t=0){if(e){!this.#v&&(e.code===`EAGAIN`||e.code===`EBUSY`)&&this.#S(e,this.#T.length,this.#e-this.#T.length)?setTimeout(()=>this.#j(),Tp):(this.#i=!1,this.emit(`error`,e));return}this.emit(`write`,t);let n=Op(this.#T,this.#e,t);if(this.#e=n.len,this.#T=n.writingBuf,this.#T.length){if(!this.#v){this.#j();return}try{do{let e=this.#M(),t=Op(this.#T,this.#e,e);this.#e=t.len,this.#T=t.writingBuf}while(this.#T.length)}catch(e){this.#A(e);return}}this.#y&&this.#E.fsyncSync(this.#t);let r=this.#e;this.#o?(this.#i=!1,this.#o=!1,this.reopen()):r>this.#f?this.#F():this.#a?r>0?this.#F():(this.#i=!1,this.#P()):(this.#i=!1,this.#v?this.#s||(this.#s=!0,queueMicrotask(()=>this.#k())):this.emit(`drain`))}#j(){this.#w==`buffer`?this.#E.write(this.#t,this.#T,(e,t)=>this.#A(e,t)):this.#E.write(this.#t,this.#T,`utf8`,(e,t)=>this.#A(e,t))}#M(){return this.#w==`buffer`?this.#E.writeSync(this.#t,this.#T):this.#E.writeSync(this.#t,this.#T,`utf8`)}#N(e){this.#h=!0,this.#i=!0,this.#s=!1;let t=(t,n=-1)=>{if(t){this.#o=!1,this.#i=!1,this.#h=!1,this.#v?queueMicrotask(()=>void(this.listenerCount(`error`)&&this.emit(`error`,t))):this.emit(`error`,t);return}let r=this.#o;this.#t=n,this.#u=e,this.#o=!1,this.#h=!1,this.#i=!1,this.#v?queueMicrotask(()=>this.emit(`ready`)):this.emit(`ready`),!this.#d&&(!this.#i&&this.#e>this.#f||this.#c?this.#F():r&&queueMicrotask(()=>this.emit(`drain`)))},n=this.#b?`a`:`w`,r=this.#x??438;if(this.#v)try{this.#C&&this.#E.mkdirSync(N(e),{recursive:!0}),t(null,this.#E.openSync(e,n,r))}catch(e){throw t(e),e}else this.#C?this.#E.mkdir(N(e),{recursive:!0},i=>{if(i)return t(i);this.#E.open(e,n,r,t)}):this.#E.open(e,n,r,t)}#P(){if(this.#t===-1){this.once(`ready`,()=>this.#P());return}this.#_!==void 0&&clearInterval(this.#_),this.#d=!0,this.#n=[],this.#r=[];let e=e=>{if(e){this.emit(`error`,e);return}this.#a&&!this.#i&&this.emit(`finish`),this.emit(`close`)},t=()=>{this.#t!==1&&this.#t!==2?this.#E.close(this.#t,e):e(null)};try{this.#E.fsync(this.#t,t)}catch{}}#F(){if(this.#i=!0,this.#w==`buffer`?this.#T=this.#T.length?this.#T:kp(this.#n.shift()??[],this.#r.shift()??0):this.#T||=this.#n.shift()||``,!this.#v){this.#j();return}try{this.#A(null,this.#M())}catch(e){this.#A(e)}}#I(e){this.#c=!0;let t=()=>{if(this.#y||this.#d)this.#c=!1,e(null);else try{this.#E.fsync(this.#t,t=>{this.#c=!1,e(t?.code==`EBADF`?null:t)})}catch(t){this.#c=!1,e(t)}this.off(`error`,n)},n=n=>{this.#c=!1,e(n),this.off(`drain`,t)};this.once(`drain`,t),this.once(`error`,n)}on(e,t,n){return e===`drain`&&(this.#s=!1),super.on(e,t,n)}addListener(e,t,n){return this.on(e,t,n)}once(e,t,n){return e===`drain`&&(this.#s=!1),super.once(e,t,n)}off(e,t,n,r){return super.off(e,t,n,r)}removeListener(e,t,n,r){return super.removeListener(e,t,n,r)}setMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.setMaxListeners`)}getMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.getMaxListeners`)}prependListener(){throw S(`ENOSYS`,`Utf8Stream.prependListener`)}prependOnceListener(){throw S(`ENOSYS`,`Utf8Stream.prependOnceListener`)}rawListeners(){throw S(`ENOSYS`,`Utf8Stream.rawListeners`)}},Mp=t({BigIntStatsFs:()=>Kn,Dir:()=>Bi,Dirent:()=>Ri,ReadStream:()=>pu,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>jp,WriteStream:()=>mu,access:()=>rp,accessSync:()=>wa,appendFile:()=>Nf,appendFileSync:()=>ea,chmod:()=>Qf,chmodSync:()=>ya,chown:()=>Xf,chownSync:()=>_a,close:()=>Ff,closeSync:()=>na,constants:()=>et,copyFile:()=>fp,copyFileSync:()=>Oa,cp:()=>gp,cpSync:()=>Ma,createReadStream:()=>cp,createWriteStream:()=>lp,exists:()=>Tf,existsSync:()=>Wi,fchmod:()=>Hf,fchmodSync:()=>la,fchown:()=>Vf,fchownSync:()=>ca,fdatasync:()=>Rf,fdatasyncSync:()=>aa,fstat:()=>Pf,fstatSync:()=>ta,fsync:()=>Lf,fsyncSync:()=>ia,ftruncate:()=>If,ftruncateSync:()=>ra,futimes:()=>Uf,futimesSync:()=>ua,glob:()=>yp,globSync:()=>Pa,lchmod:()=>$f,lchmodSync:()=>ba,lchown:()=>Zf,lchownSync:()=>va,link:()=>qf,linkSync:()=>ma,lopenSync:()=>Xi,lstat:()=>Df,lstatSync:()=>Ki,lutimes:()=>tp,lutimesSync:()=>Sa,mkdir:()=>Gf,mkdirSync:()=>fa,mkdtemp:()=>dp,mkdtempDisposableSync:()=>Da,mkdtempSync:()=>Ea,open:()=>Af,openAsBlob:()=>vp,openSync:()=>Yi,opendir:()=>hp,opendirSync:()=>ja,promises:()=>hu,read:()=>Bf,readFile:()=>jf,readFileSync:()=>Qi,readSync:()=>sa,readdir:()=>Kf,readdirSync:()=>pa,readlink:()=>Yf,readlinkSync:()=>ga,readv:()=>pp,readvSync:()=>ka,realpath:()=>np,realpathSync:()=>Ca,rename:()=>wf,renameSync:()=>Ui,rm:()=>up,rmSync:()=>Ta,rmdir:()=>Wf,rmdirSync:()=>da,stat:()=>Ef,statSync:()=>Gi,statfs:()=>_p,statfsSync:()=>Na,symlink:()=>Jf,symlinkSync:()=>ha,truncate:()=>Of,truncateSync:()=>qi,unlink:()=>kf,unlinkSync:()=>Ji,unwatchFile:()=>op,utimes:()=>ep,utimesSync:()=>xa,watch:()=>sp,watchFile:()=>ap,write:()=>zf,writeFile:()=>Mf,writeFileSync:()=>$i,writeSync:()=>oa,writev:()=>mp,writevSync:()=>Aa}),Np=t({allowedRestrictedNames:()=>Pp,get:()=>Ip,getSync:()=>Lp,list:()=>Hp,listSync:()=>Up,remove:()=>Bp,removeSync:()=>Vp,set:()=>Rp,setSync:()=>zp}),Pp=new Set;function Fp(e,t,n,r){if(!t.startsWith(`user.`)&&!Pp.has(t))throw S(`ENOTSUP`,r,n)}async function Ip(e,t,n={}){e=j.call(this,e);let{fs:r,path:i}=G(e,this);Fp(this,t,e,`xattr.get`);let a=await r.stat(i).catch(me(`xattr.get`,e));if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}function Lp(e,t,n={}){e=j.call(this,e),Fp(this,t,e,`xattr.get`);let{fs:r,path:i}=G(e,this),a;try{a=r.statSync(i)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}async function Rp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);Fp(this,t,e,`xattr.set`);let o=await i.stat(a).catch(me(`xattr.set`,e));if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n)),await i.touch(a,o).catch(me(`xattr.set`,e))}function zp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);Fp(this,t,e,`xattr.set`);let o;try{o=i.statSync(a)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n));try{i.touchSync(a,o)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Bp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);Fp(this,t,e,`xattr.remove`);let i=await n.stat(r).catch(me(`xattr.remove`,e));if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t),await n.touch(r,i)}function Vp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);Fp(this,t,e,`xattr.remove`);let i;try{i=n.statSync(r)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t);try{n.touchSync(r,i)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Hp(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r=await t.stat(n).catch(me(`xattr.list`,e));return r.attributes?[...r.attributes.keys()]:[]}function Up(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r;try{r=t.statSync(n)}catch(t){throw b(Object.assign(t,{path:e}))}return r.attributes?[...r.attributes.keys()]:[]}var Wp=new Map;function Gp(e={}){let t=D(this),n=t.parent||Ze;if(!Gi.call(n,n.root).isDirectory())throw S(`ENOTDIR`,{syscall:`chroot`,path:n.root});let r=$e(t,e),i=Object.assign(r,{fs:{...ee(Mp,r),Utf8Stream:jp._withContext(r),promises:ee(hu,r),xattr:ee(Np,r)},path:ee(Dn,r),bind:e=>{let t=Gp.call(r,e);return r.children.push(t),t}});return Wp.set(r.id,i),i}var Q=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},$=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Kp=class extends Jr{_fs;get type(){return this._fs.type}get name(){return this._fs.name}get label(){return this._fs.label}set label(e){this._fs.label=e}get attributes(){return this._fs.attributes}get _uuid(){return this._fs._uuid}set _uuid(e){this._fs._uuid=e}get uuid(){return this._fs.uuid}async ready(){return await this._fs.ready()}readySync(){return this._fs.readySync()}usage(){return this._fs.usage()}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.touch(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,this.lockSync(`rw`),!1),this._fs.touchSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async createFile(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.createFile(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}createFileSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.createFileSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async unlink(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}unlinkSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async rmdir(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}rmdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async mkdir(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}mkdirSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async exists(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}existsSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async sync(){let e={stack:[],error:void 0,hasError:!1};try{Q(e,await this.lock(`rw`),!1),await this._fs.sync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}syncSync(){let e={stack:[],error:void 0,hasError:!1};try{return Q(e,this.lockSync(`rw`),!1),this._fs.syncSync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,await this.lock(`ro`),!1),await this._fs.read(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,this.lockSync(`ro`),!1),this._fs.readSync(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.write(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.writeSync(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}streamRead(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`ro`),!1),this._fs.streamRead(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}streamWrite(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.streamWrite(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async ioctl(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.ioctl({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}ioctlSync(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.ioctlSync({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}};function qp(e){class t extends Kp{constructor(...t){super(),this._fs=new e(...t)}}return t}function Jp(e){class t extends e{constructor(...e){super(...e),this.attributes.set(`no_write`)}async rename(){throw C(`EROFS`)}renameSync(){throw C(`EROFS`)}async createFile(){throw C(`EROFS`)}createFileSync(){throw C(`EROFS`)}async unlink(){throw C(`EROFS`)}unlinkSync(){throw C(`EROFS`)}async rmdir(){throw C(`EROFS`)}rmdirSync(){throw C(`EROFS`)}async mkdir(){throw C(`EROFS`)}mkdirSync(){throw C(`EROFS`)}async link(){throw C(`EROFS`)}linkSync(){throw C(`EROFS`)}async touch(){throw C(`EROFS`)}touchSync(){throw C(`EROFS`)}async sync(){throw C(`EROFS`)}syncSync(){throw C(`EROFS`)}async write(){throw C(`EROFS`)}writeSync(){throw C(`EROFS`)}streamWrite(){throw C(`EROFS`)}}return t}function Yp(e){class t extends e{async exists(e){return this.existsSync(e)}async rename(e,t){return this.renameSync(e,t)}async stat(e){return this.statSync(e)}async touch(e,t){return this.touchSync(e,t)}async createFile(e,t){return this.createFileSync(e,t)}async unlink(e){return this.unlinkSync(e)}async rmdir(e){return this.rmdirSync(e)}async mkdir(e,t){return this.mkdirSync(e,t)}async readdir(e){return this.readdirSync(e)}async link(e,t){return this.linkSync(e,t)}async sync(){return this.syncSync()}async read(e,t,n,r){return this.readSync(e,t,n,r)}async write(e,t,n){return this.writeSync(e,t,n)}async ioctl(e,t,...n){return this.ioctlSync(e,t,...n)}}return t}async function Xp(e,t,...n){let r,i,a;if(typeof e==`number`)a=ui(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=await Ga(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return await i.fs.ioctl(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}function Zp(e,t,...n){let r,i,a;if(typeof e==`number`)a=ui(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=Ai(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return i.fs.ioctlSync(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}var Qp={name:`@zenfs/core`,version:`2.7.6`,description:`A filesystem, anywhere`,funding:{type:`individual`,url:`https://github.com/sponsors/james-pre`},main:`dist/index.js`,types:`dist/index.d.ts`,keywords:[`filesystem`,`node`,`storage`,`fs`,`browser`],bin:{"make-index":`scripts/make-index.js`,"zenfs-test":`scripts/test.js`,zci:`scripts/ci-cli.js`},files:[`dist`,`tests`,`license.md`,`eslint.shared.js`],type:`module`,homepage:`https://zenfs.dev/core`,author:`James Prevett <jp@jamespre.dev> (https://jamespre.dev)`,contributors:[`John Vilk <jvilk@cs.umass.edu>`],license:`LGPL-3.0-or-later`,repository:{type:`git`,url:`git+https://github.com/zen-fs/core.git`},bugs:{url:`https://github.com/zen-fs/core/issues`},engines:{node:`>= 18`},exports:{".":`./dist/index.js`,"./*.js":`./dist/*.js`,"./*":`./dist/*.js`,"./emulation/*":`./dist/node/*`,"./promises":`./dist/node/promises.js`,"./readline":`./dist/node/readline.js`,"./eslint":`./eslint.shared.js`,"./tests/*.ts":`./tests/*.ts`,"./tests/*.js":`./tests/*.js`,"./tests/*":`./tests/*.js`,"./types/*":`./types/*`},publishConfig:{access:`public`,provenance:!0},scripts:{format:`prettier --write .`,"format:check":`prettier --check .`,"spdx:check":`npx lice -a src tests/*.ts tests/**/*.test.ts`,"spdx:fix":`npx lice -aw src tests/*.ts tests/**/*.test.ts`,lint:`eslint src tests`,test:`npx -s zenfs-test --clean; npx -s zenfs-test -abcpn; tests/fetch/run.sh; npx -s zenfs-test --report-only`,"test:native":`npx -s zenfs-test tests/native-setup.ts --verbose`,"test:perf":`zbench`,build:`tsc --build`,dev:`tsc --build --watch`,prepublishOnly:`npm run build`},dependencies:{"@types/node":`^26.0.0`,"@zenfs/streams":`^1.0.0`,buffer:`^6.0.3`,eventemitter3:`^5.0.1`,kerium:`^1.5.0`,memium:`^1.0.0`,utilium:`^3.7.0`},devDependencies:{"@eslint/js":`^10.0.1`,"@octokit/action":`^8.0.4`,c8:`^12.0.0`,eslint:`^10.1.0`,globals:`^17.3.0`,prettier:`^3.2.5`,typedoc:`^0.28.18`,typescript:`^6.0.0`,"typescript-eslint":`^8.58.0`,"zbench-js":`^0.2.0`},prettier:{singleQuote:!0,useTabs:!0,trailingComma:`es5`,tabWidth:4,printWidth:150,arrowParens:`avoid`,experimentalOperatorPosition:`start`}},$p=t({BigIntStatsFs:()=>Kn,Dir:()=>Bi,Dirent:()=>Ri,ReadStream:()=>pu,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>jp,WriteStream:()=>mu,_version:()=>em,access:()=>rp,accessSync:()=>wa,appendFile:()=>Nf,appendFileSync:()=>ea,chmod:()=>Qf,chmodSync:()=>ya,chown:()=>Xf,chownSync:()=>_a,chroot:()=>Ti,close:()=>Ff,closeSync:()=>na,constants:()=>et,copyFile:()=>fp,copyFileSync:()=>Oa,cp:()=>gp,cpSync:()=>Ma,createReadStream:()=>cp,createWriteStream:()=>lp,exists:()=>Tf,existsSync:()=>Wi,fchmod:()=>Hf,fchmodSync:()=>la,fchown:()=>Vf,fchownSync:()=>ca,fdatasync:()=>Rf,fdatasyncSync:()=>aa,fstat:()=>Pf,fstatSync:()=>ta,fsync:()=>Lf,fsyncSync:()=>ia,ftruncate:()=>If,ftruncateSync:()=>ra,futimes:()=>Uf,futimesSync:()=>ua,glob:()=>yp,globSync:()=>Pa,ioctl:()=>Xp,ioctlSync:()=>Zp,lchmod:()=>$f,lchmodSync:()=>ba,lchown:()=>Zf,lchownSync:()=>va,link:()=>qf,linkSync:()=>ma,lopenSync:()=>Xi,lstat:()=>Df,lstatSync:()=>Ki,lutimes:()=>tp,lutimesSync:()=>Sa,mkdir:()=>Gf,mkdirSync:()=>fa,mkdtemp:()=>dp,mkdtempDisposableSync:()=>Da,mkdtempSync:()=>Ea,mount:()=>Si,open:()=>Af,openAsBlob:()=>vp,openSync:()=>Yi,opendir:()=>hp,opendirSync:()=>ja,promises:()=>hu,read:()=>Bf,readFile:()=>jf,readFileSync:()=>Qi,readSync:()=>sa,readdir:()=>Kf,readdirSync:()=>pa,readlink:()=>Yf,readlinkSync:()=>ga,readv:()=>pp,readvSync:()=>ka,realpath:()=>np,realpathSync:()=>Ca,rename:()=>wf,renameSync:()=>Ui,rm:()=>up,rmSync:()=>Ta,rmdir:()=>Wf,rmdirSync:()=>da,stat:()=>Ef,statSync:()=>Gi,statfs:()=>_p,statfsSync:()=>Na,symlink:()=>Jf,symlinkSync:()=>ha,truncate:()=>Of,truncateSync:()=>qi,umount:()=>Ci,unlink:()=>kf,unlinkSync:()=>Ji,unwatchFile:()=>op,utimes:()=>ep,utimesSync:()=>xa,watch:()=>sp,watchFile:()=>ap,write:()=>zf,writeFile:()=>Mf,writeFileSync:()=>$i,writeSync:()=>oa,writev:()=>mp,writevSync:()=>Aa,xattr:()=>Np}),em=Qp.version,tm=t({DirType:()=>Vr,Dirent:()=>Wr,Handle:()=>ci,chroot:()=>Ti,deleteFD:()=>di,dtToIf:()=>Ur,dupFD:()=>fi,fromFD:()=>ui,ifToDt:()=>Hr,ioctl:()=>Xp,ioctlSync:()=>Zp,link:()=>Za,mkdir:()=>Ja,mount:()=>Si,open:()=>Ka,readdir:()=>Ya,readlink:()=>qa,rename:()=>Xa,resolve:()=>Ga,stat:()=>Qa,sync:()=>Di,toFD:()=>li,umount:()=>Ci,xattr:()=>Np}),nm=$p;globalThis.__zenfs__=Object.create($p);export{tf as Async,kr as AsyncMapTransaction,Tr as AsyncTransaction,Xn as Attributes,Kn as BigIntStatsFs,bd as CopyOnWrite,yd as CopyOnWriteFS,Mr as DeviceFS,Bi as Dir,Ri as Dirent,_i as ErrnoError,Ad as Fetch,kd as FetchFS,Sr as FileSystem,jr as InMemory,Ar as InMemoryStore,lr as Index,Dd as IndexFS,L as Inode,I as InodeFlags,vd as Journal,hf as MetadataBlock,qp as Mutexed,Pd as Passthrough,Nd as PassthroughFS,of as Port,nf as PortFS,Fd as RPC,pu as ReadStream,Jp as Readonly,Cf as SingleBuffer,Sf as SingleBufferStore,Hn as Stats,Gn as StatsFs,Dr as StoreFS,vf as SuperBlock,Yp as Sync,Or as SyncMapTransaction,wr as SyncTransaction,Cr as Transaction,jp as Utf8Stream,Er as WrappedTransaction,mu as WriteStream,le as _,Kp as _MutexedFS,$d as _asyncFSKeys,sr as _chown,He as _fnOpt,Zn as _inode_fields,Qn as _inode_version,bn as _isNoEntry,Tn as _tempDirName,En as _temporal,em as _version,mt as a,rp as access,wa as accessSync,ld as addDevice,Nf as appendFile,ea as appendFileSync,Xe as assertContext,rf as attachFS,Gp as bindContext,Wp as boundContexts,vt as c,We as checkOptions,Qf as chmod,ya as chmodSync,Xf as chown,_a as chownSync,Ti as chroot,Ff as close,na as closeSync,dd as configure,ed as configureFileSystem,ad as configureSingle,od as configureSingleSync,fd as configureSync,et as constants,D as contextOf,fp as copyFile,Oa as copyFileSync,gp as cp,Ma as cpSync,$e as createChildContext,Ke as createCredentials,cp as createReadStream,lp as createWriteStream,qe as credentialsAllowRoot,Ce as d,hn as decodeDirListing,nm as default,Ze as defaultContext,af as detachFS,zr as devices,gn as encodeDirListing,Tf as exists,Wi as existsSync,we as f,Hf as fchmod,la as fchmodSync,Vf as fchown,ca as fchownSync,Rf as fdatasync,aa as fdatasyncSync,$p as fs,Pf as fstat,ta as fstatSync,Lf as fsync,ia as fsyncSync,If as ftruncate,ra as ftruncateSync,Ir as fullDevice,Uf as futimes,ua as futimesSync,ue as g,yp as glob,Pa as globSync,Cn as globToRegex,C as h,z as hasAccess,M as i,Xp as ioctl,Zp as ioctlSync,Ve as isBackend,Ge as isBackendConfig,ir as isBlockDevice,ar as isCharacterDevice,Ye as isContext,R as isDirectory,or as isFIFO,tr as isFile,rr as isSocket,nr as isSymbolicLink,_t as l,$f as lchmod,ba as lchmodSync,Zf as lchown,va as lchownSync,qf as link,ma as linkSync,he as log,Xi as lopenSync,Df as lstat,Ki as lstatSync,tp as lutimes,Sa as lutimesSync,x as m,Gf as mkdir,fa as mkdirSync,dp as mkdtemp,Da as mkdtempDisposableSync,Ea as mkdtempSync,Si as mount,xi as mounts,Fn as n,_n as normalizeMode,Sn as normalizeOptions,j as normalizePath,xn as normalizeTime,Pr as nullDevice,O as o,Af as open,vp as openAsBlob,Yi as openSync,hp as opendir,ja as opendirSync,y as p,hu as promises,N as r,Lr as randomDevice,Bf as read,jf as readFile,Qi as readFileSync,sa as readSync,Kf as readdir,pa as readdirSync,Yf as readlink,ga as readlinkSync,pp as readv,ka as readvSync,np as realpath,Ca as realpathSync,wf as rename,Ui as renameSync,rd as resolveMountConfig,id as resolveMountConfigSync,sf as resolveRemoteMount,up as rm,Ta as rmSync,Wf as rmdir,da as rmdirSync,qn as rootIno,ft as s,Ef as stat,Gi as statSync,_p as statfs,Na as statfsSync,Jf as symlink,ha as symlinkSync,pd as sync,Yr as t,Of as truncate,qi as truncateSync,Se as u,Ci as umount,kf as unlink,Ji as unlinkSync,op as unwatchFile,er as userModifiableFlags,$n as userVisibleFlags,ep as utimes,xa as utimesSync,_ as v,yn as validateFD,cr as version,tm as vfs,wn as waitOnline,sp as watch,ap as watchFile,bi as withExceptionContext,vi as withPath,yi as wrap,zf as write,Mf as writeFile,$i as writeFileSync,oa as writeSync,mp as writev,Aa as writevSync,Np as xattr,Fr as zeroDevice};
|
|
@@ -6,9 +6,8 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{t as r}f
|
|
|
6
6
|
`;var cd=class extends u.default{entries=[];toString(){return sd+this.entries.map(e=>`${e.op.padEnd(od)} ${e.path}`).join(`
|
|
7
7
|
`)}fromString(e){if(!e.startsWith(sd))throw T(C(`EINVAL`,`Invalid journal contents, refusing to parse`));for(let t of e.split(`
|
|
8
8
|
`)){if(t.startsWith(`#`))continue;let[e,n]=t.split(/\s+/);if(!ad(e)){E(`Unknown operation in journal (skipping): `+e);continue}this.entries.push({op:e,path:n})}return this}add(e,t){this.entries.push({op:e,path:t}),this.emit(`update`,e,t),this.emit(e,t)}has(e,t){let n=JSON.stringify({op:e,path:t});for(let e of this.entries)if(JSON.stringify(e)===n)return!0;return!1}delete(e,t){this.entries=this.entries.filter(n=>n.op!=e||n.path!=t)}isDeleted(e){let t=!1;for(let n of this.entries)n.path==e&&n.op===`delete`&&(t=!0);return t}},ld=class extends xr{readable;writable;journal;async ready(){await this.readable.ready(),await this.writable.ready()}readySync(){this.readable.readySync(),this.writable.readySync()}constructor(e,t,n=new cd){if(super(1651862636,e.name),this.readable=e,this.writable=t,this.journal=n,t.attributes.has(`no_write`))throw T(C(`EINVAL`,`Writable file system can not be written to`));e.attributes.set(`no_write`)}isDeleted(e){return this.journal.isDeleted(e)}inos=new Map;_nextIno=1;renameInos(e,t){let n=[];for(let[r,i]of this.inos)r!=e&&!r.startsWith(e+`/`)||n.push({path:r,add:t+r.slice(e.length),ino:i});for(let e of n)this.inos.delete(e.path),this.inos.set(e.add,e.ino)}remapIno(e,t){let n=this.inos.get(e);return n===void 0&&(n=this._nextIno++,this.inos.set(e,n)),Object.assign(p(t,Zn),{attributes:t.attributes,ino:n})}usage(){return this.readable.usage()}async sync(){await this.writable.sync()}syncSync(){this.writable.syncSync()}async read(e,t,n,r){return await this.writable.exists(e)?await this.writable.read(e,t,n,r):await this.readable.read(e,t,n,r)}readSync(e,t,n,r){return this.writable.existsSync(e)?this.writable.readSync(e,t,n,r):this.readable.readSync(e,t,n,r)}async write(e,t,n){return await this.copyForWrite(e),await this.writable.write(e,t,n)}writeSync(e,t,n){return this.copyForWriteSync(e),this.writable.writeSync(e,t,n)}async rename(e,t){await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}await this.readable.exists(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}renameSync(e,t){this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}this.readable.existsSync(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}async stat(e){try{return this.remapIno(e,await this.writable.stat(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,await this.readable.stat(e))}}statSync(e){try{return this.remapIno(e,this.writable.statSync(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,this.readable.statSync(e))}}async touch(e,t){await this.copyForWrite(e,t.size),await this.writable.touch(e,t)}touchSync(e,t){this.copyForWriteSync(e,t.size),this.writable.touchSync(e,t)}async createFile(e,t){await this.createParentDirectories(e);let n=await this.writable.createFile(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}createFileSync(e,t){this.createParentDirectoriesSync(e);let n=this.writable.createFileSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async link(e,t){await this.copyForWrite(e),await this.writable.link(e,t),this.journal.delete(`delete`,t)}linkSync(e,t){this.copyForWriteSync(e),this.writable.linkSync(e,t),this.journal.delete(`delete`,t)}async unlink(e){if(!await this.exists(e))throw C(`ENOENT`);await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}unlinkSync(e){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}async rmdir(e){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(e)&&await this.writable.rmdir(e),!await this.exists(e)){this.inos.delete(e);return}if((await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}rmdirSync(e){if(!this.existsSync(e))throw C(`ENOENT`);if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),!this.existsSync(e)){this.inos.delete(e);return}if(this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}async mkdir(e,t){if(await this.exists(e))throw C(`EEXIST`);await this.createParentDirectories(e);let n=await this.writable.mkdir(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}mkdirSync(e,t){if(this.existsSync(e))throw C(`EEXIST`);this.createParentDirectoriesSync(e);let n=this.writable.mkdirSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async readdir(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=await this.readable.stat(e).catch(()=>null),n=await this.writable.stat(e).catch(()=>null);if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?await this.readable.readdir(e):[];if(n&&R(n))for(let t of await this.writable.readdir(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}readdirSync(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=null,n=null;try{t=this.readable.statSync(e)}catch{}try{n=this.writable.statSync(e)}catch{}if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?this.readable.readdirSync(e):[];if(n&&R(n))for(let t of this.writable.readdirSync(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}streamRead(e,t){return this.writable.existsSync(e)?this.writable.streamRead(e,t):this.readable.streamRead(e,t)}streamWrite(e,t){return this.copyForWriteSync(e),this.writable.streamWrite(e,t)}createParentDirectoriesSync(e){let t=[],n=te(C(`EDEADLK`));for(let n=N(e);!this.writable.existsSync(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())this.writable.mkdirSync(e,this.statSync(e))}async createParentDirectories(e){let t=[],n=te(C(`EDEADLK`,e));for(let n=N(e);!await this.writable.exists(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())await this.writable.mkdir(e,await this.stat(e))}copyForWriteSync(e,t){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(N(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e,t)}async copyForWrite(e,t){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(N(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e,t)}copyToWritableSync(e,t){let n=this.readable.statSync(e);if(R(n)){this.writable.mkdirSync(e,n);for(let t of this.readable.readdirSync(e))this.copyToWritableSync(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&this.readable.readSync(e,i,0,r),this.writable.createFileSync(e,n),this.writable.touchSync(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&this.writable.writeSync(e,i,0)}async copyToWritable(e,t){let n=await this.readable.stat(e);if(R(n)){await this.writable.mkdir(e,n);for(let t of await this.readable.readdir(e))await this.copyToWritable(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&await this.readable.read(e,i,0,r),await this.writable.createFile(e,n),await this.writable.touch(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&await this.writable.write(e,i,0)}};const ud={name:`CopyOnWrite`,options:{writable:{type:`object`,required:!0},readable:{type:`object`,required:!0},journal:{type:`object`,required:!1}},async create(e){return new ld(await qu(e.readable),await qu(e.writable),e.journal)}},dd=new Map;async function fd(e,t={},n=!1){let r=await fetch(e,t).catch(e=>{throw{tag:`fetch`,message:e.message}});if(!r.ok)throw{tag:`status`,response:r};let i=await r.arrayBuffer().catch(e=>{if(!n)throw{tag:`buffer`,response:r,message:e.message}});return{response:r,data:i?new Uint8Array(i):void 0}}async function pd(e,t,n={}){let r=new Request(e,n);if(typeof t.start!=`number`||typeof t.end!=`number`){let{data:r}=await fd(e,n);return new s(e,r.byteLength,t,dd).add(r,0),r}if(typeof t.size!=`number`){t.warn?.(e+`: Size not provided, an additional HEAD request is being made`);let{headers:n}=await fetch(r,{method:`HEAD`}),i=parseInt(n.get(`Content-Length`)??``);if(typeof i!=`number`)throw{tag:`size`,message:`Response is missing content-length header and no size was provided`};t.size=i}let{size:i,start:a,end:o}=t,c=dd.get(e)??new s(e,i,t,dd);r.headers.set(`If-Range`,new Date().toUTCString());for(let{start:n,end:l}of c.missing(a,o)){let{data:u,response:d}=await fd(r,{headers:{Range:`bytes=${n}-${l}`}});if(d.status==206){c.add(u,n);continue}return t.warn?.(e+`: Remote does not support range requests with bytes. Falling back to full data.`),new s(e,i,t,dd).add(u,0),u.subarray(a,o)}c.collect();let l=c.regionAt(a);return l.data.subarray(a-l.offset,o-l.offset)}function md(e,t){let n=dd.get(e);if(!n)return t.size?{data:new Uint8Array,missing:[{start:0,end:t.size??0}]}:(t.warn?.(e+`: Size not provided and cache is empty, can not determine missing range`),{data:void 0,missing:[]});let{start:r=0,end:i=n.size}=t,a=new Uint8Array(i-r);for(let e of n.regions)if(!(e.offset+e.data.byteLength<=r)){if(e.offset>=i)break;for(let t of e.ranges){if(t.end<=r)continue;if(t.start>=i)break;let n=Math.max(t.start,r),o=Math.min(t.end,i);n>=o||a.set(e.data.subarray(n-e.offset,o-e.offset),n-r)}}return{data:a,missing:n.missing(r,i)}}async function hd(e,t,n,r={}){dd.has(e)||new s(e,n.size??t.byteLength,n,dd);let i=dd.get(e),{offset:a=0,method:o=`POST`}=n;if(!n.cacheOnly){let n=new Headers(r.headers||{});if(n.get(`Content-Type`)||n.set(`Content-Type`,`application/octet-stream`),!n.get(`Content-Range`)&&(a!==0||t.byteLength!==i.size)){let e=a,r=a+t.byteLength-1,o=Math.max(i.size,r+1);n.set(`Content-Range`,`bytes ${e}-${r}/${o}`)}await fd(new Request(e,{...r,method:o,headers:n,body:t.buffer instanceof ArrayBuffer?t:Uint8Array.from(t)}),{},!0)}i.add(t,a)}async function gd(e,t={},n={}){t.cacheOnly||await fd(new Request(e,n),{method:`DELETE`},!0),dd.delete(e)}var _d=class extends xr{index;constructor(e,t,n=new lr){super(e,t),this.index=n}usage(){return this.index.usage()}pathsForRename(e,t){if(!this.index.has(e))throw C(`ENOENT`);if((N(t)+`/`).startsWith(e+`/`))throw C(`EBUSY`);let n=[];for(let[r,i]of this.index.entries()){let a=Pn(e,r);if(a.startsWith(`..`))continue;let o=M(t,a);o.endsWith(`/`)&&(o=o.slice(0,-1)),n.push({from:r,to:o,inode:i})}return n.sort((e,t)=>t.from.length-e.from.length),n}async rename(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);await this.read(e,n,0,i.size),r.set(t,n),this.index.delete(e),await this.remove(e),this.index.has(t)&&await this.remove(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?await this._mkdir?.(e,t):await this.write(e,n,0)}}renameSync(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);this.readSync(e,n,0,i.size),r.set(t,n),this.index.delete(e),this.removeSync(e),this.index.has(t)&&this.removeSync(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?this._mkdirSync?.(e,t):this.writeSync(e,n,0)}}async stat(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}statSync(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}async touch(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}touchSync(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}_remove(e,t){let n=this.index.get(e);if(!n)throw C(`ENOENT`);let r=(n.mode&O)==mt;if(!r&&!t)throw C(`ENOTDIR`);if(r&&t)throw C(`EISDIR`);r||this.index.delete(e)}async unlink(e){this._remove(e,!0),await this.remove(e)}unlinkSync(e){this._remove(e,!0),this.removeSync(e)}async rmdir(e){if(this._remove(e,!1),(await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.index.delete(e),await this.remove(e)}rmdirSync(e){if(this._remove(e,!1),this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.index.delete(e),this.removeSync(e)}create(e,t){if(this.index.has(e))throw C(`EEXIST`);let n=this.index.get(N(e));if(!n)throw C(`ENOENT`);let r=this.index._alloc(),i=new L({ino:r,data:r+1,mode:t.mode,size:0,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid,nlink:1});return this.index.set(e,i),i}async createFile(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return await this._create?.(e,n),n}catch(t){throw this.index.delete(e),t}}createFileSync(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return this._createSync?.(e,n),n}catch(t){throw this.index.delete(e),t}}async mkdir(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return await this._mkdir?.(e,t),n}mkdirSync(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return this._mkdirSync?.(e,t),n}link(){throw C(`ENOSYS`)}linkSync(){throw C(`ENOSYS`)}async readdir(e){return Object.keys(this.index.directoryEntries(e))}readdirSync(e){return Object.keys(this.index.directoryEntries(e))}async sync(){}syncSync(){}};function vd(e){if(!(`tag`in e))throw T(C(`EIO`,e.stack));switch(e.tag){case`fetch`:throw T(C(`EREMOTEIO`,e.message));case`status`:throw T(C(e.response.status>500?`EREMOTEIO`:`EIO`,`Response status code is `+e.response.status));case`size`:throw T(C(`EBADE`,e.message));case`buffer`:throw T(C(`EIO`,`Failed to decode buffer`))}}var yd=class extends _d{baseUrl;requestInit;remoteWrite;_asyncDone=Promise.resolve();_async(e){this._asyncDone=this._asyncDone.then(()=>e).catch(e=>Ee(`Async operation failed: `+(e.message??e)))}constructor(e,t,n={},r){super(544106099,`nfs`,e),this.baseUrl=t,this.requestInit=n,this.remoteWrite=r}resize(e,t,n){if(R(t)||t.size==n)return;let r=this.baseUrl+e,i=dd.get(r)??new s(r,n,{},dd);if(i.size=t.size,t.size<n)return;let a=new Uint8Array(t.size-n);if(i.add(a,n),this.remoteWrite)return hd(r,a,{offset:n,warn:E},this.requestInit).catch(vd)}async _create(e,t){await hd(this.baseUrl+e,new Uint8Array(t.size),{warn:E,cacheOnly:!this.remoteWrite,method:`PUT`},this.requestInit).catch(vd)}_createSync(e,t){this._async(this._create(e,t))}async touch(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t),await this.resize(e,n,r)}touchSync(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t);let i=this.resize(e,n,r);i&&this._async(i)}async remove(e){await gd(this.baseUrl+e,{warn:E,cacheOnly:!this.remoteWrite},this.requestInit)}removeSync(e){this._async(this.remove(e))}async read(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let a=await pd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit).catch(vd).catch(()=>void 0);if(!a)throw C(`ENODATA`);t.set(a)}readSync(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let{data:a,missing:o}=md(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E});if(!a)throw C(`ENODATA`);if(o.length)throw this._async(pd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit)),C(`EAGAIN`);t.set(a)}async write(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),await hd(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(vd)}writeSync(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),this._async(hd(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(vd))}};const bd={name:`Fetch`,options:{index:{type:[`string`,`object`],required:!1},baseUrl:{type:`string`,required:!0},requestInit:{type:`object`,required:!1},remoteWrite:{type:`boolean`,required:!1}},isAvailable(){return typeof globalThis.fetch==`function`},async create(e){let t=new URL(e.baseUrl);t.pathname=j(t.pathname);let n=t.toString();n.at(-1)==`/`&&(n=n.slice(0,-1)),e.index??=`index.json`;let r=new lr;if(typeof e.index!=`string`)r.fromJSON(e.index);else{let t=await pd(e.index,{warn:E},e.requestInit).catch(vd);r.fromJSON(JSON.parse(ce(t)))}let i=new yd(r,n,e.requestInit,e.remoteWrite);if(e.disableAsyncCache)return i;for(let[t,i]of r)i.mode&32768&&await pd(n+t,{warn:E},e.requestInit).catch(vd);return i}};var xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Sd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Cd=class extends xr{nodeFS;prefix;constructor(e,t){super(1852793957,`nodefs`),this.nodeFS=e,this.prefix=t}usage(){let e=this.nodeFS.statfsSync(this.prefix);return{totalSpace:e.bsize*e.blocks,freeSpace:e.bsize*e.bfree}}path(e){return this.prefix+e}async rename(e,t){await this.nodeFS.promises.rename(this.path(e),this.path(t))}renameSync(e,t){this.nodeFS.renameSync(this.path(e),this.path(t))}async stat(e){return await this.nodeFS.promises.stat(this.path(e))}statSync(e){return this.nodeFS.statSync(this.path(e))}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=xd(n,await this.nodeFS.promises.open(this.path(e),`r`),!0);await r.chmod(t.mode);try{await r.chown(t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}catch(e){n.error=e,n.hasError=!0}finally{let e=Sd(n);e&&await e}}touchSync(e,t){this.nodeFS.chmodSync(this.path(e),t.mode);try{this.nodeFS.chownSync(this.path(e),t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}async unlink(e){await this.nodeFS.promises.unlink(this.path(e))}unlinkSync(e){this.nodeFS.unlinkSync(this.path(e))}async mkdir(e,t){return await this.nodeFS.promises.mkdir(this.path(e),t),await this.nodeFS.promises.stat(this.path(e))}mkdirSync(e,t){return this.nodeFS.mkdirSync(this.path(e),t),this.nodeFS.statSync(this.path(e))}async readdir(e){return await this.nodeFS.promises.readdir(this.path(e))}readdirSync(e){return this.nodeFS.readdirSync(this.path(e))}async createFile(e,t){if(R(t))await this.nodeFS.promises.mkdir(this.path(e),{mode:t.mode});else{let t={stack:[],error:void 0,hasError:!1};try{await xd(t,await this.nodeFS.promises.open(this.path(e),`wx`),!0).close()}catch(e){t.error=e,t.hasError=!0}finally{let e=Sd(t);e&&await e}}return await this.nodeFS.promises.stat(this.path(e))}createFileSync(e,t){if(R(t))this.nodeFS.mkdirSync(this.path(e),{mode:t.mode});else{let t=this.nodeFS.openSync(this.path(e),`wx`);this.nodeFS.closeSync(t)}return this.nodeFS.statSync(this.path(e))}async rmdir(e){await this.nodeFS.promises.rmdir(this.path(e))}rmdirSync(e){this.nodeFS.rmdirSync(this.path(e))}async sync(){E(`Sync on passthrough is unnecessary`)}syncSync(){E(`Sync on passthrough is unnecessary`)}async link(e,t){await this.nodeFS.promises.link(this.path(e),this.path(t))}linkSync(e,t){this.nodeFS.linkSync(this.path(e),this.path(t))}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{await xd(i,await this.nodeFS.promises.open(this.path(e),`r`),!0).read({buffer:t,offset:n,length:r-n})}catch(e){i.error=e,i.hasError=!0}finally{let e=Sd(i);e&&await e}}readSync(e,t,n,r){let i=this.nodeFS.openSync(this.path(e),`r`);try{this.nodeFS.readSync(i,t,{offset:n,length:r-n})}finally{this.nodeFS.closeSync(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{await xd(r,await this.nodeFS.promises.open(this.path(e),`w`),!0).write(t,n)}catch(e){r.error=e,r.hasError=!0}finally{let e=Sd(r);e&&await e}}writeSync(e,t,n){let r=this.nodeFS.openSync(this.path(e),`w`);try{this.nodeFS.writeSync(r,t,n)}finally{this.nodeFS.closeSync(r)}}};const wd={name:`Passthrough`,options:{fs:{type:`object`,required:!0},prefix:{type:`string`,required:!0}},create({fs:e,prefix:t}){return new Cd(e,t)}};var Td=t({attach:()=>Rd,catchMessages:()=>Bd,decodeMessage:()=>Md,detach:()=>zd,encodeMessage:()=>jd,from:()=>Ad,fromNode:()=>Od,fromWeb:()=>Dd,fromWebSocket:()=>kd,handleRequest:()=>Vd,handleResponse:()=>Ld,isMessage:()=>Nd,isPort:()=>Ed,request:()=>Id});function Ed(e){return typeof e==`object`&&!!e&&`channel`in e&&`send`in e&&`addHandler`in e&&`removeHandler`in e}function Dd(e){let t=new Map;return{channel:e,send:e.postMessage.bind(e),addHandler(n){let r=e=>n(e.data);t.set(n,r),e.addEventListener(`message`,r)},removeHandler(n){e.removeEventListener(`message`,t.get(n))}}}function Od(e){return{channel:e,send:e.postMessage.bind(e),addHandler:e.on.bind(e,`message`),removeHandler:e.off.bind(e,`message`)}}function kd(e){return{channel:e,send(t){e.send(jd(t))},addHandler(t){e.addEventListener(`message`,e=>{t(Md(e.data))})},removeHandler(t){e.removeEventListener(`message`,e=>{t(Md(e.data))})}}}function Ad(e){if(Ed(e))return e;if(e instanceof WebSocket)return kd(e);if(`on`in e)return Od(e);if(`addEventListener`in e)return Dd(e);throw T(C(`EINVAL`,`Invalid port type`))}function jd(e){return`Z1${JSON.stringify(e,(e,t)=>{if(e!=`_zenfs`)return t instanceof Uint8Array?`$`+t.toBase64():t})}`}function Md(e){if(!e.startsWith(`Z`))return{};e=e.slice(1);let t=parseInt(e);if(isNaN(t))return E(`Ignoring encoded message with missing version`),{};if(e=e.slice(t.toString().length),!h(e))return E(`Ignoring encoded message with invalid JSON`),{};if(t!=1)throw T(C(`EPROTONOSUPPORT`,`Version mismatch in RPC message encoding (got ${t}, expected 1)`));return{...JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`$`)?Uint8Array.fromBase64(t.slice(1)):t),_zenfs:!0}}function Nd(e){return typeof e==`object`&&!!e&&`_zenfs`in e&&!!e._zenfs}function Pd(e){let t=Fd.get(e);t&&(t.timeout&&(clearTimeout(t.timeout),typeof t.timeout==`object`&&t.timeout.unref()),Fd.delete(e))}const Fd=new Map;function Id(e,{port:t,timeout:n=1e3,fs:r}){let i=`
|
|
9
|
-
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Pd(c),o(e)},n)};return Fd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Ld(e){if(!Nd(e))return;if(!Fd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Fd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Pd(e.id),n(t);return}Pd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Rd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function zd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Bd(e){let t=[],n=t.push.bind(t);return Rd(e,n),async function(r){zd(e,n);for(let n of t)await Vd(e,r,`data`in n?n.data:n)}}async function Vd(e,t,n){if(!Nd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}const Hd=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],Ud=1048576;function Wd(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Er&&this instanceof Er){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>Ud)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=Ud||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this.rename
|
|
10
|
-
`).slice(t).join(`
|
|
11
|
-
`);return i.includes(`at <computed> [as ${e}]`)||i.includes(`at async <computed> [as ${e}]`)||i.includes(`${e}Sync `)}this[e]=async(...r)=>{let i=await t(...r);if(n(2))return i;if(!this._isInitialized)return this._skippedCacheUpdates++,i;try{if(this._mirrorMetaOnly(e,r))return i;e===`write`&&this._prepareMetaWrite(r[0],r[2]),this._sync?.[`${e}Sync`]?.(...r),this._followMetaOnly(e,r)}catch(e){if(n(3,e))return i;throw e.message+=` (Out of sync!)`,T(e)}return i}}Ee(`Async: patched ${t.length} methods`)}}return t}var Gd=class extends Wd(xr){channel;timeout;port;_sync=Ar.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Ad(e),Rd(this.port,Ld)}rpc(e,...t){return Id({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function Kd(e,t){let n=Ad(e);Rd(n,e=>Vd(n,t,e))}function qd(e,t){let n=Ad(e);zd(n,e=>Vd(n,t,e))}const Jd={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new Gd(e.port,e.timeout)}};async function Yd(e,t,n=0){let r=Ad(e),i=Bd(r),a=await qu(t,n);return Kd(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Zd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});const Qd=e=>`0x`+e.toString(16).padStart(8,`0`),{format:$d}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let ef=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${Qd(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),tf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ef,255))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${Qd(this.byteOffset)}>`;let t=[`---- Metadata block at ${Qd(this.byteOffset)} ----`,`Checksum: ${Qd(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${Qd(this.previous_offset)}`,`Entries:`].join(`
|
|
9
|
+
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Pd(c),o(e)},n)};return Fd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Ld(e){if(!Nd(e))return;if(!Fd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Fd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Pd(e.id),n(t);return}Pd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Rd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function zd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Bd(e){let t=[],n=t.push.bind(t);return Rd(e,n),async function(r){zd(e,n);for(let n of t)await Vd(e,r,`data`in n?n.data:n)}}async function Vd(e,t,n){if(!Nd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}const Hd=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],Ud=1048576;function Wd(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_replay(e,...t){return(this._zenfsOriginals?.[e]??this[e].bind(this))(...t)}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Er&&this instanceof Er){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>Ud)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=Ud||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this._replay(`rename`,e,t))}statSync(e){return this.checkSync(),this._sync.statSync(e)}touchSync(e,t){this.checkSync(),this._sync.touchSync(e,t),this._async(()=>this._replay(`touch`,e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this._replay(`createFile`,e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this._replay(`unlink`,e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this._replay(`rmdir`,e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this._replay(`mkdir`,e,t)),n}readdirSync(e){return this.checkSync(),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(),this._sync.linkSync(e,t),this._async(()=>this._replay(`link`,e,t))}async sync(){!this.attributes.has(`no_async_preload`)&&this._sync&&this._sync.syncSync(),await this._promise.catch(()=>{})}syncSync(){this.checkSync(),this._sync.syncSync()}existsSync(e){return this.checkSync(),this._sync.existsSync(e)}readSync(e,t,n,r){if(this.checkSync(),this._metaOnly?.has(e))throw C(`EIO`,`sync mirror has no payload for ${e}`);this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._prepareMetaWrite(e,n),this._sync.writeSync(e,t,n),this._async(()=>this._replay(`write`,e,t,n))}ioctlSync(e,t,...n){return this.checkSync(),this._sync.ioctlSync(e,t,...n)}streamWrite(e,t){this.checkSync();let n=this._sync.streamWrite(e,t).getWriter(),r=super.streamWrite(e,t).getWriter();return new WritableStream({async write(e,t){await Promise.all([n.write(e),r.write(e)]).catch(t.error.bind(t))},async close(){await Promise.all([n.close(),r.close()])},async abort(e){await Promise.all([n.abort(e),r.abort(e)])}})}_crossCopySemaphore;async crossCopy(e,t={failure:null}){try{if(t.failure)throw t.failure.error;this.checkSync();let n=await this.stat(e);if(t.failure)throw t.failure.error;if(!R(n)){if(n.size>Ud){this._metaOnly??=new Set,this._metaOnly.add(e),this._sync.createFileSync(e,n),this._sync.touchSync(e,{...n,metaOnly:!0});return}let r=await this._crossCopySemaphore?.get()||{[Symbol.dispose](){}};try{if(t.failure)throw t.failure.error;this._sync.createFileSync(e,n);let r=new Uint8Array(n.size);await this.read(e,r,0,n.size),this._sync.writeSync(e,r,0),this._sync.touchSync(e,n)}catch(e){throw t.failure??={error:e},t.failure.error}finally{r[Symbol.dispose]()}return}e!==`/`&&(this._sync.mkdirSync(e,n),this._sync.touchSync(e,n));let r=[];for(let n of await this.readdir(e)){if(t.failure)break;r.push(this.crossCopy(M(e,n),t))}if(await Promise.allSettled(r),t.failure)throw t.failure.error}catch(e){throw t.failure??={error:e},t.failure.error}}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=Hd.filter(t=>!e.includes(t)),n=e=>`zenfsMirror_${e}`,r=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`)||t.includes(`${e}Sync `)||t.includes(`${e}Sync@`),i=e=>{let t=(e?.stack??``).split(`
|
|
10
|
+
`).filter(Boolean);return t.slice(1).some(e=>/^\s*at /.test(e))&&!/^\s*at /.test(t[0]??``)&&t.shift(),t},a=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`),o=(e,t)=>{let n=i(t);return n.slice(n.findIndex(t=>a(e,t))+1)},s=e=>o(e,Error()).some(t=>r(e,t)),c=(e,t)=>o(e,t).some(e=>e.includes(`zenfsMirror_`)||e.includes(`<computed> [as `)),l=async(e,t,n)=>{let r=await t(...n);if(s(e))return r;if(!this._isInitialized)return this._skippedCacheUpdates++,r;try{if(this._mirrorMetaOnly(e,n))return r;e===`write`&&this._prepareMetaWrite(n[0],n[2]),this._sync?.[`${e}Sync`]?.(...n),this._followMetaOnly(e,n)}catch(t){if(c(e,t))return r;throw t.message+=` (Out of sync!)`,T(t)}return r},u={};this._zenfsOriginals=u;let d={async zenfsMirror_rename(...e){return await l(`rename`,u.rename,e)},async zenfsMirror_stat(...e){return await l(`stat`,u.stat,e)},async zenfsMirror_touch(...e){return await l(`touch`,u.touch,e)},async zenfsMirror_createFile(...e){return await l(`createFile`,u.createFile,e)},async zenfsMirror_unlink(...e){return await l(`unlink`,u.unlink,e)},async zenfsMirror_rmdir(...e){return await l(`rmdir`,u.rmdir,e)},async zenfsMirror_mkdir(...e){return await l(`mkdir`,u.mkdir,e)},async zenfsMirror_readdir(...e){return await l(`readdir`,u.readdir,e)},async zenfsMirror_exists(...e){return await l(`exists`,u.exists,e)},async zenfsMirror_link(...e){return await l(`link`,u.link,e)},async zenfsMirror_sync(...e){return await l(`sync`,u.sync,e)},async zenfsMirror_read(...e){return await l(`read`,u.read,e)},async zenfsMirror_write(...e){return await l(`write`,u.write,e)},async zenfsMirror_ioctl(...e){return await l(`ioctl`,u.ioctl,e)}};for(let e of t){u[e]=this[e].bind(this);let t=d[n(e)];if(!t)throw Error(`Async: no mirror wrapper for ${e}`);this[e]=t}Ee(`Async: patched ${t.length} methods`)}}return t}var Gd=class extends Wd(xr){channel;timeout;port;_sync=Ar.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Ad(e),Rd(this.port,Ld)}rpc(e,...t){return Id({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function Kd(e,t){let n=Ad(e);Rd(n,e=>Vd(n,t,e))}function qd(e,t){let n=Ad(e);zd(n,e=>Vd(n,t,e))}const Jd={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new Gd(e.port,e.timeout)}};async function Yd(e,t,n=0){let r=Ad(e),i=Bd(r),a=await qu(t,n);return Kd(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Zd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});const Qd=e=>`0x`+e.toString(16).padStart(8,`0`),{format:$d}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let ef=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${Qd(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),tf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ef,255))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${Qd(this.byteOffset)}>`;let t=[`---- Metadata block at ${Qd(this.byteOffset)} ----`,`Checksum: ${Qd(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${Qd(this.previous_offset)}`,`Entries:`].join(`
|
|
12
11
|
`);for(let e of this.items)e.offset&&(t+=`\n\t${Qd(e.id)}: ${$d(e.size).padStart(5)} at ${Qd(e.offset)}`);return t}#i=(X(this,ne),X(this,ie,void 0));get locked(){return this.#i}set locked(e){this.#i=e}waitUnlocked(e=0){if(e>5)throw Ce(C(`EBUSY`,`sbfs: exceeded max attempts waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked`));if(Atomics.load(this,oe.lockIndex))switch(Atomics.wait(this,oe.lockIndex,1)){case`ok`:break;case`not-equal`:return e++,T(`sbfs: waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked (${e}/5)`),this.waitUnlocked(e);case`timed-out`:throw Ce(C(`EBUSY`,`sbfs: timed out waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked`))}}lock(){this.waitUnlocked(),Atomics.store(this,oe.lockIndex,1);let e=()=>{Atomics.store(this,oe.lockIndex,0),Atomics.notify(this,oe.lockIndex,1)};return e[Symbol.dispose]=e,e}constructor(){super(...arguments),X(this,ae)}static{X(s,o)}};return oe=s})();Object.assign(tf,{lockIndex:nn(tf,`locked`)/Int32Array.BYTES_PER_ELEMENT});const nf=1651715706;let rf=(()=>{var e,t,n,r,i,a,o,s,c,l;let u=[cn.packed()],d,f=[],p,m=dn.typed(BigUint64Array),h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[],oe,v=[],se=[],ce,le=[],ue=[],de,y=[],pe=[],b,x=[],S=[],me,he=[],w=[],ge,_e=[],ve=[],ye,be=[],xe=[],Se,we=[],Te=[],De,Oe=[],ke=[],Ae,je=[],Me=[];var Ne=class extends m{static{p=this}static{let fe=typeof Symbol==`function`&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;h=[(e=A).uint32.bind(e)],te=[(t=A).uint32.bind(t)],re=[(n=A).uint16.bind(n)],oe=[(r=A).uint16.bind(r)],ce=[(i=A).uint32.bind(i)],de=[(a=A).uint64.bind(a)],b=[(o=A).uint64.bind(o)],me=[A.uint8(16)],ge=[(s=A).uint32.bind(s)],ye=[(c=A).uint32.bind(c)],Se=[(l=A).uint32.bind(l)],De=[A.char(64)],Ae=[A.char(132)],Y(this,null,h,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:fe},g,ee),Y(this,null,te,{kind:`accessor`,name:`magic`,static:!1,private:!1,access:{has:e=>`magic`in e,get:e=>e.magic,set:(e,t)=>{e.magic=t}},metadata:fe},_,ne),Y(this,null,re,{kind:`accessor`,name:`version`,static:!1,private:!1,access:{has:e=>`version`in e,get:e=>e.version,set:(e,t)=>{e.version=t}},metadata:fe},ie,ae),Y(this,null,oe,{kind:`accessor`,name:`inode_format`,static:!1,private:!1,access:{has:e=>`inode_format`in e,get:e=>e.inode_format,set:(e,t)=>{e.inode_format=t}},metadata:fe},v,se),Y(this,null,ce,{kind:`accessor`,name:`flags`,static:!1,private:!1,access:{has:e=>`flags`in e,get:e=>e.flags,set:(e,t)=>{e.flags=t}},metadata:fe},le,ue),Y(this,null,de,{kind:`accessor`,name:`used_bytes`,static:!1,private:!1,access:{has:e=>`used_bytes`in e,get:e=>e.used_bytes,set:(e,t)=>{e.used_bytes=t}},metadata:fe},y,pe),Y(this,null,b,{kind:`accessor`,name:`total_bytes`,static:!1,private:!1,access:{has:e=>`total_bytes`in e,get:e=>e.total_bytes,set:(e,t)=>{e.total_bytes=t}},metadata:fe},x,S),Y(this,null,me,{kind:`accessor`,name:`uuid`,static:!1,private:!1,access:{has:e=>`uuid`in e,get:e=>e.uuid,set:(e,t)=>{e.uuid=t}},metadata:fe},he,w),Y(this,null,ge,{kind:`accessor`,name:`metadata_block_size`,static:!1,private:!1,access:{has:e=>`metadata_block_size`in e,get:e=>e.metadata_block_size,set:(e,t)=>{e.metadata_block_size=t}},metadata:fe},_e,ve),Y(this,null,ye,{kind:`accessor`,name:`metadata_offset_`,static:!1,private:!1,access:{has:e=>`metadata_offset_`in e,get:e=>e.metadata_offset_,set:(e,t)=>{e.metadata_offset_=t}},metadata:fe},be,xe),Y(this,null,Se,{kind:`accessor`,name:`metadata_offset`,static:!1,private:!1,access:{has:e=>`metadata_offset`in e,get:e=>e.metadata_offset,set:(e,t)=>{e.metadata_offset=t}},metadata:fe},we,Te),Y(this,null,De,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:fe},Oe,ke),Y(this,null,Ae,{kind:`accessor`,name:`_padding`,static:!1,private:!1,access:{has:e=>`_padding`in e,get:e=>e._padding,set:(e,t)=>{e._padding=t}},metadata:fe},je,Me),Y(null,d={value:p},u,{kind:`class`,name:p.name,metadata:fe},null,f),Ne=p=d.value,fe&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:fe})}static name=`SuperBlock`;constructor(...e){if(super(...e),X(this,Me),this.magic!=nf){E(`sbfs: Invalid magic value, assuming this is a fresh super block`);let e=new tf(this.buffer,k(Ne));Object.assign(this,{metadata:e,metadata_offset:e.byteOffset,used_bytes:BigInt(k(Ne)+k(tf)),total_bytes:BigInt(this.buffer.byteLength),magic:nf,version:1,inode_format:5,metadata_block_size:k(tf),uuid:fe(crypto.randomUUID())}),sf(this),sf(e);return}if(this.checksum!==of(this))throw Ce(C(`EIO`,`sbfs: checksum mismatch for super block`));if(this.metadata=new tf(this.buffer,this.metadata_offset),this.metadata.checksum!==of(this.metadata))throw Ce(C(`EIO`,`sbfs: checksum mismatch for metadata block (saved ${Qd(this.metadata.checksum)}, computed ${Qd(of(this.metadata))})`));if(this.inode_format!=5)throw Ce(C(`EIO`,`sbfs: inode format mismatch`));if(this.metadata_block_size!=k(tf))throw Ce(C(`EIO`,`sbfs: metadata block size mismatch`))}#e=X(this,g,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,ee),X(this,_,void 0));get magic(){return this.#t}set magic(e){this.#t=e}#n=(X(this,ne),X(this,ie,void 0));get version(){return this.#n}set version(e){this.#n=e}#r=(X(this,ae),X(this,v,void 0));get inode_format(){return this.#r}set inode_format(e){this.#r=e}#i=(X(this,se),X(this,le,void 0));get flags(){return this.#i}set flags(e){this.#i=e}#a=(X(this,ue),X(this,y,void 0));get used_bytes(){return this.#a}set used_bytes(e){this.#a=e}#o=(X(this,pe),X(this,x,void 0));get total_bytes(){return this.#o}set total_bytes(e){this.#o=e}#s=(X(this,S),X(this,he,void 0));get uuid(){return this.#s}set uuid(e){this.#s=e}#c=(X(this,w),X(this,_e,void 0));get metadata_block_size(){return this.#c}set metadata_block_size(e){this.#c=e}#l=(X(this,ve),X(this,be,void 0));get metadata_offset_(){return this.#l}set metadata_offset_(e){this.#l=e}#u=(X(this,xe),X(this,we,void 0));get metadata_offset(){return this.#u}set metadata_offset(e){this.#u=e}metadata=X(this,Te);#d=X(this,Oe,void 0);get label(){return this.#d}set label(e){this.#d=e}#f=(X(this,ke),X(this,je,void 0));get _padding(){return this.#f}set _padding(e){this.#f=e}rotateMetadata(){let e=BigInt(Int32Array.BYTES_PER_ELEMENT),t=BigInt(k(tf)),n=Atomics.load(this,2),r;for(;;){let i=(e-n%e)%e;r=n+i;let a=r+t;if(a>this.total_bytes)throw T(C(`ENOSPC`,`sbfs: not enough space for a new metadata block`));let o=Atomics.compareExchange(this,2,n,a);if(o===n)break;n=o}let i=new tf(this.buffer,Number(r)),a=new Uint32Array(this.buffer,this.byteOffset,k(Ne)/Uint32Array.BYTES_PER_ELEMENT),o=Atomics.load(a,af);for(;;){i.previous_offset=o,sf(i);let e=Atomics.compareExchange(a,af,o,i.byteOffset);if(e===o)break;o=e}return this.metadata=i,sf(this),Ee(`sbfs: rotated metadata block at ${Qd(i.previous_offset)} with new block at ${Qd(i.byteOffset)}`),i}isUnused(e,t){if(!t)return!0;if(e+t>this.total_bytes||e<k(Ne))return!1;for(let n=this.metadata;n;n=n.previous){if(e<n.byteOffset+k(tf)&&e+t>n.byteOffset)return!1;for(let r of n.items)if(r.offset&&(e>=r.offset&&e<r.offset+r.size||e+t>r.offset&&e+t<=r.offset+r.size||e<=r.offset&&e+t>=r.offset+r.size))return!1}return!0}static{X(p,f)}};return Ne=p})();const af=nn(rf,`metadata_offset`)/Uint32Array.BYTES_PER_ELEMENT;function of(e){let t=k(e)-4;return e instanceof tf&&(t-=Int32Array.BYTES_PER_ELEMENT),l(new Uint8Array(e.buffer,e.byteOffset+4,t))}function sf(e){e instanceof tf&&(e.timestamp=BigInt(Date.now())),e.checksum=of(e)}var cf=class extends a{flags=[];name=`sbfs`;type=1935828595;get uuid(){return de(this.superblock.uuid)}superblock;_view;_u8;constructor(...e){if(super(...e),this.byteLength<k(rf)+k(tf))throw Ce(C(`EINVAL`,`sbfs: Buffer is too small for a file system`));this._view=new DataView(this.buffer,this.byteOffset,this.byteLength),this._u8=new Uint8Array(this.buffer,this.byteOffset,this.byteLength),this.superblock=new rf(this.buffer,this.byteOffset)}*keys(){let e=new Set;for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)!n.offset||e.has(n.id)||(e.add(n.id),yield n.id)}}get(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items){if(!n.offset||n.id!=e)continue;let t=this.byteOffset+n.offset;return new Uint8Array(this.buffer.slice(t,t+n.size))}}}set(e,t){let n={stack:[],error:void 0,hasError:!1};try{if(e===0&&t.length<k(L))throw Se(C(`EIO`,`sbfs: tried to set ${t.length} bytes for id 0!`));for(let n=this.superblock.metadata;n;n=n.previous){n.waitUnlocked();for(let r of n.items){let i={stack:[],error:void 0,hasError:!1};try{if(!r.offset||r.id!=e)continue;if(Xd(i,n.lock(),!1),t.length==r.size){this._u8.set(t,r.offset);return}if(t.length<r.size||this.superblock.isUnused(r.offset,t.length)){this._u8.set(t,r.offset),r.size=t.length,sf(n);return}r.offset=Number(Atomics.add(this.superblock,2,BigInt(t.length))),r.size=t.length,this._u8.set(t,r.offset),sf(n),sf(this.superblock);return}catch(e){i.error=e,i.hasError=!0}finally{Zd(i)}}}let r=Array.from(this.superblock.metadata.items).find(e=>!e.offset);r||=(this.superblock.rotateMetadata(),this.superblock.metadata.items[0]),Xd(n,this.superblock.metadata.lock(),!1);let i=Number(Atomics.add(this.superblock,2,BigInt(t.length)));r.id=e,r.offset=i,r.size=t.length,this._u8.set(t,i),sf(this.superblock.metadata),sf(this.superblock)}catch(e){n.error=e,n.hasError=!0}finally{Zd(n)}}delete(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)if(n.id==e){n.offset=0,n.size=0,n.id=0,sf(t);return}}}_fs;get fs(){return this._fs}set fs(e){this.buffer.constructor.name===`SharedArrayBuffer`&&e?.attributes.set(`no_id_tables`,!0),this._fs=e}sync(){return Promise.resolve()}usage(){return{totalSpace:Number(this.superblock.total_bytes),freeSpace:Number(this.superblock.total_bytes-this.superblock.used_bytes)}}transaction(){return new Dr(this)}};const lf={name:`SingleBuffer`,options:{buffer:{type:`object`,required:!0}},create(e){let t=new Er(ArrayBuffer.isView(e.buffer)?new cf(e.buffer.buffer,e.buffer.byteOffset,e.buffer.byteLength):new cf(e.buffer));return t.checkRootSync(),t}},Z=()=>{};function uf(e,t,n=Z){du.call(this,e,t).then(()=>n(null)).catch(n)}function df(e,t=Z){fu.call(this,e).then(t).catch(()=>t(!1))}function ff(e,t,n=Z){n=typeof t==`function`?t:n,pu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function pf(e,t,n=Z){n=typeof t==`function`?t:n,mu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function mf(e,t=0,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`number`?t:0;hu.call(this,e,r).then(()=>n(null)).catch(n)}function hf(e,t=Z){gu.call(this,e).then(()=>t(null)).catch(t)}function gf(e,t,n,r=Z){let i=_n(n,420);r=typeof n==`function`?n:r,_u.call(this,e,t,i).then(e=>r(null,e.fd)).catch(r)}function _f(e,t,n=Z){n=typeof t==`function`?t:n,vu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function vf(e,t,n,r=Z){r=typeof n==`function`?n:r,yu.call(this,e,t,typeof n==`function`?null:n).then(()=>r(null)).catch(r)}function yf(e,t,n,r=Z){let i=typeof n==`function`?void 0:n;r=typeof n==`function`?n:r,bu.call(this,e,t,i).then(()=>r(null)).catch(r)}function bf(e,t,n=Z){n=typeof t==`function`?t:n,new uu(this,e).stat().then(e=>n(null,typeof t==`object`&&t?.bigint?new Un(e):e)).catch(n)}function xf(e,t=Z){new uu(this,e).close().then(()=>t(null)).catch(t)}function Sf(e,t,n=Z){let r=typeof t==`number`?t:0;n=typeof t==`function`?t:n;let i=new uu(this,e);if(r<0)throw C(`EINVAL`);i.truncate(r).then(()=>n(null)).catch(n)}function Cf(e,t=Z){new uu(this,e).sync().then(()=>t(null)).catch(t)}function wf(e,t=Z){new uu(this,e).datasync().then(()=>t(null)).catch(t)}function Tf(e,t,n,r,i,a=Z){let o,s,c,l,u,d=new uu(this,e),f=[n,r,i].find(e=>typeof e==`function`)??a;typeof t==`string`?(l=typeof n==`number`?n:null,u=typeof r==`string`?r:`utf8`,o=H.Buffer.from(t,u),s=0,c=o.byteLength):(o=H.Buffer.from(t.buffer,t.byteOffset,t.byteLength),s=typeof n==`number`?n:0,c=typeof r==`number`?r:o.byteLength-s,l=typeof i==`number`?i:null),d.write(o,s,c,l).then(({bytesWritten:e})=>f(null,e,typeof t==`string`?t:o)).catch(f)}function Ef(e,t,n,r,i,a=Z){new uu(this,e).read(t,n,r,i).then(({bytesRead:e,buffer:t})=>a(null,e,t)).catch(a)}function Df(e,t,n,r=Z){new uu(this,e).chown(t,n).then(()=>r(null)).catch(r)}function Of(e,t,n){new uu(this,e).chmod(t).then(()=>n(null)).catch(n)}function kf(e,t,n,r=Z){new uu(this,e).utimes(t,n).then(()=>r(null)).catch(r)}function Af(e,t=Z){xu.call(this,e).then(()=>t(null)).catch(t)}function jf(e,t,n=Z){Su.call(this,e,t).then(()=>n(null)).catch(n)}function Mf(e,t,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`function`?{}:t;Cu.call(this,e,r).then(e=>n(null,e)).catch(n)}function Nf(e,t,n=Z){wu.call(this,e,t).then(()=>n(null)).catch(n)}function Pf(e,t,n,r=Z){let i=typeof n==`string`?n:`file`;r=typeof n==`function`?n:r,Tu.call(this,e,t,i).then(()=>r(null)).catch(r)}function Ff(e,t,n=Z){n=typeof t==`function`?t:n,Eu.call(this,e).then(e=>n(null,e)).catch(n)}function If(e,t,n,r=Z){Du.call(this,e,t,n).then(()=>r(null)).catch(r)}function Lf(e,t,n,r=Z){Ou.call(this,e,t,n).then(()=>r(null)).catch(r)}function Rf(e,t,n=Z){ku.call(this,e,t).then(()=>n(null)).catch(n)}function zf(e,t,n=Z){Au.call(this,e,t).then(()=>n(null)).catch(n)}function Bf(e,t,n,r=Z){ju.call(this,e,t,n).then(()=>r(null)).catch(r)}function Vf(e,t,n,r=Z){Mu.call(this,e,t,n).then(()=>r(null)).catch(r)}function Hf(e,t,n=Z){n=typeof t==`function`?t:n,Nu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Uf(e,t,n=Z){let r=typeof t==`number`?t:4;n=typeof t==`function`?t:n,Fu.call(this,e,r).then(()=>n(null)).catch(n)}const Wf=new Map;function Gf(e,t,n){let r=j.call(this,e),i=typeof t==`function`?{}:t;if(typeof t==`function`&&(n=t),!n)throw S(`EINVAL`,`watch`,e.toString());if(Wf.has(r)){let e=Wf.get(r);e&&e.listeners.add(n);return}let a=new Ia(this,r,i);a.on(`change`,(e,t)=>{let n=Wf.get(r);if(n)for(let r of n.listeners)r(e,t)}),Wf.set(r,{watcher:a,listeners:new Set([n])})}function Kf(e,t=Z){let n=j.call(this,e),r=Wf.get(n);r&&(t&&t!==Z?r.listeners.delete(t):r.listeners.clear(),r.listeners.size===0&&(r.watcher.stop(),Wf.delete(n)))}function qf(e,t,n){let r=new Fa(this,j.call(this,e),typeof t==`object`?t:{});return n=typeof t==`function`?t:n,r.on(`change`,n||Z),r}function Jf(e,t){t=typeof t==`object`?t:{encoding:t};let n=_u.call(this,e,`r`,t?.mode);return new ru({...t,autoClose:!0,signal:t?.signal??void 0},n)}function Yf(e,t){t=typeof t==`object`?t:{encoding:t};let n=_u.call(this,e,`w`,t?.mode);return new iu(t,n)}function Xf(e,t,n=Z){n=typeof t==`function`?t:n,Iu.call(this,e,typeof t==`function`?void 0:t).then(()=>n(null)).catch(n)}function Zf(e,t,n=Z){n=typeof t==`function`?t:n,Lu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Qf(e,t,n,r=Z){r=typeof n==`function`?n:r,zu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function $f(e,t,n,r=Z){r=typeof n==`function`?n:r,new uu(this,e).readv(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesRead:t})=>r(null,t,e)).catch(r)}function ep(e,t,n,r=Z){r=typeof n==`function`?n:r,new uu(this,e).writev(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesWritten:t})=>r(null,t,e)).catch(r)}function tp(e,t,n=Z){n=typeof t==`function`?t:n,Bu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}function np(e,t,n,r=Z){r=typeof n==`function`?n:r,Vu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function rp(e,t,n=Z){n=typeof t==`function`?t:n,Hu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}async function ip(e,t){let n=await _u.call(this,e.toString(),`r`),r=await n.readFile();return await n.close(),new Blob([r],t)}function ap(e,t,n=Z){n=typeof t==`function`?t:n;let r=Uu.call(this,e,typeof t==`function`?void 0:t);Array.fromAsync(r).then(e=>n(null,e??[])).catch(e=>n(e))}function op(e,t){return Object.assign(Error(t),{code:e})}function sp(e,t,n){return op(`ERR_INVALID_ARG_TYPE`,`The "${e}" argument must be of type ${t}. Received ${typeof n}`)}function cp(e){return op(`ERR_INVALID_STATE`,`Invalid state: `+e)}function lp(e,t){if(typeof e!=`number`)throw sp(t,`number`,e);if(!Number.isInteger(e)||e<0||e>4294967295)throw op(`ERR_OUT_OF_RANGE`,`The value of "${t}" is out of range. It must be an integer >= 0 and <= 4294967295. Received ${e}`)}const up=16384,dp=H.Buffer.alloc(0),fp={open:gf,openSync:qi,close:xf,write:Tf,writeSync:ia,fsync:Cf,fsyncSync:na,mkdir:jf,mkdirSync:ua};function pp(e,t,n){if(typeof e==`string`){if(H.Buffer.byteLength(e)===n)n=e.length;else{let t=H.Buffer.from(e);for(;n>0&&(t[n]&192)==128;)n--;n=t.subarray(0,n).toString().length}}return{writingBuf:e.slice(n),len:Math.max(t-n,0)}}function mp(e,t){return e.length?e.length==1?e[0]:H.Buffer.concat(e,t):dp}const hp=Symbol(`Utf8StreamFS`);var gp=class extends u.default{#e=0;#t=-1;#n=[];#r=[];#i=!1;#a=!1;#o=!1;#s=!1;#c=!1;#l=16387;#u=null;#d=!1;#f=0;#p=0;#m=up;#h=!1;#g=0;#_;#v=!1;#y=!1;#b=!0;#x;#S=()=>!0;#C=!1;#w;#T=``;#E;static[hp]=fp;static _withContext(e){Xe(e);class t extends gp{static[hp]=ee(fp,e)}return t}constructor(e={}){if(typeof e!=`object`||!e)throw sp(`options`,`object`,e);let{dest:t,minLength:n,maxLength:r,maxWrite:i,periodicFlush:a,sync:o,append:s=!0,mkdir:c,retryEAGAIN:l,fsync:u,contentMode:d=`utf8`,mode:f,fs:p={}}=e;super();let m=e.fd??t;if(typeof p!=`object`||!p)throw sp(`options.fs`,`object`,p);this.#E={...this.constructor[hp],...p};let h=this.#E;for(let e of[`write`,`writeSync`,`fsync`,`fsyncSync`,`close`,`open`,`mkdir`,`mkdirSync`])if(typeof h[e]!=`function`)throw sp(`options.fs.${e}`,`function`,h[e]);this.#l=Math.max(n||0,this.#l),this.#f=n||0,this.#p=r||0,this.#m=i||up,this.#g=a||0,this.#v=o||!1,this.#y=u||!1,this.#b=s||!1,this.#x=f,this.#S=l||(()=>!0),this.#C=c||!1,lp(this.#l,`options.hwm`),lp(this.#f,`options.minLength`),lp(this.#p,`options.maxLength`),lp(this.#m,`options.maxWrite`),lp(this.#g,`options.periodicFlush`);for(let[e,t]of[[`sync`,this.#v],[`fsync`,this.#y],[`append`,this.#b],[`mkdir`,this.#C]])if(typeof t!=`boolean`)throw sp(`options.${e}`,`boolean`,t);if(typeof this.#S!=`function`)throw sp(`options.retryEAGAIN`,`function`,this.#S);if(d!=`buffer`&&d!=`utf8`)throw op(`ERR_INVALID_ARG_VALUE`,`The property 'options.contentMode' must be one of: 'buffer', 'utf8'. Received ${JSON.stringify(d)}`);if(this.#w=d,this.#T=d==`buffer`?dp:``,typeof m==`number`)this.#t=m,queueMicrotask(()=>this.emit(`ready`));else if(typeof m==`string`)this.#N(m);else throw sp(`fd`,`number or string`,m);if(this.#f>=this.#m)throw op(`ERR_INVALID_ARG_VALUE`,`The argument 'minLength' should be smaller than maxWrite (${this.#m}). Received ${this.#f}`);this.#g!==0&&(this.#_=setInterval(()=>this.flush(),this.#g),this.#_.unref?.())}write(e){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#w==`buffer`){if(!H.Buffer.isBuffer(e))throw sp(`data`,`Buffer`,e)}else if(typeof e!=`string`)throw sp(`data`,`string`,e);let t=this.#e+e.length;if(this.#p&&t>this.#p)return this.emit(`drop`,e),this.#e<this.#l;let n=this.#n.length-1;if(this.#w==`buffer`){let t=this.#n;!t.length||this.#r[n]+e.length>this.#m?(t.push([e]),this.#r.push(e.length)):(t[n].push(e),this.#r[n]+=e.length)}else{let t=this.#n;!t.length||t[n].length+e.length>this.#m?t.push(e):t[n]+=e}return this.#e=t,!this.#i&&this.#e>=this.#f&&this.#F(),this.#e<this.#l}flush(e){if(e!=null&&typeof e!=`function`)throw sp(`cb`,`function`,e);if(this.#d){let t=cp(`Utf8Stream is destroyed`);if(!e)throw t;e(t);return}if(this.#f<=0){e?.(null);return}e&&this.#I(e),!this.#i&&(this.#n.length||(this.#n.push(this.#w==`buffer`?[]:``),this.#w==`buffer`&&this.#r.push(0)),this.#F())}flushSync(){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#t<0)throw cp(`Invalid file descriptor`);this.#w==`buffer`?this.#D():this.#O()}#D(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift([this.#T]),this.#T=dp);let t=dp;for(;e.length||t.length;){t.length<=0&&(t=mp(e[0],this.#r[0]));let n=this.#E.writeSync(this.#t,t);t=t.subarray(n),this.#e=Math.max(this.#e-n,0),t.length<=0&&(e.shift(),this.#r.shift())}}#O(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift(this.#T),this.#T=``);let t=``;for(;e.length||t;){t.length<=0&&(t=e[0]);let n=this.#E.writeSync(this.#t,t,`utf8`),r=pp(t,this.#e,n);t=r.writingBuf,this.#e=r.len,t.length<=0&&e.shift()}try{this.#E.fsyncSync(this.#t)}catch{}}reopen(e){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.reopen(e));return}if(this.#a)return;if(!this.#u)throw op(`ERR_OPERATION_FAILED`,`Unable to reopen a file descriptor, you must pass a file to Utf8Stream`);if(e&&(this.#u=e.toString()),this.#o=!0,this.#i)return;let t=this.#t;this.once(`ready`,()=>{t!==this.#t&&this.#E.close(t,e=>{e&&this.emit(`error`,e)})}),this.#N(this.#u)}end(){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.end());return}this.#a||(this.#a=!0,!this.#i&&(this.#e>0&&this.#t>=0?this.#F():this.#P()))}destroy(){this.#d||this.#P()}get mode(){return this.#x}get file(){return this.#u}get fd(){return this.#t}get minLength(){return this.#f}get maxLength(){return this.#p}get writing(){return this.#i}get sync(){return this.#v}get fsync(){return this.#y}get append(){return this.#b}get periodicFlush(){return this.#g}get contentMode(){return this.#w}get mkdir(){return this.#C}[Symbol.dispose](){this.destroy()}#k(){this.listenerCount(`drain`)&&(this.#s=!1,this.emit(`drain`))}#A(e,t=0){if(e){!this.#v&&(e.code===`EAGAIN`||e.code===`EBUSY`)&&this.#S(e,this.#T.length,this.#e-this.#T.length)?setTimeout(()=>this.#j(),100):(this.#i=!1,this.emit(`error`,e));return}this.emit(`write`,t);let n=pp(this.#T,this.#e,t);if(this.#e=n.len,this.#T=n.writingBuf,this.#T.length){if(!this.#v){this.#j();return}try{do{let e=this.#M(),t=pp(this.#T,this.#e,e);this.#e=t.len,this.#T=t.writingBuf}while(this.#T.length)}catch(e){this.#A(e);return}}this.#y&&this.#E.fsyncSync(this.#t);let r=this.#e;this.#o?(this.#i=!1,this.#o=!1,this.reopen()):r>this.#f?this.#F():this.#a?r>0?this.#F():(this.#i=!1,this.#P()):(this.#i=!1,this.#v?this.#s||(this.#s=!0,queueMicrotask(()=>this.#k())):this.emit(`drain`))}#j(){this.#w==`buffer`?this.#E.write(this.#t,this.#T,(e,t)=>this.#A(e,t)):this.#E.write(this.#t,this.#T,`utf8`,(e,t)=>this.#A(e,t))}#M(){return this.#w==`buffer`?this.#E.writeSync(this.#t,this.#T):this.#E.writeSync(this.#t,this.#T,`utf8`)}#N(e){this.#h=!0,this.#i=!0,this.#s=!1;let t=(t,n=-1)=>{if(t){this.#o=!1,this.#i=!1,this.#h=!1,this.#v?queueMicrotask(()=>void(this.listenerCount(`error`)&&this.emit(`error`,t))):this.emit(`error`,t);return}let r=this.#o;this.#t=n,this.#u=e,this.#o=!1,this.#h=!1,this.#i=!1,this.#v?queueMicrotask(()=>this.emit(`ready`)):this.emit(`ready`),!this.#d&&(!this.#i&&this.#e>this.#f||this.#c?this.#F():r&&queueMicrotask(()=>this.emit(`drain`)))},n=this.#b?`a`:`w`,r=this.#x??438;if(this.#v)try{this.#C&&this.#E.mkdirSync(N(e),{recursive:!0}),t(null,this.#E.openSync(e,n,r))}catch(e){throw t(e),e}else this.#C?this.#E.mkdir(N(e),{recursive:!0},i=>{if(i)return t(i);this.#E.open(e,n,r,t)}):this.#E.open(e,n,r,t)}#P(){if(this.#t===-1){this.once(`ready`,()=>this.#P());return}this.#_!==void 0&&clearInterval(this.#_),this.#d=!0,this.#n=[],this.#r=[];let e=e=>{if(e){this.emit(`error`,e);return}this.#a&&!this.#i&&this.emit(`finish`),this.emit(`close`)},t=()=>{this.#t!==1&&this.#t!==2?this.#E.close(this.#t,e):e(null)};try{this.#E.fsync(this.#t,t)}catch{}}#F(){if(this.#i=!0,this.#w==`buffer`?this.#T=this.#T.length?this.#T:mp(this.#n.shift()??[],this.#r.shift()??0):this.#T||=this.#n.shift()||``,!this.#v){this.#j();return}try{this.#A(null,this.#M())}catch(e){this.#A(e)}}#I(e){this.#c=!0;let t=()=>{if(this.#y||this.#d)this.#c=!1,e(null);else try{this.#E.fsync(this.#t,t=>{this.#c=!1,e(t?.code==`EBADF`?null:t)})}catch(t){this.#c=!1,e(t)}this.off(`error`,n)},n=n=>{this.#c=!1,e(n),this.off(`drain`,t)};this.once(`drain`,t),this.once(`error`,n)}on(e,t,n){return e===`drain`&&(this.#s=!1),super.on(e,t,n)}addListener(e,t,n){return this.on(e,t,n)}once(e,t,n){return e===`drain`&&(this.#s=!1),super.once(e,t,n)}off(e,t,n,r){return super.off(e,t,n,r)}removeListener(e,t,n,r){return super.removeListener(e,t,n,r)}setMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.setMaxListeners`)}getMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.getMaxListeners`)}prependListener(){throw S(`ENOSYS`,`Utf8Stream.prependListener`)}prependOnceListener(){throw S(`ENOSYS`,`Utf8Stream.prependOnceListener`)}rawListeners(){throw S(`ENOSYS`,`Utf8Stream.rawListeners`)}},_p=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>gp,WriteStream:()=>iu,access:()=>Uf,accessSync:()=>Sa,appendFile:()=>yf,appendFileSync:()=>Qi,chmod:()=>Rf,chmodSync:()=>_a,chown:()=>If,chownSync:()=>ha,close:()=>xf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Qf,copyFileSync:()=>Ea,cp:()=>np,cpSync:()=>Aa,createReadStream:()=>Jf,createWriteStream:()=>Yf,exists:()=>df,existsSync:()=>Hi,fchmod:()=>Of,fchmodSync:()=>sa,fchown:()=>Df,fchownSync:()=>oa,fdatasync:()=>wf,fdatasyncSync:()=>ra,fstat:()=>bf,fstatSync:()=>$i,fsync:()=>Cf,fsyncSync:()=>na,ftruncate:()=>Sf,ftruncateSync:()=>ta,futimes:()=>kf,futimesSync:()=>ca,glob:()=>ap,globSync:()=>Ma,lchmod:()=>zf,lchmodSync:()=>va,lchown:()=>Lf,lchownSync:()=>ga,link:()=>Nf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>pf,lstatSync:()=>Wi,lutimes:()=>Vf,lutimesSync:()=>ba,mkdir:()=>jf,mkdirSync:()=>ua,mkdtemp:()=>Zf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,open:()=>gf,openAsBlob:()=>ip,openSync:()=>qi,opendir:()=>tp,opendirSync:()=>ka,promises:()=>au,read:()=>Ef,readFile:()=>_f,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>Mf,readdirSync:()=>da,readlink:()=>Ff,readlinkSync:()=>ma,readv:()=>$f,readvSync:()=>Da,realpath:()=>Hf,realpathSync:()=>xa,rename:()=>uf,renameSync:()=>Vi,rm:()=>Xf,rmSync:()=>Ca,rmdir:()=>Af,rmdirSync:()=>la,stat:()=>ff,statSync:()=>Ui,statfs:()=>rp,statfsSync:()=>ja,symlink:()=>Pf,symlinkSync:()=>pa,truncate:()=>mf,truncateSync:()=>Gi,unlink:()=>hf,unlinkSync:()=>Ki,unwatchFile:()=>Kf,utimes:()=>Bf,utimesSync:()=>ya,watch:()=>qf,watchFile:()=>Gf,write:()=>Tf,writeFile:()=>vf,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>ep,writevSync:()=>Oa}),vp=t({allowedRestrictedNames:()=>yp,get:()=>xp,getSync:()=>Sp,list:()=>Dp,listSync:()=>Op,remove:()=>Tp,removeSync:()=>Ep,set:()=>Cp,setSync:()=>wp});const yp=new Set;function bp(e,t,n,r){if(!t.startsWith(`user.`)&&!yp.has(t))throw S(`ENOTSUP`,r,n)}async function xp(e,t,n={}){e=j.call(this,e);let{fs:r,path:i}=G(e,this);bp(this,t,e,`xattr.get`);let a=await r.stat(i).catch(me(`xattr.get`,e));if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}function Sp(e,t,n={}){e=j.call(this,e),bp(this,t,e,`xattr.get`);let{fs:r,path:i}=G(e,this),a;try{a=r.statSync(i)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}async function Cp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);bp(this,t,e,`xattr.set`);let o=await i.stat(a).catch(me(`xattr.set`,e));if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n)),await i.touch(a,o).catch(me(`xattr.set`,e))}function wp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);bp(this,t,e,`xattr.set`);let o;try{o=i.statSync(a)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n));try{i.touchSync(a,o)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Tp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);bp(this,t,e,`xattr.remove`);let i=await n.stat(r).catch(me(`xattr.remove`,e));if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t),await n.touch(r,i)}function Ep(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);bp(this,t,e,`xattr.remove`);let i;try{i=n.statSync(r)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t);try{n.touchSync(r,i)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Dp(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r=await t.stat(n).catch(me(`xattr.list`,e));return r.attributes?[...r.attributes.keys()]:[]}function Op(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r;try{r=t.statSync(n)}catch(t){throw b(Object.assign(t,{path:e}))}return r.attributes?[...r.attributes.keys()]:[]}const kp=new Map;function Ap(e={}){let t=D(this),n=t.parent||Ze;if(!Ui.call(n,n.root).isDirectory())throw S(`ENOTDIR`,{syscall:`chroot`,path:n.root});let r=$e(t,e),i=Object.assign(r,{fs:{...ee(_p,r),Utf8Stream:gp._withContext(r),promises:ee(au,r),xattr:ee(vp,r)},path:ee(Dn,r),bind:e=>{let t=Ap.call(r,e);return r.children.push(t),t}});return kp.set(r.id,i),i}var Q=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},$=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),jp=class extends qr{_fs;get type(){return this._fs.type}get name(){return this._fs.name}get label(){return this._fs.label}set label(e){this._fs.label=e}get attributes(){return this._fs.attributes}get _uuid(){return this._fs._uuid}set _uuid(e){this._fs._uuid=e}get uuid(){return this._fs.uuid}async ready(){return await this._fs.ready()}readySync(){return this._fs.readySync()}usage(){return this._fs.usage()}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.touch(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,this.lockSync(`rw`),!1),this._fs.touchSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async createFile(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.createFile(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}createFileSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.createFileSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async unlink(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}unlinkSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async rmdir(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}rmdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async mkdir(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}mkdirSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async exists(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}existsSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async sync(){let e={stack:[],error:void 0,hasError:!1};try{Q(e,await this.lock(`rw`),!1),await this._fs.sync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}syncSync(){let e={stack:[],error:void 0,hasError:!1};try{return Q(e,this.lockSync(`rw`),!1),this._fs.syncSync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,await this.lock(`ro`),!1),await this._fs.read(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,this.lockSync(`ro`),!1),this._fs.readSync(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.write(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.writeSync(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}streamRead(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`ro`),!1),this._fs.streamRead(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}streamWrite(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.streamWrite(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async ioctl(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.ioctl({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}ioctlSync(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.ioctlSync({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}};function Mp(e){class t extends jp{constructor(...t){super(),this._fs=new e(...t)}}return t}function Np(e){class t extends e{constructor(...e){super(...e),this.attributes.set(`no_write`)}async rename(){throw C(`EROFS`)}renameSync(){throw C(`EROFS`)}async createFile(){throw C(`EROFS`)}createFileSync(){throw C(`EROFS`)}async unlink(){throw C(`EROFS`)}unlinkSync(){throw C(`EROFS`)}async rmdir(){throw C(`EROFS`)}rmdirSync(){throw C(`EROFS`)}async mkdir(){throw C(`EROFS`)}mkdirSync(){throw C(`EROFS`)}async link(){throw C(`EROFS`)}linkSync(){throw C(`EROFS`)}async touch(){throw C(`EROFS`)}touchSync(){throw C(`EROFS`)}async sync(){throw C(`EROFS`)}syncSync(){throw C(`EROFS`)}async write(){throw C(`EROFS`)}writeSync(){throw C(`EROFS`)}streamWrite(){throw C(`EROFS`)}}return t}function Pp(e){class t extends e{async exists(e){return this.existsSync(e)}async rename(e,t){return this.renameSync(e,t)}async stat(e){return this.statSync(e)}async touch(e,t){return this.touchSync(e,t)}async createFile(e,t){return this.createFileSync(e,t)}async unlink(e){return this.unlinkSync(e)}async rmdir(e){return this.rmdirSync(e)}async mkdir(e,t){return this.mkdirSync(e,t)}async readdir(e){return this.readdirSync(e)}async link(e,t){return this.linkSync(e,t)}async sync(){return this.syncSync()}async read(e,t,n,r){return this.readSync(e,t,n,r)}async write(e,t,n){return this.writeSync(e,t,n)}async ioctl(e,t,...n){return this.ioctlSync(e,t,...n)}}return t}async function Fp(e,t,...n){let r,i,a;if(typeof e==`number`)a=ci(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=await Ua(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return await i.fs.ioctl(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}function Ip(e,t,...n){let r,i,a;if(typeof e==`number`)a=ci(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=Oi(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return i.fs.ioctlSync(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}var Lp={name:`@zenfs/core`,version:`2.7.6`,description:`A filesystem, anywhere`,funding:{type:`individual`,url:`https://github.com/sponsors/james-pre`},main:`dist/index.js`,types:`dist/index.d.ts`,keywords:[`filesystem`,`node`,`storage`,`fs`,`browser`],bin:{"make-index":`scripts/make-index.js`,"zenfs-test":`scripts/test.js`,zci:`scripts/ci-cli.js`},files:[`dist`,`tests`,`license.md`,`eslint.shared.js`],type:`module`,homepage:`https://zenfs.dev/core`,author:`James Prevett <jp@jamespre.dev> (https://jamespre.dev)`,contributors:[`John Vilk <jvilk@cs.umass.edu>`],license:`LGPL-3.0-or-later`,repository:{type:`git`,url:`git+https://github.com/zen-fs/core.git`},bugs:{url:`https://github.com/zen-fs/core/issues`},engines:{node:`>= 18`},exports:{".":`./dist/index.js`,"./*.js":`./dist/*.js`,"./*":`./dist/*.js`,"./emulation/*":`./dist/node/*`,"./promises":`./dist/node/promises.js`,"./readline":`./dist/node/readline.js`,"./eslint":`./eslint.shared.js`,"./tests/*.ts":`./tests/*.ts`,"./tests/*.js":`./tests/*.js`,"./tests/*":`./tests/*.js`,"./types/*":`./types/*`},publishConfig:{access:`public`,provenance:!0},scripts:{format:`prettier --write .`,"format:check":`prettier --check .`,"spdx:check":`npx lice -a src tests/*.ts tests/**/*.test.ts`,"spdx:fix":`npx lice -aw src tests/*.ts tests/**/*.test.ts`,lint:`eslint src tests`,test:`npx -s zenfs-test --clean; npx -s zenfs-test -abcpn; tests/fetch/run.sh; npx -s zenfs-test --report-only`,"test:native":`npx -s zenfs-test tests/native-setup.ts --verbose`,"test:perf":`zbench`,build:`tsc --build`,dev:`tsc --build --watch`,prepublishOnly:`npm run build`},dependencies:{"@types/node":`^26.0.0`,"@zenfs/streams":`^1.0.0`,buffer:`^6.0.3`,eventemitter3:`^5.0.1`,kerium:`^1.5.0`,memium:`^1.0.0`,utilium:`^3.7.0`},devDependencies:{"@eslint/js":`^10.0.1`,"@octokit/action":`^8.0.4`,c8:`^12.0.0`,eslint:`^10.1.0`,globals:`^17.3.0`,prettier:`^3.2.5`,typedoc:`^0.28.18`,typescript:`^6.0.0`,"typescript-eslint":`^8.58.0`,"zbench-js":`^0.2.0`},prettier:{singleQuote:!0,useTabs:!0,trailingComma:`es5`,tabWidth:4,printWidth:150,arrowParens:`avoid`,experimentalOperatorPosition:`start`}},Rp=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>gp,WriteStream:()=>iu,_version:()=>zp,access:()=>Uf,accessSync:()=>Sa,appendFile:()=>yf,appendFileSync:()=>Qi,chmod:()=>Rf,chmodSync:()=>_a,chown:()=>If,chownSync:()=>ha,chroot:()=>Ci,close:()=>xf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Qf,copyFileSync:()=>Ea,cp:()=>np,cpSync:()=>Aa,createReadStream:()=>Jf,createWriteStream:()=>Yf,exists:()=>df,existsSync:()=>Hi,fchmod:()=>Of,fchmodSync:()=>sa,fchown:()=>Df,fchownSync:()=>oa,fdatasync:()=>wf,fdatasyncSync:()=>ra,fstat:()=>bf,fstatSync:()=>$i,fsync:()=>Cf,fsyncSync:()=>na,ftruncate:()=>Sf,ftruncateSync:()=>ta,futimes:()=>kf,futimesSync:()=>ca,glob:()=>ap,globSync:()=>Ma,ioctl:()=>Fp,ioctlSync:()=>Ip,lchmod:()=>zf,lchmodSync:()=>va,lchown:()=>Lf,lchownSync:()=>ga,link:()=>Nf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>pf,lstatSync:()=>Wi,lutimes:()=>Vf,lutimesSync:()=>ba,mkdir:()=>jf,mkdirSync:()=>ua,mkdtemp:()=>Zf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,mount:()=>bi,open:()=>gf,openAsBlob:()=>ip,openSync:()=>qi,opendir:()=>tp,opendirSync:()=>ka,promises:()=>au,read:()=>Ef,readFile:()=>_f,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>Mf,readdirSync:()=>da,readlink:()=>Ff,readlinkSync:()=>ma,readv:()=>$f,readvSync:()=>Da,realpath:()=>Hf,realpathSync:()=>xa,rename:()=>uf,renameSync:()=>Vi,rm:()=>Xf,rmSync:()=>Ca,rmdir:()=>Af,rmdirSync:()=>la,stat:()=>ff,statSync:()=>Ui,statfs:()=>rp,statfsSync:()=>ja,symlink:()=>Pf,symlinkSync:()=>pa,truncate:()=>mf,truncateSync:()=>Gi,umount:()=>xi,unlink:()=>hf,unlinkSync:()=>Ki,unwatchFile:()=>Kf,utimes:()=>Bf,utimesSync:()=>ya,watch:()=>qf,watchFile:()=>Gf,write:()=>Tf,writeFile:()=>vf,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>ep,writevSync:()=>Oa,xattr:()=>vp});const zp=Lp.version;var Bp=t({DirType:()=>Br,Dirent:()=>Ur,Handle:()=>oi,chroot:()=>Ci,deleteFD:()=>li,dtToIf:()=>Hr,dupFD:()=>ui,fromFD:()=>ci,ifToDt:()=>Vr,ioctl:()=>Fp,ioctlSync:()=>Ip,link:()=>Ya,mkdir:()=>Ka,mount:()=>bi,open:()=>Wa,readdir:()=>qa,readlink:()=>Ga,rename:()=>Ja,resolve:()=>Ua,stat:()=>Xa,sync:()=>Ti,toFD:()=>si,umount:()=>xi,xattr:()=>vp}),Vp=Rp
|
|
13
12
|
/*!
|
|
14
13
|
* @zenfs/core — https://npmjs.com/package/@zenfs/core
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./js-realm-worker-
|
|
1
|
+
import{n as e}from"./js-realm-worker-B1CEe3a_.js";const t={EACCES:2,EBADF:8,EBUSY:10,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ELOOP:32,ENAMETOOLONG:37,ENOENT:44,ENOSPC:51,ENOSYS:52,ENOTDIR:54,ENOTEMPTY:55,EPERM:63,EROFS:69,ETIMEDOUT:73,EXDEV:75},n=4095;function r(e,n){if(n?.errno!==void 0&&n instanceof e.ErrnoError)return n;let r=n?.code,i=typeof r==`string`?t[r]??29:29;return new e.ErrnoError(i)}function i(e){let t=[],n=e;for(;n!==n.mount.root;)t.push(n.name),n=n.parent;let r=e.mount.opts.root.replace(/\/+$/,``);return t.length===0?r||`/`:`${r}/${t.reverse().join(`/`)}`}function a(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)||1}function o(e){let t=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return t|((e.mode??r)&n||r)}function s(e){if(e!=null)return e instanceof Date?e.getTime():e}function c(e,n){let a=e=>e.mount.opts.bridge;function s(t){try{return t()}catch(t){throw r(e,t)}}function c(e){try{s(e)}catch(e){if(e.errno!==t.ENOSYS)throw e}}function l(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function u(t,r,i){let a=e.createNode(t,r,o(i),0);return a.node_ops=n.node,a.stream_ops=n.stream,a.live=l(i),a}function d(e){if(e.live.orphan)return{...e.live.stat,size:e.live.len};if(!e.live.stat){let t=s(()=>a(e).lstat(i(e)));e.live.stat=t,e.mode=o(t)}return e.live.stat}function f(e,t){let n=i(e);return n===`/`?`/${t}`:`${n}/${t}`}function p(e){let t=e.live;if(t.loaded)return;let n=s(()=>a(e).readFile(i(e)));t.data=n,t.len=n.length,t.loaded=!0}function m(e,t){let n=e.live,r=n.data??new Uint8Array;if(r.length>=t)return r;let i=new Uint8Array(Math.max(t,r.length*2,256));return i.set(r.subarray(0,n.len)),n.data=i,i}function h(e){let t=e.live;if(!t.dirty||!t.data||t.orphan)return;let n=t.data.slice(0,t.len);s(()=>a(e).writeFile(i(e),n)),t.dirty=!1,t.stat=void 0}function g(e,t){let n=e.live;if(n.openCount>0){t>0?p(e):n.loaded=!0;let r=m(e,t);t>n.len&&r.fill(0,n.len,t),n.len=t,n.dirty=!0;return}let r=i(e),o=new Uint8Array(t);if(t>0){let n=s(()=>a(e).readFile(r));o.set(n.subarray(0,Math.min(t,n.length)))}s(()=>a(e).writeFile(r,o)),n.stat=void 0}return{Fs:e,bridgeOf:a,call:s,metadataCall:c,makeNode:u,statOf:d,childPath:f,ensureLoaded:p,ensureCapacity:m,flushNode:h,truncate:g}}function l(e){let{Fs:r,bridgeOf:o,call:c,metadataCall:l,makeNode:u,statOf:d,childPath:f,flushNode:p,truncate:m}=e,{ensureLoaded:h}=e;return{getattr(e){let t=d(e),n=e.live,o=r.isDir(e.mode)?4096:n.loaded?n.len:t.size,s=new Date(t.mtimeMs??0);return{dev:1,ino:t.ino??a(i(e)),mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,atime:s,mtime:s,ctime:s,blksize:4096,blocks:Math.ceil(o/4096)}},setattr(e,t){if(e.live.orphan){t.mode!==void 0&&t.mode!==null&&(e.mode=e.mode&-4096|t.mode&n),t.size!==void 0&&t.size!==null&&m(e,t.size);return}let a=i(e);if(t.mode!==void 0&&t.mode!==null){let r=t.mode&n;r!==(e.mode&n)&&(l(()=>o(e).chmod(a,r)),e.mode=e.mode&-4096|r)}t.size!==void 0&&t.size!==null&&r.isFile(e.mode)&&m(e,t.size);let c=s(t.mtime)??t.timestamp;if(c!==void 0){let n=s(t.atime)??c;p(e),l(()=>o(e).utimes(a,n,c))}e.live.stat=void 0},lookup(e,t){let n=c(()=>o(e).lstat(f(e,t)));return u(e,t,n)},mknod(e,n,i){let a=f(e,n);if(r.isDir(i)){c(()=>o(e).mkdir(a));let t=i&4077;t!==493&&l(()=>o(e).chmod(a,t))}else if(r.isFile(i))c(()=>o(e).writeFile(a,new Uint8Array));else throw new r.ErrnoError(t.EPERM);let s=u(e,n,{isFile:r.isFile(i),isDirectory:r.isDir(i),isSymbolicLink:!1,size:0,mode:i,mtimeMs:Date.now()});return s.live.stat=void 0,s},rename(e,t,n){let a=i(e),s=f(t,n);p(e),c(()=>o(e).rename(a,s));try{let i=r.lookupNode?.(t,n);i&&i!==e&&r.hashRemoveNode?.(i)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){let n;try{let i=r.lookupNode?.(e,t);i&&i.live?.openCount>0&&r.isFile(i.mode)&&(n=i)}catch{}n&&(d(n),h(n)),c(()=>o(e).unlink(f(e,t))),n&&(n.live.orphan=!0)},rmdir(e,t){c(()=>o(e).rmdir(f(e,t)))},readdir(e){return[`.`,`..`,...c(()=>o(e).readdir(i(e)))]},symlink(e,t,n){let r=f(e,t);return c(()=>o(e).symlink(n,r)),u(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(e){if(!r.isLink(e.mode))throw new r.ErrnoError(t.EINVAL);return c(()=>o(e).readlink(i(e)))}}}function u(e){let{Fs:n,statOf:r,ensureLoaded:i,ensureCapacity:a,flushNode:o}=e;return{open(e){n.isFile(e.node.mode)&&e.node.live.openCount++},dup(e){n.isFile(e.node.mode)&&e.node.live.openCount++},close(e){let t=e.node;if(!n.isFile(t.mode))return;let r=t.live;if(r.openCount=Math.max(0,r.openCount-1),!(r.openCount>0))try{o(t)}finally{r.data=void 0,r.len=0,r.loaded=!1}},read(e,r,a,o,s){let c=e.node;if(n.isDir(c.mode))throw new n.ErrnoError(t.EISDIR);i(c);let l=c.live;if(s>=l.len||o<=0)return 0;let u=Math.min(o,l.len-s);return new Uint8Array(r.buffer,r.byteOffset+a,u).set(l.data.subarray(s,s+u)),u},write(e,r,o,s,c){let l=e.node;if(n.isDir(l.mode))throw new n.ErrnoError(t.EISDIR);if(s<=0)return 0;i(l);let u=l.live,d=c+s,f=a(l,d);return c>u.len&&f.fill(0,u.len,c),f.set(new Uint8Array(r.buffer,r.byteOffset+o,s),c),u.len=Math.max(u.len,d),u.dirty=!0,s},llseek(e,i,a){let o=i;if(a===1)o+=e.position;else if(a===2&&n.isFile(e.node.mode)){let t=e.node.live;o+=t.loaded?t.len:r(e.node).size}if(o<0)throw new n.ErrnoError(t.EINVAL);return o},fsync(e){o(e.node)}}}function d(e){let n=new Set,r={},i=c(e,r),a=l(i),o=u(i);return r.node=a,r.stream=o,{mounts:n,node_ops:a,stream_ops:o,mount(r){let a=i.call(()=>r.opts.bridge.stat(r.opts.root));if(!a.isDirectory)throw new e.ErrnoError(t.ENOTDIR);let o=i.makeNode(null,`/`,a);return n.add(r),o}}}function f(e,t){return!!t&&e.mounts.has(t.mount)}function p(e,t){for(let n of e.nameTable??[])for(let a=n;a;a=a.name_next??null)if(!(!f(t,a)||!a.live.dirty||!a.live.data))try{let e=a.live.data.slice(0,a.live.len);a.mount.opts.bridge.writeFile(i(a),e),a.live.dirty=!1}catch(t){throw r(e,t)}}function m(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!f(t,n))continue;let e=n.live;e.stat=void 0,e.openCount===0?n!==n.mount.root&&r.push(n):e.loaded&&!e.dirty&&(e.data=void 0,e.len=0,e.loaded=!1)}if(e.hashRemoveNode)for(let t of r)e.hashRemoveNode(t)}function h(e){let t=[...new Set(e.map(e=>e.replace(/\/+$/,``)||`/`))].sort();return t.filter(e=>!t.some(t=>t!==e&&(t===`/`||e.startsWith(`${t}/`))))}function g(e){if(e instanceof Error)return e.message;let t=e?.errno;return typeof t==`number`?`errno ${t}`:String(e)}function _(e,t,n,r){if(typeof e.filesystems!=`object`||!e.filesystems)throw Error(`the module was linked without filesystem support, so the VFS cannot be mounted (link it with -sFORCE_FILESYSTEM=1)`);let i=e.filesystems.SLICC_LIVE_FS??d(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of h(n))if(o!==`/`)try{e.mkdirTree(o),e.mount(i,{root:o,bridge:t},o),a.push(o)}catch(e){r(`live VFS mount of ${o} failed: ${g(e)}`)}return{plugin:i,mounted:a}}const v=new Set([`dev`,`proc`]),y=[`/usr`,`/bin`],b=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function x(t,n){let r={...t};for(let i of b){let a=t[i];r[i]=(...r)=>{n.wasUsed()&&e(n,t);try{a.apply(t,r)}finally{n.invalidate()}}}return r}function S(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=n.filter(e=>e&&!e.includes(`/`)&&!v.has(e)).map(e=>`/${e}`);for(let e of y)r.includes(e)||r.push(e);let i=[];for(let t of r)try{e.stat(t).isDirectory&&i.push(t)}catch{}return i}function C(t,n,r={}){let{bridge:i,syncFs:a,warn:o}=n;a.wasUsed()&&e(a,i);let{plugin:s,mounted:c}=_(t,x(i,a),S(i,o),o);try{t.chdir(r.cwd??n.cwd)}catch(e){o(`cannot chdir to ${r.cwd??n.cwd}: ${String(e)}`)}return{mounted:c,flush:()=>p(t,s),invalidate:()=>m(t,s)}}export{C as mountVfsIntoEmscripten};
|
package/dist/ui/assets/{ensure-speech-assets-Ca12G-8F.js → ensure-speech-assets-D-FO_G4X.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-F-dCBEfh.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-D-ZRFYou.js";import{n}from"./hf-defaults-BwJdGLgk.js";import{installPackages as r}from"./installer-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-F-dCBEfh.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-D-ZRFYou.js";import{n}from"./hf-defaults-BwJdGLgk.js";import{installPackages as r}from"./installer-C6H-yVQO.js";import{downloadHfRepo as i}from"./hf-download-CNg2vD63.js";e(`speech:espeak`);const a=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.asyncify.wasm`,`ort-wasm-simd-threaded.jspi.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.31.0-dev.20260914-8d85527a0/dist/ort-wasm-simd-threaded.jspi.wasm`],o=e(`speech:ensure-assets`),s=`onnxruntime-web`,c=`${s}@1.31.0-dev.20260914-8d85527a0`,l=`espeak-ng`,u=[`espeak-ng.js`,`espeak-ng.wasm`],d=`/workspace`,f=t,p=a.filter(e=>!/\.(asyncify|jspi)\./.test(e));async function m(e){try{let t=await e.readFile(`/workspace/node_modules/onnxruntime-web/package.json`,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);if(r&&typeof r==`object`&&`version`in r&&typeof r.version==`string`)return r.version}catch{}return null}async function h(e,t){let n=await Promise.all(p.map(t=>e.fs.exists(`/workspace/node_modules/onnxruntime-web/dist/${t}`))),i=await m(e.fs);if(n.every(Boolean)&&i===`1.31.0-dev.20260914-8d85527a0`)return t?.({asset:s,phase:`present`}),!1;t?.({asset:s,phase:`staging`});let{errors:a}=await r([c],{fs:e.fs,fetch:e.fetch,cwd:d});if(a.length>0)throw Error(`failed to stage ${s} wasm runtime: ${a[0].error.message}`);return t?.({asset:s,phase:`done`}),!0}async function g(e,t){if((await Promise.all(u.map(t=>e.fs.exists(`/workspace/node_modules/espeak-ng/dist/${t}`)))).every(Boolean))return t?.({asset:l,phase:`present`}),!1;t?.({asset:l,phase:`staging`});let{errors:n}=await r([l],{fs:e.fs,fetch:e.fetch,cwd:d});if(n.length>0)throw Error(`failed to stage ${l} wasm: ${n[0].error.message}`);return t?.({asset:l,phase:`done`}),!0}async function _(e,t){try{return await g(e,t)}catch(e){return o.warn(`optional espeak-ng staging failed; non-English Kokoro voices may fall back`,e),!1}}async function v(e,t,r){let a=n(t,null,d),o=0,s=await i({fetch:e.fetch,fs:e.fs,repo:t,targetDir:a,progress:{onListed:({files:e,totalBytes:n})=>r?.({asset:t,phase:`listing`,filesLoaded:0,filesTotal:e.length,bytesLoaded:0,bytesTotal:n}),onFile:e=>{o+=e.bytes,r?.({asset:t,phase:e.status,file:e.file,filesLoaded:e.index,filesTotal:e.total,bytesLoaded:o})}}});return r?.({asset:t,phase:`done`,filesLoaded:s.files.length,filesTotal:s.files.length,bytesLoaded:o,bytesTotal:o}),{repo:t,downloaded:s.downloaded,skipped:s.skipped}}async function y(e,t){if(f())return{skipped:!0,ortStaged:!1,espeakStaged:!1,repos:[]};let n=await h(e,t),r=e.repos??[`onnx-community/whisper-tiny`,`onnx-community/Kokoro-82M-v1.0-ONNX`],i=[];for(let n of r)i.push(await v(e,n,t));let a=await _(e,t);return o.info(`speech assets staged`,{ortStaged:n,espeakStaged:a,repos:i.length}),{skipped:!1,ortStaged:n,espeakStaged:a,repos:i}}export{y as ensureSpeechAssetsStaged};
|
package/dist/ui/assets/{frozen-archive-writer-C68X-wcA.js → frozen-archive-writer-Cc_5tusU.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./slugify-BYJ6QVAt.js";import{n as t,r as n,t as r}from"./archive-redaction-ByV7X5fs.js";import{t as i}from"./types-D8gIX-W-.js";import{a,h as o,i as s}from"./kernel-worker-
|
|
1
|
+
import{t as e}from"./slugify-BYJ6QVAt.js";import{n as t,r as n,t as r}from"./archive-redaction-ByV7X5fs.js";import{t as i}from"./types-D8gIX-W-.js";import{a,h as o,i as s}from"./kernel-worker-7sXXD3HE.js";const c=/\uD83C\uDF99\uFE0F?/g,l=/\u25C1[\s\S]*?\u25B7/g;function u(e){return e.replace(l,``).replace(c,``).replace(/[ \t]+$/g,``).trimEnd()}function d(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?u(n.content):n.content;if(t+=`## ${e}\n${r}\n\n`,n.attachments?.length&&(t+=`Attachments:\n${n.attachments.map(e=>`- ${o(e)}`).join(`
|
|
2
2
|
`)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}function f(e){return`live-${h(e)}-${m()}.md`}function p(e,t){return e.find(e=>e.live===!0&&(e.cone??`cone`)===t)}function m(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}function h(t){return e(t,{maxLen:48,fallback:`session`})}const g=`untitled-session`,_=RegExp(`^(?:_Forwarded from .+?\\._\\s*)*(?:\\[@\\S+ (?:completed|idle|sudo-request|FAILED)\\b|\\[scoop_wait\\b|\\[(?:${[`Webhook Event`,`Sprinkle Event`,`File Watch Event`,`Session Reload`,`Navigate Event`,`Upgrade Event`,`Cherry Event`,`Workflow Event`,`Background Command`,`jshd Unit`,`Cron Event`,`Scoop Access Request`,`Preview Event`,`Preview event`,`Discovery Event`].join(`|`)})\\b|Preview tab (?:connected|disconnected) from |<context-summary\\b)`);function v(e){return e.slice(0,480).trim().replace(/\s+/g,` `).slice(0,240)}function y(e){let t=v(e);return t.length>0&&_.test(t)}function b(e){return e===g||y(e)}function x(e){return e.role!==`user`||!e.content?.trim()||e.source===`lick`||e.channel?!1:!y(e.content)}function S(e){let t=e.find(x);if(!t?.content)return g;let n=t.content.trim().replace(/\s+/g,` `);return n.length>60?`${n.slice(0,60)}…`:n||g}function C(e){return e.map(e=>{let t={id:e.id,role:e.role,content:e.content,timestamp:e.timestamp};return e.attachments?.length&&(t.attachments=e.attachments),e.toolCalls?.length&&(t.toolCalls=e.toolCalls.map(e=>({id:e.id,name:e.name,input:e.input,...e.result===void 0?{}:{result:e.result},...e.isError?{isError:e.isError}:{}}))),e.source&&(t.source=e.source),e.channel&&(t.channel=e.channel),e.compaction&&(t.compaction=e.compaction),t})}function w(e){let i=r(),a={...e,title:t(e.title,i),messages:n(e.messages,i)},o=(a.cost?`cost: ${JSON.stringify(a.cost)}\n`:``)+(a.models?`models: ${JSON.stringify(a.models)}\n`:``),s=(a.cone?`cone: ${a.cone}\n`:``)+(a.coneLabel?`coneLabel: ${JSON.stringify(a.coneLabel)}\n`:``)+(a.memorySkipped?`memorySkipped: true
|
|
3
3
|
`:``)+(a.live?`live: true
|
|
4
4
|
`:``)+(a.live&&a.liveThrough?`liveThrough: ${a.liveThrough}\n`:``)+(a.live&&a.compactions?`compactions: ${a.compactions}\n`:``)+(a.curatedThrough?`curatedThrough: ${a.curatedThrough}\n`:``),c=`---\nid: ${a.id}\ntitle: ${JSON.stringify(a.title)}\nfrozenAt: ${a.frozenAt}\ncreatedAt: ${a.createdAt}\nupdatedAt: ${a.updatedAt}\nmessageCount: ${a.messageCount}\n`+o+s+`---
|