@ai-ecoverse/slicc-kernel 1.146.3 → 1.146.5
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 +4 -0
- package/dist/kernel-worker.js +123 -18
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-process-worker.js +78 -15
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +123 -18
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +78 -15
- package/dist/process-worker.js.map +3 -3
- package/dist/types/fs/ranged.d.ts +1 -0
- package/dist/types/kernel/proc-info.d.ts +1 -0
- package/dist/types/mount/mount-fs.d.ts +11 -1
- package/dist/types/process/wasi/wasi-fds.d.ts +1 -0
- package/dist/types/process/wasi/wasi-files.d.ts +2 -0
- package/dist/types/realm/live-vfs-fs.d.ts +1 -0
- package/dist/types/realm/sync-fs-dispatch.d.ts +1 -0
- package/dist/types/realm/sync-fs-token-registry.d.ts +6 -1
- package/dist/types/realm/sync-fs-wire.d.ts +2 -0
- package/package.json +3 -4
|
@@ -53,6 +53,7 @@ export declare class HeldSet extends Set<HeldPaths> {
|
|
|
53
53
|
private readonly idle;
|
|
54
54
|
constructor(idle: (path: string) => void);
|
|
55
55
|
add(holds: HeldPaths): this;
|
|
56
|
+
doubt(paths: readonly string[], over?: string): void;
|
|
56
57
|
delete(holds: HeldPaths): boolean;
|
|
57
58
|
}
|
|
58
59
|
export declare function heldUnder(held: Iterable<Map<string, number>>, target: string): boolean;
|
|
@@ -66,6 +67,9 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
|
|
|
66
67
|
private readonly uses;
|
|
67
68
|
private lastHandle;
|
|
68
69
|
private owning;
|
|
70
|
+
private readonly bound;
|
|
71
|
+
private readonly doubted;
|
|
72
|
+
private doubts;
|
|
69
73
|
onIdle?: (path: string) => void;
|
|
70
74
|
keyOf(path: string): string;
|
|
71
75
|
keptAt(path: string): KeptFile | undefined;
|
|
@@ -73,6 +77,12 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
|
|
|
73
77
|
held(): Iterable<string>;
|
|
74
78
|
isKept(path: string): boolean;
|
|
75
79
|
private handlesAt;
|
|
80
|
+
doubt(over: string, exact?: boolean): void;
|
|
81
|
+
boundIno(handle: number): {
|
|
82
|
+
ino: number;
|
|
83
|
+
doubt: number;
|
|
84
|
+
} | undefined;
|
|
85
|
+
trust(handle: number, doubt: number): void;
|
|
76
86
|
keptFor(handle: number): KeptFile | undefined;
|
|
77
87
|
holdsHandle(handle: number): boolean;
|
|
78
88
|
keeps(hidden: string): boolean;
|
|
@@ -80,7 +90,7 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
|
|
|
80
90
|
unkeep(path: string, file: KeptFile): void;
|
|
81
91
|
private letGo;
|
|
82
92
|
releaseAll(): void;
|
|
83
|
-
hold(path: string, on: boolean, open?: boolean, real?: string, handle?: number): number | undefined;
|
|
93
|
+
hold(path: string, on: boolean, open?: boolean, real?: string, handle?: number, ino?: number): number | undefined;
|
|
84
94
|
private holdOpen;
|
|
85
95
|
private holdWrite;
|
|
86
96
|
own<T>(path: string, op: () => Promise<T>): Promise<T>;
|
|
@@ -113,6 +113,7 @@ export declare class WasiFds {
|
|
|
113
113
|
reread(fd: number): void;
|
|
114
114
|
flushPath(path: string): void;
|
|
115
115
|
holdsUnder(path: string): boolean;
|
|
116
|
+
replacing(path: string): void;
|
|
116
117
|
unlinking(path: string, linked?: SyncFsBridgeStat): void;
|
|
117
118
|
unlinked(path: string, linked?: SyncFsBridgeStat): void;
|
|
118
119
|
private openedIno;
|
|
@@ -24,6 +24,7 @@ export declare class FileBuffer {
|
|
|
24
24
|
maxFile: number | undefined;
|
|
25
25
|
handle: number | undefined;
|
|
26
26
|
moved: ((missing: boolean) => boolean) | undefined;
|
|
27
|
+
bound: SyncFsBridgeStat | undefined;
|
|
27
28
|
constructor(fs: SyncFsFileIo, path: string, empty: boolean, maxFile?: number, size?: number, version?: string, watch?: RangedWatch);
|
|
28
29
|
get path(): string;
|
|
29
30
|
private retried;
|
|
@@ -31,6 +32,7 @@ export declare class FileBuffer {
|
|
|
31
32
|
get isRanged(): boolean;
|
|
32
33
|
get pin(): string | undefined;
|
|
33
34
|
keep(): void;
|
|
35
|
+
prefetch(): void;
|
|
34
36
|
load(): Uint8Array;
|
|
35
37
|
size(): number;
|
|
36
38
|
pread(max: number, at: number): Uint8Array;
|
|
@@ -27,4 +27,5 @@ export interface SyncFsStatJson {
|
|
|
27
27
|
}
|
|
28
28
|
export declare function guardOf(entry: SyncFsTokenEntry): Guard | undefined;
|
|
29
29
|
export declare function servedFsCalls(): number;
|
|
30
|
+
export declare function staleFdCount(): number;
|
|
30
31
|
export declare function dispatchSyncFs(req: SyncFsRequest): Promise<SyncFsResult>;
|
|
@@ -10,8 +10,13 @@ export interface SyncFsTokenEntry {
|
|
|
10
10
|
quota: number;
|
|
11
11
|
usage: number;
|
|
12
12
|
} | undefined>;
|
|
13
|
-
hold?: (path: string, held: boolean, open: boolean, real?: string, handle?: number) => number | undefined;
|
|
13
|
+
hold?: (path: string, held: boolean, open: boolean, real?: string, handle?: number, ino?: number) => number | undefined;
|
|
14
14
|
keptFor?: (handle: number) => KeptFile | undefined;
|
|
15
|
+
boundIno?: (handle: number) => {
|
|
16
|
+
ino: number;
|
|
17
|
+
doubt: number;
|
|
18
|
+
} | undefined;
|
|
19
|
+
trust?: (handle: number, doubt: number) => void;
|
|
15
20
|
gate?: <T>(path: string, op: () => Promise<T>) => Promise<T>;
|
|
16
21
|
unlinked?: (path: string) => KeptFile | undefined;
|
|
17
22
|
own?: <T>(path: string, op: () => Promise<T>) => Promise<T>;
|
|
@@ -19,6 +19,7 @@ export interface SyncFsRequest {
|
|
|
19
19
|
version?: string;
|
|
20
20
|
handle?: number;
|
|
21
21
|
gen?: number;
|
|
22
|
+
ino?: number;
|
|
22
23
|
uid?: number;
|
|
23
24
|
gid?: number;
|
|
24
25
|
exclusive?: boolean;
|
|
@@ -112,6 +113,7 @@ export interface SyncFsPosixBridge {
|
|
|
112
113
|
hold?(path: string, held: boolean, open?: boolean, handle?: number, want?: number, seen?: {
|
|
113
114
|
gen?: number;
|
|
114
115
|
nofollow?: boolean;
|
|
116
|
+
ino?: number;
|
|
115
117
|
}): number | undefined;
|
|
116
118
|
access?(path: string, mode: number, kind?: AccessKind, nofollow?: boolean): void;
|
|
117
119
|
create?(path: string, mode?: number, opening?: boolean): SyncFsCreated | undefined | void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-kernel",
|
|
3
|
-
"version": "1.146.
|
|
3
|
+
"version": "1.146.5",
|
|
4
4
|
"description": "SLICC's wasm-realm kernel: run Emscripten programs in the browser against OPFS, with fork, spawn, pipes and waitpid",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -64,10 +64,10 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@ai-ecoverse/py-numpy": "2.5.4-4",
|
|
67
|
-
"@ai-ecoverse/slicc-cdp": "1.31.
|
|
67
|
+
"@ai-ecoverse/slicc-cdp": "1.31.4",
|
|
68
68
|
"@ai-ecoverse/slicc-node": "2.5.2",
|
|
69
69
|
"@ai-ecoverse/slicc-scrub": "1.0.0",
|
|
70
|
-
"@ai-ecoverse/slicc-shared-web": "2.
|
|
70
|
+
"@ai-ecoverse/slicc-shared-web": "2.10.1",
|
|
71
71
|
"@ai-ecoverse/wasi-cargo": "0.99.0-6",
|
|
72
72
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-21",
|
|
73
73
|
"@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
|
|
@@ -83,7 +83,6 @@
|
|
|
83
83
|
"@ai-ecoverse/wasm-sqlite3": "3.54.0-8",
|
|
84
84
|
"@ai-ecoverse/wasm-tar": "1.35.0-9",
|
|
85
85
|
"@ai-ecoverse/wasm-tls-engine": "4.2.0-8",
|
|
86
|
-
"@ai-ecoverse/wasm-tree": "2.3.2-7",
|
|
87
86
|
"@ai-ecoverse/wasm-util-linux": "2.42.4-7",
|
|
88
87
|
"@biomejs/biome": "2.5.15",
|
|
89
88
|
"@types/node": "24.19.2",
|