@linzumi/cli 0.0.75-beta → 0.0.76-beta

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +19 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -58,7 +58,7 @@ Install the CLI or run it with `npx`:
58
58
  ```bash
59
59
  npm install -g @linzumi/cli@latest
60
60
  npx -y @linzumi/cli@latest signup
61
- npx -y @linzumi/cli@0.0.75-beta --version
61
+ npx -y @linzumi/cli@0.0.76-beta --version
62
62
  linzumi --version
63
63
  ```
64
64
 
package/dist/index.js CHANGED
@@ -14633,7 +14633,7 @@ var linzumiCliVersion, linzumiCliVersionText;
14633
14633
  var init_version = __esm({
14634
14634
  "src/version.ts"() {
14635
14635
  "use strict";
14636
- linzumiCliVersion = "0.0.75-beta";
14636
+ linzumiCliVersion = "0.0.76-beta";
14637
14637
  linzumiCliVersionText = `linzumi ${linzumiCliVersion}`;
14638
14638
  }
14639
14639
  });
@@ -16628,7 +16628,7 @@ var init_signupTaskSuggestions = __esm({
16628
16628
 
16629
16629
  // src/remoteCodexSandboxRunner.ts
16630
16630
  import { spawn as spawn7 } from "node:child_process";
16631
- import { existsSync as existsSync9 } from "node:fs";
16631
+ import { existsSync as existsSync9, realpathSync as realpathSync5 } from "node:fs";
16632
16632
  import { dirname as dirname9, isAbsolute as isAbsolute3 } from "node:path";
16633
16633
  function createConfiguredRemoteCodexSandboxRunner(args) {
16634
16634
  const kind = normalizedSandboxKind(args.env.LINZUMI_REMOTE_CODEX_SANDBOX);
@@ -16785,6 +16785,10 @@ function macosSeatbeltProfile(request, exists) {
16785
16785
  `(allow file-read* (subpath ${sandboxString(path2)}))`,
16786
16786
  `(allow file-write* (subpath ${sandboxString(path2)}))`
16787
16787
  ]).join("\n");
16788
+ const cwdRules = existingPathAliases(request.cwd).flatMap((path2) => [
16789
+ `(allow file-read* (subpath ${sandboxString(path2)}))`,
16790
+ `(allow file-write* (subpath ${sandboxString(path2)}))`
16791
+ ]).join("\n");
16788
16792
  return [
16789
16793
  "(version 1)",
16790
16794
  "(deny default)",
@@ -16792,13 +16796,13 @@ function macosSeatbeltProfile(request, exists) {
16792
16796
  "(allow signal (target self))",
16793
16797
  "(allow sysctl-read)",
16794
16798
  "(allow file-read-metadata)",
16799
+ '(allow file-read-data (literal "/"))',
16795
16800
  '(allow file-read* (literal "/dev/null"))',
16796
16801
  '(allow file-read* (literal "/dev/random"))',
16797
16802
  '(allow file-read* (literal "/dev/urandom"))',
16798
16803
  readableRules,
16799
16804
  writableTempRules,
16800
- `(allow file-read* (subpath ${sandboxString(request.cwd)}))`,
16801
- `(allow file-write* (subpath ${sandboxString(request.cwd)}))`
16805
+ cwdRules
16802
16806
  ].join("\n");
16803
16807
  }
16804
16808
  function createBoundedOutputBuffer() {
@@ -16859,6 +16863,9 @@ function parentDirs(path2) {
16859
16863
  function uniqueStrings2(values) {
16860
16864
  return Array.from(new Set(values));
16861
16865
  }
16866
+ function existingPathAliases(path2) {
16867
+ return uniqueStrings2([path2, realpathSync5(path2)]);
16868
+ }
16862
16869
  function sandboxString(value) {
16863
16870
  return JSON.stringify(value);
16864
16871
  }
@@ -16880,6 +16887,8 @@ var init_remoteCodexSandboxRunner = __esm({
16880
16887
  macosReadOnlyRoots = [
16881
16888
  "/System",
16882
16889
  "/Library",
16890
+ "/etc",
16891
+ "/private/etc",
16883
16892
  "/usr",
16884
16893
  "/bin",
16885
16894
  "/sbin",
@@ -16899,7 +16908,7 @@ import {
16899
16908
  mkdirSync as mkdirSync9,
16900
16909
  mkdtempSync as mkdtempSync4,
16901
16910
  readdirSync as readdirSync2,
16902
- realpathSync as realpathSync5,
16911
+ realpathSync as realpathSync6,
16903
16912
  rmSync as rmSync4,
16904
16913
  statSync
16905
16914
  } from "node:fs";
@@ -21700,7 +21709,7 @@ function configuredAllowedCwds(values, options = {}) {
21700
21709
  if (options.createMissing === true) {
21701
21710
  mkdirSync9(absolutePath, { recursive: true });
21702
21711
  }
21703
- const realPath = realpathSync5(absolutePath);
21712
+ const realPath = realpathSync6(absolutePath);
21704
21713
  allowedCwds.push(
21705
21714
  ...realPath === absolutePath ? [realPath] : [realPath, absolutePath]
21706
21715
  );
@@ -21747,7 +21756,7 @@ function browseRunnerDirectory(control, options) {
21747
21756
  const requestId = stringValue(control.requestId) ?? null;
21748
21757
  const requestedPath = stringValue(control.path) ?? currentHomeDirectory();
21749
21758
  try {
21750
- const currentPath = realpathSync5(resolve7(expandUserPath(requestedPath)));
21759
+ const currentPath = realpathSync6(resolve7(expandUserPath(requestedPath)));
21751
21760
  const stats = statSync(currentPath);
21752
21761
  if (!stats.isDirectory()) {
21753
21762
  return {
@@ -21870,7 +21879,7 @@ function createRunnerProject(control, options, allowedCwds) {
21870
21879
  error: cleanupError === void 0 ? `git_init_failed:${gitFailure}` : `git_init_cleanup_failed:${cleanupError}`
21871
21880
  };
21872
21881
  }
21873
- const projectRealPath = realpathSync5(projectPath);
21882
+ const projectRealPath = realpathSync6(projectPath);
21874
21883
  const persistedAllowedCwds = addAllowedCwdForLinzumiUrl(
21875
21884
  projectRealPath,
21876
21885
  options.kandanUrl
@@ -45562,7 +45571,7 @@ secure mission control for all your agents on your computers
45562
45571
  init_runner();
45563
45572
  init_claudeCodeSession();
45564
45573
  init_authCache();
45565
- import { existsSync as existsSync14, readFileSync as readFileSync16, realpathSync as realpathSync6 } from "node:fs";
45574
+ import { existsSync as existsSync14, readFileSync as readFileSync16, realpathSync as realpathSync7 } from "node:fs";
45566
45575
  import { homedir as homedir13 } from "node:os";
45567
45576
  import { resolve as resolve10 } from "node:path";
45568
45577
  import { fileURLToPath as fileURLToPath4 } from "node:url";
@@ -59741,7 +59750,7 @@ function runPathsCommand(args) {
59741
59750
  if (pathValue === void 0 || pathValue.trim() === "") {
59742
59751
  throw new Error("missing path for linzumi paths add");
59743
59752
  }
59744
- const trustedPath = realpathSync6(resolve10(expandUserPath(pathValue)));
59753
+ const trustedPath = realpathSync7(resolve10(expandUserPath(pathValue)));
59745
59754
  if (linzumiUrl === void 0) {
59746
59755
  addAllowedCwd(pathValue);
59747
59756
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linzumi/cli",
3
- "version": "0.0.75-beta",
3
+ "version": "0.0.76-beta",
4
4
  "description": "Linzumi CLI — point a Codex agent at the real code on your laptop, with your team watching and steering from shared threads.",
5
5
  "type": "module",
6
6
  "bin": {