@ai-ecoverse/slicc-kernel 1.178.4 → 1.179.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.
@@ -7518,7 +7518,7 @@ var init_version = __esm({
7518
7518
  "src/version.ts"() {
7519
7519
  "use strict";
7520
7520
  init_captured_globals();
7521
- KERNEL_VERSION = true ? "1.178.4" : "0.0.0-dev";
7521
+ KERNEL_VERSION = true ? "1.179.0" : "0.0.0-dev";
7522
7522
  OS_RELEASE = "6.0.0-slicc";
7523
7523
  }
7524
7524
  });
@@ -7517,7 +7517,7 @@ var init_version = __esm({
7517
7517
  "src/version.ts"() {
7518
7518
  "use strict";
7519
7519
  init_captured_globals();
7520
- KERNEL_VERSION = true ? "1.178.4" : "0.0.0-dev";
7520
+ KERNEL_VERSION = true ? "1.179.0" : "0.0.0-dev";
7521
7521
  OS_RELEASE = "6.0.0-slicc";
7522
7522
  }
7523
7523
  });
package/dist/node.js CHANGED
@@ -3711,7 +3711,7 @@ function satisfies(version, range2) {
3711
3711
  }
3712
3712
 
3713
3713
  // src/version.ts
3714
- var KERNEL_VERSION = true ? "1.178.4" : "0.0.0-dev";
3714
+ var KERNEL_VERSION = true ? "1.179.0" : "0.0.0-dev";
3715
3715
  var OS_RELEASE = "6.0.0-slicc";
3716
3716
  function procVersion() {
3717
3717
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -32611,6 +32611,11 @@ function usersMode(mode = "off") {
32611
32611
  function tagOption(tag) {
32612
32612
  if (tag !== void 0 && typeof tag !== "string") throw new TypeError("a tag must be a string");
32613
32613
  }
32614
+ function cwdMissingOption(value2) {
32615
+ if (value2 === void 0 || value2 === "create") return "create";
32616
+ if (value2 === "error") return "error";
32617
+ throw new TypeError("cwdMissing must be 'create' or 'error'");
32618
+ }
32614
32619
  function withTag(tags, tag) {
32615
32620
  if (tag === void 0 || tags?.includes(tag)) return tags;
32616
32621
  return [...tags ?? [], tag];
@@ -35489,7 +35494,7 @@ var Launcher = class {
35489
35494
  const kept = keepingOpen(fs, nodes, (path) => this.changes.publish(path));
35490
35495
  return this.swaps.wrap(unlinked.wrap(kept));
35491
35496
  }
35492
- async starting(argv, dir, account, tags, base) {
35497
+ async starting(argv, dir, account, tags, base, missing6 = "create") {
35493
35498
  const tag = tags?.[0];
35494
35499
  await this.swaps.settled();
35495
35500
  this.resetCatalogs();
@@ -35498,8 +35503,13 @@ var Launcher = class {
35498
35503
  const cwd = await physicalPathAsync(this.base, start2.startsWith("/") ? start2 : `/${start2}`);
35499
35504
  await this.enterable(this.execGuard(credOf(account), 0, tag), cwd);
35500
35505
  const file = await this.execFile(argv[0] ?? "", cwd, this.execGuard(credOf(account), 0, tag));
35501
- if (!await this.base.exists(cwd))
35506
+ if (!await this.base.exists(cwd)) {
35507
+ if (missing6 === "error")
35508
+ throw Object.assign(new Error(`cannot change to ${cwd}: No such file or directory`), {
35509
+ code: "ENOENT"
35510
+ });
35502
35511
  await this.stackFor(tags, base).fs.mkdir(cwd, { recursive: true });
35512
+ }
35503
35513
  const plan = async () => {
35504
35514
  const found = await this.plan(file, argv, cwd, scope);
35505
35515
  await this.mayExec(credOf(account), { file, cwd, pid: 0, tag }, found);
@@ -35510,6 +35520,7 @@ var Launcher = class {
35510
35520
  }
35511
35521
  async openTerminal(argv, options) {
35512
35522
  const tagged = tagsOption(options);
35523
+ const missing6 = cwdMissingOption(options.cwdMissing);
35513
35524
  const { tags } = tagged;
35514
35525
  const { account, tty: ttyGroup } = await this.terminalAccount(options.user);
35515
35526
  const { cwd, file, planned } = await this.starting(
@@ -35517,7 +35528,8 @@ var Launcher = class {
35517
35528
  options.cwd,
35518
35529
  account,
35519
35530
  tags,
35520
- tagged.tagBase
35531
+ tagged.tagBase,
35532
+ missing6
35521
35533
  );
35522
35534
  if (!planned) throw new Error(`${file}: command not found`);
35523
35535
  let leader = 0;
@@ -35569,6 +35581,7 @@ var Launcher = class {
35569
35581
  }
35570
35582
  async run(argv, options = {}) {
35571
35583
  const tagged = tagsOption(options);
35584
+ const missing6 = cwdMissingOption(options.cwdMissing);
35572
35585
  const { tags } = tagged;
35573
35586
  const account = await this.account(options.user);
35574
35587
  const { cwd, file, planned } = await this.starting(
@@ -35576,7 +35589,8 @@ var Launcher = class {
35576
35589
  options.cwd,
35577
35590
  account,
35578
35591
  tags,
35579
- tagged.tagBase
35592
+ tagged.tagBase,
35593
+ missing6
35580
35594
  );
35581
35595
  const env = this.environment(cwd, options.env, account, options.login);
35582
35596
  const out = [];
@@ -36098,7 +36112,7 @@ function serveTransport(peer, transport, {
36098
36112
  }
36099
36113
 
36100
36114
  // src/client/protocol.ts
36101
- var PROTOCOL = [1, 13];
36115
+ var PROTOCOL = [1, 14];
36102
36116
  var FS_METHODS = [
36103
36117
  "readFile",
36104
36118
  "writeFile",
@@ -37688,6 +37702,8 @@ async function spawnOn(channel, argv, opts) {
37688
37702
  });
37689
37703
  if (opts.tag !== void 0) await since(channel, 12, "a tag per spawn", async () => {
37690
37704
  });
37705
+ if (opts.cwdMissing === "error") await since(channel, 14, "cwdMissing: 'error'", async () => {
37706
+ });
37691
37707
  const started = Promise.withResolvers();
37692
37708
  let endedBy;
37693
37709
  const options = { ...rest2, ...stdin !== void 0 ? { stdin: bytesOf4(stdin) } : {} };
@@ -37747,6 +37763,8 @@ async function terminalOn(channel, argv, opts) {
37747
37763
  });
37748
37764
  if (opts.tag !== void 0) await since(channel, 12, "a tag per terminal", async () => {
37749
37765
  });
37766
+ if (opts.cwdMissing === "error") await since(channel, 14, "cwdMissing: 'error'", async () => {
37767
+ });
37750
37768
  let listener = onData ?? null;
37751
37769
  const backlog = [];
37752
37770
  const started = Promise.withResolvers();