@erichll/pi-auto-review 0.23.0 → 0.24.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +14 -12
  3. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.24.0 - 2026-10-03
4
+
5
+ - Raise the `@earendil-works/pi-ai` and `@earendil-works/pi-coding-agent`
6
+ peer floors to `^1.0.0` and the development baselines to `^1.0.0`, plus
7
+ `@types/node` to `^26.6.4`. Raise the
8
+ `@gotgenes/pi-permission-system` development baseline to `^38.0.2`; the peer
9
+ floor stays `>=36.0.0`. Validated against Pi 1.0.0 with
10
+ pi-permission-system 38.0.2 via `tsc --noEmit` and the full test suite: no
11
+ source changes were required, and the authorizer seam this package consumes
12
+ is unchanged.
13
+ - Move the example's Pi MCP tool rules under `mcp` (`mcp__atlassian__*`,
14
+ `mcp__pencil__*`) and update the README's MCP guidance to match, because
15
+ pi-permission-system 38.0.0 gates Pi's built-in MCP tools on the `mcp`
16
+ surface instead of their top-level names.
17
+
3
18
  ## 0.23.0 - 2026-10-02
4
19
 
5
20
  - Add opt-in `model: "current"` to review approval requests with the active Pi
package/README.md CHANGED
@@ -31,8 +31,9 @@ that dependency is a hard prerequisite (see [Install and enable](#install-and-en
31
31
  > **Prerequisite:** pi-auto-review is an authorizer inside
32
32
  > `@gotgenes/pi-permission-system`. Pi does not auto-install peer packages, so
33
33
  > install the permission system separately (once per machine) before this
34
- > extension. This release line requires Pi 0.99.1 or later and supports
35
- > permission-system 36.0.0 and later:
34
+ > extension. This release line requires Pi 1.0.0 or later and supports
35
+ > permission-system 36.0.0 and later (development baseline validated against
36
+ > permission-system 38.0.2):
36
37
 
37
38
  Node-based Pi requires Node.js 22.13.0 or newer. Permission auditing uses the
38
39
  host runtime's built-in SQLite: `node:sqlite` on Node and `bun:sqlite` on Bun,
@@ -156,19 +157,20 @@ to select a model whose ID is literally `current`.
156
157
 
157
158
  For a complete `@gotgenes/pi-permission-system` config that wires
158
159
  `pi-auto-review` into the authorizer chain — a copyable baseline covering
159
- read/write/edit, a read-only bash allowlist, an MCP discovery policy, and a
160
+ read/write/edit, a read-only bash allowlist, MCP tool access, and a
160
161
  `path` deny block for secret and credential files — see
161
162
  [`examples/pi-permission-system.config.example.json`](examples/pi-permission-system.config.example.json).
162
163
 
163
- MCP rules are evaluated last-match-wins across the candidates derived for one
164
- call: the tool name, its bare server, and `mcp_call`. Keep `"*"` first in the
165
- `mcp` block and narrower server or tool entries after it, as the example does,
166
- so a specific rule cannot be shadowed by the catch-all. A bare server entry
167
- such as `"atlassian": "allow"` also matches the `mcp connect <server>`
168
- candidate list, so it auto-allows starting that server — prefer the `server_*`
169
- and `server:*` forms for tool calls. Any entry meant to narrow a broad allow
170
- (such as a destructive-tool pattern) must be written after it, or
171
- last-match-wins shadows it.
164
+ Permission-system 38.0.0 gates Pi's built-in MCP tools on the `mcp` surface, so
165
+ the example writes its `mcp__<server>__*` rules inside a `mcp` block instead of
166
+ as top-level tool names. MCP rules are evaluated last-match-wins across the
167
+ candidates derived for one call: the tool name, its bare server, and `mcp_call`.
168
+ A call the `mcp` block does not match falls through to the universal
169
+ `"*": "ask"`, and any broad catch-all must be written before a narrower
170
+ override or last-match-wins shadows it. A bare server entry such as
171
+ `"atlassian": "allow"` also matches the `mcp connect <server>` candidate list,
172
+ so it auto-allows starting that server — prefer the `server_*` and `server:*`
173
+ forms for tool calls.
172
174
 
173
175
  Package defaults:
174
176
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erichll/pi-auto-review",
3
- "version": "0.23.0",
3
+ "version": "0.24.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",
@@ -47,16 +47,16 @@
47
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.99.1",
51
- "@earendil-works/pi-coding-agent": "^0.99.1",
50
+ "@earendil-works/pi-ai": "^1.0.0",
51
+ "@earendil-works/pi-coding-agent": "^1.0.0",
52
52
  "@gotgenes/pi-permission-system": ">=36.0.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@earendil-works/pi-ai": "^0.99.1",
56
- "@earendil-works/pi-coding-agent": "^0.99.1",
57
- "@earendil-works/pi-server": "^0.99.1",
58
- "@gotgenes/pi-permission-system": "^36.0.0",
59
- "@types/node": "^26.6.2",
55
+ "@earendil-works/pi-ai": "^1.0.0",
56
+ "@earendil-works/pi-coding-agent": "^1.0.0",
57
+ "@earendil-works/pi-server": "^1.0.0",
58
+ "@gotgenes/pi-permission-system": "^38.0.2",
59
+ "@types/node": "^26.6.4",
60
60
  "typescript": "^7.0.2"
61
61
  }
62
62
  }