@ai-ecoverse/slicc-kernel 1.142.1 → 1.142.2

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.
@@ -6725,7 +6725,7 @@ var KERNEL_VERSION, OS_RELEASE;
6725
6725
  var init_version = __esm({
6726
6726
  "src/version.ts"() {
6727
6727
  "use strict";
6728
- KERNEL_VERSION = true ? "1.142.1" : "0.0.0-dev";
6728
+ KERNEL_VERSION = true ? "1.142.2" : "0.0.0-dev";
6729
6729
  OS_RELEASE = "6.0.0-slicc";
6730
6730
  }
6731
6731
  });
package/dist/node.js CHANGED
@@ -4549,6 +4549,8 @@ var EXECUTABLE = /\/node_modules\/(?:@[^/]+\/)?[^/]+\/bin\//;
4549
4549
  var RENAMES = "/.slicc-renames";
4550
4550
  var RENAME_LOCK = "slicc-rename:";
4551
4551
  var RENAME_ADMIT = "slicc-rename-admit:";
4552
+ var escapeRoot = (name2) => name2.replace(/[%:]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
4553
+ var LEGACY_RENAME_LOCK = /^slicc-rename:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
4552
4554
  var PAIRED = /* @__PURE__ */ new Set(["rename", "link", "copyFile"]);
4553
4555
  var LISTINGS = /* @__PURE__ */ new Set(["readdir", "readdirStat"]);
4554
4556
  var RETRY = /* @__PURE__ */ Symbol("retry");
@@ -4709,6 +4711,7 @@ var OpfsFs = class {
4709
4711
  locks;
4710
4712
  lockPrefix;
4711
4713
  rootName;
4714
+ renamePrefix;
4712
4715
  constructor(root, meta = new MemoryMeta(), channel, options = {}) {
4713
4716
  this.root = root;
4714
4717
  this.meta = sidecar(meta);
@@ -4716,6 +4719,7 @@ var OpfsFs = class {
4716
4719
  this.locks = options.locks === void 0 ? lockManager() : options.locks ?? void 0;
4717
4720
  this.lockPrefix = `slicc-excl:${channel ?? ""}:`;
4718
4721
  this.rootName = channel;
4722
+ this.renamePrefix = `${RENAME_LOCK}${escapeRoot(channel ?? "")}:`;
4719
4723
  this.channel = channel === void 0 ? void 0 : new BroadcastChannel(channel);
4720
4724
  this.remote = channel === void 0 ? void 0 : new RemoteWatch(`${channel}:watch`, { locks: this.locks ?? null });
4721
4725
  if (this.remote) {
@@ -5880,7 +5884,7 @@ var OpfsFs = class {
5880
5884
  try {
5881
5885
  const locks = this.locks;
5882
5886
  if (locks) {
5883
- lock = `${RENAME_LOCK}${crypto.randomUUID()}`;
5887
+ lock = `${this.renameLocks()}${crypto.randomUUID()}`;
5884
5888
  this.ownLocks.add(lock);
5885
5889
  call?.release();
5886
5890
  await this.admitted(locks, lock, source.path, destination, place, hooks);
@@ -5972,6 +5976,13 @@ var OpfsFs = class {
5972
5976
  if (!known.trees.some(([a, b]) => a === tree2[0] && b === tree2[1])) known.trees.push(tree2);
5973
5977
  return known;
5974
5978
  }
5979
+ renameLocks() {
5980
+ return this.renamePrefix;
5981
+ }
5982
+ renameHere(name2) {
5983
+ if (name2 === void 0) return false;
5984
+ return name2.startsWith(this.renameLocks()) || LEGACY_RENAME_LOCK.test(name2);
5985
+ }
5975
5986
  async learnRenames() {
5976
5987
  for (const { rename } of await this.meta.under(RENAMES)) {
5977
5988
  if (rename?.lock === void 0 || this.ownLocks.has(rename.lock)) continue;
@@ -5980,7 +5991,7 @@ var OpfsFs = class {
5980
5991
  }
5981
5992
  async renamingElsewhere() {
5982
5993
  const { held = [] } = await this.locks.query();
5983
- return held.some(({ name: name2 }) => name2?.startsWith(RENAME_LOCK) && !this.ownLocks.has(name2));
5994
+ return held.some(({ name: name2 }) => this.renameHere(name2) && !this.ownLocks.has(name2));
5984
5995
  }
5985
5996
  lookForRenames() {
5986
5997
  const locks = this.locks;
@@ -5992,7 +6003,7 @@ var OpfsFs = class {
5992
6003
  this.queries++;
5993
6004
  const { held = [] } = await locks.query();
5994
6005
  const unknown = () => held.some(
5995
- ({ name: name2 }) => name2?.startsWith(RENAME_LOCK) && !this.ownLocks.has(name2) && !this.peerMoves.has(name2)
6006
+ ({ name: name2 }) => this.renameHere(name2) && !this.ownLocks.has(name2) && !this.peerMoves.has(name2)
5996
6007
  );
5997
6008
  if (unknown()) await this.learnRenames();
5998
6009
  if (!unknown()) {
@@ -7968,7 +7979,7 @@ function satisfies(version, range2) {
7968
7979
  }
7969
7980
 
7970
7981
  // src/version.ts
7971
- var KERNEL_VERSION = true ? "1.142.1" : "0.0.0-dev";
7982
+ var KERNEL_VERSION = true ? "1.142.2" : "0.0.0-dev";
7972
7983
  var OS_RELEASE = "6.0.0-slicc";
7973
7984
  function procVersion() {
7974
7985
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC