@ai-ecoverse/slicc-kernel 1.42.0 → 1.42.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/kernel-worker.js +9 -3
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-process-worker.js +15 -7
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +9 -3
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +15 -7
- package/dist/process-worker.js.map +3 -3
- package/package.json +1 -1
package/dist/process-worker.js
CHANGED
|
@@ -2735,11 +2735,13 @@ function vfsPromoter(Fs, sys, streams, livePath) {
|
|
|
2735
2735
|
const ranged = stream.node.live?.ranged;
|
|
2736
2736
|
const version = ranged?.pinnedVersion;
|
|
2737
2737
|
const pin = ranged && version !== void 0 ? { version, size: ranged.size() } : void 0;
|
|
2738
|
+
const handle = stream.node.live?.handle;
|
|
2739
|
+
const held = { ...pin ? { pin } : {}, ...handle !== void 0 ? { handle } : {} };
|
|
2738
2740
|
kfd = sys.openVfs(
|
|
2739
2741
|
livePath(stream),
|
|
2740
2742
|
stream.flags,
|
|
2741
2743
|
stream.position,
|
|
2742
|
-
contents !== void 0 ? { contents, orphan: true } :
|
|
2744
|
+
contents !== void 0 ? { contents, orphan: true } : Object.keys(held).length > 0 ? held : void 0
|
|
2743
2745
|
);
|
|
2744
2746
|
promoted.set(stream.shared, kfd);
|
|
2745
2747
|
}
|
|
@@ -3808,7 +3810,8 @@ function kernelSys(transport) {
|
|
|
3808
3810
|
...opts?.orphan ? { orphan: true } : {},
|
|
3809
3811
|
...opts?.truncate ? { truncate: true } : {},
|
|
3810
3812
|
...opts?.create ? { create: true } : {},
|
|
3811
|
-
...opts?.pin ? { pin: opts.pin } : {}
|
|
3813
|
+
...opts?.pin ? { pin: opts.pin } : {},
|
|
3814
|
+
...opts?.handle !== void 0 ? { handle: opts.handle } : {}
|
|
3812
3815
|
},
|
|
3813
3816
|
`fd-open-vfs ${path}`
|
|
3814
3817
|
)
|
|
@@ -3841,6 +3844,9 @@ function kernelSys(transport) {
|
|
|
3841
3844
|
heldMeta(fd) {
|
|
3842
3845
|
return json(call2({ op: "fd-info", fd }, `fd-info ${fd}`)).meta;
|
|
3843
3846
|
},
|
|
3847
|
+
access(fd) {
|
|
3848
|
+
return json(call2({ op: "fd-info", fd }, `fd-info ${fd}`)).access;
|
|
3849
|
+
},
|
|
3844
3850
|
size(fd) {
|
|
3845
3851
|
return json(call2({ op: "fd-vfs-stat", fd }, `fd-vfs-stat ${fd}`)).size;
|
|
3846
3852
|
},
|
|
@@ -3901,8 +3907,7 @@ function wireKernelFd(Fs, streams, entry) {
|
|
|
3901
3907
|
});
|
|
3902
3908
|
}
|
|
3903
3909
|
function openDevice(Fs, fd, meta) {
|
|
3904
|
-
|
|
3905
|
-
return openAt(Fs, fd, `/dev/${meta.device}`, flags);
|
|
3910
|
+
return openAt(Fs, fd, `/dev/${meta.device}`, accessMode(meta.access));
|
|
3906
3911
|
}
|
|
3907
3912
|
function openHeld(Fs, fd, meta) {
|
|
3908
3913
|
return "dir" in meta ? openAt(Fs, fd, meta.dir, O_RDONLY | O_DIRECTORY) : openDevice(Fs, fd, meta);
|
|
@@ -3928,7 +3933,7 @@ function wireKernelStdio(Fs, streams, sys) {
|
|
|
3928
3933
|
const meta = kind === "device" || kind === "held" ? sys?.heldMeta?.(fd) : void 0;
|
|
3929
3934
|
if (meta && openHeld(Fs, fd, meta)) continue;
|
|
3930
3935
|
if (kind && PLACED.has(kind)) {
|
|
3931
|
-
const
|
|
3936
|
+
const flags = sys?.access ? stream.flags & ~O_ACCMODE3 | accessMode(sys.access(fd)) : stream.flags;
|
|
3932
3937
|
Fs.closeStream(fd);
|
|
3933
3938
|
const kernel = { fd, kernel: fd, kind, flags };
|
|
3934
3939
|
placeKernelStream(Fs, streams, kernel).flags = flags;
|
|
@@ -4178,7 +4183,7 @@ function runMain(running, init) {
|
|
|
4178
4183
|
return status2;
|
|
4179
4184
|
}
|
|
4180
4185
|
}
|
|
4181
|
-
var FS_OPS, O_RDONLY, O_WRONLY3, O_RDWR3, O_DIRECTORY, PLACED, GLUE_TRAILER, evaluateGlue, EVAL_BLOCKED;
|
|
4186
|
+
var FS_OPS, O_RDONLY, O_WRONLY3, O_RDWR3, O_ACCMODE3, O_DIRECTORY, accessMode, PLACED, GLUE_TRAILER, evaluateGlue, EVAL_BLOCKED;
|
|
4182
4187
|
var init_process_runtime = __esm({
|
|
4183
4188
|
"src/process/process-runtime.ts"() {
|
|
4184
4189
|
"use strict";
|
|
@@ -4203,7 +4208,9 @@ var init_process_runtime = __esm({
|
|
|
4203
4208
|
O_RDONLY = 0;
|
|
4204
4209
|
O_WRONLY3 = 1;
|
|
4205
4210
|
O_RDWR3 = 2;
|
|
4211
|
+
O_ACCMODE3 = 3;
|
|
4206
4212
|
O_DIRECTORY = 65536;
|
|
4213
|
+
accessMode = (access) => access === "read" ? O_RDONLY : access === "write" ? O_WRONLY3 : O_RDWR3;
|
|
4207
4214
|
PLACED = /* @__PURE__ */ new Set(["stream", "file", "socket"]);
|
|
4208
4215
|
GLUE_TRAILER = [
|
|
4209
4216
|
"if (typeof ENV !== 'undefined') Object.assign(ENV, Module.sliccEnv);",
|
|
@@ -4683,7 +4690,8 @@ function promoteRequest(fd, f, handed) {
|
|
|
4683
4690
|
...joins ? {} : { contents: f.buffer.contents() },
|
|
4684
4691
|
...orphan ? { orphan: true } : {},
|
|
4685
4692
|
...!orphan && f.buffer.pin !== void 0 ? { pin: { version: f.buffer.pin, size: f.buffer.size() } } : {},
|
|
4686
|
-
...!joins && f.buffer.isDirty() ? { dirty: true } : {}
|
|
4693
|
+
...!joins && f.buffer.isDirty() ? { dirty: true } : {},
|
|
4694
|
+
...f.buffer.handle !== void 0 ? { handle: f.buffer.handle } : {}
|
|
4687
4695
|
};
|
|
4688
4696
|
}
|
|
4689
4697
|
var SYNTHETIC_DIRS2, O_NONBLOCK2, O_WRONLY4, O_RDWR4, O_APPEND, DEVICES2, WasiFds, GEN;
|