@ai-ecoverse/slicc-kernel 1.113.0 → 1.115.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 +41 -1
- package/dist/driver-worker.js +7 -0
- package/dist/driver-worker.js.map +2 -2
- package/dist/index.js +7 -0
- package/dist/index.js.map +2 -2
- package/dist/kernel-worker.js +299 -62
- package/dist/kernel-worker.js.map +4 -4
- package/dist/meta.js.map +2 -2
- package/dist/node-driver-worker.js +7 -0
- package/dist/node-driver-worker.js.map +2 -2
- package/dist/node-process-worker.js +134 -16
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +299 -62
- package/dist/node.js.map +4 -4
- package/dist/process-worker.js +136 -18
- package/dist/process-worker.js.map +3 -3
- package/dist/types/fs/meta.d.ts +1 -0
- package/dist/types/fs/types.d.ts +2 -0
- package/dist/types/kernel/children.d.ts +9 -1
- package/dist/types/kernel/fd-table.d.ts +1 -0
- package/dist/types/kernel/fifo.d.ts +13 -0
- package/dist/types/kernel/host.d.ts +5 -2
- package/dist/types/kernel/jobs.d.ts +4 -3
- package/dist/types/kernel/process.d.ts +18 -4
- package/dist/types/kernel/protocol.d.ts +2 -0
- package/dist/types/kernel/signals.d.ts +21 -0
- package/dist/types/launcher.d.ts +4 -1
- package/dist/types/process/kernel-streams.d.ts +3 -0
- package/dist/types/process/process-fds.d.ts +1 -0
- package/dist/types/process/wasi/wasi-fds.d.ts +3 -0
- package/dist/types/process/wasi/wasi-host.d.ts +1 -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-wire.d.ts +3 -1
- package/package.json +5 -4
package/dist/types/fs/meta.d.ts
CHANGED
package/dist/types/fs/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface FsStat {
|
|
|
3
3
|
isDirectory: boolean;
|
|
4
4
|
isSymbolicLink: boolean;
|
|
5
5
|
isSocket?: boolean;
|
|
6
|
+
isFifo?: boolean;
|
|
6
7
|
size: number;
|
|
7
8
|
mode: number;
|
|
8
9
|
mtime: Date;
|
|
@@ -35,6 +36,7 @@ export interface NewOwner extends Owner {
|
|
|
35
36
|
mode?: number;
|
|
36
37
|
parents?: number;
|
|
37
38
|
socket?: boolean;
|
|
39
|
+
fifo?: boolean;
|
|
38
40
|
}
|
|
39
41
|
export interface OwnerChange {
|
|
40
42
|
uid?: number;
|
|
@@ -45,6 +45,14 @@ export interface ChildHandle {
|
|
|
45
45
|
exited: Promise<number>;
|
|
46
46
|
termsig?: () => number | undefined;
|
|
47
47
|
onState?: (listener: ChildStateListener) => void;
|
|
48
|
+
uid?: () => number | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface ChildEvent {
|
|
51
|
+
pid: number;
|
|
52
|
+
state: 'exited' | 'stopped' | 'continued';
|
|
53
|
+
status: number;
|
|
54
|
+
termsig?: number | undefined;
|
|
55
|
+
uid?: number | undefined;
|
|
48
56
|
}
|
|
49
57
|
export type ChildStateListener = (state: 'stopped' | 'continued', sig: number) => void;
|
|
50
58
|
export interface WaitFlags {
|
|
@@ -68,7 +76,7 @@ export declare function waitStatus(code: number, termsig?: number): number;
|
|
|
68
76
|
export declare class ChildTable {
|
|
69
77
|
private readonly children;
|
|
70
78
|
private readonly leftovers;
|
|
71
|
-
onChildState?: () => void;
|
|
79
|
+
onChildState?: (child?: ChildEvent) => void;
|
|
72
80
|
onReap?: (pid: number) => void;
|
|
73
81
|
autoReap?: () => boolean;
|
|
74
82
|
private readonly kept;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type OpenAccess, OpenFile } from './fd-table.js';
|
|
2
|
+
export declare class FifoTable {
|
|
3
|
+
private readonly fifos;
|
|
4
|
+
size(): number;
|
|
5
|
+
open(key: string, path: string, access: OpenAccess, nonblock: boolean, signal: AbortSignal): Promise<OpenFile>;
|
|
6
|
+
private entry;
|
|
7
|
+
private count;
|
|
8
|
+
private notify;
|
|
9
|
+
private changed;
|
|
10
|
+
private release;
|
|
11
|
+
private drop;
|
|
12
|
+
private end;
|
|
13
|
+
}
|
|
@@ -8,6 +8,7 @@ import type { ClipboardBroker } from './clipboard.js';
|
|
|
8
8
|
import { type CpuTimes } from './cpu-clock.js';
|
|
9
9
|
import { type Cred } from './cred.js';
|
|
10
10
|
import { type FdTable, type OpenFile } from './fd-table.js';
|
|
11
|
+
import type { FifoTable } from './fifo.js';
|
|
11
12
|
import type { JobTable } from './jobs.js';
|
|
12
13
|
import type { LockTable } from './locks.js';
|
|
13
14
|
import type { HttpHandles } from './net/http-syscalls.js';
|
|
@@ -18,6 +19,7 @@ import { type ForkState, type InheritedFd, type Program } from './protocol.js';
|
|
|
18
19
|
import type { PtyTable } from './pty.js';
|
|
19
20
|
import type { SealedBroker } from './sealed.js';
|
|
20
21
|
import type { SemTable } from './sem.js';
|
|
22
|
+
import { type SigInfo } from './signals.js';
|
|
21
23
|
import { type LoopbackNet } from './socket.js';
|
|
22
24
|
import type { VfsNodes } from './vfs-file.js';
|
|
23
25
|
export interface WasmWorkerLike {
|
|
@@ -63,7 +65,7 @@ export interface SpawnWasmOptions {
|
|
|
63
65
|
fork?: ForkState;
|
|
64
66
|
ppid?: number;
|
|
65
67
|
shownPid?: number;
|
|
66
|
-
kill?: (pid: number, sig: number) => boolean | Promise<boolean>;
|
|
68
|
+
kill?: (pid: number, sig: number, info?: SigInfo) => boolean | Promise<boolean>;
|
|
67
69
|
writesBack?: (pid: number) => boolean;
|
|
68
70
|
processes?: () => ProcessListing;
|
|
69
71
|
sudo?: WasmProcessOptions['sudo'];
|
|
@@ -84,6 +86,7 @@ export interface SpawnWasmOptions {
|
|
|
84
86
|
net?: LoopbackNet;
|
|
85
87
|
http?: HttpHandles;
|
|
86
88
|
locks?: LockTable;
|
|
89
|
+
fifos?: FifoTable;
|
|
87
90
|
sems?: SemTable;
|
|
88
91
|
onReap?: (pid: number) => void;
|
|
89
92
|
resolver?: Resolver;
|
|
@@ -92,7 +95,7 @@ export interface WasmProcessHandle {
|
|
|
92
95
|
pid: number;
|
|
93
96
|
exited: Promise<number>;
|
|
94
97
|
kill(code?: number): void;
|
|
95
|
-
signal(sig: number): void;
|
|
98
|
+
signal(sig: number, info?: SigInfo): void;
|
|
96
99
|
termsig(): number | undefined;
|
|
97
100
|
onState(listener: StateListener): void;
|
|
98
101
|
memory(): number;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { SigInfo } from './signals.js';
|
|
1
2
|
import type { KernelTty } from './tty.js';
|
|
2
3
|
export interface JobMember {
|
|
3
4
|
pid: number;
|
|
4
5
|
pgid: number;
|
|
5
6
|
sid: number;
|
|
6
|
-
signal(sig: number): void;
|
|
7
|
+
signal(sig: number, info?: SigInfo): void;
|
|
7
8
|
execParent?: number;
|
|
8
9
|
ppid?: number;
|
|
9
10
|
execed?: boolean;
|
|
@@ -15,7 +16,7 @@ export declare class JobTable {
|
|
|
15
16
|
private readonly foreground;
|
|
16
17
|
private readonly terminals;
|
|
17
18
|
keyboard: boolean;
|
|
18
|
-
add(pid: number, parentPid: number | undefined, signal: (sig: number) => void, terminal?: KernelTty): JobMember;
|
|
19
|
+
add(pid: number, parentPid: number | undefined, signal: (sig: number, info?: SigInfo) => void, terminal?: KernelTty): JobMember;
|
|
19
20
|
list(): JobMember[];
|
|
20
21
|
remove(pid: number): void;
|
|
21
22
|
private prune;
|
|
@@ -40,7 +41,7 @@ export declare class JobTable {
|
|
|
40
41
|
private knownTerminals;
|
|
41
42
|
controllingTerminal(pid: number): KernelTty | null | undefined;
|
|
42
43
|
acquireTerminal(pid: number, tty: KernelTty): boolean;
|
|
43
|
-
killGroup(pgid: number, sig: number, may?: (pid: number) => boolean): boolean;
|
|
44
|
+
killGroup(pgid: number, sig: number, may?: (pid: number) => boolean, info?: SigInfo): boolean;
|
|
44
45
|
tcgetpgrp(tty: KernelTty, fallback: number): number;
|
|
45
46
|
tcsetpgrp(caller: number, tty: KernelTty, pgid: number, settling?: boolean): void;
|
|
46
47
|
private reclaimed;
|
|
@@ -11,6 +11,7 @@ import type { ClipboardBroker } from './clipboard.js';
|
|
|
11
11
|
import { type Cred, type CredChange } from './cred.js';
|
|
12
12
|
import { type EpollSyscall } from './epoll.js';
|
|
13
13
|
import { type DeviceAccess, type FdTable, type HeldMeta, type KernelFdKind, type OpenFile } from './fd-table.js';
|
|
14
|
+
import type { FifoTable } from './fifo.js';
|
|
14
15
|
import { type HostSyscall } from './host-ops.js';
|
|
15
16
|
import type { JobTable } from './jobs.js';
|
|
16
17
|
import type { LockTable } from './locks.js';
|
|
@@ -22,7 +23,7 @@ import { type PtySyscall, type PtyTable } from './pty.js';
|
|
|
22
23
|
import { type RunRequest } from './run-child.js';
|
|
23
24
|
import type { SealedBroker, SealedCaller } from './sealed.js';
|
|
24
25
|
import { type SemSyscall, type SemTable } from './sem.js';
|
|
25
|
-
import { type DefaultAction } from './signals.js';
|
|
26
|
+
import { type DefaultAction, type SigInfo } from './signals.js';
|
|
26
27
|
import { LoopbackNet } from './socket.js';
|
|
27
28
|
import { type SocketSyscall } from './socket-syscalls.js';
|
|
28
29
|
import type { Termios } from './tty.js';
|
|
@@ -61,6 +62,7 @@ export type WasmSyscall = {
|
|
|
61
62
|
existing?: boolean;
|
|
62
63
|
pin?: VersionPin;
|
|
63
64
|
handle?: number;
|
|
65
|
+
fifo?: boolean;
|
|
64
66
|
} | {
|
|
65
67
|
op: 'fd-pread';
|
|
66
68
|
fd: number;
|
|
@@ -323,6 +325,10 @@ export type WasmSyscall = {
|
|
|
323
325
|
op: 'sig-waiting';
|
|
324
326
|
tid: number;
|
|
325
327
|
set: number;
|
|
328
|
+
} | {
|
|
329
|
+
op: 'sig-info';
|
|
330
|
+
sig: number;
|
|
331
|
+
tid?: number;
|
|
326
332
|
} | {
|
|
327
333
|
op: 'sig-pause';
|
|
328
334
|
} | SocketSyscall | EpollSyscall | SemSyscall | HttpSyscall | PtySyscall | HostSyscall;
|
|
@@ -365,7 +371,7 @@ export interface WasmProcessOptions {
|
|
|
365
371
|
spawner?: ChildSpawner;
|
|
366
372
|
forker?: ChildForker;
|
|
367
373
|
fs: VfsFileFs;
|
|
368
|
-
kill?: (pid: number, sig: number) => boolean | Promise<boolean>;
|
|
374
|
+
kill?: (pid: number, sig: number, info?: SigInfo) => boolean | Promise<boolean>;
|
|
369
375
|
writesBack?: (pid: number) => boolean;
|
|
370
376
|
processes?: () => ProcessListing;
|
|
371
377
|
sudo?: (call: SudoCall, signal: AbortSignal) => Promise<SudoResult>;
|
|
@@ -385,7 +391,7 @@ export interface WasmProcessOptions {
|
|
|
385
391
|
pendingBits?: () => number;
|
|
386
392
|
blockedBits?: () => number;
|
|
387
393
|
dl?: DlState;
|
|
388
|
-
raise?: (sig: number) => void;
|
|
394
|
+
raise?: (sig: number, info?: SigInfo) => void;
|
|
389
395
|
exitNow?: (status: number) => void;
|
|
390
396
|
exitSignal?: (sig: number) => void;
|
|
391
397
|
onReap?: (pid: number) => void;
|
|
@@ -394,6 +400,7 @@ export interface WasmProcessOptions {
|
|
|
394
400
|
net?: LoopbackNet;
|
|
395
401
|
http?: HttpHandles;
|
|
396
402
|
locks?: LockTable;
|
|
403
|
+
fifos?: FifoTable;
|
|
397
404
|
sems?: SemTable;
|
|
398
405
|
resolver?: Resolver;
|
|
399
406
|
}
|
|
@@ -434,7 +441,13 @@ export declare class WasmProcess {
|
|
|
434
441
|
caught: number;
|
|
435
442
|
};
|
|
436
443
|
inheritable(fork?: boolean): number;
|
|
437
|
-
|
|
444
|
+
private readonly sigInfos;
|
|
445
|
+
signal(sig: number, info?: SigInfo): SignalOutcome;
|
|
446
|
+
private threadKill;
|
|
447
|
+
private threadSender;
|
|
448
|
+
private childInfo;
|
|
449
|
+
private takeSigInfo;
|
|
450
|
+
private signalOutcome;
|
|
438
451
|
private routeBlocked;
|
|
439
452
|
private spawn;
|
|
440
453
|
private onDeath;
|
|
@@ -472,6 +485,7 @@ export declare class WasmProcess {
|
|
|
472
485
|
private clipboardComplaint;
|
|
473
486
|
private write;
|
|
474
487
|
private openVfs;
|
|
488
|
+
private openFifo;
|
|
475
489
|
private openDevice;
|
|
476
490
|
private identified;
|
|
477
491
|
private writesAt;
|
|
@@ -55,6 +55,7 @@ export interface KernelStreamEntry {
|
|
|
55
55
|
flags?: number;
|
|
56
56
|
cloexec?: boolean;
|
|
57
57
|
desc?: number;
|
|
58
|
+
fifo?: string;
|
|
58
59
|
}
|
|
59
60
|
export type ForkStream = KernelStreamEntry | {
|
|
60
61
|
fd: number;
|
|
@@ -68,6 +69,7 @@ export interface InheritedFd {
|
|
|
68
69
|
flags?: number;
|
|
69
70
|
cloexec?: boolean;
|
|
70
71
|
desc?: number;
|
|
72
|
+
fifo?: string;
|
|
71
73
|
}
|
|
72
74
|
export interface WasmProcessInitMsg {
|
|
73
75
|
type: typeof WASM_PROCESS_INIT;
|
|
@@ -42,3 +42,24 @@ export declare function signalField(sig: number | undefined): {
|
|
|
42
42
|
signal?: string;
|
|
43
43
|
};
|
|
44
44
|
export declare const SIGNAL_BY_NAME: Readonly<Record<'SIGINT' | 'SIGTERM' | 'SIGKILL' | 'SIGSTOP' | 'SIGCONT', number>>;
|
|
45
|
+
export interface SigInfo {
|
|
46
|
+
code: number;
|
|
47
|
+
pid: number;
|
|
48
|
+
uid: number;
|
|
49
|
+
status: number;
|
|
50
|
+
}
|
|
51
|
+
export declare const SI: {
|
|
52
|
+
readonly USER: 0;
|
|
53
|
+
readonly QUEUE: -1;
|
|
54
|
+
readonly TIMER: -2;
|
|
55
|
+
readonly TKILL: -6;
|
|
56
|
+
readonly KERNEL: 128;
|
|
57
|
+
};
|
|
58
|
+
export declare const CLD: {
|
|
59
|
+
readonly EXITED: 1;
|
|
60
|
+
readonly KILLED: 2;
|
|
61
|
+
readonly DUMPED: 3;
|
|
62
|
+
readonly STOPPED: 5;
|
|
63
|
+
readonly CONTINUED: 6;
|
|
64
|
+
};
|
|
65
|
+
export declare const KERNEL_SIGINFO: Readonly<SigInfo>;
|
package/dist/types/launcher.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type { RealmTransport } from './kernel/net/transport.js';
|
|
|
22
22
|
import type { NetworkUplink } from './kernel/net/uplink.js';
|
|
23
23
|
import type { ProcessInfo } from './kernel/proc-info.js';
|
|
24
24
|
import { type SealedCaller, type SealedHook } from './kernel/sealed.js';
|
|
25
|
+
import { type SigInfo } from './kernel/signals.js';
|
|
25
26
|
import { LoopbackNet } from './kernel/socket.js';
|
|
26
27
|
import { type MediumHandle } from './mount/fsa.js';
|
|
27
28
|
import { type FstabResult } from './mount/fstab.js';
|
|
@@ -179,6 +180,7 @@ export declare class Launcher {
|
|
|
179
180
|
private readonly sudoer;
|
|
180
181
|
private readonly jobs;
|
|
181
182
|
private readonly locks;
|
|
183
|
+
private readonly fifos;
|
|
182
184
|
private readonly sems;
|
|
183
185
|
private readonly settling;
|
|
184
186
|
private readonly ptys;
|
|
@@ -345,7 +347,8 @@ export declare class Launcher {
|
|
|
345
347
|
private controlsJobs;
|
|
346
348
|
private blockedBy;
|
|
347
349
|
private ignoredBy;
|
|
348
|
-
kill(pid: number, sig: number, sender?: Readonly<Cred>, from?: number): boolean;
|
|
350
|
+
kill(pid: number, sig: number, sender?: Readonly<Cred>, from?: number, forwarded?: SigInfo): boolean;
|
|
351
|
+
private senderInfo;
|
|
349
352
|
private killAll;
|
|
350
353
|
private driver;
|
|
351
354
|
private fsaDriver;
|
|
@@ -34,6 +34,7 @@ export interface ProcessSys {
|
|
|
34
34
|
size: number;
|
|
35
35
|
};
|
|
36
36
|
handle?: number;
|
|
37
|
+
fifo?: boolean;
|
|
37
38
|
}): number;
|
|
38
39
|
seek(fd: number, offset: number, whence: number): number;
|
|
39
40
|
flush(fd: number): void;
|
|
@@ -82,6 +83,7 @@ export interface ProcessStream {
|
|
|
82
83
|
sliccKernelFile?: boolean;
|
|
83
84
|
sliccCloexec?: boolean;
|
|
84
85
|
sliccKernelSocket?: boolean;
|
|
86
|
+
sliccKernelFifo?: string;
|
|
85
87
|
path?: string;
|
|
86
88
|
flags: number;
|
|
87
89
|
position: number;
|
|
@@ -147,6 +149,7 @@ export declare class KernelStreams {
|
|
|
147
149
|
private readonly options;
|
|
148
150
|
constructor(Fs: ProcessFs, sys: ProcessSys, options?: KernelStreamOptions);
|
|
149
151
|
attach(stream: ProcessStream, kfd: number, terminal?: boolean): void;
|
|
152
|
+
attachFifo(stream: ProcessStream, path: string): void;
|
|
150
153
|
attachSocket(stream: ProcessStream, kfd: number): void;
|
|
151
154
|
socketStream(flags: number): ProcessStream;
|
|
152
155
|
nameTerminal(stream: ProcessStream): void;
|
|
@@ -78,6 +78,7 @@ export declare function useFileMmap(Fs: ProcessFs, deps: MmapDeps): void;
|
|
|
78
78
|
export declare function wasmMemory(instance: WebAssembly.Instance, imports: WebAssembly.Imports): WebAssembly.Memory | undefined;
|
|
79
79
|
export declare function fdOfPath(path: string, cwd: string): number | undefined;
|
|
80
80
|
export declare function useZeroDevices(Fs: ProcessFs): void;
|
|
81
|
+
export declare function useFifoOpens(Fs: ProcessFs, attach?: (stream: ProcessStream, path: string) => void): void;
|
|
81
82
|
export declare function useDevRemoval(Fs: ProcessFs): void;
|
|
82
83
|
export declare function useDevFd(Fs: ProcessFs): void;
|
|
83
84
|
export declare function pinRootKind(): void;
|
|
@@ -123,6 +123,9 @@ export declare class WasiFds {
|
|
|
123
123
|
private file;
|
|
124
124
|
private freshBuffer;
|
|
125
125
|
private kernelFile;
|
|
126
|
+
private kernelFifo;
|
|
127
|
+
restartable: (() => boolean) | undefined;
|
|
128
|
+
private restarting;
|
|
126
129
|
private createNew;
|
|
127
130
|
private isLink;
|
|
128
131
|
private statOrMissing;
|
|
@@ -105,6 +105,7 @@ export interface LiveFsApi {
|
|
|
105
105
|
sliccTouch?: boolean;
|
|
106
106
|
sliccReading?: LiveFsNode | undefined;
|
|
107
107
|
sliccCred?: LiveCred;
|
|
108
|
+
sliccOpenFifo?(stream: LiveFsStream, path: string): void;
|
|
108
109
|
nameTable?: (LiveFsNode | null)[] | null;
|
|
109
110
|
hashRemoveNode?(node: LiveFsNode): void;
|
|
110
111
|
lookupNode?(parent: LiveFsNode, name: string): LiveFsNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChangeView } from '../fs/changes.js';
|
|
2
|
-
export declare const SYNC_FS_OPS: readonly ['read', 'write', 'exists', 'stat', 'lstat', 'readdir', 'readdir-stat', 'mkdir', 'rm', 'rename', 'link', 'unlink', 'rmdir', 'symlink', 'readlink', 'chmod', 'utimes', 'lutimes', 'statfs', 'hold', 'create', 'kept', 'pread', 'pwrite', 'append', 'truncate', 'chown', 'lchown', 'access'];
|
|
2
|
+
export declare const SYNC_FS_OPS: readonly ['read', 'write', 'exists', 'stat', 'lstat', 'readdir', 'readdir-stat', 'mkdir', 'rm', 'rename', 'link', 'unlink', 'rmdir', 'symlink', 'readlink', 'chmod', 'utimes', 'lutimes', 'statfs', 'hold', 'create', 'mkfifo', 'kept', 'pread', 'pwrite', 'append', 'truncate', 'chown', 'lchown', 'access'];
|
|
3
3
|
export type AccessKind = 'open' | 'access' | 'eaccess' | 'follow';
|
|
4
4
|
export declare const HOLD_READ = 4;
|
|
5
5
|
export declare const HOLD_WRITE = 8;
|
|
@@ -48,6 +48,7 @@ export interface SyncFsBridgeStat {
|
|
|
48
48
|
isDirectory: boolean;
|
|
49
49
|
isSymbolicLink?: boolean;
|
|
50
50
|
isSocket?: boolean;
|
|
51
|
+
isFifo?: boolean;
|
|
51
52
|
size: number;
|
|
52
53
|
mode?: number;
|
|
53
54
|
mtimeMs?: number;
|
|
@@ -101,6 +102,7 @@ export interface SyncFsPosixBridge {
|
|
|
101
102
|
hold?(path: string, held: boolean, open?: boolean, handle?: number, want?: number): number | undefined;
|
|
102
103
|
access?(path: string, mode: number, kind?: AccessKind, nofollow?: boolean): void;
|
|
103
104
|
create?(path: string, mode?: number, opening?: boolean): void;
|
|
105
|
+
mkfifo?(path: string, mode: number): void;
|
|
104
106
|
chown?(path: string, ...rest: ChownArgs): void;
|
|
105
107
|
owners?: boolean;
|
|
106
108
|
links?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-kernel",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.115.0",
|
|
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",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@ai-ecoverse/py-numpy": "2.3.2-10",
|
|
67
67
|
"@ai-ecoverse/slicc-node": "2.5.1",
|
|
68
68
|
"@ai-ecoverse/slicc-scrub": "1.0.0",
|
|
69
|
-
"@ai-ecoverse/slicc-shared-web": "1.23.
|
|
69
|
+
"@ai-ecoverse/slicc-shared-web": "1.23.1",
|
|
70
70
|
"@ai-ecoverse/wasi-cargo": "0.99.0-2",
|
|
71
71
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-9",
|
|
72
72
|
"@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
|
|
@@ -77,11 +77,12 @@
|
|
|
77
77
|
"@ai-ecoverse/wasm-coreutils": "9.12.0-9",
|
|
78
78
|
"@ai-ecoverse/wasm-curl": "8.22.0-5",
|
|
79
79
|
"@ai-ecoverse/wasm-git": "2.55.0-15",
|
|
80
|
+
"@ai-ecoverse/wasm-gmake": "4.4.1-5",
|
|
80
81
|
"@ai-ecoverse/wasm-procps": "4.0.7-3",
|
|
81
|
-
"@ai-ecoverse/wasm-sqlite3": "3.54.0-
|
|
82
|
+
"@ai-ecoverse/wasm-sqlite3": "3.54.0-5",
|
|
82
83
|
"@ai-ecoverse/wasm-tar": "1.35.0-7",
|
|
83
84
|
"@ai-ecoverse/wasm-tls-engine": "4.2.0-1",
|
|
84
|
-
"@ai-ecoverse/wasm-tree": "2.3.2-
|
|
85
|
+
"@ai-ecoverse/wasm-tree": "2.3.2-4",
|
|
85
86
|
"@ai-ecoverse/wasm-util-linux": "2.42.4-3",
|
|
86
87
|
"@biomejs/biome": "2.5.15",
|
|
87
88
|
"@types/node": "24.19.2",
|