@lifo-sh/core 0.5.0 → 0.5.6
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/args-BhoL0JcG.js +58 -0
- package/dist/awk-DahiO6Jl.js +170 -0
- package/dist/base64-Dj_AnQAH.js +92 -0
- package/dist/basename-D8sjWfzX.js +14 -0
- package/dist/bc-CCuJi0IY.js +230 -0
- package/dist/browser-B0dadKCA.js +43 -0
- package/dist/cal-DQsLvArw.js +85 -0
- package/dist/cat-KYGveROo.js +32 -0
- package/dist/chmod-gYZdg3Kv.js +81 -0
- package/dist/chown-DoPi7NLO.js +32 -0
- package/dist/commands/net/curl.d.ts +2 -2
- package/dist/commands/net/curl.d.ts.map +1 -1
- package/dist/commands/net/forward.d.ts +14 -0
- package/dist/commands/net/forward.d.ts.map +1 -0
- package/dist/commands/net/host.d.ts +14 -0
- package/dist/commands/net/host.d.ts.map +1 -0
- package/dist/commands/net/ifconfig.d.ts +8 -0
- package/dist/commands/net/ifconfig.d.ts.map +1 -0
- package/dist/commands/net/ip.d.ts +14 -0
- package/dist/commands/net/ip.d.ts.map +1 -0
- package/dist/commands/net/netstat.d.ts +8 -0
- package/dist/commands/net/netstat.d.ts.map +1 -0
- package/dist/commands/net/ports.d.ts +8 -0
- package/dist/commands/net/ports.d.ts.map +1 -0
- package/dist/commands/net/route.d.ts +8 -0
- package/dist/commands/net/route.d.ts.map +1 -0
- package/dist/commands/net/test-registry.d.ts +8 -0
- package/dist/commands/net/test-registry.d.ts.map +1 -0
- package/dist/commands/net/tunnel-v2.d.ts +4 -0
- package/dist/commands/net/tunnel-v2.d.ts.map +1 -0
- package/dist/commands/net/tunnel.d.ts +6 -0
- package/dist/commands/net/tunnel.d.ts.map +1 -0
- package/dist/commands/registry.d.ts +1 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/system/kill.d.ts +2 -2
- package/dist/commands/system/kill.d.ts.map +1 -1
- package/dist/commands/system/lifo.d.ts +19 -2
- package/dist/commands/system/lifo.d.ts.map +1 -1
- package/dist/commands/system/newtab.d.ts +8 -0
- package/dist/commands/system/newtab.d.ts.map +1 -0
- package/dist/commands/system/node.d.ts +3 -2
- package/dist/commands/system/node.d.ts.map +1 -1
- package/dist/commands/system/npm.d.ts +20 -7
- package/dist/commands/system/npm.d.ts.map +1 -1
- package/dist/commands/system/ps.d.ts +3 -2
- package/dist/commands/system/ps.d.ts.map +1 -1
- package/dist/commands/system/systemctl.d.ts +4 -0
- package/dist/commands/system/systemctl.d.ts.map +1 -0
- package/dist/commands/system/top.d.ts +2 -2
- package/dist/commands/system/top.d.ts.map +1 -1
- package/dist/commands/system/watch.d.ts.map +1 -1
- package/dist/commands/system/whoami.d.ts.map +1 -1
- package/dist/commands/types.d.ts +3 -2
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/cp-BP7-nkZi.js +29 -0
- package/dist/cut-Dg3Sxlw_.js +84 -0
- package/dist/date-DqL4oCg8.js +91 -0
- package/dist/df-CEHqyq91.js +47 -0
- package/dist/diff-aYLFp43G.js +250 -0
- package/dist/dig-0_V5UoWW.js +91 -0
- package/dist/dirname-ByojkmnI.js +14 -0
- package/dist/du-feoEC53Q.js +89 -0
- package/dist/env-CIcDulqw.js +10 -0
- package/dist/fastfetch-CRfsfb4t.js +378 -0
- package/dist/file-BHHCgjt9.js +79 -0
- package/dist/find-C-pGJyTZ.js +63 -0
- package/dist/free-DCkGta9v.js +33 -0
- package/dist/grep-Bv7fu1qw.js +179 -0
- package/dist/gunzip-BZk2000a.js +57 -0
- package/dist/gzip-D55LwDu8.js +70 -0
- package/dist/head-CQQ8pAha.js +66 -0
- package/dist/hostname-Ba0tnCzG.js +8 -0
- package/dist/index-GLjTMF7C.js +22717 -0
- package/dist/index.d.ts +44 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -72
- package/dist/less-C-8XcQ_A.js +294 -0
- package/dist/ln-CpXREm6e.js +15 -0
- package/dist/ls-Ce1mcASB.js +132 -0
- package/dist/{man-Dg26tZ-a.js → man-DjxHeM01.js} +46 -27
- package/dist/mime-B5knsVEw.js +101 -0
- package/dist/mkdir-CtDdaiaM.js +31 -0
- package/dist/mktemp-DwAY8Lz2.js +44 -0
- package/dist/mv-vS020rcy.js +29 -0
- package/dist/nano-DKfqXthq.js +445 -0
- package/dist/nl-DHh-MmKX.js +66 -0
- package/dist/ping-BQO3Z9CT.js +72 -0
- package/dist/pkg/PackageManager.d.ts +2 -2
- package/dist/pkg/PackageManager.d.ts.map +1 -1
- package/dist/pkg/lifo-dev.d.ts +6 -6
- package/dist/pkg/lifo-dev.d.ts.map +1 -1
- package/dist/pkg/lifo-runtime.d.ts +3 -3
- package/dist/pkg/lifo-runtime.d.ts.map +1 -1
- package/dist/pkg/loader.d.ts +2 -2
- package/dist/pkg/loader.d.ts.map +1 -1
- package/dist/printf-CdBVx2dT.js +81 -0
- package/dist/realpath-CZ_ja3FL.js +27 -0
- package/dist/rev-KZ9O5vNS.js +42 -0
- package/dist/rm-dW7YB25j.js +48 -0
- package/dist/rmdir-Db2wctQ6.js +42 -0
- package/dist/runtime/ContextSerialization.d.ts +7 -0
- package/dist/runtime/ContextSerialization.d.ts.map +1 -0
- package/dist/runtime/ProcessExecutor.d.ts +14 -0
- package/dist/runtime/ProcessExecutor.d.ts.map +1 -0
- package/dist/runtime/command-worker.d.ts +9 -0
- package/dist/runtime/command-worker.d.ts.map +1 -0
- package/dist/sandbox/Sandbox.d.ts +1 -2
- package/dist/sandbox/Sandbox.d.ts.map +1 -1
- package/dist/sandbox/SandboxFs.d.ts +2 -2
- package/dist/sandbox/SandboxFs.d.ts.map +1 -1
- package/dist/sandbox/types.d.ts +1 -2
- package/dist/sandbox/types.d.ts.map +1 -1
- package/dist/sed-BK_pjM2M.js +142 -0
- package/dist/seq-B0yurkx9.js +64 -0
- package/dist/sha256sum-BP0l9D35.js +85 -0
- package/dist/shell/ProcessRegistry.d.ts +152 -0
- package/dist/shell/ProcessRegistry.d.ts.map +1 -0
- package/dist/shell/ProcessRegistry.example.d.ts +8 -0
- package/dist/shell/ProcessRegistry.example.d.ts.map +1 -0
- package/dist/shell/ProcessRegistry.test.d.ts +2 -0
- package/dist/shell/ProcessRegistry.test.d.ts.map +1 -0
- package/dist/shell/Shell.d.ts +13 -4
- package/dist/shell/Shell.d.ts.map +1 -1
- package/dist/shell/completer.d.ts +2 -2
- package/dist/shell/completer.d.ts.map +1 -1
- package/dist/shell/expander.d.ts +2 -2
- package/dist/shell/expander.d.ts.map +1 -1
- package/dist/shell/history.d.ts +2 -2
- package/dist/shell/history.d.ts.map +1 -1
- package/dist/shell/interpreter.d.ts +8 -2
- package/dist/shell/interpreter.d.ts.map +1 -1
- package/dist/shell/test-builtin.d.ts +2 -2
- package/dist/shell/test-builtin.d.ts.map +1 -1
- package/dist/sl-BmMNz7ir.js +200 -0
- package/dist/sleep-C_3mjcFi.js +25 -0
- package/dist/sort-DYZuiMaO.js +87 -0
- package/dist/stat-CXSSmsrA.js +38 -0
- package/dist/strings-BwqQy-zL.js +63 -0
- package/dist/tac-CuZSbu_c.js +32 -0
- package/dist/tail-DH7xR0rW.js +62 -0
- package/dist/tar-AnR03GXP.js +155 -0
- package/dist/tee-ByHsMExU.js +29 -0
- package/dist/touch-CcmnMpg5.js +26 -0
- package/dist/tr-D_cg13q8.js +92 -0
- package/dist/tree-Ck1ymlSv.js +64 -0
- package/dist/uname-07bQ7DTD.js +50 -0
- package/dist/uniq-BHkwpex3.js +76 -0
- package/dist/unzip-DVjk3GA4.js +91 -0
- package/dist/uptime-ujk4Nb77.js +17 -0
- package/dist/utils/archive.d.ts +2 -2
- package/dist/utils/archive.d.ts.map +1 -1
- package/dist/utils/glob.d.ts +2 -2
- package/dist/utils/glob.d.ts.map +1 -1
- package/dist/wc-CK9Flybx.js +98 -0
- package/dist/wget-Cww1uNE2.js +84 -0
- package/dist/{which-D3u0cwyh.js → which-CJwCjtVK.js} +25 -14
- package/dist/whoami-EHyrQ1q-.js +25 -0
- package/dist/xargs-I1ZWqhOp.js +40 -0
- package/dist/yes-XolnW6bp.js +11 -0
- package/dist/zip-BTmRwUYQ.js +40 -0
- package/package.json +16 -10
- package/dist/args-CG6b9cZt.js +0 -43
- package/dist/awk-CC_Qo0hQ.js +0 -123
- package/dist/base64-BBckAmkE.js +0 -72
- package/dist/basename-BIICW06y.js +0 -12
- package/dist/bc-BYiKVTNg.js +0 -200
- package/dist/cal-DPULSAhj.js +0 -56
- package/dist/cat-Jv35D4BV.js +0 -29
- package/dist/chmod-Bh-u8XOr.js +0 -56
- package/dist/chown-Dv7xfl2a.js +0 -28
- package/dist/cp-CB-sGTRH.js +0 -19
- package/dist/cut-B79kgCm4.js +0 -65
- package/dist/date-C8NB8v8G.js +0 -86
- package/dist/df-CeZb4WOr.js +0 -34
- package/dist/diff-D5Ej-JEe.js +0 -150
- package/dist/dig-BEJ8Ky96.js +0 -69
- package/dist/dirname-w2Y6csox.js +0 -13
- package/dist/du-UupzdKc_.js +0 -77
- package/dist/env-DXzvDKsN.js +0 -9
- package/dist/fastfetch-aPM9Z3ym.js +0 -310
- package/dist/file-DOl4Wjtc.js +0 -70
- package/dist/find-C0T-P7sl.js +0 -36
- package/dist/free-DAxE4b2U.js +0 -23
- package/dist/grep-Blwrv9k5.js +0 -147
- package/dist/gunzip-R7EtgP15.js +0 -47
- package/dist/gzip-BxF7M1np.js +0 -57
- package/dist/head-CJwcsX18.js +0 -53
- package/dist/hostname-BxU2S3nT.js +0 -8
- package/dist/index-BjKSFBDg.js +0 -8640
- package/dist/kernel/index.d.ts +0 -26
- package/dist/kernel/index.d.ts.map +0 -1
- package/dist/kernel/persistence/PersistenceManager.d.ts +0 -12
- package/dist/kernel/persistence/PersistenceManager.d.ts.map +0 -1
- package/dist/kernel/persistence/backends.d.ts +0 -22
- package/dist/kernel/persistence/backends.d.ts.map +0 -1
- package/dist/kernel/persistence/index.d.ts +0 -6
- package/dist/kernel/persistence/index.d.ts.map +0 -1
- package/dist/kernel/persistence/serializer.d.ts +0 -21
- package/dist/kernel/persistence/serializer.d.ts.map +0 -1
- package/dist/kernel/samples.d.ts +0 -3
- package/dist/kernel/samples.d.ts.map +0 -1
- package/dist/kernel/storage/BlobStore.d.ts +0 -31
- package/dist/kernel/storage/BlobStore.d.ts.map +0 -1
- package/dist/kernel/storage/ContentStore.d.ts +0 -52
- package/dist/kernel/storage/ContentStore.d.ts.map +0 -1
- package/dist/kernel/storage/index.d.ts +0 -7
- package/dist/kernel/storage/index.d.ts.map +0 -1
- package/dist/kernel/vfs/VFS.d.ts +0 -64
- package/dist/kernel/vfs/VFS.d.ts.map +0 -1
- package/dist/kernel/vfs/index.d.ts +0 -7
- package/dist/kernel/vfs/index.d.ts.map +0 -1
- package/dist/kernel/vfs/providers/DevProvider.d.ts +0 -11
- package/dist/kernel/vfs/providers/DevProvider.d.ts.map +0 -1
- package/dist/kernel/vfs/providers/NativeFsProvider.d.ts +0 -63
- package/dist/kernel/vfs/providers/NativeFsProvider.d.ts.map +0 -1
- package/dist/kernel/vfs/providers/ProcProvider.d.ts +0 -14
- package/dist/kernel/vfs/providers/ProcProvider.d.ts.map +0 -1
- package/dist/kernel/vfs/types.d.ts +0 -70
- package/dist/kernel/vfs/types.d.ts.map +0 -1
- package/dist/less-B0gFLJ_7.js +0 -230
- package/dist/ln-Bf3f3jVA.js +0 -11
- package/dist/ls-YnhMRefh.js +0 -106
- package/dist/mkdir-DY1P3Jxj.js +0 -27
- package/dist/mktemp-BRzo2c8y.js +0 -31
- package/dist/mv-bH08L-F_.js +0 -19
- package/dist/nano-CueO2oS0.js +0 -304
- package/dist/nl-D26SSOD4.js +0 -51
- package/dist/node-compat/buffer.d.ts +0 -44
- package/dist/node-compat/buffer.d.ts.map +0 -1
- package/dist/node-compat/child_process.d.ts +0 -10
- package/dist/node-compat/child_process.d.ts.map +0 -1
- package/dist/node-compat/console.d.ts +0 -21
- package/dist/node-compat/console.d.ts.map +0 -1
- package/dist/node-compat/crypto.d.ts +0 -17
- package/dist/node-compat/crypto.d.ts.map +0 -1
- package/dist/node-compat/events.d.ts +0 -19
- package/dist/node-compat/events.d.ts.map +0 -1
- package/dist/node-compat/fs.d.ts +0 -175
- package/dist/node-compat/fs.d.ts.map +0 -1
- package/dist/node-compat/http.d.ts +0 -87
- package/dist/node-compat/http.d.ts.map +0 -1
- package/dist/node-compat/index.d.ts +0 -19
- package/dist/node-compat/index.d.ts.map +0 -1
- package/dist/node-compat/os.d.ts +0 -39
- package/dist/node-compat/os.d.ts.map +0 -1
- package/dist/node-compat/path.d.ts +0 -58
- package/dist/node-compat/path.d.ts.map +0 -1
- package/dist/node-compat/process.d.ts +0 -62
- package/dist/node-compat/process.d.ts.map +0 -1
- package/dist/node-compat/stream.d.ts +0 -36
- package/dist/node-compat/stream.d.ts.map +0 -1
- package/dist/node-compat/string_decoder.d.ts +0 -11
- package/dist/node-compat/string_decoder.d.ts.map +0 -1
- package/dist/node-compat/timers.d.ts +0 -16
- package/dist/node-compat/timers.d.ts.map +0 -1
- package/dist/node-compat/url.d.ts +0 -53
- package/dist/node-compat/url.d.ts.map +0 -1
- package/dist/node-compat/util.d.ts +0 -27
- package/dist/node-compat/util.d.ts.map +0 -1
- package/dist/node-compat/zlib.d.ts +0 -66
- package/dist/node-compat/zlib.d.ts.map +0 -1
- package/dist/ping-DtVEwwda.js +0 -50
- package/dist/printf-Cc2o7KZx.js +0 -70
- package/dist/realpath-BH29Lem_.js +0 -24
- package/dist/rev-ySwmRf_K.js +0 -39
- package/dist/rm-D7iWUUE2.js +0 -37
- package/dist/rmdir-BLtdNjt1.js +0 -35
- package/dist/sed-DwBPYYFb.js +0 -95
- package/dist/seq-B01YKIbO.js +0 -37
- package/dist/sha256sum-DED6ePiU.js +0 -64
- package/dist/sl-Dv4iPBN6.js +0 -138
- package/dist/sleep-B4C3fZiR.js +0 -19
- package/dist/sort-OXqZY83v.js +0 -64
- package/dist/stat-BvwNpE5B.js +0 -29
- package/dist/strings-BesRwUt_.js +0 -42
- package/dist/tac-D4BMSdj9.js +0 -31
- package/dist/tail-xVmLkzJK.js +0 -52
- package/dist/tar-BHRJ0-4j.js +0 -120
- package/dist/tee-DxygINEJ.js +0 -17
- package/dist/touch-DCb9Qn5q.js +0 -23
- package/dist/tr-DsCiwSIu.js +0 -60
- package/dist/tree-4QpgsnA0.js +0 -46
- package/dist/uname-BCn8HlJD.js +0 -37
- package/dist/uniq-xmgE0zRj.js +0 -54
- package/dist/unzip-CDKcoB0B.js +0 -81
- package/dist/uptime-CgBJegqU.js +0 -8
- package/dist/wc-B-jNRfLa.js +0 -69
- package/dist/wget-CO-45JoL.js +0 -53
- package/dist/whoami-Y18wqme3.js +0 -25
- package/dist/xargs-DfbCRFFd.js +0 -35
- package/dist/yes-DXEyHHD2.js +0 -10
- package/dist/zip-Cu1DzbAu.js +0 -33
package/dist/kernel/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { VFS } from './vfs/index.js';
|
|
2
|
-
import { PersistenceBackend } from './persistence/backends.js';
|
|
3
|
-
export interface VirtualRequest {
|
|
4
|
-
method: string;
|
|
5
|
-
url: string;
|
|
6
|
-
headers: Record<string, string>;
|
|
7
|
-
body: string;
|
|
8
|
-
}
|
|
9
|
-
export interface VirtualResponse {
|
|
10
|
-
statusCode: number;
|
|
11
|
-
headers: Record<string, string>;
|
|
12
|
-
body: string;
|
|
13
|
-
}
|
|
14
|
-
export type VirtualRequestHandler = (req: VirtualRequest, res: VirtualResponse) => void;
|
|
15
|
-
export declare class Kernel {
|
|
16
|
-
vfs: VFS;
|
|
17
|
-
portRegistry: Map<number, VirtualRequestHandler>;
|
|
18
|
-
private persistence;
|
|
19
|
-
constructor(backend?: PersistenceBackend);
|
|
20
|
-
boot(options?: {
|
|
21
|
-
persist?: boolean;
|
|
22
|
-
}): Promise<void>;
|
|
23
|
-
initFilesystem(): void;
|
|
24
|
-
getDefaultEnv(): Record<string, string>;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAwCpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAExF,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;IAC7D,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,CAAC,EAAE,kBAAkB;IAOlC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1D,cAAc,IAAI,IAAI;IAgDtB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWxC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { INode } from '../vfs/types.js';
|
|
2
|
-
import { PersistenceBackend } from './backends.js';
|
|
3
|
-
export declare class PersistenceManager {
|
|
4
|
-
private backend;
|
|
5
|
-
private timer;
|
|
6
|
-
constructor(backend: PersistenceBackend);
|
|
7
|
-
open(): Promise<void>;
|
|
8
|
-
load(): Promise<INode | null>;
|
|
9
|
-
save(root: INode): Promise<void>;
|
|
10
|
-
scheduleSave(root: INode): void;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=PersistenceManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceManager.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/PersistenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,KAAK,CAA8C;gBAEvC,OAAO,EAAE,kBAAkB;IAEzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAgB7B,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;CAShC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { SerializedNode } from './serializer.js';
|
|
2
|
-
export interface PersistenceBackend {
|
|
3
|
-
open(): Promise<void>;
|
|
4
|
-
loadTree(): Promise<SerializedNode | null>;
|
|
5
|
-
saveTree(root: SerializedNode): Promise<void>;
|
|
6
|
-
close?(): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export declare class IndexedDBPersistenceBackend implements PersistenceBackend {
|
|
9
|
-
private db;
|
|
10
|
-
open(): Promise<void>;
|
|
11
|
-
loadTree(): Promise<SerializedNode | null>;
|
|
12
|
-
saveTree(root: SerializedNode): Promise<void>;
|
|
13
|
-
close(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export declare class MemoryPersistenceBackend implements PersistenceBackend {
|
|
16
|
-
private tree;
|
|
17
|
-
open(): Promise<void>;
|
|
18
|
-
loadTree(): Promise<SerializedNode | null>;
|
|
19
|
-
saveTree(root: SerializedNode): Promise<void>;
|
|
20
|
-
close(): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=backends.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/backends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAUD,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,EAAE,CAA4B;IAEhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAwB1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B;AAMD,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,IAAI,CAA+B;IAErC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { PersistenceManager } from './PersistenceManager.js';
|
|
2
|
-
export type { PersistenceBackend } from './backends.js';
|
|
3
|
-
export { IndexedDBPersistenceBackend, MemoryPersistenceBackend } from './backends.js';
|
|
4
|
-
export { serialize, deserialize } from './serializer.js';
|
|
5
|
-
export type { SerializedNode } from './serializer.js';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { INode } from '../vfs/types.js';
|
|
2
|
-
export interface SerializedChunkRef {
|
|
3
|
-
h: string;
|
|
4
|
-
s: number;
|
|
5
|
-
}
|
|
6
|
-
export interface SerializedNode {
|
|
7
|
-
t: 'f' | 'd';
|
|
8
|
-
n: string;
|
|
9
|
-
d?: string;
|
|
10
|
-
c?: SerializedNode[];
|
|
11
|
-
ct: number;
|
|
12
|
-
mt: number;
|
|
13
|
-
m: number;
|
|
14
|
-
mi?: string;
|
|
15
|
-
br?: string;
|
|
16
|
-
ch?: SerializedChunkRef[];
|
|
17
|
-
sz?: number;
|
|
18
|
-
}
|
|
19
|
-
export declare function serialize(root: INode): SerializedNode;
|
|
20
|
-
export declare function deserialize(data: SerializedNode): INode;
|
|
21
|
-
//# sourceMappingURL=serializer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAqBD,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc,CAErD;AAiDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,KAAK,CAEvD"}
|
package/dist/kernel/samples.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"samples.d.ts","sourceRoot":"","sources":["../../src/kernel/samples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmB7C"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compute a 64-bit FNV-1a hash of the given bytes and return it as a
|
|
3
|
-
* 16-character lowercase hex string.
|
|
4
|
-
*
|
|
5
|
-
* We split the 64-bit state into two 32-bit halves (high, low) and apply
|
|
6
|
-
* the FNV-1a algorithm byte-by-byte: xor then multiply by the prime.
|
|
7
|
-
*/
|
|
8
|
-
export declare function hashBytes(data: Uint8Array): string;
|
|
9
|
-
export interface BlobStore {
|
|
10
|
-
get(hash: string): Promise<Uint8Array | null>;
|
|
11
|
-
put(data: Uint8Array): Promise<string>;
|
|
12
|
-
delete(hash: string): Promise<void>;
|
|
13
|
-
has(hash: string): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
export declare class MemoryBlobStore implements BlobStore {
|
|
16
|
-
private blobs;
|
|
17
|
-
get(hash: string): Promise<Uint8Array | null>;
|
|
18
|
-
put(data: Uint8Array): Promise<string>;
|
|
19
|
-
delete(hash: string): Promise<void>;
|
|
20
|
-
has(hash: string): Promise<boolean>;
|
|
21
|
-
}
|
|
22
|
-
export declare class IndexedDBBlobStore implements BlobStore {
|
|
23
|
-
private db;
|
|
24
|
-
/** Open (or create) the IndexedDB database. Call before using other methods. */
|
|
25
|
-
open(): Promise<void>;
|
|
26
|
-
get(hash: string): Promise<Uint8Array | null>;
|
|
27
|
-
put(data: Uint8Array): Promise<string>;
|
|
28
|
-
delete(hash: string): Promise<void>;
|
|
29
|
-
has(hash: string): Promise<boolean>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=BlobStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlobStore.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/BlobStore.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgDlD;AAMD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAMD,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,KAAK,CAAiC;IAExC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO7C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAStC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1C;AASD,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,EAAE,CAA4B;IAEtC,gFAAgF;IAC1E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwB7C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB1C"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Synchronous, in-memory content-addressable store with LRU eviction.
|
|
3
|
-
*
|
|
4
|
-
* The VFS API is fully synchronous, so we need a sync cache for file content.
|
|
5
|
-
* Large files (>= CHUNK_THRESHOLD) are split into fixed-size chunks and stored
|
|
6
|
-
* here, keeping INodes lightweight (metadata-only, no inline data).
|
|
7
|
-
*
|
|
8
|
-
* The LRU eviction removes least-recently-accessed entries when the total
|
|
9
|
-
* stored bytes exceed the configured budget.
|
|
10
|
-
*/
|
|
11
|
-
/** Files at or above this size are chunked rather than stored inline. */
|
|
12
|
-
export declare const CHUNK_THRESHOLD: number;
|
|
13
|
-
/** Size of each chunk for large files. */
|
|
14
|
-
export declare const CHUNK_SIZE: number;
|
|
15
|
-
export interface ChunkRef {
|
|
16
|
-
hash: string;
|
|
17
|
-
size: number;
|
|
18
|
-
}
|
|
19
|
-
export declare class ContentStore {
|
|
20
|
-
private cache;
|
|
21
|
-
private accessCounter;
|
|
22
|
-
private totalBytes;
|
|
23
|
-
private maxBytes;
|
|
24
|
-
constructor(maxBytes?: number);
|
|
25
|
-
/** Retrieve a blob by hash. Returns null if not in cache. */
|
|
26
|
-
get(hash: string): Uint8Array | null;
|
|
27
|
-
/** Store a blob. Returns its content hash. Deduplicates by hash. */
|
|
28
|
-
put(data: Uint8Array): string;
|
|
29
|
-
/** Remove a blob from the cache. */
|
|
30
|
-
delete(hash: string): void;
|
|
31
|
-
/** Check if a hash exists in the cache. */
|
|
32
|
-
has(hash: string): boolean;
|
|
33
|
-
/** Current total bytes in cache. */
|
|
34
|
-
get size(): number;
|
|
35
|
-
/** Number of entries in cache. */
|
|
36
|
-
get count(): number;
|
|
37
|
-
/**
|
|
38
|
-
* Split data into chunks, store each, and return the chunk manifest.
|
|
39
|
-
*/
|
|
40
|
-
storeChunked(data: Uint8Array): ChunkRef[];
|
|
41
|
-
/**
|
|
42
|
-
* Reassemble data from a chunk manifest.
|
|
43
|
-
* Returns null if any chunk is missing from cache.
|
|
44
|
-
*/
|
|
45
|
-
loadChunked(chunks: ChunkRef[]): Uint8Array | null;
|
|
46
|
-
/**
|
|
47
|
-
* Remove all chunks in a manifest from the cache.
|
|
48
|
-
*/
|
|
49
|
-
deleteChunked(chunks: ChunkRef[]): void;
|
|
50
|
-
private evict;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=ContentStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentStore.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/ContentStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAkB,CAAC;AAE/C,0CAA0C;AAC1C,eAAO,MAAM,UAAU,QAAa,CAAC;AAIrC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AASD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAyB;IAI/C,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAOpC,oEAAoE;IACpE,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAY7B,oCAAoC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ1B,2CAA2C;IAC3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,oCAAoC;IACpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kCAAkC;IAClC,IAAI,KAAK,IAAI,MAAM,CAElB;IAID;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE;IAW1C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;IAalD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQvC,OAAO,CAAC,KAAK;CAad"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { hashBytes } from './BlobStore.js';
|
|
2
|
-
export type { BlobStore } from './BlobStore.js';
|
|
3
|
-
export { MemoryBlobStore } from './BlobStore.js';
|
|
4
|
-
export { IndexedDBBlobStore } from './BlobStore.js';
|
|
5
|
-
export { ContentStore, CHUNK_THRESHOLD, CHUNK_SIZE } from './ContentStore.js';
|
|
6
|
-
export type { ChunkRef } from './ContentStore.js';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/kernel/vfs/VFS.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { INode, Stat, Dirent, VirtualProvider, MountProvider, VFSWatchListener } from './types.js';
|
|
2
|
-
import { ContentStore } from '../storage/ContentStore.js';
|
|
3
|
-
export declare class VFS {
|
|
4
|
-
private root;
|
|
5
|
-
/**
|
|
6
|
-
* Mount table -- kept sorted longest-prefix-first so that the first match
|
|
7
|
-
* during lookup is always the most specific.
|
|
8
|
-
*/
|
|
9
|
-
private mounts;
|
|
10
|
-
private emitter;
|
|
11
|
-
onChange?: () => void;
|
|
12
|
-
/** Content store for chunked large files. Optional -- without it all data stays inline. */
|
|
13
|
-
readonly contentStore: ContentStore;
|
|
14
|
-
constructor(contentStore?: ContentStore);
|
|
15
|
-
watch(listener: VFSWatchListener): () => void;
|
|
16
|
-
watch(path: string, listener: VFSWatchListener): () => void;
|
|
17
|
-
private notify;
|
|
18
|
-
/**
|
|
19
|
-
* Mount a provider at an arbitrary path.
|
|
20
|
-
* The path is normalised to an absolute path (e.g. "/mnt/project").
|
|
21
|
-
*/
|
|
22
|
-
mount(path: string, provider: VirtualProvider | MountProvider): void;
|
|
23
|
-
/**
|
|
24
|
-
* Unmount the provider at the given path.
|
|
25
|
-
*/
|
|
26
|
-
unmount(path: string): void;
|
|
27
|
-
/**
|
|
28
|
-
* Backward-compatible alias for `mount`.
|
|
29
|
-
* Previously the only way to register a VirtualProvider at a root-level prefix.
|
|
30
|
-
*/
|
|
31
|
-
registerProvider(prefix: string, provider: VirtualProvider): void;
|
|
32
|
-
getRoot(): INode;
|
|
33
|
-
loadFromSerialized(root: INode): void;
|
|
34
|
-
private getProvider;
|
|
35
|
-
private createNode;
|
|
36
|
-
private resolveNode;
|
|
37
|
-
private resolveParent;
|
|
38
|
-
private toAbsolute;
|
|
39
|
-
readFile(path: string): Uint8Array;
|
|
40
|
-
readFileString(path: string): string;
|
|
41
|
-
writeFile(path: string, content: string | Uint8Array): void;
|
|
42
|
-
/**
|
|
43
|
-
* Store file content -- inline for small files, chunked for large files.
|
|
44
|
-
*/
|
|
45
|
-
private applyFileContent;
|
|
46
|
-
appendFile(path: string, content: string | Uint8Array): void;
|
|
47
|
-
exists(path: string): boolean;
|
|
48
|
-
stat(path: string): Stat;
|
|
49
|
-
unlink(path: string): void;
|
|
50
|
-
rename(oldPath: string, newPath: string): void;
|
|
51
|
-
copyFile(src: string, dest: string): void;
|
|
52
|
-
touch(path: string): void;
|
|
53
|
-
mkdir(path: string, options?: {
|
|
54
|
-
recursive?: boolean;
|
|
55
|
-
}): void;
|
|
56
|
-
rmdir(path: string): void;
|
|
57
|
-
readdir(path: string): Dirent[];
|
|
58
|
-
readdirStat(path: string): Array<Dirent & Stat>;
|
|
59
|
-
/**
|
|
60
|
-
* Recursively remove a directory and all its contents.
|
|
61
|
-
*/
|
|
62
|
-
rmdirRecursive(path: string): void;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=VFS.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VFS.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/VFS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAuB,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAmB3E,qBAAa,GAAG;IACd,OAAO,CAAC,IAAI,CAAQ;IACpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAExB,YAAY,CAAC,EAAE,YAAY;IAOvC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAC7C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAwB3D,OAAO,CAAC,MAAM;IAOd;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI;IAepE;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjE,OAAO,IAAI,KAAK;IAIhB,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAMrC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,UAAU;IAMlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAoBlC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqC3D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAmC5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAY7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkBxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8B1B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBzB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA2C5D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA4BzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA0C/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IA+B/C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAiBnC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { VFS } from './VFS.js';
|
|
2
|
-
export { VFSError, ErrorCode } from './types.js';
|
|
3
|
-
export type { INode, ChunkRef, Stat, Dirent, FileType, ErrorCodeType, VirtualProvider, MountProvider, VFSWatchEvent, VFSWatchListener, VFSEventType } from './types.js';
|
|
4
|
-
export { NativeFsProvider } from './providers/NativeFsProvider.js';
|
|
5
|
-
export type { NativeFsModule } from './providers/NativeFsProvider.js';
|
|
6
|
-
export { getMimeType, getFileCategory, isBinaryMime } from '../../utils/mime.js';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxK,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { VirtualProvider, Stat, Dirent } from '../types.js';
|
|
2
|
-
export declare class DevProvider implements VirtualProvider {
|
|
3
|
-
private clipboardCache;
|
|
4
|
-
readFile(subpath: string): Uint8Array;
|
|
5
|
-
readFileString(subpath: string): string;
|
|
6
|
-
writeFile(subpath: string, content: string | Uint8Array): void;
|
|
7
|
-
exists(subpath: string): boolean;
|
|
8
|
-
stat(subpath: string): Stat;
|
|
9
|
-
readdir(subpath: string): Dirent[];
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=DevProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/DevProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMjE,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,cAAc,CAAM;IAE5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAuBrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAuBvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAuB9D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;CAOnC"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { MountProvider, Stat, Dirent } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Minimal interface for the subset of Node.js `fs` sync methods we need.
|
|
4
|
-
* Consumers pass this in so we avoid a hard dependency on `node:fs`.
|
|
5
|
-
*/
|
|
6
|
-
export interface NativeFsModule {
|
|
7
|
-
readFileSync(path: string): Uint8Array;
|
|
8
|
-
writeFileSync(path: string, data: string | Uint8Array): void;
|
|
9
|
-
existsSync(path: string): boolean;
|
|
10
|
-
statSync(path: string): {
|
|
11
|
-
isFile(): boolean;
|
|
12
|
-
isDirectory(): boolean;
|
|
13
|
-
size: number;
|
|
14
|
-
mtimeMs: number;
|
|
15
|
-
ctimeMs: number;
|
|
16
|
-
mode: number;
|
|
17
|
-
};
|
|
18
|
-
readdirSync(path: string, options: {
|
|
19
|
-
withFileTypes: true;
|
|
20
|
-
}): Array<{
|
|
21
|
-
name: string;
|
|
22
|
-
isFile(): boolean;
|
|
23
|
-
isDirectory(): boolean;
|
|
24
|
-
}>;
|
|
25
|
-
unlinkSync(path: string): void;
|
|
26
|
-
mkdirSync(path: string, options?: {
|
|
27
|
-
recursive?: boolean;
|
|
28
|
-
}): void;
|
|
29
|
-
rmdirSync(path: string): void;
|
|
30
|
-
renameSync(oldPath: string, newPath: string): void;
|
|
31
|
-
copyFileSync(src: string, dest: string): void;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* A MountProvider that delegates to a native filesystem via sync Node.js APIs.
|
|
35
|
-
*
|
|
36
|
-
* All subpaths are sandboxed to `rootPath` -- any attempt to escape via `..`
|
|
37
|
-
* is rejected with EINVAL.
|
|
38
|
-
*/
|
|
39
|
-
export declare class NativeFsProvider implements MountProvider {
|
|
40
|
-
private rootPath;
|
|
41
|
-
private fs;
|
|
42
|
-
private readOnly;
|
|
43
|
-
constructor(rootPath: string, fsModule: NativeFsModule, options?: {
|
|
44
|
-
readOnly?: boolean;
|
|
45
|
-
});
|
|
46
|
-
private resolveSafe;
|
|
47
|
-
private assertWritable;
|
|
48
|
-
readFile(subpath: string): Uint8Array;
|
|
49
|
-
readFileString(subpath: string): string;
|
|
50
|
-
exists(subpath: string): boolean;
|
|
51
|
-
stat(subpath: string): Stat;
|
|
52
|
-
readdir(subpath: string): Dirent[];
|
|
53
|
-
writeFile(subpath: string, content: string | Uint8Array): void;
|
|
54
|
-
unlink(subpath: string): void;
|
|
55
|
-
mkdir(subpath: string, options?: {
|
|
56
|
-
recursive?: boolean;
|
|
57
|
-
}): void;
|
|
58
|
-
rmdir(subpath: string): void;
|
|
59
|
-
rename(oldSubpath: string, newSubpath: string): void;
|
|
60
|
-
copyFile(srcSubpath: string, destSubpath: string): void;
|
|
61
|
-
private wrapError;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=NativeFsProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NativeFsProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/NativeFsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG/D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC7D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,IAAI,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,aAAa,EAAE,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,IAAI,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAA;KAAE,CAAC,CAAC;IAChI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAU;gBAEd,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IAWxF,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,cAAc;IAQtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKvC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAelC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAU9D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAU/D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU5B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAWpD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAavD,OAAO,CAAC,SAAS;CAWlB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { VirtualProvider, Stat, Dirent } from '../types.js';
|
|
2
|
-
export declare class ProcProvider implements VirtualProvider {
|
|
3
|
-
private generators;
|
|
4
|
-
constructor();
|
|
5
|
-
private isNetPath;
|
|
6
|
-
private getNetInfo;
|
|
7
|
-
private generate;
|
|
8
|
-
readFile(subpath: string): Uint8Array;
|
|
9
|
-
readFileString(subpath: string): string;
|
|
10
|
-
exists(subpath: string): boolean;
|
|
11
|
-
stat(subpath: string): Stat;
|
|
12
|
-
readdir(subpath: string): Dirent[];
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ProcProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProcProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/ProcProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjE,qBAAa,YAAa,YAAW,eAAe;IAClD,OAAO,CAAC,UAAU,CAAmC;;IAqDrD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,QAAQ;IAehB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAIrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIvC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmB3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;CAgBnC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export type FileType = 'file' | 'directory';
|
|
2
|
-
export type VFSEventType = 'create' | 'modify' | 'delete' | 'rename';
|
|
3
|
-
export interface VFSWatchEvent {
|
|
4
|
-
type: VFSEventType;
|
|
5
|
-
path: string;
|
|
6
|
-
oldPath?: string;
|
|
7
|
-
fileType: FileType;
|
|
8
|
-
}
|
|
9
|
-
export type VFSWatchListener = (event: VFSWatchEvent) => void;
|
|
10
|
-
export interface ChunkRef {
|
|
11
|
-
hash: string;
|
|
12
|
-
size: number;
|
|
13
|
-
}
|
|
14
|
-
export interface INode {
|
|
15
|
-
type: FileType;
|
|
16
|
-
name: string;
|
|
17
|
-
data: Uint8Array;
|
|
18
|
-
children: Map<string, INode>;
|
|
19
|
-
ctime: number;
|
|
20
|
-
mtime: number;
|
|
21
|
-
mode: number;
|
|
22
|
-
mime?: string;
|
|
23
|
-
blobRef?: string;
|
|
24
|
-
chunks?: ChunkRef[];
|
|
25
|
-
storedSize?: number;
|
|
26
|
-
}
|
|
27
|
-
export interface Stat {
|
|
28
|
-
type: FileType;
|
|
29
|
-
size: number;
|
|
30
|
-
ctime: number;
|
|
31
|
-
mtime: number;
|
|
32
|
-
mode: number;
|
|
33
|
-
mime?: string;
|
|
34
|
-
}
|
|
35
|
-
export interface Dirent {
|
|
36
|
-
name: string;
|
|
37
|
-
type: FileType;
|
|
38
|
-
}
|
|
39
|
-
export declare const ErrorCode: {
|
|
40
|
-
readonly ENOENT: "ENOENT";
|
|
41
|
-
readonly EEXIST: "EEXIST";
|
|
42
|
-
readonly ENOTDIR: "ENOTDIR";
|
|
43
|
-
readonly EISDIR: "EISDIR";
|
|
44
|
-
readonly ENOTEMPTY: "ENOTEMPTY";
|
|
45
|
-
readonly EINVAL: "EINVAL";
|
|
46
|
-
};
|
|
47
|
-
export type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
|
|
48
|
-
export interface VirtualProvider {
|
|
49
|
-
readFile(subpath: string): Uint8Array;
|
|
50
|
-
readFileString(subpath: string): string;
|
|
51
|
-
writeFile?(subpath: string, content: string | Uint8Array): void;
|
|
52
|
-
exists(subpath: string): boolean;
|
|
53
|
-
stat(subpath: string): Stat;
|
|
54
|
-
readdir(subpath: string): Dirent[];
|
|
55
|
-
}
|
|
56
|
-
export interface MountProvider extends VirtualProvider {
|
|
57
|
-
writeFile(subpath: string, content: string | Uint8Array): void;
|
|
58
|
-
unlink(subpath: string): void;
|
|
59
|
-
mkdir(subpath: string, options?: {
|
|
60
|
-
recursive?: boolean;
|
|
61
|
-
}): void;
|
|
62
|
-
rmdir(subpath: string): void;
|
|
63
|
-
rename(oldSubpath: string, newSubpath: string): void;
|
|
64
|
-
copyFile(srcSubpath: string, destSubpath: string): void;
|
|
65
|
-
}
|
|
66
|
-
export declare class VFSError extends Error {
|
|
67
|
-
code: ErrorCodeType;
|
|
68
|
-
constructor(code: ErrorCodeType, message: string);
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACzD;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,aAAa,CAAC;gBAER,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM;CAKjD"}
|