opensec-pi-subagents 0.20.3 → 0.20.4

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
@@ -7,6 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.20.4] - 2026-10-16
11
+
12
+ The conversation viewer draws a subagent's transcript with Pi's own chat components, so it looks exactly like Pi's
13
+ main session.
14
+
15
+ > **Possibly breaking:** the `viewerMarkdown` setting (`/agents → Settings → Viewer markdown`) and the viewer's `m`
16
+ > key are removed: Pi's components decide how each message renders. A `viewerMarkdown` key left in `subagents.json`
17
+ > is ignored.
18
+
19
+ ### Changed
20
+
21
+ - **The conversation viewer (regular overlay and fullscreen observer) renders like Pi's main session.** It builds
22
+ `UserMessageComponent`, `AssistantMessageComponent` (thinking and text), `ToolExecutionComponent` (each tool's own
23
+ call and result renderers from the subagent's session: edit diffs, read previews, bash command, output, exit status
24
+ and duration, running/done/error state, arguments), `BashExecutionComponent`, `CompactionSummaryMessageComponent`,
25
+ `BranchSummaryMessageComponent`, `SkillInvocationMessageComponent` and `CustomMessageComponent` from the session's
26
+ messages as Pi's interactive mode does, with the same spacing and collapsed defaults. Streaming messages, tool
27
+ progress and results update live. It replaces the viewer's own `[User]` / `[Assistant]` / `[Tool: name]` /
28
+ `[Result]` rendering and its 16k-character result cap (Pi's renderers truncate collapsed output themselves).
29
+ - **`ctrl+o` expands and collapses tool output in the viewer**, as in Pi; it follows a rebinding of Pi's
30
+ `app.tools.expand`, and the footer shows it when there is room. Pi's `hideThinkingBlock`, `outputPad` and
31
+ `markdown.codeBlockIndent` settings apply.
32
+ - Each component is built once and its rendered lines are cached per width and expand state; a frame re-renders only
33
+ the streamed message and tools that changed, scrolling never re-renders, and only visible rows are assembled.
34
+ Without a JIT (Bun with `BUN_JSC_useJIT=0`, standing in for Pi-Bolt), at 500 messages: a frame 6 µs, a scroll step
35
+ 15 µs, a streaming delta 0.70 ms (was 0.92 ms), a tool call finishing 0.26 ms (was 0.31 ms), the first frame 121 ms
36
+ (was 160 ms). A new user message costs 0.27 ms (was 0.17 ms): Pi's user message is Markdown on a background.
37
+ - Where the viewer differs from Pi's main session: images in tool results show as Pi's text placeholder, since an
38
+ inline image cannot be clipped to a scrolled overlay; Mermaid blocks are not drawn as diagrams (Pi's Mermaid
39
+ transformer is not exported); OSC 133 prompt marks are not emitted inside the overlay; clicking a tool or thinking
40
+ block does not toggle it (use `ctrl+o`).
41
+
42
+ ### Removed
43
+
44
+ - The `viewerMarkdown` setting and the viewer's `m` key (see above).
45
+
10
46
  ## [0.20.3] - 2026-10-16
11
47
 
12
48
  Background agents survive a session switch, subagents run on the parent's model by default, and nested and workflow
package/README.md CHANGED
@@ -117,6 +117,7 @@ locations are those of `@tintinweb/pi-subagents`.
117
117
 
118
118
  Based on `@tintinweb/pi-subagents` 0.19:
119
119
 
120
+ - **0.20.4:** the conversation viewer draws a subagent's transcript with Pi's own chat components, as Pi's main session does; `ctrl+o` expands and collapses tool output. The `viewerMarkdown` setting and the `m` key are gone.
120
121
  - **0.20.3:**
121
122
  - From upstream 0.20–0.22: completions reach a busy parent before its next model call; an agent file's `isolated:`/`isolation:` hold on every spawn path; tool scoping covers tools called from other tools; `ctrl+b`; the fullscreen viewer, built on the incremental viewer (a frame in about 10 µs at 500 messages without a JIT).
122
123
  - Nested and workflow agents are resumable after a restart; background agents keep running across `/new`, `/resume`, `/fork` and `/reload`, and their results reach the session that started them.