@erichll/pi-sandbox 0.23.0 → 0.25.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 +32 -0
- package/README.md +2 -2
- package/package.json +9 -9
- package/src/pi-subagents-native.ts +10 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.25.0 - 2026-10-07
|
|
4
|
+
|
|
5
|
+
- Align the `@erichll/pi-auto-review` dependency with `^0.25.0` so the
|
|
6
|
+
workspace and sandbox use the same broker implementation and include the
|
|
7
|
+
permission-system 40.0.2 integration baseline.
|
|
8
|
+
- Revalidate the deterministic and model-backed pi-subagents 0.75.0 gate:
|
|
9
|
+
the native baseline reads the host probe, while the protected native
|
|
10
|
+
background child blocks that read and acknowledges the sandbox extension.
|
|
11
|
+
|
|
12
|
+
## 0.24.0 - 2026-10-03
|
|
13
|
+
|
|
14
|
+
- Raise the `@earendil-works/pi-coding-agent` peer floor to `^1.0.0` and the
|
|
15
|
+
development baselines for `pi-ai`, `pi-coding-agent`, and `pi-server` to
|
|
16
|
+
`^1.0.0`, plus `@types/node` to `^26.6.4`. Validated against Pi 1.0.0 via
|
|
17
|
+
`tsc --noEmit` and the full test suite: no behavior changes were required.
|
|
18
|
+
- Raise the `pi-subagents` development pin to `^0.75.0` and revalidate the
|
|
19
|
+
protected loader against it. 0.75.0 is the first release that starts
|
|
20
|
+
background children on Pi 1.0.0 again (through 0.74.0 they failed with "does
|
|
21
|
+
not provide @earendil-works/pi-agent-core/node", which pi-agent-core 1.0.0
|
|
22
|
+
dropped). The deterministic preflight passes on 0.75.0 — package exports,
|
|
23
|
+
discovery, and the capability-ceiling seams are unchanged from 0.72.1, and
|
|
24
|
+
the loader comment records the audit. The credential-backed model phases also
|
|
25
|
+
pass on 0.75.0 — native baseline (`native-host-readable`) and the protected
|
|
26
|
+
native-background whitelist (`sandboxed-bash-blocked-host-read`) — so the
|
|
27
|
+
release gate is closed for this pin.
|
|
28
|
+
- Raise the `@anthropic-ai/sandbox-runtime` dependency to `^0.0.78` and the
|
|
29
|
+
`@erichll/pi-auto-review` dependency to `^0.24.0`.
|
|
30
|
+
- Update the compatibility notes for pi-subagents 0.73.0, which replaced
|
|
31
|
+
`workflowScript`/`workflowScriptPath` with a single `workflow` field: the
|
|
32
|
+
loader already rejects every call that sets it (inline, path, or named), so
|
|
33
|
+
protected mode still permits direct agent launches only.
|
|
34
|
+
|
|
3
35
|
## 0.23.0 - 2026-10-02
|
|
4
36
|
|
|
5
37
|
- Add opt-in `network.strictAllowlist` (default `false`) to deny unmatched
|
package/README.md
CHANGED
|
@@ -98,7 +98,7 @@ Supported modes:
|
|
|
98
98
|
### `pi-subagents` native-background tool boundary
|
|
99
99
|
|
|
100
100
|
This provider supports the `pi-subagents >=0.66.0` line (validated through
|
|
101
|
-
0.
|
|
101
|
+
0.75.0) and fails closed if its public ceiling API, module layout, or internal
|
|
102
102
|
discovery layout drifts. The peer dependency is a floor with no upper pin; the
|
|
103
103
|
loader's explicit export and layout checks are the real gate. On Node, the
|
|
104
104
|
loader aliases the `@earendil-works/pi-tui` host peer to the running Pi package.
|
|
@@ -344,7 +344,7 @@ directory. It never reads or updates production Pi configuration. Model-backed
|
|
|
344
344
|
acceptance requires `PI_SUBAGENTS_GATE_MODEL` and an already-exported matching
|
|
345
345
|
credential; missing prerequisites are reported as `SKIP`. Protected mode with
|
|
346
346
|
pi-subagents 0.68.0 or newer needs Pi 0.86.0 or newer. The development
|
|
347
|
-
baseline is validated against Pi 0.
|
|
347
|
+
baseline is validated against Pi 1.0.0.
|
|
348
348
|
|
|
349
349
|
The test suite covers real Linux Sandbox Runtime enforcement when its native
|
|
350
350
|
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.25.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,12 @@
|
|
|
50
50
|
"test": "node --experimental-strip-types --test test/*.test.ts"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@anthropic-ai/sandbox-runtime": "^0.0.
|
|
54
|
-
"@erichll/pi-auto-review": "^0.
|
|
53
|
+
"@anthropic-ai/sandbox-runtime": "^0.0.78",
|
|
54
|
+
"@erichll/pi-auto-review": "^0.25.0",
|
|
55
55
|
"jiti": "2.7.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
58
|
+
"@earendil-works/pi-coding-agent": "^1.0.0",
|
|
59
59
|
"pi-subagents": ">=0.66.0",
|
|
60
60
|
"typebox": ">=1.0.0"
|
|
61
61
|
},
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@earendil-works/pi-ai": "^0.
|
|
69
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
70
|
-
"@earendil-works/pi-server": "^0.
|
|
71
|
-
"@types/node": "^26.6.
|
|
72
|
-
"pi-subagents": "^0.
|
|
68
|
+
"@earendil-works/pi-ai": "^1.0.0",
|
|
69
|
+
"@earendil-works/pi-coding-agent": "^1.0.0",
|
|
70
|
+
"@earendil-works/pi-server": "^1.0.0",
|
|
71
|
+
"@types/node": "^26.6.4",
|
|
72
|
+
"pi-subagents": "^0.75.0",
|
|
73
73
|
"typebox": "^1.3.34",
|
|
74
74
|
"typescript": "^7.0.2"
|
|
75
75
|
}
|
|
@@ -24,10 +24,18 @@ import * as hostTypebox from "typebox";
|
|
|
24
24
|
* keep their signatures, `src/agents/agents` only gains an optional
|
|
25
25
|
* `options.globalNpmRoot` argument, `typebox` moved from a hard dependency to
|
|
26
26
|
* an optional host peer, and the `./capability-ceiling` export still resolves
|
|
27
|
-
* to `.js`)
|
|
27
|
+
* to `.js`), and revalidated 2026-10-03 against the published 0.75.0 package:
|
|
28
|
+
* the capability-ceiling implementation is still byte-identical to 0.70.0 with
|
|
29
|
+
* `SUBAGENT_CAPABILITY_CEILING_VERSION` 1, the `exports` map and the
|
|
30
|
+
* dependency/peer sets are unchanged from 0.72.1, `discoverAgents` and
|
|
31
|
+
* `resolveAgentName` keep their signatures, `src/extension/config` only adds
|
|
32
|
+
* fail-closed field validation (including `scheduledRuns.enabled`), and
|
|
33
|
+
* `src/agents/agents` changes stay in settings persistence and
|
|
34
|
+
* builtin-override handling away from the seams the loader reads. Protected
|
|
35
|
+
* mode needs Pi 0.86.0 or newer
|
|
28
36
|
* (the pi-subagents 0.68.0+ floor): 0.85.0 does not ship
|
|
29
37
|
* `@earendil-works/pi-server`, so background children fail to launch there.
|
|
30
|
-
* This package's own peer floor is Pi 0.
|
|
38
|
+
* This package's own peer floor is Pi 1.0.0 (validated 2026-10-02).
|
|
31
39
|
*/
|
|
32
40
|
export const PI_SUBAGENTS_COMPAT_RANGE = ">=0.66.0";
|
|
33
41
|
export const NATIVE_CHILD_TOOLS = ["bash", "read", "grep", "find", "ls"] as const;
|