From d49279a9a44d0bfc09d9b2139e15bf730c05daa2 Mon Sep 17 00:00:00 2001 From: Brett Chien Date: Wed, 19 Aug 2026 03:36:17 +0800 Subject: [PATCH] feat(console): Agent console reached by drill-down from a roster row (slice 3/6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Slice 3 of the console-navigation-ia ADR (studio#83, mockup Β§7.4). Relocates the existing Agent console (files/config + per-agent chat, agent-consoles.md Part C) so it's reached by drill-down from Fleet detail's roster instead of the always-visible flat `agents-wrap` selector. `agentConsole.ts` is untouched β€” its selector (`#agent-list`) still opens a console on a `[data-agent]` click; that element just moves inside `#fleet-detail` and is hidden via CSS (no longer the entry point users see). A roster row's name is now a button (`rowHtml`, carrying both the ECS service name and the short name as candidate lookup keys) that main.ts resolves against the hidden selector and dispatches a synthetic click on β€” reusing the exact, already-tested open/dial/teardown path rather than duplicating it. A `MutationObserver` on `#agent-console`'s own `hidden` attribute swaps the roster for the open console (Part A: drill-down, not tab-peer surfaces) without adding a second source of truth for what's open. Leaving the fleet (back to Fleets, or switching fleets) also closes any open console via its own wired Close button. πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 5 --- console/index.html | 78 +++++++++++++++++++------------------- console/src/main.ts | 67 ++++++++++++++++++++++++++++++-- console/src/render.test.ts | 13 +++++++ console/src/render.ts | 9 ++++- console/src/styles.css | 32 +++++++++++++--- 5 files changed, 150 insertions(+), 49 deletions(-) diff --git a/console/index.html b/console/index.html index 5f82f25..f4fab92 100644 --- a/console/index.html +++ b/console/index.html @@ -36,6 +36,45 @@ -
-
- agent consoles - select an agent to open its console β€” chat + read-only config -
-
- -