sliccy 6.235.9 → 6.236.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +182 -182
- package/dist/ui/assets/{account-store-O1SLbwZK.js → account-store-4_OlsPso.js} +1 -1
- package/dist/ui/assets/{account-store-CvMuSTV-.js → account-store-DpncAEmL.js} +1 -1
- package/dist/ui/assets/{adobe-DOkIzK-6.js → adobe-BcxY0ZLE.js} +1 -1
- package/dist/ui/assets/{adobe-ZR5-d5FM.js → adobe-Dob1rLiF.js} +1 -1
- package/dist/ui/assets/{agent-panels-C7eesOtS.js → agent-panels-DOFQK3Oz.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-7dtPlGFG.js → almost-bash-shell-headless-_XqaMLOd.js} +28 -28
- package/dist/ui/assets/{apply-layout-BwrL2v0P.js → apply-layout-BB35XYZg.js} +1 -1
- package/dist/ui/assets/{apps-BGYbZwBx.js → apps-Dsk__5WB.js} +1 -1
- package/dist/ui/assets/{azure-openai-0NscOU_l.js → azure-openai-BFicld10.js} +1 -1
- package/dist/ui/assets/{azure-openai-BDkIW6yP.js → azure-openai-y7uWY3Jk.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-owl2yNix.js → backend-hostfs-f9WD7BbF.js} +1 -1
- package/dist/ui/assets/{cdp-DKurpEzP.js → cdp-BglFeTtA.js} +1 -1
- package/dist/ui/assets/{cerebras-C-0KJZzz.js → cerebras-CfiQcwoI.js} +1 -1
- package/dist/ui/assets/{cerebras-CAJ_bPCC.js → cerebras-CrkXb4nR.js} +1 -1
- package/dist/ui/assets/{composer-speech-BTlV84Ms.js → composer-speech-NdTPxJ6b.js} +1 -1
- package/dist/ui/assets/{connect-surface-DJWWkBvR.js → connect-surface-A5xSRpkK.js} +1 -1
- package/dist/ui/assets/{directed-approval-C8aTvJ05.js → directed-approval-B-qs6ERX.js} +1 -1
- package/dist/ui/assets/{dist-DKZ_d5ft.js → dist-D_IMAyfe.js} +1 -2
- package/dist/ui/assets/{dist-CH3AiPSl.js → dist-DpEzY24i.js} +1 -2
- package/dist/ui/assets/{emscripten-vfs-hook-DIBxY5Sb.js → emscripten-vfs-hook-C9FaGaqy.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-D-FO_G4X.js → ensure-speech-assets-832zrCqa.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-DUwOkGDL.js → frozen-archive-writer-DoXmZzXO.js} +1 -1
- package/dist/ui/assets/{fs-Bpfm64Em.js → fs-D_cFUSir.js} +1 -1
- package/dist/ui/assets/{fs-qW9i-bg1.js → fs-as_Z1HGT.js} +2 -2
- package/dist/ui/assets/{gelatiere-unit-DhL_lwOz.js → gelatiere-unit-DSvNZI_E.js} +1 -1
- package/dist/ui/assets/{github-kxrv5kjU.js → github-CJNl6U61.js} +2 -2
- package/dist/ui/assets/{github-DO4DKrjr.js → github-CZZ0a89E.js} +1 -1
- package/dist/ui/assets/{github-auth-Blxk1kz9.js → github-auth-D-_-pCrt.js} +1 -1
- package/dist/ui/assets/{github-copilot-B5x7hjTT.js → github-copilot-CBnPj-9t.js} +1 -1
- package/dist/ui/assets/{github-copilot-CEs4B_lx.js → github-copilot-Dy7ZMT1U.js} +1 -1
- package/dist/ui/assets/{github-install-oUEyZc2F.js → github-install-NHKpL-_w.js} +1 -1
- package/dist/ui/assets/{github-zip-Dg4RSOtp.js → github-zip-CMSbKC3q.js} +1 -1
- package/dist/ui/assets/{go-driver-Dmvoie_n.js → go-driver-DS6D_tfi.js} +1 -1
- package/dist/ui/assets/{hear-D_3Tv3Ou.js → hear-AC4wtQa5.js} +1 -1
- package/dist/ui/assets/{help-EF_zeyEr.js → help-DuAvKnbR.js} +1 -1
- package/dist/ui/assets/{installer-C6H-yVQO.js → installer-iQBJzSUD.js} +1 -1
- package/dist/ui/assets/{ipk-mamba-CfSwj3yP.js → ipk-mamba-CRjKH0VV.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-D_a0frey.js → js-realm-worker-DMEEEJrm.js} +2 -2
- package/dist/ui/assets/{jsh-executor-CUFObKJd.js → jsh-executor-AE9cRacb.js} +2 -2
- package/dist/ui/assets/{kernel-worker-BQBHc6H2.js → kernel-worker-BtudmXkG.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-t_1ghsH4.js → lick-ws-bridge-BTr02Ybr.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-7YrBoxmr.js → lick-ws-bridge-B_cCCkE1.js} +1 -1
- package/dist/ui/assets/{live-session-curation-CCYMW5NB.js → live-session-curation-CYp_Tu9v.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-C8wgYn0b.js → live-session-snapshot-BVONcxLN.js} +1 -1
- package/dist/ui/assets/{local-llm-DDLhxd7C.js → local-llm-BhuMOvuP.js} +1 -1
- package/dist/ui/assets/{local-llm-B3Vd7k8Y.js → local-llm-DQDt3nXY.js} +1 -1
- package/dist/ui/assets/{main-ClL1FYNf.js → main-BZuOtug5.js} +3 -3
- package/dist/ui/assets/{main-cherry-QZ47HpPt.js → main-cherry-CnbXefNF.js} +1 -1
- package/dist/ui/assets/{mcp-command-B-ZPtqCp.js → mcp-command-DLubUQ0I.js} +12 -12
- package/dist/ui/assets/{memory-curation-seam-UQBkdHL8.js → memory-curation-seam-DAoIurlX.js} +1 -1
- package/dist/ui/assets/{memory-health-BPBcYO77.js → memory-health-CjPfgQMB.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-BB62qYYq.js → memory-write-execute-BKdu9Ko7.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-D0yAE8Zx.js → merge-folded-cost-into-frozen-B9ysE6-f.js} +1 -1
- package/dist/ui/assets/{mount-DTBIKBtA.js → mount-B09Kr3qq.js} +1 -1
- package/dist/ui/assets/{new-session-C6s_Ebbj.js → new-session-BFB3yJOy.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-Bt9jdBvT.js → oauth-bootstrap-DXSFv7YG.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-COIIWGl5.js → onboarding-orchestrator-C0MImllQ.js} +1 -1
- package/dist/ui/assets/{openai-codex-BMfs32Lb.js → openai-codex-D_mKLWqo.js} +1 -1
- package/dist/ui/assets/{openai-codex-BA_uZyDB.js → openai-codex-rvyDSXuA.js} +1 -1
- package/dist/ui/assets/{openrouter-DoO5aE-P.js → openrouter-BPm4olRd.js} +1 -1
- package/dist/ui/assets/{openrouter-free-RDl4xJrn.js → openrouter-free-BG24gLhV.js} +1 -1
- package/dist/ui/assets/{openrouter-free-DPUg7SEk.js → openrouter-free-DY2TSfCe.js} +1 -1
- package/dist/ui/assets/{openrouter-Cl0kSCUL.js → openrouter-naaRK-oy.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DWNcH7QC.js → openrouter-oauth-CWeXAej_.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-XnW5BmNU.js → openrouter-oauth-DeGZczuQ.js} +1 -1
- package/dist/ui/assets/{opfs-mount-CFtfGC5C.js → opfs-mount-Bahao_iy.js} +1 -1
- package/dist/ui/assets/{opfs-mount-B2OkpjpV.js → opfs-mount-Bky3nPlu.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-DnYqYKFr.js → panel-rpc-handlers-B2-qyJ30.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BUuWsjD7.js → panelize-shell-CZ5fHZY_.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-03dFL5RQ.js → pi-edit-execution-DzAf9boA.js} +1 -1
- package/dist/ui/assets/{process-worker-CoSb3zK5.js → process-worker-Qo-KJQnm.js} +1 -1
- package/dist/ui/assets/{provider-0y5p39MK.js → provider-CUIkZZqN.js} +1 -1
- package/dist/ui/assets/{provider-DVCNNtZd.js → provider-ZrWIFl68.js} +2 -2
- package/dist/ui/assets/{provider-settings-tVvYnTTp.js → provider-settings--EqCRseG.js} +1 -1
- package/dist/ui/assets/provider-store-access-CEjSn5oV.js +1 -0
- package/dist/ui/assets/provider-store-access-TJh2r5UE.js +1 -0
- package/dist/ui/assets/{providers-0I9U1Uo-.js → providers-BDnuUC_F.js} +2 -2
- package/dist/ui/assets/{providers-mhdfq204.js → providers-D4uzCxSC.js} +1 -1
- package/dist/ui/assets/{quick-llm-Dwu7E3DF.js → quick-llm-BMYdy16n.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-LvhM5VjI.js → realm-inprocess-C2WmZG-G.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-DGJznExb.js → realm-unhandled-rejections-By7I1zSV.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-DaahplaD.js → realm-unhandled-rejections-DStvjHXI.js} +1 -1
- package/dist/ui/assets/{recovery-screen-DVDhs6oF.js → recovery-screen-Diel-Y6O.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-D9w-Xo-k.js → remote-terminal-view-CV4uyGa3.js} +2 -2
- package/dist/ui/assets/{restore-szNG9KRa.js → restore-D6oKOBj8.js} +1 -1
- package/dist/ui/assets/run-BI9A9cl8.js +18 -0
- package/dist/ui/assets/{run-DaE8Dw2g.js → run-BqF4He4S.js} +1 -1
- package/dist/ui/assets/{run-D47pozAn.js → run-CQ0EnpXK.js} +2 -2
- package/dist/ui/assets/{run-BMgvV3mD.js → run-DMfFMxTu.js} +1 -1
- package/dist/ui/assets/{run-DLdxHfLh.js → run-NsSXyhYQ.js} +1 -1
- package/dist/ui/assets/{run-DiN5-n0S.js → run-j1E7iOzH.js} +2 -2
- package/dist/ui/assets/{session-command-memory-1u3crpAx.js → session-command-memory-BwdB3xAf.js} +2 -2
- package/dist/ui/assets/{session-jsonl-fSy8WksC.js → session-jsonl-Djru7SI4.js} +1 -1
- package/dist/ui/assets/{session-jsonl-9Eb1kkFa.js → session-jsonl-EPqNc57z.js} +1 -1
- package/dist/ui/assets/{session-search-index-BLmM9hlA.js → session-search-index-De42_MR3.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-JHOZVXVk.js → setup-feature-flags-remote-CGMn2r93.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-C57hca_4.js → setup-model-catalog-CEpBfnjh.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-DMHamZPc.js → silent-renew-backoff-D05VRPxg.js} +1 -1
- package/dist/ui/assets/slicc-version-WalzcEvp.js +1 -0
- package/dist/ui/assets/{snapshot-BzMeK9L0.js → snapshot-YDNf2VnW.js} +1 -1
- package/dist/ui/assets/{snapshot-features-DkjV6I9a.js → snapshot-features-Kbro52QQ.js} +1 -1
- package/dist/ui/assets/{soundscape-BPSiZ5pi.js → soundscape-BMu-86FC.js} +1 -1
- package/dist/ui/assets/{speak-D5IdEmcC.js → speak-DnsU-wyA.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-Dp9HW693.js → sprinkle-manager-bq_6Yh3Q.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-Cc2Gt_hj.js → sprinkle-renderer-8S4D3xl7.js} +1 -1
- package/dist/ui/assets/{state-DtgzcA2P.js → state-BOigwV2f.js} +1 -1
- package/dist/ui/assets/{store-DWDPftni.js → store-Cset-yBv.js} +1 -1
- package/dist/ui/assets/{store-Bso4DY0i.js → store-tvt1tIjf.js} +1 -1
- package/dist/ui/assets/{sudo-TvMQg63g.js → sudo-DCB_apVI.js} +1 -1
- package/dist/ui/assets/{supervisor-C8YMpNpL.js → supervisor-DmekO8yp.js} +1 -1
- package/dist/ui/assets/{sync-dialog-COCxeXoF.js → sync-dialog-CPIAXWvO.js} +1 -1
- package/dist/ui/assets/{transformers-env-CuaSYpfp.js → transformers-env-JPy_vkYN.js} +1 -1
- package/dist/ui/assets/{tray-leader-BsEOcuKc.js → tray-leader-DTLoNIYp.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-DK_2m4nA.js → tray-leave-runtime-DNDn2JhA.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DIILF98W.js → tray-sidecar-BrrFcZl_.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-lyAUl6lo.js → upgrade-detection-Dubsu_wh.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-LimHRqqL.js → upskill-lick-skip-hU4vBPA-.js} +1 -1
- package/dist/ui/assets/{voice-reply-DZyi2Kea.js → voice-reply-BpV9Jnyd.js} +1 -1
- package/dist/ui/assets/{wasi-runtime-COPsi_2T.js → wasi-runtime-D50sf0fY.js} +5 -5
- package/dist/ui/assets/{wc-attach-D0eamQPy.js → wc-attach-C9kHznpF.js} +2 -2
- package/dist/ui/assets/{wc-browser-BitGxnOb.js → wc-browser-BlB_Audk.js} +1 -1
- package/dist/ui/assets/{wc-computers-BeTOQPEb.js → wc-computers-DZrpcwif.js} +1 -1
- package/dist/ui/assets/{wc-detached-BBmR20Z8.js → wc-detached-xUYTi-la.js} +1 -1
- package/dist/ui/assets/{wc-extension-CyXMGJ7h.js → wc-extension-xWJ845Of.js} +2 -2
- package/dist/ui/assets/{wc-follower-CdKAoAaH.js → wc-follower-AqQXjdIF.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-2882d-Vw.js → wc-follower-oauth-PQx5Jno8.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-Dngcz8B4.js → wc-gelatiere-Cpd8Z5bC.js} +1 -1
- package/dist/ui/assets/{wc-live-CWCZRyOU.js → wc-live-zoFtM8JH.js} +5 -5
- package/dist/ui/assets/{wc-nav-BDL8O2wR.js → wc-nav-Dx8KKwRl.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-Ch-v7eGf.js → wc-onboarding-Ck5OS5xG.js} +2 -2
- package/dist/ui/assets/{wc-permissions-Ct1WSjyo.js → wc-permissions-pMQDS0-w.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-BxjMYzXf.js → wc-placeholder-_D-OK8e3.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-ClrM907A.js → wc-secret-request-CcnmmTtr.js} +1 -1
- package/dist/ui/assets/{wc-settings-CiNQ3fC4.js → wc-settings-KLlzOz3i.js} +3 -3
- package/dist/ui/assets/{wc-shell-CMnP1jur.js → wc-shell-B3Tvy3z6.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-C5q28X65.js → wc-shortcut-config-DlpHdz2c.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-B9nCEtwI.js → wc-sprinkles-DdhmQC_a.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-C6Uv24wz.js → wc-transcript-export-DElVEOnz.js} +2 -2
- package/dist/ui/assets/{wc-tray-C3vNIa7j.js → wc-tray-D-Bwa7Qr.js} +4 -4
- package/dist/ui/assets/welcome-detection-C2AdNi3y.js +1 -0
- package/dist/ui/assets/{whisper-session-D2iBC5aS.js → whisper-session-DrkMt0nL.js} +2 -2
- package/dist/ui/assets/{xai-grok-DuQsHfQx.js → xai-grok-CajdQGH7.js} +1 -1
- package/dist/ui/assets/{xai-grok-DESoApfh.js → xai-grok-DLRB-i5x.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/provider-store-access-B-B6cLyR.js +0 -1
- package/dist/ui/assets/provider-store-access-BKcIKZEH.js +0 -1
- package/dist/ui/assets/run-CegFFPpu.js +0 -18
- package/dist/ui/assets/slicc-version-B4uglWtb.js +0 -1
- package/dist/ui/assets/welcome-detection-B4M3aHfd.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-
|
|
1
|
+
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-DdhmQC_a.js";var t=`focus`,n={type:`leaf`,surfaceId:`chat`};function r(e,t={},n={}){return{zones:{top:null,left:null,middle:null,right:null,bottom:null,...e},rowFr:{top:1,center:1,bottom:1,...n},colFr:{left:1,middle:1,right:1,...t}}}var i={focus:{name:`focus`,tree:r({left:n},{left:3,middle:1})}};function a(e){return i[e]??null}function o(n,r){switch(r.kind){case`set`:n.applyLayout(r.tree);break;case`reset`:{let e=a(t);e&&n.applyLayout(e.tree);break}case`chat`:n.moveSurfaceToZone(e,r.zone);break;case`open`:n.placeSurface(r.zone,r.surfaceId);break;case`close`:n.removeSurface(r.surfaceId);break;case`move`:n.moveSurfaceToZone(r.surfaceId,r.zone);break;case`size`:n.setSurfaceSize(r.surfaceId,r.size)}}export{o as applyLayout};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./slugify-BYJ6QVAt.js";import{t as n}from"./types-D8gIX-W-.js";import{t as r}from"./html-B_Hg2WOy.js";import{t as i}from"./global-db-DJXlpNui.js";const a=e(`mcp-apps`),o=`/workspace/.mcp/sprinkles`;async function s(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./slugify-BYJ6QVAt.js";import{t as n}from"./types-D8gIX-W-.js";import{t as r}from"./html-B_Hg2WOy.js";import{t as i}from"./global-db-DJXlpNui.js";const a=e(`mcp-apps`),o=`/workspace/.mcp/sprinkles`;async function s(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-D_cFUSir.js`).then(e=>e.t);return await t.create({dbName:i})}function c(e){return t(e,{maxLen:64,fallback:`app`})}function l(e,t){let n=r(t.title??t.name),i=t.description?r(t.description):``,a=r(t.templateUri??`about:blank`),o=JSON.stringify(e),s=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
|
|
2
2
|
<header class="mcp-app__header" style="padding:8px 12px;border-bottom:1px solid var(--s2-border-subtle,#3a3a3a);">
|
|
3
3
|
<h2 style="font-size:14px;font-weight:600;margin:0;">${n}</h2>${i?`\n <p style="font-size:12px;margin:4px 0 0;color:var(--s2-content-secondary,#a0a0a0);">${i}</p>`:``}
|
|
4
4
|
</header>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,o as t}from"./account-store-
|
|
1
|
+
import{c as e,o as t}from"./account-store-4_OlsPso.js";import{a as n}from"./diagnostics-Cag7MsZI.js";import{t as r}from"./models-CET5SEuw.js";import{a as i}from"./compat-nGhSz-U1.js";import{n as a,t as o}from"./pi-transcript-context-4pjVPiVC.js";import{r as s,t as c}from"./transform-messages-BeurHGV0.js";function l(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 u(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 d=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return d=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 f(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const p=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 m=class extends Error{},h=class e extends m{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 _({message:r,cause:p(n)});let a=n?.error;return t===400?new y(t,a,r,i):t===401?new b(t,a,r,i):t===403?new x(t,a,r,i):t===404?new ee(t,a,r,i):t===409?new te(t,a,r,i):t===422?new ne(t,a,r,i):t===429?new re(t,a,r,i):t>=500?new ie(t,a,r,i):new e(t,a,r,i)}},g=class extends h{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},_=class extends h{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},v=class extends _{constructor({message:e}={}){super({message:e??`Request timed out.`})}},y=class extends h{},b=class extends h{},x=class extends h{},ee=class extends h{},te=class extends h{},ne=class extends h{},re=class extends h{},ie=class extends h{},ae=class extends m{constructor(){super(`Could not parse response content as the length limit was reached`)}},oe=class extends m{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},se=class extends Error{constructor(e){super(e)}},ce=class extends h{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}},le=class extends m{constructor(e,t,n){super(e),this.provider=t,this.cause=n}};const ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e);let S=e=>(S=Array.isArray,S(e)),fe=S;function pe(e){return typeof e==`object`?e??{}:{}}function me(e){if(!e)return!0;for(let t in e)return!1;return!0}function he(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const ge=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new m(`${e} must be an integer`);if(t<0)throw new m(`${e} must be a positive integer`);return t},_e=e=>{try{return JSON.parse(e)}catch{return}},ve=e=>new Promise(t=>setTimeout(t,e));function ye(){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 be(...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 xe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return be({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Se(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 Ce(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 we;function w(e){let t;return(we??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let Te;function Ee(e){let t;return(Te??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var De,T,E,D,Oe,ke,Ae;const je=65536;var Me=class{constructor(){De.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),Oe.set(this,void 0),ke.set(this,void 0),l(this,T,new Uint8Array,`f`),l(this,E,0,`f`),l(this,D,0,`f`),l(this,Oe,0,`f`),l(this,ke,!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||u(this,ke,`f`)&&(l(this,ke,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];u(this,De,`m`,Ae).call(this,t);let n=[],r;for(;(r=Ne(u(this,T,`f`),u(this,Oe,`f`),u(this,D,`f`)))!=null;){let e=Ee(u(this,T,`f`).subarray(u(this,E,`f`),r.preceding));n.push(e),l(this,E,r.index,`f`),r.carriage&&(u(this,E,`f`)<u(this,D,`f`)&&u(this,T,`f`)[u(this,E,`f`)]===10?l(this,E,u(this,E,`f`)+1,`f`):u(this,E,`f`)===u(this,D,`f`)&&l(this,ke,!0,`f`)),l(this,Oe,u(this,E,`f`),`f`)}if(l(this,Oe,u(this,D,`f`),`f`),u(this,E,`f`)===u(this,D,`f`))l(this,E,0,`f`),l(this,D,0,`f`),l(this,Oe,0,`f`),u(this,T,`f`).length>je&&l(this,T,new Uint8Array,`f`);else if(n.length>0&&u(this,T,`f`).length>je){let e=u(this,D,`f`)-u(this,E,`f`);if(e<=je||u(this,T,`f`).length>e*4){let t=e<=je?Math.min(Math.max(e*2,256),je):e*2,n=new Uint8Array(t);n.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,n,`f`),l(this,E,0,`f`),l(this,D,e,`f`),l(this,Oe,e,`f`)}}return n}flush(){return l(this,ke,!1,`f`),u(this,E,`f`)===u(this,D,`f`)?[]:this.decode(`
|
|
2
2
|
`)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,Oe=new WeakMap,ke=new WeakMap,De=new WeakSet,Ae=function(e){if(u(this,D,`f`)+e.length>u(this,T,`f`).length){let t=u(this,D,`f`)-u(this,E,`f`);if(u(this,E,`f`)>=u(this,T,`f`).length/2&&t+e.length<=u(this,T,`f`).length)u(this,T,`f`).copyWithin(0,u(this,E,`f`),u(this,D,`f`));else{let n=Math.max(u(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,r,`f`)}l(this,Oe,u(this,Oe,`f`)-u(this,E,`f`),`f`),l(this,D,t,`f`),l(this,E,0,`f`)}u(this,T,`f`).set(e,u(this,D,`f`)),l(this,D,u(this,D,`f`)+e.length,`f`)},Me.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),Me.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ne(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 Pe(e){for(let t=0;t<e.length-1;t++){let n=Fe(e,t);if(n>0){let r=t+n,i=Fe(e,r);if(i>0)return r+i}}return-1}function Fe(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}const Ie={off:0,error:200,warn:300,info:400,debug:500},Le=(e,t,n)=>{if(e){if(he(Ie,e))return e;O(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ie))}`)}};function Re(){}function ze(e,t,n){return!t||Ie[e]>Ie[n]?Re:t[e].bind(t)}const Be={error:Re,warn:Re,info:Re,debug:Re};let Ve=new WeakMap;function O(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Be;let r=Ve.get(t);if(r&&r[0]===n)return r[1];let i={error:ze(`error`,t,n),warn:ze(`warn`,t,n),info:ze(`info`,t,n),debug:ze(`debug`,t,n)};return Ve.set(t,[n,i]),i}const He=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 Ue,We=class e{constructor(e,t,n){Ue.set(this,void 0),this.iterator=e,this.controller=t,l(this,Ue,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?O(r):console;async function*s(){if(a)throw new m("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 Ge(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 h(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 h(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||f(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 Me,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 m("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||f(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Ue=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,u(this,Ue,`f`)),new e(()=>i(n),this.controller,u(this,Ue,`f`))]}toReadableStream(){let e;return be({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*Ge(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new m(`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 m(`Attempted to iterate over a response with no body`);let n=new qe,r=new Me,i=Se(e.body);for await(let e of Ke(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*Ke(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=Pe(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 qe=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,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-Cag7MsZI.js";import{t}from"./models-Xc0Gclrk.js";import{a as n}from"./compat-BAGLwgqY.js";import{b as r,g as i}from"./account-store-
|
|
1
|
+
import{a as e}from"./diagnostics-Cag7MsZI.js";import{t}from"./models-Xc0Gclrk.js";import{a as n}from"./compat-BAGLwgqY.js";import{b as r,g as i}from"./account-store-DpncAEmL.js";import{r as a,t as o}from"./transform-messages-k2mfzJwY.js";import{n as s,t as c}from"./pi-transcript-context-miZCMig3.js";function l(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 u(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)}var d=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return d=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 f(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var p=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)},m=class extends Error{},h=class e extends m{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 _({message:r,cause:p(n)});let a=n?.error;return t===400?new y(t,a,r,i):t===401?new b(t,a,r,i):t===403?new x(t,a,r,i):t===404?new ee(t,a,r,i):t===409?new te(t,a,r,i):t===422?new ne(t,a,r,i):t===429?new re(t,a,r,i):t>=500?new ie(t,a,r,i):new e(t,a,r,i)}},g=class extends h{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},_=class extends h{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},v=class extends _{constructor({message:e}={}){super({message:e??`Request timed out.`})}},y=class extends h{},b=class extends h{},x=class extends h{},ee=class extends h{},te=class extends h{},ne=class extends h{},re=class extends h{},ie=class extends h{},ae=class extends m{constructor(){super(`Could not parse response content as the length limit was reached`)}},oe=class extends m{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},se=class extends Error{constructor(e){super(e)}},ce=class extends h{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}},le=class extends m{constructor(e,t,n){super(e),this.provider=t,this.cause=n}},ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e),S=e=>(S=Array.isArray,S(e)),fe=S;function pe(e){return typeof e==`object`?e??{}:{}}function me(e){if(!e)return!0;for(let t in e)return!1;return!0}function he(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ge=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new m(`${e} must be an integer`);if(t<0)throw new m(`${e} must be a positive integer`);return t},_e=e=>{try{return JSON.parse(e)}catch{return}},ve=e=>new Promise(t=>setTimeout(t,e));function ye(){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 be(...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 xe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return be({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Se(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 Ce(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}var we;function w(e){let t;return(we??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Te;function Ee(e){let t;return(Te??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var De,T,E,D,O,Oe,ke,Ae=65536,je=class{constructor(){De.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Oe.set(this,void 0),l(this,T,new Uint8Array,`f`),l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),l(this,Oe,!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||u(this,Oe,`f`)&&(l(this,Oe,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];u(this,De,`m`,ke).call(this,t);let n=[],r;for(;(r=Me(u(this,T,`f`),u(this,O,`f`),u(this,D,`f`)))!=null;){let e=Ee(u(this,T,`f`).subarray(u(this,E,`f`),r.preceding));n.push(e),l(this,E,r.index,`f`),r.carriage&&(u(this,E,`f`)<u(this,D,`f`)&&u(this,T,`f`)[u(this,E,`f`)]===10?l(this,E,u(this,E,`f`)+1,`f`):u(this,E,`f`)===u(this,D,`f`)&&l(this,Oe,!0,`f`)),l(this,O,u(this,E,`f`),`f`)}if(l(this,O,u(this,D,`f`),`f`),u(this,E,`f`)===u(this,D,`f`))l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),u(this,T,`f`).length>Ae&&l(this,T,new Uint8Array,`f`);else if(n.length>0&&u(this,T,`f`).length>Ae){let e=u(this,D,`f`)-u(this,E,`f`);if(e<=Ae||u(this,T,`f`).length>e*4){let t=e<=Ae?Math.min(Math.max(e*2,256),Ae):e*2,n=new Uint8Array(t);n.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,n,`f`),l(this,E,0,`f`),l(this,D,e,`f`),l(this,O,e,`f`)}}return n}flush(){return l(this,Oe,!1,`f`),u(this,E,`f`)===u(this,D,`f`)?[]:this.decode(`
|
|
2
2
|
`)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,Oe=new WeakMap,De=new WeakSet,ke=function(e){if(u(this,D,`f`)+e.length>u(this,T,`f`).length){let t=u(this,D,`f`)-u(this,E,`f`);if(u(this,E,`f`)>=u(this,T,`f`).length/2&&t+e.length<=u(this,T,`f`).length)u(this,T,`f`).copyWithin(0,u(this,E,`f`),u(this,D,`f`));else{let n=Math.max(u(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,r,`f`)}l(this,O,u(this,O,`f`)-u(this,E,`f`),`f`),l(this,D,t,`f`),l(this,E,0,`f`)}u(this,T,`f`).set(e,u(this,D,`f`)),l(this,D,u(this,D,`f`)+e.length,`f`)},je.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),je.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Me(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 Ne(e){for(let t=0;t<e.length-1;t++){let n=Pe(e,t);if(n>0){let r=t+n,i=Pe(e,r);if(i>0)return r+i}}return-1}function Pe(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}var Fe={off:0,error:200,warn:300,info:400,debug:500},Ie=(e,t,n)=>{if(e){if(he(Fe,e))return e;k(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Fe))}`)}};function Le(){}function Re(e,t,n){return!t||Fe[e]>Fe[n]?Le:t[e].bind(t)}var ze={error:Le,warn:Le,info:Le,debug:Le},Be=new WeakMap;function k(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return ze;let r=Be.get(t);if(r&&r[0]===n)return r[1];let i={error:Re(`error`,t,n),warn:Re(`warn`,t,n),info:Re(`info`,t,n),debug:Re(`debug`,t,n)};return Be.set(t,[n,i]),i}var Ve=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),He,Ue=class e{constructor(e,t,n){He.set(this,void 0),this.iterator=e,this.controller=t,l(this,He,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?k(r):console;async function*s(){if(a)throw new m("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 We(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 h(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 h(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||f(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 je,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 m("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||f(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(He=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,u(this,He,`f`)),new e(()=>i(n),this.controller,u(this,He,`f`))]}toReadableStream(){let e;return be({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*We(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new m(`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 m(`Attempted to iterate over a response with no body`);let n=new qe,r=new je,i=Se(e.body);for await(let e of Ke(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)}}var Ge=3;async function*Ke(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=Ne(t.subarray(i,r)))!==-1;)o+=i,yield t.slice(n,o),n=o,i=n;i=Math.max(n,r-Ge)}r>n&&(yield t.slice(n,r))}var qe=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{s as e,t}from"./api-endpoint-DuEQRZ4g.js";import{t as n}from"./types-D8gIX-W-.js";import{n as r}from"./fs-
|
|
1
|
+
import{s as e,t}from"./api-endpoint-DuEQRZ4g.js";import{t as n}from"./types-D8gIX-W-.js";import{n as r}from"./fs-as_Z1HGT.js";import{t as i}from"./remote-cache-CuIV6-dC.js";function a(e){if(!Number.isFinite(e))return{run:e=>e(),get active(){return 0}};let t=Math.max(1,Math.floor(e)),n=[],r=0,i=()=>{let e=n.shift();if(e){e();return}--r};return{async run(e){r>=t?await new Promise(e=>n.push(e)):r+=1;try{return await e()}finally{i()}},get active(){return r}}}var o=104857600,s=new Set([`list`,`stat`,`mkdir`,`rename`,`remove`]),c=`/api/hostfs`,l=new Set([`ENOENT`,`EEXIST`,`ENOTDIR`,`EISDIR`,`ENOTEMPTY`,`EINVAL`,`EACCES`,`ELOOP`,`EBUSY`,`EFBIG`,`EBADF`,`EIO`]),u=new Set([`list`,`stat`,`read`,`mkdir`]),d=3,f=25,p=24,m=3e4,h=4194304,g=`no-store`;function _(e,t){return`hostfs:${encodeURIComponent(e)}:${encodeURIComponent(t)}`}var v=e=>e.json(),y=async e=>({partial:e.status===206,body:await e.arrayBuffer()}),b=async e=>{await e.arrayBuffer()},x=e=>e>0?new Promise(t=>setTimeout(t,e)):Promise.resolve();function S(e,t,r,i,a){let o=r instanceof Error?r.message:String(r),s=a?` after ${i} attempt${i===1?``:`s`}`:` (not retried: non-idempotent op)`;return new n(`EIO`,`hostfs ${e} failed${s}: transient bridge error: ${o}`,t)}function C(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function w(t){let n={},i=C(t.ctime);i!==void 0&&(n.ctime=i);let a=C(t.ino);a!==void 0&&(n.ino=a);let o=C(t.dev);o!==void 0&&Number.isSafeInteger(o)&&o>=0&&(n.dev=o,n.identity=r(`hostfs:${e(c)}`,a,o));let s=C(t.uid);s!==void 0&&(n.uid=s);let l=C(t.gid);l!==void 0&&(n.gid=l);let u=C(t.mode);return u!==void 0&&(n.mode=u),n}var T=class{kind=`hostfs`;listingStatsMatchStat=!0;source;mountId;targetPath;hostPath;fetchImpl;limiter;maxAttempts;retryDelayMs;cache;maxCachedBodyBytes;cacheGeneration=0;closed=!1;stableEndpoint=!0;constructor(e){this.targetPath=e.targetPath,this.hostPath=e.hostPath,this.source=`hostfs://${e.hostPath}`,this.mountId=e.mountId??_(e.targetPath,e.hostPath),this.fetchImpl=e.fetchImpl??fetch,this.limiter=a(e.maxInflight??p),this.maxAttempts=Math.max(1,e.maxAttempts??d),this.retryDelayMs=e.retryDelayMs??f,this.maxCachedBodyBytes=Math.max(0,e.maxCachedBodyBytes??h),this.cache=e.cache??new i({mountId:this.mountId,ttlMs:e.cacheTtlMs??m})}assertOpen(e){if(this.closed)throw new n(`EBADF`,`mount closed`,e)}bodyKey(e){return e.replace(/^\/+/,``)}async invalidateCachePrefixes(e){this.cacheGeneration+=1,await this.cache.invalidatePrefixes(e)}async cacheBodyIfCurrent(e,t,n,r){e!==this.cacheGeneration||n.byteLength>this.maxCachedBodyBytes||(await this.cache.putBody(t,n,r),e!==this.cacheGeneration&&await this.cache.invalidateBody(t))}async applyHostInvalidation(e){if(e.length===0){await this.invalidateCachePrefixes([]);return}let t=e.map(e=>e.replace(/^\/+/,``));if(t.some(e=>e.length===0||e===`.`)){await this.invalidateCachePrefixes([]);return}await this.invalidateCachePrefixes(t)}getCache(){return this.cache}url(t,n,r){let i=new URLSearchParams({mount:this.targetPath,path:n.replace(/^\/+/,``)});for(let[e,t]of Object.entries(r??{}))i.set(e,t);return e(`/api/hostfs/${t}?${i.toString()}`)}buildRequest(n,r,i){let a=t(i?.headers);if(this.stableEndpoint&&s.has(n))return{url:e(c),init:{method:`POST`,headers:{...a,"Content-Type":`application/json`},body:JSON.stringify({op:n,mount:this.targetPath,path:r.replace(/^\/+/,``),...i?.extra??{}})}};let{extra:o,...l}=i??{};return{url:this.url(n,r,i?.extra),init:{...l,headers:a}}}async request(e,t,n,r){return this.assertOpen(t),this.limiter.run(()=>this.attemptRequest(e,t,n,r))}async attemptRequest(e,t,r,i){let a=u.has(e)?this.maxAttempts:1,o=0,s;for(;o<a;){o+=1;try{return await this.routeAndConsume(e,t,r,i)}catch(e){if(e instanceof n)throw e;if(s=e,this.closed)break;o<a&&await x(this.retryDelayMs*o)}}throw S(e,t,s,o,a>1)}async routeAndConsume(e,t,n,r){let i=this.stableEndpoint&&s.has(e),a=this.buildRequest(e,t,r),o=await this.fetchImpl(a.url,a.init);if(o.ok||o.status===304)return await n(o);let{error:c,rawCode:l}=await this.errorFromResponse(e,t,o);if(i&&l===null&&(o.status===404||o.status===405))return this.stableEndpoint=!1,await this.routeAndConsume(e,t,n,r);throw c}async errorFromResponse(e,t,r){let i=`EIO`,a=null,o=`hostfs ${e} failed with HTTP ${r.status}`;try{let e=await r.json();typeof e.code==`string`&&(a=e.code,l.has(e.code)&&(i=e.code)),typeof e.message==`string`&&(o=e.message)}catch{}return{error:new n(i,o,t),rawCode:a}}async readDir(e){let t=await this.request(`list`,e,v);if(!Array.isArray(t.entries))return[];let n=[];for(let e of t.entries){let t=e;typeof t.name!=`string`||t.kind!==`file`&&t.kind!==`directory`||n.push({name:t.name,kind:t.kind,...typeof t.size==`number`?{size:t.size}:{},...typeof t.lastModified==`number`?{lastModified:t.lastModified}:{},...w(t)})}return n}async readFile(e){this.assertOpen(e);let t=this.cacheGeneration,r=this.bodyKey(e),i=await this.cache.getBody(r);if(i&&!this.cache.isStale(i.cachedAt))return i.body;let a={};i?.etag&&(a[`If-None-Match`]=i.etag);let s=await this.request(`read`,e,async e=>e.status===304?{kind:`not-modified`}:{kind:`body`,bytes:new Uint8Array(await e.arrayBuffer()),etag:e.headers.get(`etag`)??``},{cache:g,headers:a});if(s.kind===`not-modified`){if(!i)throw new n(`EIO`,`hostfs read got 304 without a cached body`,e);return await this.cacheBodyIfCurrent(t,r,i.body,i.etag),i.body}if(s.bytes.byteLength>o)throw new n(`EFBIG`,`file exceeds the hostfs body cap`,e);return await this.cacheBodyIfCurrent(t,r,s.bytes,s.etag),s.bytes}async readFileRange(e,t,r){if(!Number.isInteger(t)||!Number.isInteger(r)||t<0||r<t)throw new n(`EINVAL`,`invalid byte range ${t}-${r}`,e);if(r===t)return new Uint8Array;if(r-t>o)throw new n(`EFBIG`,`byte range exceeds the hostfs body cap`,e);let{partial:i,body:a}=await this.request(`read`,e,y,{cache:g,headers:{Range:`bytes=${t}-${r-1}`}});return i?new Uint8Array(a):new Uint8Array(a).slice(t,r)}async writeFile(e,t){if(t.byteLength>o)throw new n(`EFBIG`,`body exceeds the hostfs body cap`,e);await this.request(`write`,e,b,{method:`PUT`,headers:{"Content-Type":`application/octet-stream`},body:new Uint8Array(t)});let r=this.bodyKey(e),i=++this.cacheGeneration;t.byteLength<=this.maxCachedBodyBytes?await this.cacheBodyIfCurrent(i,r,new Uint8Array(t),``):await this.cache.invalidateBody(r)}async stat(e){let t=await this.request(`stat`,e,v);return{kind:t.kind===`directory`?`directory`:`file`,size:typeof t.size==`number`?t.size:0,mtime:typeof t.mtime==`number`?t.mtime:0,...w(t)}}async mkdir(e){await this.request(`mkdir`,e,b,{method:`POST`})}async rename(e,t){let n=await this.request(`rename`,e,v,{method:`POST`,extra:{to:t.replace(/^\/+/,``)}}),r=this.bodyKey(e),i=this.bodyKey(t);return await this.invalidateCachePrefixes([r,i]),n.noop===!0?{noop:!0}:{}}async remove(e,t){await this.request(`remove`,e,b,{method:`DELETE`,extra:t?.recursive?{recursive:`1`}:void 0});let n=this.bodyKey(e);t?.recursive?await this.invalidateCachePrefixes([n]):(this.cacheGeneration+=1,await this.cache.invalidateBody(n))}async refresh(e){this.assertOpen(this.targetPath);let t={added:[],removed:[],changed:[],unchanged:0,errors:[]},n=new Set,r=new Set;try{let e=await this.stat(``),t=this.dirIdentity(e,``);t&&r.add(t)}catch{}let i=[``];for(;i.length>0;){let e=i.pop();try{await this.refreshDir(e,t,i,r,n)}catch(n){t.errors.push({path:e||`/`,message:n instanceof Error?n.message:String(n)})}}return await this.purgeAbsentBodies(n,t),e?.bodies&&await this.refreshBodies(t),t}etagsFromListing(e){if(typeof e.size!=`number`||typeof e.lastModified!=`number`||typeof e.ino!=`number`)return;let t=e.size.toString(16),n=e.ino.toString(16),r=`"${t}-${e.lastModified.toString(16)}-${n}"`,i=`"${t}-${Math.floor(Math.max(0,e.lastModified*1e3)).toString(16)}-${n}"`;return r===i?[r]:[r,i]}dirIdentity(e,t){return typeof e.dev==`number`&&typeof e.ino==`number`?`${e.dev}:${e.ino}`:t===``?void 0:`path:${t}`}async markChanged(e,t){this.cacheGeneration+=1,await this.cache.invalidateBody(e),t.changed.push(e)}async classifyFile(e,t,n){let r=await this.cache.getBody(e),i=this.etagsFromListing(t);if(r&&!i?.includes(r.etag)){await this.markChanged(e,n);return}n.unchanged++}async refreshDir(e,t,n,r,i){let a=await this.readDir(e);for(let o of a){let a=e?`${e}/${o.name}`:o.name;if(o.kind===`directory`)try{let e=await this.stat(a),t=this.dirIdentity(e,a);if(t&&r.has(t))continue;t&&r.add(t),n.push(a)}catch(e){t.errors.push({path:a,message:e instanceof Error?e.message:String(e)})}else i.add(a),await this.classifyFile(a,o,t)}}async purgeAbsentBodies(e,t){let n=await this.cache.listBodyPaths(),r=!1;for(let i of n)e.has(i)||(r||=(this.cacheGeneration+=1,!0),await this.cache.invalidateBody(i),t.removed.push(i))}async refreshBodies(e){for(let t of e.changed)try{await this.readFile(t)}catch(n){e.errors.push({path:t,message:n instanceof Error?n.message:String(n)})}}describe(){return{displayName:this.hostPath.split(`/`).filter(Boolean).at(-1)??this.hostPath,source:this.source,extra:`configured via mount table (auto-mounted, live host view)`}}async close(){this.closed=!0}getHostPath(){return this.hostPath}getTargetPath(){return this.targetPath}};export{T as HostFsMountBackend};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-2882d-Vw.js";import{d as t,l as n,u as r}from"./main-ClL1FYNf.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=`ws://localhost:5710/cdp`;function u(e=typeof window<`u`?window.location:null){return e?.host?`${e.protocol===`https:`?`wss:`:`ws:`}//${e.host}/cdp`:l}var d=class{lastConnectOptions=null;supersededHandler=null;supersededNotified=!1;reconnectAttempt=0;reconnectNotBefore=0;bridgeRejection=null;bridgeRejectedHandler=null;bridgeRejectedNotified=!1;classifyConnectFailure=async()=>`transient`;primeConnectOptions(e){this.lastConnectOptions=e?{...e}:{}}setSupersededHandler(e){this.supersededHandler=e}setBridgeRejectedHandler(e){this.bridgeRejectedHandler=e}setConnectFailureClassifier(e){this.classifyConnectFailure=e}async connect(e,t){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);this.lastConnectOptions=t?{...t}:{};try{await e.connect({url:t?.url??u(),timeout:t?.timeout,...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}async ensureLocalConnected(e){if(e.superseded===!0){this.notifySuperseded();return}if(e.state===`disconnected`){this.throwIfReconnectPaused();let t=this.lastConnectOptions;try{await e.connect({url:t?.url??u(),...t?.timeout===void 0?{}:{timeout:t.timeout},...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t??void 0),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}}async ensureConnected(e){if(e.client.superseded===!0){this.notifySuperseded();return}if(e.client.state===`disconnected`){this.throwIfReconnectPaused();let t=e.client;e.restoreLocalAfterRemoteDrop(),e.clearSessionsForTransport(t),e.getClient().state===`disconnected`&&await this.connect(e.getClient(),this.lastConnectOptions??void 0)}}throwIfReconnectPaused(){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);if(Date.now()<this.reconnectNotBefore)throw new r}noteReconnectSuccess(){this.reconnectAttempt=0,this.reconnectNotBefore=0,this.supersededNotified=!1}async noteReconnectFailure(e){if(await this.classifyConnectFailure({url:e?.url??``,...e?.protocols===void 0?{}:{protocols:e.protocols}})===`terminal`){this.bridgeRejection=new n().message,this.notifyBridgeRejected();return}let r=t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectNotBefore=Date.now()+r}notifyBridgeRejected(){if(!this.bridgeRejectedNotified){this.bridgeRejectedNotified=!0;try{this.bridgeRejectedHandler?.()}catch{}}}notifySuperseded(){if(!this.supersededNotified){this.supersededNotified=!0;try{this.supersededHandler?.()}catch{}}}},f=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function p(e,t){if(e?.aborted)throw new f(t)}function m(e,t){return e?{signal:e,error:()=>new f(t)}:void 0}function h(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new f(n));return}let a=()=>{clearTimeout(o),i(new f(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function g(e,t,n){return t?t.aborted?Promise.reject(new f(n)):new Promise((r,i)=>{let a=()=>i(new f(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var _=class{contexts=new Map;for(e,t){let n=`${t}:${e}`,r=this.contexts.get(n);return r||(r=new Map,this.contexts.set(n,r)),r}peek(e,t){return this.contexts.get(`${t}:${e}`)}drop(e){this.contexts.delete(`main:${e}`),this.contexts.delete(`isolated:${e}`)}get size(){return this.contexts.size}},v=e(`har-recorder`),y=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;p(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),p(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),p(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),v.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{v.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{v.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return b(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return v.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return v.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),v.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return v.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function b(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){v.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return v.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var ee=class{maxSessions;onEvict;sessions=new Map;pinnedTargets=new Map;appliedSends=new Map;constructor(e=32,t){this.maxSessions=e,this.onEvict=t}get size(){return this.sessions.size}get(e){return this.sessions.get(e)}has(e){return this.sessions.has(e)}values(){return this.sessions.values()}entries(){return this.sessions.entries()}snapshot(){return[...this.sessions]}remember(e,t){this.pruneAppliedSends(),this.sessions.set(e,t),this.enforceCap(e)}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}take(e){let t=this.sessions.get(e);return t&&this.sessions.delete(e),t}delete(e){this.sessions.delete(e)}clear(){this.sessions.clear()}pin(e){this.pinnedTargets.set(e,(this.pinnedTargets.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.pinnedTargets.get(e)??1)-1;n>0?this.pinnedTargets.set(e,n):this.pinnedTargets.delete(e),this.enforceCap()}}isPinned(e){return this.pinnedTargets.has(e)}enforceCap(e){for(;this.sessions.size>this.maxSessions;){let t;for(let n of this.sessions.keys())if(!(n===e||this.pinnedTargets.has(n))){t=n;break}if(t===void 0)return;let n=this.sessions.get(t);this.sessions.delete(t),n&&this.onEvict?.(t,n)}}noteApplied(e){this.appliedSends.set(e,(this.appliedSends.get(e)??0)+1)}appliedCount(e){return this.appliedSends.get(e)??0}pruneAppliedSends(){if(this.appliedSends.size<=this.maxSessions*4)return;let e=new Set([...this.sessions.values()].map(e=>e.sessionId));for(let t of[...this.appliedSends.keys()])e.has(t)||this.appliedSends.delete(t)}findBySessionId(e){for(let[t,n]of this.sessions)if(n.sessionId===e)return[t,n]}findByTargetOrLocalId(e){let t=[];for(let[n,r]of this.sessions)(n===e||r.remote?.localTargetId===e)&&t.push([n,r]);return t}anyOnTransport(e){for(let t of this.sessions.values())if(t.transport===e)return!0;return!1}anyMatchingRemote(e,t){for(let n of this.sessions.values())if(n.remote?.runtimeId===e&&n.remote.localTargetId===t)return!0;return!1}},x=`(function() {
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-PQx5Jno8.js";import{d as t,l as n,u as r}from"./main-BZuOtug5.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=`ws://localhost:5710/cdp`;function u(e=typeof window<`u`?window.location:null){return e?.host?`${e.protocol===`https:`?`wss:`:`ws:`}//${e.host}/cdp`:l}var d=class{lastConnectOptions=null;supersededHandler=null;supersededNotified=!1;reconnectAttempt=0;reconnectNotBefore=0;bridgeRejection=null;bridgeRejectedHandler=null;bridgeRejectedNotified=!1;classifyConnectFailure=async()=>`transient`;primeConnectOptions(e){this.lastConnectOptions=e?{...e}:{}}setSupersededHandler(e){this.supersededHandler=e}setBridgeRejectedHandler(e){this.bridgeRejectedHandler=e}setConnectFailureClassifier(e){this.classifyConnectFailure=e}async connect(e,t){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);this.lastConnectOptions=t?{...t}:{};try{await e.connect({url:t?.url??u(),timeout:t?.timeout,...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}async ensureLocalConnected(e){if(e.superseded===!0){this.notifySuperseded();return}if(e.state===`disconnected`){this.throwIfReconnectPaused();let t=this.lastConnectOptions;try{await e.connect({url:t?.url??u(),...t?.timeout===void 0?{}:{timeout:t.timeout},...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t??void 0),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}}async ensureConnected(e){if(e.client.superseded===!0){this.notifySuperseded();return}if(e.client.state===`disconnected`){this.throwIfReconnectPaused();let t=e.client;e.restoreLocalAfterRemoteDrop(),e.clearSessionsForTransport(t),e.getClient().state===`disconnected`&&await this.connect(e.getClient(),this.lastConnectOptions??void 0)}}throwIfReconnectPaused(){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);if(Date.now()<this.reconnectNotBefore)throw new r}noteReconnectSuccess(){this.reconnectAttempt=0,this.reconnectNotBefore=0,this.supersededNotified=!1}async noteReconnectFailure(e){if(await this.classifyConnectFailure({url:e?.url??``,...e?.protocols===void 0?{}:{protocols:e.protocols}})===`terminal`){this.bridgeRejection=new n().message,this.notifyBridgeRejected();return}let r=t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectNotBefore=Date.now()+r}notifyBridgeRejected(){if(!this.bridgeRejectedNotified){this.bridgeRejectedNotified=!0;try{this.bridgeRejectedHandler?.()}catch{}}}notifySuperseded(){if(!this.supersededNotified){this.supersededNotified=!0;try{this.supersededHandler?.()}catch{}}}},f=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function p(e,t){if(e?.aborted)throw new f(t)}function m(e,t){return e?{signal:e,error:()=>new f(t)}:void 0}function h(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new f(n));return}let a=()=>{clearTimeout(o),i(new f(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function g(e,t,n){return t?t.aborted?Promise.reject(new f(n)):new Promise((r,i)=>{let a=()=>i(new f(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var _=class{contexts=new Map;for(e,t){let n=`${t}:${e}`,r=this.contexts.get(n);return r||(r=new Map,this.contexts.set(n,r)),r}peek(e,t){return this.contexts.get(`${t}:${e}`)}drop(e){this.contexts.delete(`main:${e}`),this.contexts.delete(`isolated:${e}`)}get size(){return this.contexts.size}},v=e(`har-recorder`),y=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;p(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),p(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),p(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),v.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{v.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{v.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return b(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return v.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return v.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),v.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return v.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function b(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){v.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return v.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var ee=class{maxSessions;onEvict;sessions=new Map;pinnedTargets=new Map;appliedSends=new Map;constructor(e=32,t){this.maxSessions=e,this.onEvict=t}get size(){return this.sessions.size}get(e){return this.sessions.get(e)}has(e){return this.sessions.has(e)}values(){return this.sessions.values()}entries(){return this.sessions.entries()}snapshot(){return[...this.sessions]}remember(e,t){this.pruneAppliedSends(),this.sessions.set(e,t),this.enforceCap(e)}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}take(e){let t=this.sessions.get(e);return t&&this.sessions.delete(e),t}delete(e){this.sessions.delete(e)}clear(){this.sessions.clear()}pin(e){this.pinnedTargets.set(e,(this.pinnedTargets.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.pinnedTargets.get(e)??1)-1;n>0?this.pinnedTargets.set(e,n):this.pinnedTargets.delete(e),this.enforceCap()}}isPinned(e){return this.pinnedTargets.has(e)}enforceCap(e){for(;this.sessions.size>this.maxSessions;){let t;for(let n of this.sessions.keys())if(!(n===e||this.pinnedTargets.has(n))){t=n;break}if(t===void 0)return;let n=this.sessions.get(t);this.sessions.delete(t),n&&this.onEvict?.(t,n)}}noteApplied(e){this.appliedSends.set(e,(this.appliedSends.get(e)??0)+1)}appliedCount(e){return this.appliedSends.get(e)??0}pruneAppliedSends(){if(this.appliedSends.size<=this.maxSessions*4)return;let e=new Set([...this.sessions.values()].map(e=>e.sessionId));for(let t of[...this.appliedSends.keys()])e.has(t)||this.appliedSends.delete(t)}findBySessionId(e){for(let[t,n]of this.sessions)if(n.sessionId===e)return[t,n]}findByTargetOrLocalId(e){let t=[];for(let[n,r]of this.sessions)(n===e||r.remote?.localTargetId===e)&&t.push([n,r]);return t}anyOnTransport(e){for(let t of this.sessions.values())if(t.transport===e)return!0;return!1}anyMatchingRemote(e,t){for(let n of this.sessions.values())if(n.remote?.runtimeId===e&&n.remote.localTargetId===t)return!0;return!1}},x=`(function() {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
// ===== DOM Utilities =====
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./account-store-
|
|
1
|
+
import{a as e}from"./account-store-4_OlsPso.js";import{a as t}from"./diagnostics-Cag7MsZI.js";import{a as n}from"./compat-nGhSz-U1.js";import{r,s as i}from"./legacy-api-aliases--xyLjPgC.js";import{n as a}from"./pi-transcript-context-4pjVPiVC.js";const o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`;let d=[];const f=[{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 p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.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 g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const y=(e,n,r={})=>{let i=t();return b(i,e,n,r).catch(v),i};async function b(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const x=(e,n,r)=>{let i=t();return S(i,e,n,r).catch(v),i};async function S(e,t,n,r){try{let o={...t,baseUrl:s,api:c},l=i(o,a(n),r);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async t=>{let n=t??e(o)??``;if(n)try{await g(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){n({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-Cag7MsZI.js";import{a as t}from"./compat-BAGLwgqY.js";import{r as n,s as r}from"./legacy-api-aliases-BjgG1CsY.js";import{h as i}from"./account-store-
|
|
1
|
+
import{a as e}from"./diagnostics-Cag7MsZI.js";import{a as t}from"./compat-BAGLwgqY.js";import{r as n,s as r}from"./legacy-api-aliases-BjgG1CsY.js";import{h as i}from"./account-store-DpncAEmL.js";import{n as a}from"./pi-transcript-context-miZCMig3.js";var o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`,d=[],f=[{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 p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.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 g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var y=(t,n,r={})=>{let i=e();return b(i,t,n,r).catch(v),i};async function b(e,t,r,i){try{let o={...t,baseUrl:s,api:c},l=n(o,a(r),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var x=(t,n,r)=>{let i=e();return S(i,t,n,r).catch(v),i};async function S(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async e=>{let t=e??i(o)??``;if(t)try{await g(t)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){t({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-B3Tvy3z6.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";import{t as i}from"./speech-assets-bridge-CFYafE89.js";import{o as a}from"./transformers-env-JPy_vkYN.js";import{i as o,t as s}from"./whisper-session-DrkMt0nL.js";var c=e(`speech:composer`),l=5e3,u=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})}),d=class{#e;#t;#n;#r;#i;#a=null;#o=!1;#s={engine:`builtin`,state:`idle`};#c=a();#l=new Set;#u=null;constructor(e={}){this.#e=e.builtin??t(),this.#t=e.loadWhisper??o,this.#n=e.startSession??s,this.#r=e.getPermissionSurface??f,this.#i=e.ensureAssets??v}permission(){return this.#e.permission()}async requestPermission(){let e=this.#r();if(e)try{let t=await e.request(`microphone`);return t?(this.#p(t.stream),!0):!1}catch(e){return c.warn(`permission surface microphone request failed`,e),!1}return this.#e.requestPermission()}microphones(){return this.#e.microphones()}status(){return this.#s}onStatus(e){return this.#l.add(e),e(this.#s),()=>this.#l.delete(e)}warmup(){this.#o||(this.#o=!0,this.#c=a(),this.#_({engine:`builtin`,state:`downloading`}),this.#d().then(e=>{this.#a=e,this.#_({engine:`enhanced`,state:`ready`})},e=>{this.#o=!1,this.#_({engine:`builtin`,state:`unavailable`,message:m(e)}),c.warn(`enhanced speech engine unavailable`,e)}))}async#d(){let e=null;try{await this.#i(e=>this.#h(e))}catch(t){e=t,c.warn(`speech asset staging failed; trying already-present assets`,t)}try{return await this.#t(e=>this.#g(e))}catch(t){throw e??t}}async start(e){let t=this.#a;if(t){let n=null;try{return n=await this.#f(e.deviceId),await this.#n(t,{deviceId:e.deviceId,lang:e.lang,onPartial:e.onPartial,onError:e.onError,stream:n??void 0})}catch(e){if(n)for(let e of n.getTracks())e.stop();c.warn(`whisper session failed to start; falling back to builtin`,e)}}return this.#e.start(e)}async#f(e){let t=e&&e!=="default"?e:void 0,n=this.#m();if(n){if(!t&&p(n))return n;for(let e of n.getTracks())e.stop()}let r=this.#r();if(!r)return null;let i={audio:!t||{deviceId:{exact:t}}},a=await u(r.request(`microphone`,{constraints:i}),l,`microphone capture`);if(!a)throw Error(`microphone permission denied`);return a.stream}#p(e){if(this.#u&&this.#u!==e)for(let e of this.#u.getTracks())e.stop();this.#u=e}#m(){let e=this.#u;return this.#u=null,e}get enhancedReady(){return this.#a!==null}#h(e){if(this.#s.state!==`downloading`)return;(e.bytesTotal!=null||e.bytesLoaded!=null)&&this.#c.update(e.asset,e.bytesLoaded??0,e.bytesTotal??0);let t=this.#c.snapshot();t.total<=0||this.#_({engine:`builtin`,state:`downloading`,download:{loaded:t.loaded,total:t.total,etaSeconds:t.etaSeconds}})}#g(e){this.#s.state===`downloading`&&this.#_({engine:`builtin`,state:`downloading`,download:{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}})}#_(e){this.#s=e;for(let t of this.#l)t(e)}};function f(){let e=r();return e?{async request(t,n){let r=await e.request(t,n);return r?.kind===`microphone`?{kind:`microphone`,stream:r.stream}:null}}:null}function p(e){let t=e.getTracks();return t.length>0&&t.some(e=>e.readyState!==`ended`)}function m(e){return`Enhanced speech unavailable: ${e instanceof Error?e.message:String(e)}`}var h=n,g;function _(e){g=e}function v(e){return h()?Promise.resolve():i({instanceId:g,onProgress:e})}var y=null;function b(){return y??=new d,y}export{b as getComposerSpeech,_ as setComposerSpeechInstanceId};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{R as e,d as t,u as n,w as r}from"./account-store-
|
|
1
|
+
import{R as e,d as t,u as n,w as r}from"./account-store-DpncAEmL.js";import{a as i}from"./main-BZuOtug5.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=t().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(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,t.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.`,t.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,t.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let t=n().filter(e=>e.providerId!==o);if(t.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 t){let t=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=t.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),n.appendChild(a)}u.appendChild(n)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=t.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),t.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{S as t}from"./record-COQlaFL1.js";import{d as n}from"./kernel-worker-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{S as t}from"./record-COQlaFL1.js";import{d as n}from"./kernel-worker-BtudmXkG.js";const r=e(`directed-approval`);function i(e,n){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(!n.scoops.has(r))return a(`the requesting unit is not registered`);let i=n.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...n.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?t(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`},s={decision:`deny`,reason:`unavailable`};async function c(e,t){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[n];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),s;let{approverRunnerFor:c}=await import(`./approver-agent-CivzfuZ7.js`),l=t.getSharedFs(),u=await c({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!l)return null;try{let t=await l.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let n=t.scoops.get(e);return n?{workspace:t.workspaceFor(n),folder:n.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:u.decision,reason:u.reason}),u.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let n=i(a,t);return n.ok?t.enqueue(n.requesterJid,e,{approver:n.approver}):s}return t.approveAsUser(e)}export{c as runDirectedApproval};
|
|
@@ -6,8 +6,7 @@ import{i as e,n as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{t as r}f
|
|
|
6
6
|
`;var cd=class extends u.default{entries=[];toString(){return sd+this.entries.map(e=>`${e.op.padEnd(od)} ${e.path}`).join(`
|
|
7
7
|
`)}fromString(e){if(!e.startsWith(sd))throw T(C(`EINVAL`,`Invalid journal contents, refusing to parse`));for(let t of e.split(`
|
|
8
8
|
`)){if(t.startsWith(`#`))continue;let[e,n]=t.split(/\s+/);if(!ad(e)){E(`Unknown operation in journal (skipping): `+e);continue}this.entries.push({op:e,path:n})}return this}add(e,t){this.entries.push({op:e,path:t}),this.emit(`update`,e,t),this.emit(e,t)}has(e,t){let n=JSON.stringify({op:e,path:t});for(let e of this.entries)if(JSON.stringify(e)===n)return!0;return!1}delete(e,t){this.entries=this.entries.filter(n=>n.op!=e||n.path!=t)}isDeleted(e){let t=!1;for(let n of this.entries)n.path==e&&n.op===`delete`&&(t=!0);return t}},ld=class extends xr{readable;writable;journal;async ready(){await this.readable.ready(),await this.writable.ready()}readySync(){this.readable.readySync(),this.writable.readySync()}constructor(e,t,n=new cd){if(super(1651862636,e.name),this.readable=e,this.writable=t,this.journal=n,t.attributes.has(`no_write`))throw T(C(`EINVAL`,`Writable file system can not be written to`));e.attributes.set(`no_write`)}isDeleted(e){return this.journal.isDeleted(e)}inos=new Map;_nextIno=1;renameInos(e,t){let n=[];for(let[r,i]of this.inos)r!=e&&!r.startsWith(e+`/`)||n.push({path:r,add:t+r.slice(e.length),ino:i});for(let e of n)this.inos.delete(e.path),this.inos.set(e.add,e.ino)}remapIno(e,t){let n=this.inos.get(e);return n===void 0&&(n=this._nextIno++,this.inos.set(e,n)),Object.assign(p(t,Zn),{attributes:t.attributes,ino:n})}usage(){return this.readable.usage()}async sync(){await this.writable.sync()}syncSync(){this.writable.syncSync()}async read(e,t,n,r){return await this.writable.exists(e)?await this.writable.read(e,t,n,r):await this.readable.read(e,t,n,r)}readSync(e,t,n,r){return this.writable.existsSync(e)?this.writable.readSync(e,t,n,r):this.readable.readSync(e,t,n,r)}async write(e,t,n){return await this.copyForWrite(e),await this.writable.write(e,t,n)}writeSync(e,t,n){return this.copyForWriteSync(e),this.writable.writeSync(e,t,n)}async rename(e,t){await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}await this.readable.exists(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}renameSync(e,t){this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this.isDeleted(e))throw C(`ENOENT`)}this.readable.existsSync(e)&&this.journal.add(`delete`,e),this.journal.delete(`delete`,t),this.renameInos(e,t)}async stat(e){try{return this.remapIno(e,await this.writable.stat(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,await this.readable.stat(e))}}statSync(e){try{return this.remapIno(e,this.writable.statSync(e))}catch{if(this.isDeleted(e))throw C(`ENOENT`);return this.remapIno(e,this.readable.statSync(e))}}async touch(e,t){await this.copyForWrite(e,t.size),await this.writable.touch(e,t)}touchSync(e,t){this.copyForWriteSync(e,t.size),this.writable.touchSync(e,t)}async createFile(e,t){await this.createParentDirectories(e);let n=await this.writable.createFile(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}createFileSync(e,t){this.createParentDirectoriesSync(e);let n=this.writable.createFileSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async link(e,t){await this.copyForWrite(e),await this.writable.link(e,t),this.journal.delete(`delete`,t)}linkSync(e,t){this.copyForWriteSync(e),this.writable.linkSync(e,t),this.journal.delete(`delete`,t)}async unlink(e){if(!await this.exists(e))throw C(`ENOENT`);await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}unlinkSync(e){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.journal.add(`delete`,e),this.inos.delete(e)}async rmdir(e){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(e)&&await this.writable.rmdir(e),!await this.exists(e)){this.inos.delete(e);return}if((await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}rmdirSync(e){if(!this.existsSync(e))throw C(`ENOENT`);if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),!this.existsSync(e)){this.inos.delete(e);return}if(this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.journal.add(`delete`,e),this.inos.delete(e)}async mkdir(e,t){if(await this.exists(e))throw C(`EEXIST`);await this.createParentDirectories(e);let n=await this.writable.mkdir(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}mkdirSync(e,t){if(this.existsSync(e))throw C(`EEXIST`);this.createParentDirectoriesSync(e);let n=this.writable.mkdirSync(e,t);return this.journal.delete(`delete`,e),this.remapIno(e,n)}async readdir(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=await this.readable.stat(e).catch(()=>null),n=await this.writable.stat(e).catch(()=>null);if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?await this.readable.readdir(e):[];if(n&&R(n))for(let t of await this.writable.readdir(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}readdirSync(e){if(this.isDeleted(e))throw C(`ENOENT`);let t=null,n=null;try{t=this.readable.statSync(e)}catch{}try{n=this.writable.statSync(e)}catch{}if(!t&&!n)throw C(`ENOENT`);let r=t&&R(t)?this.readable.readdirSync(e):[];if(n&&R(n))for(let t of this.writable.readdirSync(e))r.includes(t)||r.push(t);return r.filter(t=>!this.isDeleted(M(e,t)))}streamRead(e,t){return this.writable.existsSync(e)?this.writable.streamRead(e,t):this.readable.streamRead(e,t)}streamWrite(e,t){return this.copyForWriteSync(e),this.writable.streamWrite(e,t)}createParentDirectoriesSync(e){let t=[],n=te(C(`EDEADLK`));for(let n=N(e);!this.writable.existsSync(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())this.writable.mkdirSync(e,this.statSync(e))}async createParentDirectories(e){let t=[],n=te(C(`EDEADLK`,e));for(let n=N(e);!await this.writable.exists(n);n=N(n))t.push(n);n(),t.length&&Ee(`COW: Creating parent directories: `+t.join(`, `));for(let e of t.reverse())await this.writable.mkdir(e,await this.stat(e))}copyForWriteSync(e,t){if(!this.existsSync(e))throw C(`ENOENT`);this.writable.existsSync(N(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e,t)}async copyForWrite(e,t){if(!await this.exists(e))throw C(`ENOENT`);if(await this.writable.exists(N(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e,t)}copyToWritableSync(e,t){let n=this.readable.statSync(e);if(R(n)){this.writable.mkdirSync(e,n);for(let t of this.readable.readdirSync(e))this.copyToWritableSync(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&this.readable.readSync(e,i,0,r),this.writable.createFileSync(e,n),this.writable.touchSync(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&this.writable.writeSync(e,i,0)}async copyToWritable(e,t){let n=await this.readable.stat(e);if(R(n)){await this.writable.mkdir(e,n);for(let t of await this.readable.readdir(e))await this.copyToWritable(M(e,t));return}let r=Math.min(n.size,t??n.size),i=new Uint8Array(r);r&&await this.readable.read(e,i,0,r),await this.writable.createFile(e,n),await this.writable.touch(e,{...p(n,Zn),attributes:n.attributes,size:r}),r&&await this.writable.write(e,i,0)}};const ud={name:`CopyOnWrite`,options:{writable:{type:`object`,required:!0},readable:{type:`object`,required:!0},journal:{type:`object`,required:!1}},async create(e){return new ld(await qu(e.readable),await qu(e.writable),e.journal)}},dd=new Map;async function fd(e,t={},n=!1){let r=await fetch(e,t).catch(e=>{throw{tag:`fetch`,message:e.message}});if(!r.ok)throw{tag:`status`,response:r};let i=await r.arrayBuffer().catch(e=>{if(!n)throw{tag:`buffer`,response:r,message:e.message}});return{response:r,data:i?new Uint8Array(i):void 0}}async function pd(e,t,n={}){let r=new Request(e,n);if(typeof t.start!=`number`||typeof t.end!=`number`){let{data:r}=await fd(e,n);return new s(e,r.byteLength,t,dd).add(r,0),r}if(typeof t.size!=`number`){t.warn?.(e+`: Size not provided, an additional HEAD request is being made`);let{headers:n}=await fetch(r,{method:`HEAD`}),i=parseInt(n.get(`Content-Length`)??``);if(typeof i!=`number`)throw{tag:`size`,message:`Response is missing content-length header and no size was provided`};t.size=i}let{size:i,start:a,end:o}=t,c=dd.get(e)??new s(e,i,t,dd);r.headers.set(`If-Range`,new Date().toUTCString());for(let{start:n,end:l}of c.missing(a,o)){let{data:u,response:d}=await fd(r,{headers:{Range:`bytes=${n}-${l}`}});if(d.status==206){c.add(u,n);continue}return t.warn?.(e+`: Remote does not support range requests with bytes. Falling back to full data.`),new s(e,i,t,dd).add(u,0),u.subarray(a,o)}c.collect();let l=c.regionAt(a);return l.data.subarray(a-l.offset,o-l.offset)}function md(e,t){let n=dd.get(e);if(!n)return t.size?{data:new Uint8Array,missing:[{start:0,end:t.size??0}]}:(t.warn?.(e+`: Size not provided and cache is empty, can not determine missing range`),{data:void 0,missing:[]});let{start:r=0,end:i=n.size}=t,a=new Uint8Array(i-r);for(let e of n.regions)if(!(e.offset+e.data.byteLength<=r)){if(e.offset>=i)break;for(let t of e.ranges){if(t.end<=r)continue;if(t.start>=i)break;let n=Math.max(t.start,r),o=Math.min(t.end,i);n>=o||a.set(e.data.subarray(n-e.offset,o-e.offset),n-r)}}return{data:a,missing:n.missing(r,i)}}async function hd(e,t,n,r={}){dd.has(e)||new s(e,n.size??t.byteLength,n,dd);let i=dd.get(e),{offset:a=0,method:o=`POST`}=n;if(!n.cacheOnly){let n=new Headers(r.headers||{});if(n.get(`Content-Type`)||n.set(`Content-Type`,`application/octet-stream`),!n.get(`Content-Range`)&&(a!==0||t.byteLength!==i.size)){let e=a,r=a+t.byteLength-1,o=Math.max(i.size,r+1);n.set(`Content-Range`,`bytes ${e}-${r}/${o}`)}await fd(new Request(e,{...r,method:o,headers:n,body:t.buffer instanceof ArrayBuffer?t:Uint8Array.from(t)}),{},!0)}i.add(t,a)}async function gd(e,t={},n={}){t.cacheOnly||await fd(new Request(e,n),{method:`DELETE`},!0),dd.delete(e)}var _d=class extends xr{index;constructor(e,t,n=new lr){super(e,t),this.index=n}usage(){return this.index.usage()}pathsForRename(e,t){if(!this.index.has(e))throw C(`ENOENT`);if((N(t)+`/`).startsWith(e+`/`))throw C(`EBUSY`);let n=[];for(let[r,i]of this.index.entries()){let a=Pn(e,r);if(a.startsWith(`..`))continue;let o=M(t,a);o.endsWith(`/`)&&(o=o.slice(0,-1)),n.push({from:r,to:o,inode:i})}return n.sort((e,t)=>t.from.length-e.from.length),n}async rename(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);await this.read(e,n,0,i.size),r.set(t,n),this.index.delete(e),await this.remove(e),this.index.has(t)&&await this.remove(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?await this._mkdir?.(e,t):await this.write(e,n,0)}}renameSync(e,t){if(e==t)return;let n=this.pathsForRename(e,t),r=new Map;for(let{from:e,to:t,inode:i}of n){let n=new Uint8Array(i.size);this.readSync(e,n,0,i.size),r.set(t,n),this.index.delete(e),this.removeSync(e),this.index.has(t)&&this.removeSync(t)}n.reverse();for(let{to:e,inode:t}of n){let n=r.get(e);this.index.set(e,t),(t.mode&61440)==16384?this._mkdirSync?.(e,t):this.writeSync(e,n,0)}}async stat(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}statSync(e){let t=this.index.get(e);if(!t)throw C(`ENOENT`);return new L(t)}async touch(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}touchSync(e,t){(this.index.get(e)??_(C(`ENOENT`))).update(t)}_remove(e,t){let n=this.index.get(e);if(!n)throw C(`ENOENT`);let r=(n.mode&O)==mt;if(!r&&!t)throw C(`ENOTDIR`);if(r&&t)throw C(`EISDIR`);r||this.index.delete(e)}async unlink(e){this._remove(e,!0),await this.remove(e)}unlinkSync(e){this._remove(e,!0),this.removeSync(e)}async rmdir(e){if(this._remove(e,!1),(await this.readdir(e)).length)throw C(`ENOTEMPTY`);this.index.delete(e),await this.remove(e)}rmdirSync(e){if(this._remove(e,!1),this.readdirSync(e).length)throw C(`ENOTEMPTY`);this.index.delete(e),this.removeSync(e)}create(e,t){if(this.index.has(e))throw C(`EEXIST`);let n=this.index.get(N(e));if(!n)throw C(`ENOENT`);let r=this.index._alloc(),i=new L({ino:r,data:r+1,mode:t.mode,size:0,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid,nlink:1});return this.index.set(e,i),i}async createFile(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return await this._create?.(e,n),n}catch(t){throw this.index.delete(e),t}}createFileSync(e,t){let n=this.create(e,{...t,mode:t.mode|ft});try{return this._createSync?.(e,n),n}catch(t){throw this.index.delete(e),t}}async mkdir(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return await this._mkdir?.(e,t),n}mkdirSync(e,t){t={...t,mode:t.mode|mt};let n=this.create(e,t);return this._mkdirSync?.(e,t),n}link(){throw C(`ENOSYS`)}linkSync(){throw C(`ENOSYS`)}async readdir(e){return Object.keys(this.index.directoryEntries(e))}readdirSync(e){return Object.keys(this.index.directoryEntries(e))}async sync(){}syncSync(){}};function vd(e){if(!(`tag`in e))throw T(C(`EIO`,e.stack));switch(e.tag){case`fetch`:throw T(C(`EREMOTEIO`,e.message));case`status`:throw T(C(e.response.status>500?`EREMOTEIO`:`EIO`,`Response status code is `+e.response.status));case`size`:throw T(C(`EBADE`,e.message));case`buffer`:throw T(C(`EIO`,`Failed to decode buffer`))}}var yd=class extends _d{baseUrl;requestInit;remoteWrite;_asyncDone=Promise.resolve();_async(e){this._asyncDone=this._asyncDone.then(()=>e).catch(e=>Ee(`Async operation failed: `+(e.message??e)))}constructor(e,t,n={},r){super(544106099,`nfs`,e),this.baseUrl=t,this.requestInit=n,this.remoteWrite=r}resize(e,t,n){if(R(t)||t.size==n)return;let r=this.baseUrl+e,i=dd.get(r)??new s(r,n,{},dd);if(i.size=t.size,t.size<n)return;let a=new Uint8Array(t.size-n);if(i.add(a,n),this.remoteWrite)return hd(r,a,{offset:n,warn:E},this.requestInit).catch(vd)}async _create(e,t){await hd(this.baseUrl+e,new Uint8Array(t.size),{warn:E,cacheOnly:!this.remoteWrite,method:`PUT`},this.requestInit).catch(vd)}_createSync(e,t){this._async(this._create(e,t))}async touch(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t),await this.resize(e,n,r)}touchSync(e,t){let n=this.index.get(e)??_(C(`ENOENT`)),r=n.size;n.update(t);let i=this.resize(e,n,r);i&&this._async(i)}async remove(e){await gd(this.baseUrl+e,{warn:E,cacheOnly:!this.remoteWrite},this.requestInit)}removeSync(e){this._async(this.remove(e))}async read(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let a=await pd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit).catch(vd).catch(()=>void 0);if(!a)throw C(`ENODATA`);t.set(a)}readSync(e,t,n=0,r){let i=this.index.get(e);if(!i)throw C(`ENOENT`);if(r-n==0)return;let{data:a,missing:o}=md(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E});if(!a)throw C(`ENODATA`);if(o.length)throw this._async(pd(this.baseUrl+e,{start:n,end:r,size:i.size,warn:E},this.requestInit)),C(`EAGAIN`);t.set(a)}async write(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),await hd(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(vd)}writeSync(e,t,n){let r=this.index.get(e);if(!r)throw C(`ENOENT`);r.update({mtimeMs:Date.now(),size:Math.max(r.size,t.byteLength+n)}),this._async(hd(this.baseUrl+e,t,{offset:n,warn:E,cacheOnly:!this.remoteWrite},this.requestInit).catch(vd))}};const bd={name:`Fetch`,options:{index:{type:[`string`,`object`],required:!1},baseUrl:{type:`string`,required:!0},requestInit:{type:`object`,required:!1},remoteWrite:{type:`boolean`,required:!1}},isAvailable(){return typeof globalThis.fetch==`function`},async create(e){let t=new URL(e.baseUrl);t.pathname=j(t.pathname);let n=t.toString();n.at(-1)==`/`&&(n=n.slice(0,-1)),e.index??=`index.json`;let r=new lr;if(typeof e.index!=`string`)r.fromJSON(e.index);else{let t=await pd(e.index,{warn:E},e.requestInit).catch(vd);r.fromJSON(JSON.parse(ce(t)))}let i=new yd(r,n,e.requestInit,e.remoteWrite);if(e.disableAsyncCache)return i;for(let[t,i]of r)i.mode&32768&&await pd(n+t,{warn:E},e.requestInit).catch(vd);return i}};var xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Sd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Cd=class extends xr{nodeFS;prefix;constructor(e,t){super(1852793957,`nodefs`),this.nodeFS=e,this.prefix=t}usage(){let e=this.nodeFS.statfsSync(this.prefix);return{totalSpace:e.bsize*e.blocks,freeSpace:e.bsize*e.bfree}}path(e){return this.prefix+e}async rename(e,t){await this.nodeFS.promises.rename(this.path(e),this.path(t))}renameSync(e,t){this.nodeFS.renameSync(this.path(e),this.path(t))}async stat(e){return await this.nodeFS.promises.stat(this.path(e))}statSync(e){return this.nodeFS.statSync(this.path(e))}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=xd(n,await this.nodeFS.promises.open(this.path(e),`r`),!0);await r.chmod(t.mode);try{await r.chown(t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}catch(e){n.error=e,n.hasError=!0}finally{let e=Sd(n);e&&await e}}touchSync(e,t){this.nodeFS.chmodSync(this.path(e),t.mode);try{this.nodeFS.chownSync(this.path(e),t.uid,t.gid)}catch(e){T(`Failed to chown passthrough file: `+e.message)}}async unlink(e){await this.nodeFS.promises.unlink(this.path(e))}unlinkSync(e){this.nodeFS.unlinkSync(this.path(e))}async mkdir(e,t){return await this.nodeFS.promises.mkdir(this.path(e),t),await this.nodeFS.promises.stat(this.path(e))}mkdirSync(e,t){return this.nodeFS.mkdirSync(this.path(e),t),this.nodeFS.statSync(this.path(e))}async readdir(e){return await this.nodeFS.promises.readdir(this.path(e))}readdirSync(e){return this.nodeFS.readdirSync(this.path(e))}async createFile(e,t){if(R(t))await this.nodeFS.promises.mkdir(this.path(e),{mode:t.mode});else{let t={stack:[],error:void 0,hasError:!1};try{await xd(t,await this.nodeFS.promises.open(this.path(e),`wx`),!0).close()}catch(e){t.error=e,t.hasError=!0}finally{let e=Sd(t);e&&await e}}return await this.nodeFS.promises.stat(this.path(e))}createFileSync(e,t){if(R(t))this.nodeFS.mkdirSync(this.path(e),{mode:t.mode});else{let t=this.nodeFS.openSync(this.path(e),`wx`);this.nodeFS.closeSync(t)}return this.nodeFS.statSync(this.path(e))}async rmdir(e){await this.nodeFS.promises.rmdir(this.path(e))}rmdirSync(e){this.nodeFS.rmdirSync(this.path(e))}async sync(){E(`Sync on passthrough is unnecessary`)}syncSync(){E(`Sync on passthrough is unnecessary`)}async link(e,t){await this.nodeFS.promises.link(this.path(e),this.path(t))}linkSync(e,t){this.nodeFS.linkSync(this.path(e),this.path(t))}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{await xd(i,await this.nodeFS.promises.open(this.path(e),`r`),!0).read({buffer:t,offset:n,length:r-n})}catch(e){i.error=e,i.hasError=!0}finally{let e=Sd(i);e&&await e}}readSync(e,t,n,r){let i=this.nodeFS.openSync(this.path(e),`r`);try{this.nodeFS.readSync(i,t,{offset:n,length:r-n})}finally{this.nodeFS.closeSync(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{await xd(r,await this.nodeFS.promises.open(this.path(e),`w`),!0).write(t,n)}catch(e){r.error=e,r.hasError=!0}finally{let e=Sd(r);e&&await e}}writeSync(e,t,n){let r=this.nodeFS.openSync(this.path(e),`w`);try{this.nodeFS.writeSync(r,t,n)}finally{this.nodeFS.closeSync(r)}}};const wd={name:`Passthrough`,options:{fs:{type:`object`,required:!0},prefix:{type:`string`,required:!0}},create({fs:e,prefix:t}){return new Cd(e,t)}};var Td=t({attach:()=>Rd,catchMessages:()=>Bd,decodeMessage:()=>Md,detach:()=>zd,encodeMessage:()=>jd,from:()=>Ad,fromNode:()=>Od,fromWeb:()=>Dd,fromWebSocket:()=>kd,handleRequest:()=>Vd,handleResponse:()=>Ld,isMessage:()=>Nd,isPort:()=>Ed,request:()=>Id});function Ed(e){return typeof e==`object`&&!!e&&`channel`in e&&`send`in e&&`addHandler`in e&&`removeHandler`in e}function Dd(e){let t=new Map;return{channel:e,send:e.postMessage.bind(e),addHandler(n){let r=e=>n(e.data);t.set(n,r),e.addEventListener(`message`,r)},removeHandler(n){e.removeEventListener(`message`,t.get(n))}}}function Od(e){return{channel:e,send:e.postMessage.bind(e),addHandler:e.on.bind(e,`message`),removeHandler:e.off.bind(e,`message`)}}function kd(e){return{channel:e,send(t){e.send(jd(t))},addHandler(t){e.addEventListener(`message`,e=>{t(Md(e.data))})},removeHandler(t){e.removeEventListener(`message`,e=>{t(Md(e.data))})}}}function Ad(e){if(Ed(e))return e;if(e instanceof WebSocket)return kd(e);if(`on`in e)return Od(e);if(`addEventListener`in e)return Dd(e);throw T(C(`EINVAL`,`Invalid port type`))}function jd(e){return`Z1${JSON.stringify(e,(e,t)=>{if(e!=`_zenfs`)return t instanceof Uint8Array?`$`+t.toBase64():t})}`}function Md(e){if(!e.startsWith(`Z`))return{};e=e.slice(1);let t=parseInt(e);if(isNaN(t))return E(`Ignoring encoded message with missing version`),{};if(e=e.slice(t.toString().length),!h(e))return E(`Ignoring encoded message with invalid JSON`),{};if(t!=1)throw T(C(`EPROTONOSUPPORT`,`Version mismatch in RPC message encoding (got ${t}, expected 1)`));return{...JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`$`)?Uint8Array.fromBase64(t.slice(1)):t),_zenfs:!0}}function Nd(e){return typeof e==`object`&&!!e&&`_zenfs`in e&&!!e._zenfs}function Pd(e){let t=Fd.get(e);t&&(t.timeout&&(clearTimeout(t.timeout),typeof t.timeout==`object`&&t.timeout.unref()),Fd.delete(e))}const Fd=new Map;function Id(e,{port:t,timeout:n=1e3,fs:r}){let i=`
|
|
9
|
-
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Pd(c),o(e)},n)};return Fd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Ld(e){if(!Nd(e))return;if(!Fd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Fd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Pd(e.id),n(t);return}Pd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Rd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function zd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Bd(e){let t=[],n=t.push.bind(t);return Rd(e,n),async function(r){zd(e,n);for(let n of t)await Vd(e,r,`data`in n?n.data:n)}}async function Vd(e,t,n){if(!Nd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}const Hd=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],Ud=1048576;function Wd(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_replay(e,...t){return(this._zenfsOriginals?.[e]??this[e].bind(this))(...t)}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Er&&this instanceof Er){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>Ud)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=Ud||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this._replay(`rename`,e,t))}statSync(e){return this.checkSync(),this._sync.statSync(e)}touchSync(e,t){this.checkSync(),this._sync.touchSync(e,t),this._async(()=>this._replay(`touch`,e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this._replay(`createFile`,e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this._replay(`unlink`,e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this._replay(`rmdir`,e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this._replay(`mkdir`,e,t)),n}readdirSync(e){return this.checkSync(),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(),this._sync.linkSync(e,t),this._async(()=>this._replay(`link`,e,t))}async sync(){!this.attributes.has(`no_async_preload`)&&this._sync&&this._sync.syncSync(),await this._promise.catch(()=>{})}syncSync(){this.checkSync(),this._sync.syncSync()}existsSync(e){return this.checkSync(),this._sync.existsSync(e)}readSync(e,t,n,r){if(this.checkSync(),this._metaOnly?.has(e))throw C(`EIO`,`sync mirror has no payload for ${e}`);this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._prepareMetaWrite(e,n),this._sync.writeSync(e,t,n),this._async(()=>this._replay(`write`,e,t,n))}ioctlSync(e,t,...n){return this.checkSync(),this._sync.ioctlSync(e,t,...n)}streamWrite(e,t){this.checkSync();let n=this._sync.streamWrite(e,t).getWriter(),r=super.streamWrite(e,t).getWriter();return new WritableStream({async write(e,t){await Promise.all([n.write(e),r.write(e)]).catch(t.error.bind(t))},async close(){await Promise.all([n.close(),r.close()])},async abort(e){await Promise.all([n.abort(e),r.abort(e)])}})}_crossCopySemaphore;async crossCopy(e,t={failure:null}){try{if(t.failure)throw t.failure.error;this.checkSync();let n=await this.stat(e);if(t.failure)throw t.failure.error;if(!R(n)){if(n.size>Ud){this._metaOnly??=new Set,this._metaOnly.add(e),this._sync.createFileSync(e,n),this._sync.touchSync(e,{...n,metaOnly:!0});return}let r=await this._crossCopySemaphore?.get()||{[Symbol.dispose](){}};try{if(t.failure)throw t.failure.error;this._sync.createFileSync(e,n);let r=new Uint8Array(n.size);await this.read(e,r,0,n.size),this._sync.writeSync(e,r,0),this._sync.touchSync(e,n)}catch(e){throw t.failure??={error:e},t.failure.error}finally{r[Symbol.dispose]()}return}e!==`/`&&(this._sync.mkdirSync(e,n),this._sync.touchSync(e,n));let r=[];for(let n of await this.readdir(e)){if(t.failure)break;r.push(this.crossCopy(M(e,n),t))}if(await Promise.allSettled(r),t.failure)throw t.failure.error}catch(e){throw t.failure??={error:e},t.failure.error}}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=Hd.filter(t=>!e.includes(t)),n=e=>`zenfsMirror_${e}`,r=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`)||t.includes(`${e}Sync `)||t.includes(`${e}Sync@`),i=e=>{let t=(e?.stack??``).split(`
|
|
10
|
-
`).filter(Boolean);return t.slice(1).some(e=>/^\s*at /.test(e))&&!/^\s*at /.test(t[0]??``)&&t.shift(),t},a=(e,t)=>t.includes(n(e))||t.includes(`<computed> [as ${e}]`),o=(e,t)=>{let n=i(t);return n.slice(n.findIndex(t=>a(e,t))+1)},s=e=>o(e,Error()).some(t=>r(e,t)),c=(e,t)=>o(e,t).some(e=>e.includes(`zenfsMirror_`)||e.includes(`<computed> [as `)),l=async(e,t,n)=>{let r=await t(...n);if(s(e))return r;if(!this._isInitialized)return this._skippedCacheUpdates++,r;try{if(this._mirrorMetaOnly(e,n))return r;e===`write`&&this._prepareMetaWrite(n[0],n[2]),this._sync?.[`${e}Sync`]?.(...n),this._followMetaOnly(e,n)}catch(t){if(c(e,t))return r;throw t.message+=` (Out of sync!)`,T(t)}return r},u={};this._zenfsOriginals=u;let d={async zenfsMirror_rename(...e){return await l(`rename`,u.rename,e)},async zenfsMirror_stat(...e){return await l(`stat`,u.stat,e)},async zenfsMirror_touch(...e){return await l(`touch`,u.touch,e)},async zenfsMirror_createFile(...e){return await l(`createFile`,u.createFile,e)},async zenfsMirror_unlink(...e){return await l(`unlink`,u.unlink,e)},async zenfsMirror_rmdir(...e){return await l(`rmdir`,u.rmdir,e)},async zenfsMirror_mkdir(...e){return await l(`mkdir`,u.mkdir,e)},async zenfsMirror_readdir(...e){return await l(`readdir`,u.readdir,e)},async zenfsMirror_exists(...e){return await l(`exists`,u.exists,e)},async zenfsMirror_link(...e){return await l(`link`,u.link,e)},async zenfsMirror_sync(...e){return await l(`sync`,u.sync,e)},async zenfsMirror_read(...e){return await l(`read`,u.read,e)},async zenfsMirror_write(...e){return await l(`write`,u.write,e)},async zenfsMirror_ioctl(...e){return await l(`ioctl`,u.ioctl,e)}};for(let e of t){u[e]=this[e].bind(this);let t=d[n(e)];if(!t)throw Error(`Async: no mirror wrapper for ${e}`);this[e]=t}Ee(`Async: patched ${t.length} methods`)}}return t}var Gd=class extends Wd(xr){channel;timeout;port;_sync=Ar.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Ad(e),Rd(this.port,Ld)}rpc(e,...t){return Id({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function Kd(e,t){let n=Ad(e);Rd(n,e=>Vd(n,t,e))}function qd(e,t){let n=Ad(e);zd(n,e=>Vd(n,t,e))}const Jd={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new Gd(e.port,e.timeout)}};async function Yd(e,t,n=0){let r=Ad(e),i=Bd(r),a=await qu(t,n);return Kd(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Zd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});const Qd=e=>`0x`+e.toString(16).padStart(8,`0`),{format:$d}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let ef=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${Qd(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),tf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ef,255))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${Qd(this.byteOffset)}>`;let t=[`---- Metadata block at ${Qd(this.byteOffset)} ----`,`Checksum: ${Qd(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${Qd(this.previous_offset)}`,`Entries:`].join(`
|
|
9
|
+
`+Error().stack.slice(6);if(!t)throw T(C(`EINVAL`,`Can not make an RPC request without a port`));let{resolve:a,reject:o,promise:s}=Promise.withResolvers(),c=Math.random().toString(16).slice(5),l={resolve:a,reject:o,promise:s,fs:r,timeout:setTimeout(()=>{let e=T(C(`ETIMEDOUT`,`RPC request timed out`));e.stack+=i,Pd(c),o(e)},n)};return Fd.set(c,l),t.send({...e,_zenfs:!0,id:c,stack:i}),s}function Ld(e){if(!Nd(e))return;if(!Fd.has(e.id)){let t=T(C(`EIO`,`Invalid RPC id: `+e.id));throw t.stack+=e.stack,t}let{resolve:t,reject:n}=Fd.get(e.id);if(e.error){let t=x.fromJSON({code:`EIO`,errno:y.EIO,...e.error});t.stack+=e.stack,Pd(e.id),n(t);return}Pd(e.id),t([`stat`,`createFile`,`mkdir`].includes(e.method)?new L(e.value):e.value)}function Rd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot attach to non-existent port`));Te(`Attached handler to port: `+t.name),e.addHandler(t)}function zd(e,t){if(!e)throw T(C(`EINVAL`,`Cannot detach from non-existent port`));Te(`Detached handler from port: `+t.name),e.removeHandler(t)}function Bd(e){let t=[],n=t.push.bind(t);return Rd(e,n),async function(r){zd(e,n);for(let n of t)await Vd(e,r,`data`in n?n.data:n)}}async function Vd(e,t,n){if(!Nd(n))return;let r,i;try{switch(n.method){case`read`:{let[e,i,a,o]=n.args;await t.read(e,i,a,o),r=i;break}case`stat`:case`createFile`:case`mkdir`:{let e=await t[n.method](...n.args),i=e instanceof L?e:new L(e);r=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);break}case`touch`:{let[e,i]=n.args;await t.touch(e,new L(i)),r=void 0;break}default:r=await t[n.method](...n.args)}}catch(e){i=e instanceof x?e.toJSON():p(e,`message`,`stack`)}e.send({_zenfs:!0,...p(n,`id`,`method`,`stack`),error:i,value:r})}const Hd=[`rename`,`stat`,`touch`,`createFile`,`unlink`,`rmdir`,`mkdir`,`readdir`,`exists`,`link`,`sync`,`read`,`write`,`ioctl`],Ud=1048576;function Wd(e){class t extends e{async done(){return this.sync()}queueDone(){return this.sync()}_promise=Promise.resolve();_async(e){this._promise=this._promise.finally(()=>e())}_replay(e,...t){return(this._zenfsOriginals?.[e]??this[e].bind(this))(...t)}_isInitialized=!1;_skippedCacheUpdates=0;constructor(...e){super(...e),this._patchAsync()}async ready(){if(await super.ready(),!(this._isInitialized||this.attributes.has(`no_async_preload`))){if(await this._promise,this.checkSync(),await this._sync.ready(),this._sync instanceof Er&&this instanceof Er){let e=this._sync.transaction(),t=this.transaction(),n=[];for(let r of await t.keys())n.push(t.get(r).then(t=>e.setSync(r,t)));await Promise.all(n),this._isInitialized=!0;return}try{await this.crossCopy(`/`),Ee(`Skipped ${this._skippedCacheUpdates} updates to the sync cache during initialization`),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,Ce(e)}}}checkSync(){if(this.attributes.has(`no_async_preload`))throw C(`ENOTSUP`,`Sync preloading has been disabled for this async file system`);if(!this._sync)throw Ce(C(`ENOTSUP`,`No sync cache is attached to this async file system`))}_forgetMetaOnly(e){let t=this._metaOnly;if(!t)return;t.delete(e);let n=e.endsWith(`/`)?e:e+`/`;for(let e of[...t])e.startsWith(n)&&t.delete(e)}_moveMetaOnly(e,t){let n=this._metaOnly;if(!n||e===t)return;let r=e.endsWith(`/`)?e:e+`/`,i=[];for(let a of n)a===e?i.push([a,t]):a.startsWith(r)&&i.push([a,t+a.slice(e.length)]);for(let[e,t]of i)n.delete(e),n.add(t)}_followMetaOnly(e,t){this._metaOnly?.size&&(e===`write`||e===`unlink`||e===`truncate`?this._metaOnly.delete(t[0]):e===`rename`?this._moveMetaOnly(t[0],t[1]):(e===`rmdir`||e===`remove`)&&this._forgetMetaOnly(t[0]))}_prepareMetaWrite(e,t){this._metaOnly?.has(e)&&(this._sync.touchSync(e,{size:t||0,metaOnly:!0}),this._metaOnly.delete(e))}_mirrorMetaOnly(e,t){if(e!==`write`&&e!==`touch`)return!1;let n=t[0],r=this._metaOnly?.has(n)??!1;if(e===`touch`){let e=t[1]?.size;if(!r&&!(e>Ud)||!r&&!this._markMetaOnly(n))return!1;let i={metaOnly:!0};for(let e of Zn)e!==`ino`&&e!==`data`&&t[1]?.[e]!==void 0&&(i[e]=t[1][e]);return this._sync.touchSync(n,i),!0}let i;try{i=this._sync.statSync(n).size}catch{return!1}let a=t[2]+t[1].byteLength,o=r&&!t[2]?a:Math.max(i,a);return o<=Ud||!r&&!this._markMetaOnly(n)?!1:(this._sync.touchSync(n,{size:o,mtimeMs:Date.now(),metaOnly:!0}),!0)}_markMetaOnly(e){try{this._sync.statSync(e).size>0&&this._dropMirrorPayload(e)}catch{return!1}return this._metaOnly??=new Set,this._metaOnly.add(e),!0}_dropMirrorPayload(e){let t=this._sync;if(typeof t.transaction!=`function`||typeof t.findInodeSync!=`function`){t.touchSync(e,{size:0});return}let n=t.transaction();try{let r=t.findInodeSync(n,e);n.setSync(r.data,new Uint8Array),n.commitSync()}finally{n[Symbol.dispose]()}}renameSync(e,t){this.checkSync(),this._sync.renameSync(e,t),this._moveMetaOnly(e,t),this._async(()=>this._replay(`rename`,e,t))}statSync(e){return this.checkSync(),this._sync.statSync(e)}touchSync(e,t){this.checkSync(),this._sync.touchSync(e,t),this._async(()=>this._replay(`touch`,e,t))}createFileSync(e,t){this.checkSync();let n=this._sync.createFileSync(e,t);return this._async(()=>this._replay(`createFile`,e,t)),n}unlinkSync(e){this.checkSync(),this._sync.unlinkSync(e),this._metaOnly?.delete(e),this._async(()=>this._replay(`unlink`,e))}rmdirSync(e){this.checkSync(),this._sync.rmdirSync(e),this._forgetMetaOnly(e),this._async(()=>this._replay(`rmdir`,e))}mkdirSync(e,t){this.checkSync();let n=this._sync.mkdirSync(e,t);return this._async(()=>this._replay(`mkdir`,e,t)),n}readdirSync(e){return this.checkSync(),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(),this._sync.linkSync(e,t),this._async(()=>this._replay(`link`,e,t))}async sync(){!this.attributes.has(`no_async_preload`)&&this._sync&&this._sync.syncSync(),await this._promise.catch(()=>{})}syncSync(){this.checkSync(),this._sync.syncSync()}existsSync(e){return this.checkSync(),this._sync.existsSync(e)}readSync(e,t,n,r){if(this.checkSync(),this._metaOnly?.has(e))throw C(`EIO`,`sync mirror has no payload for ${e}`);this._sync.readSync(e,t,n,r)}writeSync(e,t,n){this.checkSync(),this._prepareMetaWrite(e,n),this._sync.writeSync(e,t,n),this._async(()=>this._replay(`write`,e,t,n))}ioctlSync(e,t,...n){return this.checkSync(),this._sync.ioctlSync(e,t,...n)}streamWrite(e,t){this.checkSync();let n=this._sync.streamWrite(e,t).getWriter(),r=super.streamWrite(e,t).getWriter();return new WritableStream({async write(e,t){await Promise.all([n.write(e),r.write(e)]).catch(t.error.bind(t))},async close(){await Promise.all([n.close(),r.close()])},async abort(e){await Promise.all([n.abort(e),r.abort(e)])}})}_crossCopySemaphore;async crossCopy(e,t={failure:null}){try{if(t.failure)throw t.failure.error;this.checkSync();let n=await this.stat(e);if(t.failure)throw t.failure.error;if(!R(n)){if(n.size>Ud){this._metaOnly??=new Set,this._metaOnly.add(e),this._sync.createFileSync(e,n),this._sync.touchSync(e,{...n,metaOnly:!0});return}let r=await this._crossCopySemaphore?.get()||{[Symbol.dispose](){}};try{if(t.failure)throw t.failure.error;this._sync.createFileSync(e,n);let r=new Uint8Array(n.size);await this.read(e,r,0,n.size),this._sync.writeSync(e,r,0),this._sync.touchSync(e,n)}catch(e){throw t.failure??={error:e},t.failure.error}finally{r[Symbol.dispose]()}return}e!==`/`&&(this._sync.mkdirSync(e,n),this._sync.touchSync(e,n));let r=[];for(let n of await this.readdir(e)){if(t.failure)break;r.push(this.crossCopy(M(e,n),t))}if(await Promise.allSettled(r),t.failure)throw t.failure.error}catch(e){throw t.failure??={error:e},t.failure.error}}_patchAsync(){let e=[`read`,`readdir`,`stat`,`exists`],t=Hd.filter(t=>!e.includes(t)),n={},r={},i=new Proxy(this,{get:(e,t)=>typeof t==`string`&&Object.hasOwn(r,t)?r[t]:Reflect.get(e,t,e)});this._zenfsOriginals=n;let a=(e,t)=>{if(!this._isInitialized){this._skippedCacheUpdates++;return}this._mirrorMetaOnly(e,t)||(e===`write`&&this._prepareMetaWrite(t[0],t[2]),this._sync?.[`${e}Sync`]?.(...t),this._followMetaOnly(e,t))};for(let e of t){let t=this[e];n[e]=(...e)=>t.apply(i,e),r[e]=async(...t)=>{let r=await n[e](...t);try{a(e,t)}catch{}return r},this[e]=async(...t)=>{let r=await n[e](...t);try{a(e,t)}catch(e){throw e.message+=` (Out of sync!)`,T(e)}return r}}Ee(`Async: patched ${t.length} methods`)}}return t}var Gd=class extends Wd(xr){channel;timeout;port;_sync=Ar.create({label:`tmpfs:port`});constructor(e,t=250){super(1886351988,`portfs`),this.channel=e,this.timeout=t,this.port=Ad(e),Rd(this.port,Ld)}rpc(e,...t){return Id({method:e,args:t},{port:this.port,timeout:this.timeout,fs:this})}async ready(){await this.rpc(`ready`),await super.ready()}rename(e,t){return this.rpc(`rename`,e,t)}async stat(e){let t=await this.rpc(`stat`,e);return t instanceof L?t:new L(t)}async touch(e,t){let n=t instanceof L?t:new L(t);await this.rpc(`touch`,e,new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}async sync(){await super.sync(),await this.rpc(`sync`)}async createFile(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`createFile`,e,t);return n instanceof L?n:new L(n)}unlink(e){return this.rpc(`unlink`,e)}rmdir(e){return this.rpc(`rmdir`,e)}async mkdir(e,t){t instanceof L&&(t=t.toJSON());let n=await this.rpc(`mkdir`,e,t);return n instanceof L?n:new L(n)}readdir(e){return this.rpc(`readdir`,e)}exists(e){return this.rpc(`exists`,e)}link(e,t){return this.rpc(`link`,e,t)}async read(e,t,n,r){t.set(await this.rpc(`read`,e,t,n,r))}write(e,t,n){return this.rpc(`write`,e,t,n)}};function Kd(e,t){let n=Ad(e);Rd(n,e=>Vd(n,t,e))}function qd(e,t){let n=Ad(e);zd(n,e=>Vd(n,t,e))}const Jd={name:`Port`,options:{port:{type:[EventTarget,function(e){return typeof e==`object`&&`on`in e}],required:!0},timeout:{type:`number`,required:!1}},create(e){return new Gd(e.port,e.timeout)}};async function Yd(e,t,n=0){let r=Ad(e),i=Bd(r),a=await qu(t,n);return Kd(r,a),await i(a),Te(`Resolved remote mount: `+a.toString()),a}var Y=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else(d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},X=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},Xd=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Zd=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});const Qd=e=>`0x`+e.toString(16).padStart(8,`0`),{format:$d}=new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:2,unit:`byte`,unitDisplay:`narrow`});let ef=(()=>{var e,t,n,r;let i=[cn.packed()],o,s=[],c,l=dn(a),u,d=[],f=[],p,m=[],h=[],g,ee=[],te=[],_,ne=[],re=[];var ie=class extends l{static{c=this}static{let a=typeof Symbol==`function`&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;u=[(e=A).uint32.bind(e)],p=[(t=A).uint32.bind(t)],g=[(n=A).uint32.bind(n)],_=[(r=A).uint32.bind(r)],Y(this,null,u,{kind:`accessor`,name:`id`,static:!1,private:!1,access:{has:e=>`id`in e,get:e=>e.id,set:(e,t)=>{e.id=t}},metadata:a},d,f),Y(this,null,p,{kind:`accessor`,name:`offset_`,static:!1,private:!1,access:{has:e=>`offset_`in e,get:e=>e.offset_,set:(e,t)=>{e.offset_=t}},metadata:a},m,h),Y(this,null,g,{kind:`accessor`,name:`offset`,static:!1,private:!1,access:{has:e=>`offset`in e,get:e=>e.offset,set:(e,t)=>{e.offset=t}},metadata:a},ee,te),Y(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:a},ne,re),Y(null,o={value:c},i,{kind:`class`,name:c.name,metadata:a},null,s),ie=c=o.value,a&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static name=`MetadataEntry`;#e=X(this,d,void 0);get id(){return this.#e}set id(e){this.#e=e}#t=(X(this,f),X(this,m,void 0));get offset_(){return this.#t}set offset_(e){this.#t=e}#n=(X(this,h),X(this,ee,void 0));get offset(){return this.#n}set offset(e){this.#n=e}#r=(X(this,te),X(this,ne,void 0));get size(){return this.#r}set size(e){this.#r=e}toString(){return`<MetadataEntry @ ${Qd(this.byteOffset)}>`}constructor(){super(...arguments),X(this,re)}static{X(c,s)}};return c})(),tf=(()=>{var e,t,n,r;let i=[cn.packed()],a,o=[],s,c=dn.typed(Int32Array),l,u=[],d=[],f,p=[],m=[],h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[];var oe=class extends c{static{s=this}static{let v=typeof Symbol==`function`&&Symbol.metadata?Object.create(c[Symbol.metadata]??null):void 0;l=[(e=A).uint32.bind(e)],f=[(t=A).uint64.bind(t)],h=[(n=A).uint32.bind(n)],te=[ln(pn(ef,255))],re=[(r=A).int32.bind(r)],Y(this,null,l,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:v},u,d),Y(this,null,f,{kind:`accessor`,name:`timestamp`,static:!1,private:!1,access:{has:e=>`timestamp`in e,get:e=>e.timestamp,set:(e,t)=>{e.timestamp=t}},metadata:v},p,m),Y(this,null,h,{kind:`accessor`,name:`previous_offset`,static:!1,private:!1,access:{has:e=>`previous_offset`in e,get:e=>e.previous_offset,set:(e,t)=>{e.previous_offset=t}},metadata:v},g,ee),Y(this,null,te,{kind:`accessor`,name:`items`,static:!1,private:!1,access:{has:e=>`items`in e,get:e=>e.items,set:(e,t)=>{e.items=t}},metadata:v},_,ne),Y(this,null,re,{kind:`accessor`,name:`locked`,static:!1,private:!1,access:{has:e=>`locked`in e,get:e=>e.locked,set:(e,t)=>{e.locked=t}},metadata:v},ie,ae),Y(null,a={value:s},i,{kind:`class`,name:s.name,metadata:v},null,o),oe=s=a.value,v&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:v})}static name=`MetadataBlock`;static lockIndex;#e=X(this,u,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,d),X(this,p,BigInt(Date.now())));get timestamp(){return this.#t}set timestamp(e){this.#t=e}#n=(X(this,m),X(this,g,void 0));get previous_offset(){return this.#n}set previous_offset(e){this.#n=e}_previous=X(this,ee);get previous(){if(this.previous_offset)return this._previous??=new oe(this.buffer,this.previous_offset),this._previous}#r=X(this,_,void 0);get items(){return this.#r}set items(e){this.#r=e}toString(e=!1){if(!e)return`<MetadataBlock @ ${Qd(this.byteOffset)}>`;let t=[`---- Metadata block at ${Qd(this.byteOffset)} ----`,`Checksum: ${Qd(this.checksum)}`,`Last updated: ${new Date(Number(this.timestamp)).toLocaleString()}`,`Previous block: ${Qd(this.previous_offset)}`,`Entries:`].join(`
|
|
11
10
|
`);for(let e of this.items)e.offset&&(t+=`\n\t${Qd(e.id)}: ${$d(e.size).padStart(5)} at ${Qd(e.offset)}`);return t}#i=(X(this,ne),X(this,ie,void 0));get locked(){return this.#i}set locked(e){this.#i=e}waitUnlocked(e=0){if(e>5)throw Ce(C(`EBUSY`,`sbfs: exceeded max attempts waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked`));if(Atomics.load(this,oe.lockIndex))switch(Atomics.wait(this,oe.lockIndex,1)){case`ok`:break;case`not-equal`:return e++,T(`sbfs: waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked (${e}/5)`),this.waitUnlocked(e);case`timed-out`:throw Ce(C(`EBUSY`,`sbfs: timed out waiting for metadata block at ${Qd(this.byteOffset)} to be unlocked`))}}lock(){this.waitUnlocked(),Atomics.store(this,oe.lockIndex,1);let e=()=>{Atomics.store(this,oe.lockIndex,0),Atomics.notify(this,oe.lockIndex,1)};return e[Symbol.dispose]=e,e}constructor(){super(...arguments),X(this,ae)}static{X(s,o)}};return oe=s})();Object.assign(tf,{lockIndex:nn(tf,`locked`)/Int32Array.BYTES_PER_ELEMENT});const nf=1651715706;let rf=(()=>{var e,t,n,r,i,a,o,s,c,l;let u=[cn.packed()],d,f=[],p,m=dn.typed(BigUint64Array),h,g=[],ee=[],te,_=[],ne=[],re,ie=[],ae=[],oe,v=[],se=[],ce,le=[],ue=[],de,y=[],pe=[],b,x=[],S=[],me,he=[],w=[],ge,_e=[],ve=[],ye,be=[],xe=[],Se,we=[],Te=[],De,Oe=[],ke=[],Ae,je=[],Me=[];var Ne=class extends m{static{p=this}static{let fe=typeof Symbol==`function`&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;h=[(e=A).uint32.bind(e)],te=[(t=A).uint32.bind(t)],re=[(n=A).uint16.bind(n)],oe=[(r=A).uint16.bind(r)],ce=[(i=A).uint32.bind(i)],de=[(a=A).uint64.bind(a)],b=[(o=A).uint64.bind(o)],me=[A.uint8(16)],ge=[(s=A).uint32.bind(s)],ye=[(c=A).uint32.bind(c)],Se=[(l=A).uint32.bind(l)],De=[A.char(64)],Ae=[A.char(132)],Y(this,null,h,{kind:`accessor`,name:`checksum`,static:!1,private:!1,access:{has:e=>`checksum`in e,get:e=>e.checksum,set:(e,t)=>{e.checksum=t}},metadata:fe},g,ee),Y(this,null,te,{kind:`accessor`,name:`magic`,static:!1,private:!1,access:{has:e=>`magic`in e,get:e=>e.magic,set:(e,t)=>{e.magic=t}},metadata:fe},_,ne),Y(this,null,re,{kind:`accessor`,name:`version`,static:!1,private:!1,access:{has:e=>`version`in e,get:e=>e.version,set:(e,t)=>{e.version=t}},metadata:fe},ie,ae),Y(this,null,oe,{kind:`accessor`,name:`inode_format`,static:!1,private:!1,access:{has:e=>`inode_format`in e,get:e=>e.inode_format,set:(e,t)=>{e.inode_format=t}},metadata:fe},v,se),Y(this,null,ce,{kind:`accessor`,name:`flags`,static:!1,private:!1,access:{has:e=>`flags`in e,get:e=>e.flags,set:(e,t)=>{e.flags=t}},metadata:fe},le,ue),Y(this,null,de,{kind:`accessor`,name:`used_bytes`,static:!1,private:!1,access:{has:e=>`used_bytes`in e,get:e=>e.used_bytes,set:(e,t)=>{e.used_bytes=t}},metadata:fe},y,pe),Y(this,null,b,{kind:`accessor`,name:`total_bytes`,static:!1,private:!1,access:{has:e=>`total_bytes`in e,get:e=>e.total_bytes,set:(e,t)=>{e.total_bytes=t}},metadata:fe},x,S),Y(this,null,me,{kind:`accessor`,name:`uuid`,static:!1,private:!1,access:{has:e=>`uuid`in e,get:e=>e.uuid,set:(e,t)=>{e.uuid=t}},metadata:fe},he,w),Y(this,null,ge,{kind:`accessor`,name:`metadata_block_size`,static:!1,private:!1,access:{has:e=>`metadata_block_size`in e,get:e=>e.metadata_block_size,set:(e,t)=>{e.metadata_block_size=t}},metadata:fe},_e,ve),Y(this,null,ye,{kind:`accessor`,name:`metadata_offset_`,static:!1,private:!1,access:{has:e=>`metadata_offset_`in e,get:e=>e.metadata_offset_,set:(e,t)=>{e.metadata_offset_=t}},metadata:fe},be,xe),Y(this,null,Se,{kind:`accessor`,name:`metadata_offset`,static:!1,private:!1,access:{has:e=>`metadata_offset`in e,get:e=>e.metadata_offset,set:(e,t)=>{e.metadata_offset=t}},metadata:fe},we,Te),Y(this,null,De,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:fe},Oe,ke),Y(this,null,Ae,{kind:`accessor`,name:`_padding`,static:!1,private:!1,access:{has:e=>`_padding`in e,get:e=>e._padding,set:(e,t)=>{e._padding=t}},metadata:fe},je,Me),Y(null,d={value:p},u,{kind:`class`,name:p.name,metadata:fe},null,f),Ne=p=d.value,fe&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:fe})}static name=`SuperBlock`;constructor(...e){if(super(...e),X(this,Me),this.magic!=nf){E(`sbfs: Invalid magic value, assuming this is a fresh super block`);let e=new tf(this.buffer,k(Ne));Object.assign(this,{metadata:e,metadata_offset:e.byteOffset,used_bytes:BigInt(k(Ne)+k(tf)),total_bytes:BigInt(this.buffer.byteLength),magic:nf,version:1,inode_format:5,metadata_block_size:k(tf),uuid:fe(crypto.randomUUID())}),sf(this),sf(e);return}if(this.checksum!==of(this))throw Ce(C(`EIO`,`sbfs: checksum mismatch for super block`));if(this.metadata=new tf(this.buffer,this.metadata_offset),this.metadata.checksum!==of(this.metadata))throw Ce(C(`EIO`,`sbfs: checksum mismatch for metadata block (saved ${Qd(this.metadata.checksum)}, computed ${Qd(of(this.metadata))})`));if(this.inode_format!=5)throw Ce(C(`EIO`,`sbfs: inode format mismatch`));if(this.metadata_block_size!=k(tf))throw Ce(C(`EIO`,`sbfs: metadata block size mismatch`))}#e=X(this,g,void 0);get checksum(){return this.#e}set checksum(e){this.#e=e}#t=(X(this,ee),X(this,_,void 0));get magic(){return this.#t}set magic(e){this.#t=e}#n=(X(this,ne),X(this,ie,void 0));get version(){return this.#n}set version(e){this.#n=e}#r=(X(this,ae),X(this,v,void 0));get inode_format(){return this.#r}set inode_format(e){this.#r=e}#i=(X(this,se),X(this,le,void 0));get flags(){return this.#i}set flags(e){this.#i=e}#a=(X(this,ue),X(this,y,void 0));get used_bytes(){return this.#a}set used_bytes(e){this.#a=e}#o=(X(this,pe),X(this,x,void 0));get total_bytes(){return this.#o}set total_bytes(e){this.#o=e}#s=(X(this,S),X(this,he,void 0));get uuid(){return this.#s}set uuid(e){this.#s=e}#c=(X(this,w),X(this,_e,void 0));get metadata_block_size(){return this.#c}set metadata_block_size(e){this.#c=e}#l=(X(this,ve),X(this,be,void 0));get metadata_offset_(){return this.#l}set metadata_offset_(e){this.#l=e}#u=(X(this,xe),X(this,we,void 0));get metadata_offset(){return this.#u}set metadata_offset(e){this.#u=e}metadata=X(this,Te);#d=X(this,Oe,void 0);get label(){return this.#d}set label(e){this.#d=e}#f=(X(this,ke),X(this,je,void 0));get _padding(){return this.#f}set _padding(e){this.#f=e}rotateMetadata(){let e=BigInt(Int32Array.BYTES_PER_ELEMENT),t=BigInt(k(tf)),n=Atomics.load(this,2),r;for(;;){let i=(e-n%e)%e;r=n+i;let a=r+t;if(a>this.total_bytes)throw T(C(`ENOSPC`,`sbfs: not enough space for a new metadata block`));let o=Atomics.compareExchange(this,2,n,a);if(o===n)break;n=o}let i=new tf(this.buffer,Number(r)),a=new Uint32Array(this.buffer,this.byteOffset,k(Ne)/Uint32Array.BYTES_PER_ELEMENT),o=Atomics.load(a,af);for(;;){i.previous_offset=o,sf(i);let e=Atomics.compareExchange(a,af,o,i.byteOffset);if(e===o)break;o=e}return this.metadata=i,sf(this),Ee(`sbfs: rotated metadata block at ${Qd(i.previous_offset)} with new block at ${Qd(i.byteOffset)}`),i}isUnused(e,t){if(!t)return!0;if(e+t>this.total_bytes||e<k(Ne))return!1;for(let n=this.metadata;n;n=n.previous){if(e<n.byteOffset+k(tf)&&e+t>n.byteOffset)return!1;for(let r of n.items)if(r.offset&&(e>=r.offset&&e<r.offset+r.size||e+t>r.offset&&e+t<=r.offset+r.size||e<=r.offset&&e+t>=r.offset+r.size))return!1}return!0}static{X(p,f)}};return Ne=p})();const af=nn(rf,`metadata_offset`)/Uint32Array.BYTES_PER_ELEMENT;function of(e){let t=k(e)-4;return e instanceof tf&&(t-=Int32Array.BYTES_PER_ELEMENT),l(new Uint8Array(e.buffer,e.byteOffset+4,t))}function sf(e){e instanceof tf&&(e.timestamp=BigInt(Date.now())),e.checksum=of(e)}var cf=class extends a{flags=[];name=`sbfs`;type=1935828595;get uuid(){return de(this.superblock.uuid)}superblock;_view;_u8;constructor(...e){if(super(...e),this.byteLength<k(rf)+k(tf))throw Ce(C(`EINVAL`,`sbfs: Buffer is too small for a file system`));this._view=new DataView(this.buffer,this.byteOffset,this.byteLength),this._u8=new Uint8Array(this.buffer,this.byteOffset,this.byteLength),this.superblock=new rf(this.buffer,this.byteOffset)}*keys(){let e=new Set;for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)!n.offset||e.has(n.id)||(e.add(n.id),yield n.id)}}get(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items){if(!n.offset||n.id!=e)continue;let t=this.byteOffset+n.offset;return new Uint8Array(this.buffer.slice(t,t+n.size))}}}set(e,t){let n={stack:[],error:void 0,hasError:!1};try{if(e===0&&t.length<k(L))throw Se(C(`EIO`,`sbfs: tried to set ${t.length} bytes for id 0!`));for(let n=this.superblock.metadata;n;n=n.previous){n.waitUnlocked();for(let r of n.items){let i={stack:[],error:void 0,hasError:!1};try{if(!r.offset||r.id!=e)continue;if(Xd(i,n.lock(),!1),t.length==r.size){this._u8.set(t,r.offset);return}if(t.length<r.size||this.superblock.isUnused(r.offset,t.length)){this._u8.set(t,r.offset),r.size=t.length,sf(n);return}r.offset=Number(Atomics.add(this.superblock,2,BigInt(t.length))),r.size=t.length,this._u8.set(t,r.offset),sf(n),sf(this.superblock);return}catch(e){i.error=e,i.hasError=!0}finally{Zd(i)}}}let r=Array.from(this.superblock.metadata.items).find(e=>!e.offset);r||=(this.superblock.rotateMetadata(),this.superblock.metadata.items[0]),Xd(n,this.superblock.metadata.lock(),!1);let i=Number(Atomics.add(this.superblock,2,BigInt(t.length)));r.id=e,r.offset=i,r.size=t.length,this._u8.set(t,i),sf(this.superblock.metadata),sf(this.superblock)}catch(e){n.error=e,n.hasError=!0}finally{Zd(n)}}delete(e){for(let t=this.superblock.metadata;t;t=t.previous){t.waitUnlocked();for(let n of t.items)if(n.id==e){n.offset=0,n.size=0,n.id=0,sf(t);return}}}_fs;get fs(){return this._fs}set fs(e){this.buffer.constructor.name===`SharedArrayBuffer`&&e?.attributes.set(`no_id_tables`,!0),this._fs=e}sync(){return Promise.resolve()}usage(){return{totalSpace:Number(this.superblock.total_bytes),freeSpace:Number(this.superblock.total_bytes-this.superblock.used_bytes)}}transaction(){return new Dr(this)}};const lf={name:`SingleBuffer`,options:{buffer:{type:`object`,required:!0}},create(e){let t=new Er(ArrayBuffer.isView(e.buffer)?new cf(e.buffer.buffer,e.buffer.byteOffset,e.buffer.byteLength):new cf(e.buffer));return t.checkRootSync(),t}},Z=()=>{};function uf(e,t,n=Z){du.call(this,e,t).then(()=>n(null)).catch(n)}function df(e,t=Z){fu.call(this,e).then(t).catch(()=>t(!1))}function ff(e,t,n=Z){n=typeof t==`function`?t:n,pu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function pf(e,t,n=Z){n=typeof t==`function`?t:n,mu.call(this,e,typeof t==`function`?{}:t).then(e=>n(null,e)).catch(n)}function mf(e,t=0,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`number`?t:0;hu.call(this,e,r).then(()=>n(null)).catch(n)}function hf(e,t=Z){gu.call(this,e).then(()=>t(null)).catch(t)}function gf(e,t,n,r=Z){let i=_n(n,420);r=typeof n==`function`?n:r,_u.call(this,e,t,i).then(e=>r(null,e.fd)).catch(r)}function _f(e,t,n=Z){n=typeof t==`function`?t:n,vu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function vf(e,t,n,r=Z){r=typeof n==`function`?n:r,yu.call(this,e,t,typeof n==`function`?null:n).then(()=>r(null)).catch(r)}function yf(e,t,n,r=Z){let i=typeof n==`function`?void 0:n;r=typeof n==`function`?n:r,bu.call(this,e,t,i).then(()=>r(null)).catch(r)}function bf(e,t,n=Z){n=typeof t==`function`?t:n,new uu(this,e).stat().then(e=>n(null,typeof t==`object`&&t?.bigint?new Un(e):e)).catch(n)}function xf(e,t=Z){new uu(this,e).close().then(()=>t(null)).catch(t)}function Sf(e,t,n=Z){let r=typeof t==`number`?t:0;n=typeof t==`function`?t:n;let i=new uu(this,e);if(r<0)throw C(`EINVAL`);i.truncate(r).then(()=>n(null)).catch(n)}function Cf(e,t=Z){new uu(this,e).sync().then(()=>t(null)).catch(t)}function wf(e,t=Z){new uu(this,e).datasync().then(()=>t(null)).catch(t)}function Tf(e,t,n,r,i,a=Z){let o,s,c,l,u,d=new uu(this,e),f=[n,r,i].find(e=>typeof e==`function`)??a;typeof t==`string`?(l=typeof n==`number`?n:null,u=typeof r==`string`?r:`utf8`,o=H.Buffer.from(t,u),s=0,c=o.byteLength):(o=H.Buffer.from(t.buffer,t.byteOffset,t.byteLength),s=typeof n==`number`?n:0,c=typeof r==`number`?r:o.byteLength-s,l=typeof i==`number`?i:null),d.write(o,s,c,l).then(({bytesWritten:e})=>f(null,e,typeof t==`string`?t:o)).catch(f)}function Ef(e,t,n,r,i,a=Z){new uu(this,e).read(t,n,r,i).then(({bytesRead:e,buffer:t})=>a(null,e,t)).catch(a)}function Df(e,t,n,r=Z){new uu(this,e).chown(t,n).then(()=>r(null)).catch(r)}function Of(e,t,n){new uu(this,e).chmod(t).then(()=>n(null)).catch(n)}function kf(e,t,n,r=Z){new uu(this,e).utimes(t,n).then(()=>r(null)).catch(r)}function Af(e,t=Z){xu.call(this,e).then(()=>t(null)).catch(t)}function jf(e,t,n=Z){Su.call(this,e,t).then(()=>n(null)).catch(n)}function Mf(e,t,n=Z){n=typeof t==`function`?t:n;let r=typeof t==`function`?{}:t;Cu.call(this,e,r).then(e=>n(null,e)).catch(n)}function Nf(e,t,n=Z){wu.call(this,e,t).then(()=>n(null)).catch(n)}function Pf(e,t,n,r=Z){let i=typeof n==`string`?n:`file`;r=typeof n==`function`?n:r,Tu.call(this,e,t,i).then(()=>r(null)).catch(r)}function Ff(e,t,n=Z){n=typeof t==`function`?t:n,Eu.call(this,e).then(e=>n(null,e)).catch(n)}function If(e,t,n,r=Z){Du.call(this,e,t,n).then(()=>r(null)).catch(r)}function Lf(e,t,n,r=Z){Ou.call(this,e,t,n).then(()=>r(null)).catch(r)}function Rf(e,t,n=Z){ku.call(this,e,t).then(()=>n(null)).catch(n)}function zf(e,t,n=Z){Au.call(this,e,t).then(()=>n(null)).catch(n)}function Bf(e,t,n,r=Z){ju.call(this,e,t,n).then(()=>r(null)).catch(r)}function Vf(e,t,n,r=Z){Mu.call(this,e,t,n).then(()=>r(null)).catch(r)}function Hf(e,t,n=Z){n=typeof t==`function`?t:n,Nu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Uf(e,t,n=Z){let r=typeof t==`number`?t:4;n=typeof t==`function`?t:n,Fu.call(this,e,r).then(()=>n(null)).catch(n)}const Wf=new Map;function Gf(e,t,n){let r=j.call(this,e),i=typeof t==`function`?{}:t;if(typeof t==`function`&&(n=t),!n)throw S(`EINVAL`,`watch`,e.toString());if(Wf.has(r)){let e=Wf.get(r);e&&e.listeners.add(n);return}let a=new Ia(this,r,i);a.on(`change`,(e,t)=>{let n=Wf.get(r);if(n)for(let r of n.listeners)r(e,t)}),Wf.set(r,{watcher:a,listeners:new Set([n])})}function Kf(e,t=Z){let n=j.call(this,e),r=Wf.get(n);r&&(t&&t!==Z?r.listeners.delete(t):r.listeners.clear(),r.listeners.size===0&&(r.watcher.stop(),Wf.delete(n)))}function qf(e,t,n){let r=new Fa(this,j.call(this,e),typeof t==`object`?t:{});return n=typeof t==`function`?t:n,r.on(`change`,n||Z),r}function Jf(e,t){t=typeof t==`object`?t:{encoding:t};let n=_u.call(this,e,`r`,t?.mode);return new ru({...t,autoClose:!0,signal:t?.signal??void 0},n)}function Yf(e,t){t=typeof t==`object`?t:{encoding:t};let n=_u.call(this,e,`w`,t?.mode);return new iu(t,n)}function Xf(e,t,n=Z){n=typeof t==`function`?t:n,Iu.call(this,e,typeof t==`function`?void 0:t).then(()=>n(null)).catch(n)}function Zf(e,t,n=Z){n=typeof t==`function`?t:n,Lu.call(this,e,typeof t==`function`?null:t).then(e=>n(null,e)).catch(n)}function Qf(e,t,n,r=Z){r=typeof n==`function`?n:r,zu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function $f(e,t,n,r=Z){r=typeof n==`function`?n:r,new uu(this,e).readv(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesRead:t})=>r(null,t,e)).catch(r)}function ep(e,t,n,r=Z){r=typeof n==`function`?n:r,new uu(this,e).writev(t,typeof n==`function`?void 0:n).then(({buffers:e,bytesWritten:t})=>r(null,t,e)).catch(r)}function tp(e,t,n=Z){n=typeof t==`function`?t:n,Bu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}function np(e,t,n,r=Z){r=typeof n==`function`?n:r,Vu.call(this,e,t,typeof n==`function`?void 0:n).then(()=>r(null)).catch(r)}function rp(e,t,n=Z){n=typeof t==`function`?t:n,Hu.call(this,e,typeof t==`function`?void 0:t).then(e=>n(null,e)).catch(n)}async function ip(e,t){let n=await _u.call(this,e.toString(),`r`),r=await n.readFile();return await n.close(),new Blob([r],t)}function ap(e,t,n=Z){n=typeof t==`function`?t:n;let r=Uu.call(this,e,typeof t==`function`?void 0:t);Array.fromAsync(r).then(e=>n(null,e??[])).catch(e=>n(e))}function op(e,t){return Object.assign(Error(t),{code:e})}function sp(e,t,n){return op(`ERR_INVALID_ARG_TYPE`,`The "${e}" argument must be of type ${t}. Received ${typeof n}`)}function cp(e){return op(`ERR_INVALID_STATE`,`Invalid state: `+e)}function lp(e,t){if(typeof e!=`number`)throw sp(t,`number`,e);if(!Number.isInteger(e)||e<0||e>4294967295)throw op(`ERR_OUT_OF_RANGE`,`The value of "${t}" is out of range. It must be an integer >= 0 and <= 4294967295. Received ${e}`)}const up=16384,dp=H.Buffer.alloc(0),fp={open:gf,openSync:qi,close:xf,write:Tf,writeSync:ia,fsync:Cf,fsyncSync:na,mkdir:jf,mkdirSync:ua};function pp(e,t,n){if(typeof e==`string`){if(H.Buffer.byteLength(e)===n)n=e.length;else{let t=H.Buffer.from(e);for(;n>0&&(t[n]&192)==128;)n--;n=t.subarray(0,n).toString().length}}return{writingBuf:e.slice(n),len:Math.max(t-n,0)}}function mp(e,t){return e.length?e.length==1?e[0]:H.Buffer.concat(e,t):dp}const hp=Symbol(`Utf8StreamFS`);var gp=class extends u.default{#e=0;#t=-1;#n=[];#r=[];#i=!1;#a=!1;#o=!1;#s=!1;#c=!1;#l=16387;#u=null;#d=!1;#f=0;#p=0;#m=up;#h=!1;#g=0;#_;#v=!1;#y=!1;#b=!0;#x;#S=()=>!0;#C=!1;#w;#T=``;#E;static[hp]=fp;static _withContext(e){Xe(e);class t extends gp{static[hp]=ee(fp,e)}return t}constructor(e={}){if(typeof e!=`object`||!e)throw sp(`options`,`object`,e);let{dest:t,minLength:n,maxLength:r,maxWrite:i,periodicFlush:a,sync:o,append:s=!0,mkdir:c,retryEAGAIN:l,fsync:u,contentMode:d=`utf8`,mode:f,fs:p={}}=e;super();let m=e.fd??t;if(typeof p!=`object`||!p)throw sp(`options.fs`,`object`,p);this.#E={...this.constructor[hp],...p};let h=this.#E;for(let e of[`write`,`writeSync`,`fsync`,`fsyncSync`,`close`,`open`,`mkdir`,`mkdirSync`])if(typeof h[e]!=`function`)throw sp(`options.fs.${e}`,`function`,h[e]);this.#l=Math.max(n||0,this.#l),this.#f=n||0,this.#p=r||0,this.#m=i||up,this.#g=a||0,this.#v=o||!1,this.#y=u||!1,this.#b=s||!1,this.#x=f,this.#S=l||(()=>!0),this.#C=c||!1,lp(this.#l,`options.hwm`),lp(this.#f,`options.minLength`),lp(this.#p,`options.maxLength`),lp(this.#m,`options.maxWrite`),lp(this.#g,`options.periodicFlush`);for(let[e,t]of[[`sync`,this.#v],[`fsync`,this.#y],[`append`,this.#b],[`mkdir`,this.#C]])if(typeof t!=`boolean`)throw sp(`options.${e}`,`boolean`,t);if(typeof this.#S!=`function`)throw sp(`options.retryEAGAIN`,`function`,this.#S);if(d!=`buffer`&&d!=`utf8`)throw op(`ERR_INVALID_ARG_VALUE`,`The property 'options.contentMode' must be one of: 'buffer', 'utf8'. Received ${JSON.stringify(d)}`);if(this.#w=d,this.#T=d==`buffer`?dp:``,typeof m==`number`)this.#t=m,queueMicrotask(()=>this.emit(`ready`));else if(typeof m==`string`)this.#N(m);else throw sp(`fd`,`number or string`,m);if(this.#f>=this.#m)throw op(`ERR_INVALID_ARG_VALUE`,`The argument 'minLength' should be smaller than maxWrite (${this.#m}). Received ${this.#f}`);this.#g!==0&&(this.#_=setInterval(()=>this.flush(),this.#g),this.#_.unref?.())}write(e){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#w==`buffer`){if(!H.Buffer.isBuffer(e))throw sp(`data`,`Buffer`,e)}else if(typeof e!=`string`)throw sp(`data`,`string`,e);let t=this.#e+e.length;if(this.#p&&t>this.#p)return this.emit(`drop`,e),this.#e<this.#l;let n=this.#n.length-1;if(this.#w==`buffer`){let t=this.#n;!t.length||this.#r[n]+e.length>this.#m?(t.push([e]),this.#r.push(e.length)):(t[n].push(e),this.#r[n]+=e.length)}else{let t=this.#n;!t.length||t[n].length+e.length>this.#m?t.push(e):t[n]+=e}return this.#e=t,!this.#i&&this.#e>=this.#f&&this.#F(),this.#e<this.#l}flush(e){if(e!=null&&typeof e!=`function`)throw sp(`cb`,`function`,e);if(this.#d){let t=cp(`Utf8Stream is destroyed`);if(!e)throw t;e(t);return}if(this.#f<=0){e?.(null);return}e&&this.#I(e),!this.#i&&(this.#n.length||(this.#n.push(this.#w==`buffer`?[]:``),this.#w==`buffer`&&this.#r.push(0)),this.#F())}flushSync(){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#t<0)throw cp(`Invalid file descriptor`);this.#w==`buffer`?this.#D():this.#O()}#D(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift([this.#T]),this.#T=dp);let t=dp;for(;e.length||t.length;){t.length<=0&&(t=mp(e[0],this.#r[0]));let n=this.#E.writeSync(this.#t,t);t=t.subarray(n),this.#e=Math.max(this.#e-n,0),t.length<=0&&(e.shift(),this.#r.shift())}}#O(){let e=this.#n;!this.#i&&this.#T.length>0&&(e.unshift(this.#T),this.#T=``);let t=``;for(;e.length||t;){t.length<=0&&(t=e[0]);let n=this.#E.writeSync(this.#t,t,`utf8`),r=pp(t,this.#e,n);t=r.writingBuf,this.#e=r.len,t.length<=0&&e.shift()}try{this.#E.fsyncSync(this.#t)}catch{}}reopen(e){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.reopen(e));return}if(this.#a)return;if(!this.#u)throw op(`ERR_OPERATION_FAILED`,`Unable to reopen a file descriptor, you must pass a file to Utf8Stream`);if(e&&(this.#u=e.toString()),this.#o=!0,this.#i)return;let t=this.#t;this.once(`ready`,()=>{t!==this.#t&&this.#E.close(t,e=>{e&&this.emit(`error`,e)})}),this.#N(this.#u)}end(){if(this.#d)throw cp(`Utf8Stream is destroyed`);if(this.#h){this.once(`ready`,()=>this.end());return}this.#a||(this.#a=!0,!this.#i&&(this.#e>0&&this.#t>=0?this.#F():this.#P()))}destroy(){this.#d||this.#P()}get mode(){return this.#x}get file(){return this.#u}get fd(){return this.#t}get minLength(){return this.#f}get maxLength(){return this.#p}get writing(){return this.#i}get sync(){return this.#v}get fsync(){return this.#y}get append(){return this.#b}get periodicFlush(){return this.#g}get contentMode(){return this.#w}get mkdir(){return this.#C}[Symbol.dispose](){this.destroy()}#k(){this.listenerCount(`drain`)&&(this.#s=!1,this.emit(`drain`))}#A(e,t=0){if(e){!this.#v&&(e.code===`EAGAIN`||e.code===`EBUSY`)&&this.#S(e,this.#T.length,this.#e-this.#T.length)?setTimeout(()=>this.#j(),100):(this.#i=!1,this.emit(`error`,e));return}this.emit(`write`,t);let n=pp(this.#T,this.#e,t);if(this.#e=n.len,this.#T=n.writingBuf,this.#T.length){if(!this.#v){this.#j();return}try{do{let e=this.#M(),t=pp(this.#T,this.#e,e);this.#e=t.len,this.#T=t.writingBuf}while(this.#T.length)}catch(e){this.#A(e);return}}this.#y&&this.#E.fsyncSync(this.#t);let r=this.#e;this.#o?(this.#i=!1,this.#o=!1,this.reopen()):r>this.#f?this.#F():this.#a?r>0?this.#F():(this.#i=!1,this.#P()):(this.#i=!1,this.#v?this.#s||(this.#s=!0,queueMicrotask(()=>this.#k())):this.emit(`drain`))}#j(){this.#w==`buffer`?this.#E.write(this.#t,this.#T,(e,t)=>this.#A(e,t)):this.#E.write(this.#t,this.#T,`utf8`,(e,t)=>this.#A(e,t))}#M(){return this.#w==`buffer`?this.#E.writeSync(this.#t,this.#T):this.#E.writeSync(this.#t,this.#T,`utf8`)}#N(e){this.#h=!0,this.#i=!0,this.#s=!1;let t=(t,n=-1)=>{if(t){this.#o=!1,this.#i=!1,this.#h=!1,this.#v?queueMicrotask(()=>void(this.listenerCount(`error`)&&this.emit(`error`,t))):this.emit(`error`,t);return}let r=this.#o;this.#t=n,this.#u=e,this.#o=!1,this.#h=!1,this.#i=!1,this.#v?queueMicrotask(()=>this.emit(`ready`)):this.emit(`ready`),!this.#d&&(!this.#i&&this.#e>this.#f||this.#c?this.#F():r&&queueMicrotask(()=>this.emit(`drain`)))},n=this.#b?`a`:`w`,r=this.#x??438;if(this.#v)try{this.#C&&this.#E.mkdirSync(N(e),{recursive:!0}),t(null,this.#E.openSync(e,n,r))}catch(e){throw t(e),e}else this.#C?this.#E.mkdir(N(e),{recursive:!0},i=>{if(i)return t(i);this.#E.open(e,n,r,t)}):this.#E.open(e,n,r,t)}#P(){if(this.#t===-1){this.once(`ready`,()=>this.#P());return}this.#_!==void 0&&clearInterval(this.#_),this.#d=!0,this.#n=[],this.#r=[];let e=e=>{if(e){this.emit(`error`,e);return}this.#a&&!this.#i&&this.emit(`finish`),this.emit(`close`)},t=()=>{this.#t!==1&&this.#t!==2?this.#E.close(this.#t,e):e(null)};try{this.#E.fsync(this.#t,t)}catch{}}#F(){if(this.#i=!0,this.#w==`buffer`?this.#T=this.#T.length?this.#T:mp(this.#n.shift()??[],this.#r.shift()??0):this.#T||=this.#n.shift()||``,!this.#v){this.#j();return}try{this.#A(null,this.#M())}catch(e){this.#A(e)}}#I(e){this.#c=!0;let t=()=>{if(this.#y||this.#d)this.#c=!1,e(null);else try{this.#E.fsync(this.#t,t=>{this.#c=!1,e(t?.code==`EBADF`?null:t)})}catch(t){this.#c=!1,e(t)}this.off(`error`,n)},n=n=>{this.#c=!1,e(n),this.off(`drain`,t)};this.once(`drain`,t),this.once(`error`,n)}on(e,t,n){return e===`drain`&&(this.#s=!1),super.on(e,t,n)}addListener(e,t,n){return this.on(e,t,n)}once(e,t,n){return e===`drain`&&(this.#s=!1),super.once(e,t,n)}off(e,t,n,r){return super.off(e,t,n,r)}removeListener(e,t,n,r){return super.removeListener(e,t,n,r)}setMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.setMaxListeners`)}getMaxListeners(){throw S(`ENOSYS`,`Utf8Stream.getMaxListeners`)}prependListener(){throw S(`ENOSYS`,`Utf8Stream.prependListener`)}prependOnceListener(){throw S(`ENOSYS`,`Utf8Stream.prependOnceListener`)}rawListeners(){throw S(`ENOSYS`,`Utf8Stream.rawListeners`)}},_p=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>gp,WriteStream:()=>iu,access:()=>Uf,accessSync:()=>Sa,appendFile:()=>yf,appendFileSync:()=>Qi,chmod:()=>Rf,chmodSync:()=>_a,chown:()=>If,chownSync:()=>ha,close:()=>xf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Qf,copyFileSync:()=>Ea,cp:()=>np,cpSync:()=>Aa,createReadStream:()=>Jf,createWriteStream:()=>Yf,exists:()=>df,existsSync:()=>Hi,fchmod:()=>Of,fchmodSync:()=>sa,fchown:()=>Df,fchownSync:()=>oa,fdatasync:()=>wf,fdatasyncSync:()=>ra,fstat:()=>bf,fstatSync:()=>$i,fsync:()=>Cf,fsyncSync:()=>na,ftruncate:()=>Sf,ftruncateSync:()=>ta,futimes:()=>kf,futimesSync:()=>ca,glob:()=>ap,globSync:()=>Ma,lchmod:()=>zf,lchmodSync:()=>va,lchown:()=>Lf,lchownSync:()=>ga,link:()=>Nf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>pf,lstatSync:()=>Wi,lutimes:()=>Vf,lutimesSync:()=>ba,mkdir:()=>jf,mkdirSync:()=>ua,mkdtemp:()=>Zf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,open:()=>gf,openAsBlob:()=>ip,openSync:()=>qi,opendir:()=>tp,opendirSync:()=>ka,promises:()=>au,read:()=>Ef,readFile:()=>_f,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>Mf,readdirSync:()=>da,readlink:()=>Ff,readlinkSync:()=>ma,readv:()=>$f,readvSync:()=>Da,realpath:()=>Hf,realpathSync:()=>xa,rename:()=>uf,renameSync:()=>Vi,rm:()=>Xf,rmSync:()=>Ca,rmdir:()=>Af,rmdirSync:()=>la,stat:()=>ff,statSync:()=>Ui,statfs:()=>rp,statfsSync:()=>ja,symlink:()=>Pf,symlinkSync:()=>pa,truncate:()=>mf,truncateSync:()=>Gi,unlink:()=>hf,unlinkSync:()=>Ki,unwatchFile:()=>Kf,utimes:()=>Bf,utimesSync:()=>ya,watch:()=>qf,watchFile:()=>Gf,write:()=>Tf,writeFile:()=>vf,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>ep,writevSync:()=>Oa}),vp=t({allowedRestrictedNames:()=>yp,get:()=>xp,getSync:()=>Sp,list:()=>Dp,listSync:()=>Op,remove:()=>Tp,removeSync:()=>Ep,set:()=>Cp,setSync:()=>wp});const yp=new Set;function bp(e,t,n,r){if(!t.startsWith(`user.`)&&!yp.has(t))throw S(`ENOTSUP`,r,n)}async function xp(e,t,n={}){e=j.call(this,e);let{fs:r,path:i}=G(e,this);bp(this,t,e,`xattr.get`);let a=await r.stat(i).catch(me(`xattr.get`,e));if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}function Sp(e,t,n={}){e=j.call(this,e),bp(this,t,e,`xattr.get`);let{fs:r,path:i}=G(e,this),a;try{a=r.statSync(i)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,a,4))throw S(`EACCES`,`xattr.get`,e);a.attributes??=new Xn;let o=a.attributes.get(t);if(!o)throw S(`ENODATA`,`xattr.get`,e);let s=H.Buffer.from(o);return n.encoding==`buffer`||!n.encoding?s:s.toString(n.encoding)}async function Cp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);bp(this,t,e,`xattr.set`);let o=await i.stat(a).catch(me(`xattr.set`,e));if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n)),await i.touch(a,o).catch(me(`xattr.set`,e))}function wp(e,t,n,r={}){e=j.call(this,e);let{fs:i,path:a}=G(e,this);bp(this,t,e,`xattr.set`);let o;try{o=i.statSync(a)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,o,2))throw S(`EACCES`,`xattr.set`,e);o.attributes??=new Xn;let s=o.attributes.get(t);if(r.create&&s)throw S(`EEXIST`,`xattr.set`,e);if(r.replace&&!s)throw S(`ENODATA`,`xattr.set`,e);o.attributes.set(t,H.Buffer.from(n));try{i.touchSync(a,o)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Tp(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);bp(this,t,e,`xattr.remove`);let i=await n.stat(r).catch(me(`xattr.remove`,e));if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t),await n.touch(r,i)}function Ep(e,t){e=j.call(this,e);let{fs:n,path:r}=G(e,this);bp(this,t,e,`xattr.remove`);let i;try{i=n.statSync(r)}catch(t){throw b(Object.assign(t,{path:e}))}if(U&&!z(this,i,2))throw S(`EACCES`,`xattr.remove`,e);if(i.attributes??=new Xn,!i.attributes.get(t))throw S(`ENODATA`,`xattr.remove`,e);i.attributes.remove(t);try{n.touchSync(r,i)}catch(t){throw b(Object.assign(t,{path:e}))}}async function Dp(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r=await t.stat(n).catch(me(`xattr.list`,e));return r.attributes?[...r.attributes.keys()]:[]}function Op(e){e=j.call(this,e);let{fs:t,path:n}=G(e,this),r;try{r=t.statSync(n)}catch(t){throw b(Object.assign(t,{path:e}))}return r.attributes?[...r.attributes.keys()]:[]}const kp=new Map;function Ap(e={}){let t=D(this),n=t.parent||Ze;if(!Ui.call(n,n.root).isDirectory())throw S(`ENOTDIR`,{syscall:`chroot`,path:n.root});let r=$e(t,e),i=Object.assign(r,{fs:{...ee(_p,r),Utf8Stream:gp._withContext(r),promises:ee(au,r),xattr:ee(vp,r)},path:ee(Dn,r),bind:e=>{let t=Ap.call(r,e);return r.children.push(t),t}});return kp.set(r.id,i),i}var Q=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},$=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),jp=class extends qr{_fs;get type(){return this._fs.type}get name(){return this._fs.name}get label(){return this._fs.label}set label(e){this._fs.label=e}get attributes(){return this._fs.attributes}get _uuid(){return this._fs._uuid}set _uuid(e){this._fs._uuid=e}get uuid(){return this._fs.uuid}async ready(){return await this._fs.ready()}readySync(){return this._fs.readySync()}usage(){return this._fs.usage()}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.touch(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,this.lockSync(`rw`),!1),this._fs.touchSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async createFile(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.createFile(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}createFileSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.createFileSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async unlink(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}unlinkSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async rmdir(e){let t={stack:[],error:void 0,hasError:!1};try{Q(t,await this.lock(`rw`),!1),await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}rmdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`rw`),!1),this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async mkdir(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,await this.lock(`rw`),!1),await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}mkdirSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async exists(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,await this.lock(`ro`),!1),await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}existsSync(e){let t={stack:[],error:void 0,hasError:!1};try{return Q(t,this.lockSync(`ro`),!1),this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{$(t)}}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{Q(n,await this.lock(`rw`),!1),await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async sync(){let e={stack:[],error:void 0,hasError:!1};try{Q(e,await this.lock(`rw`),!1),await this._fs.sync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}syncSync(){let e={stack:[],error:void 0,hasError:!1};try{return Q(e,this.lockSync(`rw`),!1),this._fs.syncSync()}catch(t){e.error=t,e.hasError=!0}finally{$(e)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,await this.lock(`ro`),!1),await this._fs.read(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{return Q(i,this.lockSync(`ro`),!1),this._fs.readSync(e,t,n,r)}catch(e){i.error=e,i.hasError=!0}finally{$(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.write(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.writeSync(e,t,n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}streamRead(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`ro`),!1),this._fs.streamRead(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}streamWrite(e,t){let n={stack:[],error:void 0,hasError:!1};try{return Q(n,this.lockSync(`rw`),!1),this._fs.streamWrite(e,t)}catch(e){n.error=e,n.hasError=!0}finally{$(n)}}async ioctl(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,await this.lock(`rw`),!1),await this._fs.ioctl({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}ioctlSync(e,t,...n){let r={stack:[],error:void 0,hasError:!1};try{return Q(r,this.lockSync(`rw`),!1),this._fs.ioctlSync({...e,fs:this._fs},t,...n)}catch(e){r.error=e,r.hasError=!0}finally{$(r)}}};function Mp(e){class t extends jp{constructor(...t){super(),this._fs=new e(...t)}}return t}function Np(e){class t extends e{constructor(...e){super(...e),this.attributes.set(`no_write`)}async rename(){throw C(`EROFS`)}renameSync(){throw C(`EROFS`)}async createFile(){throw C(`EROFS`)}createFileSync(){throw C(`EROFS`)}async unlink(){throw C(`EROFS`)}unlinkSync(){throw C(`EROFS`)}async rmdir(){throw C(`EROFS`)}rmdirSync(){throw C(`EROFS`)}async mkdir(){throw C(`EROFS`)}mkdirSync(){throw C(`EROFS`)}async link(){throw C(`EROFS`)}linkSync(){throw C(`EROFS`)}async touch(){throw C(`EROFS`)}touchSync(){throw C(`EROFS`)}async sync(){throw C(`EROFS`)}syncSync(){throw C(`EROFS`)}async write(){throw C(`EROFS`)}writeSync(){throw C(`EROFS`)}streamWrite(){throw C(`EROFS`)}}return t}function Pp(e){class t extends e{async exists(e){return this.existsSync(e)}async rename(e,t){return this.renameSync(e,t)}async stat(e){return this.statSync(e)}async touch(e,t){return this.touchSync(e,t)}async createFile(e,t){return this.createFileSync(e,t)}async unlink(e){return this.unlinkSync(e)}async rmdir(e){return this.rmdirSync(e)}async mkdir(e,t){return this.mkdirSync(e,t)}async readdir(e){return this.readdirSync(e)}async link(e,t){return this.linkSync(e,t)}async sync(){return this.syncSync()}async read(e,t,n,r){return this.readSync(e,t,n,r)}async write(e,t,n){return this.writeSync(e,t,n)}async ioctl(e,t,...n){return this.ioctlSync(e,t,...n)}}return t}async function Fp(e,t,...n){let r,i,a;if(typeof e==`number`)a=ci(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=await Ua(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return await i.fs.ioctl(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}function Ip(e,t,...n){let r,i,a;if(typeof e==`number`)a=ci(this,e),r=W(a.fs),i=a.vnode,i.refs++;else{e=j.call(this,e);let t=Oi(this,e,!1,{syscall:`ioctl`,path:e});if(!t.stats)throw S(`ENOENT`,{syscall:`ioctl`,path:e});r=W(t.fs),i=r.ref(t.path,r.get(t.path)?.inode??t.stats)}let o={fs:i.fs,inode:i.inode,path:i.path,file:a};try{return i.fs.ioctlSync(o,t,...n)}catch(t){throw b(Object.assign(t,{syscall:`ioctl`,path:e}))}finally{r.unref(i)}}var Lp={name:`@zenfs/core`,version:`2.7.6`,description:`A filesystem, anywhere`,funding:{type:`individual`,url:`https://github.com/sponsors/james-pre`},main:`dist/index.js`,types:`dist/index.d.ts`,keywords:[`filesystem`,`node`,`storage`,`fs`,`browser`],bin:{"make-index":`scripts/make-index.js`,"zenfs-test":`scripts/test.js`,zci:`scripts/ci-cli.js`},files:[`dist`,`tests`,`license.md`,`eslint.shared.js`],type:`module`,homepage:`https://zenfs.dev/core`,author:`James Prevett <jp@jamespre.dev> (https://jamespre.dev)`,contributors:[`John Vilk <jvilk@cs.umass.edu>`],license:`LGPL-3.0-or-later`,repository:{type:`git`,url:`git+https://github.com/zen-fs/core.git`},bugs:{url:`https://github.com/zen-fs/core/issues`},engines:{node:`>= 18`},exports:{".":`./dist/index.js`,"./*.js":`./dist/*.js`,"./*":`./dist/*.js`,"./emulation/*":`./dist/node/*`,"./promises":`./dist/node/promises.js`,"./readline":`./dist/node/readline.js`,"./eslint":`./eslint.shared.js`,"./tests/*.ts":`./tests/*.ts`,"./tests/*.js":`./tests/*.js`,"./tests/*":`./tests/*.js`,"./types/*":`./types/*`},publishConfig:{access:`public`,provenance:!0},scripts:{format:`prettier --write .`,"format:check":`prettier --check .`,"spdx:check":`npx lice -a src tests/*.ts tests/**/*.test.ts`,"spdx:fix":`npx lice -aw src tests/*.ts tests/**/*.test.ts`,lint:`eslint src tests`,test:`npx -s zenfs-test --clean; npx -s zenfs-test -abcpn; tests/fetch/run.sh; npx -s zenfs-test --report-only`,"test:native":`npx -s zenfs-test tests/native-setup.ts --verbose`,"test:perf":`zbench`,build:`tsc --build`,dev:`tsc --build --watch`,prepublishOnly:`npm run build`},dependencies:{"@types/node":`^26.0.0`,"@zenfs/streams":`^1.0.0`,buffer:`^6.0.3`,eventemitter3:`^5.0.1`,kerium:`^1.5.0`,memium:`^1.0.0`,utilium:`^3.7.0`},devDependencies:{"@eslint/js":`^10.0.1`,"@octokit/action":`^8.0.4`,c8:`^12.0.0`,eslint:`^10.1.0`,globals:`^17.3.0`,prettier:`^3.2.5`,typedoc:`^0.28.18`,typescript:`^6.0.0`,"typescript-eslint":`^8.58.0`,"zbench-js":`^0.2.0`},prettier:{singleQuote:!0,useTabs:!0,trailingComma:`es5`,tabWidth:4,printWidth:150,arrowParens:`avoid`,experimentalOperatorPosition:`start`}},Rp=t({BigIntStatsFs:()=>Kn,Dir:()=>Ri,Dirent:()=>Ii,ReadStream:()=>ru,Stats:()=>Hn,StatsFs:()=>Gn,Utf8Stream:()=>gp,WriteStream:()=>iu,_version:()=>zp,access:()=>Uf,accessSync:()=>Sa,appendFile:()=>yf,appendFileSync:()=>Qi,chmod:()=>Rf,chmodSync:()=>_a,chown:()=>If,chownSync:()=>ha,chroot:()=>Ci,close:()=>xf,closeSync:()=>ea,constants:()=>et,copyFile:()=>Qf,copyFileSync:()=>Ea,cp:()=>np,cpSync:()=>Aa,createReadStream:()=>Jf,createWriteStream:()=>Yf,exists:()=>df,existsSync:()=>Hi,fchmod:()=>Of,fchmodSync:()=>sa,fchown:()=>Df,fchownSync:()=>oa,fdatasync:()=>wf,fdatasyncSync:()=>ra,fstat:()=>bf,fstatSync:()=>$i,fsync:()=>Cf,fsyncSync:()=>na,ftruncate:()=>Sf,ftruncateSync:()=>ta,futimes:()=>kf,futimesSync:()=>ca,glob:()=>ap,globSync:()=>Ma,ioctl:()=>Fp,ioctlSync:()=>Ip,lchmod:()=>zf,lchmodSync:()=>va,lchown:()=>Lf,lchownSync:()=>ga,link:()=>Nf,linkSync:()=>fa,lopenSync:()=>Ji,lstat:()=>pf,lstatSync:()=>Wi,lutimes:()=>Vf,lutimesSync:()=>ba,mkdir:()=>jf,mkdirSync:()=>ua,mkdtemp:()=>Zf,mkdtempDisposableSync:()=>Ta,mkdtempSync:()=>wa,mount:()=>bi,open:()=>gf,openAsBlob:()=>ip,openSync:()=>qi,opendir:()=>tp,opendirSync:()=>ka,promises:()=>au,read:()=>Ef,readFile:()=>_f,readFileSync:()=>Xi,readSync:()=>aa,readdir:()=>Mf,readdirSync:()=>da,readlink:()=>Ff,readlinkSync:()=>ma,readv:()=>$f,readvSync:()=>Da,realpath:()=>Hf,realpathSync:()=>xa,rename:()=>uf,renameSync:()=>Vi,rm:()=>Xf,rmSync:()=>Ca,rmdir:()=>Af,rmdirSync:()=>la,stat:()=>ff,statSync:()=>Ui,statfs:()=>rp,statfsSync:()=>ja,symlink:()=>Pf,symlinkSync:()=>pa,truncate:()=>mf,truncateSync:()=>Gi,umount:()=>xi,unlink:()=>hf,unlinkSync:()=>Ki,unwatchFile:()=>Kf,utimes:()=>Bf,utimesSync:()=>ya,watch:()=>qf,watchFile:()=>Gf,write:()=>Tf,writeFile:()=>vf,writeFileSync:()=>Zi,writeSync:()=>ia,writev:()=>ep,writevSync:()=>Oa,xattr:()=>vp});const zp=Lp.version;var Bp=t({DirType:()=>Br,Dirent:()=>Ur,Handle:()=>oi,chroot:()=>Ci,deleteFD:()=>li,dtToIf:()=>Hr,dupFD:()=>ui,fromFD:()=>ci,ifToDt:()=>Vr,ioctl:()=>Fp,ioctlSync:()=>Ip,link:()=>Ya,mkdir:()=>Ka,mount:()=>bi,open:()=>Wa,readdir:()=>qa,readlink:()=>Ga,rename:()=>Ja,resolve:()=>Ua,stat:()=>Xa,sync:()=>Ti,toFD:()=>si,umount:()=>xi,xattr:()=>vp}),Vp=Rp
|
|
12
11
|
/*!
|
|
13
12
|
* @zenfs/core — https://npmjs.com/package/@zenfs/core
|