@ai-ecoverse/slicc-kernel 1.63.0 → 1.64.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/README.md +2 -1
- package/dist/kernel-worker.js +101 -13
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-process-worker.js +22 -2
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +101 -13
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +22 -2
- package/dist/process-worker.js.map +2 -2
- package/package.json +2 -2
|
@@ -6895,12 +6895,27 @@ var init_kernel_streams = __esm({
|
|
|
6895
6895
|
const original = fs[name2];
|
|
6896
6896
|
if (typeof original !== "function") continue;
|
|
6897
6897
|
fs[name2] = (path, ...rest2) => {
|
|
6898
|
-
|
|
6898
|
+
const owned = this.ownedTty(path);
|
|
6899
|
+
if (owned && isPtyPath(path)) return this.owned(path, ptyStat(path));
|
|
6900
|
+
if (!isPtyPath(path)) {
|
|
6901
|
+
const st = original.call(fs, path, ...rest2);
|
|
6902
|
+
return owned && TTY_PATH.test(path) ? this.owned(path, st) : st;
|
|
6903
|
+
}
|
|
6899
6904
|
this.existingPty(path);
|
|
6900
6905
|
return ptyStat(path);
|
|
6901
6906
|
};
|
|
6902
6907
|
}
|
|
6903
6908
|
}
|
|
6909
|
+
ownedTty(path) {
|
|
6910
|
+
return this.options.owners === true && this.sys.ttyOwner !== void 0 && path !== "/dev/ptmx";
|
|
6911
|
+
}
|
|
6912
|
+
owned(path, st) {
|
|
6913
|
+
const ask = this.sys.ttyOwner;
|
|
6914
|
+
const owner = this.call(() => ask.call(this.sys, path));
|
|
6915
|
+
if (!owner) return st;
|
|
6916
|
+
const mode = st.mode & ~4095 | (owner.mode ?? 400);
|
|
6917
|
+
return { ...st, uid: owner.uid, gid: owner.gid, mode };
|
|
6918
|
+
}
|
|
6904
6919
|
existingPty(path) {
|
|
6905
6920
|
const n = PTY_PATH.exec(path)?.[1];
|
|
6906
6921
|
const exists = n === void 0 ? this.sys.openPty !== void 0 : this.sys.ptyNumbers?.().includes(Number(n)) ?? false;
|
|
@@ -7734,6 +7749,7 @@ var init_process_fds = __esm({
|
|
|
7734
7749
|
AT_FDCWD = -100;
|
|
7735
7750
|
AT_EACCESS2 = 512;
|
|
7736
7751
|
DEVICE_MODES = [
|
|
7752
|
+
["/", 493],
|
|
7737
7753
|
["/dev", 493],
|
|
7738
7754
|
["/dev/null", 438],
|
|
7739
7755
|
["/dev/zero", 438],
|
|
@@ -8979,6 +8995,9 @@ function kernelSys(transport) {
|
|
|
8979
8995
|
ttyNames() {
|
|
8980
8996
|
return json(call2({ op: "fd-tty-names" }, "fd-tty-names"));
|
|
8981
8997
|
},
|
|
8998
|
+
ttyOwner(name2) {
|
|
8999
|
+
return json(call2({ op: "fd-tty-owner", name: name2 }, `fd-tty-owner ${name2}`));
|
|
9000
|
+
},
|
|
8982
9001
|
openTty(name2) {
|
|
8983
9002
|
const req = name2 === void 0 ? { op: "fd-open-tty" } : { op: "fd-open-tty", name: name2 };
|
|
8984
9003
|
return json(call2(req, `fd-open-tty ${name2 ?? ""}`));
|
|
@@ -9223,7 +9242,8 @@ async function runWasmProcess(init, port3, deps = {}) {
|
|
|
9223
9242
|
early = () => signals.quiet(() => vfs.flushDirty());
|
|
9224
9243
|
const sigpipe = () => running.sliccSigpipe?.() === 1;
|
|
9225
9244
|
const restartable = () => signals.restartable();
|
|
9226
|
-
const
|
|
9245
|
+
const owners = init.owners ? { owners: true } : {};
|
|
9246
|
+
const streams = new KernelStreams(running.FS, sys, { sigpipe, restartable, ...owners });
|
|
9227
9247
|
trackCloseOnExec(running.FS);
|
|
9228
9248
|
quietQuit(running.FS);
|
|
9229
9249
|
useMounts(running.FS, init.env, true);
|