sliccy 6.135.0 → 6.135.2

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 (98) hide show
  1. package/README.md +2 -1
  2. package/dist/ui/.vite/manifest.json +150 -150
  3. package/dist/ui/assets/{account-store-D4LrThNn.js → account-store-DoZfx48N.js} +2 -2
  4. package/dist/ui/assets/account-store-qbfpAv9P.js +1 -0
  5. package/dist/ui/assets/{adobe-BUpPDBUB.js → adobe-j8reQ5G0.js} +1 -1
  6. package/dist/ui/assets/{adobe-DmE_BdsB.js → adobe-sKqYvAn_.js} +1 -1
  7. package/dist/ui/assets/{agent-bridge-tFbf2vAy.js → agent-bridge-Di2V3ZV5.js} +1 -1
  8. package/dist/ui/assets/{apply-layout-DF571ElK.js → apply-layout-BcTB3w5l.js} +1 -1
  9. package/dist/ui/assets/{apps-rZtwN_nr.js → apps-DQyPn-EA.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-bVIZmpz3.js → azure-openai-B1Z1nPYD.js} +2 -2
  11. package/dist/ui/assets/{azure-openai-B94FqZup.js → azure-openai-kEfdafkf.js} +1 -1
  12. package/dist/ui/assets/{cerebras-CwvLUYQG.js → cerebras--25qZmGG.js} +1 -1
  13. package/dist/ui/assets/{cerebras-DgVk3lTw.js → cerebras-DEl5iTx8.js} +1 -1
  14. package/dist/ui/assets/{connect-surface-BUzX9SOw.js → connect-surface-C_S4xfAL.js} +1 -1
  15. package/dist/ui/assets/{directed-approval-gcChNb46.js → directed-approval-BF2RzlIz.js} +1 -1
  16. package/dist/ui/assets/{dist-CBELmDjr.js → dist-BVrQoiOe.js} +1 -1
  17. package/dist/ui/assets/{dist-DOnCyc4g.js → dist-CTTSRXAF.js} +2 -2
  18. package/dist/ui/assets/{dist-BPZbDBP1.js → dist-DmxWHBaB.js} +2 -2
  19. package/dist/ui/assets/{dist-BKQr3WRb.js → dist-w2IcR3mk.js} +1 -1
  20. package/dist/ui/assets/{fs-B21IgSWJ.js → fs-BDvgfyfY.js} +1 -1
  21. package/dist/ui/assets/{fs-DUrvfJwu.js → fs-CFAlRIPp.js} +2 -2
  22. package/dist/ui/assets/{github-jvmkE1Pa.js → github-C6NwiAY0.js} +1 -1
  23. package/dist/ui/assets/{github-Bq98hfXE.js → github-DVjvpjUW.js} +2 -2
  24. package/dist/ui/assets/{github-copilot-DWSw6g7W.js → github-copilot-DDLqYCs2.js} +1 -1
  25. package/dist/ui/assets/{github-copilot-CtMmb1Sa.js → github-copilot-YfD78R3O.js} +1 -1
  26. package/dist/ui/assets/{github-install-CyMvltR6.js → github-install-BQEDitZ9.js} +1 -1
  27. package/dist/ui/assets/{github-zip-COrSIOqj.js → github-zip-BHol00V3.js} +1 -1
  28. package/dist/ui/assets/{help-Cnn0nF-W.js → help-IMO55VKA.js} +1 -1
  29. package/dist/ui/assets/{icons-YroUOIPd.js → icons-D4SDtJW0.js} +1 -1
  30. package/dist/ui/assets/{js-realm-worker-CxyYorDf.js → js-realm-worker-ubL-yaZM.js} +1 -1
  31. package/dist/ui/assets/{kernel-worker-BpGH7uan.js → kernel-worker-B4ZSy5dL.js} +30 -30
  32. package/dist/ui/assets/{local-llm-vhDOSI0R.js → local-llm-BlIHHIIR.js} +1 -1
  33. package/dist/ui/assets/{local-llm-CdmSb_ee.js → local-llm-CYAcv6lR.js} +1 -1
  34. package/dist/ui/assets/{main-BA45kwu2.js → main-YhY59gpj.js} +3 -3
  35. package/dist/ui/assets/{mount-BM7uK6px.js → mount-CYtwljpC.js} +1 -1
  36. package/dist/ui/assets/{mount-B6r48nKx.js → mount-jshkbhYV.js} +3 -3
  37. package/dist/ui/assets/{mount-recovery-Djzp17_v.js → mount-recovery-DkbXYiNB.js} +1 -1
  38. package/dist/ui/assets/{new-session-CFbGu3-2.js → new-session-CY6fiPWv.js} +2 -2
  39. package/dist/ui/assets/{oauth-bootstrap-DoUYRQMt.js → oauth-bootstrap-D4tmN0Xz.js} +2 -2
  40. package/dist/ui/assets/{openai-codex-BksQNRop.js → openai-codex-CFlUligj.js} +1 -1
  41. package/dist/ui/assets/{openai-codex-CM67XaZc.js → openai-codex-CznYMonZ.js} +1 -1
  42. package/dist/ui/assets/{openrouter-sV0gk1at.js → openrouter-5xIjy03m.js} +1 -1
  43. package/dist/ui/assets/{openrouter-CGKnr0OK.js → openrouter-Bmhj1RaJ.js} +1 -1
  44. package/dist/ui/assets/{openrouter-oauth-CVrps40y.js → openrouter-oauth-CX4kCEw-.js} +1 -1
  45. package/dist/ui/assets/{openrouter-oauth-Dub9iP4L.js → openrouter-oauth-DhJ9sdTw.js} +1 -1
  46. package/dist/ui/assets/{panel-rpc-handlers-BEbnmDFE.js → panel-rpc-handlers-DeSajRju.js} +2 -2
  47. package/dist/ui/assets/{panelize-shell-vkFYFE65.js → panelize-shell-C4WoeBi-.js} +1 -1
  48. package/dist/ui/assets/{provider-DQckbU2t.js → provider-CQ2aR_op.js} +2 -2
  49. package/dist/ui/assets/{provider-CCnS_eam.js → provider-MFBIiq2G.js} +1 -1
  50. package/dist/ui/assets/provider-settings-CAX_JaDU.js +2 -0
  51. package/dist/ui/assets/provider-settings-CaDzv4d5.js +1 -0
  52. package/dist/ui/assets/{provider-store-access-DHd-lcVt.js → provider-store-access-CbgX2zqv.js} +2 -2
  53. package/dist/ui/assets/provider-store-access-T6J2A8mW.js +1 -0
  54. package/dist/ui/assets/{providers-CHspb_s6.js → providers--WblPFu6.js} +2 -2
  55. package/dist/ui/assets/{providers-A5JzLXPz.js → providers-BNqcGyjV.js} +1 -1
  56. package/dist/ui/assets/{quick-llm-DXsXc-9N.js → quick-llm-BvHbuEWG.js} +1 -1
  57. package/dist/ui/assets/{recovery-screen-fsdAXohz.js → recovery-screen-Y8FKSR5D.js} +1 -1
  58. package/dist/ui/assets/{run-D1jCLjVW.js → run-CB3E3mOa.js} +1 -1
  59. package/dist/ui/assets/{run-BKyR5ZUV.js → run-D8fbRjQl.js} +13 -12
  60. package/dist/ui/assets/{run-BDUVy9xU.js → run-IzwW3Tb-.js} +1 -1
  61. package/dist/ui/assets/{session-freezer-ChZ82eH3.js → session-freezer-BOrewu6Z.js} +4 -4
  62. package/dist/ui/assets/{setup-feature-flags-remote-B3hL7A_D.js → setup-feature-flags-remote-Cqsvx6-4.js} +1 -1
  63. package/dist/ui/assets/{setup-standalone-prelude-BBN9ys95.js → setup-standalone-prelude-CHW3dWzU.js} +1 -1
  64. package/dist/ui/assets/{setup-sudo-CYJnj9yh.js → setup-sudo-BxFUnuc1.js} +2 -2
  65. package/dist/ui/assets/{skills-PoeKwOMJ.js → skills-CmBRfooN.js} +1 -1
  66. package/dist/ui/assets/slicc-version-CYwQuEux.js +1 -0
  67. package/dist/ui/assets/{snapshot-Dwgjyy4l.js → snapshot-CJzlPpvK.js} +1 -1
  68. package/dist/ui/assets/{snapshot-features-DgFZepvB.js → snapshot-features-BlM_yhm1.js} +1 -1
  69. package/dist/ui/assets/{src-BeuUQL2F.js → src-hh5Jc_tK.js} +1 -1
  70. package/dist/ui/assets/{state-DQJsiAYX.js → state-DoP7mc_M.js} +1 -1
  71. package/dist/ui/assets/{store-DALtb2hx.js → store-BgG0f1aC.js} +1 -1
  72. package/dist/ui/assets/{store-BOrikqN6.js → store-Ctff-91l.js} +1 -1
  73. package/dist/ui/assets/{sudo-iaY8MJRp.js → sudo-D4qPmbKt.js} +1 -1
  74. package/dist/ui/assets/{sync-dialog-BHRWzsGi.js → sync-dialog-BBo1RfX_.js} +1 -1
  75. package/dist/ui/assets/{upgrade-detection-Qqyvdvli.js → upgrade-detection-B8I2ca2b.js} +1 -1
  76. package/dist/ui/assets/{wc-attach-YzIOvbRZ.js → wc-attach-Cr1o6HzV.js} +2 -2
  77. package/dist/ui/assets/{wc-extension-vl2HxAdR.js → wc-extension-DDJdrrae.js} +2 -2
  78. package/dist/ui/assets/{wc-float-label-BOrE82Kq.js → wc-float-label-BkfYPqdF.js} +1 -1
  79. package/dist/ui/assets/{wc-follower-CXLqACJH.js → wc-follower-MuHSM_2l.js} +3 -3
  80. package/dist/ui/assets/{wc-live-CMrFWlAg.js → wc-live-CWr14oEc.js} +4 -4
  81. package/dist/ui/assets/{wc-nav-BcwsddAU.js → wc-nav-QwalFp7J.js} +2 -2
  82. package/dist/ui/assets/{wc-onboarding-CiOGxnZU.js → wc-onboarding-BsAZ6jGv.js} +2 -2
  83. package/dist/ui/assets/{wc-placeholder-idEbS5ZS.js → wc-placeholder-DL_rK01b.js} +2 -2
  84. package/dist/ui/assets/{wc-settings-CLOEjUV2.js → wc-settings-7Hpb0bqa.js} +2 -2
  85. package/dist/ui/assets/{wc-shell-C2nbVyfJ.js → wc-shell-BcQ0EQsr.js} +3 -3
  86. package/dist/ui/assets/{wc-sprinkles-BI4brDVz.js → wc-sprinkles-BliPiPMu.js} +2 -2
  87. package/dist/ui/assets/{wc-tray-B_BGNd75.js → wc-tray-B19l7JiX.js} +4 -4
  88. package/dist/ui/assets/{xai-grok-DRNVdXVf.js → xai-grok-NE3iS-G7.js} +1 -1
  89. package/dist/ui/assets/{xai-grok-cUQyTg-k.js → xai-grok-sPvkL9QO.js} +1 -1
  90. package/dist/ui/index.html +6 -6
  91. package/dist/ui/lucide-icons.js +192 -191
  92. package/dist/ui/packages/webapp/index.html +6 -6
  93. package/package.json +1 -1
  94. package/dist/ui/assets/account-store-DPCy1eih.js +0 -1
  95. package/dist/ui/assets/provider-settings-CI1WVGs5.js +0 -1
  96. package/dist/ui/assets/provider-settings-u8bRmEzD.js +0 -2
  97. package/dist/ui/assets/provider-store-access-fMK-ls9e.js +0 -1
  98. package/dist/ui/assets/slicc-version-BeaSvCQ1.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e,s as t}from"./account-store-DPCy1eih.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{t as r}from"./models-4WTk3EBD.js";import{a as i}from"./compat-uEPf6-XW.js";import{r as a,t as o}from"./transform-messages-Jn8bw4-u.js";function s(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function c(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let l=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return l=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function u(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const d=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var f=class extends Error{},p=class e extends f{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new h({message:r,cause:d(n)});let a=n?.error;return t===400?new _(t,a,r,i):t===401?new v(t,a,r,i):t===403?new y(t,a,r,i):t===404?new b(t,a,r,i):t===409?new x(t,a,r,i):t===422?new ee(t,a,r,i):t===429?new te(t,a,r,i):t>=500?new ne(t,a,r,i):new e(t,a,r,i)}},m=class extends p{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},h=class extends p{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},g=class extends h{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_=class extends p{},v=class extends p{},y=class extends p{},b=class extends p{},x=class extends p{},ee=class extends p{},te=class extends p{},ne=class extends p{},re=class extends f{constructor(){super(`Could not parse response content as the length limit was reached`)}},ie=class extends f{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},ae=class extends Error{constructor(e){super(e)}},oe=class extends p{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},se=class extends f{constructor(e,t,n){super(e),this.provider=t,this.cause=n}};const ce=/^[a-z][a-z0-9+.-]*:/i,le=e=>ce.test(e);let S=e=>(S=Array.isArray,S(e)),ue=S;function de(e){return typeof e==`object`?e??{}:{}}function fe(e){if(!e)return!0;for(let t in e)return!1;return!0}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const me=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new f(`${e} must be an integer`);if(t<0)throw new f(`${e} must be a positive integer`);return t},he=e=>{try{return JSON.parse(e)}catch{return}},ge=e=>new Promise(t=>setTimeout(t,e));function _e(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ve(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ye(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ve({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function be(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function xe(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}let Se;function w(e){let t;return(Se??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let Ce;function we(e){let t;return(Ce??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var Te,T,E,D,O,Ee,De;const Oe=65536;var ke=class{constructor(){Te.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Ee.set(this,void 0),s(this,T,new Uint8Array,`f`),s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),s(this,Ee,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||c(this,Ee,`f`)&&(s(this,Ee,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];c(this,Te,`m`,De).call(this,t);let n=[],r;for(;(r=Ae(c(this,T,`f`),c(this,O,`f`),c(this,D,`f`)))!=null;){let e=we(c(this,T,`f`).subarray(c(this,E,`f`),r.preceding));n.push(e),s(this,E,r.index,`f`),r.carriage&&(c(this,E,`f`)<c(this,D,`f`)&&c(this,T,`f`)[c(this,E,`f`)]===10?s(this,E,c(this,E,`f`)+1,`f`):c(this,E,`f`)===c(this,D,`f`)&&s(this,Ee,!0,`f`)),s(this,O,c(this,E,`f`),`f`)}if(s(this,O,c(this,D,`f`),`f`),c(this,E,`f`)===c(this,D,`f`))s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),c(this,T,`f`).length>Oe&&s(this,T,new Uint8Array,`f`);else if(n.length>0&&c(this,T,`f`).length>Oe){let e=c(this,D,`f`)-c(this,E,`f`);if(e<=Oe||c(this,T,`f`).length>e*4){let t=e<=Oe?Math.min(Math.max(e*2,256),Oe):e*2,n=new Uint8Array(t);n.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,n,`f`),s(this,E,0,`f`),s(this,D,e,`f`),s(this,O,e,`f`)}}return n}flush(){return s(this,Ee,!1,`f`),c(this,E,`f`)===c(this,D,`f`)?[]:this.decode(`
1
+ import{a as e,s as t}from"./account-store-qbfpAv9P.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{t as r}from"./models-4WTk3EBD.js";import{a as i}from"./compat-uEPf6-XW.js";import{r as a,t as o}from"./transform-messages-Jn8bw4-u.js";function s(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function c(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let l=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return l=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function u(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const d=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var f=class extends Error{},p=class e extends f{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new h({message:r,cause:d(n)});let a=n?.error;return t===400?new _(t,a,r,i):t===401?new v(t,a,r,i):t===403?new y(t,a,r,i):t===404?new b(t,a,r,i):t===409?new x(t,a,r,i):t===422?new ee(t,a,r,i):t===429?new te(t,a,r,i):t>=500?new ne(t,a,r,i):new e(t,a,r,i)}},m=class extends p{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},h=class extends p{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},g=class extends h{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_=class extends p{},v=class extends p{},y=class extends p{},b=class extends p{},x=class extends p{},ee=class extends p{},te=class extends p{},ne=class extends p{},re=class extends f{constructor(){super(`Could not parse response content as the length limit was reached`)}},ie=class extends f{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},ae=class extends Error{constructor(e){super(e)}},oe=class extends p{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},se=class extends f{constructor(e,t,n){super(e),this.provider=t,this.cause=n}};const ce=/^[a-z][a-z0-9+.-]*:/i,le=e=>ce.test(e);let S=e=>(S=Array.isArray,S(e)),ue=S;function de(e){return typeof e==`object`?e??{}:{}}function fe(e){if(!e)return!0;for(let t in e)return!1;return!0}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const me=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new f(`${e} must be an integer`);if(t<0)throw new f(`${e} must be a positive integer`);return t},he=e=>{try{return JSON.parse(e)}catch{return}},ge=e=>new Promise(t=>setTimeout(t,e));function _e(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ve(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ye(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ve({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function be(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function xe(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}let Se;function w(e){let t;return(Se??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let Ce;function we(e){let t;return(Ce??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var Te,T,E,D,O,Ee,De;const Oe=65536;var ke=class{constructor(){Te.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Ee.set(this,void 0),s(this,T,new Uint8Array,`f`),s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),s(this,Ee,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||c(this,Ee,`f`)&&(s(this,Ee,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];c(this,Te,`m`,De).call(this,t);let n=[],r;for(;(r=Ae(c(this,T,`f`),c(this,O,`f`),c(this,D,`f`)))!=null;){let e=we(c(this,T,`f`).subarray(c(this,E,`f`),r.preceding));n.push(e),s(this,E,r.index,`f`),r.carriage&&(c(this,E,`f`)<c(this,D,`f`)&&c(this,T,`f`)[c(this,E,`f`)]===10?s(this,E,c(this,E,`f`)+1,`f`):c(this,E,`f`)===c(this,D,`f`)&&s(this,Ee,!0,`f`)),s(this,O,c(this,E,`f`),`f`)}if(s(this,O,c(this,D,`f`),`f`),c(this,E,`f`)===c(this,D,`f`))s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),c(this,T,`f`).length>Oe&&s(this,T,new Uint8Array,`f`);else if(n.length>0&&c(this,T,`f`).length>Oe){let e=c(this,D,`f`)-c(this,E,`f`);if(e<=Oe||c(this,T,`f`).length>e*4){let t=e<=Oe?Math.min(Math.max(e*2,256),Oe):e*2,n=new Uint8Array(t);n.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,n,`f`),s(this,E,0,`f`),s(this,D,e,`f`),s(this,O,e,`f`)}}return n}flush(){return s(this,Ee,!1,`f`),c(this,E,`f`)===c(this,D,`f`)?[]:this.decode(`
2
2
  `)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,Ee=new WeakMap,Te=new WeakSet,De=function(e){if(c(this,D,`f`)+e.length>c(this,T,`f`).length){let t=c(this,D,`f`)-c(this,E,`f`);if(c(this,E,`f`)>=c(this,T,`f`).length/2&&t+e.length<=c(this,T,`f`).length)c(this,T,`f`).copyWithin(0,c(this,E,`f`),c(this,D,`f`));else{let n=Math.max(c(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,r,`f`)}s(this,O,c(this,O,`f`)-c(this,E,`f`),`f`),s(this,D,t,`f`),s(this,E,0,`f`)}c(this,T,`f`).set(e,c(this,D,`f`)),s(this,D,c(this,D,`f`)+e.length,`f`)},ke.NEWLINE_CHARS=new Set([`
