@erichll/pi-sandbox 0.19.1 → 0.20.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.
- package/CHANGELOG.md +24 -0
- package/README.md +3 -2
- package/package.json +9 -7
- package/src/pi-subagents-native.ts +8 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.20.0 - 2026-09-23
|
|
4
|
+
|
|
5
|
+
- Require Pi `^0.87.1` (development and peer) for `@earendil-works/
|
|
6
|
+
pi-coding-agent`, and upgrade the development `@earendil-works/pi-ai` and
|
|
7
|
+
`@earendil-works/pi-server` baselines to 0.87.1 (validated against the
|
|
8
|
+
published packages; type surface unchanged from 0.86.x).
|
|
9
|
+
- Pin the development `pi-subagents` baseline to `^0.71.0`; the runtime peer
|
|
10
|
+
stays `>=0.66.0`. Revalidated protected native mode against published
|
|
11
|
+
0.71.0: the ceiling implementation (`SUBAGENT_CAPABILITY_CEILING_VERSION` 1)
|
|
12
|
+
and the config loader are byte-identical to 0.70.0, and `discoverAgents` /
|
|
13
|
+
`resolveAgentName` keep their signatures (the new `applyRuntimeAgentSettings`
|
|
14
|
+
and `completionGuard` removal do not touch validated agent fields). The
|
|
15
|
+
package test suite passes (89 pass, 1 skipped) and the deterministic
|
|
16
|
+
`gate:pi-subagents` preflight passes with `piSubagentsModuleExtension
|
|
17
|
+
".js"`; the model-backed gate phase was skipped locally for lack of a
|
|
18
|
+
model credential.
|
|
19
|
+
- Upgrade `@anthropic-ai/sandbox-runtime` from the exact `0.0.75` pin to
|
|
20
|
+
`^0.0.77` (adds `LinuxSandboxProfileError` exports and an `address` module;
|
|
21
|
+
`NetworkConfigSchema` surface unchanged).
|
|
22
|
+
- Move the development `typebox` to `^1.3.34` (peer stays `>=1.0.0`).
|
|
23
|
+
- Type checking and the full test suite pass on Pi 0.87.1; the development
|
|
24
|
+
`typescript` stays 6.0.3 (TS7 was evaluated and rejected, see the
|
|
25
|
+
pi-auto-review 0.20.0 notes).
|
|
26
|
+
|
|
3
27
|
## 0.19.1 - 2026-09-20
|
|
4
28
|
|
|
5
29
|
- Pin the development `pi-subagents` baseline to `^0.70.0`. The runtime peer
|
package/README.md
CHANGED
|
@@ -97,7 +97,7 @@ Supported modes:
|
|
|
97
97
|
### `pi-subagents` native-background tool boundary
|
|
98
98
|
|
|
99
99
|
This provider supports the `pi-subagents >=0.66.0` line (validated through
|
|
100
|
-
0.
|
|
100
|
+
0.71.0) and fails closed if its public ceiling API, module layout, or internal
|
|
101
101
|
discovery layout drifts. The peer dependency is a floor with no upper pin; the
|
|
102
102
|
loader's explicit export and layout checks are the real gate.
|
|
103
103
|
Configure both the protection mode and a non-empty canonical whitelist:
|
|
@@ -284,7 +284,8 @@ capability ceiling, and protected launch policy in an isolated temporary agent
|
|
|
284
284
|
directory. It never reads or updates production Pi configuration. Model-backed
|
|
285
285
|
acceptance requires `PI_SUBAGENTS_GATE_MODEL` and an already-exported matching
|
|
286
286
|
credential; missing prerequisites are reported as `SKIP`. Protected mode with
|
|
287
|
-
pi-subagents 0.68.0 or newer needs Pi 0.86.0 or newer.
|
|
287
|
+
pi-subagents 0.68.0 or newer needs Pi 0.86.0 or newer. The development
|
|
288
|
+
baseline is validated against Pi 0.87.1.
|
|
288
289
|
|
|
289
290
|
The test suite covers real Linux Sandbox Runtime enforcement when its native
|
|
290
291
|
dependencies are installed, plus deterministic broker, network approval,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@erichll/pi-sandbox",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Linux (bubblewrap) and macOS (Seatbelt) process sandbox for Pi backed by Anthropic's @anthropic-ai/sandbox-runtime. Fail-closed static filesystem policy plus per-connection network approval from pi-auto-review; sandboxes main-agent Bash and built-in subagent process trees.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,12 +50,11 @@
|
|
|
50
50
|
"test": "node --experimental-strip-types --test test/*.test.ts"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@
|
|
54
|
-
"@erichll/pi-auto-review": "^0.19.0",
|
|
53
|
+
"@erichll/pi-auto-review": "^0.20.0",
|
|
55
54
|
"jiti": "2.7.0"
|
|
56
55
|
},
|
|
57
56
|
"peerDependencies": {
|
|
58
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
57
|
+
"@earendil-works/pi-coding-agent": "^0.87.1",
|
|
59
58
|
"pi-subagents": ">=0.66.0",
|
|
60
59
|
"typebox": ">=1.0.0"
|
|
61
60
|
},
|
|
@@ -65,10 +64,13 @@
|
|
|
65
64
|
}
|
|
66
65
|
},
|
|
67
66
|
"devDependencies": {
|
|
68
|
-
"@
|
|
69
|
-
"@earendil-works/pi-
|
|
67
|
+
"@anthropic-ai/sandbox-runtime": "^0.0.77",
|
|
68
|
+
"@earendil-works/pi-ai": "^0.87.1",
|
|
69
|
+
"@earendil-works/pi-coding-agent": "^0.87.1",
|
|
70
|
+
"@earendil-works/pi-server": "^0.87.1",
|
|
70
71
|
"@types/node": "^26.2.0",
|
|
71
|
-
"pi-subagents": "^0.
|
|
72
|
+
"pi-subagents": "^0.71.0",
|
|
73
|
+
"typebox": "^1.3.34",
|
|
72
74
|
"typescript": "^6.0.3"
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -11,11 +11,14 @@ import { createJiti } from "jiti";
|
|
|
11
11
|
* (`SUBAGENT_CAPABILITY_CEILING_VERSION` 1), the `./capability-ceiling` export,
|
|
12
12
|
* discovery/canonical resolution, and the config loader with `scheduledRuns`
|
|
13
13
|
* are unchanged since 0.66.0, and the published package now ships compiled
|
|
14
|
-
* `.js`/`.d.ts` modules instead of the TypeScript source layout (
|
|
15
|
-
* 2026-09-
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
14
|
+
* `.js`/`.d.ts` modules instead of the TypeScript source layout (revalidated
|
|
15
|
+
* 2026-09-23 against the published 0.71.0 package: the ceiling implementation
|
|
16
|
+
* and the config loader are byte-identical to 0.70.0, `discoverAgents` and
|
|
17
|
+
* `resolveAgentName` keep their signatures, and the `./capability-ceiling`
|
|
18
|
+
* export still resolves to `.js`). Protected mode needs Pi 0.86.0 or newer
|
|
19
|
+
* (the pi-subagents 0.68.0+ floor): 0.85.0 does not ship
|
|
20
|
+
* `@earendil-works/pi-server`, so background children fail to launch there.
|
|
21
|
+
* This package's own peer floor is Pi 0.87.1 (validated 2026-09-23).
|
|
19
22
|
*/
|
|
20
23
|
export const PI_SUBAGENTS_COMPAT_RANGE = ">=0.66.0";
|
|
21
24
|
export const NATIVE_CHILD_TOOLS = ["bash", "read", "grep", "find", "ls"] as const;
|