@erichll/pi-sandbox 0.8.4 → 0.8.5

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.5 - 2026-08-21
4
+
5
+ - Update the exact `@erichll/pi-auto-review` dependency to `0.8.0`, inheriting
6
+ the break-glass recovery feature: deny results now carry a `denialSource` and
7
+ a `recoveryCommand` naming `/auto-review-approve` or
8
+ `/auto-review-break-glass`, or stating that a local hard deny cannot be
9
+ overridden.
10
+
3
11
  ## 0.8.4 - 2026-08-20
4
12
 
5
13
  - Update the dev-only `pi-subagents` compatibility baseline to `0.53.0`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erichll/pi-sandbox",
3
- "version": "0.8.4",
3
+ "version": "0.8.5",
4
4
  "description": "Sandbox Runtime-backed Linux and macOS sandbox with pi-auto-review approval",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@anthropic-ai/sandbox-runtime": "0.0.73",
54
- "@erichll/pi-auto-review": "0.7.0"
54
+ "@erichll/pi-auto-review": "0.8.0"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@earendil-works/pi-coding-agent": "^0.84.1",
package/src/approval.ts CHANGED
@@ -124,10 +124,17 @@ async function approveBoundaryRequest(
124
124
  }
125
125
 
126
126
  if (decision.kind === "deny") {
127
+ const recoveryCommand =
128
+ decision.recoveryCommand ?? "/auto-review-approve";
129
+ const recovery =
130
+ recoveryCommand === false
131
+ ? " This local safety denial cannot be overridden."
132
+ : ` Use ${recoveryCommand} for one exact retry.`;
127
133
  return {
128
134
  action: "deny",
129
- source: "reviewer",
130
- reason: decision.review.rationale,
135
+ source:
136
+ decision.denialSource === "hard-deny" ? "hard-deny" : "reviewer",
137
+ reason: `${decision.review.rationale}${recovery}`,
131
138
  };
132
139
  }
133
140
  if (decision.kind === "defer") {