sliccy 6.184.0 → 6.185.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/ui/.vite/manifest.json +183 -183
  2. package/dist/ui/assets/{account-store-CBy3uUkr.js → account-store-C41qiTs8.js} +1 -1
  3. package/dist/ui/assets/{account-store-D48vh7jd.js → account-store-CdWvtLK5.js} +1 -1
  4. package/dist/ui/assets/{adobe-DN9SWzx5.js → adobe-Cuq2cJ2f.js} +1 -1
  5. package/dist/ui/assets/{adobe-Cnqngn3V.js → adobe-pJP3L2S1.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-Dj7wt72x.js → agent-panels-Ca0HA81F.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-DbncEJ15.js → almost-bash-shell-headless-3-QEOXc2.js} +526 -525
  8. package/dist/ui/assets/{apply-layout-CKWlNy_m.js → apply-layout-CKuJgZ53.js} +1 -1
  9. package/dist/ui/assets/{apps-DEhr6ase.js → apps-DZhY4wWQ.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-BljHi43t.js → azure-openai-BWRYpShR.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-DNeqfy5S.js → azure-openai-DR1sAgZg.js} +1 -1
  12. package/dist/ui/assets/{backend-hostfs-BHTSdKW0.js → backend-hostfs-Bgb_DsUT.js} +1 -1
  13. package/dist/ui/assets/bash-job-journal-DEe5YuRn.js +1 -0
  14. package/dist/ui/assets/{browser-BM_DFzrh.js → browser-Cja95Zor.js} +9 -8
  15. package/dist/ui/assets/{cdp-Bqv3wfRF.js → cdp-D8ppMyya.js} +1 -1
  16. package/dist/ui/assets/{cerebras-CaiKjK1C.js → cerebras-C_6PRb_m.js} +1 -1
  17. package/dist/ui/assets/{cerebras-CsNFOxy7.js → cerebras-Drhn15WH.js} +1 -1
  18. package/dist/ui/assets/{client-CmfvXtLV.js → client-CwxmlQM-.js} +1 -1
  19. package/dist/ui/assets/{composer-speech-DO_1ARO_.js → composer-speech-CJ5WxRmi.js} +1 -1
  20. package/dist/ui/assets/{connect-surface-CFDyhjfM.js → connect-surface-B25ziPK_.js} +1 -1
  21. package/dist/ui/assets/{core-D-Fp1HL2.js → core-BfCKeVcE.js} +1 -1
  22. package/dist/ui/assets/{cost-command-CitGzr6C.js → cost-command-BZZ15zbR.js} +1 -1
  23. package/dist/ui/assets/{directed-approval-BrvnnHDl.js → directed-approval-CHjy_veK.js} +1 -1
  24. package/dist/ui/assets/{dist-b828m-Si.js → dist-HBVgABmW.js} +3 -3
  25. package/dist/ui/assets/{dist-TdFroLO3.js → dist-SZE428w3.js} +4 -4
  26. package/dist/ui/assets/{emscripten-vfs-hook-DsODtDYP.js → emscripten-vfs-hook-BgKVsuWf.js} +1 -1
  27. package/dist/ui/assets/{ensure-speech-assets-C-TN5__M.js → ensure-speech-assets-JOVdeAED.js} +1 -1
  28. package/dist/ui/assets/{extension-ops-DTRUyGkx.js → extension-ops-CF2mLDRW.js} +1 -1
  29. package/dist/ui/assets/{frozen-archive-writer-C1GtGgkF.js → frozen-archive-writer-XUf0GMRR.js} +1 -1
  30. package/dist/ui/assets/{fs-Gd3zHsod.js → fs-CfJdpL5x.js} +1 -1
  31. package/dist/ui/assets/{fs-WGmHjFqB.js → fs-DyrFPUp2.js} +2 -2
  32. package/dist/ui/assets/{gelatiere-store-B2plOkO0.js → gelatiere-store-DCvfmki0.js} +1 -1
  33. package/dist/ui/assets/{gelatiere-unit-1wIxueza.js → gelatiere-unit-DcQlQ9QA.js} +1 -1
  34. package/dist/ui/assets/{github-C9vbtD0b.js → github-BH0fYYDC.js} +1 -1
  35. package/dist/ui/assets/{github-W7PF4o3P.js → github-J3Pos7xW.js} +2 -2
  36. package/dist/ui/assets/{github-auth-DrNumx5i.js → github-auth-C0PAZtLa.js} +1 -1
  37. package/dist/ui/assets/{github-copilot-BQhi7UOk.js → github-copilot-GnnngJgc.js} +1 -1
  38. package/dist/ui/assets/{github-copilot-DpLzu-mE.js → github-copilot-r7THpGrf.js} +1 -1
  39. package/dist/ui/assets/{github-install-COa6G7Bf.js → github-install-bXSPtrJ8.js} +1 -1
  40. package/dist/ui/assets/{github-zip-Cr9Lysol.js → github-zip-CQ8Hranj.js} +1 -1
  41. package/dist/ui/assets/{guest-tool-gate-B2z1ggE_.js → guest-tool-gate-XJ21QL4L.js} +1 -1
  42. package/dist/ui/assets/{hear-BJgsPPcn.js → hear-vBH6fz6J.js} +1 -1
  43. package/dist/ui/assets/{help-BFAT_5tA.js → help-BIRVuAQg.js} +1 -1
  44. package/dist/ui/assets/hf-download-CNg2vD63.js +1 -0
  45. package/dist/ui/assets/{host-command-PUA7nfMk.js → host-command-BUDUMrMx.js} +1 -1
  46. package/dist/ui/assets/installer-BIr2X4ZR.js +4 -0
  47. package/dist/ui/assets/{interrupted-work-recovery-r9fITX8G.js → interrupted-work-recovery-DvvxB451.js} +1 -1
  48. package/dist/ui/assets/js-realm-worker-xXM5hNmY.js +53 -0
  49. package/dist/ui/assets/{jsh-executor-Bq_H_UIv.js → jsh-executor-Sq-_s17Z.js} +2 -2
  50. package/dist/ui/assets/{kernel-worker-B_U-F-B8.js → kernel-worker-BfQfWWGY.js} +57 -57
  51. package/dist/ui/assets/{lick-ws-bridge-D9K41aBr.js → lick-ws-bridge-1KGk00fU.js} +1 -1
  52. package/dist/ui/assets/{lick-ws-bridge-5rjWJX_C.js → lick-ws-bridge-Cb_x25TH.js} +1 -1
  53. package/dist/ui/assets/{live-session-curation-G-k3QTeJ.js → live-session-curation-D2302oBw.js} +1 -1
  54. package/dist/ui/assets/{live-session-snapshot-bmMahgEk.js → live-session-snapshot-MSEMhtzT.js} +1 -1
  55. package/dist/ui/assets/{local-llm-GJ4RcMJS.js → local-llm-C1bXK5E_.js} +1 -1
  56. package/dist/ui/assets/{local-llm-DXIS7Y11.js → local-llm-Drx0Pf5F.js} +1 -1
  57. package/dist/ui/assets/{main-cherry-Dj6QX2bL.js → main-cherry-DMGXCqlk.js} +1 -1
  58. package/dist/ui/assets/{main-B_JNHrJJ.js → main-ke7UzEyb.js} +3 -3
  59. package/dist/ui/assets/{memory-curation-seam-DmVivNPt.js → memory-curation-seam-BQ0ag4HS.js} +1 -1
  60. package/dist/ui/assets/{memory-health-BLYwkoRF.js → memory-health-DOBolAoU.js} +1 -1
  61. package/dist/ui/assets/{memory-write-execute-Bn0Cfxgi.js → memory-write-execute-iB7MTIuf.js} +1 -1
  62. package/dist/ui/assets/{mount-mfdOcxjc.js → mount-C8_YWxvL.js} +1 -1
  63. package/dist/ui/assets/{mount-bridge-client-DRVFK3mJ.js → mount-bridge-client-Dz_UHbPE.js} +1 -1
  64. package/dist/ui/assets/{mount-DFtXqz7u.js → mount-sN1zOOQO.js} +3 -3
  65. package/dist/ui/assets/{new-session-DGf5pu_W.js → new-session-Chf2aTIb.js} +2 -2
  66. package/dist/ui/assets/{oauth-bootstrap-BnFtxXMH.js → oauth-bootstrap-DhxqRx6M.js} +2 -2
  67. package/dist/ui/assets/{oauth-service-Dn_Xz1FZ.js → oauth-service-DP3Rx6V_.js} +1 -1
  68. package/dist/ui/assets/{onboarding-orchestrator-CM9wBVXY.js → onboarding-orchestrator-CSUMNTNq.js} +1 -1
  69. package/dist/ui/assets/{openai-codex-CVUojBOm.js → openai-codex-E3c2zrJK.js} +1 -1
  70. package/dist/ui/assets/{openai-codex-Bw6V8Exo.js → openai-codex-LJJS3BN5.js} +1 -1
  71. package/dist/ui/assets/{openrouter-D4gIK_6x.js → openrouter-B47ePBty.js} +1 -1
  72. package/dist/ui/assets/{openrouter-BC7G4X9j.js → openrouter-HCWd3_Dv.js} +1 -1
  73. package/dist/ui/assets/{openrouter-free-DeIBFCD_.js → openrouter-free-CndCA5W5.js} +1 -1
  74. package/dist/ui/assets/{openrouter-free-BiR1F8YY.js → openrouter-free-DEOSmXMR.js} +1 -1
  75. package/dist/ui/assets/{openrouter-oauth-S0Wxlisj.js → openrouter-oauth-BN42fHf7.js} +1 -1
  76. package/dist/ui/assets/{openrouter-oauth-yeqiYiPV.js → openrouter-oauth-uaZxqhE3.js} +1 -1
  77. package/dist/ui/assets/{opfs-mount-DF49ioKQ.js → opfs-mount-DbDiMdyl.js} +2 -2
  78. package/dist/ui/assets/{opfs-mount-XUJ5ILwS.js → opfs-mount-DmHtfJvm.js} +2 -2
  79. package/dist/ui/assets/{panel-rpc-handlers-ChwH_sLY.js → panel-rpc-handlers-DxnZUmep.js} +2 -2
  80. package/dist/ui/assets/{panelize-shell-CK2wV8d-.js → panelize-shell-S-7afGEn.js} +1 -1
  81. package/dist/ui/assets/{pi-edit-execution-3uSKWHZb.js → pi-edit-execution-Y4T_bzrT.js} +1 -1
  82. package/dist/ui/assets/{port-bridge-client-BvO-1Rao.js → port-bridge-client-B-l7cQTC.js} +1 -1
  83. package/dist/ui/assets/{provider-www4_y-t.js → provider-Cz1V2WqO.js} +1 -1
  84. package/dist/ui/assets/{provider-B2DAvZVz.js → provider-DTffpEWN.js} +2 -2
  85. package/dist/ui/assets/{provider-settings-CxXUm2a-.js → provider-settings-CxqviYt8.js} +1 -1
  86. package/dist/ui/assets/provider-store-access-DVcoprAg.js +1 -0
  87. package/dist/ui/assets/provider-store-access-Des62vG8.js +1 -0
  88. package/dist/ui/assets/{providers-CCn9vkBK.js → providers-DRo5rfSc.js} +2 -2
  89. package/dist/ui/assets/{providers-CMHhoML-.js → providers-jnPvVe9y.js} +1 -1
  90. package/dist/ui/assets/proxied-fetch-DXaTHROw.js +1 -0
  91. package/dist/ui/assets/{quick-llm-BMe87PgQ.js → quick-llm-DYIT2ufv.js} +1 -1
  92. package/dist/ui/assets/realm-inprocess-JkVFNdN8.js +33 -0
  93. package/dist/ui/assets/{recovery-screen-SL_yCteM.js → recovery-screen-C_VP_tQT.js} +1 -1
  94. package/dist/ui/assets/{redirect-uri-DlOE4xJ4.js → redirect-uri-CBCnYKsl.js} +1 -1
  95. package/dist/ui/assets/{remote-terminal-view-B_u_89Rj.js → remote-terminal-view-Dhc7yeLL.js} +1 -1
  96. package/dist/ui/assets/rest-ops-CLliBy-9.js +1 -0
  97. package/dist/ui/assets/{restore-BpcmnyLB.js → restore-Bc04Ic3P.js} +1 -1
  98. package/dist/ui/assets/{run-BulfRDHQ.js → run-BRPVL491.js} +1 -1
  99. package/dist/ui/assets/{run-ywyYbXgZ.js → run-Bd-jYaDM.js} +2 -2
  100. package/dist/ui/assets/{run-BP0Pyqp1.js → run-Bm5wfw7W.js} +1 -1
  101. package/dist/ui/assets/{run-DJZs27IU.js → run-CG3zbaSU.js} +1 -1
  102. package/dist/ui/assets/{run-BVlVC7jS.js → run-D-ECpM63.js} +2 -2
  103. package/dist/ui/assets/{run-BOMvKGOX.js → run-D4l6XlAu.js} +1 -1
  104. package/dist/ui/assets/{run-tjPSuwX3.js → run-D65zpTOz.js} +3 -3
  105. package/dist/ui/assets/{run-DOQXsmJ-.js → run-DjWLQRmi.js} +1 -1
  106. package/dist/ui/assets/{run-BRuN-148.js → run-L6Ylv9dF.js} +1 -1
  107. package/dist/ui/assets/{secrets-bridge-client-CUClOhLJ.js → secrets-bridge-client-BiJrSKN9.js} +1 -1
  108. package/dist/ui/assets/{session-command-memory-CV0M_waq.js → session-command-memory-Ci1Zf9vr.js} +2 -2
  109. package/dist/ui/assets/{session-jsonl-C55fQ06x.js → session-jsonl-BA0osLaK.js} +1 -1
  110. package/dist/ui/assets/{session-jsonl-B8mDQIgn.js → session-jsonl-COpl-CLY.js} +1 -1
  111. package/dist/ui/assets/{session-search-index-C1J9u4eR.js → session-search-index-CdHuMIG2.js} +1 -1
  112. package/dist/ui/assets/{setup-feature-flags-remote-BxOb4YCM.js → setup-feature-flags-remote-DtQ886Eg.js} +1 -1
  113. package/dist/ui/assets/{setup-model-catalog-BmCYvwCH.js → setup-model-catalog-CZ582M7C.js} +1 -1
  114. package/dist/ui/assets/{signed-fetch-BgvaSXVe.js → signed-fetch-BR0AMgn_.js} +1 -1
  115. package/dist/ui/assets/{silent-renew-backoff-BOu1oK6b.js → silent-renew-backoff-CYQP7u_w.js} +1 -1
  116. package/dist/ui/assets/slicc-version-idHB6nsN.js +1 -0
  117. package/dist/ui/assets/{snapshot-BGAhMToN.js → snapshot-DkZ54_ve.js} +1 -1
  118. package/dist/ui/assets/{snapshot-features-Dzfoquou.js → snapshot-features-tcAtohfL.js} +1 -1
  119. package/dist/ui/assets/{soundscape-DuO1N_6R.js → soundscape-DxCVDpTl.js} +1 -1
  120. package/dist/ui/assets/{speak-D9CaCxIW.js → speak-BqdHQaW1.js} +1 -1
  121. package/dist/ui/assets/{sprinkle-manager-QrCEkwte.js → sprinkle-manager-BuTuVoeH.js} +1 -1
  122. package/dist/ui/assets/{sprinkle-renderer-DSjbduX4.js → sprinkle-renderer-PPC5klpl.js} +1 -1
  123. package/dist/ui/assets/{ssh-DPyBpV4Z.js → ssh-9Y3S-Bha.js} +1 -1
  124. package/dist/ui/assets/{state-CjMg-jSn.js → state-4HAkKcwp.js} +1 -1
  125. package/dist/ui/assets/{store-Cy7u1gHP.js → store-BQov__WY.js} +1 -1
  126. package/dist/ui/assets/{store-BuIUG1zU.js → store-DoauiqkB.js} +1 -1
  127. package/dist/ui/assets/{sudo-DPqnJHCC.js → sudo-ChMUrnDt.js} +1 -1
  128. package/dist/ui/assets/{supervisor-Bz7bCJTe.js → supervisor-B8SqOt_K.js} +1 -1
  129. package/dist/ui/assets/{sync-dialog-NksAsxfv.js → sync-dialog-DpyNUkDH.js} +1 -1
  130. package/dist/ui/assets/{transformers-env-DuLhc5Yf.js → transformers-env-BENPPudh.js} +1 -1
  131. package/dist/ui/assets/{tray-leader-DrAT1uER.js → tray-leader-BA4ZTTff.js} +1 -1
  132. package/dist/ui/assets/{tray-leave-runtime-D1UiUa57.js → tray-leave-runtime-CBTb4mlH.js} +1 -1
  133. package/dist/ui/assets/{tray-runtime-config-DmcF9Q2r.js → tray-runtime-config-CTm013-K.js} +1 -1
  134. package/dist/ui/assets/{tray-sidecar-DbDXqX-O.js → tray-sidecar-CnZgpbOI.js} +1 -1
  135. package/dist/ui/assets/{turn-journal-Z3e-huge.js → turn-journal-C3RmT-4t.js} +1 -1
  136. package/dist/ui/assets/{upgrade-detection-IwRKooPo.js → upgrade-detection-Dq2MUoOD.js} +1 -1
  137. package/dist/ui/assets/{upskill-lick-skip-Rw_UGQE-.js → upskill-lick-skip-DUIw4OcH.js} +1 -1
  138. package/dist/ui/assets/{voice-reply-DgLON2RB.js → voice-reply-CEwRhiYz.js} +1 -1
  139. package/dist/ui/assets/{wc-attach-uXbc45oE.js → wc-attach-2TSX-inX.js} +2 -2
  140. package/dist/ui/assets/{wc-browser-CE-PUbku.js → wc-browser-DJxUV8of.js} +1 -1
  141. package/dist/ui/assets/{wc-computers-NdNdvSkt.js → wc-computers-BHu_7f-5.js} +1 -1
  142. package/dist/ui/assets/{wc-detached-ofCqJVys.js → wc-detached-BFnPmR0d.js} +1 -1
  143. package/dist/ui/assets/{wc-extension-D5xZgJSA.js → wc-extension-BYUYa6KS.js} +2 -2
  144. package/dist/ui/assets/{wc-follower-ChlC4as7.js → wc-follower-BwhkRRX4.js} +3 -3
  145. package/dist/ui/assets/{wc-follower-oauth-qsf5anxR.js → wc-follower-oauth-DHAss7Bl.js} +1 -1
  146. package/dist/ui/assets/{wc-gelatiere-CNuHyZeR.js → wc-gelatiere-Cr6JuzRn.js} +1 -1
  147. package/dist/ui/assets/{wc-live-BS1qBXN5.js → wc-live-qHNanIrf.js} +5 -5
  148. package/dist/ui/assets/{wc-nav-DHvzol8R.js → wc-nav-X6D6V6gK.js} +2 -2
  149. package/dist/ui/assets/{wc-onboarding-BbdXkaej.js → wc-onboarding-Bt5oCUsn.js} +2 -2
  150. package/dist/ui/assets/{wc-permissions-DlaZuLb9.js → wc-permissions-BisFwUlJ.js} +2 -2
  151. package/dist/ui/assets/{wc-placeholder-C-OmhEk5.js → wc-placeholder-mnzIda5e.js} +3 -3
  152. package/dist/ui/assets/{wc-secret-request-Ct2mo_Xp.js → wc-secret-request-EQCdKc1f.js} +1 -1
  153. package/dist/ui/assets/{wc-settings-Bxt-10hf.js → wc-settings-DnUvuaLB.js} +3 -3
  154. package/dist/ui/assets/{wc-shell-B58cMj3K.js → wc-shell-BtEykt-v.js} +3 -3
  155. package/dist/ui/assets/{wc-shortcut-config-CS_pYZvv.js → wc-shortcut-config-BQmt9XFF.js} +1 -1
  156. package/dist/ui/assets/{wc-sprinkles-CGF297sg.js → wc-sprinkles-CjPNiNB5.js} +2 -2
  157. package/dist/ui/assets/{wc-transcript-export-BsI6uqmc.js → wc-transcript-export-Cv0T-WSY.js} +2 -2
  158. package/dist/ui/assets/{wc-tray-Q50Ws_2J.js → wc-tray-DXzaLMSR.js} +4 -4
  159. package/dist/ui/assets/welcome-detection-miHs8L-e.js +1 -0
  160. package/dist/ui/assets/{whisper-session-Cz5kwnWR.js → whisper-session-C7baPCyL.js} +2 -2
  161. package/dist/ui/assets/{xai-grok-VlWRZvOP.js → xai-grok-11wZ6TYi.js} +1 -1
  162. package/dist/ui/assets/{xai-grok-DjVaOahu.js → xai-grok-pbhR-Op4.js} +1 -1
  163. package/dist/ui/index.html +3 -3
  164. package/dist/ui/packages/webapp/index.html +3 -3
  165. package/package.json +1 -1
  166. package/dist/ui/assets/hf-download-TLCxnVIL.js +0 -1
  167. package/dist/ui/assets/installer-C0LqqeMg.js +0 -4
  168. package/dist/ui/assets/js-realm-worker-Vb3TOeXV.js +0 -53
  169. package/dist/ui/assets/provider-store-access-BgECN49p.js +0 -1
  170. package/dist/ui/assets/provider-store-access-DBb5FZCA.js +0 -1
  171. package/dist/ui/assets/proxied-fetch-J19bK2dG.js +0 -1
  172. package/dist/ui/assets/realm-inprocess-BEYqu95M.js +0 -33
  173. package/dist/ui/assets/rest-ops-CPEMTyP-.js +0 -1
  174. package/dist/ui/assets/slicc-version-DkDWlaqT.js +0 -1
  175. package/dist/ui/assets/welcome-detection-C-ikGXmO.js +0 -1
@@ -6,13 +6,13 @@ 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`];function Ud(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))}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this.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.touch(e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this.createFile(e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this.unlink(e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this.rmdir(e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this.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.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.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>1048576){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));for(let e of t){let t=this[e].bind(this);function n(t,r){if(r||(r=Error(),Error.captureStackTrace(r,n)),!r.stack)return!1;let i=r.stack.split(`
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(e,t))}statSync(e){return this.checkSync(),this._sync.statSync(e)}touchSync(e,t){this.checkSync(),this._sync.touchSync(e,t),this._async(()=>this.touch(e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this.createFile(e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this.unlink(e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this.rmdir(e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this.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.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.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));for(let e of t){let t=this[e].bind(this);function n(t,r){if(r||(r=Error(),Error.captureStackTrace(r,n)),!r.stack)return!1;let i=r.stack.split(`
10
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{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 Wd=class extends Ud(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 Gd(e,t){let n=Ad(e);Rd(n,e=>Vd(n,t,e))}function Kd(e,t){let n=Ad(e);zd(n,e=>Vd(n,t,e))}const qd={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 Wd(e.port,e.timeout)}};async function Jd(e,t,n=0){let r=Ad(e),i=Bd(r),a=await qu(t,n);return Gd(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},Yd=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},Xd=(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 Zd=e=>`0x`+e.toString(16).padStart(8,`0`),{format:Qd}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let $d=(()=>{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 @ ${Zd(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),ef=(()=>{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($d,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 @ ${Zd(this.byteOffset)}>`;let t=[`---- Metadata block at ${Zd(this.byteOffset)} ----`,`Checksum: ${Zd(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${Zd(this.previous_offset)}`,`Entries:`].join(`
12
- `);for(let e of this.items)e.offset&&(t+=`\n\t${Zd(e.id)}: ${Qd(e.size).padStart(5)} at ${Zd(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 ${Zd(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 ${Zd(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 ${Zd(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(ef,{lockIndex:nn(ef,`locked`)/Int32Array.BYTES_PER_ELEMENT});const tf=1651715706;let nf=(()=>{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!=tf){E(`sbfs: Invalid magic value, assuming this is a fresh super block`);let e=new ef(this.buffer,k(Ne));Object.assign(this,{metadata:e,metadata_offset:e.byteOffset,used_bytes:BigInt(k(Ne)+k(ef)),total_bytes:BigInt(this.buffer.byteLength),magic:tf,version:1,inode_format:5,metadata_block_size:k(ef),uuid:fe(crypto.randomUUID())}),of(this),of(e);return}if(this.checksum!==af(this))throw Ce(C(`EIO`,`sbfs: checksum mismatch for super block`));if(this.metadata=new ef(this.buffer,this.metadata_offset),this.metadata.checksum!==af(this.metadata))throw Ce(C(`EIO`,`sbfs: checksum mismatch for metadata block (saved ${Zd(this.metadata.checksum)}, computed ${Zd(af(this.metadata))})`));if(this.inode_format!=5)throw Ce(C(`EIO`,`sbfs: inode format mismatch`));if(this.metadata_block_size!=k(ef))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(ef)),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 ef(this.buffer,Number(r)),a=new Uint32Array(this.buffer,this.byteOffset,k(Ne)/Uint32Array.BYTES_PER_ELEMENT),o=Atomics.load(a,rf);for(;;){i.previous_offset=o,of(i);let e=Atomics.compareExchange(a,rf,o,i.byteOffset);if(e===o)break;o=e}return this.metadata=i,of(this),Ee(`sbfs: rotated metadata block at ${Zd(i.previous_offset)} with new block at ${Zd(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(ef)&&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 rf=nn(nf,`metadata_offset`)/Uint32Array.BYTES_PER_ELEMENT;function af(e){let t=k(e)-4;return e instanceof ef&&(t-=Int32Array.BYTES_PER_ELEMENT),l(new Uint8Array(e.buffer,e.byteOffset+4,t))}function of(e){e instanceof ef&&(e.timestamp=BigInt(Date.now())),e.checksum=af(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(nf)+k(ef))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 nf(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(Yd(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,of(n);return}r.offset=Number(Atomics.add(this.superblock,2,BigInt(t.length))),r.size=t.length,this._u8.set(t,r.offset),of(n),of(this.superblock);return}catch(e){i.error=e,i.hasError=!0}finally{Xd(i)}}}let r=Array.from(this.superblock.metadata.items).find(e=>!e.offset);r||=(this.superblock.rotateMetadata(),this.superblock.metadata.items[0]),Yd(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),of(this.superblock.metadata),of(this.superblock)}catch(e){n.error=e,n.hasError=!0}finally{Xd(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,of(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 cf={name:`SingleBuffer`,options:{buffer:{type:`object`,required:!0}},create(e){let t=new Er(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 lf(e,t,n=Z){du.call(this,e,t).then(()=>n(null)).catch(n)}function uf(e,t=Z){fu.call(this,e).then(t).catch(()=>t(!1))}function df(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 ff(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 pf(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 mf(e,t=Z){gu.call(this,e).then(()=>t(null)).catch(t)}function hf(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 gf(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 _f(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 vf(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 yf(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 bf(e,t=Z){new uu(this,e).close().then(()=>t(null)).catch(t)}function xf(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 Sf(e,t=Z){new uu(this,e).sync().then(()=>t(null)).catch(t)}function Cf(e,t=Z){new uu(this,e).datasync().then(()=>t(null)).catch(t)}function wf(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 Tf(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 Ef(e,t,n,r=Z){new uu(this,e).chown(t,n).then(()=>r(null)).catch(r)}function Df(e,t,n){new uu(this,e).chmod(t).then(()=>n(null)).catch(n)}function Of(e,t,n,r=Z){new uu(this,e).utimes(t,n).then(()=>r(null)).catch(r)}function kf(e,t=Z){xu.call(this,e).then(()=>t(null)).catch(t)}function Af(e,t,n=Z){Su.call(this,e,t).then(()=>n(null)).catch(n)}function jf(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 Mf(e,t,n=Z){wu.call(this,e,t).then(()=>n(null)).catch(n)}function Nf(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 Pf(e,t,n=Z){n=typeof t==`function`?t:n,Eu.call(this,e).then(e=>n(null,e)).catch(n)}function Ff(e,t,n,r=Z){Du.call(this,e,t,n).then(()=>r(null)).catch(r)}function If(e,t,n,r=Z){Ou.call(this,e,t,n).then(()=>r(null)).catch(r)}function Lf(e,t,n=Z){ku.call(this,e,t).then(()=>n(null)).catch(n)}function Rf(e,t,n=Z){Au.call(this,e,t).then(()=>n(null)).catch(n)}function zf(e,t,n,r=Z){ju.call(this,e,t,n).then(()=>r(null)).catch(r)}function Bf(e,t,n,r=Z){Mu.call(this,e,t,n).then(()=>r(null)).catch(r)}function Vf(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 Hf(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 Uf=new Map;function Wf(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(Uf.has(r)){let e=Uf.get(r);e&&e.listeners.add(n);return}let a=new Ia(this,r,i);a.on(`change`,(e,t)=>{let n=Uf.get(r);if(n)for(let r of n.listeners)r(e,t)}),Uf.set(r,{watcher:a,listeners:new Set([n])})}function Gf(e,t=Z){let n=j.call(this,e),r=Uf.get(n);r&&(t&&t!==Z?r.listeners.delete(t):r.listeners.clear(),r.listeners.size===0&&(r.watcher.stop(),Uf.delete(n)))}function Kf(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 qf(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 Jf(e,t){t=typeof t==`object`?t:{encoding:t};let n=_u.call(this,e,`w`,t?.mode);return new iu(t,n)}function Yf(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 Xf(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 Zf(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 Qf(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 $f(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 ep(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 tp(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 np(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 rp(e,t){let n=await _u.call(this,e.toString(),`r`),r=await n.readFile();return await n.close(),new Blob([r],t)}function ip(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 ap(e,t){return Object.assign(Error(t),{code:e})}function op(e,t,n){return ap(`ERR_INVALID_ARG_TYPE`,`The "${e}" argument must be of type ${t}. Received ${typeof n}`)}function sp(e){return ap(`ERR_INVALID_STATE`,`Invalid state: `+e)}function cp(e,t){if(typeof e!=`number`)throw op(t,`number`,e);if(!Number.isInteger(e)||e<0||e>4294967295)throw ap(`ERR_OUT_OF_RANGE`,`The value of "${t}" is out of range. It must be an integer >= 0 and <= 4294967295. Received ${e}`)}const lp=16384,up=H.Buffer.alloc(0),dp={open:hf,openSync:qi,close:bf,write:wf,writeSync:ia,fsync:Sf,fsyncSync:na,mkdir:Af,mkdirSync:ua};function fp(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 pp(e,t){return e.length?e.length==1?e[0]:H.Buffer.concat(e,t):up}const mp=Symbol(`Utf8StreamFS`);var hp=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=lp;#h=!1;#g=0;#_;#v=!1;#y=!1;#b=!0;#x;#S=()=>!0;#C=!1;#w;#T=``;#E;static[mp]=dp;static _withContext(e){Xe(e);class t extends hp{static[mp]=ee(dp,e)}return t}constructor(e={}){if(typeof e!=`object`||!e)throw op(`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 op(`options.fs`,`object`,p);this.#E={...this.constructor[mp],...p};let h=this.#E;for(let e of[`write`,`writeSync`,`fsync`,`fsyncSync`,`close`,`open`,`mkdir`,`mkdirSync`])if(typeof h[e]!=`function`)throw op(`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||lp,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 op(`options.${e}`,`boolean`,t);if(typeof this.#S!=`function`)throw op(`options.retryEAGAIN`,`function`,this.#S);if(d!=`buffer`&&d!=`utf8`)throw ap(`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`?up:``,typeof m==`number`)this.#t=m,queueMicrotask(()=>this.emit(`ready`));else if(typeof m==`string`)this.#N(m);else throw op(`fd`,`number or string`,m);if(this.#f>=this.#m)throw ap(`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 op(`data`,`Buffer`,e)}else if(typeof e!=`string`)throw op(`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 op(`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=up);let t=up;for(;e.length||t.length;){t.length<=0&&(t=pp(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=fp(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 ap(`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(),100):(this.#i=!1,this.emit(`error`,e));return}this.emit(`write`,t);let n=fp(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=fp(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:pp(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`)}},gp=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>hp,WriteStream:()=>iu,access:()=>Hf,accessSync:()=>Sa,appendFile:()=>vf,appendFileSync:()=>Qi,chmod:()=>Lf,chmodSync:()=>_a,chown:()=>Ff,chownSync:()=>ha,close:()=>bf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Zf,copyFileSync:()=>Ea,cp:()=>tp,cpSync:()=>Aa,createReadStream:()=>qf,createWriteStream:()=>Jf,exists:()=>uf,existsSync:()=>Hi,fchmod:()=>Df,fchmodSync:()=>sa,fchown:()=>Ef,fchownSync:()=>oa,fdatasync:()=>Cf,fdatasyncSync:()=>ra,fstat:()=>yf,fstatSync:()=>$i,fsync:()=>Sf,fsyncSync:()=>na,ftruncate:()=>xf,ftruncateSync:()=>ta,futimes:()=>Of,futimesSync:()=>ca,glob:()=>ip,globSync:()=>Ma,lchmod:()=>Rf,lchmodSync:()=>va,lchown:()=>If,lchownSync:()=>ga,link:()=>Mf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>ff,lstatSync:()=>Wi,lutimes:()=>Bf,lutimesSync:()=>ba,mkdir:()=>Af,mkdirSync:()=>ua,mkdtemp:()=>Xf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,open:()=>hf,openAsBlob:()=>rp,openSync:()=>qi,opendir:()=>ep,opendirSync:()=>ka,promises:()=>au,read:()=>Tf,readFile:()=>gf,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>jf,readdirSync:()=>da,readlink:()=>Pf,readlinkSync:()=>ma,readv:()=>Qf,readvSync:()=>Da,realpath:()=>Vf,realpathSync:()=>xa,rename:()=>lf,renameSync:()=>Vi,rm:()=>Yf,rmSync:()=>Ca,rmdir:()=>kf,rmdirSync:()=>la,stat:()=>df,statSync:()=>Ui,statfs:()=>np,statfsSync:()=>ja,symlink:()=>Nf,symlinkSync:()=>pa,truncate:()=>pf,truncateSync:()=>Gi,unlink:()=>mf,unlinkSync:()=>Ki,unwatchFile:()=>Gf,utimes:()=>zf,utimesSync:()=>ya,watch:()=>Kf,watchFile:()=>Wf,write:()=>wf,writeFile:()=>_f,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>$f,writevSync:()=>Oa}),_p=t({allowedRestrictedNames:()=>vp,get:()=>bp,getSync:()=>xp,list:()=>Ep,listSync:()=>Dp,remove:()=>wp,removeSync:()=>Tp,set:()=>Sp,setSync:()=>Cp});const vp=new Set;function yp(e,t,n,r){if(!t.startsWith(`user.`)&&!vp.has(t))throw S(`ENOTSUP`,r,n)}async function bp(e,t,n={}){e=j.call(this,e);let{fs:r,path:i}=G(e,this);yp(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 xp(e,t,n={}){e=j.call(this,e),yp(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 Sp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);yp(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 Cp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);yp(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 wp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);yp(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 Tp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);yp(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 Ep(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 Dp(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 Op=new Map;function kp(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(gp,r),Utf8Stream:hp._withContext(r),promises:ee(au,r),xattr:ee(_p,r)},path:ee(Dn,r),bind:e=>{let t=kp.call(r,e);return r.children.push(t),t}});return Op.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}),Ap=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 jp(e){class t extends Ap{constructor(...t){super(),this._fs=new e(...t)}}return t}function Mp(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 Np(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 Pp(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 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=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 Ip={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`}},Lp=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>hp,WriteStream:()=>iu,_version:()=>Rp,access:()=>Hf,accessSync:()=>Sa,appendFile:()=>vf,appendFileSync:()=>Qi,chmod:()=>Lf,chmodSync:()=>_a,chown:()=>Ff,chownSync:()=>ha,chroot:()=>Ci,close:()=>bf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Zf,copyFileSync:()=>Ea,cp:()=>tp,cpSync:()=>Aa,createReadStream:()=>qf,createWriteStream:()=>Jf,exists:()=>uf,existsSync:()=>Hi,fchmod:()=>Df,fchmodSync:()=>sa,fchown:()=>Ef,fchownSync:()=>oa,fdatasync:()=>Cf,fdatasyncSync:()=>ra,fstat:()=>yf,fstatSync:()=>$i,fsync:()=>Sf,fsyncSync:()=>na,ftruncate:()=>xf,ftruncateSync:()=>ta,futimes:()=>Of,futimesSync:()=>ca,glob:()=>ip,globSync:()=>Ma,ioctl:()=>Pp,ioctlSync:()=>Fp,lchmod:()=>Rf,lchmodSync:()=>va,lchown:()=>If,lchownSync:()=>ga,link:()=>Mf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>ff,lstatSync:()=>Wi,lutimes:()=>Bf,lutimesSync:()=>ba,mkdir:()=>Af,mkdirSync:()=>ua,mkdtemp:()=>Xf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,mount:()=>bi,open:()=>hf,openAsBlob:()=>rp,openSync:()=>qi,opendir:()=>ep,opendirSync:()=>ka,promises:()=>au,read:()=>Tf,readFile:()=>gf,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>jf,readdirSync:()=>da,readlink:()=>Pf,readlinkSync:()=>ma,readv:()=>Qf,readvSync:()=>Da,realpath:()=>Vf,realpathSync:()=>xa,rename:()=>lf,renameSync:()=>Vi,rm:()=>Yf,rmSync:()=>Ca,rmdir:()=>kf,rmdirSync:()=>la,stat:()=>df,statSync:()=>Ui,statfs:()=>np,statfsSync:()=>ja,symlink:()=>Nf,symlinkSync:()=>pa,truncate:()=>pf,truncateSync:()=>Gi,umount:()=>xi,unlink:()=>mf,unlinkSync:()=>Ki,unwatchFile:()=>Gf,utimes:()=>zf,utimesSync:()=>ya,watch:()=>Kf,watchFile:()=>Wf,write:()=>wf,writeFile:()=>_f,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>$f,writevSync:()=>Oa,xattr:()=>_p});const Rp=Ip.version;var zp=t({DirType:()=>Br,Dirent:()=>Ur,Handle:()=>oi,chroot:()=>Ci,deleteFD:()=>li,dtToIf:()=>Hr,dupFD:()=>ui,fromFD:()=>ci,ifToDt:()=>Vr,ioctl:()=>Pp,ioctlSync:()=>Fp,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:()=>_p}),Bp=Lp
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(`
12
+ `);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
13
  /*!
14
14
  * @zenfs/core — https://npmjs.com/package/@zenfs/core
15
15
  * Copyright © James Prevett and other ZenFS contributors.
16
16
  * SPDX-License-Identifier: LGPL-3.0-or-later
17
17
  */
18
- ;globalThis.__zenfs__=Object.create(Lp);export{Ud as Async,Or as AsyncMapTransaction,wr as AsyncTransaction,Xn as Attributes,Kn as BigIntStatsFs,ud as CopyOnWrite,ld as CopyOnWriteFS,jr as DeviceFS,Ri as Dir,Ii as Dirent,hi as ErrnoError,bd as Fetch,yd as FetchFS,xr as FileSystem,Ar as InMemory,kr as InMemoryStore,lr as Index,_d as IndexFS,L as Inode,I as InodeFlags,cd as Journal,ef as MetadataBlock,jp as Mutexed,wd as Passthrough,Cd as PassthroughFS,qd as Port,Wd as PortFS,Td as RPC,ru as ReadStream,Mp as Readonly,cf as SingleBuffer,sf as SingleBufferStore,Hn as Stats,Gn as StatsFs,Er as StoreFS,nf as SuperBlock,Np as Sync,Dr as SyncMapTransaction,Cr as SyncTransaction,Sr as Transaction,hp as Utf8Stream,Tr as WrappedTransaction,iu as WriteStream,le as _,Ap as _MutexedFS,Hd 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,Rp as _version,mt as a,Hf as access,Sa as accessSync,$u as addDevice,vf as appendFile,Qi as appendFileSync,Xe as assertContext,Gd as attachFS,kp as bindContext,Op as boundContexts,vt as c,We as checkOptions,Lf as chmod,_a as chmodSync,Ff as chown,ha as chownSync,Ci as chroot,bf as close,ea as closeSync,td as configure,Wu as configureFileSystem,Yu as configureSingle,Xu as configureSingleSync,nd as configureSync,et as constants,D as contextOf,Zf as copyFile,Ea as copyFileSync,tp as cp,Aa as cpSync,$e as createChildContext,Ke as createCredentials,qf as createReadStream,Jf as createWriteStream,qe as credentialsAllowRoot,Ce as d,hn as decodeDirListing,Bp as default,Ze as defaultContext,Kd as detachFS,Rr as devices,gn as encodeDirListing,uf as exists,Hi as existsSync,we as f,Df as fchmod,sa as fchmodSync,Ef as fchown,oa as fchownSync,Cf as fdatasync,ra as fdatasyncSync,Lp as fs,yf as fstat,$i as fstatSync,Sf as fsync,na as fsyncSync,xf as ftruncate,ta as ftruncateSync,Fr as fullDevice,Of as futimes,ca as futimesSync,ue as g,ip as glob,Ma as globSync,Cn as globToRegex,C as h,z as hasAccess,M as i,Pp as ioctl,Fp 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,Rf as lchmod,va as lchmodSync,If as lchown,ga as lchownSync,Mf as link,fa as linkSync,he as log,Ji as lopenSync,ff as lstat,Wi as lstatSync,Bf as lutimes,ba as lutimesSync,x as m,Af as mkdir,ua as mkdirSync,Xf as mkdtemp,Ta as mkdtempDisposableSync,wa as mkdtempSync,bi as mount,yi as mounts,Fn as n,_n as normalizeMode,Sn as normalizeOptions,j as normalizePath,xn as normalizeTime,Nr as nullDevice,O as o,hf as open,rp as openAsBlob,qi as openSync,ep as opendir,ka as opendirSync,y as p,au as promises,N as r,Ir as randomDevice,Tf as read,gf as readFile,Xi as readFileSync,aa as readSync,jf as readdir,da as readdirSync,Pf as readlink,ma as readlinkSync,Qf as readv,Da as readvSync,Vf as realpath,xa as realpathSync,lf as rename,Vi as renameSync,qu as resolveMountConfig,Ju as resolveMountConfigSync,Jd as resolveRemoteMount,Yf as rm,Ca as rmSync,kf as rmdir,la as rmdirSync,qn as rootIno,ft as s,df as stat,Ui as statSync,np as statfs,ja as statfsSync,Nf as symlink,pa as symlinkSync,rd as sync,Jr as t,pf as truncate,Gi as truncateSync,Se as u,xi as umount,mf as unlink,Ki as unlinkSync,Gf as unwatchFile,er as userModifiableFlags,$n as userVisibleFlags,zf as utimes,ya as utimesSync,_ as v,yn as validateFD,cr as version,zp as vfs,wn as waitOnline,Kf as watch,Wf as watchFile,vi as withExceptionContext,gi as withPath,_i as wrap,wf as write,_f as writeFile,Zi as writeFileSync,ia as writeSync,$f as writev,Oa as writevSync,_p as xattr,Pr as zeroDevice};
18
+ ;globalThis.__zenfs__=Object.create(Rp);export{Wd as Async,Or as AsyncMapTransaction,wr as AsyncTransaction,Xn as Attributes,Kn as BigIntStatsFs,ud as CopyOnWrite,ld as CopyOnWriteFS,jr as DeviceFS,Ri as Dir,Ii as Dirent,hi as ErrnoError,bd as Fetch,yd as FetchFS,xr as FileSystem,Ar as InMemory,kr as InMemoryStore,lr as Index,_d as IndexFS,L as Inode,I as InodeFlags,cd as Journal,tf as MetadataBlock,Mp as Mutexed,wd as Passthrough,Cd as PassthroughFS,Jd as Port,Gd as PortFS,Td as RPC,ru as ReadStream,Np as Readonly,lf as SingleBuffer,cf as SingleBufferStore,Hn as Stats,Gn as StatsFs,Er as StoreFS,rf as SuperBlock,Pp as Sync,Dr as SyncMapTransaction,Cr as SyncTransaction,Sr as Transaction,gp as Utf8Stream,Tr as WrappedTransaction,iu as WriteStream,le as _,jp as _MutexedFS,Hd 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,zp as _version,mt as a,Uf as access,Sa as accessSync,$u as addDevice,yf as appendFile,Qi as appendFileSync,Xe as assertContext,Kd as attachFS,Ap as bindContext,kp as boundContexts,vt as c,We as checkOptions,Rf as chmod,_a as chmodSync,If as chown,ha as chownSync,Ci as chroot,xf as close,ea as closeSync,td as configure,Wu as configureFileSystem,Yu as configureSingle,Xu as configureSingleSync,nd as configureSync,et as constants,D as contextOf,Qf as copyFile,Ea as copyFileSync,np as cp,Aa as cpSync,$e as createChildContext,Ke as createCredentials,Jf as createReadStream,Yf as createWriteStream,qe as credentialsAllowRoot,Ce as d,hn as decodeDirListing,Vp as default,Ze as defaultContext,qd as detachFS,Rr as devices,gn as encodeDirListing,df as exists,Hi as existsSync,we as f,Of as fchmod,sa as fchmodSync,Df as fchown,oa as fchownSync,wf as fdatasync,ra as fdatasyncSync,Rp as fs,bf as fstat,$i as fstatSync,Cf as fsync,na as fsyncSync,Sf as ftruncate,ta as ftruncateSync,Fr as fullDevice,kf as futimes,ca as futimesSync,ue as g,ap as glob,Ma as globSync,Cn as globToRegex,C as h,z as hasAccess,M as i,Fp as ioctl,Ip 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,zf as lchmod,va as lchmodSync,Lf as lchown,ga as lchownSync,Nf as link,fa as linkSync,he as log,Ji as lopenSync,pf as lstat,Wi as lstatSync,Vf as lutimes,ba as lutimesSync,x as m,jf as mkdir,ua as mkdirSync,Zf as mkdtemp,Ta as mkdtempDisposableSync,wa as mkdtempSync,bi as mount,yi as mounts,Fn as n,_n as normalizeMode,Sn as normalizeOptions,j as normalizePath,xn as normalizeTime,Nr as nullDevice,O as o,gf as open,ip as openAsBlob,qi as openSync,tp as opendir,ka as opendirSync,y as p,au as promises,N as r,Ir as randomDevice,Ef as read,_f as readFile,Xi as readFileSync,aa as readSync,Mf as readdir,da as readdirSync,Ff as readlink,ma as readlinkSync,$f as readv,Da as readvSync,Hf as realpath,xa as realpathSync,uf as rename,Vi as renameSync,qu as resolveMountConfig,Ju as resolveMountConfigSync,Yd as resolveRemoteMount,Xf as rm,Ca as rmSync,Af as rmdir,la as rmdirSync,qn as rootIno,ft as s,ff as stat,Ui as statSync,rp as statfs,ja as statfsSync,Pf as symlink,pa as symlinkSync,rd as sync,Jr as t,mf as truncate,Gi as truncateSync,Se as u,xi as umount,hf as unlink,Ki as unlinkSync,Kf as unwatchFile,er as userModifiableFlags,$n as userVisibleFlags,Bf as utimes,ya as utimesSync,_ as v,yn as validateFD,cr as version,Bp as vfs,wn as waitOnline,qf as watch,Gf as watchFile,vi as withExceptionContext,gi as withPath,_i as wrap,Tf as write,vf as writeFile,Zi as writeFileSync,ia as writeSync,ep as writev,Oa as writevSync,vp as xattr,Pr as zeroDevice};
@@ -1 +1 @@
1
- import{t as e}from"./js-realm-worker-Vb3TOeXV.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=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return t|((e.mode??r)&n||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(e,t){let n=e=>e.mount.opts.bridge;function o(t){try{return t()}catch(t){throw r(e,t)}}function s(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function c(n,r,i){let o=e.createNode(n,r,a(i),0);return o.node_ops=t.node,o.stream_ops=t.stream,o.live=s(i),o}function l(e){if(!e.live.stat){let t=o(()=>n(e).lstat(i(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function u(e,t){let n=i(e);return n===`/`?`/${t}`:`${n}/${t}`}function d(e){let t=e.live;if(t.loaded)return;let r=o(()=>n(e).readFile(i(e)));t.data=r,t.len=r.length,t.loaded=!0}function f(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 p(e){let t=e.live;if(!t.dirty||!t.data)return;let r=t.data.slice(0,t.len);o(()=>n(e).writeFile(i(e),r)),t.dirty=!1,t.stat=void 0}function m(e,t){let r=e.live;if(r.openCount>0){t>0?d(e):r.loaded=!0;let n=f(e,t);t>r.len&&n.fill(0,r.len,t),r.len=t,r.dirty=!0;return}let a=i(e),s=new Uint8Array(t);if(t>0){let r=o(()=>n(e).readFile(a));s.set(r.subarray(0,Math.min(t,r.length)))}o(()=>n(e).writeFile(a,s)),r.stat=void 0}return{Fs:e,bridgeOf:n,call:o,makeNode:c,statOf:l,childPath:u,ensureLoaded:d,ensureCapacity:f,flushNode:p,truncate:m}}function c(e){let{Fs:r,bridgeOf:a,call:s,makeNode:c,statOf:l,childPath:u,flushNode:d,truncate:f}=e;return{getattr(e){let t=l(e),n=e.live,i=r.isDir(e.mode)?4096:n.loaded?n.len:t.size,a=new Date(t.mtimeMs??0);return{dev:1,ino:e.id,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:i,atime:a,mtime:a,ctime:a,blksize:4096,blocks:Math.ceil(i/4096)}},setattr(e,t){let c=i(e);if(t.mode!==void 0&&t.mode!==null){let r=t.mode&n;r!==(e.mode&n)&&(s(()=>a(e).chmod(c,r)),e.mode=e.mode&-4096|r)}t.size!==void 0&&t.size!==null&&r.isFile(e.mode)&&f(e,t.size);let l=o(t.mtime)??t.timestamp;if(l!==void 0){let n=o(t.atime)??l;d(e),s(()=>a(e).utimes(c,n,l))}e.live.stat=void 0},lookup(e,t){let n=s(()=>a(e).lstat(u(e,t)));return c(e,t,n)},mknod(e,n,i){let o=u(e,n);if(r.isDir(i))s(()=>a(e).mkdir(o));else if(r.isFile(i))s(()=>a(e).writeFile(o,new Uint8Array));else throw new r.ErrnoError(t.EPERM);let l=c(e,n,{isFile:r.isFile(i),isDirectory:r.isDir(i),isSymbolicLink:!1,size:0,mode:i,mtimeMs:Date.now()});return l.live.stat=void 0,l},rename(e,t,n){let o=i(e),c=u(t,n);d(e),s(()=>a(e).rename(o,c));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){s(()=>a(e).unlink(u(e,t)))},rmdir(e,t){s(()=>a(e).rmdir(u(e,t)))},readdir(e){return[`.`,`..`,...s(()=>a(e).readdir(i(e)))]},symlink(e,t,n){let r=u(e,t);return s(()=>a(e).symlink(n,r)),c(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 s(()=>a(e).readlink(i(e)))}}}function l(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++},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 u(e){let n=new Set,r={},i=s(e,r),a=c(i),o=l(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 d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let n of e.nameTable??[])for(let a=n;a;a=a.name_next??null)if(!(!d(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 p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(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 m(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 h(e,t,n,r){let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(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: ${e instanceof Error?e.message:String(e)}`)}return{plugin:i,mounted:a}}const g=new Set([`dev`,`proc`]),_=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function v(t,n){let r={...t};for(let i of _){let a=t[i];r[i]=(...r)=>{n.wasUsed()&&e(n,t);try{a.apply(t,r)}finally{n.invalidate()}}}return r}function y(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=[];for(let t of n)if(!(!t||t.includes(`/`)||g.has(t)))try{e.stat(`/${t}`).isDirectory&&r.push(`/${t}`)}catch{}return r}function b(t,n,r={}){let{bridge:i,syncFs:a,warn:o}=n;a.wasUsed()&&e(a,i);let{plugin:s,mounted:c}=h(t,v(i,a),y(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:()=>f(t,s),invalidate:()=>p(t,s)}}export{b as mountVfsIntoEmscripten};
1
+ import{t as e}from"./js-realm-worker-xXM5hNmY.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=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return t|((e.mode??r)&n||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(e,t){let n=e=>e.mount.opts.bridge;function o(t){try{return t()}catch(t){throw r(e,t)}}function s(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function c(n,r,i){let o=e.createNode(n,r,a(i),0);return o.node_ops=t.node,o.stream_ops=t.stream,o.live=s(i),o}function l(e){if(!e.live.stat){let t=o(()=>n(e).lstat(i(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function u(e,t){let n=i(e);return n===`/`?`/${t}`:`${n}/${t}`}function d(e){let t=e.live;if(t.loaded)return;let r=o(()=>n(e).readFile(i(e)));t.data=r,t.len=r.length,t.loaded=!0}function f(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 p(e){let t=e.live;if(!t.dirty||!t.data)return;let r=t.data.slice(0,t.len);o(()=>n(e).writeFile(i(e),r)),t.dirty=!1,t.stat=void 0}function m(e,t){let r=e.live;if(r.openCount>0){t>0?d(e):r.loaded=!0;let n=f(e,t);t>r.len&&n.fill(0,r.len,t),r.len=t,r.dirty=!0;return}let a=i(e),s=new Uint8Array(t);if(t>0){let r=o(()=>n(e).readFile(a));s.set(r.subarray(0,Math.min(t,r.length)))}o(()=>n(e).writeFile(a,s)),r.stat=void 0}return{Fs:e,bridgeOf:n,call:o,makeNode:c,statOf:l,childPath:u,ensureLoaded:d,ensureCapacity:f,flushNode:p,truncate:m}}function c(e){let{Fs:r,bridgeOf:a,call:s,makeNode:c,statOf:l,childPath:u,flushNode:d,truncate:f}=e;return{getattr(e){let t=l(e),n=e.live,i=r.isDir(e.mode)?4096:n.loaded?n.len:t.size,a=new Date(t.mtimeMs??0);return{dev:1,ino:e.id,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:i,atime:a,mtime:a,ctime:a,blksize:4096,blocks:Math.ceil(i/4096)}},setattr(e,t){let c=i(e);if(t.mode!==void 0&&t.mode!==null){let r=t.mode&n;r!==(e.mode&n)&&(s(()=>a(e).chmod(c,r)),e.mode=e.mode&-4096|r)}t.size!==void 0&&t.size!==null&&r.isFile(e.mode)&&f(e,t.size);let l=o(t.mtime)??t.timestamp;if(l!==void 0){let n=o(t.atime)??l;d(e),s(()=>a(e).utimes(c,n,l))}e.live.stat=void 0},lookup(e,t){let n=s(()=>a(e).lstat(u(e,t)));return c(e,t,n)},mknod(e,n,i){let o=u(e,n);if(r.isDir(i))s(()=>a(e).mkdir(o));else if(r.isFile(i))s(()=>a(e).writeFile(o,new Uint8Array));else throw new r.ErrnoError(t.EPERM);let l=c(e,n,{isFile:r.isFile(i),isDirectory:r.isDir(i),isSymbolicLink:!1,size:0,mode:i,mtimeMs:Date.now()});return l.live.stat=void 0,l},rename(e,t,n){let o=i(e),c=u(t,n);d(e),s(()=>a(e).rename(o,c));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){s(()=>a(e).unlink(u(e,t)))},rmdir(e,t){s(()=>a(e).rmdir(u(e,t)))},readdir(e){return[`.`,`..`,...s(()=>a(e).readdir(i(e)))]},symlink(e,t,n){let r=u(e,t);return s(()=>a(e).symlink(n,r)),c(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 s(()=>a(e).readlink(i(e)))}}}function l(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++},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 u(e){let n=new Set,r={},i=s(e,r),a=c(i),o=l(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 d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let n of e.nameTable??[])for(let a=n;a;a=a.name_next??null)if(!(!d(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 p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(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 m(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 h(e,t,n,r){let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(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: ${e instanceof Error?e.message:String(e)}`)}return{plugin:i,mounted:a}}const g=new Set([`dev`,`proc`]),_=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function v(t,n){let r={...t};for(let i of _){let a=t[i];r[i]=(...r)=>{n.wasUsed()&&e(n,t);try{a.apply(t,r)}finally{n.invalidate()}}}return r}function y(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=[];for(let t of n)if(!(!t||t.includes(`/`)||g.has(t)))try{e.stat(`/${t}`).isDirectory&&r.push(`/${t}`)}catch{}return r}function b(t,n,r={}){let{bridge:i,syncFs:a,warn:o}=n;a.wasUsed()&&e(a,i);let{plugin:s,mounted:c}=h(t,v(i,a),y(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:()=>f(t,s),invalidate:()=>p(t,s)}}export{b as mountVfsIntoEmscripten};
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-J19bK2dG.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-DfMXB1pm.js";import{n}from"./hf-defaults-BwJdGLgk.js";import{r}from"./installer-C0LqqeMg.js";import{downloadHfRepo as i}from"./hf-download-TLCxnVIL.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};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-DXaTHROw.js";import{t}from"./runtime-env-DadgceZk.js";import"./shared-DfMXB1pm.js";import{n}from"./hf-defaults-BwJdGLgk.js";import{r}from"./installer-BIr2X4ZR.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};
@@ -1 +1 @@
1
- import{r as e}from"./base64-BPBW1Gzr.js";import{t}from"./content-type-_QKWY0B2.js";import{l as n,s as r}from"./types-BfwydWt7.js";import{r as i}from"./boundary-Cp9c_bPu.js";import{t as a}from"./request-body-BF4moGct.js";function o(n){let i=n.adapter===`extension-direct`,a={callSecrets:n.callSecrets??(e=>c(i,e)),callMount:n.callMount??((e,t)=>l(i,e,t)),crossOriginFetch:n.crossOriginFetch??(e=>u(i,e)),requestApproval:n.requestApproval??(e=>f(i,e))};async function o(e,t,n){try{return{ok:!0,value:await n()}}catch(n){return r(e,t,n instanceof Error?n.message:String(n))}}async function s(e){let t=await o(`secrets`,e,()=>a.callSecrets({type:`secrets.list-masked-entries`}));if(!t.ok)return t;let n=t.value;return n?.error?r(`secrets`,e,n.error):Array.isArray(n?.entries)?{ok:!0,value:n.entries}:r(`secrets`,e,`secrets bridge returned no entries`)}async function d(e){let t=await o(`secrets`,`set`,()=>a.callSecrets({type:e.scope===`persisted`?`secrets.set`:`secrets.session.set`,name:e.name,value:e.value,domains:[...e.domains??[]]}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:void 0}:r(`secrets`,`set`,n?.error??`secrets.set failed`)}async function p(e){let t=await o(`secrets`,`delete`,()=>a.callSecrets({type:`secrets.delete`,name:e.name}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:{removed:n.removed??!0,fromSession:n.fromSession===!0}}:r(`secrets`,`delete`,n?.error??`secrets.delete failed`)}async function m(n){let r=await o(`network`,`crossOriginFetch`,()=>a.crossOriginFetch(n));if(!r.ok)return r;let i=r.value,s=t(i.headers[`content-type`]??``);return{ok:!0,value:{status:i.status,ok:i.status>=200&&i.status<300,statusText:i.statusText,headers:i.headers,body:s?new TextDecoder().decode(i.bytes):e(i.bytes),bodyEncoding:s?`text`:`base64`,url:n.url}}}async function h(e){let t=await o(`mounts`,`signRequest`,()=>a.callMount(e.backend===`s3`?`mount.s3-sign-and-forward`:`mount.da-sign-and-forward`,e.envelope));return t.ok?t.value&&typeof t.value.ok==`boolean`?{ok:!0,value:t.value}:r(`mounts`,`signRequest`,`mount bridge returned no envelope`):t}return{crossOriginFetch:m,secrets:{async listMaskedEnv(){let e=await s(`listMaskedEnv`);return e.ok?{ok:!0,value:{entries:e.value}}:e},async getMasked(e){let t=await s(`getMasked`);if(!t.ok)return t;let n=t.value.find(t=>t.name===e.name);return n?{ok:!0,value:n}:r(`secrets`,`getMasked`,`no secret named "${e.name}"`)},set:d,delete:p},signRequest:h,requestApproval:e=>o(`approvals`,`request`,()=>a.requestApproval(e))}}function s(e){return new Promise((t,n)=>{chrome.runtime.sendMessage(e,e=>{let r=chrome.runtime.lastError;r?n(Error(r.message??`chrome.runtime.lastError`)):t(e)})})}async function c(e,t){if(e)return s(t);let{callSecretsBridge:n}=await import(`./secrets-bridge-client-CUClOhLJ.js`).then(e=>e.n),{type:r,...i}=t;return n(r,i)}async function l(e,t,n){if(e)return await i(s({type:t,envelope:n}),12e4);let{callMountBridge:r}=await import(`./mount-bridge-client-DRVFK3mJ.js`);return r(t,n)}async function u(e,t){let{collectViaExtensionDelegate:n,collectViaExtensionPort:r,REQUEST_BODY_CAP:i}=await import(`./proxied-fetch-J19bK2dG.js`).then(e=>e.i),o=a(t);if(o!==void 0&&o.byteLength>i)throw Error(`request body is ${o.byteLength} bytes, over the ${i}-byte proxy limit`);let{head:s,body:c}=await(e?r:n)(t.url,{method:t.method??`GET`,headers:t.headers,...o===void 0?{}:{body:o}});return{status:s.status,statusText:s.statusText,headers:s.headers,bytes:new Uint8Array(c)}}function d(e,t){return t?new Promise((n,r)=>{if(t.aborted){r(Error(`approval relay cancelled before it was sent`));return}let i=()=>r(Error(`approval relay did not answer`));t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))}):e}async function f(e,t){let r=t.suggestedPattern??t.detail,i={kind:t.kind,detail:t.detail,suggestedPattern:r,...t.requester?{requester:t.requester}:{},...t.reason?{reason:t.reason}:{},...t.approver?{approver:t.approver}:{}};if(e){let e=await d(s({source:`offscreen`,payload:{type:`sudo-request`,request:i}}),t.signal);if(!e?.ok||e.decision===void 0)throw Error(e?.error??`sudo relay returned no decision`);return n(e.decision,r)}let{getPanelRpcClient:a}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),o=a();if(!o)throw Error(`panel-RPC client unavailable in this realm`);let{decision:c}=await d(o.call(`sudo-request`,{request:i},{timeoutMs:6e5}),t.signal);return n(c,r)}export{o as createExtensionOps};
1
+ import{r as e}from"./base64-BPBW1Gzr.js";import{t}from"./content-type-_QKWY0B2.js";import{l as n,s as r}from"./types-BfwydWt7.js";import{r as i}from"./boundary-Cp9c_bPu.js";import{t as a}from"./request-body-BF4moGct.js";function o(n){let i=n.adapter===`extension-direct`,a={callSecrets:n.callSecrets??(e=>c(i,e)),callMount:n.callMount??((e,t)=>l(i,e,t)),crossOriginFetch:n.crossOriginFetch??(e=>u(i,e)),requestApproval:n.requestApproval??(e=>f(i,e))};async function o(e,t,n){try{return{ok:!0,value:await n()}}catch(n){return r(e,t,n instanceof Error?n.message:String(n))}}async function s(e){let t=await o(`secrets`,e,()=>a.callSecrets({type:`secrets.list-masked-entries`}));if(!t.ok)return t;let n=t.value;return n?.error?r(`secrets`,e,n.error):Array.isArray(n?.entries)?{ok:!0,value:n.entries}:r(`secrets`,e,`secrets bridge returned no entries`)}async function d(e){let t=await o(`secrets`,`set`,()=>a.callSecrets({type:e.scope===`persisted`?`secrets.set`:`secrets.session.set`,name:e.name,value:e.value,domains:[...e.domains??[]]}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:void 0}:r(`secrets`,`set`,n?.error??`secrets.set failed`)}async function p(e){let t=await o(`secrets`,`delete`,()=>a.callSecrets({type:`secrets.delete`,name:e.name}));if(!t.ok)return t;let n=t.value;return n?.ok?{ok:!0,value:{removed:n.removed??!0,fromSession:n.fromSession===!0}}:r(`secrets`,`delete`,n?.error??`secrets.delete failed`)}async function m(n){let r=await o(`network`,`crossOriginFetch`,()=>a.crossOriginFetch(n));if(!r.ok)return r;let i=r.value,s=t(i.headers[`content-type`]??``);return{ok:!0,value:{status:i.status,ok:i.status>=200&&i.status<300,statusText:i.statusText,headers:i.headers,body:s?new TextDecoder().decode(i.bytes):e(i.bytes),bodyEncoding:s?`text`:`base64`,url:n.url}}}async function h(e){let t=await o(`mounts`,`signRequest`,()=>a.callMount(e.backend===`s3`?`mount.s3-sign-and-forward`:`mount.da-sign-and-forward`,e.envelope));return t.ok?t.value&&typeof t.value.ok==`boolean`?{ok:!0,value:t.value}:r(`mounts`,`signRequest`,`mount bridge returned no envelope`):t}return{crossOriginFetch:m,secrets:{async listMaskedEnv(){let e=await s(`listMaskedEnv`);return e.ok?{ok:!0,value:{entries:e.value}}:e},async getMasked(e){let t=await s(`getMasked`);if(!t.ok)return t;let n=t.value.find(t=>t.name===e.name);return n?{ok:!0,value:n}:r(`secrets`,`getMasked`,`no secret named "${e.name}"`)},set:d,delete:p},signRequest:h,requestApproval:e=>o(`approvals`,`request`,()=>a.requestApproval(e))}}function s(e){return new Promise((t,n)=>{chrome.runtime.sendMessage(e,e=>{let r=chrome.runtime.lastError;r?n(Error(r.message??`chrome.runtime.lastError`)):t(e)})})}async function c(e,t){if(e)return s(t);let{callSecretsBridge:n}=await import(`./secrets-bridge-client-BiJrSKN9.js`).then(e=>e.n),{type:r,...i}=t;return n(r,i)}async function l(e,t,n){if(e)return await i(s({type:t,envelope:n}),12e4);let{callMountBridge:r}=await import(`./mount-bridge-client-Dz_UHbPE.js`);return r(t,n)}async function u(e,t){let{collectViaExtensionDelegate:n,collectViaExtensionPort:r,REQUEST_BODY_CAP:i}=await import(`./proxied-fetch-DXaTHROw.js`).then(e=>e.a),o=a(t);if(o!==void 0&&o.byteLength>i)throw Error(`request body is ${o.byteLength} bytes, over the ${i}-byte proxy limit`);let{head:s,body:c}=await(e?r:n)(t.url,{method:t.method??`GET`,headers:t.headers,...o===void 0?{}:{body:o}});return{status:s.status,statusText:s.statusText,headers:s.headers,bytes:new Uint8Array(c)}}function d(e,t){return t?new Promise((n,r)=>{if(t.aborted){r(Error(`approval relay cancelled before it was sent`));return}let i=()=>r(Error(`approval relay did not answer`));t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))}):e}async function f(e,t){let r=t.suggestedPattern??t.detail,i={kind:t.kind,detail:t.detail,suggestedPattern:r,...t.requester?{requester:t.requester}:{},...t.reason?{reason:t.reason}:{},...t.approver?{approver:t.approver}:{}};if(e){let e=await d(s({source:`offscreen`,payload:{type:`sudo-request`,request:i}}),t.signal);if(!e?.ok||e.decision===void 0)throw Error(e?.error??`sudo relay returned no decision`);return n(e.decision,r)}let{getPanelRpcClient:a}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),o=a();if(!o)throw Error(`panel-RPC client unavailable in this realm`);let{decision:c}=await d(o.call(`sudo-request`,{request:i},{timeoutMs:6e5}),t.signal);return n(c,r)}export{o as createExtensionOps};
@@ -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{i as a,r as o,y as s}from"./kernel-worker-B_U-F-B8.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=>`- ${s(e)}`).join(`
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{i as a,r as o,y as s}from"./kernel-worker-BfQfWWGY.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=>`- ${s(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+`---