pi-bro 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.
- package/CHANGELOG.md +36 -0
- package/README.md +10 -9
- package/docs/guided-review.md +8 -12
- package/docs/user-guide.md +38 -19
- package/package.json +8 -2
- package/src/advisor.ts +573 -0
- package/src/backend.ts +100 -42
- package/src/bro.ts +37 -2623
- package/src/btw.ts +556 -0
- package/src/config-ui.ts +76 -39
- package/src/doctor.ts +538 -0
- package/src/explain-modal.ts +777 -0
- package/src/modal-kit.ts +258 -0
- package/src/review-modal.ts +95 -48
- package/src/review-ui.ts +57 -47
- package/src/settings.ts +45 -3
- package/src/show.ts +243 -0
- package/src/ui-capabilities.ts +32 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to pi-bro are documented here.
|
|
4
4
|
|
|
5
|
+
## [0.24.0] - 2026-10-19
|
|
6
|
+
|
|
7
|
+
### Highlights
|
|
8
|
+
|
|
9
|
+
- Guided Review now works with Codex, Grok and Agy, not just Claude and Muse. Those three run shell commands inside their own sandbox on the captured checkout.
|
|
10
|
+
- Bro tells you plainly when a review backend can run shell commands (and that Agy's sandbox still allows writes), and recommends Claude or Muse for PRs you do not trust.
|
|
11
|
+
- `/bro doctor` no longer treats a Codex/Grok/Agy review choice as a setup problem; it shows the same advisory as information.
|
|
12
|
+
- Nothing changes for Claude and Muse, which still use strict file-only inspection.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Review generation and questions no longer fail before starting on Codex, Grok and Agy. Codex runs `--sandbox read-only --ephemeral`, Grok runs `--sandbox read-only --permission-mode dontAsk`, and Agy keeps `--sandbox` (which limits terminal commands, not file writes); all three use the captured checkout and the 10-minute review deadline. No bypass flag is ever added to a review, and Grok review no longer gets the "do not inspect" prompt restriction.
|
|
17
|
+
- A new advisory appears while a review is being prepared, in the review window, and in `/bro doctor`: the backend runs commands inside its sandbox rather than doing strict file-only inspection.
|
|
18
|
+
- Saved reviews still open with any backend.
|
|
19
|
+
|
|
20
|
+
## [0.23.1] - 2026-10-15
|
|
21
|
+
|
|
22
|
+
### Highlights
|
|
23
|
+
|
|
24
|
+
- Scroll Bro's explain, show, help and btw windows with the mouse wheel again on Pi 1.2.
|
|
25
|
+
- See the save messages and key hints in `/bro preferences`, `/bro advisor-steer` and `/bro config` on normal-size terminals; they were cut off at the bottom.
|
|
26
|
+
- btw keeps your place: it follows the newest answer while you are at the bottom and no longer jumps back to the top after each reply.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- Mouse-wheel scrolling in the explain/show/doctor/help and btw windows on Pi 1.2 fullscreen. Pi 1.2 stopped passing raw wheel input to windows without a mouse handler; both windows now handle Pi's mouse events and keep the raw path for Pi 0.84 and regular mode.
|
|
31
|
+
- The wheel over the preferences, advisor-steer, config and Guided Review loading windows no longer scrolls the chat behind them on Pi 1.2.
|
|
32
|
+
- `/bro preferences`, `/bro advisor-steer` and `/bro config` fit their windows: no blank padding rows, a shorter editor hint line, the editors' height limit raised from 60% to 78% like the other Bro windows, and the config list sized to the terminal. At 24 rows the preferences editor now draws 18 rows instead of 27. Very short terminals (under about 22 rows) can still clip the editors, because Pi's editor has a minimum height.
|
|
33
|
+
- `/bro config` shows one key-hint line instead of two that disagreed, and its model picker shows its own hints.
|
|
34
|
+
- btw's hint while a reply runs now says Esc closes the panel and stops the reply, which is what it does.
|
|
35
|
+
- Guided Review saves once when you close it instead of twice; teardown without closing it (for example switching sessions) still saves.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Internal: `src/bro.ts` is split into feature and modal modules (#133). No behaviour change.
|
|
40
|
+
|
|
5
41
|
## [0.23.0] - 2026-10-13
|
|
6
42
|
|
|
7
43
|
### Highlights
|
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ GitHub, use `pi install git:github.com/tranhoangnguyen03/pi-bro`.
|
|
|
51
51
|
| `/bro`, `/bro text`, `/bro file`, `/bro url` | **[Explain](docs/user-guide.md#what-bro-can-explain).** A plain-language version of the agent's last reply, pasted text, a PDF/DOCX/Markdown file, or a public webpage. Three modes: `brief`, `balanced`, `faithful`. |
|
|
52
52
|
| `/bro show` | **[Show](docs/user-guide.md#bro-show).** The last few turns drawn as a shape (call tree, file tree, diff, pseudocode, a sequence diagram, or an HTML layout) instead of prose. |
|
|
53
53
|
| `/bro btw` | **[Side questions](docs/user-guide.md#bro-btw-side-conversation).** A separate conversation seeded with recent context, so you can ask without interrupting the agent. ⚠️ [Full-permission mode](#what-leaves-your-machine) can edit files. |
|
|
54
|
-
| `/bro guided-review <PR>` | **[Guided Review](docs/guided-review.md).** An explanation and quality assessment of a GitHub PR, with ranked findings, source evidence and private questions.
|
|
54
|
+
| `/bro guided-review <PR>` | **[Guided Review](docs/guided-review.md).** An explanation and quality assessment of a GitHub PR, with ranked findings, source evidence and private questions. Claude or Muse is recommended for untrusted PRs. |
|
|
55
55
|
| `bro_advisor` tool | **[Second opinion](docs/user-guide.md#bro-advisor).** A tool your agent can call mid-task; a fresh backend process investigates and returns advice to the agent. ⚠️ [Runs with permissions bypassed](#what-leaves-your-machine). |
|
|
56
56
|
| `/bro config`, `/bro preferences` | **[Settings](docs/user-guide.md#settings) and [preferences](docs/user-guide.md#preferences).** Pick the backend, model and effort per feature, and tell Bro how you like answers. |
|
|
57
57
|
|
|
@@ -68,14 +68,14 @@ Guided Review has its own [guide](docs/guided-review.md).
|
|
|
68
68
|
|
|
69
69
|
| Backend | CLI | Notes |
|
|
70
70
|
| --- | --- | --- |
|
|
71
|
-
| [Google Antigravity](https://antigravity.google/docs/cli-install) | `agy` | Default for new settings. Needs `>=1.1.15`.
|
|
72
|
-
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `claude` | Works for every feature
|
|
73
|
-
| [Grok Build](https://docs.x.ai/build/overview) | `grok` |
|
|
74
|
-
| [Codex CLI](https://github.com/openai/codex) | `codex` |
|
|
75
|
-
| [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Works for every feature
|
|
71
|
+
| [Google Antigravity](https://antigravity.google/docs/cli-install) | `agy` | Default for new settings. Needs `>=1.1.15`. Guided Review uses `--sandbox`, which restricts shell commands but still allows writes inside the project. |
|
|
72
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `claude` | Works for every feature; strict file-only inspection for Guided Review. |
|
|
73
|
+
| [Grok Build](https://docs.x.ai/build/overview) | `grok` | Guided Review uses its read-only sandbox (shell-enabled). |
|
|
74
|
+
| [Codex CLI](https://github.com/openai/codex) | `codex` | Guided Review uses its read-only sandbox (shell-enabled). |
|
|
75
|
+
| [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Works for every feature; strict file-only inspection for Guided Review. |
|
|
76
76
|
|
|
77
77
|
- Guided Review also needs Git and an authenticated [`gh`](https://cli.github.com/).
|
|
78
|
-
|
|
78
|
+
Claude or Muse is recommended for untrusted PRs (strict file-only inspection); Codex, Grok and Agy run with shell available under their sandbox, with an advisory.
|
|
79
79
|
- [PiG](docs/pig-compatibility.md) support is experimental.
|
|
80
80
|
|
|
81
81
|
## What leaves your machine
|
|
@@ -105,8 +105,9 @@ tool results.
|
|
|
105
105
|
> only an instruction.
|
|
106
106
|
> - **BTW full-permission mode** (turned on with `/mode` inside BTW): it is
|
|
107
107
|
> meant to edit files and run commands.
|
|
108
|
-
> - **Grok
|
|
109
|
-
> the supplied context" is only an
|
|
108
|
+
> - **Grok:** its sandbox is off except during Guided Review, which uses the
|
|
109
|
+
> read-only sandbox. "Answer only from the supplied context" is only an
|
|
110
|
+
> instruction.
|
|
110
111
|
|
|
111
112
|
Details per backend:
|
|
112
113
|
[Backends: access and retention](docs/user-guide.md#backends-access-and-retention)
|
package/docs/guided-review.md
CHANGED
|
@@ -6,7 +6,7 @@ The normal journey is: **open a PR → read and investigate → leave when satis
|
|
|
6
6
|
|
|
7
7
|
## Open a review
|
|
8
8
|
|
|
9
|
-
Requirements: local Pi interactive mode, Git, authenticated GitHub CLI (`gh`), and Claude or Muse
|
|
9
|
+
Requirements: local Pi interactive mode, Git, authenticated GitHub CLI (`gh`), and a configured review backend (Claude or Muse is recommended for untrusted PRs). Run `gh auth status` to check GitHub authentication; `/bro doctor` checks Bro's selected backend setup and shows an advisory when the review backend uses a shell-capable sandbox, without proving GitHub access or model connectivity.
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
12
|
/bro guided-review https://github.com/OWNER/REPO/pull/123
|
|
@@ -20,12 +20,6 @@ A URL works even when your current workspace belongs to a different repository.
|
|
|
20
20
|
|
|
21
21
|
A **new** review captures the PR's base/head commits outside your working tree and automatically makes one model request. Subsequent questions each make another request. Calls use your selected backend CLI's account and billing—not Pi's model account. Bro does not automatically retry a failed generation or switch backends.
|
|
22
22
|
|
|
23
|
-
For fullscreen mouse scrolling, start Pi with:
|
|
24
|
-
|
|
25
|
-
```sh
|
|
26
|
-
pi --tui-mode fullscreen
|
|
27
|
-
```
|
|
28
|
-
|
|
29
23
|
Opening the **same PR again** restores its saved review without another model call. Bare `/bro guided-review` lists saved reviews; `/bro guided-review resume` remains an alias for that list.
|
|
30
24
|
|
|
31
25
|
**Reopening keeps the captured code.** It does not fetch a new comparison when the author pushes commits. Opening by URL/number checks current metadata and reports newer source, but continues the saved capture. The saved-review picker does not check freshness. Reviewing newer revisions is not implemented.
|
|
@@ -63,7 +57,7 @@ The generation header shows observable application stages and elapsed time—not
|
|
|
63
57
|
| Close | Save automatically and leave |
|
|
64
58
|
| Stop and close | Stop active work, await cancellation, save partial work, then leave |
|
|
65
59
|
|
|
66
|
-
|
|
60
|
+
The wheel scrolls the pane under the pointer without moving its list selection or keyboard focus, in regular and fullscreen mode. Reading an active answer pauses following; deliberately returning to the bottom resumes it. In regular terminal mode, Bro captures the mouse while the review is open (as its other windows do), so terminal scrollback and mouse text selection return when you close it; use the copy actions meanwhile.
|
|
67
61
|
|
|
68
62
|
## Ask privately, if needed
|
|
69
63
|
|
|
@@ -89,13 +83,15 @@ Use Overview → Regenerate guide only when you want a fresh explanation/assessm
|
|
|
89
83
|
|
|
90
84
|
## Access, privacy and storage
|
|
91
85
|
|
|
92
|
-
Review
|
|
86
|
+
Review never runs with full-access or bypass flags. **Claude and Muse provide strict file-only inspection** and are recommended for untrusted PRs: Claude runs with `--restricted`, Read/Grep/Glob only, `dontAsk`, safe mode and no MCP; Muse disables write, shell and web tools, foreign personal context and native session logs, without trusting repository rules. No model-run project tests, commands, Git or network tools are available on Claude or Muse.
|
|
87
|
+
|
|
88
|
+
**Codex, Grok and Agy run with shell available inside their own sandbox**, and each sandbox is different: Codex and Grok apply a read-only sandbox (`codex exec --sandbox read-only --ephemeral`, `grok --sandbox read-only --permission-mode dontAsk`), while Agy's `--sandbox` only restricts terminal commands and still lets them write inside the project. All three inspect the captured checkout with a 10-minute review deadline, and **none is shell-free**. When one of these backends is selected for review, Bro shows an advisory during acquisition, in the live review workspace, and in `/bro doctor` (as a non-fatal informational note). Set the **review** override to Claude or Muse in `/bro config` for untrusted PRs; saved reviews remain readable with any backend. Unsupported/older CLI flags fail visibly; there is no bypass fallback.
|
|
93
89
|
|
|
94
|
-
|
|
90
|
+
Captured evidence is read from pinned Git blobs, so a shell-capable backend that writes inside the checkout cannot alter the code shown as evidence — but it can still change what it later reads, so treat very large changes with suspicion when using Agy.
|
|
95
91
|
|
|
96
92
|
These controls reduce malicious-code execution/write risk, but repository content can still manipulate the model's conclusions. Captured content, questions and answers go to the provider; do not use review as a secrets boundary or approval certificate. CLI enforcement and managed host policies remain the backend's responsibility.
|
|
97
93
|
|
|
98
|
-
PR identity/description, diff, relevant saved discussion and your Bro preferences are sent to the selected backend. It can
|
|
94
|
+
PR identity/description, diff, relevant saved discussion and your Bro preferences are sent to the selected backend. It can inspect the captured source. Main-session conversation is not automatically attached. Each request reconstructs context; review does not resume BTW/native sessions. Claude, Muse and Codex disable native session persistence where their CLIs support it; backend/provider retention policies still apply.
|
|
99
95
|
|
|
100
96
|
Records, private text and captured source remain under:
|
|
101
97
|
|
|
@@ -112,7 +108,7 @@ One open writer per review is supported within a Pi process. Concurrent editing
|
|
|
112
108
|
| Problem | What to do |
|
|
113
109
|
| --- | --- |
|
|
114
110
|
| GitHub unavailable when reopening | Use bare `/bro guided-review` to choose a saved review; the picker does not fetch |
|
|
115
|
-
|
|
|
111
|
+
| Sandboxed shell review backend (Codex, Grok, Agy) | Advisory shown; choose Claude or Muse in `/bro config` for strict file-only inspection on untrusted PRs |
|
|
116
112
|
| Git/gh authentication or fetch error | Read the acquisition error; check Git/`gh auth status`; retry explicitly |
|
|
117
113
|
| Invalid/failed preparation | Changed files remain available; use Prepare guide to retry when ready for another call |
|
|
118
114
|
| Failed regeneration | Current guide is kept; retry only if you want another call |
|
package/docs/user-guide.md
CHANGED
|
@@ -88,6 +88,7 @@ next mode without saving it:
|
|
|
88
88
|
|
|
89
89
|
- **Mouse wheel / trackpad**: Scroll in regular or fullscreen mode
|
|
90
90
|
- **↑ / ↓**: Scroll in any mode
|
|
91
|
+
- **PgUp / PgDn**: Scroll a page at a time (also in btw)
|
|
91
92
|
- **C**: Copy the complete explanation
|
|
92
93
|
- **R**: Simplify the captured source again in the mode shown, or run the
|
|
93
94
|
current Doctor check again
|
|
@@ -119,8 +120,9 @@ Nothing is automatically applied or posted to GitHub.
|
|
|
119
120
|
/bro guided-review https://github.com/OWNER/REPO/pull/123
|
|
120
121
|
```
|
|
121
122
|
|
|
122
|
-
Local Pi interactive mode, Git, authenticated `gh`, and
|
|
123
|
-
|
|
123
|
+
Local Pi interactive mode, Git, authenticated `gh`, and a configured review backend
|
|
124
|
+
(Claude or Muse is recommended for untrusted PRs). A new review makes a model call
|
|
125
|
+
using that backend's account.
|
|
124
126
|
Opening the same PR restores its saved review without another model call.
|
|
125
127
|
Bare `/bro guided-review` lists saved reviews (`resume` is an alias).
|
|
126
128
|
|
|
@@ -138,8 +140,15 @@ Optional conveniences:
|
|
|
138
140
|
|
|
139
141
|
Reopening also keeps the captured revision, even after the author pushes.
|
|
140
142
|
Findings are model suggestions, not approval; citations show real locations,
|
|
141
|
-
not proof of the conclusion.
|
|
142
|
-
|
|
143
|
+
not proof of the conclusion. Claude and Muse use strict file-only inspection
|
|
144
|
+
(shell, writes and web tools disabled). Codex and Grok use a read-only sandbox;
|
|
145
|
+
Agy's sandbox only restricts terminal commands and still allows writes inside
|
|
146
|
+
the project. All three run shell commands, and an advisory says so.
|
|
147
|
+
Claude or Muse is recommended for untrusted PRs; choose a review override in
|
|
148
|
+
`/bro config`. Saved reviews remain readable with any selection. Repository
|
|
149
|
+
text can still mislead the model; sandboxing and tool restrictions are not
|
|
150
|
+
proof of its conclusions.
|
|
151
|
+
The wheel scrolls the pane under the pointer in regular and fullscreen mode.
|
|
143
152
|
|
|
144
153
|
See the [Guided Review guide](guided-review.md) for controls, calls and
|
|
145
154
|
costs, source freshness, access/privacy, local storage, recovery and current
|
|
@@ -179,8 +188,9 @@ asked in.
|
|
|
179
188
|
|
|
180
189
|
`/insert` and `/insert-all` never replace an existing main-editor draft:
|
|
181
190
|
edit or clear it first. Any other text, including other slash-prefixed input
|
|
182
|
-
such as `/send`, is sent as a question. Esc closes the modal
|
|
183
|
-
running turn
|
|
191
|
+
such as `/send`, is sent as a question. Esc closes the modal and stops a
|
|
192
|
+
running turn; the thread is kept. The view follows the newest text while you
|
|
193
|
+
are at the bottom; scroll up to read earlier turns. The header shows the model and reasoning effort the latest
|
|
184
194
|
turn used (`default` when the model's own effort applies) and the current
|
|
185
195
|
mode.
|
|
186
196
|
- A turn is capped at 2 minutes in conversation-only mode and 10 minutes in
|
|
@@ -206,8 +216,8 @@ activates `bro_advisor`, its resolved backend/model/effort, steering
|
|
|
206
216
|
presence, and backend compatibility (for Agy, a minimum CLI version with an
|
|
207
217
|
`agy update` action when it is too old).
|
|
208
218
|
|
|
209
|
-
- **Automatic context, no prep needed**: the executor
|
|
210
|
-
summary. Bro captures a harness-neutral snapshot — the executor's system
|
|
219
|
+
- **Automatic context, no prep needed**: the executor does not need to assemble
|
|
220
|
+
a summary. Bro captures a harness-neutral snapshot — the executor's system
|
|
211
221
|
instructions, its active tools, and the conversation so far including tool
|
|
212
222
|
calls and results — and sends it, along with an optional `question` the
|
|
213
223
|
executor may pass, to a **fresh, standalone process of the selected
|
|
@@ -747,8 +757,10 @@ Use `/bro config` to review or change the shared default backend/model/effort
|
|
|
747
757
|
and any per-capability (explain/show/btw/advisor/review) overrides, the explanation
|
|
748
758
|
mode, and the default show turn count. Changes save immediately. Esc inside a
|
|
749
759
|
picker cancels that pick; Esc on the settings screen closes it, keeping
|
|
750
|
-
whatever was already saved.
|
|
751
|
-
|
|
760
|
+
whatever was already saved. If the terminal becomes too small, config blocks
|
|
761
|
+
hidden actions; Esc closes config even if a picker was open, after pending saves
|
|
762
|
+
finish. A failed save cancels that close and shows its error inline; if the error
|
|
763
|
+
alone makes config too small, any other key clears it so you can try again. `/bro mode` changes the mode directly (**M** in an explanation
|
|
752
764
|
tries another mode without saving it), and `/bro help` shows the active settings
|
|
753
765
|
and file path.
|
|
754
766
|
|
|
@@ -799,18 +811,25 @@ data under their own settings and policies.
|
|
|
799
811
|
|
|
800
812
|
| | Explain / show | BTW conversation-only | BTW full permission | Advisor | Guided Review |
|
|
801
813
|
| --- | --- | --- | --- | --- | --- |
|
|
802
|
-
| **Agy** | Temporary directory, Agy sandbox | Temporary directory, Agy sandbox | Workspace, permissions bypassed | Fresh workspace process, permissions bypassed |
|
|
814
|
+
| **Agy** | Temporary directory, Agy sandbox | Temporary directory, Agy sandbox | Workspace, permissions bypassed | Fresh workspace process, permissions bypassed | Captured checkout, Agy sandbox (shell and in-project writes allowed; advisory) |
|
|
803
815
|
| **Claude Code** | Scratch directory, tools/MCP/skills disabled, no session persistence | Workspace, tools disabled | Workspace, permissions bypassed | Fresh workspace process, permissions bypassed | Restricted Read/Grep/Glob only; confined checkout, no persistence |
|
|
804
|
-
| **Grok** | Temporary directory, **prompt instruction only** | Workspace, **prompt instruction only** | Workspace, permissions bypassed | Fresh workspace process, permissions bypassed |
|
|
805
|
-
| **Codex** | Scratch directory, read-only sandbox, ephemeral session | Workspace, read-only sandbox | Workspace, approvals and sandbox bypassed | Fresh workspace process, approvals and sandbox bypassed |
|
|
816
|
+
| **Grok** | Temporary directory, **prompt instruction only** | Workspace, **prompt instruction only** | Workspace, permissions bypassed | Fresh workspace process, permissions bypassed | Captured checkout, read-only sandbox (shell-enabled; advisory) |
|
|
817
|
+
| **Codex** | Scratch directory, read-only sandbox, ephemeral session | Workspace, read-only sandbox | Workspace, approvals and sandbox bypassed | Fresh workspace process, approvals and sandbox bypassed | Captured checkout, read-only sandbox, ephemeral (shell-enabled; advisory) |
|
|
806
818
|
| **Muse** | Scratch directory, approval/write/shell disabled, no session log | Workspace, approval/write/shell disabled | Workspace, permissions bypassed (`--yolo`) | Fresh workspace process, permissions bypassed (`--yolo`) | Captured checkout; writes/shell/web disabled, no session log |
|
|
807
819
|
|
|
808
|
-
- Grok always runs with its sandbox off and
|
|
809
|
-
hooks, skills, plugins, and MCP may remain
|
|
810
|
-
supplied context" is a request, not an
|
|
820
|
+
- Grok always runs explain, show, btw and the advisor with its sandbox off and
|
|
821
|
+
permissions bypassed; its tools, hooks, skills, plugins, and MCP may remain
|
|
822
|
+
available. "Answer only from the supplied context" is a request, not an
|
|
823
|
+
enforced restriction. Guided Review is the exception: it runs with
|
|
824
|
+
`--sandbox read-only --permission-mode dontAsk` but still executes shell
|
|
825
|
+
commands inside that sandbox.
|
|
811
826
|
- Codex's read-only sandbox is not a tool-free mode: workspace reads and
|
|
812
|
-
sandboxed commands remain available
|
|
813
|
-
servers or web search; their access is governed
|
|
827
|
+
sandboxed commands remain available, including for Guided Review. Bro does
|
|
828
|
+
not disable configured MCP servers or web search; their access is governed
|
|
829
|
+
by Codex configuration.
|
|
830
|
+
- Agy's Guided Review runs under `--sandbox`, which restricts terminal
|
|
831
|
+
commands but still permits writes inside the project; it has no file-only
|
|
832
|
+
tool filter.
|
|
814
833
|
- Muse's restricted mode disables write and shell tools and approval prompts,
|
|
815
834
|
not all tools: workspace reads and web tools remain available without approval.
|
|
816
835
|
It is not a tool-free or network-isolated mode.
|
|
@@ -913,7 +932,7 @@ read. Move what you want to keep into `/bro preferences`, and choose
|
|
|
913
932
|
seeded main-session conversation text (plus earlier turns when a native
|
|
914
933
|
session is reseeded) to the selected backend. In full permission mode the
|
|
915
934
|
side agent can additionally read and edit the workspace.
|
|
916
|
-
- **Guided Review requests**: PR identity/description, captured diff, relevant private discussion and preferences go to the selected backend, which can inspect captured files
|
|
935
|
+
- **Guided Review requests**: PR identity/description, captured diff, relevant private discussion and preferences go to the selected backend, which can inspect captured files. Main-session context is not attached. Claude (`--restricted`, file tools only) and Muse (write/shell/web disabled) use strict file-only inspection and are recommended for untrusted PRs. Codex and Grok inspect the captured checkout under a read-only sandbox; Agy's `--sandbox` still allows in-project writes. All three run shell commands and show an advisory. Prompt injection can still corrupt conclusions or reveal captured content to the provider; this is not a general confidentiality guarantee. See [Guided Review access and storage](guided-review.md#access-privacy-and-storage).
|
|
917
936
|
- **Preferences**: `bro-preferences.md` is sent with every explain, Show,
|
|
918
937
|
BTW, and Guided Review request to the selected backend. It is never sent to the advisor or
|
|
919
938
|
to Pi's main model.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-bro",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "A sidekick for you and your Pi agent: plain-language explanations, side questions, diagrams, PR review and second opinions, without cluttering the agent's context.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,6 +42,11 @@
|
|
|
42
42
|
],
|
|
43
43
|
"files": [
|
|
44
44
|
"src/bro.ts",
|
|
45
|
+
"src/doctor.ts",
|
|
46
|
+
"src/show.ts",
|
|
47
|
+
"src/advisor.ts",
|
|
48
|
+
"src/btw.ts",
|
|
49
|
+
"src/explain-modal.ts",
|
|
45
50
|
"src/review.ts",
|
|
46
51
|
"src/review-source.ts",
|
|
47
52
|
"src/review-ui.ts",
|
|
@@ -51,6 +56,7 @@
|
|
|
51
56
|
"src/sources.ts",
|
|
52
57
|
"src/config-ui.ts",
|
|
53
58
|
"src/ui-capabilities.ts",
|
|
59
|
+
"src/modal-kit.ts",
|
|
54
60
|
"src/backend.ts",
|
|
55
61
|
"src/prompt.ts",
|
|
56
62
|
"src/vendor/mermaid.min.js",
|
|
@@ -70,7 +76,7 @@
|
|
|
70
76
|
},
|
|
71
77
|
"scripts": {
|
|
72
78
|
"typecheck": "tsc --noEmit",
|
|
73
|
-
"test": "npm run typecheck && node .github/scripts/release-utils.mjs selftest && node --test test/review-ux.test.mjs test/review-doctor.test.mjs test/review-versions.test.mjs test/review-regeneration.test.mjs test/review-modal.test.mjs test/review.test.ts test/review-ui.test.mjs test/review-session.test.mjs test/helpers.test.mjs test/prompt.test.ts test/backend.test.ts test/claude.test.ts test/grok.test.ts test/codex.test.ts test/muse.test.ts test/settings.test.ts test/sources.test.ts test/release.test.ts test/show-html.test.ts test/smoke-rpc.test.ts test/ui-capabilities.test.ts benchmark/*.test.ts && sh ./test/smoke-test.sh",
|
|
79
|
+
"test": "npm run typecheck && node .github/scripts/release-utils.mjs selftest && node --test test/review-ux.test.mjs test/review-doctor.test.mjs test/review-versions.test.mjs test/review-regeneration.test.mjs test/review-modal.test.mjs test/review.test.ts test/review-ui.test.mjs test/review-session.test.mjs test/helpers.test.mjs test/prompt.test.ts test/backend.test.ts test/claude.test.ts test/grok.test.ts test/codex.test.ts test/muse.test.ts test/settings.test.ts test/sources.test.ts test/release.test.ts test/show-html.test.ts test/smoke-rpc.test.ts test/ui-capabilities.test.ts test/modal-contract.test.mjs benchmark/*.test.ts && sh ./test/smoke-test.sh",
|
|
74
80
|
"benchmark:dry-run": "node benchmark/run.ts dry-run",
|
|
75
81
|
"benchmark:run": "node benchmark/run.ts run",
|
|
76
82
|
"benchmark:report": "node benchmark/run.ts report",
|