@ai-ecoverse/slicc-kernel 1.119.1 → 1.120.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.
@@ -857,6 +857,9 @@ function cachingBridge(bridge, now = () => performance.now(), shared) {
857
857
  ...bridge.create ? {
858
858
  create: (p, mode, opening2) => mutating(() => bridge.create?.(p, mode, opening2), ...entry(p))
859
859
  } : {},
860
+ ...bridge.mkfifo ? {
861
+ mkfifo: (p, mode) => mutating(() => bridge.mkfifo?.(p, mode), ...entry(p))
862
+ } : {},
860
863
  ...chown ? {
861
864
  chown: (p, ...rest2) => rewriting(p, () => chown.call(bridge, p, ...rest2))
862
865
  } : {},
@@ -3729,7 +3732,7 @@ function wrap(table) {
3729
3732
  }
3730
3733
  return out;
3731
3734
  }
3732
- var WasiExit, IDS, NS_PER_MS4, AT_SYMLINK_NOFOLLOW, AT_EACCESS, ROOT_IDS, GONE, S_IFIFO, S_IFLNK, DEFAULT_UMASK, MONOTONIC_BASE, MAX_READ, SIGINFO_BYTES, FD_ALIAS, STDIO_FDS, SIGPIPE_EXIT, SIG_IGN, SEALED_MODE, WasiHost;
3735
+ var WasiExit, IDS, NS_PER_MS4, AT_SYMLINK_NOFOLLOW, AT_FDCWD, AT_EACCESS, ROOT_IDS, GONE, S_IFIFO, S_IFLNK, DEFAULT_UMASK, MONOTONIC_BASE, MAX_READ, SIGINFO_BYTES, FD_ALIAS, STDIO_FDS, SIGPIPE_EXIT, SIG_IGN, SEALED_MODE, WasiHost;
3733
3736
  var init_wasi_host = __esm({
3734
3737
  "src/process/wasi/wasi-host.ts"() {
3735
3738
  "use strict";
@@ -3760,6 +3763,7 @@ var init_wasi_host = __esm({
3760
3763
  IDS = ["ruid", "euid", "suid", "rgid", "egid", "sgid"];
3761
3764
  NS_PER_MS4 = 1000000n;
3762
3765
  AT_SYMLINK_NOFOLLOW = 1;
3766
+ AT_FDCWD = -2;
3763
3767
  AT_EACCESS = 2;
3764
3768
  ROOT_IDS = Object.freeze({ uid: 0, gid: 0 });
3765
3769
  GONE = /* @__PURE__ */ new Set(["ENOENT", "ENOTDIR"]);
@@ -3942,6 +3946,18 @@ var init_wasi_host = __esm({
3942
3946
  },
3943
3947
  fd_chmod: (fd, mode) => void this.o.fs.chmod(pathOf(fd), mode & 4095),
3944
3948
  path_chmod: (dirfd, p, l, mode, flags) => void this.o.fs.chmod(target(at(dirfd, p, l), flags), mode & 4095),
3949
+ path_mkfifo: (dirfd, p, l, mode) => {
3950
+ const { mkfifo } = this.o.fs;
3951
+ if (!mkfifo) return E.NOSYS;
3952
+ const raw = mem.string(p, l);
3953
+ const path = dirfd === AT_FDCWD && !raw.startsWith("/") ? fds.resolve(3, `${this.cwd}/${raw}`) : at(dirfd, p, l);
3954
+ const umask = this.o.kernel.call({ op: "proc-umask" });
3955
+ const want = mode & 4095 & ~umask;
3956
+ mkfifo.call(this.o.fs, path, want);
3957
+ const made = (this.o.fs.lstat(path).mode ?? 0) & 4095;
3958
+ if ((made & ~want) !== 0) this.o.fs.chmod(path, made & want);
3959
+ return E.SUCCESS;
3960
+ },
3945
3961
  umask: (mask, out) => {
3946
3962
  const old = this.o.kernel.call({ op: "proc-umask", mask });
3947
3963
  mem.view().setUint32(out, old, true);
@@ -5395,7 +5411,7 @@ var KERNEL_VERSION, OS_RELEASE;
5395
5411
  var init_version = __esm({
5396
5412
  "src/version.ts"() {
5397
5413
  "use strict";
5398
- KERNEL_VERSION = true ? "1.119.1" : "0.0.0-dev";
5414
+ KERNEL_VERSION = true ? "1.120.0" : "0.0.0-dev";
5399
5415
  OS_RELEASE = "6.0.0-slicc";
5400
5416
  }
5401
5417
  });
@@ -9337,7 +9353,7 @@ function cString(memory, at) {
9337
9353
  return new TextDecoder().decode(bytes.subarray(0, bytes.indexOf(0)));
9338
9354
  }
9339
9355
  function baseOf3(Fs, dirfd) {
9340
- return dirfd === AT_FDCWD ? Fs.cwd?.() ?? "/" : Fs.getStream?.(dirfd)?.path ?? "/";
9356
+ return dirfd === AT_FDCWD2 ? Fs.cwd?.() ?? "/" : Fs.getStream?.(dirfd)?.path ?? "/";
9341
9357
  }
9342
9358
  function readonlyRefusal(Fs, memory, call2) {
9343
9359
  if (!(call2.amode & W_ACCESS)) return 0;
@@ -9504,7 +9520,7 @@ function linuxDevices(Fs) {
9504
9520
  }
9505
9521
  }
9506
9522
  }
9507
- var O_CLOEXEC, FD_CLOEXEC, F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_DUPFD_CLOEXEC, tracked, IMPORT_NAMES, EBADF, AT_SYMLINK_NOFOLLOW2, EMSCRIPTEN_EPERM, O_PATH2, LITERALS, UTIME_NOW, UTIME_OMIT, PROT_WRITE, MAP_PRIVATE, MAP_TYPE, O_WRONLY5, MAP_ALIGN, DIR_MODE, LINK_MODE, CHAR_DEVICE, O_TRUNC2, S_IFMT_BITS, S_IFIFO_BITS, O_ACCMODE3, O_CREAT, O_EXCL, field, pinnedRoot, rootKind, NAME, AT_FDCWD, AT_EACCESS2, W_ACCESS, X_ACCESS, AT_SYMLINK_FOLLOW, UTS_FIELD, DEVICE_MODES;
9523
+ var O_CLOEXEC, FD_CLOEXEC, F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_DUPFD_CLOEXEC, tracked, IMPORT_NAMES, EBADF, AT_SYMLINK_NOFOLLOW2, EMSCRIPTEN_EPERM, O_PATH2, LITERALS, UTIME_NOW, UTIME_OMIT, PROT_WRITE, MAP_PRIVATE, MAP_TYPE, O_WRONLY5, MAP_ALIGN, DIR_MODE, LINK_MODE, CHAR_DEVICE, O_TRUNC2, S_IFMT_BITS, S_IFIFO_BITS, O_ACCMODE3, O_CREAT, O_EXCL, field, pinnedRoot, rootKind, NAME, AT_FDCWD2, AT_EACCESS2, W_ACCESS, X_ACCESS, AT_SYMLINK_FOLLOW, UTS_FIELD, DEVICE_MODES;
9508
9524
  var init_process_fds = __esm({
9509
9525
  "src/process/process-fds.ts"() {
9510
9526
  "use strict";
@@ -9571,7 +9587,7 @@ var init_process_fds = __esm({
9571
9587
  field = (text) => (text || "none").replace(/[\s\\]/g, (c) => `\\${c.charCodeAt(0).toString(8).padStart(3, "0")}`);
9572
9588
  rootKind = () => globalThis.navigator?.storage ? "opfs" : "memory";
9573
9589
  NAME = /^[a-z_][a-z0-9_-]*$/i;
9574
- AT_FDCWD = -100;
9590
+ AT_FDCWD2 = -100;
9575
9591
  AT_EACCESS2 = 512;
9576
9592
  W_ACCESS = 2;
9577
9593
  X_ACCESS = 1;
@@ -10362,7 +10378,7 @@ var init_wasi_procfs = __esm({
10362
10378
  }
10363
10379
  };
10364
10380
  FOLLOWING = ["writeFile", "chmod", "utimes", "pwrite", "truncate"];
10365
- NOT_FOLLOWING = ["mkdir", "rm", "unlink", "rmdir", "lutimes", "create"];
10381
+ NOT_FOLLOWING = ["mkdir", "rm", "unlink", "rmdir", "lutimes", "create", "mkfifo"];
10366
10382
  MAX_HOPS2 = 40;
10367
10383
  }
10368
10384
  });