@ai-ecoverse/slicc-kernel 1.173.2 → 1.173.3

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.
@@ -7513,7 +7513,7 @@ var init_version = __esm({
7513
7513
  "src/version.ts"() {
7514
7514
  "use strict";
7515
7515
  init_captured_globals();
7516
- KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
7516
+ KERNEL_VERSION = true ? "1.173.3" : "0.0.0-dev";
7517
7517
  OS_RELEASE = "6.0.0-slicc";
7518
7518
  }
7519
7519
  });
@@ -7512,7 +7512,7 @@ var init_version = __esm({
7512
7512
  "src/version.ts"() {
7513
7513
  "use strict";
7514
7514
  init_captured_globals();
7515
- KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
7515
+ KERNEL_VERSION = true ? "1.173.3" : "0.0.0-dev";
7516
7516
  OS_RELEASE = "6.0.0-slicc";
7517
7517
  }
7518
7518
  });
package/dist/node.js CHANGED
@@ -3702,7 +3702,7 @@ function satisfies(version, range2) {
3702
3702
  }
3703
3703
 
3704
3704
  // src/version.ts
3705
- var KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
3705
+ var KERNEL_VERSION = true ? "1.173.3" : "0.0.0-dev";
3706
3706
  var OS_RELEASE = "6.0.0-slicc";
3707
3707
  function procVersion() {
3708
3708
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -30651,6 +30651,9 @@ var TERM = /^[A-Za-z0-9._+-]+$/;
30651
30651
  var PLAIN3 = /^[A-Za-z0-9_@%+=:,./-]+$/;
30652
30652
  var CONTROL = /[\0-\x1f\x7f]/;
30653
30653
  var USAGE = "usage: sudo [-n] [-u user] [--] command [args...]\n sudo -l";
30654
+ var DENIED2 = "sudo: approval denied";
30655
+ var DENIAL_MAX = 500;
30656
+ var ABORTED = /* @__PURE__ */ Symbol("aborted");
30654
30657
  function hasControl(text) {
30655
30658
  return CONTROL.test(text);
30656
30659
  }
@@ -30666,6 +30669,46 @@ function withoutControl(text) {
30666
30669
  function failed3(errno3, error) {
30667
30670
  return { error, errno: errno3 };
30668
30671
  }
30672
+ function denialText(answer2) {
30673
+ try {
30674
+ if (typeof answer2 !== "object" || answer2 === null) return DENIED2;
30675
+ const { answer: kind, message: message3 } = answer2;
30676
+ if (kind !== "deny" || typeof message3 !== "string") return DENIED2;
30677
+ const chars = [
30678
+ ...message3.replace(/[\t\n\v\f\r\u0085\u2028\u2029]+/g, " ").replace(new RegExp("\\p{Cc}", "gu"), "").trimEnd()
30679
+ ];
30680
+ const text = chars.length > DENIAL_MAX ? `${chars.slice(0, DENIAL_MAX - 1).join("")}\u2026` : chars.join("");
30681
+ return text.startsWith("sudo: ") && text.slice(6).trim() !== "" ? text : DENIED2;
30682
+ } catch {
30683
+ return DENIED2;
30684
+ }
30685
+ }
30686
+ async function answerOf2(approve, req, signal) {
30687
+ let reply;
30688
+ let cut;
30689
+ const snapshot = () => reply === void 0 ? Promise.resolve(ABORTED) : Promise.race([reply, Promise.resolve(ABORTED)]).catch(() => "deny");
30690
+ const aborted3 = new Promise(
30691
+ (resolve2) => signal.addEventListener(
30692
+ "abort",
30693
+ () => {
30694
+ cut = snapshot();
30695
+ resolve2();
30696
+ },
30697
+ { once: true }
30698
+ )
30699
+ );
30700
+ try {
30701
+ reply = Promise.resolve(approve(req, { signal }));
30702
+ } catch {
30703
+ reply = Promise.resolve("deny");
30704
+ }
30705
+ try {
30706
+ const answer2 = await Promise.race([reply, aborted3]);
30707
+ return cut === void 0 ? answer2 : await cut;
30708
+ } catch {
30709
+ return cut === void 0 ? "deny" : await cut;
30710
+ }
30711
+ }
30669
30712
  function unescaped(double) {
30670
30713
  return double.replace(/\\(["\\$`])/g, "$1");
30671
30714
  }
@@ -31056,7 +31099,7 @@ ${lines2}
31056
31099
  }
31057
31100
  async ask(caller, self, target, argv, path, cwd, requester) {
31058
31101
  const { approve } = this.o;
31059
- if (!approve || requester.aborted) return failed3("EACCES", "sudo: approval denied");
31102
+ if (!approve || requester.aborted) return failed3("EACCES", DENIED2);
31060
31103
  const createdAt = Date.now();
31061
31104
  const timeout = this.o.timeoutMs ?? SUDO_TIMEOUT_MS;
31062
31105
  const req = {
@@ -31079,16 +31122,14 @@ ${lines2}
31079
31122
  const timer = setTimeout(() => control.abort("expired"), timeout);
31080
31123
  const withdraw = () => control.abort("withdrawn");
31081
31124
  requester.addEventListener("abort", withdraw, { once: true });
31082
- const aborted3 = new Promise(
31083
- (resolve2) => control.signal.addEventListener("abort", () => resolve2("aborted"), { once: true })
31084
- );
31125
+ const ended = () => control.signal.reason === "expired" ? failed3("ETIMEDOUT", "sudo: the request expired") : failed3("EINTR", "sudo: the request was withdrawn");
31085
31126
  try {
31086
- const answered = Promise.resolve().then(() => approve(req, { signal: control.signal })).catch(() => "deny");
31087
- const answer2 = await Promise.race([answered, aborted3]);
31088
- if (answer2 === "aborted" || control.signal.aborted) {
31089
- return control.signal.reason === "expired" ? failed3("ETIMEDOUT", "sudo: the request expired") : failed3("EINTR", "sudo: the request was withdrawn");
31127
+ const answer2 = await answerOf2(approve, req, control.signal);
31128
+ if (answer2 === ABORTED) return ended();
31129
+ if (answer2 === "once" || answer2 === "always") {
31130
+ return control.signal.aborted ? ended() : answer2;
31090
31131
  }
31091
- return answer2 === "once" || answer2 === "always" ? answer2 : failed3("EACCES", "sudo: approval denied");
31132
+ return failed3("EACCES", denialText(answer2));
31092
31133
  } finally {
31093
31134
  clearTimeout(timer);
31094
31135
  requester.removeEventListener("abort", withdraw);