3
3
  `,`\r`]),ke.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ae(e,t,n){for(let r=t;r<n;r++){if(e[r]===10)return{preceding:r,index:r+1,carriage:!1};if(e[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function je(e){for(let t=0;t<e.length-1;t++){let n=Me(e,t);if(n>0){let r=t+n,i=Me(e,r);if(i>0)return r+i}}return-1}function Me(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}const Ne={off:0,error:200,warn:300,info:400,debug:500},Pe=(e,t,n)=>{if(e){if(pe(Ne,e))return e;k(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ne))}`)}};function Fe(){}function Ie(e,t,n){return!t||Ne[e]>Ne[n]?Fe:t[e].bind(t)}const Le={error:Fe,warn:Fe,info:Fe,debug:Fe};let Re=new WeakMap;function k(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Le;let r=Re.get(t);if(r&&r[0]===n)return r[1];let i={error:Ie(`error`,t,n),warn:Ie(`warn`,t,n),info:Ie(`info`,t,n),debug:Ie(`debug`,t,n)};return Re.set(t,[n,i]),i}const ze=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`x-amz-security-token`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);var Be,Ve=class e{constructor(e,t,n){Be.set(this,void 0),this.iterator=e,this.controller=t,s(this,Be,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?k(r):console;async function*s(){if(a)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let e=!1,r=!1;try{for await(let e of He(t,n)){if(e.data.startsWith(`[DONE]`)){r=!0;break}if(e.event===null||!e.event.startsWith(`thread.`)){let n;try{n=JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(n&&n.error)throw new p(void 0,n.error,void 0,t.headers);yield i?{event:e.event,data:n}:n}else{let t;try{t=JSON.parse(e.data)}catch(t){throw console.error(`Could not parse message into JSON:`,e.data),console.error(`From chunk:`,e.raw),t}if(e.event===`error`)throw new p(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||u(e)||n.signal.aborted&&e===n.signal.reason)return;throw e}finally{e||n.abort()}}return new e(s,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new ke,r=t.getReader(),i=!1,a,o=()=>{a??=r.cancel(),a.catch(()=>void 0)};n.signal.addEventListener(`abort`,o,{once:!0});try{if(n.signal.aborted){o();return}for(;;){let{value:t,done:a}=await r.read();if(a){i=!0;break}if(n.signal.aborted)return;for(let r of e.decode(t)){if(n.signal.aborted)return;yield r}}if(n.signal.aborted)return;for(let t of e.flush()){if(n.signal.aborted)return;yield t}}finally{n.signal.removeEventListener(`abort`,o),i||o(),r.releaseLock()}}async function*o(){if(i)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(n.signal.aborted||u(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Be=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,c(this,Be,`f`)),new e(()=>i(n),this.controller,c(this,Be,`f`))]}toReadableStream(){let e;return ve({start:async()=>{e=this[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let i=w(JSON.stringify(n)+`
4
4
  `);t.enqueue(i)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}};async function*He(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new f(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new f(`Attempted to iterate over a response with no body`);let n=new We,r=new ke,i=be(e.body);for await(let e of Ue(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*Ue(e){let t=new Uint8Array,n=0,r=0,i=0;for await(let a of e){if(a==null)continue;let e;if(e=a instanceof ArrayBuffer?new Uint8Array(a):typeof a==`string`?w(a):a,r+e.length>t.length){let a=r-n;if(n>=t.length/2&&a+e.length<=t.length)t.copyWithin(0,n,r);else{let i=new Uint8Array(Math.max(t.length*2,a+e.length));i.set(t.subarray(n,r)),t=i}i-=n,n=0,r=a}t.set(e,r),r+=e.length;let o;for(;(o=je(t.subarray(i,r)))!==-1;)o+=i,yield t.slice(n,o),n=o,i=n;i=Math.max(n,r-3)}r>n&&(yield t.slice(n,r))}var We=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.slice(0,-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
@@ -1 +1 @@
1
- import{i as e}from"./account-store-DPCy1eih.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-uEPf6-XW.js";import{r,s as i}from"./legacy-api-aliases-jKEvBgOL.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
1
+ import{i as e}from"./account-store-qbfpAv9P.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-uEPf6-XW.js";import{r,s as i}from"./legacy-api-aliases-jKEvBgOL.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
@@ -1 +1 @@
1
- import{h as e}from"./account-store-D4LrThNn.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{u as n}from"./claude-model-version-BJLrDjmH.js";import{r,s as i}from"./legacy-api-aliases-45zvHmpJ.js";var a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`,u=[],d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
1
+ import{g as e}from"./account-store-DoZfx48N.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{u as n}from"./claude-model-version-BJLrDjmH.js";import{r,s as i}from"./legacy-api-aliases-45zvHmpJ.js";var a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`,u=[],d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
@@ -1,4 +1,4 @@
1
- import{C as e,I as t,d as n,f as r}from"./account-store-D4LrThNn.js";import{n as i}from"./provider-settings-u8bRmEzD.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(t){if(t===o)return!1;let n=e(t);return!(n.hidden||n.onOAuthLoginIntercepted)}function c(){try{let e=r().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(r){for(;r.firstChild;)r.removeChild(r.firstChild);r.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,r.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,r.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,r.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let r=n().filter(e=>e.providerId!==o);if(r.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let n=document.createElement(`div`);n.className=`connect-surface__accounts-list`;for(let i of r){let r=e(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=r.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await t(i.providerId),c(),d()},a.appendChild(u),n.appendChild(a)}u.appendChild(n)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=r.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),r.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
1
+ import{R as e,f as t,p as n,w as r}from"./account-store-DoZfx48N.js";import{n as i}from"./provider-settings-CAX_JaDU.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(e){if(e===o)return!1;let t=r(e);return!(t.hidden||t.onOAuthLoginIntercepted)}function c(){try{let e=n().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(n){for(;n.firstChild;)n.removeChild(n.firstChild);n.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,n.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,n.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,n.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let n=t().filter(e=>e.providerId!==o);if(n.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let t=document.createElement(`div`);t.className=`connect-surface__accounts-list`;for(let i of n){let n=r(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=n.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await e(i.providerId),c(),d()},a.appendChild(u),t.appendChild(a)}u.appendChild(t)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=n.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),n.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
2
2
  .connect-surface {
3
3
  padding: 2rem;
4
4
  max-width: 560px;
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./agent-bridge-tFbf2vAy.js";import{x as n}from"./record-CUBwpX6h.js";const r=e(`directed-approval`);function i(e,t){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!t.scoops.has(r))return a(`the requesting unit is not registered`);let i=t.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...t.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?n(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`};async function s(e,n){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[t];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),o;let{approverRunnerFor:s}=await import(`./approver-agent-CDzqjgJM.js`),c=n.getSharedFs(),l=await s({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!c)return null;try{let t=await c.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let t=n.scoops.get(e);return t?{workspace:n.workspaceFor(t),folder:t.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:l.decision,reason:l.reason}),l.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let t=i(a,n);return t.ok?n.enqueue(t.requesterJid,e,{approver:t.approver}):o}return n.approveAsUser(e)}export{s as runDirectedApproval};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./agent-bridge-Di2V3ZV5.js";import{x as n}from"./record-CUBwpX6h.js";const r=e(`directed-approval`);function i(e,t){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!t.scoops.has(r))return a(`the requesting unit is not registered`);let i=t.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...t.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?n(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`};async function s(e,n){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[t];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),o;let{approverRunnerFor:s}=await import(`./approver-agent-CDzqjgJM.js`),c=n.getSharedFs(),l=await s({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!c)return null;try{let t=await c.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let t=n.scoops.get(e);return t?{workspace:n.workspaceFor(t),folder:t.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:l.decision,reason:l.reason}),l.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let t=i(a,n);return t.ok?n.enqueue(t.requesterJid,e,{approver:t.approver}):o}return n.approveAsUser(e)}export{s as runDirectedApproval};
@@ -6,7 +6,7 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{n as r,t
6
6
  `;var ps=class extends u.default{entries=[];toString(){return fs+this.entries.map(e=>`${e.op.padEnd(ds)} ${e.path}`).join(`
7
7
  `)}fromString(e){if(!e.startsWith(fs))throw z(P(`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(!us(e)){B(`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}},ms=class extends Xn{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 ps){if(super(1651862636,e.name),this.readable=e,this.writable=t,this.journal=n,t.attributes.has(`no_write`))throw z(P(`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)),{...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 P(`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 P(`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 P(`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 P(`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 P(`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 P(`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 P(`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 P(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}rmdirSync(e){if(!this.existsSync(e))throw P(`ENOENT`);if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),!this.existsSync(e)){this.inos.delete(e);return}if(this.readdirSync(e).length)throw P(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}async mkdir(e,t){if(await this.exists(e))throw P(`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 P(`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 P(`ENOENT`);let t=await this.readable.stat(e).catch(()=>null),n=await this.writable.stat(e).catch(()=>null);if(!t&&!n)throw P(`ENOENT`);let r=t&&J(t)?await this.readable.readdir(e):[];if(n&&J(n))for(let t of await this.writable.readdir(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(W(e,t)))}readdirSync(e){if(this.isDeleted(e))throw P(`ENOENT`);let t=null,n=null;try{t=this.readable.statSync(e)}catch{}try{n=this.writable.statSync(e)}catch{}if(!t&&!n)throw P(`ENOENT`);let r=t&&J(t)?this.readable.readdirSync(e):[];if(n&&J(n))for(let t of this.writable.readdirSync(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(W(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=v(P(`EDEADLK`));for(let n=G(e);!this.writable.existsSync(n);n=G(n))t.push(n);n(),t.length&&fe(`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=v(P(`EDEADLK`,e));for(let n=G(e);!await this.writable.exists(n);n=G(n))t.push(n);n(),t.length&&fe(`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 P(`ENOENT`);this.writable.existsSync(G(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e,t)}async copyForWrite(e,t){if(!await this.exists(e))throw P(`ENOENT`);if(await this.writable.exists(G(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(J(n)){this.writable.mkdirSync(e,n);for(let t of this.readable.readdirSync(e))this.copyToWritableSync(W(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,n),r&&this.writable.writeSync(e,i,0)}async copyToWritable(e,t){let n=await this.readable.stat(e);if(J(n)){await this.writable.mkdir(e,n);for(let t of await this.readable.readdir(e))await this.copyToWritable(W(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,n),r&&await this.writable.write(e,i,0)}};const hs={name:`CopyOnWrite`,options:{writable:{type:`object`,required:!0},readable:{type:`object`,required:!0},journal:{type:`object`,required:!1}},async create(e){return new ms(await Qo(e.readable),await Qo(e.writable),e.journal)}},gs=new Map;async function _s(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 vs(e,t,n={}){let r=new Request(e,n);if(typeof t.start!=`number`||typeof t.end!=`number`){let{data:r}=await _s(e,n);return new s(e,r.byteLength,t,gs).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=gs.get(e)??new s(e,i,t,gs);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 _s(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,gs).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 ys(e,t){let n=gs.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 bs(e,t,n,r={}){gs.has(e)||new s(e,n.size??t.byteLength,n,gs);let i=gs.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 _s(new Request(e,{...r,method:o,headers:n,body:t.buffer instanceof ArrayBuffer?t:Uint8Array.from(t)}),{},!0)}i.add(t,a)}async function xs(e,t={},n={}){t.cacheOnly||await _s(new Request(e,n),{method:`DELETE`},!0),gs.delete(e)}var Ss=class extends Xn{index;constructor(e,t,n=new Jn){super(e,t),this.index=n}usage(){return this.index.usage()}pathsForRename(e,t){if(!this.index.has(e))throw P(`ENOENT`);if((G(t)+`/`).startsWith(e+`/`))throw P(`EBUSY`);let n=[];for(let[r,i]of this.index.entries()){let a=Sn(e,r);if(a.startsWith(`..`))continue;let o=W(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 P(`ENOENT`);return new q(t)}statSync(e){let t=this.index.get(e);if(!t)throw P(`ENOENT`);return new q(t)}async touch(e,t){(this.index.get(e)??y(P(`ENOENT`))).update(t)}touchSync(e,t){(this.index.get(e)??y(P(`ENOENT`))).update(t)}_remove(e,t){let n=this.index.get(e);if(!n)throw P(`ENOENT`);let r=(n.mode&Ze)==nt;if(!r&&!t)throw P(`ENOTDIR`);if(r&&t)throw P(`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 P(`ENOTEMPTY`);this.index.delete(e),await this.remove(e)}rmdirSync(e){if(this._remove(e,!1),this.readdirSync(e).length)throw P(`ENOTEMPTY`);this.index.delete(e),this.removeSync(e)}create(e,t){if(this.index.has(e))throw P(`EEXIST`);let n=this.index.get(G(e));if(!n)throw P(`ENOENT`);let r=this.index._alloc(),i=new q({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){return this.create(e,{...t,mode:t.mode|et})}createFileSync(e,t){return this.create(e,{...t,mode:t.mode|et})}async mkdir(e,t){t={...t,mode:t.mode|nt};let n=this.create(e,t);return await this._mkdir?.(e,t),n}mkdirSync(e,t){t={...t,mode:t.mode|nt};let n=this.create(e,t);return this._mkdirSync?.(e,t),n}link(e,t){throw P(`ENOSYS`)}linkSync(e,t){throw P(`ENOSYS`)}async readdir(e){return Object.keys(this.index.directoryEntries(e))}readdirSync(e){return Object.keys(this.index.directoryEntries(e))}async sync(){}syncSync(){}};function Cs(e){if(!(`tag`in e))throw z(P(`EIO`,e.stack));switch(e.tag){case`fetch`:throw z(P(`EREMOTEIO`,e.message));case`status`:throw z(P(e.response.status>500?`EREMOTEIO`:`EIO`,`Response status code is `+e.response.status));case`size`:throw z(P(`EBADE`,e.message));case`buffer`:throw z(P(`EIO`,`Failed to decode buffer`))}}var ws=class extends Ss{baseUrl;requestInit;remoteWrite;_asyncDone=Promise.resolve();_async(e){this._asyncDone=this._asyncDone.then(()=>e).catch(e=>fe(`Async operation failed: `+(e.message??e)))}constructor(e,t,n={},r){super(544106099,`nfs`,e),this.baseUrl=t,this.requestInit=n,this.remoteWrite=r}async remove(e){await xs(this.baseUrl+e,{warn:B,cacheOnly:!this.remoteWrite},this.requestInit)}removeSync(e){this._async(xs(this.baseUrl+e,{warn:B,cacheOnly:!this.remoteWrite},this.requestInit))}async read(e,t,n=0,r){let i=this.index.get(e);if(!i)throw P(`ENOENT`);if(r-n==0)return;let a=await vs(this.baseUrl+e,{start:n,end:r,size:i.size,warn:B},this.requestInit).catch(Cs).catch(()=>void 0);if(!a)throw P(`ENODATA`);t.set(a)}readSync(e,t,n=0,r){let i=this.index.get(e);if(!i)throw P(`ENOENT`);if(r-n==0)return;let{data:a,missing:o}=ys(this.baseUrl+e,{start:n,end:r,size:i.size,warn:B});if(!a)throw P(`ENODATA`);if(o.length)throw this._async(vs(this.baseUrl+e,{start:n,end:r,size:i.size,warn:B},this.requestInit)),P(`EAGAIN`);t.set(a)}async write(e,t,n){let r=this.index.get(e);if(!r)throw P(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),await bs(this.baseUrl+e,t,{offset:n,warn:B,cacheOnly:!this.remoteWrite},this.requestInit).catch(Cs)}writeSync(e,t,n){let r=this.index.get(e);if(!r)throw P(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),this._async(bs(this.baseUrl+e,t,{offset:n,warn:B,cacheOnly:!this.remoteWrite},this.requestInit).catch(Cs))}};const Ts={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=U(t.pathname);let n=t.toString();n.at(-1)==`/`&&(n=n.slice(0,-1)),e.index??=`index.json`;let r=new Jn;if(typeof e.index!=`string`)r.fromJSON(e.index);else{let t=await vs(e.index,{warn:B},e.requestInit).catch(Cs);r.fromJSON(JSON.parse(E(t)))}let i=new ws(r,n,e.requestInit,e.remoteWrite);if(e.disableAsyncCache)return i;for(let[t,i]of r)i.mode&32768&&await vs(n+t,{warn:B},e.requestInit).catch(Cs);return i}};var Es=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},Ds=(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}),Os=class extends Xn{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=Es(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){z(`Failed to chown passthrough file: `+e.message)}}catch(e){n.error=e,n.hasError=!0}finally{let e=Ds(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){z(`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(J(t))await this.nodeFS.promises.mkdir(this.path(e),{mode:t.mode});else{let t={stack:[],error:void 0,hasError:!1};try{await Es(t,await this.nodeFS.promises.open(this.path(e),`wx`),!0).close()}catch(e){t.error=e,t.hasError=!0}finally{let e=Ds(t);e&&await e}}return await this.nodeFS.promises.stat(this.path(e))}createFileSync(e,t){if(J(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(){B(`Sync on passthrough is unnecessary`)}syncSync(){B(`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 Es(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=Ds(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 Es(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=Ds(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 ks={name:`Passthrough`,options:{fs:{type:`object`,required:!0},prefix:{type:`string`,required:!0}},create({fs:e,prefix:t}){return new Os(e,t)}};var As=t({attach:()=>Ws,catchMessages:()=>Ks,decodeMessage:()=>Ls,detach:()=>Gs,encodeMessage:()=>Is,from:()=>Fs,fromNode:()=>Ns,fromWeb:()=>Ms,fromWebSocket:()=>Ps,handleRequest:()=>qs,handleResponse:()=>Us,isMessage:()=>Rs,isPort:()=>js,request:()=>Vs});function js(e){return typeof e==`object`&&!!e&&`channel`in e&&`send`in e&&`addHandler`in e&&`removeHandler`in e}function Ms(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 Ns(e){return{channel:e,send:e.postMessage.bind(e),addHandler:e.on.bind(e,`message`),removeHandler:e.off.bind(e,`message`)}}function Ps(e){return{channel:e,send(t){e.send(Is(t))},addHandler(t){e.addEventListener(`message`,e=>{t(Ls(e.data))})},removeHandler(t){e.removeEventListener(`message`,e=>{t(Ls(e.data))})}}}function Fs(e){if(js(e))return e;if(e instanceof WebSocket)return Ps(e);if(`on`in e)return Ns(e);if(`addEventListener`in e)return Ms(e);throw z(P(`EINVAL`,`Invalid port type`))}function Is(e){return`Z1${JSON.stringify(e,(e,t)=>{if(e!=`_zenfs`)return t instanceof Uint8Array?`$`+t.toBase64():t})}`}function Ls(e){if(!e.startsWith(`Z`))return{};e=e.slice(1);let t=parseInt(e);if(isNaN(t))return B(`Ignoring encoded message with missing version`),{};if(e=e.slice(t.toString().length),!h(e))return B(`Ignoring encoded message with invalid JSON`),{};if(t!=1)throw z(P(`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 Rs(e){return typeof e==`object`&&!!e&&`_zenfs`in e&&!!e._zenfs}function zs(e){let t=Bs.get(e);t&&(t.timeout&&(clearTimeout(t.timeout),typeof t.timeout==`object`&&t.timeout.unref()),Bs.delete(e))}const Bs=new Map;function Vs(e,{port:t,timeout:n=1e3,fs:r}){let i=`
9
- `+Error().stack.slice(6);if(!t)throw z(P(`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=z(P(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,zs(c),o(e)},n)};return Bs.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Hs(e,...t){return t.includes(e.method)}function Us(e){if(!Rs(e))return;if(!Bs.has(e.id)){let t=z(P(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Bs.get(e.id);if(e.error){let t=M.fromJSON({code:`EIO`,errno:k.EIO,...e.error});t.stack+=e.stack,zs(e.id),n(t);return}zs(e.id),t(Hs(e,`stat`,`createFile`,`mkdir`)?new q(e.value):e.value)}function Ws(e,t){if(!e)throw z(P(`EINVAL`,`Cannot attach to non-existent port`));de(`Attached handler to port: `+t.name),e.addHandler(t)}function Gs(e,t){if(!e)throw z(P(`EINVAL`,`Cannot detach from non-existent port`));de(`Detached handler from port: `+t.name),e.removeHandler(t)}function Ks(e){let t=[],n=t.push.bind(t);return Ws(e,n),async function(r){Gs(e,n);for(let n of t)await qs(e,r,`data`in n?n.data:n)}}async function qs(e,t,n){if(!Rs(n))return;let r,i,a=[];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 q?e:new q(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new q(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof M?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r},a)}const Js=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`];function Ys(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 rr&&this instanceof rr){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(`/`),fe(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,le(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw P(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw le(P(`ENOTSUP`,`No sync cache is attached to this async file system`))}renameSync(e,t){this.checkSync(),this._sync.renameSync(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._async(()=>this.unlink(e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(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){this.checkSync(),this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._sync.writeSync(e,t,n),this._async(()=>this.write(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)])}})}async crossCopy(e){this.checkSync();let t=await this.stat(e);if(!J(t)){this._sync.createFileSync(e,t);let n=new Uint8Array(t.size);await this.read(e,n,0,t.size),this._sync.writeSync(e,n,0),this._sync.touchSync(e,t);return}e!==`/`&&(this._sync.mkdirSync(e,t),this._sync.touchSync(e,t));let n=[];for(let t of await this.readdir(e))n.push(this.crossCopy(W(e,t)));await Promise.all(n)}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=Js.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 z(P(`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=z(P(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,zs(c),o(e)},n)};return Bs.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Hs(e,...t){return t.includes(e.method)}function Us(e){if(!Rs(e))return;if(!Bs.has(e.id)){let t=z(P(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Bs.get(e.id);if(e.error){let t=M.fromJSON({code:`EIO`,errno:k.EIO,...e.error});t.stack+=e.stack,zs(e.id),n(t);return}zs(e.id),t(Hs(e,`stat`,`createFile`,`mkdir`)?new q(e.value):e.value)}function Ws(e,t){if(!e)throw z(P(`EINVAL`,`Cannot attach to non-existent port`));de(`Attached handler to port: `+t.name),e.addHandler(t)}function Gs(e,t){if(!e)throw z(P(`EINVAL`,`Cannot detach from non-existent port`));de(`Detached handler from port: `+t.name),e.removeHandler(t)}function Ks(e){let t=[],n=t.push.bind(t);return Ws(e,n),async function(r){Gs(e,n);for(let n of t)await qs(e,r,`data`in n?n.data:n)}}async function qs(e,t,n){if(!Rs(n))return;let r,i,a=[];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 q?e:new q(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new q(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof M?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r},a)}const Js=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`];function Ys(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 rr&&this instanceof rr){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(`/`),fe(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,le(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw P(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw le(P(`ENOTSUP`,`No sync cache is attached to this async file system`))}renameSync(e,t){this.checkSync(),this._sync.renameSync(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._async(()=>this.unlink(e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(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){this.checkSync(),this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._sync.writeSync(e,t,n),this._async(()=>this.write(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)])}})}async crossCopy(e,t={active:0,waiters:[],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(!J(n)){t.active>=16?await new Promise((e,n)=>t.waiters.push({resolve:e,reject:n})):t.active++;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{let e=!t.failure&&t.waiters.shift();e?e.resolve():t.active--}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(W(e,n),t))}if(await Promise.allSettled(r),t.failure)throw t.failure.error}catch(e){t.failure??={error:e};for(let e of t.waiters.splice(0))e.reject(t.failure.error);throw t.failure.error}}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=Js.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
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{this._sync?.[`${e}Sync`]?.(...r)}catch(e){if(n(3,e))return i;throw e.message+=` (Out of sync!)`,z(e)}return i}}fe(`Async: patched ${t.length} methods`)}}return t}var Xs=class extends Ys(Xn){channel;timeout;port;_sync=sr.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Fs(e),Ws(this.port,Us)}rpc(e,...t){return Vs({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 q?t:new q(t)}async touch(e,t){let n=t instanceof q?t:new q(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 q&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof q?n:new q(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof q&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof q?n:new q(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 Zs(e,t){let n=Fs(e);Ws(n,e=>qs(n,t,e))}function Qs(e,t){let n=Fs(e);Gs(n,e=>qs(n,t,e))}const $s={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 Xs(e.port,e.timeout)}};async function ec(e,t,n=0){let r=Fs(e),i=Ks(r),a=await Qo(t,n);return Zs(r,a),await i(a),de(`Resolved remote mount: `+a.toString()),a}var tc=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},Q=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},nc=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},rc=(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 ic=e=>`0x`+e.toString(16).padStart(8,`0`),{format:ac}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let oc=(()=>{var e,t,n,r;let i=[Yt.packed()],a,s=[],c,l=Qt(o),u,d=[],f=[],p,m=[],h=[],g,_=[],v=[],y,b=[],x=[];var S=class extends l{static{c=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=H).uint32.bind(e)],p=[(t=H).uint32.bind(t)],g=[(n=H).uint32.bind(n)],y=[(r=H).uint32.bind(r)],tc(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:o},d,f),tc(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:o},m,h),tc(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:o},_,v),tc(this,null,y,{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:o},b,x),tc(null,a={value:c},i,{kind:`class`,name:c.name,metadata:o},null,s),S=c=a.value,o&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`MetadataEntry`;#e=Q(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(Q(this,f),Q(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(Q(this,h),Q(this,_,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(Q(this,v),Q(this,b,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${ic(this.byteOffset)}>`}constructor(){super(...arguments),Q(this,x)}static{Q(c,s)}};return c})(),sc=(()=>{var e,t,n,r;let i=[Yt.packed()],a,o=[],s,c=Qt.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],_=[],v,y=[],b=[],x,S=[],C=[];var w=class extends c{static{s=this}static{let T=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=H).uint32.bind(e)],f=[(t=H).uint64.bind(t)],h=[(n=H).uint32.bind(n)],v=[Xt(en(oc,255))],x=[(r=H).int32.bind(r)],tc(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:T},u,d),tc(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:T},p,m),tc(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:T},g,_),tc(this,null,v,{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:T},y,b),tc(this,null,x,{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:T},S,C),tc(null,a={value:s},i,{kind:`class`,name:s.name,metadata:T},null,o),w=s=a.value,T&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:T})}static name=`MetadataBlock`;static lockIndex;#e=Q(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(Q(this,d),Q(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(Q(this,m),Q(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=Q(this,_);get previous(){if(this.previous_offset)return this._previous??=new w(this.buffer,this.previous_offset),this._previous}#r=Q(this,y,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${ic(this.byteOffset)}>`;let t=[`---- Metadata block at ${ic(this.byteOffset)} ----`,`Checksum: ${ic(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${ic(this.previous_offset)}`,`Entries:`].join(`
12
12
  `);for(let e of this.items)e.offset&&(t+=`\n\t${ic(e.id)}: ${ac(e.size).padStart(5)} at ${ic(e.offset)}`);return t}#i=(Q(this,b),Q(this,S,void 0));get locked(){return this.#i}set locked(e){this.#i=e}waitUnlocked(e=0){if(e>5)throw le(P(`EBUSY`,`sbfs: exceeded max attempts waiting for metadata block at ${ic(this.byteOffset)} to be unlocked`));if(Atomics.load(this,w.lockIndex))switch(Atomics.wait(this,w.lockIndex,1)){case`ok`:break;case`not-equal`:return e++,z(`sbfs: waiting for metadata block at ${ic(this.byteOffset)} to be unlocked (${e}/5)`),this.waitUnlocked(e);case`timed-out`:throw le(P(`EBUSY`,`sbfs: timed out waiting for metadata block at ${ic(this.byteOffset)} to be unlocked`))}}lock(){this.waitUnlocked(),Atomics.store(this,w.lockIndex,1);let e=()=>{Atomics.store(this,w.lockIndex,0),Atomics.notify(this,w.lockIndex,1)};return e[Symbol.dispose]=e,e}constructor(){super(...arguments),Q(this,C)}static{Q(s,o)}};return w=s})();Object.assign(sc,{lockIndex:Wt(sc,`locked`)/Int32Array.BYTES_PER_ELEMENT});const cc=1651715706;let lc=(()=>{var e,t,n,r,i,a,o,s,c,l;let u=[Yt.packed()],d,f=[],p,m=Qt.typed(BigUint64Array),h,g=[],_=[],v,y=[],b=[],x,S=[],C=[],w,T=[],ee=[],E,te=[],ne=[],D,k=[],A=[],j,M=[],N=[],F,re=[],I=[],L,ie=[],R=[],ae,oe=[],se=[],ce,ue=[],de=[],pe,me=[],he=[],ge,_e=[],ve=[];var ye=class extends m{static{p=this}static{let O=typeof Symbol==`function`&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;h=[(e=H).uint32.bind(e)],v=[(t=H).uint32.bind(t)],x=[(n=H).uint16.bind(n)],w=[(r=H).uint16.bind(r)],E=[(i=H).uint32.bind(i)],D=[(a=H).uint64.bind(a)],j=[(o=H).uint64.bind(o)],F=[H.uint8(16)],L=[(s=H).uint32.bind(s)],ae=[(c=H).uint32.bind(c)],ce=[(l=H).uint32.bind(l)],pe=[H.char(64)],ge=[H.char(132)],tc(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:O},g,_),tc(this,null,v,{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:O},y,b),tc(this,null,x,{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:O},S,C),tc(this,null,w,{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:O},T,ee),tc(this,null,E,{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:O},te,ne),tc(this,null,D,{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:O},k,A),tc(this,null,j,{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:O},M,N),tc(this,null,F,{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:O},re,I),tc(this,null,L,{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:O},ie,R),tc(this,null,ae,{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:O},oe,se),tc(this,null,ce,{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:O},ue,de),tc(this,null,pe,{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:O},me,he),tc(this,null,ge,{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:O},_e,ve),tc(null,d={value:p},u,{kind:`class`,name:p.name,metadata:O},null,f),ye=p=d.value,O&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:O})}static name=`SuperBlock`;constructor(...e){if(super(...e),Q(this,ve),this.magic!=cc){B(`sbfs: Invalid magic value, assuming this is a fresh super block`);let e=new sc(this.buffer,V(ye));Object.assign(this,{metadata:e,metadata_offset:e.byteOffset,used_bytes:BigInt(V(ye)+V(sc)),total_bytes:BigInt(this.buffer.byteLength),magic:cc,version:1,inode_format:5,metadata_block_size:V(sc),uuid:O(crypto.randomUUID())}),fc(this),fc(e);return}if(this.checksum!==dc(this))throw le(P(`EIO`,`sbfs: checksum mismatch for super block`));if(this.metadata=new sc(this.buffer,this.metadata_offset),this.metadata.checksum!==dc(this.metadata))throw le(P(`EIO`,`sbfs: checksum mismatch for metadata block (saved ${ic(this.metadata.checksum)}, computed ${ic(dc(this.metadata))})`));if(this.inode_format!=5)throw le(P(`EIO`,`sbfs: inode format mismatch`));if(this.metadata_block_size!=V(sc))throw le(P(`EIO`,`sbfs: metadata block size mismatch`))}#e=Q(this,g,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(Q(this,_),Q(this,y,void 0));get magic(){return this.#t}set magic(e){this.#t=e}#n=(Q(this,b),Q(this,S,void 0));get version(){return this.#n}set version(e){this.#n=e}#r=(Q(this,C),Q(this,T,void 0));get inode_format(){return this.#r}set inode_format(e){this.#r=e}#i=(Q(this,ee),Q(this,te,void 0));get flags(){return this.#i}set flags(e){this.#i=e}#a=(Q(this,ne),Q(this,k,void 0));get used_bytes(){return this.#a}set used_bytes(e){this.#a=e}#o=(Q(this,A),Q(this,M,void 0));get total_bytes(){return this.#o}set total_bytes(e){this.#o=e}#s=(Q(this,N),Q(this,re,void 0));get uuid(){return this.#s}set uuid(e){this.#s=e}#c=(Q(this,I),Q(this,ie,void 0));get metadata_block_size(){return this.#c}set metadata_block_size(e){this.#c=e}#l=(Q(this,R),Q(this,oe,void 0));get metadata_offset_(){return this.#l}set metadata_offset_(e){this.#l=e}#u=(Q(this,se),Q(this,ue,void 0));get metadata_offset(){return this.#u}set metadata_offset(e){this.#u=e}metadata=Q(this,de);#d=Q(this,me,void 0);get label(){return this.#d}set label(e){this.#d=e}#f=(Q(this,he),Q(this,_e,void 0));get _padding(){return this.#f}set _padding(e){this.#f=e}rotateMetadata(){let e=BigInt(Int32Array.BYTES_PER_ELEMENT),t=BigInt(V(sc)),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 z(P(`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 sc(this.buffer,Number(r)),a=new Uint32Array(this.buffer,this.byteOffset,V(ye)/Uint32Array.BYTES_PER_ELEMENT),o=Atomics.load(a,uc);for(;;){i.previous_offset=o,fc(i);let e=Atomics.compareExchange(a,uc,o,i.byteOffset);if(e===o)break;o=e}return this.metadata=i,fc(this),fe(`sbfs: rotated metadata block at ${ic(i.previous_offset)} with new block at ${ic(i.byteOffset)}`),i}isUnused(e,t){if(!t)return!0;if(e+t>this.total_bytes||e<V(ye))return!1;for(let n=this.metadata;n;n=n.previous){if(e<n.byteOffset+V(sc)&&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{Q(p,f)}};return ye=p})();const uc=Wt(lc,`metadata_offset`)/Uint32Array.BYTES_PER_ELEMENT;function dc(e){let t=V(e)-4;return e instanceof sc&&(t-=Int32Array.BYTES_PER_ELEMENT),l(new Uint8Array(e.buffer,e.byteOffset+4,t))}function fc(e){e instanceof sc&&(e.timestamp=BigInt(Date.now())),e.checksum=dc(e)}var pc=class extends o{flags=[];name=`sbfs`;type=1935828595;get uuid(){return D(this.superblock.uuid)}superblock;_view;_u8;constructor(...e){if(super(...e),this.byteLength<V(lc)+V(sc))throw le(P(`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 lc(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<V(q))throw ce(P(`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(nc(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,fc(n);return}r.offset=Number(Atomics.add(this.superblock,2,BigInt(t.length))),r.size=t.length,this._u8.set(t,r.offset),fc(n),fc(this.superblock);return}catch(e){i.error=e,i.hasError=!0}finally{rc(i)}}}let r=Array.from(this.superblock.metadata.items).find(e=>!e.offset);r||=(this.superblock.rotateMetadata(),this.superblock.metadata.items[0]),nc(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),fc(this.superblock.metadata),fc(this.superblock)}catch(e){n.error=e,n.hasError=!0}finally{rc(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,fc(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 ir(this)}};const mc={name:`SingleBuffer`,options:{buffer:{type:`object`,required:!0}},create(e){let t=new rr(ArrayBuffer.isView(e.buffer)?new pc(e.buffer.buffer,e.buffer.byteOffset,e.buffer.byteLength):new pc(e.buffer));return t.checkRootSync(),t}},$=()=>{};async function hc(e){let t=[];for await(let n of e)t.push(n);return t}function gc(e,t,n=$){go.call(this,e,t).then(()=>n(null)).catch(n)}function _c(e,t=$){_o.call(this,e).then(t).catch(()=>t(!1))}function vc(e,t,n=$){n=typeof t==`function`?t:n,vo.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function yc(e,t,n=$){n=typeof t==`function`?t:n,yo.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function bc(e,t=0,n=$){n=typeof t==`function`?t:n;let r=typeof t==`number`?t:0;bo.call(this,e,r).then(()=>n(null)).catch(n)}function xc(e,t=$){xo.call(this,e).then(()=>t(null)).catch(t)}function Sc(e,t,n,r=$){let i=an(n,420);r=typeof n==`function`?n:r,So.call(this,e,t,i).then(e=>r(null,e.fd)).catch(r)}function Cc(e,t,n=$){n=typeof t==`function`?t:n,Co.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function wc(e,t,n,r=$){r=typeof n==`function`?n:r,wo.call(this,e,t,typeof n==`function`?null:n).then(()=>r(null)).catch(r)}function Tc(e,t,n,r=$){let i=typeof n==`function`?void 0:n;r=typeof n==`function`?n:r,To.call(this,e,t,i).then(()=>r(null)).catch(r)}function Ec(e,t,n=$){n=typeof t==`function`?t:n,new ho(this,e).stat().then(e=>n(null,typeof t==`object`&&t?.bigint?new jn(e):e)).catch(n)}function Dc(e,t=$){new ho(this,e).close().then(()=>t(null)).catch(t)}function Oc(e,t,n=$){let r=typeof t==`number`?t:0;n=typeof t==`function`?t:n;let i=new ho(this,e);if(r<0)throw P(`EINVAL`);i.truncate(r).then(()=>n(null)).catch(n)}function kc(e,t=$){new ho(this,e).sync().then(()=>t(null)).catch(t)}function Ac(e,t=$){new ho(this,e).datasync().then(()=>t(null)).catch(t)}function jc(e,t,n,r,i,a=$){let o,s,c,l,u,d=new ho(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=X.Buffer.from(t,u),s=0,c=o.byteLength):(o=X.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 Mc(e,t,n,r,i,a=$){new ho(this,e).read(t,n,r,i).then(({bytesRead:e,buffer:t})=>a(null,e,t)).catch(a)}function Nc(e,t,n,r=$){new ho(this,e).chown(t,n).then(()=>r(null)).catch(r)}function Pc(e,t,n){new ho(this,e).chmod(t).then(()=>n(null)).catch(n)}function Fc(e,t,n,r=$){new ho(this,e).utimes(t,n).then(()=>r(null)).catch(r)}function Ic(e,t=$){Eo.call(this,e).then(()=>t(null)).catch(t)}function Lc(e,t,n=$){Do.call(this,e,t).then(()=>n(null)).catch(n)}function Rc(e,t,n=$){n=typeof t==`function`?t:n;let r=typeof t==`function`?{}:t;Oo.call(this,e,r).then(e=>n(null,e)).catch(n)}function zc(e,t,n=$){ko.call(this,e,t).then(()=>n(null)).catch(n)}function Bc(e,t,n,r=$){let i=typeof n==`string`?n:`file`;r=typeof n==`function`?n:r,Ao.call(this,e,t,i).then(()=>r(null)).catch(r)}function Vc(e,t,n=$){n=typeof t==`function`?t:n,jo.call(this,e).then(e=>n(null,e)).catch(n)}function Hc(e,t,n,r=$){Mo.call(this,e,t,n).then(()=>r(null)).catch(r)}function Uc(e,t,n,r=$){No.call(this,e,t,n).then(()=>r(null)).catch(r)}function Wc(e,t,n=$){Po.call(this,e,t).then(()=>n(null)).catch(n)}function Gc(e,t,n=$){Fo.call(this,e,t).then(()=>n(null)).catch(n)}function Kc(e,t,n,r=$){Io.call(this,e,t,n).then(()=>r(null)).catch(r)}function qc(e,t,n,r=$){Lo.call(this,e,t,n).then(()=>r(null)).catch(r)}function Jc(e,t,n=$){n=typeof t==`function`?t:n,Ro.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Yc(e,t,n=$){let r=typeof t==`number`?t:4;n=typeof t==`function`?t:n,Bo.call(this,e,r).then(()=>n(null)).catch(n)}const Xc=new Map;function Zc(e,t,n){let r=U(e),i=typeof t==`function`?{}:t;if(typeof t==`function`&&(n=t),!n)throw N(`EINVAL`,`watch`,e.toString());if(Xc.has(r)){let e=Xc.get(r);e&&e.listeners.add(n);return}let a=new pa(this,r,i);a.on(`change`,(e,t)=>{let n=Xc.get(r);if(n)for(let r of n.listeners)r(e,t)}),Xc.set(r,{watcher:a,listeners:new Set([n])})}function Qc(e,t=$){let n=U(e),r=Xc.get(n);r&&(t&&t!==$?r.listeners.delete(t):r.listeners.clear(),r.listeners.size===0&&(r.watcher.stop(),Xc.delete(n)))}function $c(e,t,n){let r=new fa(this,U(e),typeof t==`object`?t:{});return n=typeof t==`function`?t:n,r.on(`change`,n||$),r}function el(e,t){t=typeof t==`object`?t:{encoding:t};let n=So.call(this,e,`r`,t?.mode);return new so({...t,autoClose:!0},n)}function tl(e,t){t=typeof t==`object`?t:{encoding:t};let n=So.call(this,e,`w`,t?.mode);return new co(t,n)}function nl(e,t,n=$){n=typeof t==`function`?t:n,Vo.call(this,e,typeof t==`function`?void 0:t).then(()=>n(null)).catch(n)}function rl(e,t,n=$){n=typeof t==`function`?t:n,Ho.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function il(e,t,n,r=$){r=typeof n==`function`?n:r,Wo.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function al(e,t,n,r=$){r=typeof n==`function`?n:r,new ho(this,e).readv(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesRead:t})=>r(null,t,e)).catch(r)}function ol(e,t,n,r=$){r=typeof n==`function`?n:r,new ho(this,e).writev(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesWritten:t})=>r(null,t,e)).catch(r)}function sl(e,t,n=$){n=typeof t==`function`?t:n,Go.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}function cl(e,t,n,r=$){r=typeof n==`function`?n:r,Ko.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function ll(e,t,n=$){n=typeof t==`function`?t:n,qo.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}async function ul(e,t){let n=await So.call(this,e.toString(),`r`),r=await n.readFile();return await n.close(),new Blob([r],t)}function dl(e,t,n=$){n=typeof t==`function`?t:n,hc(Jo.call(this,e,typeof t==`function`?void 0:t)).then(e=>n(null,e??[])).catch(e=>n(e))}function fl(e,t){return Object.assign(Error(t),{code:e})}function pl(e,t,n){return fl(`ERR_INVALID_ARG_TYPE`,`The "${e}" argument must be of type ${t}. Received ${typeof n}`)}function ml(e){return fl(`ERR_INVALID_STATE`,`Invalid state: `+e)}function hl(e,t){if(typeof e!=`number`)throw pl(t,`number`,e);if(!Number.isInteger(e)||e<0||e>4294967295)throw fl(`ERR_OUT_OF_RANGE`,`The value of "${t}" is out of range. It must be an integer >= 0 and <= 4294967295. Received ${e}`)}const gl=16384,_l=X.Buffer.alloc(0),vl={open:Sc,openSync:Ti,close:Dc,write:jc,writeSync:Fi,fsync:kc,fsyncSync:Ni,mkdir:Lc,mkdirSync:Vi};function yl(e,t,n){if(typeof e==`string`){if(X.Buffer.byteLength(e)===n)n=e.length;else{let t=X.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 bl(e,t){return e.length?e.length==1?e[0]:X.Buffer.concat(e,t):_l}const xl=Symbol(`Utf8StreamFS`);var Sl=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=gl;#h=!1;#g=0;#_;#v=!1;#y=!1;#b=!0;#x;#S=()=>!0;#C=!1;#w;#T=``;#E;static[xl]=vl;static _withContext(e){Ie(e);class t extends Sl{static[xl]=_(vl,e)}return t}constructor(e={}){if(typeof e!=`object`||!e)throw pl(`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 pl(`options.fs`,`object`,p);this.#E={...this.constructor[xl],...p};let h=this.#E;for(let e of[`write`,`writeSync`,`fsync`,`fsyncSync`,`close`,`open`,`mkdir`,`mkdirSync`])if(typeof h[e]!=`function`)throw pl(`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||gl,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,hl(this.#l,`options.hwm`),hl(this.#f,`options.minLength`),hl(this.#p,`options.maxLength`),hl(this.#m,`options.maxWrite`),hl(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 pl(`options.${e}`,`boolean`,t);if(typeof this.#S!=`function`)throw pl(`options.retryEAGAIN`,`function`,this.#S);if(d!=`buffer`&&d!=`utf8`)throw fl(`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`?_l:``,typeof m==`number`)this.#t=m,queueMicrotask(()=>this.emit(`ready`));else if(typeof m==`string`)this.#N(m);else throw pl(`fd`,`number or string`,m);if(this.#f>=this.#m)throw fl(`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 ml(`Utf8Stream is destroyed`);if(this.#w==`buffer`){if(!X.Buffer.isBuffer(e))throw pl(`data`,`Buffer`,e)}else if(typeof e!=`string`)throw pl(`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 pl(`cb`,`function`,e);if(this.#d){let t=ml(`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 ml(`Utf8Stream is destroyed`);if(this.#t<0)throw ml(`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=_l);let t=_l;for(;e.length||t.length;){t.length<=0&&(t=bl(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=yl(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 ml(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.reopen(e));return}if(this.#a)return;if(!this.#u)throw fl(`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 ml(`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=yl(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=yl(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(G(e),{recursive:!0}),t(null,this.#E.openSync(e,n,r))}catch(e){throw t(e),e}else this.#C?this.#E.mkdir(G(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:bl(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 N(`ENOSYS`,`Utf8Stream.setMaxListeners`)}getMaxListeners(){throw N(`ENOSYS`,`Utf8Stream.getMaxListeners`)}prependListener(){throw N(`ENOSYS`,`Utf8Stream.prependListener`)}prependOnceListener(){throw N(`ENOSYS`,`Utf8Stream.prependOnceListener`)}rawListeners(){throw N(`ENOSYS`,`Utf8Stream.rawListeners`)}},Cl=t({BigIntStatsFs:()=>Pn,Dir:()=>gi,Dirent:()=>mi,ReadStream:()=>so,Stats:()=>An,StatsFs:()=>Nn,Utf8Stream:()=>Sl,WriteStream:()=>co,access:()=>Yc,accessSync:()=>$i,appendFile:()=>Tc,appendFileSync:()=>ki,chmod:()=>Wc,chmodSync:()=>Ji,chown:()=>Hc,chownSync:()=>Ki,close:()=>Dc,closeSync:()=>ji,constants:()=>Ve,copyFile:()=>il,copyFileSync:()=>ra,cp:()=>cl,cpSync:()=>sa,createReadStream:()=>el,createWriteStream:()=>tl,exists:()=>_c,existsSync:()=>bi,fchmod:()=>Pc,fchmodSync:()=>Ri,fchown:()=>Nc,fchownSync:()=>Li,fdatasync:()=>Ac,fdatasyncSync:()=>Pi,fstat:()=>Ec,fstatSync:()=>Ai,fsync:()=>kc,fsyncSync:()=>Ni,ftruncate:()=>Oc,ftruncateSync:()=>Mi,futimes:()=>Fc,futimesSync:()=>zi,glob:()=>dl,globSync:()=>la,lchmod:()=>Gc,lchmodSync:()=>Yi,lchown:()=>Uc,lchownSync:()=>qi,link:()=>zc,linkSync:()=>Ui,lopenSync:()=>Ei,lstat:()=>yc,lstatSync:()=>Si,lutimes:()=>qc,lutimesSync:()=>Zi,mkdir:()=>Lc,mkdirSync:()=>Vi,mkdtemp:()=>rl,mkdtempDisposableSync:()=>na,mkdtempSync:()=>ta,open:()=>Sc,openAsBlob:()=>ul,openSync:()=>Ti,opendir:()=>sl,opendirSync:()=>oa,promises:()=>lo,read:()=>Mc,readFile:()=>Cc,readFileSync:()=>Di,readSync:()=>Ii,readdir:()=>Rc,readdirSync:()=>Hi,readlink:()=>Vc,readlinkSync:()=>Gi,readv:()=>al,readvSync:()=>ia,realpath:()=>Jc,realpathSync:()=>Qi,rename:()=>gc,renameSync:()=>yi,rm:()=>nl,rmSync:()=>ea,rmdir:()=>Ic,rmdirSync:()=>Bi,stat:()=>vc,statSync:()=>xi,statfs:()=>ll,statfsSync:()=>ca,symlink:()=>Bc,symlinkSync:()=>Wi,truncate:()=>bc,truncateSync:()=>Ci,unlink:()=>xc,unlinkSync:()=>wi,unwatchFile:()=>Qc,utimes:()=>Kc,utimesSync:()=>Xi,watch:()=>$c,watchFile:()=>Zc,write:()=>jc,writeFile:()=>wc,writeFileSync:()=>Oi,writeSync:()=>Fi,writev:()=>ol,writevSync:()=>aa}),wl=t({get:()=>Dl,getSync:()=>Ol,list:()=>Nl,listSync:()=>Pl,remove:()=>jl,removeSync:()=>Ml,set:()=>kl,setSync:()=>Al});const Tl=[];function El(e,t,n,r){if(!t.startsWith(`user.`)&&!Tl.includes(t))throw N(`ENOTSUP`,r,n)}async function Dl(e,t,n={}){e=U(e);let{fs:r,path:i}=$r(e,this);El(this,t,e,`xattr.get`);let a=await r.stat(i).catch(F(`xattr.get`,e));if(Z&&!Y(this,a,4))throw N(`EACCES`,`xattr.get`,e);a.attributes??=new Rn;let o=a.attributes.get(t);if(!o)throw N(`ENODATA`,`xattr.get`,e);let s=X.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}function Ol(e,t,n={}){e=U(e),El(this,t,e,`xattr.get`);let{fs:r,path:i}=$r(e,this),a;try{a=r.statSync(i)}catch(t){throw j(Object.assign(t,{path:e}))}if(Z&&!Y(this,a,4))throw N(`EACCES`,`xattr.get`,e);a.attributes??=new Rn;let o=a.attributes.get(t);if(!o)throw N(`ENODATA`,`xattr.get`,e);let s=X.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}async function kl(e,t,n,r={}){e=U(e);let{fs:i,path:a}=$r(e,this);El(this,t,e,`xattr.set`);let o=await i.stat(a).catch(F(`xattr.set`,e));if(Z&&!Y(this,o,2))throw N(`EACCES`,`xattr.set`,e);o.attributes??=new Rn;let s=o.attributes.get(t);if(r.create&&s)throw N(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw N(`ENODATA`,`xattr.set`,e);o.attributes.set(t,X.Buffer.from(n)),await i.touch(a,o).catch(F(`xattr.set`,e))}function Al(e,t,n,r={}){e=U(e);let{fs:i,path:a}=$r(e,this);El(this,t,e,`xattr.set`);let o;try{o=i.statSync(a)}catch(t){throw j(Object.assign(t,{path:e}))}if(Z&&!Y(this,o,2))throw N(`EACCES`,`xattr.set`,e);o.attributes??=new Rn;let s=o.attributes.get(t);if(r.create&&s)throw N(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw N(`ENODATA`,`xattr.set`,e);o.attributes.set(t,X.Buffer.from(n));try{i.touchSync(a,o)}catch(t){throw j(Object.assign(t,{path:e}))}}async function jl(e,t){e=U(e);let{fs:n,path:r}=$r(e,this);El(this,t,e,`xattr.remove`);let i=await n.stat(r).catch(F(`xattr.remove`,e));if(Z&&!Y(this,i,2))throw N(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Rn,!i.attributes.get(t))throw N(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t),await n.touch(r,i)}function Ml(e,t){e=U(e);let{fs:n,path:r}=$r(e,this);El(this,t,e,`xattr.remove`);let i;try{i=n.statSync(r)}catch(t){throw j(Object.assign(t,{path:e}))}if(Z&&!Y(this,i,2))throw N(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Rn,!i.attributes.get(t))throw N(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t);try{n.touchSync(r,i)}catch(t){throw j(Object.assign(t,{path:e}))}}async function Nl(e){e=U(e);let{fs:t,path:n}=$r(e,this),r=await t.stat(n).catch(F(`xattr.list`,e));return r.attributes?[...r.attributes.keys()]:[]}function Pl(e){e=U(e);let{fs:t,path:n}=$r(e,this),r;try{r=t.statSync(n)}catch(t){throw j(Object.assign(t,{path:e}))}return r.attributes?[...r.attributes.keys()]:[]}const Fl=new Map;function Il(e={}){let t=Re(this);if(!xi.call(this,t.root).isDirectory())throw N(`ENOTDIR`,{syscall:`chroot`,path:t.root});let n=Be(t,e),r=Object.assign(n,{fs:{..._(Cl,n),Utf8Stream:Sl._withContext(n),promises:_(lo,n),xattr:_(wl,n)},path:_(hn,n),bind:e=>{let t=Il.call(n,e);return n.children.push(t),t}});return Fl.set(n.id,r),r}var Ll=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},Rl=(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}),zl=class{previous;current=Promise.withResolvers();_isLocked=!0;get isLocked(){return this._isLocked}constructor(e){this.previous=e}async done(){await this.previous?.done(),await this.current.promise}unlock(){this.current.resolve(),this._isLocked=!1}[Symbol.dispose](){this.unlock()}},Bl=class{_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()}currentLock;addLock(){let e=new zl(this.currentLock);return this.currentLock=e,e}async lock(e=5e3){let t=this.currentLock,n=this.addLock(),r=Error().stack;return setTimeout(()=>{if(n.isLocked){let e=P(`EDEADLK`);throw e.stack+=r?.slice(5),z(e)}},e),await t?.done(),n}lockSync(){if(this.currentLock?.isLocked)throw z(P(`EBUSY`));return this.addLock()}get isLocked(){return!!this.currentLock?.isLocked}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{Ll(n,await this.lock(),!1),await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,await this.lock(),!1),await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,this.lockSync(),!1),this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{Ll(n,await this.lock(),!1),await this._fs.touch(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{Ll(n,this.lockSync(),!1),this._fs.touchSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}async createFile(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,await this.lock(),!1),await this._fs.createFile(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}createFileSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.createFileSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}async unlink(e){let t={stack:[],error:void 0,hasError:!1};try{Ll(t,await this.lock(),!1),await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}unlinkSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,this.lockSync(),!1),this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}async rmdir(e){let t={stack:[],error:void 0,hasError:!1};try{Ll(t,await this.lock(),!1),await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}rmdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,this.lockSync(),!1),this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}async mkdir(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,await this.lock(),!1),await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}mkdirSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,await this.lock(),!1),await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,this.lockSync(),!1),this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}async exists(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,await this.lock(),!1),await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}existsSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Ll(t,this.lockSync(),!1),this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Rl(t)}}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{Ll(n,await this.lock(),!1),await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}async sync(){let e={stack:[],error:void 0,hasError:!1};try{Ll(e,await this.lock(),!1),await this._fs.sync()}catch(t){e.error=t,e.hasError=!0}finally{Rl(e)}}syncSync(){let e={stack:[],error:void 0,hasError:!1};try{return Ll(e,this.lockSync(),!1),this._fs.syncSync()}catch(t){e.error=t,e.hasError=!0}finally{Rl(e)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Ll(i,await this.lock(),!1),await this._fs.read(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{Rl(i)}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Ll(i,this.lockSync(),!1),this._fs.readSync(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{Rl(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Ll(r,await this.lock(),!1),await this._fs.write(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{Rl(r)}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Ll(r,this.lockSync(),!1),this._fs.writeSync(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{Rl(r)}}streamRead(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.streamRead(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}streamWrite(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Ll(n,this.lockSync(),!1),this._fs.streamWrite(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Rl(n)}}};function Vl(e){class t extends Bl{constructor(...t){super(),this._fs=new e(...t)}}return t}function Hl(e){class t extends e{constructor(...e){super(...e),this.attributes.set(`no_write`)}async rename(){throw P(`EROFS`)}renameSync(){throw P(`EROFS`)}async createFile(){throw P(`EROFS`)}createFileSync(){throw P(`EROFS`)}async unlink(){throw P(`EROFS`)}unlinkSync(){throw P(`EROFS`)}async rmdir(){throw P(`EROFS`)}rmdirSync(){throw P(`EROFS`)}async mkdir(){throw P(`EROFS`)}mkdirSync(){throw P(`EROFS`)}async link(){throw P(`EROFS`)}linkSync(){throw P(`EROFS`)}async touch(){throw P(`EROFS`)}touchSync(){throw P(`EROFS`)}async sync(){throw P(`EROFS`)}syncSync(){throw P(`EROFS`)}async write(){throw P(`EROFS`)}writeSync(){throw P(`EROFS`)}streamWrite(){throw P(`EROFS`)}}return t}function Ul(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)}}return t}var Wl=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},Gl=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},Kl;(function(e){e[e.RealTime=1]=`RealTime`,e[e.PreAlloc=2]=`PreAlloc`,e[e.Immutable=8]=`Immutable`,e[e.Append=16]=`Append`,e[e.Sync=32]=`Sync`,e[e.NoAtime=64]=`NoAtime`,e[e.NoDump=128]=`NoDump`,e[e.RtInherit=256]=`RtInherit`,e[e.ProjInherit=512]=`ProjInherit`,e[e.NoSymlinks=1024]=`NoSymlinks`,e[e.ExtSize=2048]=`ExtSize`,e[e.ExtSzInherit=4096]=`ExtSzInherit`,e[e.NoDefrag=8192]=`NoDefrag`,e[e.FileStream=16384]=`FileStream`,e[e.Dax=32768]=`Dax`,e[e.CowExtSize=65536]=`CowExtSize`,e[e.HasAttr=2147483648]=`HasAttr`})(Kl||={});let ql=(()=>{var e,t,n,r,i;let a=[Yt()],s,c=[],l,u=Qt(o),d,f=[],p=[],m,h=[],g=[],_,v=[],b=[],x,S=[],C=[],w,T=[],ee=[],E,te=[],ne=[];var D=class extends u{static{l=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(u[Symbol.metadata]??null):void 0;d=[(e=H).uint32.bind(e)],m=[(t=H).uint32.bind(t)],_=[(n=H).uint32.bind(n)],x=[(r=H).uint32.bind(r)],w=[(i=H).uint32.bind(i)],E=[H.char(8)],Wl(this,null,d,{kind:`accessor`,name:`xflags`,static:!1,private:!1,access:{has:e=>`xflags`in e,get:e=>e.xflags,set:(e,t)=>{e.xflags=t}},metadata:o},f,p),Wl(this,null,m,{kind:`accessor`,name:`extsize`,static:!1,private:!1,access:{has:e=>`extsize`in e,get:e=>e.extsize,set:(e,t)=>{e.extsize=t}},metadata:o},h,g),Wl(this,null,_,{kind:`accessor`,name:`nextents`,static:!1,private:!1,access:{has:e=>`nextents`in e,get:e=>e.nextents,set:(e,t)=>{e.nextents=t}},metadata:o},v,b),Wl(this,null,x,{kind:`accessor`,name:`projid`,static:!1,private:!1,access:{has:e=>`projid`in e,get:e=>e.projid,set:(e,t)=>{e.projid=t}},metadata:o},S,C),Wl(this,null,w,{kind:`accessor`,name:`cowextsize`,static:!1,private:!1,access:{has:e=>`cowextsize`in e,get:e=>e.cowextsize,set:(e,t)=>{e.cowextsize=t}},metadata:o},T,ee),Wl(this,null,E,{kind:`accessor`,name:`pad`,static:!1,private:!1,access:{has:e=>`pad`in e,get:e=>e.pad,set:(e,t)=>{e.pad=t}},metadata:o},te,ne),Wl(null,s={value:l},a,{kind:`class`,name:l.name,metadata:o},null,c),D=l=s.value,o&&Object.defineProperty(l,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`fsxattr`;#e=Gl(this,f,void 0);get xflags(){return this.#e}set xflags(e){this.#e=e}#t=(Gl(this,p),Gl(this,h,void 0));get extsize(){return this.#t}set extsize(e){this.#t=e}#n=(Gl(this,g),Gl(this,v,void 0));get nextents(){return this.#n}set nextents(e){this.#n=e}#r=(Gl(this,b),Gl(this,S,void 0));get projid(){return this.#r}set projid(e){this.#r=e}#i=(Gl(this,C),Gl(this,T,void 0));get cowextsize(){return this.#i}set cowextsize(e){this.#i=e}#a=(Gl(this,ee),Gl(this,te,[]));get pad(){return this.#a}set pad(e){this.#a=e}constructor(e=y(new M(k.EINVAL,`fsxattr must be initialized with an inode`))){super(new ArrayBuffer(V(D))),Gl(this,ne),this.extsize=e.size,this.nextents=1,this.projid=e.uid,this.cowextsize=e.size;for(let t of Object.keys(Bn))e.flags&Bn[t]&&t in Kl&&(this.xflags|=Kl[t])}static{Gl(l,c)}};return D=l})();var Jl;(function(e){e[e.SecureRm=1]=`SecureRm`,e[e.Undelete=2]=`Undelete`,e[e.Compress=4]=`Compress`,e[e.Sync=8]=`Sync`,e[e.Immutable=16]=`Immutable`,e[e.Append=32]=`Append`,e[e.NoDump=64]=`NoDump`,e[e.NoAtime=128]=`NoAtime`,e[e.Dirty=256]=`Dirty`,e[e.CompressBlk=512]=`CompressBlk`,e[e.NoCompress=1024]=`NoCompress`,e[e.Encrypt=2048]=`Encrypt`,e[e.Btree=4096]=`Btree`,e[e.Index=4096]=`Index`,e[e.IMagic=8192]=`IMagic`,e[e.JournalData=16384]=`JournalData`,e[e.NoTail=32768]=`NoTail`,e[e.DirSync=65536]=`DirSync`,e[e.TopDir=131072]=`TopDir`,e[e.HugeFile=262144]=`HugeFile`,e[e.Extent=524288]=`Extent`,e[e.Verity=1048576]=`Verity`,e[e.EaInode=2097152]=`EaInode`,e[e.EofBlocks=4194304]=`EofBlocks`,e[e.NoCow=8388608]=`NoCow`,e[e.Dax=33554432]=`Dax`,e[e.InlineData=268435456]=`InlineData`,e[e.ProjInherit=536870912]=`ProjInherit`,e[e.CaseFold=1073741824]=`CaseFold`,e[e.Reserved=2147483648]=`Reserved`})(Jl||={});var Yl;(function(e){e[e.GetFlags=2148034049]=`GetFlags`,e[e.SetFlags=1074292226]=`SetFlags`,e[e.GetVersion=2148038145]=`GetVersion`,e[e.SetVersion=1074296322]=`SetVersion`,e[e.Fiemap=3223348747]=`Fiemap`,e[e.GetXattr=2149341215]=`GetXattr`,e[e.SetXattr=1075599392]=`SetXattr`,e[e.GetLabel=2164298801]=`GetLabel`,e[e.SetLabel=1090556978]=`SetLabel`,e[e.GetUUID=2148603136]=`GetUUID`,e[e.GetSysfsPath=2155943169]=`GetSysfsPath`})(Yl||={});var Xl;(function(e){e[e.GetFlags=2147771905]=`GetFlags`,e[e.SetFlags=1074030082]=`SetFlags`,e[e.GetVersion=2147776001]=`GetVersion`,e[e.SetVersion=1074034178]=`SetVersion`})(Xl||={});async function Zl(e,t,...n){e=U(e);let{fs:r,path:i}=$r(e,this);try{let e=new q(await r.stat(i));switch(t){case Yl.GetFlags:case Xl.GetFlags:return e.flags;case Yl.SetFlags:case Xl.SetFlags:e.flags=n[0],await r.touch(i,e);return;case Yl.GetVersion:case Xl.GetVersion:return e.version;case Yl.SetVersion:case Xl.SetVersion:e.version=n[0],await r.touch(i,e);return;case Yl.Fiemap:break;case Yl.GetXattr:return new ql(e);case Yl.SetXattr:break;case Yl.GetLabel:return r.label;case Yl.SetLabel:r.label=n[0];return;case Yl.GetUUID:return r.uuid;case Yl.GetSysfsPath:return`/sys/fs/${r.name}/${r.uuid}`}}catch(t){throw j(Object.assign(t,{syscall:`ioctl`,path:e}))}throw N(`ENOTSUP`,`ioctl`,e)}function Ql(e,t,...n){e=U(e);let{fs:r,path:i}=$r(e,this);try{let e=new q(r.statSync(i));switch(t){case Yl.GetFlags:case Xl.GetFlags:return e.flags;case Yl.SetFlags:case Xl.SetFlags:e.flags=n[0],r.touchSync(i,e);return;case Yl.GetVersion:case Xl.GetVersion:return e.version;case Yl.SetVersion:case Xl.SetVersion:e.version=n[0],r.touchSync(i,e);return;case Yl.Fiemap:break;case Yl.GetXattr:return new ql(e);case Yl.SetXattr:break;case Yl.GetLabel:return r.label;case Yl.SetLabel:r.label=n[0];return;case Yl.GetUUID:return r.uuid;case Yl.GetSysfsPath:return`/sys/fs/${r.name}/${r.uuid}`}}catch(t){throw j(Object.assign(t,{syscall:`ioctl`,path:e}))}throw N(`ENOTSUP`,`ioctl`,e)}var $l={name:`@zenfs/core`,version:`2.6.5`,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`,`types`,`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`,build:`tsc -p tsconfig.json`,"build:docs":`typedoc`,dev:`tsc -p tsconfig.json --watch`,prepublishOnly:`npm run build`},dependencies:{"@types/node":`^26.0.0`,buffer:`^6.0.3`,eventemitter3:`^5.0.1`,kerium:`^1.4.2`,memium:`^1.0.0`,"readable-stream":`^4.5.2`,utilium:`^3.0.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`}},eu=t({BigIntStatsFs:()=>Pn,Dir:()=>gi,Dirent:()=>mi,IOC:()=>Yl,IOC32:()=>Xl,ReadStream:()=>so,Stats:()=>An,StatsFs:()=>Nn,Utf8Stream:()=>Sl,WriteStream:()=>co,_version:()=>tu,access:()=>Yc,accessSync:()=>$i,appendFile:()=>Tc,appendFileSync:()=>ki,chmod:()=>Wc,chmodSync:()=>Ji,chown:()=>Hc,chownSync:()=>Ki,chroot:()=>ti,close:()=>Dc,closeSync:()=>ji,constants:()=>Ve,copyFile:()=>il,copyFileSync:()=>ra,cp:()=>cl,cpSync:()=>sa,createReadStream:()=>el,createWriteStream:()=>tl,exists:()=>_c,existsSync:()=>bi,fchmod:()=>Pc,fchmodSync:()=>Ri,fchown:()=>Nc,fchownSync:()=>Li,fdatasync:()=>Ac,fdatasyncSync:()=>Pi,fstat:()=>Ec,fstatSync:()=>Ai,fsync:()=>kc,fsyncSync:()=>Ni,ftruncate:()=>Oc,ftruncateSync:()=>Mi,futimes:()=>Fc,futimesSync:()=>zi,glob:()=>dl,globSync:()=>la,ioctl:()=>Zl,ioctlSync:()=>Ql,lchmod:()=>Gc,lchmodSync:()=>Yi,lchown:()=>Uc,lchownSync:()=>qi,link:()=>zc,linkSync:()=>Ui,lopenSync:()=>Ei,lstat:()=>yc,lstatSync:()=>Si,lutimes:()=>qc,lutimesSync:()=>Zi,mkdir:()=>Lc,mkdirSync:()=>Vi,mkdtemp:()=>rl,mkdtempDisposableSync:()=>na,mkdtempSync:()=>ta,mount:()=>Zr,open:()=>Sc,openAsBlob:()=>ul,openSync:()=>Ti,opendir:()=>sl,opendirSync:()=>oa,promises:()=>lo,read:()=>Mc,readFile:()=>Cc,readFileSync:()=>Di,readSync:()=>Ii,readdir:()=>Rc,readdirSync:()=>Hi,readlink:()=>Vc,readlinkSync:()=>Gi,readv:()=>al,readvSync:()=>ia,realpath:()=>Jc,realpathSync:()=>Qi,rename:()=>gc,renameSync:()=>yi,rm:()=>nl,rmSync:()=>ea,rmdir:()=>Ic,rmdirSync:()=>Bi,stat:()=>vc,statSync:()=>xi,statfs:()=>ll,statfsSync:()=>ca,symlink:()=>Bc,symlinkSync:()=>Wi,truncate:()=>bc,truncateSync:()=>Ci,umount:()=>Qr,unlink:()=>xc,unlinkSync:()=>wi,unwatchFile:()=>Qc,utimes:()=>Kc,utimesSync:()=>Xi,watch:()=>$c,watchFile:()=>Zc,write:()=>jc,writeFile:()=>wc,writeFileSync:()=>Oi,writeSync:()=>Fi,writev:()=>ol,writevSync:()=>aa,xattr:()=>wl});const tu=$l.version;var nu=t({DirType:()=>_r,Dirent:()=>br,Handle:()=>Rr,IOC:()=>Yl,IOC32:()=>Xl,chroot:()=>ti,deleteFD:()=>Vr,dtToIf:()=>yr,fromFD:()=>Br,ifToDt:()=>vr,ioctl:()=>Zl,ioctlSync:()=>Ql,link:()=>Ea,mkdir:()=>Ca,mount:()=>Zr,open:()=>xa,readdir:()=>wa,readlink:()=>Sa,rename:()=>Ta,resolve:()=>ba,stat:()=>Da,sync:()=>ri,toFD:()=>zr,umount:()=>Qr,xattr:()=>wl}),ru=t({Async:()=>Ys,AsyncMapTransaction:()=>ar,AsyncTransaction:()=>$n,Attributes:()=>Rn,BigIntStatsFs:()=>Pn,CopyOnWrite:()=>hs,CopyOnWriteFS:()=>ms,DeviceFS:()=>cr,Dir:()=>gi,Dirent:()=>mi,ErrnoError:()=>Kr,Fetch:()=>Ts,FetchFS:()=>ws,FileSystem:()=>Xn,IOC:()=>Yl,IOC32:()=>Xl,InMemory:()=>sr,InMemoryStore:()=>or,Index:()=>Jn,IndexFS:()=>Ss,Inode:()=>q,InodeFlags:()=>Bn,Journal:()=>ps,MetadataBlock:()=>sc,MutexLock:()=>zl,Mutexed:()=>Vl,Passthrough:()=>ks,PassthroughFS:()=>Os,Port:()=>$s,PortFS:()=>Xs,RPC:()=>As,ReadStream:()=>so,Readonly:()=>Hl,SingleBuffer:()=>mc,SingleBufferStore:()=>pc,Stats:()=>An,StatsFs:()=>Nn,StoreFS:()=>rr,SuperBlock:()=>lc,Sync:()=>Ul,SyncMapTransaction:()=>ir,SyncTransaction:()=>Qn,Transaction:()=>Zn,Utf8Stream:()=>Sl,WrappedTransaction:()=>er,WriteStream:()=>co,_MutexedFS:()=>Bl,_asyncFSKeys:()=>Js,_chown:()=>qn,_fnOpt:()=>Oe,_inode_fields:()=>zn,_inode_version:()=>5,_isNoEntry:()=>cn,_tempDirName:()=>pn,_temporal:()=>mn,_version:()=>tu,access:()=>Yc,accessSync:()=>$i,addDevice:()=>is,appendFile:()=>Tc,appendFileSync:()=>ki,assertContext:()=>Ie,attachFS:()=>Zs,bindContext:()=>Il,boundContexts:()=>Fl,checkOptions:()=>Ae,chmod:()=>Wc,chmodSync:()=>Ji,chown:()=>Hc,chownSync:()=>Ki,chroot:()=>ti,close:()=>Dc,closeSync:()=>ji,configure:()=>os,configureFileSystem:()=>Yo,configureSingle:()=>es,configureSingleSync:()=>ts,configureSync:()=>ss,constants:()=>Ve,contextOf:()=>Re,copyFile:()=>il,copyFileSync:()=>ra,cp:()=>cl,cpSync:()=>sa,createChildContext:()=>Be,createCredentials:()=>Me,createReadStream:()=>el,createWriteStream:()=>tl,credentialsAllowRoot:()=>Ne,decodeDirListing:()=>nn,default:()=>iu,defaultContext:()=>Le,detachFS:()=>Qs,devices:()=>hr,encodeDirListing:()=>rn,exists:()=>_c,existsSync:()=>bi,fchmod:()=>Pc,fchmodSync:()=>Ri,fchown:()=>Nc,fchownSync:()=>Li,fdatasync:()=>Ac,fdatasyncSync:()=>Pi,fs:()=>eu,fstat:()=>Ec,fstatSync:()=>Ai,fsync:()=>kc,fsyncSync:()=>Ni,ftruncate:()=>Oc,ftruncateSync:()=>Mi,fullDevice:()=>fr,futimes:()=>Fc,futimesSync:()=>zi,glob:()=>dl,globSync:()=>la,globToRegex:()=>dn,hasAccess:()=>Y,ioctl:()=>Zl,ioctlSync:()=>Ql,isBackend:()=>De,isBackendConfig:()=>je,isBlockDevice:()=>Wn,isCharacterDevice:()=>Gn,isContext:()=>Fe,isDirectory:()=>J,isFIFO:()=>Kn,isFile:()=>Vn,isSocket:()=>Un,isSymbolicLink:()=>Hn,lchmod:()=>Gc,lchmodSync:()=>Yi,lchown:()=>Uc,lchownSync:()=>qi,link:()=>zc,linkSync:()=>Ui,log:()=>re,lopenSync:()=>Ei,lstat:()=>yc,lstatSync:()=>Si,lutimes:()=>qc,lutimesSync:()=>Zi,mkdir:()=>Lc,mkdirSync:()=>Vi,mkdtemp:()=>rl,mkdtempDisposableSync:()=>na,mkdtempSync:()=>ta,mount:()=>Zr,mounts:()=>Xr,normalizeMode:()=>an,normalizeOptions:()=>un,normalizePath:()=>U,normalizeTime:()=>ln,nullDevice:()=>ur,open:()=>Sc,openAsBlob:()=>ul,openSync:()=>Ti,opendir:()=>sl,opendirSync:()=>oa,promises:()=>lo,randomDevice:()=>pr,read:()=>Mc,readFile:()=>Cc,readFileSync:()=>Di,readSync:()=>Ii,readdir:()=>Rc,readdirSync:()=>Hi,readlink:()=>Vc,readlinkSync:()=>Gi,readv:()=>al,readvSync:()=>ia,realpath:()=>Jc,realpathSync:()=>Qi,rename:()=>gc,renameSync:()=>yi,resolveMountConfig:()=>Qo,resolveMountConfigSync:()=>$o,resolveRemoteMount:()=>ec,rm:()=>nl,rmSync:()=>ea,rmdir:()=>Ic,rmdirSync:()=>Bi,rootIno:()=>0,stat:()=>vc,statSync:()=>xi,statfs:()=>ll,statfsSync:()=>ca,symlink:()=>Bc,symlinkSync:()=>Wi,sync:()=>cs,truncate:()=>bc,truncateSync:()=>Ci,umount:()=>Qr,unlink:()=>xc,unlinkSync:()=>wi,unwatchFile:()=>Qc,userModifiableFlags:()=>229631,userVisibleFlags:()=>253951,utimes:()=>Kc,utimesSync:()=>Xi,validateFD:()=>sn,version:()=>1,vfs:()=>nu,waitOnline:()=>fn,watch:()=>$c,watchFile:()=>Zc,withExceptionContext:()=>Yr,withPath:()=>qr,wrap:()=>Jr,write:()=>jc,writeFile:()=>wc,writeFileSync:()=>Oi,writeSync:()=>Fi,writev:()=>ol,writevSync:()=>aa,xattr:()=>wl,zeroDevice:()=>dr}),iu=eu
@@ -1,2 +1,2 @@
1
- import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,x as E}from"./dist-BKQr3WRb.js";function D(e){switch(e.name){case`TypeMismatchError`:return`EPERM`;case`IndexSizeError`:case`HierarchyRequestError`:case`InvalidCharacterError`:case`InvalidStateError`:case`SyntaxError`:case`NamespaceError`:case`ConstraintError`:case`VersionError`:case`URLMismatchError`:case`InvalidNodeTypeError`:return`EINVAL`;case`WrongDocumentError`:return`EXDEV`;case`NoModificationAllowedError`:case`InvalidModificationError`:case`InvalidAccessError`:case`SecurityError`:case`NotAllowedError`:return`EACCES`;case`NotFoundError`:return`ENOENT`;case`NotSupportedError`:return`ENOTSUP`;case`InUseAttributeError`:return`EBUSY`;case`NetworkError`:return`ENETDOWN`;case`AbortError`:return`EINTR`;case`QuotaExceededError`:return`ENOSPC`;case`TimeoutError`:return`ETIMEDOUT`;case`ReadOnlyError`:return`EROFS`;default:return`EIO`}}function O(e,t){if(e instanceof r)return e;let n=e instanceof DOMException?o[D(e)]:o.EIO,i=new r(n,e.message);return i.stack=e.stack,Error.captureStackTrace?.(i,O),i.cause=e.cause,i}function k(e){return typeof e==`object`&&!!e&&e.constructor.name==`SharedArrayBuffer`}function A(e){return e instanceof ArrayBuffer?e.resizable:k(e)?e.growable:!1}function j(e,t){return e.kind==t}var M=class extends x(m){async _loadHandles(e,t){for await(let[n,r]of t.entries()){let t=p(e,n);this._handles.set(t,r),j(r,`directory`)&&await this._loadHandles(t,r)}}async _loadMetadata(e){if(this._handles.set(`/`,this.root),await this._loadHandles(`/`,this.root),e){let t=await(await(await this.get(`file`,e)).getFile()).text(),n=JSON.parse(t);this.index.fromJSON(n);return}t(`webaccessfs: no metadata file specified, generating new metadata`);for(let[e,t]of this._handles){let r=this.index._alloc();if(j(t,`file`)){let{lastModified:n,size:i}=await t.getFile();this.index.set(e,new C({mode:420|w,size:i,mtimeMs:n,ino:r,data:r+1,nlink:1}));continue}if(!j(t,`directory`))throw n(`EIO`,`Invalid handle`);this.index.set(e,new C({mode:511|f,size:0,ino:r,data:r+1,nlink:1}))}}constructor(e,t=!1){super(2003133025,`webaccessfs`),this.root=e,this.disableHandleCache=t,this._handles=new Map,this._sync=c.create({label:`accessfs-cache`}),this.attributes.set(`no_buffer_resize`,!0),t&&this.attributes.set(`no_handle_cache`,!0)}async stat(e){try{return await super.stat(e)}catch(t){if(t.code!=`ENOENT`)throw t;let n=await this.get(null,e),r=this.index._alloc(),i=new C({ino:r,data:r+1,nlink:1});if(j(n,`file`)){let e=await n.getFile();i.update({mode:420|w,size:e.size,mtimeMs:e.lastModified})}else i.update({mode:f|511,size:0});return this.index.set(e,i),i}}async touch(e,t){let r=this.index.get(e);if(!r)throw n(`ENOENT`);if(typeof t.size!=`number`||!d(r))return await super.touch(e,t);let i=await this.get(`file`,e).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!i)return await super.touch(e,t);let{size:a}=await i.getFile();if(a==t.size)return await super.touch(e,t);let o=await i.createWritable({keepExistingData:!!t.size});try{await o.truncate(t.size)}catch{await o.write({type:`truncate`,size:t.size})}await o.close(),await super.touch(e,t)}async readdir(e){let t=await this.get(`directory`,e);return await Array.fromAsync(t.keys())}async createFile(t,n){let r=await super.createFile(t,n);try{let e=await(await this.get(`directory`,_(t))).getFileHandle(b(t),{create:!0});this.disableHandleCache||this._handles.set(t,e)}catch(n){this.index.delete(t),this._handles.delete(t),e(O(n,t))}return r}async remove(t){let n=await this.get(`directory`,_(t));for(let e of this._handles.keys())_(e)==t&&this._handles.delete(e);this._handles.delete(t),await n.removeEntry(b(t),{recursive:!0}).catch(n=>{let r=O(n,t);r.code!=`ENOENT`&&e(r)})}removeSync(){throw a(n(`ENOSYS`))}async read(e,t,r,i){if(i<=r)return;let a=await(await(await this.get(`file`,e)).getFile()).arrayBuffer();if(a.byteLength<i-r)throw E(n(`EIO`,[`Unexpected mismatch in file data size. This should not happen.`,`tried to read ${i-r} bytes but the file is ${a.byteLength} bytes.`,`path: ${e}`].join(`
2
- `+` `.repeat(24))));t.set(new Uint8Array(a,r,i-r))}async write(t,r,i){if(A(r.buffer)||k(r.buffer)){let e=new Uint8Array(new ArrayBuffer(r.byteLength),r.byteOffset,r.byteLength);e.set(r),r=e}let o=this.index.get(t);if(!o)throw n(`ENOENT`);let c=(o.mode&s)==f,l;try{l=await this.get(c?`directory`:`file`,t)}catch{l=await(await this.get(`directory`,_(t)))[c?`getDirectoryHandle`:`getFileHandle`](b(t),{create:!0}).catch(n=>e(O(n,t))),this.disableHandleCache||this._handles.set(t,l)}if(c)return;if(j(l,`directory`)){a(n(`EIO`,`Mismatch in entry kind on write`));return}let u=await l.createWritable({keepExistingData:!0});if(i)try{await u.seek(i)}catch{await u.write({type:`seek`,position:i})}await u.write(r),await u.close();let{size:d,lastModified:p}=await l.getFile();o.update({size:d,mtimeMs:p}),this.index.set(t,o)}async writeFile(e,t){return this.write(e,t,0)}async _mkdir(t){let n=await(await this.get(`directory`,_(t))).getDirectoryHandle(b(t),{create:!0}).catch(n=>e(O(n,t)));this.disableHandleCache||this._handles.set(t,n)}async get(t=null,r){let i=this._handles.get(r);if(!this.disableHandleCache&&i){if(t&&!j(i,t))throw n(t==`directory`?`ENOTDIR`:`EISDIR`);return i}if(r==`/`)return this.root;let a=r.slice(1).split(`/`),o=this.root;for(let t=0;t<a.length-1;++t)o=await o.getDirectoryHandle(a[t]).catch(t=>e(t.name==`TypeMismatchError`?n(`ENOTDIR`):O(t,r)));try{let e=await o[t==`file`?`getFileHandle`:`getDirectoryHandle`](a.at(-1));return this.disableHandleCache||this._handles.set(r,e),e}catch(i){if(i.name!=`TypeMismatchError`)throw O(i,r);if(t===null){let t=await o.getFileHandle(a.at(-1)).catch(t=>e(O(t,r)));return this.disableHandleCache||this._handles.set(r,t),t}throw n(t==`file`?`EISDIR`:`ENOTDIR`)}}},N={name:`WebAccess`,options:{handle:{type:`object`,required:!0},metadata:{type:`string`,required:!1},disableHandleCache:{type:`boolean`,required:!1}},async create(e){let t=new M(e.handle,e.disableHandleCache);return await t._loadMetadata(e.metadata),t}};function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=t=>{t.preventDefault(),n(O(e.error))}})}var F=class extends l{async(e){this.asyncDone=this.asyncDone.then(()=>e)}constructor(e,t){super(t),this.tx=e,this.store=t,this.asyncDone=Promise.resolve(),this._idb=e.objectStore(t.name)}async keys(){return(await P(this._idb.getAllKeys())).map(Number)}async get(e){let t=await P(this._idb.get(e));return t&&this.store.cache.set(e,new Uint8Array(t)),t}getSync(e,t,n){if(!this.store.cache.has(e))return;let r=new Uint8Array(this.store.cache.get(e));return n??=r.byteLength,r.subarray(t,n)}async set(e,t){this.store.cache.set(e,new Uint8Array(t)),await P(this._idb.put(t,e))}setSync(e,t){this.async(this.set(e,t))}remove(e){return this.store.cache.delete(e),P(this._idb.delete(e))}removeSync(e){this.store.cache.delete(e),this.async(this.remove(e))}async commit(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.oncomplete=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.commit(),e}async abort(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.onabort=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.abort(),e}};async function I(e,t=globalThis.indexedDB){let n=t.open(e);return n.onupgradeneeded=()=>{let t=n.result;t.objectStoreNames.contains(e)&&(T(`Found unexpected object store: `+e),t.deleteObjectStore(e)),t.createObjectStore(e)},await P(n)}var L=class{constructor(e){this.db=e,this.cache=new Map}sync(){return Promise.resolve()}get name(){return this.db.name}transaction(){return new F(this.db.transaction(this.name,`readwrite`),this)}},R=new WeakMap;async function z(e){if(!(e instanceof IDBFactory))return!1;try{return(await P(e.open(`__zenfs_test`))).close(),!0}catch{return!1}finally{e?.deleteDatabase(`__zenfs_test`)}}var B={name:`IndexedDB`,options:{storeName:{type:`string`,required:!1},idbFactory:{type:`object`,required:!1}},async isAvailable({idbFactory:e=globalThis.indexedDB}){if(R.has(e))return R.get(e);let t=z(e);return R.set(e,t),t},async create(e){let n=new L(await I(e.storeName||`zenfs`,e.idbFactory)),r=new S(n);if(e?.disableAsyncCache)return t(`Async preloading disabled for IndexedDB`),r;let i=n.transaction();for(let e of await i.keys())await i.get(e);return r}},V=class{get name(){return H.name}constructor(e){this.storage=e}clear(){this.storage.clear()}clearSync(){this.storage.clear()}async sync(){}transaction(){return new y(this)}keys(){return Object.keys(this.storage).map(e=>Number(e))}get(e){let t=this.storage.getItem(e.toString());if(typeof t==`string`)return h(t)}set(e,t){try{this.storage.setItem(e.toString(),i(t))}catch{throw n(`ENOSPC`)}}delete(e){try{this.storage.removeItem(e.toString())}catch(t){throw n(`EIO`,`Unable to delete '${e}': ${t}`)}}},H={name:`WebStorage`,options:{storage:{type:`object`,required:!1}},isAvailable(e){return(e?.storage??globalThis.localStorage)instanceof globalThis.Storage},create({storage:e=globalThis.localStorage}){return new S(new V(e))}};function U(e){let t={};for(let n of u){let r=e.getAttribute(n);r!=null&&(t[n]=parseInt(r,16))}return new C(t)}function W(e,t){for(let n of Object.keys(t))!(n in u)||t[n]===void 0||e.setAttribute(n,t[n].toString(16))}function G(e,t=!1){let n;try{let r=t?e.textContent:e.getAttribute(`paths`);n=JSON.parse(r||`[]`)}catch{n=[]}return n}var K=class extends v(g){constructor(e=new DOMParser().parseFromString(`<fs></fs>`,`application/xml`).documentElement){super(544763244,`xmltmpfs`),this.root=e;try{this.mkdirSync(`/`,{uid:0,gid:0,mode:511})}catch(e){let t=e;if(t.code!=`EEXIST`)throw t}}renameSync(e,t){let n=this.get(`rename`,e);this.remove(`rename`,n,e),this.add(`rename`,n,t)}statSync(e){return U(this.get(`stat`,e))}createFileSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|w,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`createFile`,e,r),r}unlinkSync(e){let t=this.get(`unlink`,e);if(U(t).mode&16384)throw n(`EISDIR`);this.remove(`unlink`,t,e)}rmdirSync(e){let t=this.get(`rmdir`,e);if(t.textContent?.length)throw n(`ENOTEMPTY`);if(!(U(t).mode&16384))throw n(`ENOTDIR`);this.remove(`rmdir`,t,e)}mkdirSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|f,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`mkdir`,e,r).textContent=`[]`,r}readdirSync(e){let t=this.get(`readdir`,e);if(!(U(t).mode&16384))throw n(`ENOTDIR`);try{return JSON.parse(t.textContent)}catch(e){throw n(`EIO`,`Invalid directory listing: `+e)}}linkSync(e,t){let n=this.get(`link`,e);this.add(`link`,n,t)}touchSync(e,t){W(this.get(`touch`,e),t)}syncSync(){}readSync(e,t,n,r){let i=this.get(`read`,e),a=h(i.textContent.slice(n,r));t.set(a)}writeSync(e,t,n){let r=this.get(`write`,e),a=i(t),o=r.textContent.slice(n+a.length);r.textContent=r.textContent.slice(0,n)+a+o}toString(){return new XMLSerializer().serializeToString(this.root)}get(e,t){let r=this.root.children;if(!r)throw n(`EIO`);for(let e=0;e<r.length;e++)if(G(r[e]).includes(t))return r[e];throw n(`ENOENT`)}create(e,t,r){if(this.existsSync(t))throw n(`EEXIST`);let i=document.createElement(`file`);return this.add(e,i,t),W(i,new C({...r,uid:r.mode})),this.root.append(i),i}add(e,t,n,r=!1){let i=G(t,r);if(i.push(n),r){t.textContent=JSON.stringify(i);return}if(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16)),n!=`/`){let t=this.get(e,_(n));this.add(e,t,b(n),!0)}}remove(e,t,n,r=!1){let i=G(t,r),a=i.indexOf(n);if(a!=-1){if(i.splice(a,1),r){t.textContent=JSON.stringify(i);return}if(i.length?(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16))):t.remove(),n!=`/`){let t=this.get(e,_(n));this.remove(e,t,b(n),!0)}}}},q={name:`XML`,options:{root:{type:`object`,required:!1}},isAvailable(){return!0},create(e){return new K(e.root)}};export{B as IndexedDB,L as IndexedDBStore,F as IndexedDBTransaction,N as WebAccess,M as WebAccessFS,H as WebStorage,V as WebStorageStore,q as XML,K as XMLFS};
1
+ import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,x as E}from"./dist-w2IcR3mk.js";function D(e){switch(e.name){case`TypeMismatchError`:return`EPERM`;case`IndexSizeError`:case`HierarchyRequestError`:case`InvalidCharacterError`:case`InvalidStateError`:case`SyntaxError`:case`NamespaceError`:case`ConstraintError`:case`VersionError`:case`URLMismatchError`:case`InvalidNodeTypeError`:return`EINVAL`;case`WrongDocumentError`:return`EXDEV`;case`NoModificationAllowedError`:case`InvalidModificationError`:case`InvalidAccessError`:case`SecurityError`:case`NotAllowedError`:return`EACCES`;case`NotFoundError`:return`ENOENT`;case`NotSupportedError`:return`ENOTSUP`;case`InUseAttributeError`:return`EBUSY`;case`NetworkError`:return`ENETDOWN`;case`AbortError`:return`EINTR`;case`QuotaExceededError`:return`ENOSPC`;case`TimeoutError`:return`ETIMEDOUT`;case`ReadOnlyError`:return`EROFS`;default:return`EIO`}}function O(e,t){if(e instanceof r)return e;let n=e instanceof DOMException?o[D(e)]:o.EIO,i=new r(n,e.message);return i.stack=e.stack,Error.captureStackTrace?.(i,O),i.cause=e.cause,i}function k(e){return typeof e==`object`&&!!e&&e.constructor.name==`SharedArrayBuffer`}function A(e){return e instanceof ArrayBuffer?e.resizable:k(e)?e.growable:!1}function j(e,t){return e.kind==t}var M=class extends x(m){async _loadHandles(e,t){for await(let[n,r]of t.entries()){let t=p(e,n);this._handles.set(t,r),j(r,`directory`)&&await this._loadHandles(t,r)}}async _loadMetadata(e){if(this._handles.set(`/`,this.root),await this._loadHandles(`/`,this.root),e){let t=await(await(await this.get(`file`,e)).getFile()).text(),n=JSON.parse(t);this.index.fromJSON(n);return}t(`webaccessfs: no metadata file specified, generating new metadata`);for(let[e,t]of this._handles){let r=this.index._alloc();if(j(t,`file`)){let{lastModified:n,size:i}=await t.getFile();this.index.set(e,new C({mode:420|w,size:i,mtimeMs:n,ino:r,data:r+1,nlink:1}));continue}if(!j(t,`directory`))throw n(`EIO`,`Invalid handle`);this.index.set(e,new C({mode:511|f,size:0,ino:r,data:r+1,nlink:1}))}}constructor(e,t=!1){super(2003133025,`webaccessfs`),this.root=e,this.disableHandleCache=t,this._handles=new Map,this._sync=c.create({label:`accessfs-cache`}),this.attributes.set(`no_buffer_resize`,!0),t&&this.attributes.set(`no_handle_cache`,!0)}async stat(e){try{return await super.stat(e)}catch(t){if(t.code!=`ENOENT`)throw t;let n=await this.get(null,e),r=this.index._alloc(),i=new C({ino:r,data:r+1,nlink:1});if(j(n,`file`)){let e=await n.getFile();i.update({mode:420|w,size:e.size,mtimeMs:e.lastModified})}else i.update({mode:f|511,size:0});return this.index.set(e,i),i}}async touch(e,t){let r=this.index.get(e);if(!r)throw n(`ENOENT`);if(typeof t.size!=`number`||!d(r))return await super.touch(e,t);let i=await this.get(`file`,e).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!i)return await super.touch(e,t);let{size:a}=await i.getFile();if(a==t.size)return await super.touch(e,t);let o=await i.createWritable({keepExistingData:!!t.size});try{await o.truncate(t.size)}catch{await o.write({type:`truncate`,size:t.size})}await o.close(),await super.touch(e,t)}async readdir(e){let t=await this.get(`directory`,e);return await Array.fromAsync(t.keys())}async createFile(t,n){let r=await super.createFile(t,n);try{let e=await(await this.get(`directory`,_(t))).getFileHandle(b(t),{create:!0});this.disableHandleCache||this._handles.set(t,e)}catch(n){this.index.delete(t),this._handles.delete(t),e(O(n,t))}return r}async remove(t){let n=await this.get(`directory`,_(t));for(let e of this._handles.keys())_(e)==t&&this._handles.delete(e);this._handles.delete(t),await n.removeEntry(b(t),{recursive:!0}).catch(n=>{let r=O(n,t);r.code!=`ENOENT`&&e(r)})}removeSync(){throw a(n(`ENOSYS`))}async read(e,t,r,i){if(i<=r)return;let a=await this.get(`file`,e),o;for(let e=0;;e++){let t=await a.getFile();try{o=await t.arrayBuffer();break}catch(t){if(!(t instanceof DOMException)||t.name!==`NotReadableError`||e>=2)throw t}}if(o.byteLength<i-r)throw E(n(`EIO`,[`Unexpected mismatch in file data size. This should not happen.`,`tried to read ${i-r} bytes but the file is ${o.byteLength} bytes.`,`path: ${e}`].join(`
2
+ `+` `.repeat(24))));t.set(new Uint8Array(o,r,i-r))}async write(t,r,i){if(A(r.buffer)||k(r.buffer)){let e=new Uint8Array(new ArrayBuffer(r.byteLength),r.byteOffset,r.byteLength);e.set(r),r=e}let o=this.index.get(t);if(!o)throw n(`ENOENT`);let c=(o.mode&s)==f,l;try{l=await this.get(c?`directory`:`file`,t)}catch{l=await(await this.get(`directory`,_(t)))[c?`getDirectoryHandle`:`getFileHandle`](b(t),{create:!0}).catch(n=>e(O(n,t))),this.disableHandleCache||this._handles.set(t,l)}if(c)return;if(j(l,`directory`)){a(n(`EIO`,`Mismatch in entry kind on write`));return}let u=await l.createWritable({keepExistingData:!0});if(i)try{await u.seek(i)}catch{await u.write({type:`seek`,position:i})}await u.write(r),await u.close();let{size:d,lastModified:p}=await l.getFile();o.update({size:d,mtimeMs:p}),this.index.set(t,o)}async writeFile(e,t){return this.write(e,t,0)}async _mkdir(t){let n=await(await this.get(`directory`,_(t))).getDirectoryHandle(b(t),{create:!0}).catch(n=>e(O(n,t)));this.disableHandleCache||this._handles.set(t,n)}async get(t=null,r){let i=this._handles.get(r);if(!this.disableHandleCache&&i){if(t&&!j(i,t))throw n(t==`directory`?`ENOTDIR`:`EISDIR`);return i}if(r==`/`)return this.root;let a=r.slice(1).split(`/`),o=this.root;for(let t=0;t<a.length-1;++t)o=await o.getDirectoryHandle(a[t]).catch(t=>e(t.name==`TypeMismatchError`?n(`ENOTDIR`):O(t,r)));try{let e=await o[t==`file`?`getFileHandle`:`getDirectoryHandle`](a.at(-1));return this.disableHandleCache||this._handles.set(r,e),e}catch(i){if(i.name!=`TypeMismatchError`)throw O(i,r);if(t===null){let t=await o.getFileHandle(a.at(-1)).catch(t=>e(O(t,r)));return this.disableHandleCache||this._handles.set(r,t),t}throw n(t==`file`?`EISDIR`:`ENOTDIR`)}}},N={name:`WebAccess`,options:{handle:{type:`object`,required:!0},metadata:{type:`string`,required:!1},disableHandleCache:{type:`boolean`,required:!1}},async create(e){let t=new M(e.handle,e.disableHandleCache);return await t._loadMetadata(e.metadata),t}};function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=t=>{t.preventDefault(),n(O(e.error))}})}var F=class extends l{async(e){this.asyncDone=this.asyncDone.then(()=>e)}constructor(e,t){super(t),this.tx=e,this.store=t,this.asyncDone=Promise.resolve(),this._idb=e.objectStore(t.name)}async keys(){return(await P(this._idb.getAllKeys())).map(Number)}async get(e){let t=await P(this._idb.get(e));return t&&this.store.cache.set(e,new Uint8Array(t)),t}getSync(e,t,n){if(!this.store.cache.has(e))return;let r=new Uint8Array(this.store.cache.get(e));return n??=r.byteLength,r.subarray(t,n)}async set(e,t){this.store.cache.set(e,new Uint8Array(t)),await P(this._idb.put(t,e))}setSync(e,t){this.async(this.set(e,t))}remove(e){return this.store.cache.delete(e),P(this._idb.delete(e))}removeSync(e){this.store.cache.delete(e),this.async(this.remove(e))}async commit(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.oncomplete=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.commit(),e}async abort(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.onabort=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.abort(),e}};async function I(e,t=globalThis.indexedDB){let n=t.open(e);return n.onupgradeneeded=()=>{let t=n.result;t.objectStoreNames.contains(e)&&(T(`Found unexpected object store: `+e),t.deleteObjectStore(e)),t.createObjectStore(e)},await P(n)}var L=class{constructor(e){this.db=e,this.cache=new Map}sync(){return Promise.resolve()}get name(){return this.db.name}transaction(){return new F(this.db.transaction(this.name,`readwrite`),this)}},R=new WeakMap;async function z(e){if(!(e instanceof IDBFactory))return!1;try{return(await P(e.open(`__zenfs_test`))).close(),!0}catch{return!1}finally{e?.deleteDatabase(`__zenfs_test`)}}var B={name:`IndexedDB`,options:{storeName:{type:`string`,required:!1},idbFactory:{type:`object`,required:!1}},async isAvailable({idbFactory:e=globalThis.indexedDB}){if(R.has(e))return R.get(e);let t=z(e);return R.set(e,t),t},async create(e){let n=new L(await I(e.storeName||`zenfs`,e.idbFactory)),r=new S(n);if(e?.disableAsyncCache)return t(`Async preloading disabled for IndexedDB`),r;let i=n.transaction();for(let e of await i.keys())await i.get(e);return r}},V=class{get name(){return H.name}constructor(e){this.storage=e}clear(){this.storage.clear()}clearSync(){this.storage.clear()}async sync(){}transaction(){return new y(this)}keys(){return Object.keys(this.storage).map(e=>Number(e))}get(e){let t=this.storage.getItem(e.toString());if(typeof t==`string`)return h(t)}set(e,t){try{this.storage.setItem(e.toString(),i(t))}catch{throw n(`ENOSPC`)}}delete(e){try{this.storage.removeItem(e.toString())}catch(t){throw n(`EIO`,`Unable to delete '${e}': ${t}`)}}},H={name:`WebStorage`,options:{storage:{type:`object`,required:!1}},isAvailable(e){return(e?.storage??globalThis.localStorage)instanceof globalThis.Storage},create({storage:e=globalThis.localStorage}){return new S(new V(e))}};function U(e){let t={};for(let n of u){let r=e.getAttribute(n);r!=null&&(t[n]=parseInt(r,16))}return new C(t)}function W(e,t){for(let n of Object.keys(t))!(n in u)||t[n]===void 0||e.setAttribute(n,t[n].toString(16))}function G(e,t=!1){let n;try{let r=t?e.textContent:e.getAttribute(`paths`);n=JSON.parse(r||`[]`)}catch{n=[]}return n}var K=class extends v(g){constructor(e=new DOMParser().parseFromString(`<fs></fs>`,`application/xml`).documentElement){super(544763244,`xmltmpfs`),this.root=e;try{this.mkdirSync(`/`,{uid:0,gid:0,mode:511})}catch(e){let t=e;if(t.code!=`EEXIST`)throw t}}renameSync(e,t){let n=this.get(`rename`,e);this.remove(`rename`,n,e),this.add(`rename`,n,t)}statSync(e){return U(this.get(`stat`,e))}createFileSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|w,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`createFile`,e,r),r}unlinkSync(e){let t=this.get(`unlink`,e);if(U(t).mode&16384)throw n(`EISDIR`);this.remove(`unlink`,t,e)}rmdirSync(e){let t=this.get(`rmdir`,e);if(t.textContent?.length)throw n(`ENOTEMPTY`);if(!(U(t).mode&16384))throw n(`ENOTDIR`);this.remove(`rmdir`,t,e)}mkdirSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|f,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`mkdir`,e,r).textContent=`[]`,r}readdirSync(e){let t=this.get(`readdir`,e);if(!(U(t).mode&16384))throw n(`ENOTDIR`);try{return JSON.parse(t.textContent)}catch(e){throw n(`EIO`,`Invalid directory listing: `+e)}}linkSync(e,t){let n=this.get(`link`,e);this.add(`link`,n,t)}touchSync(e,t){W(this.get(`touch`,e),t)}syncSync(){}readSync(e,t,n,r){let i=this.get(`read`,e),a=h(i.textContent.slice(n,r));t.set(a)}writeSync(e,t,n){let r=this.get(`write`,e),a=i(t),o=r.textContent.slice(n+a.length);r.textContent=r.textContent.slice(0,n)+a+o}toString(){return new XMLSerializer().serializeToString(this.root)}get(e,t){let r=this.root.children;if(!r)throw n(`EIO`);for(let e=0;e<r.length;e++)if(G(r[e]).includes(t))return r[e];throw n(`ENOENT`)}create(e,t,r){if(this.existsSync(t))throw n(`EEXIST`);let i=document.createElement(`file`);return this.add(e,i,t),W(i,new C({...r,uid:r.mode})),this.root.append(i),i}add(e,t,n,r=!1){let i=G(t,r);if(i.push(n),r){t.textContent=JSON.stringify(i);return}if(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16)),n!=`/`){let t=this.get(e,_(n));this.add(e,t,b(n),!0)}}remove(e,t,n,r=!1){let i=G(t,r),a=i.indexOf(n);if(a!=-1){if(i.splice(a,1),r){t.textContent=JSON.stringify(i);return}if(i.length?(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16))):t.remove(),n!=`/`){let t=this.get(e,_(n));this.remove(e,t,b(n),!0)}}}},q={name:`XML`,options:{root:{type:`object`,required:!1}},isAvailable(){return!0},create(e){return new K(e.root)}};export{B as IndexedDB,L as IndexedDBStore,F as IndexedDBTransaction,N as WebAccess,M as WebAccessFS,H as WebStorage,V as WebStorageStore,q as XML,K as XMLFS};
@@ -1,2 +1,2 @@
1
- import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,x as E}from"./dist-CBELmDjr.js";function D(e){switch(e.name){case`TypeMismatchError`:return`EPERM`;case`IndexSizeError`:case`HierarchyRequestError`:case`InvalidCharacterError`:case`InvalidStateError`:case`SyntaxError`:case`NamespaceError`:case`ConstraintError`:case`VersionError`:case`URLMismatchError`:case`InvalidNodeTypeError`:return`EINVAL`;case`WrongDocumentError`:return`EXDEV`;case`NoModificationAllowedError`:case`InvalidModificationError`:case`InvalidAccessError`:case`SecurityError`:case`NotAllowedError`:return`EACCES`;case`NotFoundError`:return`ENOENT`;case`NotSupportedError`:return`ENOTSUP`;case`InUseAttributeError`:return`EBUSY`;case`NetworkError`:return`ENETDOWN`;case`AbortError`:return`EINTR`;case`QuotaExceededError`:return`ENOSPC`;case`TimeoutError`:return`ETIMEDOUT`;case`ReadOnlyError`:return`EROFS`;default:return`EIO`}}function O(e,t){if(e instanceof r)return e;let n=e instanceof DOMException?o[D(e)]:o.EIO,i=new r(n,e.message);return i.stack=e.stack,Error.captureStackTrace?.(i,O),i.cause=e.cause,i}function k(e){return typeof e==`object`&&!!e&&e.constructor.name==`SharedArrayBuffer`}function A(e){return e instanceof ArrayBuffer?e.resizable:k(e)?e.growable:!1}function j(e,t){return e.kind==t}var M=class extends x(m){async _loadHandles(e,t){for await(let[n,r]of t.entries()){let t=p(e,n);this._handles.set(t,r),j(r,`directory`)&&await this._loadHandles(t,r)}}async _loadMetadata(e){if(this._handles.set(`/`,this.root),await this._loadHandles(`/`,this.root),e){let t=await(await(await this.get(`file`,e)).getFile()).text(),n=JSON.parse(t);this.index.fromJSON(n);return}t(`webaccessfs: no metadata file specified, generating new metadata`);for(let[e,t]of this._handles){let r=this.index._alloc();if(j(t,`file`)){let{lastModified:n,size:i}=await t.getFile();this.index.set(e,new C({mode:420|w,size:i,mtimeMs:n,ino:r,data:r+1,nlink:1}));continue}if(!j(t,`directory`))throw n(`EIO`,`Invalid handle`);this.index.set(e,new C({mode:511|f,size:0,ino:r,data:r+1,nlink:1}))}}constructor(e,t=!1){super(2003133025,`webaccessfs`),this.root=e,this.disableHandleCache=t,this._handles=new Map,this._sync=c.create({label:`accessfs-cache`}),this.attributes.set(`no_buffer_resize`,!0),t&&this.attributes.set(`no_handle_cache`,!0)}async stat(e){try{return await super.stat(e)}catch(t){if(t.code!=`ENOENT`)throw t;let n=await this.get(null,e),r=this.index._alloc(),i=new C({ino:r,data:r+1,nlink:1});if(j(n,`file`)){let e=await n.getFile();i.update({mode:420|w,size:e.size,mtimeMs:e.lastModified})}else i.update({mode:f|511,size:0});return this.index.set(e,i),i}}async touch(e,t){let r=this.index.get(e);if(!r)throw n(`ENOENT`);if(typeof t.size!=`number`||!d(r))return await super.touch(e,t);let i=await this.get(`file`,e).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!i)return await super.touch(e,t);let{size:a}=await i.getFile();if(a==t.size)return await super.touch(e,t);let o=await i.createWritable({keepExistingData:!!t.size});try{await o.truncate(t.size)}catch{await o.write({type:`truncate`,size:t.size})}await o.close(),await super.touch(e,t)}async readdir(e){let t=await this.get(`directory`,e);return await Array.fromAsync(t.keys())}async createFile(t,n){let r=await super.createFile(t,n);try{let e=await(await this.get(`directory`,_(t))).getFileHandle(b(t),{create:!0});this.disableHandleCache||this._handles.set(t,e)}catch(n){this.index.delete(t),this._handles.delete(t),e(O(n,t))}return r}async remove(t){let n=await this.get(`directory`,_(t));for(let e of this._handles.keys())_(e)==t&&this._handles.delete(e);this._handles.delete(t),await n.removeEntry(b(t),{recursive:!0}).catch(n=>{let r=O(n,t);r.code!=`ENOENT`&&e(r)})}removeSync(){throw a(n(`ENOSYS`))}async read(e,t,r,i){if(i<=r)return;let a=await(await(await this.get(`file`,e)).getFile()).arrayBuffer();if(a.byteLength<i-r)throw E(n(`EIO`,[`Unexpected mismatch in file data size. This should not happen.`,`tried to read ${i-r} bytes but the file is ${a.byteLength} bytes.`,`path: ${e}`].join(`
2
- `+` `.repeat(24))));t.set(new Uint8Array(a,r,i-r))}async write(t,r,i){if(A(r.buffer)||k(r.buffer)){let e=new Uint8Array(new ArrayBuffer(r.byteLength),r.byteOffset,r.byteLength);e.set(r),r=e}let o=this.index.get(t);if(!o)throw n(`ENOENT`);let c=(o.mode&s)==f,l;try{l=await this.get(c?`directory`:`file`,t)}catch{l=await(await this.get(`directory`,_(t)))[c?`getDirectoryHandle`:`getFileHandle`](b(t),{create:!0}).catch(n=>e(O(n,t))),this.disableHandleCache||this._handles.set(t,l)}if(c)return;if(j(l,`directory`)){a(n(`EIO`,`Mismatch in entry kind on write`));return}let u=await l.createWritable({keepExistingData:!0});if(i)try{await u.seek(i)}catch{await u.write({type:`seek`,position:i})}await u.write(r),await u.close();let{size:d,lastModified:p}=await l.getFile();o.update({size:d,mtimeMs:p}),this.index.set(t,o)}async writeFile(e,t){return this.write(e,t,0)}async _mkdir(t){let n=await(await this.get(`directory`,_(t))).getDirectoryHandle(b(t),{create:!0}).catch(n=>e(O(n,t)));this.disableHandleCache||this._handles.set(t,n)}async get(t=null,r){let i=this._handles.get(r);if(!this.disableHandleCache&&i){if(t&&!j(i,t))throw n(t==`directory`?`ENOTDIR`:`EISDIR`);return i}if(r==`/`)return this.root;let a=r.slice(1).split(`/`),o=this.root;for(let t=0;t<a.length-1;++t)o=await o.getDirectoryHandle(a[t]).catch(t=>e(t.name==`TypeMismatchError`?n(`ENOTDIR`):O(t,r)));try{let e=await o[t==`file`?`getFileHandle`:`getDirectoryHandle`](a.at(-1));return this.disableHandleCache||this._handles.set(r,e),e}catch(i){if(i.name!=`TypeMismatchError`)throw O(i,r);if(t===null){let t=await o.getFileHandle(a.at(-1)).catch(t=>e(O(t,r)));return this.disableHandleCache||this._handles.set(r,t),t}throw n(t==`file`?`EISDIR`:`ENOTDIR`)}}};const N={name:`WebAccess`,options:{handle:{type:`object`,required:!0},metadata:{type:`string`,required:!1},disableHandleCache:{type:`boolean`,required:!1}},async create(e){let t=new M(e.handle,e.disableHandleCache);return await t._loadMetadata(e.metadata),t}};function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=t=>{t.preventDefault(),n(O(e.error))}})}var F=class extends l{async(e){this.asyncDone=this.asyncDone.then(()=>e)}constructor(e,t){super(t),this.tx=e,this.store=t,this.asyncDone=Promise.resolve(),this._idb=e.objectStore(t.name)}async keys(){return(await P(this._idb.getAllKeys())).map(Number)}async get(e){let t=await P(this._idb.get(e));return t&&this.store.cache.set(e,new Uint8Array(t)),t}getSync(e,t,n){if(!this.store.cache.has(e))return;let r=new Uint8Array(this.store.cache.get(e));return n??=r.byteLength,r.subarray(t,n)}async set(e,t){this.store.cache.set(e,new Uint8Array(t)),await P(this._idb.put(t,e))}setSync(e,t){this.async(this.set(e,t))}remove(e){return this.store.cache.delete(e),P(this._idb.delete(e))}removeSync(e){this.store.cache.delete(e),this.async(this.remove(e))}async commit(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.oncomplete=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.commit(),e}async abort(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.onabort=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.abort(),e}};async function I(e,t=globalThis.indexedDB){let n=t.open(e);return n.onupgradeneeded=()=>{let t=n.result;t.objectStoreNames.contains(e)&&(T(`Found unexpected object store: `+e),t.deleteObjectStore(e)),t.createObjectStore(e)},await P(n)}var L=class{constructor(e){this.db=e,this.cache=new Map}sync(){return Promise.resolve()}get name(){return this.db.name}transaction(){return new F(this.db.transaction(this.name,`readwrite`),this)}};const R=new WeakMap;async function z(e){if(!(e instanceof IDBFactory))return!1;try{return(await P(e.open(`__zenfs_test`))).close(),!0}catch{return!1}finally{e?.deleteDatabase(`__zenfs_test`)}}const B={name:`IndexedDB`,options:{storeName:{type:`string`,required:!1},idbFactory:{type:`object`,required:!1}},async isAvailable({idbFactory:e=globalThis.indexedDB}){if(R.has(e))return R.get(e);let t=z(e);return R.set(e,t),t},async create(e){let n=new L(await I(e.storeName||`zenfs`,e.idbFactory)),r=new S(n);if(e?.disableAsyncCache)return t(`Async preloading disabled for IndexedDB`),r;let i=n.transaction();for(let e of await i.keys())await i.get(e);return r}};var V=class{get name(){return H.name}constructor(e){this.storage=e}clear(){this.storage.clear()}clearSync(){this.storage.clear()}async sync(){}transaction(){return new y(this)}keys(){return Object.keys(this.storage).map(e=>Number(e))}get(e){let t=this.storage.getItem(e.toString());if(typeof t==`string`)return h(t)}set(e,t){try{this.storage.setItem(e.toString(),i(t))}catch{throw n(`ENOSPC`)}}delete(e){try{this.storage.removeItem(e.toString())}catch(t){throw n(`EIO`,`Unable to delete '${e}': ${t}`)}}};const H={name:`WebStorage`,options:{storage:{type:`object`,required:!1}},isAvailable(e){return(e?.storage??globalThis.localStorage)instanceof globalThis.Storage},create({storage:e=globalThis.localStorage}){return new S(new V(e))}};function U(e){let t={};for(let n of u){let r=e.getAttribute(n);r!=null&&(t[n]=parseInt(r,16))}return new C(t)}function W(e,t){for(let n of Object.keys(t))!(n in u)||t[n]===void 0||e.setAttribute(n,t[n].toString(16))}function G(e,t=!1){let n;try{let r=t?e.textContent:e.getAttribute(`paths`);n=JSON.parse(r||`[]`)}catch{n=[]}return n}var K=class extends v(g){constructor(e=new DOMParser().parseFromString(`<fs></fs>`,`application/xml`).documentElement){super(544763244,`xmltmpfs`),this.root=e;try{this.mkdirSync(`/`,{uid:0,gid:0,mode:511})}catch(e){let t=e;if(t.code!=`EEXIST`)throw t}}renameSync(e,t){let n=this.get(`rename`,e);this.remove(`rename`,n,e),this.add(`rename`,n,t)}statSync(e){return U(this.get(`stat`,e))}createFileSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|w,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`createFile`,e,r),r}unlinkSync(e){let t=this.get(`unlink`,e);if(U(t).mode&16384)throw n(`EISDIR`);this.remove(`unlink`,t,e)}rmdirSync(e){let t=this.get(`rmdir`,e);if(t.textContent?.length)throw n(`ENOTEMPTY`);if(!(U(t).mode&16384))throw n(`ENOTDIR`);this.remove(`rmdir`,t,e)}mkdirSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|f,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`mkdir`,e,r).textContent=`[]`,r}readdirSync(e){let t=this.get(`readdir`,e);if(!(U(t).mode&16384))throw n(`ENOTDIR`);try{return JSON.parse(t.textContent)}catch(e){throw n(`EIO`,`Invalid directory listing: `+e)}}linkSync(e,t){let n=this.get(`link`,e);this.add(`link`,n,t)}touchSync(e,t){W(this.get(`touch`,e),t)}syncSync(){}readSync(e,t,n,r){let i=this.get(`read`,e),a=h(i.textContent.slice(n,r));t.set(a)}writeSync(e,t,n){let r=this.get(`write`,e),a=i(t),o=r.textContent.slice(n+a.length);r.textContent=r.textContent.slice(0,n)+a+o}toString(){return new XMLSerializer().serializeToString(this.root)}get(e,t){let r=this.root.children;if(!r)throw n(`EIO`);for(let e=0;e<r.length;e++)if(G(r[e]).includes(t))return r[e];throw n(`ENOENT`)}create(e,t,r){if(this.existsSync(t))throw n(`EEXIST`);let i=document.createElement(`file`);return this.add(e,i,t),W(i,new C({...r,uid:r.mode})),this.root.append(i),i}add(e,t,n,r=!1){let i=G(t,r);if(i.push(n),r){t.textContent=JSON.stringify(i);return}if(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16)),n!=`/`){let t=this.get(e,_(n));this.add(e,t,b(n),!0)}}remove(e,t,n,r=!1){let i=G(t,r),a=i.indexOf(n);if(a!=-1){if(i.splice(a,1),r){t.textContent=JSON.stringify(i);return}if(i.length?(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16))):t.remove(),n!=`/`){let t=this.get(e,_(n));this.remove(e,t,b(n),!0)}}}};const q={name:`XML`,options:{root:{type:`object`,required:!1}},isAvailable(){return!0},create(e){return new K(e.root)}};export{B as IndexedDB,L as IndexedDBStore,F as IndexedDBTransaction,N as WebAccess,M as WebAccessFS,H as WebStorage,V as WebStorageStore,q as XML,K as XMLFS};
1
+ import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,x as E}from"./dist-BVrQoiOe.js";function D(e){switch(e.name){case`TypeMismatchError`:return`EPERM`;case`IndexSizeError`:case`HierarchyRequestError`:case`InvalidCharacterError`:case`InvalidStateError`:case`SyntaxError`:case`NamespaceError`:case`ConstraintError`:case`VersionError`:case`URLMismatchError`:case`InvalidNodeTypeError`:return`EINVAL`;case`WrongDocumentError`:return`EXDEV`;case`NoModificationAllowedError`:case`InvalidModificationError`:case`InvalidAccessError`:case`SecurityError`:case`NotAllowedError`:return`EACCES`;case`NotFoundError`:return`ENOENT`;case`NotSupportedError`:return`ENOTSUP`;case`InUseAttributeError`:return`EBUSY`;case`NetworkError`:return`ENETDOWN`;case`AbortError`:return`EINTR`;case`QuotaExceededError`:return`ENOSPC`;case`TimeoutError`:return`ETIMEDOUT`;case`ReadOnlyError`:return`EROFS`;default:return`EIO`}}function O(e,t){if(e instanceof r)return e;let n=e instanceof DOMException?o[D(e)]:o.EIO,i=new r(n,e.message);return i.stack=e.stack,Error.captureStackTrace?.(i,O),i.cause=e.cause,i}function k(e){return typeof e==`object`&&!!e&&e.constructor.name==`SharedArrayBuffer`}function A(e){return e instanceof ArrayBuffer?e.resizable:k(e)?e.growable:!1}function j(e,t){return e.kind==t}var M=class extends x(m){async _loadHandles(e,t){for await(let[n,r]of t.entries()){let t=p(e,n);this._handles.set(t,r),j(r,`directory`)&&await this._loadHandles(t,r)}}async _loadMetadata(e){if(this._handles.set(`/`,this.root),await this._loadHandles(`/`,this.root),e){let t=await(await(await this.get(`file`,e)).getFile()).text(),n=JSON.parse(t);this.index.fromJSON(n);return}t(`webaccessfs: no metadata file specified, generating new metadata`);for(let[e,t]of this._handles){let r=this.index._alloc();if(j(t,`file`)){let{lastModified:n,size:i}=await t.getFile();this.index.set(e,new C({mode:420|w,size:i,mtimeMs:n,ino:r,data:r+1,nlink:1}));continue}if(!j(t,`directory`))throw n(`EIO`,`Invalid handle`);this.index.set(e,new C({mode:511|f,size:0,ino:r,data:r+1,nlink:1}))}}constructor(e,t=!1){super(2003133025,`webaccessfs`),this.root=e,this.disableHandleCache=t,this._handles=new Map,this._sync=c.create({label:`accessfs-cache`}),this.attributes.set(`no_buffer_resize`,!0),t&&this.attributes.set(`no_handle_cache`,!0)}async stat(e){try{return await super.stat(e)}catch(t){if(t.code!=`ENOENT`)throw t;let n=await this.get(null,e),r=this.index._alloc(),i=new C({ino:r,data:r+1,nlink:1});if(j(n,`file`)){let e=await n.getFile();i.update({mode:420|w,size:e.size,mtimeMs:e.lastModified})}else i.update({mode:f|511,size:0});return this.index.set(e,i),i}}async touch(e,t){let r=this.index.get(e);if(!r)throw n(`ENOENT`);if(typeof t.size!=`number`||!d(r))return await super.touch(e,t);let i=await this.get(`file`,e).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!i)return await super.touch(e,t);let{size:a}=await i.getFile();if(a==t.size)return await super.touch(e,t);let o=await i.createWritable({keepExistingData:!!t.size});try{await o.truncate(t.size)}catch{await o.write({type:`truncate`,size:t.size})}await o.close(),await super.touch(e,t)}async readdir(e){let t=await this.get(`directory`,e);return await Array.fromAsync(t.keys())}async createFile(t,n){let r=await super.createFile(t,n);try{let e=await(await this.get(`directory`,_(t))).getFileHandle(b(t),{create:!0});this.disableHandleCache||this._handles.set(t,e)}catch(n){this.index.delete(t),this._handles.delete(t),e(O(n,t))}return r}async remove(t){let n=await this.get(`directory`,_(t));for(let e of this._handles.keys())_(e)==t&&this._handles.delete(e);this._handles.delete(t),await n.removeEntry(b(t),{recursive:!0}).catch(n=>{let r=O(n,t);r.code!=`ENOENT`&&e(r)})}removeSync(){throw a(n(`ENOSYS`))}async read(e,t,r,i){if(i<=r)return;let a=await this.get(`file`,e),o;for(let e=0;;e++){let t=await a.getFile();try{o=await t.arrayBuffer();break}catch(t){if(!(t instanceof DOMException)||t.name!==`NotReadableError`||e>=2)throw t}}if(o.byteLength<i-r)throw E(n(`EIO`,[`Unexpected mismatch in file data size. This should not happen.`,`tried to read ${i-r} bytes but the file is ${o.byteLength} bytes.`,`path: ${e}`].join(`
2
+ `+` `.repeat(24))));t.set(new Uint8Array(o,r,i-r))}async write(t,r,i){if(A(r.buffer)||k(r.buffer)){let e=new Uint8Array(new ArrayBuffer(r.byteLength),r.byteOffset,r.byteLength);e.set(r),r=e}let o=this.index.get(t);if(!o)throw n(`ENOENT`);let c=(o.mode&s)==f,l;try{l=await this.get(c?`directory`:`file`,t)}catch{l=await(await this.get(`directory`,_(t)))[c?`getDirectoryHandle`:`getFileHandle`](b(t),{create:!0}).catch(n=>e(O(n,t))),this.disableHandleCache||this._handles.set(t,l)}if(c)return;if(j(l,`directory`)){a(n(`EIO`,`Mismatch in entry kind on write`));return}let u=await l.createWritable({keepExistingData:!0});if(i)try{await u.seek(i)}catch{await u.write({type:`seek`,position:i})}await u.write(r),await u.close();let{size:d,lastModified:p}=await l.getFile();o.update({size:d,mtimeMs:p}),this.index.set(t,o)}async writeFile(e,t){return this.write(e,t,0)}async _mkdir(t){let n=await(await this.get(`directory`,_(t))).getDirectoryHandle(b(t),{create:!0}).catch(n=>e(O(n,t)));this.disableHandleCache||this._handles.set(t,n)}async get(t=null,r){let i=this._handles.get(r);if(!this.disableHandleCache&&i){if(t&&!j(i,t))throw n(t==`directory`?`ENOTDIR`:`EISDIR`);return i}if(r==`/`)return this.root;let a=r.slice(1).split(`/`),o=this.root;for(let t=0;t<a.length-1;++t)o=await o.getDirectoryHandle(a[t]).catch(t=>e(t.name==`TypeMismatchError`?n(`ENOTDIR`):O(t,r)));try{let e=await o[t==`file`?`getFileHandle`:`getDirectoryHandle`](a.at(-1));return this.disableHandleCache||this._handles.set(r,e),e}catch(i){if(i.name!=`TypeMismatchError`)throw O(i,r);if(t===null){let t=await o.getFileHandle(a.at(-1)).catch(t=>e(O(t,r)));return this.disableHandleCache||this._handles.set(r,t),t}throw n(t==`file`?`EISDIR`:`ENOTDIR`)}}};const N={name:`WebAccess`,options:{handle:{type:`object`,required:!0},metadata:{type:`string`,required:!1},disableHandleCache:{type:`boolean`,required:!1}},async create(e){let t=new M(e.handle,e.disableHandleCache);return await t._loadMetadata(e.metadata),t}};function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=t=>{t.preventDefault(),n(O(e.error))}})}var F=class extends l{async(e){this.asyncDone=this.asyncDone.then(()=>e)}constructor(e,t){super(t),this.tx=e,this.store=t,this.asyncDone=Promise.resolve(),this._idb=e.objectStore(t.name)}async keys(){return(await P(this._idb.getAllKeys())).map(Number)}async get(e){let t=await P(this._idb.get(e));return t&&this.store.cache.set(e,new Uint8Array(t)),t}getSync(e,t,n){if(!this.store.cache.has(e))return;let r=new Uint8Array(this.store.cache.get(e));return n??=r.byteLength,r.subarray(t,n)}async set(e,t){this.store.cache.set(e,new Uint8Array(t)),await P(this._idb.put(t,e))}setSync(e,t){this.async(this.set(e,t))}remove(e){return this.store.cache.delete(e),P(this._idb.delete(e))}removeSync(e){this.store.cache.delete(e),this.async(this.remove(e))}async commit(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.oncomplete=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.commit(),e}async abort(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.onabort=()=>t(),this.tx.onerror=()=>n(O(this.tx.error)),this.tx.abort(),e}};async function I(e,t=globalThis.indexedDB){let n=t.open(e);return n.onupgradeneeded=()=>{let t=n.result;t.objectStoreNames.contains(e)&&(T(`Found unexpected object store: `+e),t.deleteObjectStore(e)),t.createObjectStore(e)},await P(n)}var L=class{constructor(e){this.db=e,this.cache=new Map}sync(){return Promise.resolve()}get name(){return this.db.name}transaction(){return new F(this.db.transaction(this.name,`readwrite`),this)}};const R=new WeakMap;async function z(e){if(!(e instanceof IDBFactory))return!1;try{return(await P(e.open(`__zenfs_test`))).close(),!0}catch{return!1}finally{e?.deleteDatabase(`__zenfs_test`)}}const B={name:`IndexedDB`,options:{storeName:{type:`string`,required:!1},idbFactory:{type:`object`,required:!1}},async isAvailable({idbFactory:e=globalThis.indexedDB}){if(R.has(e))return R.get(e);let t=z(e);return R.set(e,t),t},async create(e){let n=new L(await I(e.storeName||`zenfs`,e.idbFactory)),r=new S(n);if(e?.disableAsyncCache)return t(`Async preloading disabled for IndexedDB`),r;let i=n.transaction();for(let e of await i.keys())await i.get(e);return r}};var V=class{get name(){return H.name}constructor(e){this.storage=e}clear(){this.storage.clear()}clearSync(){this.storage.clear()}async sync(){}transaction(){return new y(this)}keys(){return Object.keys(this.storage).map(e=>Number(e))}get(e){let t=this.storage.getItem(e.toString());if(typeof t==`string`)return h(t)}set(e,t){try{this.storage.setItem(e.toString(),i(t))}catch{throw n(`ENOSPC`)}}delete(e){try{this.storage.removeItem(e.toString())}catch(t){throw n(`EIO`,`Unable to delete '${e}': ${t}`)}}};const H={name:`WebStorage`,options:{storage:{type:`object`,required:!1}},isAvailable(e){return(e?.storage??globalThis.localStorage)instanceof globalThis.Storage},create({storage:e=globalThis.localStorage}){return new S(new V(e))}};function U(e){let t={};for(let n of u){let r=e.getAttribute(n);r!=null&&(t[n]=parseInt(r,16))}return new C(t)}function W(e,t){for(let n of Object.keys(t))!(n in u)||t[n]===void 0||e.setAttribute(n,t[n].toString(16))}function G(e,t=!1){let n;try{let r=t?e.textContent:e.getAttribute(`paths`);n=JSON.parse(r||`[]`)}catch{n=[]}return n}var K=class extends v(g){constructor(e=new DOMParser().parseFromString(`<fs></fs>`,`application/xml`).documentElement){super(544763244,`xmltmpfs`),this.root=e;try{this.mkdirSync(`/`,{uid:0,gid:0,mode:511})}catch(e){let t=e;if(t.code!=`EEXIST`)throw t}}renameSync(e,t){let n=this.get(`rename`,e);this.remove(`rename`,n,e),this.add(`rename`,n,t)}statSync(e){return U(this.get(`stat`,e))}createFileSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|w,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`createFile`,e,r),r}unlinkSync(e){let t=this.get(`unlink`,e);if(U(t).mode&16384)throw n(`EISDIR`);this.remove(`unlink`,t,e)}rmdirSync(e){let t=this.get(`rmdir`,e);if(t.textContent?.length)throw n(`ENOTEMPTY`);if(!(U(t).mode&16384))throw n(`ENOTDIR`);this.remove(`rmdir`,t,e)}mkdirSync(e,t){let n=this.statSync(_(e)),r=new C({mode:t.mode|f,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`mkdir`,e,r).textContent=`[]`,r}readdirSync(e){let t=this.get(`readdir`,e);if(!(U(t).mode&16384))throw n(`ENOTDIR`);try{return JSON.parse(t.textContent)}catch(e){throw n(`EIO`,`Invalid directory listing: `+e)}}linkSync(e,t){let n=this.get(`link`,e);this.add(`link`,n,t)}touchSync(e,t){W(this.get(`touch`,e),t)}syncSync(){}readSync(e,t,n,r){let i=this.get(`read`,e),a=h(i.textContent.slice(n,r));t.set(a)}writeSync(e,t,n){let r=this.get(`write`,e),a=i(t),o=r.textContent.slice(n+a.length);r.textContent=r.textContent.slice(0,n)+a+o}toString(){return new XMLSerializer().serializeToString(this.root)}get(e,t){let r=this.root.children;if(!r)throw n(`EIO`);for(let e=0;e<r.length;e++)if(G(r[e]).includes(t))return r[e];throw n(`ENOENT`)}create(e,t,r){if(this.existsSync(t))throw n(`EEXIST`);let i=document.createElement(`file`);return this.add(e,i,t),W(i,new C({...r,uid:r.mode})),this.root.append(i),i}add(e,t,n,r=!1){let i=G(t,r);if(i.push(n),r){t.textContent=JSON.stringify(i);return}if(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16)),n!=`/`){let t=this.get(e,_(n));this.add(e,t,b(n),!0)}}remove(e,t,n,r=!1){let i=G(t,r),a=i.indexOf(n);if(a!=-1){if(i.splice(a,1),r){t.textContent=JSON.stringify(i);return}if(i.length?(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16))):t.remove(),n!=`/`){let t=this.get(e,_(n));this.remove(e,t,b(n),!0)}}}};const q={name:`XML`,options:{root:{type:`object`,required:!1}},isAvailable(){return!0},create(e){return new K(e.root)}};export{B as IndexedDB,L as IndexedDBStore,F as IndexedDBTransaction,N as WebAccess,M as WebAccessFS,H as WebStorage,V as WebStorageStore,q as XML,K as XMLFS};