@erichll/pi-auto-review 0.15.3 → 0.17.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 +25 -0
- package/package.json +8 -7
- package/src/broker/overrides.ts +1 -0
- package/src/index.ts +55 -1944
- package/src/policy-audit/classifier.ts +1 -1
- package/src/policy-audit/index.ts +2 -1
- package/src/policy.ts +19 -8
- package/src/review/audit.ts +14 -0
- package/src/review/complete.ts +347 -0
- package/src/review/config.ts +366 -0
- package/src/review/consts.ts +22 -0
- package/src/review/guards.ts +66 -0
- package/src/review/index.ts +61 -0
- package/src/review/input.ts +439 -0
- package/src/review/prompts.ts +33 -0
- package/src/review/provider.ts +583 -0
- package/src/review/types.ts +207 -0
- package/src/user-feedback.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.0 - 2026-09-05
|
|
4
|
+
|
|
5
|
+
- Coordinated release for `@erichll/pi-sandbox 0.17.0`; the broker API and
|
|
6
|
+
approval behavior are unchanged.
|
|
7
|
+
- Align the development pin of `@gotgenes/pi-permission-system` to the 31.1.x
|
|
8
|
+
runtime line and update the authorizer-integration test to the 31.1.1
|
|
9
|
+
internal source layout (the 31.1.1 refactor moved `path-normalizer.ts`).
|
|
10
|
+
- Split the 2,778-line `src/index.ts` into a `src/review/` module directory
|
|
11
|
+
(`types`, `consts`, `config`, `audit`, `prompts`, `guards`, `input`,
|
|
12
|
+
`provider`, `complete`) with an internal barrel, matching the existing
|
|
13
|
+
`broker/` and `policy-audit/` conventions; the public export surface of
|
|
14
|
+
`src/index.ts` is unchanged.
|
|
15
|
+
- Harden TypeScript checking: enable `noUncheckedIndexedAccess` and
|
|
16
|
+
`noImplicitOverride` across the workspace and fix all 47 newly surfaced
|
|
17
|
+
unguarded-index sites.
|
|
18
|
+
- Replace the full custom TypeScript test loader with native Node type
|
|
19
|
+
transformation (`--experimental-transform-types`); a scoped hook now only
|
|
20
|
+
handles the TypeScript sources shipped inside `node_modules`, which Node
|
|
21
|
+
refuses to type-strip.
|
|
22
|
+
|
|
23
|
+
## 0.16.0 - 2026-09-05
|
|
24
|
+
|
|
25
|
+
- Coordinated release for `@erichll/pi-sandbox 0.16.0`; the broker API and
|
|
26
|
+
approval behavior are unchanged.
|
|
27
|
+
|
|
3
28
|
## 0.15.3 - 2026-09-03
|
|
4
29
|
|
|
5
30
|
- Tolerate a single enclosing ```` ```json ```` or bare Markdown code fence
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@erichll/pi-auto-review",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Fail-closed, model-backed approval broker for Pi: deterministically hard-denies dangerous operations, reviews dangerous boundaries with a reviewer model, and issues one-shot expiring grants that OS sandbox adapters must consume before retrying.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,17 +44,18 @@
|
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
47
|
-
"test": "node --disable-warning=ExperimentalWarning --experimental-
|
|
47
|
+
"test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --import ./test/register-external-ts.mjs --test test/*.test.ts"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@earendil-works/pi-ai": "^0.
|
|
51
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
50
|
+
"@earendil-works/pi-ai": "^0.85.0",
|
|
51
|
+
"@earendil-works/pi-coding-agent": "^0.85.0",
|
|
52
52
|
"@gotgenes/pi-permission-system": ">=29.3.0 <32.0.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@earendil-works/pi-ai": "^0.
|
|
56
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
57
|
-
"@
|
|
55
|
+
"@earendil-works/pi-ai": "^0.85.0",
|
|
56
|
+
"@earendil-works/pi-coding-agent": "^0.85.0",
|
|
57
|
+
"@earendil-works/pi-server": "^0.85.0",
|
|
58
|
+
"@gotgenes/pi-permission-system": "31.1.1",
|
|
58
59
|
"@types/node": "^26.2.0",
|
|
59
60
|
"typescript": "^6.0.3"
|
|
60
61
|
}
|
package/src/broker/overrides.ts
CHANGED
|
@@ -145,6 +145,7 @@ export class RecentDenialStore {
|
|
|
145
145
|
);
|
|
146
146
|
if (index < 0) return;
|
|
147
147
|
const denial = this.#denials[index];
|
|
148
|
+
if (!denial) return;
|
|
148
149
|
const key = this.key(sessionId, denial.requestHash);
|
|
149
150
|
const pending = this.#breakGlassPending.get(key);
|
|
150
151
|
if (pending) {
|