aboutsummaryrefslogtreecommitdiff
path: root/src/renderers.ts
diff options
context:
space:
mode:
authoramankumarsingh77 <amankumarsingh7702@gmal.com>2026-04-29 00:40:36 +0530
committeramankumarsingh77 <amankumarsingh7702@gmal.com>2026-04-29 00:40:36 +0530
commit8fff91522918a8309dea2e9fa725e15f6ed1c3ea (patch)
treea2f5fb863fd6ac260a3f37e4ed308d0c6df0a9ed /src/renderers.ts
Initial release: pi-browser-harness
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.
Diffstat (limited to 'src/renderers.ts')
-rw-r--r--src/renderers.ts21
1 files changed, 21 insertions, 0 deletions
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,
+ );
+ });
+}