@ai-ecoverse/slicc-kernel 1.152.0 → 1.152.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/index.js.map +1 -1
- package/dist/kernel-worker.js +67 -26
- package/dist/kernel-worker.js.map +3 -3
- package/dist/meta.js.map +2 -2
- package/dist/node-process-worker.js +28 -2
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +67 -26
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +28 -2
- package/dist/process-worker.js.map +2 -2
- package/dist/types/fs/opfs.d.ts +4 -2
- package/dist/types/fs/types.d.ts +5 -1
- package/dist/types/kernel/host.d.ts +1 -0
- package/dist/types/kernel/proc-info.d.ts +1 -0
- package/dist/types/launcher.d.ts +1 -0
- package/dist/types/mount/mount-fs.d.ts +4 -1
- package/dist/types/process/wasi/wasi-fds.d.ts +2 -1
- package/dist/types/process/wasi/wasi-files.d.ts +3 -0
- package/dist/types/realm/sync-fs-token-registry.d.ts +3 -1
- package/package.json +1 -1
package/dist/types/fs/opfs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type MetaStore } from './meta.js';
|
|
2
2
|
import { type LockManagerLike, type RemoteListener } from './remote.js';
|
|
3
|
-
import { type CopyOptions, type FsStat, type KernelFs, type NewOwner, type OwnerChange, type Peers, type Perm } from './types.js';
|
|
3
|
+
import { type CopyOptions, type FsStat, type KernelFs, type NewOwner, type OwnerChange, type Peers, type Perm, type PwriteOptions } from './types.js';
|
|
4
4
|
export type OpfsOp = 'lookup' | 'read' | 'write' | 'commit' | 'sidecar';
|
|
5
5
|
export declare function translate(err: unknown, path: string, op?: OpfsOp, mapped?: boolean): Error;
|
|
6
6
|
export interface WriteSession {
|
|
@@ -84,6 +84,8 @@ export declare class OpfsFs implements KernelFs {
|
|
|
84
84
|
private calls;
|
|
85
85
|
private others;
|
|
86
86
|
opfsCalls(): number;
|
|
87
|
+
private idWrites;
|
|
88
|
+
fileIdWrites(): number;
|
|
87
89
|
opfsOps(): number;
|
|
88
90
|
private io;
|
|
89
91
|
private fresh;
|
|
@@ -141,7 +143,7 @@ export declare class OpfsFs implements KernelFs {
|
|
|
141
143
|
}>;
|
|
142
144
|
version(path: string, cached?: boolean): Promise<string>;
|
|
143
145
|
pread(path: string, offset: number, length: number): Promise<Uint8Array>;
|
|
144
|
-
pwrite(path: string, offset: number, bytes: Uint8Array): Promise<void>;
|
|
146
|
+
pwrite(path: string, offset: number, bytes: Uint8Array, _transfer?: boolean, options?: PwriteOptions): Promise<void>;
|
|
145
147
|
private keptFor;
|
|
146
148
|
private writeAt;
|
|
147
149
|
private readonly fileWrites;
|
package/dist/types/fs/types.d.ts
CHANGED
|
@@ -112,7 +112,7 @@ export interface KernelFs {
|
|
|
112
112
|
utimes(path: string, atime: Date, mtime: Date): Promise<void>;
|
|
113
113
|
lutimes?(path: string, atime: Date, mtime: Date): Promise<void>;
|
|
114
114
|
pread?(path: string, offset: number, length: number, version?: string): Promise<Uint8Array>;
|
|
115
|
-
pwrite?(path: string, offset: number, bytes: Uint8Array, transfer?: boolean): Promise<void>;
|
|
115
|
+
pwrite?(path: string, offset: number, bytes: Uint8Array, transfer?: boolean, options?: PwriteOptions): Promise<void>;
|
|
116
116
|
truncate?(path: string, size: number): Promise<void>;
|
|
117
117
|
protect?(prefixes: readonly string[], versions?: boolean): void;
|
|
118
118
|
unguarded?(): KernelFs;
|
|
@@ -133,6 +133,10 @@ export interface KernelFs {
|
|
|
133
133
|
ackMs: readonly number[];
|
|
134
134
|
};
|
|
135
135
|
opfsOps?(): number;
|
|
136
|
+
fileIdWrites?(): number;
|
|
137
|
+
}
|
|
138
|
+
export interface PwriteOptions {
|
|
139
|
+
create?: false;
|
|
136
140
|
}
|
|
137
141
|
export type RangedOps = Required<Pick<KernelFs, 'pread' | 'pwrite' | 'truncate'>>;
|
|
138
142
|
export declare function rangedOps(fs: Partial<RangedOps>): RangedOps | undefined;
|
|
@@ -93,6 +93,7 @@ export interface SpawnWasmOptions {
|
|
|
93
93
|
now: number;
|
|
94
94
|
renames: Array<[string, string]>;
|
|
95
95
|
};
|
|
96
|
+
fileId?: (path: string) => Promise<string> | undefined;
|
|
96
97
|
renameSeq?: (from: string, to: string) => number | undefined;
|
|
97
98
|
mounts?: () => MountLine[];
|
|
98
99
|
mount?: WasmProcessOptions['mount'];
|
package/dist/types/launcher.d.ts
CHANGED
|
@@ -422,6 +422,7 @@ export declare class Launcher {
|
|
|
422
422
|
fsFor(tag: string | undefined): KernelFs;
|
|
423
423
|
isWriter(tags: readonly string[] | undefined, base?: number): boolean;
|
|
424
424
|
private stackFor;
|
|
425
|
+
private rootFileId;
|
|
425
426
|
private flushingPeers;
|
|
426
427
|
private rewritten;
|
|
427
428
|
private flushOpen;
|
|
@@ -54,6 +54,7 @@ export declare class HeldSet extends Set<HeldPaths> {
|
|
|
54
54
|
constructor(idle: (path: string) => void);
|
|
55
55
|
add(holds: HeldPaths): this;
|
|
56
56
|
doubt(paths: readonly string[], over?: string): void;
|
|
57
|
+
bindIds(id: (path: string) => Promise<string> | undefined): Promise<void>;
|
|
57
58
|
delete(holds: HeldPaths): boolean;
|
|
58
59
|
}
|
|
59
60
|
export declare function heldUnder(held: Iterable<Map<string, number>>, target: string): boolean;
|
|
@@ -80,8 +81,10 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
|
|
|
80
81
|
doubt(over: string, exact?: boolean): void;
|
|
81
82
|
boundIno(handle: number): {
|
|
82
83
|
ino: number;
|
|
84
|
+
fid?: string;
|
|
83
85
|
doubt: number;
|
|
84
86
|
} | undefined;
|
|
87
|
+
bindIds(id: (path: string) => Promise<string> | undefined): Promise<void>;
|
|
85
88
|
trust(handle: number, doubt: number): void;
|
|
86
89
|
keptFor(handle: number): KeptFile | undefined;
|
|
87
90
|
holdsHandle(handle: number): boolean;
|
|
@@ -90,7 +93,7 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
|
|
|
90
93
|
unkeep(path: string, file: KeptFile): void;
|
|
91
94
|
private letGo;
|
|
92
95
|
releaseAll(): void;
|
|
93
|
-
hold(path: string, on: boolean, open?: boolean, real?: string, handle?: number, ino?: number): number | undefined;
|
|
96
|
+
hold(path: string, on: boolean, open?: boolean, real?: string, handle?: number, ino?: number, fid?: string): number | undefined;
|
|
94
97
|
private holdOpen;
|
|
95
98
|
private holdWrite;
|
|
96
99
|
own<T>(path: string, op: () => Promise<T>): Promise<T>;
|
|
@@ -3,7 +3,7 @@ import type { HeldCwd } from '../../kernel/held-cwd.js';
|
|
|
3
3
|
import type { WasmSyscall } from '../../kernel/process.js';
|
|
4
4
|
import { type SyncFsBridgeStat, type SyncFsPosixBridge } from '../../realm/sync-fs-wire.js';
|
|
5
5
|
import type { ProcessSys } from '../kernel-streams.js';
|
|
6
|
-
import { FileBuffer, type WasiEntry } from './wasi-files.js';
|
|
6
|
+
import { FileBuffer, LocalFile, type WasiEntry } from './wasi-files.js';
|
|
7
7
|
export interface WasiKernel {
|
|
8
8
|
sys: ProcessSys;
|
|
9
9
|
call(req: WasmSyscall): unknown;
|
|
@@ -109,6 +109,7 @@ export declare class WasiFds {
|
|
|
109
109
|
type: 'kernel';
|
|
110
110
|
}>): boolean;
|
|
111
111
|
flushAll(): void;
|
|
112
|
+
synced(file: LocalFile): void;
|
|
112
113
|
flushEarly(): void;
|
|
113
114
|
reread(fd: number): void;
|
|
114
115
|
flushPath(path: string): void;
|
|
@@ -10,12 +10,14 @@ 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, ino?: number) => number | undefined;
|
|
13
|
+
hold?: (path: string, held: boolean, open: boolean, real?: string, handle?: number, ino?: number, fid?: string) => number | undefined;
|
|
14
14
|
keptFor?: (handle: number) => KeptFile | undefined;
|
|
15
15
|
boundIno?: (handle: number) => {
|
|
16
16
|
ino: number;
|
|
17
|
+
fid?: string;
|
|
17
18
|
doubt: number;
|
|
18
19
|
} | undefined;
|
|
20
|
+
fileId?: (path: string) => Promise<string> | undefined;
|
|
19
21
|
trust?: (handle: number, doubt: number) => void;
|
|
20
22
|
gate?: <T>(path: string, op: () => Promise<T>) => Promise<T>;
|
|
21
23
|
unlinked?: (path: string) => KeptFile | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-kernel",
|
|
3
|
-
"version": "1.152.
|
|
3
|
+
"version": "1.152.1",
|
|
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",
|