sliccy 6.63.1 → 6.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/node-server/_shared/agent-wire-types.d.ts +17 -1
- package/dist/node-server/_shared/agent-wire-types.d.ts.map +1 -1
- package/dist/ui/assets/{account-store-yw87zA-H.js → account-store-Bt-Z_IP5.js} +1 -1
- package/dist/ui/assets/{account-store-BXNz-msG.js → account-store-CvRlGmpF.js} +1 -1
- package/dist/ui/assets/{adobe-CjTn5dat.js → adobe-CrNy183o.js} +1 -1
- package/dist/ui/assets/{adobe-Ckv-3Irc.js → adobe-DI3GvD18.js} +1 -1
- package/dist/ui/assets/agent-message-to-chat-CqqyKeXB.js +7 -0
- package/dist/ui/assets/andromeeda-vGVdxbeo.js +1 -0
- package/dist/ui/assets/angular-html-Cm4-xod0.js +1 -0
- package/dist/ui/assets/angular-ts-Dopuir71.js +1 -0
- package/dist/ui/assets/{apply-layout-BjnqLDNj.js → apply-layout-DGB8_H5u.js} +1 -1
- package/dist/ui/assets/{apps-BX25i0E3.js → apps-6vj7i-YX.js} +1 -1
- package/dist/ui/assets/astro-E_b8esPp.js +1 -0
- package/dist/ui/assets/aurora-x-CDeNXAV0.js +1 -0
- package/dist/ui/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/dist/ui/assets/ayu-light-C3h-C4tm.js +1 -0
- package/dist/ui/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/dist/ui/assets/{azure-openai-DpTARgXs.js → azure-openai-BPvlY8xU.js} +1 -1
- package/dist/ui/assets/{azure-openai-BvdMRSTa.js → azure-openai-CWIumerK.js} +1 -1
- package/dist/ui/assets/blade-mj2TcBTp.js +1 -0
- package/dist/ui/assets/c-BNQJhXlP.js +1 -0
- package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
- package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
- package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
- package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
- package/dist/ui/assets/{cerebras-DdmAArZ4.js → cerebras-6t2iEfhs.js} +1 -1
- package/dist/ui/assets/{cerebras-Cgs0ldVR.js → cerebras-8QWyp0Fr.js} +1 -1
- package/dist/ui/assets/coffee-BP03ytLP.js +1 -0
- package/dist/ui/assets/{connect-surface-DFlTKtc1.js → connect-surface-B5aPtlOm.js} +1 -1
- package/dist/ui/assets/cpp-CdhRINFH.js +1 -0
- package/dist/ui/assets/css-vJJohHMc.js +1 -0
- package/dist/ui/assets/csv-Dx-8-gkx.js +1 -0
- package/dist/ui/assets/dark-plus-Cs2F2srj.js +1 -0
- package/dist/ui/assets/diff-woXpYk--.js +1 -0
- package/dist/ui/assets/dist-B1CEIrnR.js +12 -0
- package/dist/ui/assets/{dist-CBorQZnx.js → dist-Cd-ycvqP.js} +1 -1
- package/dist/ui/assets/dist-YOzumI7I.js +1547 -0
- package/dist/ui/assets/dracula-BHWKrbxM.js +1 -0
- package/dist/ui/assets/dracula-soft-5eyTD99u.js +1 -0
- package/dist/ui/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/dist/ui/assets/everforest-light-Df2xbC6M.js +1 -0
- package/dist/ui/assets/fs-CJF4to2s.js +2 -0
- package/dist/ui/assets/{fs-BCjTWMsv.js → fs-CLbmkDHl.js} +1 -1
- package/dist/ui/assets/{github-CZRmChfw.js → github-C5koxY24.js} +2 -2
- package/dist/ui/assets/{github-DowWPiJz.js → github-DxYFlJvm.js} +1 -1
- package/dist/ui/assets/{github-copilot-DMI2qLej.js → github-copilot-4fSMDxvS.js} +1 -1
- package/dist/ui/assets/{github-copilot-DTMFw7zz.js → github-copilot-kxUzL0OS.js} +1 -1
- package/dist/ui/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/ui/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/dist/ui/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/dist/ui/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/dist/ui/assets/{github-install-B-NpMPtH.js → github-install-CXf2XEcA.js} +1 -1
- package/dist/ui/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/ui/assets/github-light-default-BXViO-2h.js +1 -0
- package/dist/ui/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/dist/ui/assets/{github-zip-BFAkcrnH.js → github-zip-BZFYG1FV.js} +1 -1
- package/dist/ui/assets/glsl-CyFpZtQv.js +1 -0
- package/dist/ui/assets/go-BJwz_mda.js +1 -0
- package/dist/ui/assets/graphql-CnvUopjy.js +1 -0
- package/dist/ui/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/dist/ui/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/dist/ui/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/dist/ui/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/dist/ui/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/dist/ui/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/dist/ui/assets/haml-DboNpPfQ.js +1 -0
- package/dist/ui/assets/handlebars-Bv_jLwHk.js +1 -0
- package/dist/ui/assets/horizon-CE9ld1lL.js +1 -0
- package/dist/ui/assets/horizon-bright-Br1oVSNq.js +1 -0
- package/dist/ui/assets/houston-CsvMBhTu.js +1 -0
- package/dist/ui/assets/html-BLkwJ0Yd.js +1 -0
- package/dist/ui/assets/html-derivative-B3p5VrMH.js +1 -0
- package/dist/ui/assets/http-BVbz03xV.js +1 -0
- package/dist/ui/assets/hurl-CKN67r30.js +1 -0
- package/dist/ui/assets/imba-DsUTQ-LC.js +1 -0
- package/dist/ui/assets/isomorphic-git-BeYQ5wpt.js +69 -0
- package/dist/ui/assets/java-D7h0NA_A.js +1 -0
- package/dist/ui/assets/javascript-DcMHgNcu.js +1 -0
- package/dist/ui/assets/jinja-BeFOxtqS.js +1 -0
- package/dist/ui/assets/jison-Ru_S5AEn.js +1 -0
- package/dist/ui/assets/json-qhed-kSA.js +1 -0
- package/dist/ui/assets/json5-BR5RXkoi.js +1 -0
- package/dist/ui/assets/jsonc-CYpm1nAK.js +1 -0
- package/dist/ui/assets/jsonl-CmCQp5Yx.js +1 -0
- package/dist/ui/assets/jsx-BUUYi3qs.js +1 -0
- package/dist/ui/assets/julia-DibC-h6i.js +1 -0
- package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
- package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +1 -0
- package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +1 -0
- package/dist/ui/assets/{kernel-worker-CrKHOndU.js → kernel-worker-BOjdQ1Qv.js} +667 -643
- package/dist/ui/assets/laserwave-C_8bwKvT.js +1 -0
- package/dist/ui/assets/less-DVTAwKKz.js +1 -0
- package/dist/ui/assets/light-plus-DVQuIRkW.js +1 -0
- package/dist/ui/assets/{local-llm-DfUU9Joz.js → local-llm-DcuyRA_C.js} +1 -1
- package/dist/ui/assets/{local-llm-C32ebl8Y.js → local-llm-WVJHDLVr.js} +1 -1
- package/dist/ui/assets/{main-BlHBfF8J.js → main-g9e4jsmf.js} +3 -3
- package/dist/ui/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/ui/assets/marko-C3klgjEa.js +1 -0
- package/dist/ui/assets/material-theme-Bm3Qr25_.js +1 -0
- package/dist/ui/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/dist/ui/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/dist/ui/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/dist/ui/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/dist/ui/assets/mdc-Otire2H_.js +1 -0
- package/dist/ui/assets/mdx-DQZ5AkYe.js +1 -0
- package/dist/ui/assets/min-dark-BSWPekZh.js +1 -0
- package/dist/ui/assets/min-light-DDpmG2fV.js +1 -0
- package/dist/ui/assets/monokai-CdkpiU2Y.js +1 -0
- package/dist/ui/assets/{mount-BADmeE7g.js → mount-CGx_In3M.js} +1 -1
- package/dist/ui/assets/{mount-BlURnfq2.js → mount-lFNRBa0L.js} +2 -2
- package/dist/ui/assets/{mount-recovery-C7r1hv0j.js → mount-recovery-C7QNHaw8.js} +1 -1
- package/dist/ui/assets/{new-session-DaF6V1iy.js → new-session-BWDZuj-y.js} +2 -2
- package/dist/ui/assets/night-owl-DhmEMT88.js +1 -0
- package/dist/ui/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/dist/ui/assets/nord-Cb4Vim4T.js +1 -0
- package/dist/ui/assets/{oauth-bootstrap-CaL85MGQ.js → oauth-bootstrap-BzPFfFn8.js} +2 -2
- package/dist/ui/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/dist/ui/assets/one-light-D7Lr4KcI.js +1 -0
- package/dist/ui/assets/{openai-codex-lmGq6jXT.js → openai-codex-CXjZLqQP.js} +1 -1
- package/dist/ui/assets/{openai-codex-BspvI9lK.js → openai-codex-DncauC1l.js} +1 -1
- package/dist/ui/assets/{openrouter-JwFUknmi.js → openrouter-DX4pZ8oK.js} +1 -1
- package/dist/ui/assets/{openrouter-DpJcInwy.js → openrouter-lWDOxNt6.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DS9JJHGq.js → openrouter-oauth-B04CMJP-.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Dhczf7zB.js → openrouter-oauth-B20LHk66.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-CFDQFV34.js → panel-rpc-handlers-5yAKHeGE.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BeUFfvlg.js → panelize-shell-C-yVdTrO.js} +1 -1
- package/dist/ui/assets/php-BidqsJNR.js +1 -0
- package/dist/ui/assets/pierre-dark-CpLgRqie.js +1 -0
- package/dist/ui/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +1 -0
- package/dist/ui/assets/pierre-dark-soft-kZQmAZld.js +1 -0
- package/dist/ui/assets/pierre-dark-tritanopia-CpjhbsIL.js +1 -0
- package/dist/ui/assets/pierre-dark-vibrant-CpQYzh95.js +1 -0
- package/dist/ui/assets/pierre-light-CoaEpmwp.js +1 -0
- package/dist/ui/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +1 -0
- package/dist/ui/assets/pierre-light-soft-lWLdNTOI.js +1 -0
- package/dist/ui/assets/pierre-light-tritanopia-CEbqgOJL.js +1 -0
- package/dist/ui/assets/pierre-light-vibrant-D80Fkn33.js +1 -0
- package/dist/ui/assets/plastic-DQwYfKfQ.js +1 -0
- package/dist/ui/assets/poimandres-DRFjx7u4.js +1 -0
- package/dist/ui/assets/postcss-BXeXVLqQ.js +1 -0
- package/dist/ui/assets/{provider-D_1vbeZU.js → provider-DjVnR1qT.js} +1 -1
- package/dist/ui/assets/{provider-MEaLE3fn.js → provider-EO8xuYrg.js} +2 -2
- package/dist/ui/assets/{provider-settings-CpZU8E30.js → provider-settings-DM9lfPMY.js} +1 -1
- package/dist/ui/assets/{provider-settings-C0lWXqQd.js → provider-settings-DMOXltS9.js} +1 -1
- package/dist/ui/assets/{provider-store-access-BwIlAN37.js → provider-store-access-1k63GEjc.js} +2 -2
- package/dist/ui/assets/provider-store-access-BxnnuWuf.js +1 -0
- package/dist/ui/assets/{providers-8mGRZ151.js → providers-BCqzXbCA.js} +2 -2
- package/dist/ui/assets/{providers-Dyl5huqe.js → providers-Cm6k9mPF.js} +1 -1
- package/dist/ui/assets/pug-BPcX_o8k.js +1 -0
- package/dist/ui/assets/python-gzcpVVnB.js +1 -0
- package/dist/ui/assets/{quick-llm-heFsHVhb.js → quick-llm-CSLVZllY.js} +1 -1
- package/dist/ui/assets/r-Dzep-lPg.js +1 -0
- package/dist/ui/assets/{recovery-screen-BQNlR9Ed.js → recovery-screen-Bd_FBp1X.js} +1 -1
- package/dist/ui/assets/red-CJ3rzSJv.js +1 -0
- package/dist/ui/assets/{redirect-uri-Cse2hfz1.js → redirect-uri-DZENaua_.js} +1 -1
- package/dist/ui/assets/regexp-I2jnduhj.js +1 -0
- package/dist/ui/assets/rose-pine-BthvhNj6.js +1 -0
- package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
- package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +1 -0
- package/dist/ui/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/ui/assets/safe-buffer-BwTVRVVo.js +1 -0
- package/dist/ui/assets/sass-DXrisJhu.js +1 -0
- package/dist/ui/assets/scss-0nEf0IT-.js +1 -0
- package/dist/ui/assets/{session-freezer-BENwB4CS.js → session-freezer-CcMvh2tg.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-DNhKBNnz.js → setup-feature-flags-remote-DxtVLHSx.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-CXXaS4-e.js → setup-standalone-prelude-CaCwL2Tn.js} +1 -1
- package/dist/ui/assets/{setup-sudo-O1g1m7qp.js → setup-sudo-CdkqMkMT.js} +2 -2
- package/dist/ui/assets/shellscript-CLZ0U2zV.js +1 -0
- package/dist/ui/assets/skills-DyJ0oFvE.js +6 -0
- package/dist/ui/assets/slack-dark-DnToyrRv.js +1 -0
- package/dist/ui/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/dist/ui/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/dist/ui/assets/solarized-dark-DV17i1UV.js +1 -0
- package/dist/ui/assets/solarized-light-DSh2HLQt.js +1 -0
- package/dist/ui/assets/sql-69VAgb2g.js +1 -0
- package/dist/ui/assets/src-Dqo4w5UJ.js +7012 -0
- package/dist/ui/assets/{store-BlPA3Vpk.js → store-00WCz-8-.js} +1 -1
- package/dist/ui/assets/{store-CyvEuHNo.js → store-CEIiRZZN.js} +1 -1
- package/dist/ui/assets/stylus-B6D30XZt.js +1 -0
- package/dist/ui/assets/sudo-Cv_oS8SW.js +5 -0
- package/dist/ui/assets/svelte-B4PVQJ-7.js +1 -0
- package/dist/ui/assets/swift-DonLKvLd.js +1 -0
- package/dist/ui/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/dist/ui/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/dist/ui/assets/toml-CcmNWLt0.js +1 -0
- package/dist/ui/assets/ts-tags-BUIgHz80.js +1 -0
- package/dist/ui/assets/tsx-DvWhG4dC.js +1 -0
- package/dist/ui/assets/typescript-BTGs5etX.js +1 -0
- package/dist/ui/assets/{upgrade-detection-CL0lWEwN.js → upgrade-detection-DoD5I87Q.js} +1 -1
- package/dist/ui/assets/vesper-D5bVUKB1.js +1 -0
- package/dist/ui/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/dist/ui/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/dist/ui/assets/vitesse-light-VbXTXTou.js +1 -0
- package/dist/ui/assets/vue-Dg0Kv3qp.js +1 -0
- package/dist/ui/assets/vue-html-BXjKVtKk.js +1 -0
- package/dist/ui/assets/vue-vine-DdvC-EE2.js +1 -0
- package/dist/ui/assets/wasm-BnjxR4X6.js +1 -0
- package/dist/ui/assets/wasm-ByWQv1Qj.js +1 -0
- package/dist/ui/assets/{wc-attach-3A9p5w25.js → wc-attach-CE46iDaL.js} +2 -2
- package/dist/ui/assets/{wc-extension-B_ZEcHLf.js → wc-extension-BZQFV4SC.js} +2 -2
- package/dist/ui/assets/{wc-follower-Dafe94k2.js → wc-follower-BSKgVOAh.js} +3 -3
- package/dist/ui/assets/wc-live-DlLWWHEt.js +8 -0
- package/dist/ui/assets/{wc-nav-BKVmin_d.js → wc-nav-APZyOvr-.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-9BeMvKAP.js → wc-onboarding-DB0J3qSP.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-EMS51lPJ.js → wc-placeholder-bv0HVx4d.js} +2 -2
- package/dist/ui/assets/{wc-settings-BquqhofB.js → wc-settings-DexwOnGE.js} +2 -2
- package/dist/ui/assets/{wc-shell-DPwh_0RZ.js → wc-shell-DheP41aS.js} +3 -3
- package/dist/ui/assets/{wc-sprinkles-o44wwIGr.js → wc-sprinkles-vaLUNFQa.js} +2 -2
- package/dist/ui/assets/{wc-tray-PJmFuBfD.js → wc-tray-Bsjm1QXb.js} +2 -2
- package/dist/ui/assets/wgsl-BsKzXJz4.js +1 -0
- package/dist/ui/assets/wit-DdvCle-K.js +1 -0
- package/dist/ui/assets/{xai-grok-IZ0Z4CYW.js → xai-grok-ChSMAYIk.js} +1 -1
- package/dist/ui/assets/{xai-grok-ZfLcc06f.js → xai-grok-ClHNzGc3.js} +1 -1
- package/dist/ui/assets/xml-C01ajBW7.js +1 -0
- package/dist/ui/assets/yaml-rwi0_p6S.js +1 -0
- package/dist/ui/index.html +6 -6
- package/dist/ui/packages/webapp/index.html +6 -6
- package/dist/ui/slicc-diff.js +709 -1052
- package/package.json +1 -1
- package/dist/ui/assets/agent-message-to-chat-BCa4SIGx.js +0 -7
- package/dist/ui/assets/dist-C8opQrif.js +0 -12
- package/dist/ui/assets/fs-CB34evDK.js +0 -2
- package/dist/ui/assets/provider-store-access-DGeZ2M2A.js +0 -1
- package/dist/ui/assets/skills-Gm1CFnxe.js +0 -6
- package/dist/ui/assets/src-SZZWiNhu.js +0 -5811
- package/dist/ui/assets/sudo-Ov4RHnQO.js +0 -5
- package/dist/ui/assets/wc-live-GDpMCZoA.js +0 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,w,x as T}from"./dist-
|
|
1
|
+
import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,w,x as T}from"./dist-B1CEIrnR.js";function E(e){switch(e.name){case`TypeMismatchError`:return`EPERM`;case`IndexSizeError`:case`HierarchyRequestError`:case`InvalidCharacterError`:case`InvalidStateError`:case`SyntaxError`:case`NamespaceError`:case`ConstraintError`:case`VersionError`:case`URLMismatchError`:case`InvalidNodeTypeError`:return`EINVAL`;case`WrongDocumentError`:return`EXDEV`;case`NoModificationAllowedError`:case`InvalidModificationError`:case`InvalidAccessError`:case`SecurityError`:case`NotAllowedError`:return`EACCES`;case`NotFoundError`:return`ENOENT`;case`NotSupportedError`:return`ENOTSUP`;case`InUseAttributeError`:return`EBUSY`;case`NetworkError`:return`ENETDOWN`;case`AbortError`:return`EINTR`;case`QuotaExceededError`:return`ENOSPC`;case`TimeoutError`:return`ETIMEDOUT`;case`ReadOnlyError`:return`EROFS`;default:return`EIO`}}function D(e,t){if(e instanceof a)return e;let n=e instanceof DOMException?w[E(e)]:w.EIO,r=new a(n,e.message);return r.stack=e.stack,Error.captureStackTrace?.(r,D),r.cause=e.cause,r}function O(e){return typeof e==`object`&&!!e&&e.constructor.name==`SharedArrayBuffer`}function k(e){return e instanceof ArrayBuffer?e.resizable:O(e)?e.growable:!1}function A(e,t){return e.kind==t}var j=class extends x(m){async _loadHandles(e,t){for await(let[n,r]of t.entries()){let t=_(e,n);this._handles.set(t,r),A(r,`directory`)&&await this._loadHandles(t,r)}}async _loadMetadata(e){if(this._handles.set(`/`,this.root),await this._loadHandles(`/`,this.root),e){let t=await(await(await this.get(`file`,e)).getFile()).text(),n=JSON.parse(t);this.index.fromJSON(n);return}let t=1;for(let[e,r]of this._handles){if(A(r,`file`)){let{lastModified:n,size:i}=await r.getFile();this.index.set(e,new C({ino:t,data:t+1,nlink:1,mode:420|o,size:i,mtimeMs:n})),t+=2;continue}if(!A(r,`directory`))throw n(`EIO`,`Invalid handle`);this.index.set(e,new C({ino:t,data:t+1,nlink:1,mode:511|p,size:0})),t+=2}}constructor(e,t=!1){super(2003133025,`webaccessfs`),this.root=e,this.disableHandleCache=t,this._handles=new Map,this._sync=s.create({label:`accessfs-cache`}),this.attributes.set(`no_buffer_resize`,!0),t&&this.attributes.set(`no_handle_cache`,!0)}async stat(e){try{return await super.stat(e)}catch(t){if(t.code!=`ENOENT`)throw t;let n=await this.get(null,e),r=this.index._alloc(),i=new C({ino:r,data:r+1,nlink:1});if(A(n,`file`)){let e=await n.getFile();i.update({mode:420|o,size:e.size,mtimeMs:e.lastModified})}else i.update({mode:p|511,size:0});return this.index.set(e,i),i}}async readdir(e){let t=await this.get(`directory`,e);return await Array.fromAsync(t.keys())}async createFile(e,t){let n=await super.createFile(e,t);try{let t=await(await this.get(`directory`,b(e))).getFileHandle(d(e),{create:!0});this.disableHandleCache||this._handles.set(e,t)}catch(t){this.index.delete(e),this._handles.delete(e),h(D(t,e))}return n}async remove(e){let t=await this.get(`directory`,b(e));for(let t of this._handles.keys())b(t)==e&&this._handles.delete(t);this._handles.delete(e),await t.removeEntry(d(e),{recursive:!0}).catch(t=>{let n=D(t,e);n.code!=`ENOENT`&&h(n)})}removeSync(){throw T(n(`ENOSYS`))}async read(e,t,r,i){if(i<=r)return;let a=await(await(await this.get(`file`,e)).getFile()).arrayBuffer();if(a.byteLength<i-r)throw c(n(`EIO`,[`Unexpected mismatch in file data size. This should not happen.`,`tried to read ${i-r} bytes but the file is ${a.byteLength} bytes.`,`path: ${e}`].join(`
|
|
2
2
|
`+` `.repeat(24))));t.set(new Uint8Array(a,r,i-r))}async write(e,t,r){if(k(t.buffer)||O(t.buffer)){let e=new Uint8Array(new ArrayBuffer(t.byteLength),t.byteOffset,t.byteLength);e.set(t),t=e}let i=this.index.get(e);if(!i)throw n(`ENOENT`);let a=(i.mode&f)==p,o;try{o=await this.get(a?`directory`:`file`,e)}catch{o=await(await this.get(`directory`,b(e)))[a?`getDirectoryHandle`:`getFileHandle`](d(e),{create:!0}).catch(t=>h(D(t,e))),this.disableHandleCache||this._handles.set(e,o)}if(a)return;if(A(o,`directory`)){T(n(`EIO`,`Mismatch in entry kind on write`));return}let s=!r&&t.byteLength>=i.size,c=await o.createWritable({keepExistingData:!s});if(r)try{await c.seek(r)}catch{await c.write({type:`seek`,position:r})}await c.write(t),await c.close();let{size:l,lastModified:u}=await o.getFile();i.update({size:l,mtimeMs:u}),this.index.set(e,i)}async writeFile(e,t){return this.write(e,t,0)}async _mkdir(e){let t=await(await this.get(`directory`,b(e))).getDirectoryHandle(d(e),{create:!0}).catch(t=>h(D(t,e)));this.disableHandleCache||this._handles.set(e,t)}async get(e=null,t){let r=this._handles.get(t);if(!this.disableHandleCache&&r){if(e&&!A(r,e))throw n(e==`directory`?`ENOTDIR`:`EISDIR`);return r}if(t==`/`)return this.root;let i=t.slice(1).split(`/`),a=this.root;for(let e=0;e<i.length-1;++e)a=await a.getDirectoryHandle(i[e]).catch(e=>h(D(e,t)));try{let n=await a[e==`file`?`getFileHandle`:`getDirectoryHandle`](i.at(-1));return this.disableHandleCache||this._handles.set(t,n),n}catch(r){if(r.name!=`TypeMismatchError`)throw D(r,t);if(e===null){let e=await a.getFileHandle(i.at(-1)).catch(e=>h(D(e,t)));return this.disableHandleCache||this._handles.set(t,e),e}throw n(e==`file`?`EISDIR`:`ENOTDIR`)}}},M={name:`WebAccess`,options:{handle:{type:`object`,required:!0},metadata:{type:`string`,required:!1},disableHandleCache:{type:`boolean`,required:!1}},async create(e){let t=new j(e.handle,e.disableHandleCache);return await t._loadMetadata(e.metadata),t}};function N(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=t=>{t.preventDefault(),n(D(e.error))}})}var P=class extends l{async(e){this.asyncDone=this.asyncDone.then(()=>e)}constructor(e,t){super(t),this.tx=e,this.store=t,this.asyncDone=Promise.resolve(),this._idb=e.objectStore(t.name)}async keys(){return(await N(this._idb.getAllKeys())).map(Number)}async get(e){let t=await N(this._idb.get(e));return t&&this.store.cache.set(e,new Uint8Array(t)),t}getSync(e,t,n){if(!this.store.cache.has(e))return;let r=new Uint8Array(this.store.cache.get(e));return n??=r.byteLength,r.subarray(t,n)}async set(e,t){this.store.cache.set(e,new Uint8Array(t)),await N(this._idb.put(t,e))}setSync(e,t){this.async(this.set(e,t))}remove(e){return this.store.cache.delete(e),N(this._idb.delete(e))}removeSync(e){this.store.cache.delete(e),this.async(this.remove(e))}async commit(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.oncomplete=()=>t(),this.tx.onerror=()=>n(D(this.tx.error)),this.tx.commit(),e}async abort(){await this.asyncDone;let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return this.tx.onabort=()=>t(),this.tx.onerror=()=>n(D(this.tx.error)),this.tx.abort(),e}};async function F(t,n=globalThis.indexedDB){let r=n.open(t);return r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(t)&&(e(`Found unexpected object store: `+t),n.deleteObjectStore(t)),n.createObjectStore(t)},await N(r)}var I=class{constructor(e){this.db=e,this.cache=new Map}sync(){return Promise.resolve()}get name(){return this.db.name}transaction(){return new P(this.db.transaction(this.name,`readwrite`),this)}},L=new WeakMap;async function R(e){if(!(e instanceof IDBFactory))return!1;try{return(await N(e.open(`__zenfs_test`))).close(),!0}catch{return!1}finally{e?.deleteDatabase(`__zenfs_test`)}}var z={name:`IndexedDB`,options:{storeName:{type:`string`,required:!1},idbFactory:{type:`object`,required:!1}},async isAvailable({idbFactory:e=globalThis.indexedDB}){if(L.has(e))return L.get(e);let t=R(e);return L.set(e,t),t},async create(e){let t=new I(await F(e.storeName||`zenfs`,e.idbFactory)),n=new S(t);if(e?.disableAsyncCache)return i(`Async preloading disabled for IndexedDB`),n;let r=t.transaction();for(let e of await r.keys())await r.get(e);return n}},B=class{get name(){return V.name}constructor(e){this.storage=e}clear(){this.storage.clear()}clearSync(){this.storage.clear()}async sync(){}transaction(){return new y(this)}keys(){return Object.keys(this.storage).map(e=>Number(e))}get(e){let t=this.storage.getItem(e.toString());if(typeof t==`string`)return r(t)}set(e,r){try{this.storage.setItem(e.toString(),t(r))}catch{throw n(`ENOSPC`)}}delete(e){try{this.storage.removeItem(e.toString())}catch(t){throw n(`EIO`,`Unable to delete '${e}': ${t}`)}}},V={name:`WebStorage`,options:{storage:{type:`object`,required:!1}},isAvailable(e){return(e?.storage??globalThis.localStorage)instanceof globalThis.Storage},create({storage:e=globalThis.localStorage}){return new S(new B(e))}};function H(e){let t={};for(let n of u){let r=e.getAttribute(n);r!=null&&(t[n]=parseInt(r,16))}return new C(t)}function U(e,t){for(let n of Object.keys(t))!(n in u)||t[n]===void 0||e.setAttribute(n,t[n].toString(16))}function W(e,t=!1){let n;try{let r=t?e.textContent:e.getAttribute(`paths`);n=JSON.parse(r||`[]`)}catch{n=[]}return n}var G=class extends v(g){constructor(e=new DOMParser().parseFromString(`<fs></fs>`,`application/xml`).documentElement){super(544763244,`xmltmpfs`),this.root=e;try{this.mkdirSync(`/`,{uid:0,gid:0,mode:511})}catch(e){let t=e;if(t.code!=`EEXIST`)throw t}}renameSync(e,t){let n=this.get(`rename`,e);this.remove(`rename`,n,e),this.add(`rename`,n,t)}statSync(e){return H(this.get(`stat`,e))}createFileSync(e,t){let n=this.statSync(b(e)),r=new C({mode:t.mode|o,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`createFile`,e,r),r}unlinkSync(e){let t=this.get(`unlink`,e);if(H(t).mode&16384)throw n(`EISDIR`);this.remove(`unlink`,t,e)}rmdirSync(e){let t=this.get(`rmdir`,e);if(t.textContent?.length)throw n(`ENOTEMPTY`);if(!(H(t).mode&16384))throw n(`ENOTDIR`);this.remove(`rmdir`,t,e)}mkdirSync(e,t){let n=this.statSync(b(e)),r=new C({mode:t.mode|p,uid:n.mode&2048?n.uid:t.uid,gid:n.mode&1024?n.gid:t.gid});return this.create(`mkdir`,e,r).textContent=`[]`,r}readdirSync(e){let t=this.get(`readdir`,e);if(!(H(t).mode&16384))throw n(`ENOTDIR`);try{return JSON.parse(t.textContent)}catch(e){throw n(`EIO`,`Invalid directory listing: `+e)}}linkSync(e,t){let n=this.get(`link`,e);this.add(`link`,n,t)}touchSync(e,t){U(this.get(`touch`,e),t)}syncSync(){}readSync(e,t,n,i){let a=this.get(`read`,e),o=r(a.textContent.slice(n,i));t.set(o)}writeSync(e,n,r){let i=this.get(`write`,e),a=t(n),o=i.textContent.slice(r+a.length);i.textContent=i.textContent.slice(0,r)+a+o}toString(){return new XMLSerializer().serializeToString(this.root)}get(e,t){let r=this.root.children;if(!r)throw n(`EIO`);for(let e=0;e<r.length;e++)if(W(r[e]).includes(t))return r[e];throw n(`ENOENT`)}create(e,t,r){if(this.existsSync(t))throw n(`EEXIST`);let i=document.createElement(`file`);return this.add(e,i,t),U(i,new C({...r,uid:r.mode})),this.root.append(i),i}add(e,t,n,r=!1){let i=W(t,r);if(i.push(n),r){t.textContent=JSON.stringify(i);return}if(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16)),n!=`/`){let t=this.get(e,b(n));this.add(e,t,d(n),!0)}}remove(e,t,n,r=!1){let i=W(t,r),a=i.indexOf(n);if(a!=-1){if(i.splice(a,1),r){t.textContent=JSON.stringify(i);return}if(i.length?(t.setAttribute(`paths`,JSON.stringify(i)),t.setAttribute(`nlink`,i.length.toString(16))):t.remove(),n!=`/`){let t=this.get(e,b(n));this.remove(e,t,d(n),!0)}}}},K={name:`XML`,options:{root:{type:`object`,required:!1}},isAvailable(){return!0},create(e){return new G(e.root)}};export{z as IndexedDB,I as IndexedDBStore,P as IndexedDBTransaction,M as WebAccess,j as WebAccessFS,V as WebStorage,B as WebStorageStore,K as XML,G as XMLFS};
|