From 8fff91522918a8309dea2e9fa725e15f6ed1c3ea Mon Sep 17 00:00:00 2001 From: amankumarsingh77 Date: Wed, 29 Apr 2026 00:40:36 +0530 Subject: Initial release: pi-browser-harness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Browser control extension for pi — 20 browser_* tools for navigating, clicking, typing, screenshotting, and extracting data from real Chrome via CDP. Includes self-extending harness (register_tool/remove_tool), guided /browser-setup, session persistence, and custom TUI renderers. --- src/renderers.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/renderers.ts (limited to 'src/renderers.ts') diff --git a/src/renderers.ts b/src/renderers.ts new file mode 100644 index 0000000..5882ff4 --- /dev/null +++ b/src/renderers.ts @@ -0,0 +1,21 @@ +/** + * TUI renderers for pi-browser-harness. + * + * Registers custom message renderers and tool renderCall/renderResult + * for browser tools. + */ + +import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"; +import { Text } from "@mariozechner/pi-tui"; + +export function registerRenderers(pi: ExtensionAPI): void { + // Register a message renderer for screenshot notifications + pi.registerMessageRenderer("browser-screenshot", (message, _options, theme) => { + const path = (message as { details?: { path?: string } }).details?.path || "unknown"; + return new Text( + theme.fg("accent", `📸 Screenshot: ${path}`), + 0, + 0, + ); + }); +} -- cgit v1.2.3