@ai-ecoverse/slicc-kernel 1.159.6 → 1.160.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/node.js CHANGED
@@ -3672,7 +3672,7 @@ function satisfies(version, range2) {
3672
3672
  }
3673
3673
 
3674
3674
  // src/version.ts
3675
- var KERNEL_VERSION = true ? "1.159.6" : "0.0.0-dev";
3675
+ var KERNEL_VERSION = true ? "1.160.1" : "0.0.0-dev";
3676
3676
  var OS_RELEASE = "6.0.0-slicc";
3677
3677
  function procVersion() {
3678
3678
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -10968,7 +10968,8 @@ async function dispatchSyncFs(req) {
10968
10968
  const entry = resolveSyncFsToken(req.token);
10969
10969
  if (!entry) return { ok: false, errno: "EACCES", message: "sync-fs: unknown or revoked token" };
10970
10970
  if (req.identity && req.op === "create") return created(entry, req);
10971
- if (!req.identity || !IDENTITY_OPS.has(req.op)) return dispatchOne(entry, req);
10971
+ if (!req.identity || !IDENTITY_OPS.has(req.op))
10972
+ return devsOf(entry, req, await dispatchOne(entry, req));
10972
10973
  const { fs, cwd } = entry;
10973
10974
  const path = fs.resolvePath(cwd, req.path);
10974
10975
  const identified = async (held) => {
@@ -10986,6 +10987,30 @@ async function dispatchSyncFs(req) {
10986
10987
  return toErrno(err);
10987
10988
  }
10988
10989
  }
10990
+ var DEV_PROBES = /* @__PURE__ */ new Set(["stat", "lstat", "read", "exists"]);
10991
+ async function devsOf(entry, req, result) {
10992
+ if (req.devs !== true || !DEV_PROBES.has(req.op)) return result;
10993
+ const absent2 = result.ok ? result.kind === "json" && result.json === false : result.errno === "ENOENT";
10994
+ if (!absent2) return result;
10995
+ const dev = await devTarget(entry, req, entry.fs.resolvePath(entry.cwd, req.path));
10996
+ if (dev === void 0) return result;
10997
+ return result.ok ? json2({ dev }) : { ...result, dev };
10998
+ }
10999
+ async function devTarget(entry, req, path) {
11000
+ const look = async (op, at) => {
11001
+ const r = await dispatchPath(entry, { token: req.token, op, path: at });
11002
+ if (!r.ok) throw new Error(r.errno);
11003
+ return r.json;
11004
+ };
11005
+ const resolved2 = await physicalPathAsync(
11006
+ {
11007
+ lstat: async (p) => await look("lstat", p),
11008
+ readlink: async (p) => String(await look("readlink", p))
11009
+ },
11010
+ path
11011
+ );
11012
+ return resolved2 !== path && (resolved2 === "/dev" || resolved2.startsWith("/dev/")) ? resolved2 : void 0;
11013
+ }
10989
11014
  async function created(entry, req) {
10990
11015
  const result = await dispatchOne(entry, req);
10991
11016
  if (!result.ok) return result;
@@ -11172,7 +11197,8 @@ function encodeSabResult(result) {
11172
11197
  JSON.stringify({
11173
11198
  errno: result.errno,
11174
11199
  message: result.message,
11175
- ...result.direct ? { direct: true } : {}
11200
+ ...result.direct ? { direct: true } : {},
11201
+ ...result.dev !== void 0 ? { dev: result.dev } : {}
11176
11202
  })
11177
11203
  )
11178
11204
  };