@sagentlab/navarch-runtime 0.1.37 → 0.1.38
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/README.md +4 -2
- package/dist/worktree-guard.cjs +13 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -364,8 +364,10 @@ as an explicit read-only mount.
|
|
|
364
364
|
On macOS the profile also grants read access to `/Library/Developer` and
|
|
365
365
|
`/Applications` (Xcode and CoreSimulator, which `xcrun simctl` and
|
|
366
366
|
`xcodebuild` load) and write access to `~/Library/Developer` (simulator
|
|
367
|
-
devices and DerivedData)
|
|
368
|
-
|
|
367
|
+
devices and DerivedData) and `~/Library/Caches/org.swift.swiftpm` (SwiftPM
|
|
368
|
+
repository, artifact, metadata, and manifest caches); the Claude hook gets
|
|
369
|
+
the same write roots. Without these, iOS builds and simulator tests fail
|
|
370
|
+
under the sandbox with
|
|
369
371
|
`access to /Library/Developer/PrivateFrameworks/CoreSimulator.framework is blocked`.
|
|
370
372
|
- **Gemini:** the runtime uses Gemini CLI's native sandbox with only the
|
|
371
373
|
current worktree, shared gitdir, session `gh` config, and approved extra
|
package/dist/worktree-guard.cjs
CHANGED
|
@@ -79,7 +79,7 @@ async function prepareWorktreeGuard(options) {
|
|
|
79
79
|
const allowedRoots = [
|
|
80
80
|
options.worktreePath,
|
|
81
81
|
options.repositoryPath,
|
|
82
|
-
// Xcode's per-user
|
|
82
|
+
// Xcode and SwiftPM's per-user build state; see macosDeveloperWriteRoots.
|
|
83
83
|
...macosDeveloperWriteRoots().filter((root) => !isPathInside(node_path_1.default.resolve(root), workspaceRoot)),
|
|
84
84
|
...(options.extraRoots ?? []),
|
|
85
85
|
];
|
|
@@ -143,17 +143,23 @@ function codexToolReadRoots(env = process.env, platform = process.platform) {
|
|
|
143
143
|
*/
|
|
144
144
|
const MACOS_TOOLCHAIN_READ_ROOTS = ["/Library/Developer", "/Applications"];
|
|
145
145
|
/**
|
|
146
|
-
* Per-user macOS
|
|
147
|
-
* run: simulator devices under `~/Library/Developer
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
146
|
+
* Per-user macOS build state that Xcode and SwiftPM write during a build or
|
|
147
|
+
* test run: simulator devices and DerivedData under `~/Library/Developer`,
|
|
148
|
+
* plus SwiftPM's repository, artifact, package-metadata, and manifest caches
|
|
149
|
+
* under `~/Library/Caches/org.swift.swiftpm`. Shared between sessions on one
|
|
150
|
+
* machine (that is inherent to these tools), but nothing under these cache
|
|
151
|
+
* roots is Navarch session state or credentials. Deliberately do not grant
|
|
152
|
+
* `~/Library/org.swift.swiftpm` or `~/.swiftpm`, which may contain registry or
|
|
153
|
+
* security configuration. Empty off macOS.
|
|
151
154
|
*/
|
|
152
155
|
function macosDeveloperWriteRoots(env = process.env, platform = process.platform) {
|
|
153
156
|
if (platform !== "darwin")
|
|
154
157
|
return [];
|
|
155
158
|
const homeDir = env.HOME?.trim() || node_os_1.default.homedir();
|
|
156
|
-
return [
|
|
159
|
+
return [
|
|
160
|
+
node_path_1.default.join(homeDir, "Library", "Developer"),
|
|
161
|
+
node_path_1.default.join(homeDir, "Library", "Caches", "org.swift.swiftpm"),
|
|
162
|
+
];
|
|
157
163
|
}
|
|
158
164
|
/**
|
|
159
165
|
* Isolated gh configuration root for one coding-agent session.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sagentlab/navarch-runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.38",
|
|
4
4
|
"description": "Navarch machine-side session manager: claims delivery tasks and runs them through Claude Code, Codex, Gemini, or OpenCode.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|