From 90b18218bd1761886e36384d4ea9778ef96cf927 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 3 Feb 2026 01:15:45 +0100 Subject: [PATCH] docs(coding-agent): document tool expansion UI methods --- packages/coding-agent/CHANGELOG.md | 4 ++++ packages/coding-agent/docs/extensions.md | 5 +++++ packages/coding-agent/docs/rpc.md | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 38d729b8..ab0b6611 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Added + +- Added ExtensionUIContext getToolsExpanded and setToolsExpanded for controlling tool output expansion ([#1199](https://github.com/badlogic/pi-mono/pull/1199) by [@academo](https://github.com/academo)) + ### Fixed - Fixed Kitty key release events leaking to parent shell over slow SSH connections by draining stdin for up to 1s on exit ([#1204](https://github.com/badlogic/pi-mono/issues/1204)) diff --git a/packages/coding-agent/docs/extensions.md b/packages/coding-agent/docs/extensions.md index 93b7ee59..5b12e1b8 100644 --- a/packages/coding-agent/docs/extensions.md +++ b/packages/coding-agent/docs/extensions.md @@ -1526,6 +1526,11 @@ ctx.ui.setTitle("pi - my-project"); ctx.ui.setEditorText("Prefill text"); const current = ctx.ui.getEditorText(); +// Tool output expansion +const wasExpanded = ctx.ui.getToolsExpanded(); +ctx.ui.setToolsExpanded(true); +ctx.ui.setToolsExpanded(wasExpanded); + // Custom editor (vim mode, emacs mode, etc.) ctx.ui.setEditorComponent((tui, theme, keybindings) => new VimEditor(tui, theme, keybindings)); ctx.ui.setEditorComponent(undefined); // Restore default editor diff --git a/packages/coding-agent/docs/rpc.md b/packages/coding-agent/docs/rpc.md index 483ab6dd..60488fff 100644 --- a/packages/coding-agent/docs/rpc.md +++ b/packages/coding-agent/docs/rpc.md @@ -916,8 +916,9 @@ If a dialog method includes a `timeout` field, the agent-side will auto-resolve Some `ExtensionUIContext` methods are not supported in RPC mode because they require direct TUI access: - `custom()` returns `undefined` -- `setWorkingMessage()`, `setFooter()`, `setHeader()`, `setEditorComponent()` are no-ops +- `setWorkingMessage()`, `setFooter()`, `setHeader()`, `setEditorComponent()`, `setToolsExpanded()` are no-ops - `getEditorText()` returns `""` +- `getToolsExpanded()` returns `false` ### Extension UI Requests (stdout)