@ai-ecoverse/slicc-kernel 1.77.1 → 1.78.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 +12 -10
- package/dist/driver-worker.js +73 -4
- package/dist/driver-worker.js.map +3 -3
- package/dist/index.js +104 -14
- package/dist/index.js.map +4 -4
- package/dist/kernel-worker.js +20 -6
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-driver-worker.js +73 -4
- package/dist/node-driver-worker.js.map +3 -3
- package/dist/node-process-worker.js +18 -2
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +57 -15
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +18 -2
- package/dist/process-worker.js.map +2 -2
- package/package.json +1 -1
package/dist/kernel-worker.js
CHANGED
|
@@ -960,6 +960,7 @@ var OpfsFs = class {
|
|
|
960
960
|
}
|
|
961
961
|
}
|
|
962
962
|
async current(path, dir) {
|
|
963
|
+
if (dir === this.root) return path === "/";
|
|
963
964
|
if (performance.now() - (this.checked.get(dir) ?? -CHECK_MS) < CHECK_MS) return true;
|
|
964
965
|
const where = await this.root.resolve(dir).catch(() => null);
|
|
965
966
|
if (where === null || `/${where.join("/")}` !== path) return false;
|
|
@@ -3264,6 +3265,14 @@ function isSignal(sig) {
|
|
|
3264
3265
|
function sigbit(sig) {
|
|
3265
3266
|
return 1 << sig;
|
|
3266
3267
|
}
|
|
3268
|
+
function signalName(sig) {
|
|
3269
|
+
const name2 = Object.entries(SIG).find(([, n]) => n === sig)?.[0];
|
|
3270
|
+
return name2 === void 0 ? void 0 : `SIG${name2}`;
|
|
3271
|
+
}
|
|
3272
|
+
function signalField(sig) {
|
|
3273
|
+
const name2 = signalName(sig);
|
|
3274
|
+
return name2 ? { signal: name2 } : {};
|
|
3275
|
+
}
|
|
3267
3276
|
var SIGNAL_BY_NAME = {
|
|
3268
3277
|
SIGINT: SIG.INT,
|
|
3269
3278
|
SIGTERM: SIG.TERM,
|
|
@@ -4150,7 +4159,8 @@ function serveClient(port, host) {
|
|
|
4150
4159
|
reply(req.id, { started: session.pid });
|
|
4151
4160
|
}
|
|
4152
4161
|
try {
|
|
4153
|
-
|
|
4162
|
+
const status = await session.exited;
|
|
4163
|
+
return { result: status, ...signalField(session.termsig()) };
|
|
4154
4164
|
} finally {
|
|
4155
4165
|
terminals.delete(req.id);
|
|
4156
4166
|
}
|
|
@@ -4175,7 +4185,7 @@ function serveClient(port, host) {
|
|
|
4175
4185
|
});
|
|
4176
4186
|
if (leader === void 0) throw fsError("ENOENT", `${req.argv[0] ?? ""}: command not found`);
|
|
4177
4187
|
if (!l.list().some((p) => p.pgid === leader)) groups.delete(leader);
|
|
4178
|
-
return { result: result.status };
|
|
4188
|
+
return { result: result.status, ...signalField(result.signal) };
|
|
4179
4189
|
}
|
|
4180
4190
|
async function handle(req) {
|
|
4181
4191
|
if (host.scope === "transport" && req.op !== "detach") {
|
|
@@ -4236,8 +4246,8 @@ function serveClient(port, host) {
|
|
|
4236
4246
|
}
|
|
4237
4247
|
const req = data;
|
|
4238
4248
|
handle(req).then(
|
|
4239
|
-
({ result, transfer }) => {
|
|
4240
|
-
reply(req.id, { result }, transfer);
|
|
4249
|
+
({ result, signal, transfer }) => {
|
|
4250
|
+
reply(req.id, { result, ...signal ? { signal } : {} }, transfer);
|
|
4241
4251
|
if (req.op === "detach") detach(req.kill === true);
|
|
4242
4252
|
},
|
|
4243
4253
|
(err) => {
|
|
@@ -17720,6 +17730,7 @@ var Launcher = class {
|
|
|
17720
17730
|
return {
|
|
17721
17731
|
pid: handle.pid,
|
|
17722
17732
|
exited: handle.exited,
|
|
17733
|
+
termsig: () => handle.termsig(),
|
|
17723
17734
|
write: (bytes) => tty.receive(bytes),
|
|
17724
17735
|
resize: (cols, rows) => tty.resize(cols, rows),
|
|
17725
17736
|
signal: (sig) => this.jobs.signalForeground(tty, leader, sig),
|
|
@@ -17764,7 +17775,8 @@ var Launcher = class {
|
|
|
17764
17775
|
});
|
|
17765
17776
|
options.onStarted?.(handle.pid);
|
|
17766
17777
|
const status = await handle.exited;
|
|
17767
|
-
|
|
17778
|
+
const signal = handle.termsig();
|
|
17779
|
+
return { status, ...signal ? { signal } : {}, stdout: concat5(out), stderr: concat5(err) };
|
|
17768
17780
|
}
|
|
17769
17781
|
};
|
|
17770
17782
|
|
|
@@ -18013,7 +18025,9 @@ function serveKernel(port, deps) {
|
|
|
18013
18025
|
terminals.set(req.id, session);
|
|
18014
18026
|
reply(req.id, { started: session.pid });
|
|
18015
18027
|
try {
|
|
18016
|
-
|
|
18028
|
+
const status = await session.exited;
|
|
18029
|
+
const signal = session.termsig();
|
|
18030
|
+
return signal ? { status, signal } : status;
|
|
18017
18031
|
} finally {
|
|
18018
18032
|
terminals.delete(req.id);
|
|
18019
18033
|
}
|