From 40c1906d416c60a7dcb40002da1f91ee921ec3d1 Mon Sep 17 00:00:00 2001 From: prateek Date: Fri, 20 Feb 2026 18:43:57 +0530 Subject: [PATCH] feat(web): redesign dashboard, session detail, and orchestrator terminal (#125) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: add design research artifacts — briefs, token reference, screenshots Comprehensive design research package for the ao dashboard, session detail page, and orchestrator terminal. Produced via competitive analysis of 14 products (Linear, Vercel, Railway, Fly.io, Inngest, WandB, LangSmith, Supabase, and more) + Playwright CSS extraction from live sites + full codebase audit. Artifacts: - docs/design/design-brief.md Main design brief (v2, Playwright-updated) - docs/design/session-detail-design-brief.md /sessions/[id] design spec - docs/design/orchestrator-terminal-design-brief.md Orchestrator page spec - docs/design/token-reference.css Drop-in CSS replacement for globals.css - docs/design/competitive-analysis-raw.md Raw research notes, all 14 sites - docs/design/design-brief-v1.md Original text-only brief (pre-Playwright) - docs/design/README.md Index + research methods summary - docs/design/screenshots/linear-homepage.png Playwright-captured screenshot - docs/design/screenshots/railway-homepage.png Playwright-captured screenshot Key findings: - Linear CSS token values verified via Playwright (body bg #08090A, accent #7070FF, Berkeley Mono monospace, type scale, radius, transitions) - Recommended palette: #0C0C11 base (blue-cast dark vs current GitHub #0d1117) - Highest-impact change: load Inter Variable via next/font/google - Orchestrator terminal needs visual differentiation (violet accent, status strip) - token-reference.css is ready to drop into packages/web/src/app/globals.css Co-Authored-By: Claude Sonnet 4.6 * feat(web): redesign dashboard, session detail, and orchestrator terminal Implements a cohesive dense dark-mode design system across all three main views. - New color token palette: #0c0c11 base, #141419 surface, #1c1c25 elevated - Accent blue #5b7ef8, status semantics (ready/error/attention/working/idle/done) - Violet accent #a371f7 reserved for orchestrator - Inter Variable + JetBrains Mono loaded via next/font with CSS variables - activity-pulse keyframe for live agent dots - AttentionZone header: dot + label + flex divider + count pill + chevron - Sessions laid out in responsive 1→2→3 column grid - Solid green merge button (translateY hover), no confirm() dialog - Breadcrumb nav: ← Agent Orchestrator / {session-id} [orchestrator badge] - CSS 8×8px activity dot with pulse animation replaces emoji labels - Merge-ready state: green-bordered banner with checkmark icon - Orchestrator sessions show zone counts strip (merge/respond/review counts) - xterm.js dark theme (#0a0a0f bg, #d4d4d8 fg, full 16-color ANSI palette) - variant prop: "agent" (blue cursor) vs "orchestrator" (violet cursor) - Dynamic height prop instead of fixed 600px; fullscreen toggle with SVG icons Co-Authored-By: Claude Sonnet 4.6 * refactor(web): strip rainbow stats, clean header, IBM Plex Sans typography - Replace Inter with IBM Plex Sans (technical tool aesthetic, distinctive numerics) - Replace 4-color big-number stats bar with a single compact inline status line in the header: "35 sessions · 1 working · 9 PRs" — no decorative colors - Remove the two-tone "Agent (blue) Orchestrator (white)" title — just "Orchestrator" - Remove ClientTimestamp (useless) — replaced by orchestrator nav link - Zone headers: colored dot only (semantic), neutral uppercase label, plain count — removes the rainbow-colored label text that read as a widget template - Add subtle radial gradient glow at top of page for depth Co-Authored-By: Claude Sonnet 4.6 * feat(web): kanban layout, amber accent, full-width, bigger stats - Switch accent from blue (#5b7ef8) to amber/gold (#d18616) throughout - Replace grid layout with horizontal Kanban columns for active zones (merge, respond, review, pending, working), Done stays full-width below - Remove max-w-[1100px] constraint — full viewport width - Header stats numbers 20px bold (was 12px), orchestrator link is now a visible bordered button - AttentionZone gains variant="column" for Kanban mode (compact header with count pill, vertical card stack) - Update all hardcoded rgba(91,126,248,...) in SessionCard to amber Co-Authored-By: Claude Sonnet 4.6 * fix(web): layout, alert sizing, column order, button feel - Kanban column order: working→pending→review→respond→merge (left = in progress, right = ready to ship) - Columns use flex-1 min-w-[200px] to fill available width instead of fixed 260px leaving half the page empty - Alert badges: inline-flex wrapper prevents stretching to full row width when wrapping - Terminal button: add bg-subtle fill so it reads as a button - PR number (#91): remove opaque pill background, now plain amber text link — clearly a hyperlink - Merge PR button: pt-0.5 spacer above the action area Co-Authored-By: Claude Sonnet 4.6 * fix(web): don't cache rate-limited partial PR data When GitHub rate limits fire, enrichSessionPR was caching the bad partial data (0 additions, CI failing) for 60 seconds, causing the dashboard to show incorrect data for the full TTL window. - Skip cache write when majority of API calls failed - Downgrade console.error → console.warn (this is handled/expected) The next page refresh will retry live API calls, so data recovers as soon as the rate limit window resets. Co-Authored-By: Claude Sonnet 4.6 * feat(web): graceful GitHub API rate limit handling in UI When the GitHub plugin hits rate limits, the dashboard now: - Shows a single amber banner: "GitHub API rate limited — PR data (CI status, review state, sizes) may be stale. Will retry on next refresh." - Hides CI badge, review decision, and size pill on PR cards (they'd show wrong values: +0 -0 XS, CI failing) - Shows a subtle "⚠ PR data rate limited" note on affected cards instead of misleading alert badges - Skips CI/review/conflict-based attention zone classification for rate-limited PRs (prevents sessions moving to Review due to phantom "CI failing" from the fallback value) - Doesn't cache partial rate-limited data so next refresh retries live API calls as soon as the rate limit window resets What still works when rate limited: - Session ID, title, branch, PR number/link - Session activity status (working/spawning/etc.) - Merge button if mergeability was already cached - Restore/terminate/send actions Co-Authored-By: Claude Sonnet 4.6 * feat(web): dashboard redesign — glassmorphism, Kanban, rate-limit handling, perf fix Design: - Kanban layout: active zones as flex columns (working→pending→review→respond→merge), Done as full-width grid below - GitHub dark color palette (main's tokens) with glassmorphic card surfaces (rgba bg + backdrop-blur) and subtle blue/violet body gradient - Activity state shown as labeled pill (● active / ● idle etc.) instead of bare dot - Session card: title on its own row, larger font, inline-flex alert badges (no stretch) - PR number rendered as plain accent link, not a blue pill badge - Terminal button has background fill to feel like a button - Info circle icon replaces alarming warning triangle for rate-limit indicators - "1 working" → "1 active" in header stats - PR table constrained to max-w-[900px] and centered - Orchestrator session no longer uses purple accent Rate limiting: - isPRRateLimited() helper; getAttentionLevel() skips PR classification when limited - Rate-limited banner in Dashboard; suppressed CI/size/review badges in PRStatus - SessionCard shows subtle "PR data rate limited" indicator; getAlerts() returns [] - serialize.ts: rate-limited enrichment results cached for 5 min (not 60s) to stop retrying 168 failing API calls every minute Performance: - page.tsx: 4s hard timeout on PR enrichment — serves stale data fast instead of blocking SSR for 75s under rate limiting - cache.ts: TTLCache.set() accepts optional ttl override for per-entry control Co-Authored-By: Claude Sonnet 4.6 * fix: suppress stale size/CI/review in PR table when rate limited PRTableRow now shows "—" for size, CI, and review columns when GitHub API is rate limited, matching the card view which already hides these. Prevents misleading "+0 -0 XS" size and "needs review" labels from the default fallback values. Co-Authored-By: Claude Sonnet 4.6 * feat: 3D card effect with depth shadow and top-edge shine Cards now clearly pop against the dark background: - Solid gradient bg (rgba(28,36,47) → rgba(18,23,31)) instead of near-invisible rgba(22,27,34,0.8) surface - Layered box-shadow: contact shadow + diffuse depth + inset top highlight that simulates light hitting the card's top edge (the "shine") - Hover: card lifts 2px with deeper shadow - Merge-ready: green-tinted bg with green ambient glow + stronger lift on hover Co-Authored-By: Claude Sonnet 4.6 * fix: restore text legibility inside session cards The darker solid card gradient made muted/secondary text nearly invisible — #484f58 (text-muted) had only ~2:1 contrast on the new card bg. Override the color tokens locally within .session-card to GitHub's established dark-mode legibility values: --color-text-muted: #484f58 → #656d76 (3.8:1 on card bg) --color-text-secondary: #7d8590 → #8b949e (6.2:1 on card bg) --color-text-tertiary: #484f58 → #656d76 Scoped to .session-card so the rest of the UI is unchanged. Co-Authored-By: Claude Sonnet 4.6 * fix: address bugbot comments — fonts, review zone, ActivityDot, orchestrator btn - layout.tsx: add IBM Plex Sans weight 700 (was missing, font-bold falling back to 600) - DirectTerminal.tsx: use "IBM Plex Mono" instead of unloaded "JetBrains Mono" - SessionDetail.tsx: add review zone to OrchestratorStatusStrip (was omitted, sessions with CI failures were invisible in the strip) - ActivityDot.tsx: extract shared component, remove duplicate implementations in SessionCard.tsx and SessionDetail.tsx - Dashboard.tsx: redesign orchestrator button with 3D glass style matching card aesthetic (blue-tinted bg, depth shadow, hover lift) Co-Authored-By: Claude Sonnet 4.6 * fix(web): lint — eqeqeq, duplicate import, unused var - ActivityDot.tsx: != → !== (eqeqeq rule) - PRStatus.tsx: merge duplicate @/lib/types imports into one - SessionCard.tsx: remove unused activityIcon import Co-Authored-By: Claude Sonnet 4.6 * feat(web): elevate session detail + orchestrator page design - Nav: glass backdrop-blur effect with chevron back link - Header: detail-card 3D treatment with left-border accent keyed to activity color - Meta chips: bordered pill style with subtle bg instead of flat text - Status tag: pill badge for status instead of plain text - PR card: detail-card 3D treatment, border-color reflects PR state - PR merged badge: purple pill instead of gray text - Unresolved count: red pill badge in section header - Blockers section: renamed "Issues" → "Blockers" - Terminal section: colored bar indicator instead of plain label - Orchestrator status strip: total agent count + per-zone colored pills - globals.css: add .nav-glass and .detail-card classes Co-Authored-By: Claude Sonnet 4.6 * fix(web): fetchZoneCounts parses body.sessions, delayed 2s to avoid contention The /api/sessions endpoint returns `{ sessions: [...] }` not a bare array. fetchZoneCounts was treating the whole response object as an array, so zone counts were always zero on the orchestrator detail page. Also delays the initial fetchZoneCounts call by 2s so it doesn't contend with the session fetch on page load (both hit /api/sessions which is slow when GitHub enrichment is running). Also includes: Playwright kill-Chrome-for-Testing tip in CLAUDE.md, toned-down detail-card shadow in globals.css. Co-Authored-By: Claude Sonnet 4.6 * perf+test(web): cache-first PR enrichment, skip exited sessions, fix component tests Performance improvements: - enrichSessionPR() now accepts cacheOnly option and returns boolean - /api/sessions/[id]: serve from cache immediately, only block on first load - /api/sessions: skip PR enrichment for EXITED sessions (no longer changing) - cache: increase default TTL from 60s to 5 minutes Test fixes (match redesigned SessionCard + AttentionZone): - "restore session" (header) → "restore"; expanded panel still shows "restore session" - "merge PR #N" → "Merge PR #N" (capital M) - "CI status unknown" → "CI unknown" - "ask to fix CI" / "ask to fix CI" → "ask to fix" - "terminate session" → "terminate" - Zone labels: RESPOND/WORKING/DONE → Respond/Working/Done (CSS uppercase is visual only) - "working" zone no longer collapsed by default; collapse tests now use "done" zone Co-Authored-By: Claude Sonnet 4.6 * feat(core): ActivityDetection with timestamp propagation - Add ActivityDetection interface { state, timestamp? } to types.ts - Agent getActivityState() returns ActivityDetection | null instead of ActivityState | null, allowing timestamp from JSONL mtime to propagate - session-manager updates session.lastActivityAt when detected.timestamp is more recent — fixes "active 22h ago" showing stale timestamps - Update all agent plugins (claude-code, aider, codex, opencode) to return ActivityDetection objects Co-Authored-By: Claude Sonnet 4.6 * fix(web): dismissible rate limit banner + 60min rate-limit cache TTL - Add X dismiss button to GitHub API rate limit banner in Dashboard.tsx so it can be closed during demos - Extend rate-limited PR cache TTL from 5min to 60min — GitHub GraphQL rate limits reset hourly, no point retrying every 5 minutes Co-Authored-By: Claude Sonnet 4.6 * fix(web): address Cursor Bugbot review comments on PR #125 - Dashboard StatusLine: active sessions count now uses var(--color-status-working) (blue) instead of neutral text color, matching the design system semantics - SessionCard: isReadyToMerge now guards against rate-limited state — a card with stale cached mergeability data won't show green merge-ready styling - DirectTerminal: add `variant` to useEffect dependency array (was missing, causing stale cursor/selection colors if variant changed after mount) - agent-aider: include `timestamp: chatMtime` in all ActivityDetection returns, matching the pattern used by agent-claude-code (enables accurate lastActivityAt) Co-Authored-By: Claude Sonnet 4.6 * fix(ci): resolve lint, typecheck, and test failures Lint: - Remove unused parseJsonlFile function (superseded by parseJsonlFileTail) - Remove dead lastLogModified stat() call in getSessionInfo (field was removed from AgentSessionInfo but the filesystem read was left behind) Typecheck + Tests (ActivityDetection): - session-manager.test.ts: update mocks to return { state: "active" } / { state: "idle" } instead of bare strings — getActivityState() returns ActivityDetection | null, not ActivityState | null - integration tests (aider, claude-code, codex, opencode): update imports from ActivityState → ActivityDetection, variable types, comparisons (activityState?.state !== "exited"), and assertions (?.state).toBe() Co-Authored-By: Claude Sonnet 4.6 * fix: parseJsonlFileTail uses readFile for small files; enrich exited sessions with PRs - parseJsonlFileTail now calls stat() then readFile() for files smaller than maxBytes, falling back to open()/handle.read() only for large files. This fixes the test infrastructure (which mocks readFile but not open) and also fixes a scope bug where `offset` was declared inside an inner try block but referenced outside both try blocks. - Math.max(0, NaN) returns NaN not 0, so size must default to 0 when stat returns a mock without a size field: `const { size = 0 } = await stat(...)`. - Update activity-detection.test.ts: getActivityState() now returns ActivityDetection objects, so tests use (await ...)?.state comparisons. - Remove stale lastLogModified test (field was removed from AgentSessionInfo). - Remove EXITED skip guard from api/sessions/route.ts: exited sessions can still have open, merge-ready PRs that need enrichment on the dashboard. Co-Authored-By: Claude Sonnet 4.6 * fix: comprehensive code review fixes — tests, timestamps, UI correctness Address gaps identified in code review of the ActivityDetection PR: Core / Session Manager: - Add `timestamp` to all `{ state: "exited" }` returns in all 4 agent plugins (claude-code, aider, codex, opencode) using consistent `exitedAt = new Date()` pattern - Add 2 new session-manager tests: timestamp propagation when detection timestamp is newer, and no-downgrade when detection timestamp is older - Fix `parseJsonlFileTail` lint error: remove useless `= 0` initializer (value was always overwritten before use; catch block returns early) Web package — tests: - Fix 3 `api-routes.test.ts` failures: `sessionsGET()` needs a Request object since the route reads `request.url` for `?active=true` query param - Fix `serialize.test.ts` rate-limit test: spy on `console.warn` (what the code uses) not `console.error` - Add 5 `ActivityDot` component tests covering all activity states, unknown states, null activity, and dotOnly mode Web package — UI correctness: - Fix `relativeTime()` in SessionDetail to guard against invalid/empty ISO strings - Fix timer Map leak: add `timersRef.current.clear()` in cleanup effect after forEach - Add `encodeURIComponent` to sessionId in message fetch URL Server — race condition fix: - Guard `activeSessions.delete` in pty.onExit, ws.on("close"), and ws.on("error") against stale handlers deleting a newly-registered session with the same ID. Fixes flaky integration test where afterEach's pty.kill() fired asynchronously after the next test had already set up a new session with the same session ID. Co-Authored-By: Claude Sonnet 4.6 * fix(web): narrow PREnrichmentData types to eliminate unsafe casts in serialize PREnrichmentData.ciStatus and .reviewDecision were typed as string, requiring unsafe `as` casts when reading from cache into DashboardPR. Narrow them to the same literal union types used by DashboardPR, making the casts unnecessary. Also narrow ciChecks[].status to match CoreCICheck. Co-Authored-By: Claude Sonnet 4.6 --------- Co-authored-by: Claude Sonnet 4.6 --- CLAUDE.md | 10 + docs/design/README.md | 63 ++ docs/design/competitive-analysis-raw.md | 102 +++ docs/design/design-brief-v1.md | 637 +++++++++++++++ docs/design/design-brief.md | 737 ++++++++++++++++++ .../orchestrator-terminal-design-brief.md | 299 +++++++ docs/design/screenshots/linear-homepage.png | Bin 0 -> 311647 bytes docs/design/screenshots/railway-homepage.png | Bin 0 -> 444471 bytes docs/design/session-detail-design-brief.md | 309 ++++++++ docs/design/token-reference.css | 270 +++++++ .../src/__tests__/session-manager.test.ts | 68 +- packages/core/src/session-manager.ts | 45 +- packages/core/src/types.ts | 13 +- .../src/agent-aider.integration.test.ts | 14 +- .../src/agent-claude-code.integration.test.ts | 14 +- .../src/agent-codex.integration.test.ts | 10 +- .../src/agent-opencode.integration.test.ts | 10 +- packages/plugins/agent-aider/src/index.ts | 16 +- .../src/__tests__/activity-detection.test.ts | 64 +- .../agent-claude-code/src/index.test.ts | 9 - .../plugins/agent-claude-code/src/index.ts | 93 ++- packages/plugins/agent-codex/src/index.ts | 8 +- packages/plugins/agent-opencode/src/index.ts | 8 +- packages/web/server/direct-terminal-ws.ts | 16 +- packages/web/src/__tests__/api-routes.test.ts | 6 +- .../web/src/__tests__/components.test.tsx | 83 +- .../web/src/app/api/sessions/[id]/route.ts | 8 +- packages/web/src/app/api/sessions/route.ts | 8 +- packages/web/src/app/globals.css | 214 ++++- packages/web/src/app/layout.tsx | 19 +- packages/web/src/app/page.tsx | 9 +- packages/web/src/app/sessions/[id]/page.tsx | 71 +- packages/web/src/components/ActivityDot.tsx | 66 ++ packages/web/src/components/AttentionZone.tsx | 127 ++- packages/web/src/components/Dashboard.tsx | 185 +++-- .../web/src/components/DirectTerminal.tsx | 126 ++- packages/web/src/components/PRStatus.tsx | 76 +- packages/web/src/components/SessionCard.tsx | 277 ++++--- packages/web/src/components/SessionDetail.tsx | 644 ++++++++------- .../web/src/lib/__tests__/serialize.test.ts | 10 +- packages/web/src/lib/cache.ts | 14 +- packages/web/src/lib/serialize.ts | 52 +- packages/web/src/lib/types.ts | 13 +- 43 files changed, 3996 insertions(+), 827 deletions(-) create mode 100644 docs/design/README.md create mode 100644 docs/design/competitive-analysis-raw.md create mode 100644 docs/design/design-brief-v1.md create mode 100644 docs/design/design-brief.md create mode 100644 docs/design/orchestrator-terminal-design-brief.md create mode 100644 docs/design/screenshots/linear-homepage.png create mode 100644 docs/design/screenshots/railway-homepage.png create mode 100644 docs/design/session-detail-design-brief.md create mode 100644 docs/design/token-reference.css create mode 100644 packages/web/src/components/ActivityDot.tsx diff --git a/CLAUDE.md b/CLAUDE.md index 9319ee225..7761cab28 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -186,6 +186,16 @@ cp /path/to/main/agent-orchestrator.yaml . # Copy config cd packages/web && pnpm dev # Start server ``` +## Using Playwright (MCP browser tool) + +Before navigating with Playwright, kill any stale Chrome for Testing instance first — otherwise it fails silently with "Opening in existing browser session": + +```bash +pkill -f "Google Chrome for Testing" +``` + +Then use `browser_navigate` as normal. If Playwright was previously used in the session it may have left an orphaned Chrome process. + ## Common Mistakes to Avoid - Using `exec` instead of `execFile` — security vulnerability diff --git a/docs/design/README.md b/docs/design/README.md new file mode 100644 index 000000000..3b0d336f7 --- /dev/null +++ b/docs/design/README.md @@ -0,0 +1,63 @@ +# ao Dashboard — Design Research Artifacts + +*Compiled February 2026 via competitive analysis, Playwright CSS extraction, and codebase audit.* + +--- + +## Documents + +| File | Description | +|------|-------------| +| [`design-brief.md`](./design-brief.md) | **Main design brief** — competitive analysis, full color palette, typography, all component specs, anti-patterns, implementation stack recommendation, and current codebase audit | +| [`session-detail-design-brief.md`](./session-detail-design-brief.md) | Design spec for `/sessions/[id]` — the single-agent investigation view | +| [`orchestrator-terminal-design-brief.md`](./orchestrator-terminal-design-brief.md) | Design spec for the orchestrator terminal — full-viewport command center with status strip | +| [`token-reference.css`](./token-reference.css) | **Ready-to-use CSS** — drop-in replacement for `globals.css` `@theme` block | +| [`competitive-analysis-raw.md`](./competitive-analysis-raw.md) | Raw research notes from all 14 competitor sites (Linear, Vercel, Railway, Fly.io, Inngest, Temporal, Grafana, WandB, LangSmith, Retool, Render, PlanetScale, Supabase, GitHub Copilot) | +| [`design-brief-v1.md`](./design-brief-v1.md) | Original v1 brief (text-only research, pre-Playwright CSS extraction) — kept for reference | + +## Screenshots + +| File | Description | +|------|-------------| +| [`screenshots/linear-homepage.png`](./screenshots/linear-homepage.png) | Linear.app captured via Playwright (311KB) — source for verified CSS token extraction | +| [`screenshots/railway-homepage.png`](./screenshots/railway-homepage.png) | Railway.app captured via Playwright (444KB) — visual palette reference | + +--- + +## Research Methods + +**Phase 1 — Text analysis**: Two parallel research agents analyzed 14 competitor product sites via WebFetch, extracting visual patterns, color systems, and design philosophy from HTML/CSS content. + +**Phase 2 — Playwright CSS extraction**: Installed `@playwright/mcp` and extracted live CSS custom properties from [linear.app](https://linear.app) using `document.styleSheets` enumeration. This yielded ground-truth values for Linear's token system — the most rigorous competitive design data available without access to their Figma files. + +**Phase 3 — Playwright screenshots**: Captured screenshots of Linear and Railway via headless Chromium for visual reference. + +**Phase 4 — Codebase audit**: Read the entire `packages/web/` source (components, types, CSS tokens) to map research recommendations against the actual implementation. Produced implementation audit sections in each brief with prioritized delta tables. + +--- + +## Key Findings + +1. **Linear's verified token system** (via Playwright CSS extraction) is the closest design benchmark. See `design-brief.md §1`. +2. **Current dashboard uses GitHub-inspired colors** (`#0d1117` base). Recommended shift: blue-cast dark (`#0C0C11`). See `design-brief.md §7`. +3. **The 6-level attention zone system** (`merge → respond → review → pending → working → done`) is architecturally correct and well-implemented. Visual polish is the primary gap. +4. **Highest-impact single change**: load Inter Variable via `next/font/google`. Immediately elevates the typography to Linear/Supabase tier. +5. **Orchestrator terminal** needs visual differentiation (violet accent, status strip, full-viewport height) — currently indistinguishable from agent session pages. + +--- + +## Design Token Quick Reference + +The recommended palette is in [`token-reference.css`](./token-reference.css). The current palette is in `packages/web/src/app/globals.css`. + +``` +Current base: #0d1117 (GitHub blue-green dark) +Recommended base: #0C0C11 (neutral blue-cast dark) + +Current accent: #58a6ff (GitHub blue) +Recommended accent: #5B7EF8 (blue-indigo, between Linear blue and brand purple) +``` + +--- + +*All Linear CSS values are ground-truth verified from live CSS. Railway values are visually estimated from screenshot. Other competitor values are from text/HTML analysis.* diff --git a/docs/design/competitive-analysis-raw.md b/docs/design/competitive-analysis-raw.md new file mode 100644 index 000000000..5b8c40d90 --- /dev/null +++ b/docs/design/competitive-analysis-raw.md @@ -0,0 +1,102 @@ +# Competitive Visual Analysis — Raw Research Notes +*Compiled February 2026 via text/HTML analysis of 14 competitor sites* +*Used as source material for design-brief.md* + +--- + +## Batch 1: Infrastructure & Developer Tool Dashboards + +### Linear (linear.app) +**CSS token system** — Inter Variable, Berkeley Mono, Tiempos Headline. 9-level title scale. Quaternary text hierarchy. +Dark mode background: near-black `#08090A`. Panel bg: `#0F1011`. Brand accent: `#7070FF`. +Status colors: Blue `#4EA7FC`, Red `#EB5757`, Green `#27A644`, Orange `#FC7840`, Yellow `#F0BF00`. +Font weights: 300/400/510/590/680 (variable font, non-standard values). +*Ground-truth values confirmed via Playwright CSS extraction — see design-brief.md.* + +### Vercel (vercel.com) +Pure black/white: `#000000` dark bg, `#FAFAFA` light bg. Zero saturation philosophy. +Geist + Geist Mono (proprietary typefaces). Status dots: colored circles inline with resource names. +Tone: Austere technical authority. + +### Railway (railway.app) +Multi-theme architecture. Signature dark: `hsl(250, 24%, 9%)` ≈ `#13111C` (dark desaturated purple). +Inter + Inter Tight + JetBrains Mono + IBM Plex Serif. Semantic palette: `hsl(152)` green, `hsl(1)` red. +Shadow: `0 0 30px hsla(0,0%,30%,.25)` — diffuse ambient glow. Vaporwave Easter egg theme. +Tone: Playful sophistication. + +### Fly.io +Dark navy `#0A0E27`. Electric purple/magenta CTAs. +Fricolage Grotesque (quirky headline) + Mackinac (warm serif body) + Fragment Mono. +Most typographically adventurous stack in the group. +Tone: Confident and rebellious. + +### Inngest (inngest.com) — workflow orchestration +Stone-950 `#0A0A0A` warm black. "Inngest Lux" amber `#CBB26A`. Supplementary: green `#2C9B63`, rust `#CB5C32`. +Whyte + Whyte Inktrap (display), Circular (body). Top-border accent cards, `rounded-xl` 12px. +Grid background texture at 0.3 opacity. Stone-400 borders (`rgba(white, 0.1)`). +Tone: Warm enterprise dark mode. + +### Temporal (temporal.io) — workflow orchestration +Deep ultraviolet/indigo backdrop, star-grid hero pattern. Magenta `~#D946EF` CTAs. +Rainbow gradients in testimonial sections. System sans-serif typography. +Tone: Cosmic reliability. + +### Grafana (grafana.com) +White background (the outlier). Orange `#F46800` brand. Blue `#0066FF` CTAs. +Generous whitespace. High information density in actual product panels. +Tone: OSS pragmatism. + +### Weights & Biases / wandb.ai +`#1A1C1F` charcoal. Cards: `#212429`/`#282A2F`. Cyan `#00AFC2` accent. Yellow-gold CTA gradient `#FFCC33→#FFAD33`. +Borders: `1px solid #34373C`. Source Serif 4 (headings!), Source Sans 3, Source Code Pro. +Upward box shadow: `0px -1px 16px rgba(10,14,21,0.5)`. Border-radius 8–16px. +Tone: Scientific gravitas meets ML ambition. + +--- + +## Batch 2: LLM Observability, Internal Tools & Databases + +### LangSmith (smith.langchain.com) — LLM observability +`#030710` near-black with blue cast. Electric blue `#4D65FF` interactive. JetBrains Mono as PRIMARY font. +Dense trace tree (left panel) + detail (right panel). Green ✓ / Red ✗ status icons. +Run types distinguished by icon + hierarchy position. Heat maps for evaluation results. +Tone: Analytical transparency. "Know what your agents are really doing." + +### Retool (retool.com) +Dark charcoal bg. Px Grotesk (display) + Saans variable font (body). Canvas + sidebar model. +Tone: Enterprise sophistication with approachability. + +### Render (render.com) — deployment dashboard +Purple-900 → orange gradient in announcement banner. Dark mode. Standard semantic status colors. +Service cards with inline status. Log explorer: terminal-style dark view. +Tone: Trustworthy speed and simplicity. + +### PlanetScale (planetscale.com) — database dashboard +OKLCH-based green scale. Both light and dark mode. Lato + Montserrat. +Schema diff: green additions, red deletions. 117 documented UI screens, 49 components. +Branch status badges, deploy request workflow panels. +Tone: Engineering credibility at scale. + +### Supabase (supabase.com) +Brand green: `#3ECF8E` / `#34B27B`. Background: `#11181C`. Inter font. +Built on Radix UI + Tailwind 3.4 + shadcn/ui. Table editor dense/spreadsheet-like. +Left sidebar: Table Editor / Database / Auth / Storage / Edge Functions / Realtime. +RLS enabled/disabled badge in table editor. +Tone: Radical developer empathy. + +### GitHub Copilot agent mode (VS Code) +Deep purple brand. VS Code dark background inherits. Sequential tool invocation list. +Each tool call: labeled step, collapsible details. Undo Last Edit control after edits. +Agent "thinking" state: animated ellipsis. No dramatic animations — UI recedes for code. +Tone: Capability amplification. + +--- + +## Cross-Cutting Patterns + +**Dark mode as default**: LangSmith, Supabase, GitHub Copilot, Retool, WandB — all dark native. +**Status color convergence**: Green success / Red error / Amber warning universal. Differentiation in shape + animation. +**Typography split**: Monospace-forward (LangSmith with JetBrains Mono as primary) vs. clean sans (Supabase with Inter, Retool with Px Grotesk). +**Semantic color as brand**: Supabase `#3ECF8E` green = inseparable from identity. PlanetScale OKLCH green scale. +**Progressive disclosure**: All use expandable rows, tabs, collapsible sections to manage complexity. +**AI activity representation**: Copilot = inline step disclosure in dev environment. LangSmith = separate observability dashboard with trace trees. ao sits between these — a monitoring dashboard for the agent lifecycle. diff --git a/docs/design/design-brief-v1.md b/docs/design/design-brief-v1.md new file mode 100644 index 000000000..674cc99b4 --- /dev/null +++ b/docs/design/design-brief-v1.md @@ -0,0 +1,637 @@ +# Agent Orchestrator Dashboard — Design Brief +*Research-backed design specification for the ao dashboard* + +--- + +## Product Context + +The Agent Orchestrator dashboard is **mission control for parallel AI coding agents**. Users are senior engineers and CTOs who routinely spawn 10–30 agents at once and need to: + +1. Triage at a glance (who needs me right now?) +2. Merge PRs that are ready +3. Intervene on blocked or stuck agents +4. Understand what each agent is doing without attaching to it + +Primary interaction model: **scan → identify → act**. Not explore, not browse. The interface must surface actionable items immediately and suppress noise. Speed and density beat friendliness. This is closer to Grafana or an APM dashboard than to a product onboarding flow. + +--- + +## 1. Competitive Visual Analysis + +### Linear (linear.app) +**Palette**: Pure token-based CSS system — near-black in dark mode, warm neutrals. No vibrant accents; status colors (green, red) are the only chromatic moments. Custom property hierarchy goes four levels deep (`--color-text-primary` → `--color-text-quaternary`). +**Typography**: Inter Variable exclusively. Nine-level title scale. `text-micro` (the smallest label) at 9–10px. Body and UI labels use a 6-level named scale: large → regular → small → mini → micro → tiny. +**Density**: Marketing site is airy (128px+ section gaps); the product is tighter. Cards use `rightBottomFade` gradient corners — no drop shadows. +**Status indicators**: Small colored circles — the Linear "state dot" became an industry pattern. Green for done/success, red for blocked/error. +**Tone**: Engineered restraint. Every element earns its place. Nothing decorative. + +**Takeaway for ao**: The quaternary text hierarchy and named type scale enable information density without visual chaos. Adopt a similarly granular token system. + +--- + +### Vercel (vercel.com) +**Palette**: Binary extremes — `#000000` in dark mode, `#FAFAFA` in light. Zero saturation. Borders are `rgba(255,255,255,0.08)` — barely visible. Status colors (green = Ready, red = Error, amber = Building) are the only chromatic intrusions. +**Typography**: Geist and Geist Mono — Vercel's proprietary type system. Clear functional split: sans for UI copy, mono for code/deployment names. +**Density**: Very sparse in marketing; the dashboard itself is moderate — deployment list rows are compact with inline status dots. +**Status indicators**: Small colored dots (8–10px) inline with resource names. Unmistakable but minimal. +**Tone**: Austere technical authority. "We don't need color to project confidence." + +**Takeaway for ao**: The deployment list row pattern (name + status dot + metadata on one line) is directly applicable to session cards in compact mode. Monochrome discipline keeps status colors maximally signal-to-noise. + +--- + +### Railway (railway.app) +**Palette**: `hsl(250, 24%, 9%)` ≈ `#13111C` — dark desaturated purple-tinted background. Not pure black, not navy. A signature color. Semantic palette: `hsl(152)` green, `hsl(1)` red, `hsl(44)` yellow, `hsl(180)` cyan. +**Typography**: Inter + Inter Tight for UI; JetBrains Mono for code; IBM Plex Serif as an accent. The three-family system ranges from utilitarian to editorial. +**Density**: Moderate. Services presented as visual cards in a grid. Shadow: `0 0 30px hsla(0,0%,30%,.25)` — diffuse ambient glow, not directional. +**Tone**: Playful sophistication. "Ship software peacefully" — the vaporwave easter egg theme reveals a team with personality. + +**Takeaway for ao**: The purple-tinted dark base (`#13111C`) is more distinctive than pure black without being loud. Worth considering as the background. The ambient glow shadow on cards is more premium than flat borders. + +--- + +### Fly.io +**Palette**: Deep navy `#0a0e27`. Electric purple/magenta CTAs. High contrast. +**Typography**: Fricolage Grotesque (quirky geometric grotesque) for headlines, Mackinac (warm serif) for body, Fragment Mono for code. The most typographically adventurous stack in the group. +**Tone**: "Fearless confidence." Loud type choices signal that the team has opinions. + +**Takeaway for ao**: The adventurous type choice is a lesson about brand identity. ao should pick *one* distinctive typographic decision and commit to it. + +--- + +### Inngest (inngest.com) — workflow orchestration +**Palette**: Stone-950 `#0a0a0a` — warm black (not cool/blue). "Inngest Lux" amber `#CBB26A` as primary accent. Supplementary: green `#2C9B63`, rust `#CB5C32`, purple `#655279`. Stone-400 `rgba(white, 0.1)` for borders. +**Typography**: Whyte + Whyte Inktrap for display; Circular for body. Font investment signals brand maturity. +**Density**: Generous. 80rem max-width, 20–24px padding, 2–3 column grids. +**Cards**: Stone-900 background, top-border accent lines, `rounded-xl` (12px) radius. +**Tone**: Warm enterprise. The stone palette (not cold gray) gives unexpected approachability. + +**Takeaway for ao**: The amber accent color for an infrastructure product is distinctive and memorable. Grid background textures at 0.3 opacity add depth without clutter. + +--- + +### Temporal (temporal.io) — workflow orchestration +**Palette**: Deep ultraviolet/indigo backdrop, star-grid hero pattern. Magenta `~#d946ef` CTAs. Green badge for system status. +**Tone**: "Cosmic reliability." Rainbow gradients in testimonial sections break monochrome tension. + +**Takeaway for ao**: The star-grid subtle texture on a dark background is a quality signal without being decorative noise. + +--- + +### Grafana — high-density monitoring +**Palette**: White background (counterpoint to the dark-mode consensus). Orange `#F46800` brand. Blue `#0066ff` CTAs. +**Density**: Monitoring tools require extreme density — Grafana panels pack many metrics per square centimeter. Time-series panels, gauge panels, table panels all coexist at density levels that would horrify Linear's designers. +**Tone**: OSS pragmatism. The white background is a deliberate "we are transparent and open" statement. + +**Takeaway for ao**: ao should reference Grafana for density targets, not aesthetic. The ao dashboard with 30 sessions needs panel-level density discipline. + +--- + +### Weights & Biases / wandb.ai — ML experiment tracking +**Palette**: `#1A1C1F` charcoal background. `#212429` card surface. `#00AFC2` cyan accent. Yellow-gold gradient CTAs (`#FFCC33` → `#FFAD33`). Borders: `#34373C`. Secondary text: `#ADB0B5`. +**Typography**: Source Serif 4 (headings), Source Sans 3 (body), Source Code Pro (code). The *only* product in this group using a serif for headings — gives academic/research gravitas. +**Cards**: `border-radius: 8–16px`. Explicit `1px solid #34373C` borders. Upward-direction box shadow: `0px -1px 16px rgba(10,14,21,0.5)`. +**Tone**: Scientific gravitas meets ML ambition. Dense, trustworthy, research-credibility. + +**Takeaway for ao**: The `#1A1C1F` charcoal with `#34373C` explicit borders is the most production-battle-tested dark card system in this research. The upward shadow (rather than downward) creates a distinctive floating-from-below effect. + +--- + +### LangSmith (smith.langchain.com) — LLM observability +**Palette**: `#030710` near-black with blue cast. Electric blue `#4d65ff` primary interactive. Green checkmarks for success, red icons for failure. +**Typography**: JetBrains Mono as the *primary* font — not relegated to code blocks. This is the most distinctive typographic choice for a developer observability tool. +**Density**: Extremely high. Trace tree on left, detail panel on right. Many rows of data: token counts, latency, inputs, outputs. Progressive disclosure via expandable rows. +**Status system**: Hierarchical run tree with icon-based type indicators (chain icon for chain runs, LLM icon for LLM runs). Green ✓ / red ✗ for success/failure. +**Tone**: Analytical transparency. "Know what your agents are really doing." + +**Takeaway for ao**: LangSmith is the closest design analogue to ao — it's a dashboard for understanding AI agent behavior. The hierarchical trace tree, dense row layout, and JetBrains Mono-first typography are all directly relevant. ao is LangSmith for the agent lifecycle rather than the agent's internal trace. + +--- + +### GitHub Copilot Workspace — AI agent UI +**Palette**: Deep purple Copilot brand, VS Code dark background. +**Agent step display**: Each tool invocation shown as a labeled step in the chat panel ("Analyzing files...", "Running tests...", "Proposing edits...") — sequential, transparent, collapsible. +**Status for AI activity**: Animated ellipsis/spinner for "thinking"; static result for "complete." Undo controls appear after edit. +**Tone**: "Capability amplification." UI recedes so work foregrounds. + +**Takeaway for ao**: The pattern of **transparent sequential step disclosure** (each tool call labeled and visible) is the right model for the terminal/activity panel. ao should show what the agent is doing in the same style: labeled steps, not a raw log dump. + +--- + +### Supabase (supabase.com) +**Palette**: `#3ECF8E` mint-green as brand-primary (also the success color). `#11181C` dark background. Built on Radix UI + Tailwind + shadcn/ui. +**Tone**: "Radical developer empathy." Open source, portable, one of us. + +**Takeaway for ao**: The shadcn/ui + Tailwind stack is a practical choice for ao's implementation. Supabase's success with it validates the approach for a serious developer tool. + +--- + +## 2. Design Direction + +### Philosophy + +**Mission control, not social feed.** The ao dashboard should feel like a fighter pilot's heads-up display — dense, high-contrast, every element load-bearing. Closest visual analogues: Vercel deployment list + Grafana panel density + LangSmith trace density + Linear state dot pattern. + +**Dark mode native.** Not dark mode as a feature — dark mode as the only mode designed with conviction. Light mode can exist but shouldn't drive design decisions. + +**Color = signal, not decoration.** Every chromatic element is semantic. The palette outside of status colors is near-monochrome. This maximizes the signal of status colors. + +--- + +### Color Palette + +#### Base Palette + +| Token | Hex | Usage | +|-------|-----|-------| +| `--bg-base` | `#0C0C11` | Page/app background | +| `--bg-surface` | `#141418` | Card backgrounds | +| `--bg-elevated` | `#1C1C24` | Hover states, terminal background, popover surfaces | +| `--bg-subtle` | `#232330` | Input backgrounds, code blocks | +| `--border-subtle` | `#222230` | Lowest-visibility borders | +| `--border-default` | `#2E2E40` | Standard card borders | +| `--border-strong` | `#3E3E54` | Focus rings, interactive borders | + +#### Text Hierarchy + +| Token | Hex | Usage | +|-------|-----|-------| +| `--text-primary` | `#EEEEF4` | Main content, session names, ticket titles | +| `--text-secondary` | `#8888A4` | Metadata, timestamps, secondary labels | +| `--text-tertiary` | `#50506A` | Disabled states, de-emphasized content | +| `--text-inverse` | `#0C0C11` | Text on colored buttons | + +*Note: Text has a slight blue cast (`EEEEF4` not `EEEEEE`) to harmonize with the blue-cast background.* + +#### Status Colors (semantic — must not be overridden for decoration) + +| Token | Hex | State | Usage | +|-------|-----|-------|-------| +| `--status-working` | `#5B7EF8` | Working/active agent | Pulsing dot, card left-border, zone header | +| `--status-ready` | `#22C55E` | Needs human action (merge/review) | Dot, merge button, zone header | +| `--status-attention` | `#F59E0B` | Blocked, waiting for response, CI failing | Dot, zone header, badge | +| `--status-idle` | `#6B6B8A` | Agent idle, not running | Dot (dim) | +| `--status-done` | `#3E3E54` | Session closed/archived | Dot (very dim), text de-emphasized | +| `--status-error` | `#EF4444` | Crash, hard failure, exited with error | Dot, badge | + +#### Interactive Accent + +| Token | Hex | Usage | +|-------|-----|-------| +| `--accent-blue` | `#5B7EF8` | Links, focus rings, active nav items, working state | +| `--accent-blue-hover` | `#7B9CFB` | Hover on blue elements | +| `--accent-blue-subtle` | `rgba(91,126,248,0.12)` | Subtle highlight backgrounds | + +#### Full Dark Surface System + +The surface layers use a consistent `+8–12 lightness step` between each level (in OKLCH terms), so layering always reads as elevation: + +``` +Background: #0C0C11 (L≈5%) +Surface: #141418 (L≈8%) ← cards +Elevated: #1C1C24 (L≈12%) ← hover, dropdowns +Subtle: #232330 (L≈15%) ← inputs, code +``` + +--- + +### Typography + +#### Font Stack + +``` +UI sans-serif: Inter Variable (weights 300–700) + fallback: -apple-system, system-ui + +Code/mono: JetBrains Mono (weights 400, 600) + fallback: 'Fira Code', Menlo, monospace +``` + +Inter Variable for all UI prose. JetBrains Mono for: session IDs, branch names, commit hashes, terminal output, agent status messages, any data that is "produced by a machine." + +No display typeface. No serif. The monospace *is* the personality — it signals "this is infrastructure" without needing a quirky grotesque. + +#### Type Scale + +| Name | Size | Weight | Line Height | Usage | +|------|------|--------|-------------|-------| +| `zone-label` | 10px | 600 | 1 | Attention zone headers (uppercase, 0.1em tracking) | +| `label` | 11px | 500 | 1 | Status badges, tag text, column headers | +| `caption` | 11px | 400 | 1.4 | Timestamps, secondary metadata (mono) | +| `body-sm` | 12px | 400 | 1.5 | Card metadata rows, description lines | +| `body` | 13px | 400 | 1.5 | Primary body copy within cards | +| `card-title` | 14px | 500 | 1.4 | Ticket/issue titles on session cards | +| `section` | 13px | 600 | 1 | Section headings within panels | +| `page-title` | 18px | 600 | 1.2 | Dashboard title, view names | + +Inspired by Linear's granular scale. The 10–14px range covers 90% of the UI. + +--- + +### Component Style + +**No drop shadows.** Elevation via background color — `--bg-surface` card on `--bg-base` page. Borders provide edge definition. + +**3px left-border accent strips** on session cards to indicate state at a glance (colored by status). This is faster to scan than dots — the entire left edge of the card communicates state without requiring focus. + +**Pill badges** for CI status, review status, and labels. Height: 20px. Padding: 0 8px. Border-radius: 10px (fully rounded). Background at 12% opacity of the status color, text at 100% opacity. No solid-fill badges except for the merge button. + +**Consistent 6px border-radius** for cards. 4px for badges and inputs. 8px for modals and dropdowns. + +**1px borders in `--border-default`** on cards. On hover, transitions to `--border-strong`. No box shadows. + +--- + +### Density + +**Target: 6–8 session cards visible without scrolling** in the "Working" zone at 1440px viewport width. + +This requires: +- Card height: ~160px (compact) or ~200px (expanded with CI detail) +- Card width: ~280–320px +- Gap between cards: 12px +- Zone header height: 32px +- Padding: 16px page margin + +Three columns at 1280px, four columns at 1920px. Grid is `auto-fill` with `minmax(260px, 1fr)`. + +The density target is closer to Grafana than Linear. This is not a spacious single-project view — it's 30 agents at once. + +--- + +### Animation and Motion + +**Guiding principle: motion must be informative, never decorative.** + +| Element | Animation | Spec | +|---------|-----------|------| +| Working state dot | Pulse (box-shadow ring expands) | `2s ease-in-out infinite` | +| CI pending badge | Spinner icon only (no layout shift) | `1.5s linear infinite` | +| Card state transition | Background + border color change | `transition: 200ms ease` | +| New session card | Fade in + 4px slide up | `150ms ease-out` | +| Session removal | Fade out | `200ms ease-in` | +| Terminal open/close | Height expand/collapse | `200ms ease` with `overflow: hidden` | +| Merge button hover | Translate Y -1px | `100ms ease` | +| Status badge change | Cross-fade | `150ms ease` | + +No page transition animations. No parallax. No entrance animations on initial load — just appear. + +The pulsing activity dot is the *only* continuous animation at rest. Everything else is triggered by state change or user interaction. + +--- + +### Iconography + +**Icon library: Lucide Icons** (used by shadcn/ui, 2px stroke, clean geometric forms). + +Specific icons to use: +- Session state: `Circle` (dot for idle), `RefreshCw` (pulsed for working), `CheckCircle2` (done), `XCircle` (error) +- CI: `CheckCircle2` (pass), `XCircle` (fail), `Loader2` (pending/running) +- Git: `GitBranch`, `GitPullRequest`, `GitMerge` +- Review: `MessageSquare`, `ThumbsUp`, `ThumbsDown` +- Terminal: `Terminal` +- Attention: `AlertTriangle`, `Bell` +- Merge action: `GitMerge` + +Icon sizes: +- Status dots/indicators: 8px (CSS circles, not SVG) +- Inline with text: 14px +- Action buttons: 16px +- Empty state illustrations: 40px + +--- + +## 3. Component Designs + +### Session Card + +The primary unit of the dashboard. Every card represents one agent session. + +**Dimensions**: 280–320px wide, 156px tall (compact) / 200px tall (with CI details expanded). + +**Anatomy** (top to bottom): + +``` +┌─╴[status-strip]╶──────────────────────────────────┐ +│ │ +│ ● working ao-58 [···] │ ← row 1: status + session ID + menu +│ │ +│ Implement UI/UX research dashboard │ ← row 2: ticket title (14px, 500) +│ GitHub #58 │ +│ │ +│ ⎇ session/ao-58 ↑ PR #104 │ ← row 3: branch + PR link +│ │ +│ ✓ CI passing ✓ Approved 3m ago │ ← row 4: CI + review + timestamp +│ │ +│ [ Terminal ] [ Merge PR → ] │ ← row 5: actions (conditional) +│ │ +└─────────────────────────────────────────────────────┘ +``` + +**Visual details**: + +- **Left border strip**: 3px wide, full card height, color = status color. This is the fastest-scan element. On a 30-card dashboard, these strips form a left-edge column of colors that communicate zone membership instantly. +- **Background**: `--bg-surface` (`#141418`) +- **Border**: `1px solid --border-default` (`#2E2E40`) +- **Border-radius**: 6px +- **Padding**: 12px 14px +- **Session ID** (row 1): 11px JetBrains Mono, `--text-tertiary`, top-right. Not primary — just identification. +- **Status indicator** (row 1 left): 8px filled circle, color by state, + text label 11px `--text-secondary`. For working state, the circle has a CSS `box-shadow` pulse ring (not the circle itself scaling — avoiding layout shift). +- **Ticket title** (row 2): 14px Inter 500, `--text-primary`. Max 2 lines, `overflow: ellipsis`. Below it: tracker reference (GitHub #N or Linear INT-N) in 11px `--text-tertiary`. +- **Branch** (row 3): 11px JetBrains Mono, `--text-secondary`, `⎇` prefix. PR link to the right: `↑ PR #N` in 11px, `--accent-blue`. +- **Status row** (row 4): CI badge + review badge + relative timestamp. All 11px. Left-aligned badges, timestamp right-aligned. +- **Actions row** (row 5): Only shown when human action is available. Merge button right-aligned; Terminal button left-aligned. Row absent if no actions needed (saves vertical space for working-only cards). + +**States**: + +| State | Left strip | Card border | Card background | +|-------|-----------|-------------|----------------| +| Working | `--status-working` blue | default | default | +| Ready/Merge | `--status-ready` green | `rgba(34,197,94,0.2)` | `rgba(34,197,94,0.03)` | +| Attention | `--status-attention` amber | `rgba(245,158,11,0.2)` | `rgba(245,158,11,0.03)` | +| Error | `--status-error` red | `rgba(239,68,68,0.2)` | `rgba(239,68,68,0.03)` | +| Done | `--status-done` dim | `--border-subtle` | `--bg-base` (recedes) | + +The tinted border and very-subtle tinted background for Ready/Attention states make entire cards scannable by zone membership without relying on the strip alone. + +--- + +### Activity Indicator + +The dot + label system indicating what an agent is doing right now. + +**Dot specs**: 8px × 8px circle, `border-radius: 50%`, `display: inline-block`. + +**States**: + +``` +● Working — #5B7EF8 filled, + animated ring pulse +● Idle — #6B6B8A filled, static +● Ready — #22C55E filled, static (no animation — green is enough signal) +● Exited — #3E3E54 filled, static +● Error — #EF4444 filled, static +``` + +**Pulse animation for Working state**: +```css +@keyframes activity-pulse { + 0%, 100% { box-shadow: 0 0 0 0 rgba(91, 126, 248, 0.4); } + 50% { box-shadow: 0 0 0 4px rgba(91, 126, 248, 0); } +} +.dot--working { + background: #5B7EF8; + animation: activity-pulse 2s ease-in-out infinite; +} +``` + +The ring expands and fades — it doesn't change dot size, so no layout shift. Period is 2s — feels alive but not anxious. + +**Label alongside dot**: 11px Inter 500, same color as dot. Shown on cards. In condensed views (list mode), only the dot. + +**In zone headers**: A larger version (10px dot) with the zone count badge. + +--- + +### CI Status Badge + +**Anatomy**: `[icon] [text]` in a pill container. + +**Dimensions**: height 20px, padding 0 8px, border-radius 10px. + +**Visual spec per state**: + +| State | Background | Text | Border | Icon | +|-------|-----------|------|--------|------| +| Passing | `rgba(34,197,94,0.12)` | `#22C55E` | none | `CheckCircle2` 12px | +| Failing | `rgba(239,68,68,0.12)` | `#EF4444` | none | `XCircle` 12px | +| Running | `rgba(91,126,248,0.12)` | `#5B7EF8` | none | `Loader2` 12px, spinning | +| Skipped | `rgba(107,107,138,0.12)` | `#6B6B8A` | none | `Minus` 12px | +| Queued | `rgba(245,158,11,0.12)` | `#F59E0B` | none | `Clock` 12px | + +**Text labels**: "Passing", "Failing", "Running", "Queued". 11px Inter 500. Never just a color with no text (accessibility). + +**Multiple CI jobs**: Show the worst-state badge. On hover, expand to show all job names + individual states in a popover (dark background, same visual system). + +**Position on card**: Row 4, inline with review badge and timestamp. + +--- + +### PR Merge Button + +This is the highest-priority action on the dashboard. When ready, it must visually compete for attention. + +**Ready to merge**: +``` +background: #22C55E +color: #0C0C11 (dark text on green) +border-radius: 6px +height: 28px +padding: 0 12px +font: 12px Inter 600 +icon: GitMerge 14px (left of text) +label: "Merge PR" +hover: transform: translateY(-1px), brightness(1.05) +active: transform: translateY(0) +``` + +The green button at 28px tall on a dark card background is the most visually dominant element on the Ready card. It should be. + +**Blocked — CI failing**: +``` +background: #1C1C24 +color: #50506A +border: 1px solid #2E2E40 +cursor: not-allowed +label: "Merge PR" (same label) +tooltip: "CI failing — 2 checks must pass" +``` + +**Blocked — review required**: +``` +Same as CI failing +tooltip: "Awaiting review approval" +``` + +**Blocked — conflicts**: +``` +background: rgba(239,68,68,0.12) +color: #EF4444 +border: 1px solid rgba(239,68,68,0.3) +label: "Conflicts" +``` + +**After merge confirmation** (optimistic UI): +``` +background: rgba(34,197,94,0.12) +color: #22C55E +label: "Merged ✓" +``` + +The merge button only appears in the card actions row (row 5) when a PR exists. In zone view, the "Needs Merge" zone header's count badge pulses softly green when there are merge-ready sessions. + +--- + +### Terminal Panel + +The embedded terminal for a session — shows raw agent output, can be used for interactive access. + +**Location**: Expands below the card (pushes other cards down in the grid) or opens as a right-side drawer panel (preferred for 30-agent view — doesn't reflow the grid). + +**Right-side drawer variant** (recommended): +- Width: 480px or 40% of viewport, whichever is larger +- Slides in from right: `transform: translateX(100%)` → `translateX(0)`, 200ms ease +- Overlay: `rgba(0,0,0,0.4)` backdrop +- Header: session name + `[Detach]` + `[Close ✕]` + +**Terminal area**: +``` +background: #0A0A0F (slightly darker than page bg — the terminal is "deeper") +font: JetBrains Mono 13px / 1.5 line height +text color: #D4D4D8 (standard terminal foreground — not pure white) +cursor: block cursor, #5B7EF8 (brand blue, not white — distinguishes from content) +scrollbar: 4px, --border-default color, no track +padding: 12px 16px +``` + +**Log entry prefixes**: Timestamp in `--text-tertiary`, then content. System messages from ao itself (not the agent) in `--status-attention` amber so the user can distinguish orchestrator-injected messages from agent output. + +``` + 10:23:41 Spawning agent on branch session/ao-58... + 10:23:44 Agent ready. Claude session: f81637f1 + 10:24:12 Running tests... + 10:24:45 Tests passed. Committing. +``` + +**Interactive input**: Standard xterm.js implementation. When the agent is running and has accepted stdin, show a `[Agent has control]` banner. When the orchestrator has injected a message, briefly highlight the injected text in `rgba(91,126,248,0.2)`. + +**Resize handle**: 4px drag handle on left edge of the drawer. Minimum 320px, maximum 60vw. + +--- + +### Attention Zone Headers + +The dashboard is divided into horizontal zones. Each zone is a group of session cards. The zone header is the navigation and triage anchor. + +**Zones (ordered by priority, top to bottom)**: +1. **Needs Merge** — PRs approved + CI passing, waiting for you to click Merge +2. **Needs Response** — review comments, CI failures, conflicts requiring human input +3. **Working** — agents actively doing their job, no action needed +4. **Idle** — agents running but inactive +5. **Done** — completed sessions ready for cleanup + +**Zone header anatomy**: + +``` +[●] NEEDS MERGE ───────────────────────────────── [3] +``` + +- Left: Status dot (10px, zone's primary color) +- Zone name: 10px Inter 600, uppercase, 0.12em letter-spacing, `--text-secondary` +- Divider line: `flex: 1`, `1px solid --border-subtle` — full-width horizontal rule +- Right: Count badge — pill with session count, 11px, zone color text, subtle zone-color background + +**Left border accent on zone name**: 2px left border in the zone's status color, 16px tall, centered vertically. Adds a crisp zone-identification stripe without dominating. + +**Spacing**: 20px top margin above zone header (8px if first zone), 12px bottom margin before cards. + +**Visual differentiation by zone**: + +| Zone | Dot color | Name color | Count badge bg | +|------|-----------|------------|----------------| +| Needs Merge | `--status-ready` `#22C55E` | `#22C55E` | `rgba(34,197,94,0.12)` | +| Needs Response | `--status-attention` `#F59E0B` | `#F59E0B` | `rgba(245,158,11,0.12)` | +| Working | `--status-working` `#5B7EF8` | `#5B7EF8` | `rgba(91,126,248,0.12)` | +| Idle | `--status-idle` `#6B6B8A` | `#8888A4` | `rgba(107,107,138,0.12)` | +| Done | `--status-done` `#3E3E54` | `#50506A` | `rgba(62,62,84,0.12)` | + +**Empty zones**: Collapse entirely (no header shown) unless the user has toggled "show empty zones" in settings. This keeps the viewport focused on actionable content. + +**Zone collapse**: Clicking the zone header toggles card visibility. Collapsed state shows header + count only (32px). Useful for suppressing the "Done" zone after reviewing. + +--- + +## 4. Inspiration References + +### Vercel Deployments List +**URL**: https://vercel.com/dashboard (requires auth) / https://vercel.com +**Why relevant**: The deployment list row pattern — compact rows with inline status dot, deployment name (monospace), branch, and a merge-like "Promote to Production" action — is the closest existing product to what ao's session card in compact/list mode should be. Pure restraint: the status dot carries enormous signal on a dark background with nothing competing for attention. + +### Linear Issue List +**URL**: https://linear.app +**Why relevant**: The tightest example of information-dense card/row design in developer tools. Each issue shows: state dot, priority indicator, title, assignee, estimate, and labels — all in a compact row with zero wasted pixels. The state dot system (colored circles for Todo/In Progress/Done/Cancelled) is directly applicable to ao's working/idle/ready/exited states. The row hover state (very subtle background change) is the right level of interactivity feedback. + +### Grafana Dashboard (Dense Panel Layout) +**URL**: https://grafana.com/grafana/dashboards (community dashboards) +**Why relevant**: Grafana demonstrates that 30+ data panels can coexist in a single viewport without overwhelming users — when the data is organized by visual weight and semantic color. The panel border system (1px subtle borders, consistent padding), the metric display pattern (large number + small label + sparkline), and the zone/row organization all have direct analogues to ao's session grid. + +### GitHub Actions Workflow Visualization +**URL**: https://docs.github.com/en/actions +**Why relevant**: The job graph in GitHub Actions shows dependency chains between CI steps with status-colored nodes (green pass, red fail, amber in-progress, gray skipped). This is the best existing model for representing "pipeline state at a glance." The status dot → label → duration pattern for each job is directly applicable to ao's CI status display. + +### VS Code GitHub Copilot Chat Panel (Agent Mode) +**URL**: https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode +**Why relevant**: The sequential tool-invocation list ("Analyzing files... Running tests... Proposing edits...") inside the Copilot chat panel is the right model for ao's terminal activity feed — transparent, labeled steps rather than raw log output. Each step is collapsible. This makes AI activity *legible* rather than just *visible*. + +--- + +## 5. What to Avoid + +### Anti-patterns specific to this product category + +**1. Spacious single-project layout** +Linear, Notion, and most project management tools are designed for one project at a time. ao has 30 sessions simultaneously. Do not adopt their card proportions. A 320×240px card works for one project on screen; at 30 sessions, it requires 4 viewports of scrolling. + +**2. Status color overloading** +Using the same amber for "warning" as for "this agent has been idle for 3 hours" vs. "CI is failing" vs. "review changes requested" — these are different severities that should have different visual treatments. Define strict semantic rules for each status color and don't let the same color mean two different things. + +**3. Badge spam** +Every badge must earn its visual weight. A card shouldn't have 6 badges. If a session is "Working, CI passing, review approved, 3 commits, labeled feature, linked to epic" — the rule is: show only the badges that are *different from the happy path*. CI passing and review approved are expected; don't show badges for them. Show CI *failing* and review *rejected*. + +**4. Modals for primary actions** +The merge action should be one click on the card — not "click merge → confirm modal → click confirm in modal." Destructive actions (kill session, delete worktree) use confirmation. Merging a pre-approved PR is not destructive — it's the *goal*. One click. + +**5. Sidebar-heavy navigation** +A wide left sidebar eats horizontal space that could show more columns of cards. ao has two states: dashboard view (all sessions) and single-session view (one terminal). Navigation should be a top bar (32px) or a narrow 48px icon rail, not a 240px sidebar. + +**6. Light mode as the design authority** +If you design light mode first and adapt to dark, you'll get light-mode design thinking applied to dark backgrounds (gray instead of true near-black, drop shadows instead of border-based elevation, etc.). Dark mode must be the primary design direction. + +**7. Animations that compete with status** +If both the working-state dot AND card borders AND zone headers are all animating simultaneously, the eye has no resting point. The *only* continuous animation is the working-state dot pulse. Everything else is transition-on-change. + +**8. Full-width single-column layout** +Some dashboards present each item in a full-width row (like a GitHub notifications list). At 30 sessions, this creates an impossibly long page. The grid layout (3–4 columns) with zone headers is mandatory. + +**9. Hiding the session terminal behind many clicks** +The terminal is a primary debugging surface. It should be one click from any session card — not buried in a detail page behind 3 navigation layers. + +**10. Generic icon set without semantic consistency** +Mixing Heroicons for some components and FontAwesome for others, or using `info` icons for 6 different meanings. Pick Lucide (or Heroicons — but pick one) and define a mapping: each semantic concept has one icon, used consistently. + +**11. Treating "Done" sessions identically to active ones** +Done sessions should visually recede. Lower contrast, dimmed colors, collapsed by default. The eye should naturally skip over them. Don't give them the same visual weight as "Needs Merge" sessions. + +**12. Conflating "activity state" and "attention state"** +These are different dimensions: +- **Activity state**: Is the agent running, idle, or stopped? (working/idle/exited) +- **Attention state**: Does the human need to act? (needs merge/needs response/fine/done) + +A working agent can be in "Needs Response" (CI failing while it runs). An idle agent can be in "Needs Merge" (PR ready, agent finished). The UI must show both — the left border strip shows attention state; the activity dot shows activity state. + +--- + +## Implementation Notes + +**Recommended stack**: Next.js 15 + Tailwind CSS + shadcn/ui (Radix UI primitives). This is what Supabase uses — validated for serious developer tooling at scale. + +**Terminal**: xterm.js with `@xterm/addon-fit`. Use the dracula or custom dark theme matching the color system above. + +**Real-time updates**: Server-Sent Events (already in ao's architecture) for status changes. Status transitions should animate (200ms ease) — not snap — so the user can track what changed. + +**Design token implementation**: CSS custom properties on `:root`. All color tokens defined as custom properties, not Tailwind color classes directly. This enables runtime theme switching and makes the semantic token system enforceable. + +**Accessibility**: Status indicators must not rely on color alone. Every status dot also has a text label. Badge text is always present (not icon-only). Focus rings use `--accent-blue` at 2px offset. Tab order follows visual reading order. + +--- + +*Design brief compiled February 2026. Based on visual analysis of: Linear, Vercel, Railway, Fly.io, Inngest, Temporal, Grafana, WandB, LangSmith, Retool, Render, PlanetScale, Supabase, GitHub Copilot.* diff --git a/docs/design/design-brief.md b/docs/design/design-brief.md new file mode 100644 index 000000000..02d420292 --- /dev/null +++ b/docs/design/design-brief.md @@ -0,0 +1,737 @@ +# Agent Orchestrator Dashboard — Design Brief +*Research-backed design specification for the ao dashboard* +*Version 2 — Updated with Playwright CSS extraction from live sites* + +--- + +## Product Context + +The Agent Orchestrator dashboard is **mission control for parallel AI coding agents**. Users are senior engineers and CTOs who routinely spawn 10–30 agents at once and need to: + +1. Triage at a glance (who needs me right now?) +2. Merge PRs that are ready +3. Intervene on blocked or stuck agents +4. Understand what each agent is doing without attaching to it + +Primary interaction model: **scan → identify → act**. Not explore, not browse. The interface must surface actionable items immediately and suppress noise. Speed and density beat friendliness. This is closer to Grafana or an APM dashboard than to a product onboarding flow. + +--- + +## 1. Competitive Visual Analysis + +### Linear (linear.app) — **Ground truth via CSS extraction** + +*Playwright was used to extract exact token values from the live site. See `screenshots/linear-homepage.png`.* + +**Verified color palette:** +- Body background: `rgb(8, 9, 10)` → `#08090A` — near-pure black with imperceptible warm cast +- Product panel background: `#0F1011` (CSS token `--color-bg-panel`) +- Marketing background: `#010102` (CSS token `--color-bg-marketing`) +- Brand accent / link color: `#7070FF` (CSS token `--color-accent`, `--color-brand-bg`) +- Focus ring: `#5E6AD2` (CSS token `--color-indigo`) + +**Verified semantic status colors:** +``` +--color-blue: #4EA7FC (informational, active) +--color-red: #EB5757 (error, critical) +--color-green: #27A644 (success, done) +--color-orange: #FC7840 (warning, medium priority) +--color-yellow: #F0BF00 (caution, low priority) +--color-teal: #00B8CC (informational variant) +--color-indigo: #5E6AD2 (brand, focus ring) +``` + +**Verified typography:** +- UI font: `"Inter Variable"` with `"SF Pro Display"` fallback +- **Monospace: `"Berkeley Mono"`** — a premium licensed monospace, not JetBrains Mono as commonly assumed. Fallback: `"SFMono Regular"`, `Consolas`, `Menlo` +- Display/serif: `"Tiempos Headline"` — premium editorial serif (used sparingly for marketing copy) +- Font weights (non-standard variable font values): light=300, normal=400, **medium=510**, **semibold=590**, bold=680 + +**Verified type scale:** +``` +--text-tiny-size: 0.625rem = 10px +--text-micro-size: 0.75rem = 12px +--text-mini-size: 0.8125rem = 13px +--text-small-size: 0.875rem = 14px +--text-regular-size: 0.9375rem = 15px +--text-large-size: 1.0625rem = 17px +``` + +**Letter spacing:** Negative tracking at most sizes (−0.010em to −0.013em for body/mini). Titles use −0.022em at large sizes. + +**Verified spacing/radius:** +``` +--radius-4: 4px (inputs, small badges) +--radius-6: 6px (buttons, cards) +--radius-8: 8px (modals, panels) +--radius-12: 12px (larger surfaces) +--radius-16: 16px (overlays) +``` + +**Verified transitions:** +``` +--speed-quickTransition: 0.1s +--speed-regularTransition: 0.25s +``` + +**Shadows:** Zero visible shadows in dark mode (all `--shadow-*` = `var(--shadow-none)` on dark backgrounds). Elevation is purely background-based. + +**Scrollbar:** `rgba(255,255,255,0.1)` at rest → `rgba(255,255,255,0.2)` hover → `rgba(255,255,255,0.4)` active. 6px width, 10px on hover. + +**Tone**: Engineered restraint. Everything earns its place. + +--- + +### Railway (railway.app) — **Visually analyzed via screenshot** + +*See `screenshots/railway-homepage.png`.* + +**Visual palette observations:** +- Background (hero): Dark desaturated blue-purple, approximately `hsl(250, 24%, 9%)` ≈ `#13111C` +- App UI panel (visible in screenshot): Dark surface, same purple-tinted dark family +- CTA "Deploy" button: Solid purple, approximately `#7C3AED` (Tailwind `purple-600`) +- Navigation background: Near-black with slight purple tint +- Tab text (active): White. Inactive: muted gray. +- Announcement banner: Dark purple/indigo gradient + +**Visual typography observations:** +- Font appears to be Inter (very clean, standard weight interpolation) +- Navigation uses medium weight (~500) +- Body copy uses regular weight (400) + +**Key visual identity:** +- The purple-tinted dark is *not* the same as WandB's neutral charcoal or Linear's near-black. It has a visible chromatic quality — a cool indigo cast that reads immediately. +- The "Deploy →" CTA is the most vibrant element on the page — solid purple, high contrast. + +--- + +### Vercel, Inngest, WandB, LangSmith, Grafana — Prior Research + +*(Based on detailed text analysis from earlier research agents — see `competitive-analysis-raw.md`)* + +**Vercel**: `#000000` pure black. Geist + Geist Mono (proprietary). Zero saturation, zero compromise. + +**Inngest**: Stone-950 `#0A0A0A` warm black. Amber `#CBB26A`. Whyte + Circular fonts. The warmest palette in the group. + +**WandB**: `#1A1C1F` charcoal. Cyan `#00AFC2` accent. Source Serif 4 headings (unique). Yellow-gold CTAs (`#FFCC33→#FFAD33`). Explicit `1px solid #34373C` card borders. + +**LangSmith**: `#030710` near-black with blue cast. Electric blue `#4D65FF`. JetBrains Mono as primary font — the only site to use monospace as the main UI font. + +**Grafana**: The outlier — white background. Orange `#F46800` brand. OSS pragmatism aesthetic. + +--- + +## 2. Design Direction + +### Philosophy + +**Mission control, not social feed.** The ao dashboard should feel like a fighter pilot's HUD — dense, high-contrast, every element load-bearing. Visual analogues: Vercel deployment list discipline + Grafana panel density + LangSmith trace density + Linear state dot pattern. + +**Dark mode native.** Not dark mode as a feature — dark mode as the only mode designed with conviction. + +**Color = signal, not decoration.** Every chromatic element is semantic. Outside status colors, the palette is near-monochrome. This maximizes the signal-to-noise ratio of status indicators. + +--- + +### Color Palette + +Inspired by Linear's `#08090A` and Railway's purple-tinted dark, but finding its own position: **a very dark blue-black** that reads as technical/precise without being as stark as Vercel's pure black. + +#### Base Palette + +| Token | Hex | RGB | Usage | +|-------|-----|-----|-------| +| `--bg-base` | `#0C0C11` | 12,12,17 | Page/app background | +| `--bg-surface` | `#141419` | 20,20,25 | Card backgrounds | +| `--bg-elevated` | `#1C1C25` | 28,28,37 | Hover states, terminal bg, dropdowns | +| `--bg-subtle` | `#23232F` | 35,35,47 | Input backgrounds, code blocks | +| `--border-subtle` | `#22222E` | 34,34,46 | Lowest-visibility borders | +| `--border-default` | `#2E2E3E` | 46,46,62 | Standard card borders | +| `--border-strong` | `#3E3E52` | 62,62,82 | Focus rings, active borders | + +*The blue tint is subtle (~hue 250, saturation ~12%) — enough to read as "technical" rather than "warm", but not as loud as Railway's purple.* + +#### Text Hierarchy + +Modeled on Linear's verified 4-tier system: + +| Token | Hex | Usage | +|-------|-----|-------| +| `--text-primary` | `#EEEEF5` | Main content, titles, session names | +| `--text-secondary` | `#8888A6` | Metadata, timestamps, labels | +| `--text-tertiary` | `#50506A` | Disabled, de-emphasized | +| `--text-inverse` | `#0C0C11` | Text on solid-colored buttons | + +*Slight blue tint (`EEEEF5` not `EEEEEE`) harmonizes with the blue-cast background.* + +#### Status Colors — Semantic only, never decorative + +| Token | Hex | State | Notes | +|-------|-----|-------|-------| +| `--status-working` | `#5B7EF8` | Agent actively running | Animated pulse | +| `--status-ready` | `#22C55E` | Needs merge / human to act | Highest priority signal | +| `--status-attention` | `#F59E0B` | Blocked, CI failing, review needed | Action required | +| `--status-idle` | `#6B6B8A` | Agent idle/paused | Low visual weight | +| `--status-done` | `#3E3E54` | Session complete | Visually recedes | +| `--status-error` | `#EF4444` | Crash, hard failure | Urgent | + +*Note: Linear uses `#27A644` for green, `#EB5757` for red, `#F0BF00` for yellow. ao's status palette is aligned but not identical.* + +#### Interactive Accent + +| Token | Hex | Usage | +|-------|-----|-------| +| `--accent` | `#5B7EF8` | Links, focus rings, active nav, working state | +| `--accent-hover` | `#7B9CFB` | Hover state | +| `--accent-subtle` | `rgba(91,126,248,0.12)` | Highlight backgrounds | + +*Derived from Linear's `#4EA7FC` blue + their `#7070FF` brand purple — splitting the difference at a mid-blue-purple that works for both "active" and "interactive" semantic meanings.* + +#### Surface Elevation System + +Uses background stepping (verified from Linear's approach — no shadows in dark mode): + +``` +Page: #0C0C11 (L ≈ 5%) +Surface: #141419 (L ≈ 8%) ← cards, panels +Elevated: #1C1C25 (L ≈ 12%) ← hovers, dropdowns, terminals +Subtle: #23232F (L ≈ 15%) ← inputs, inline code +``` + +--- + +### Typography + +#### Font Stack + +```css +/* UI — all prose, labels, body */ +font-family: "Inter Variable", "SF Pro Display", -apple-system, system-ui, sans-serif; + +/* Monospace — branch names, session IDs, terminals, all machine-produced data */ +font-family: "Berkeley Mono", "JetBrains Mono", "SF Mono", Menlo, monospace; +``` + +**Primary recommendation: use `Inter Variable`** — universally available, verified in use by Linear and Supabase (both best-in-class developer dashboards). If budget permits a premium license, `Berkeley Mono` for monospace matches Linear's actual stack. + +**Alternative monospace**: JetBrains Mono (free, used by LangSmith) — excellent fallback with strong developer tool credibility. + +#### Type Scale + +Directly derived from Linear's verified CSS token system: + +| Name | Size (rem) | Size (px) | Weight | Usage | +|------|-----------|-----------|--------|-------| +| `tiny` | 0.625rem | 10px | 500 | Zone headers (uppercase, +0.10em tracking) | +| `micro` | 0.75rem | 12px | 400 | Timestamps, secondary metadata (mono) | +| `mini` | 0.8125rem | 13px | 400–500 | Status badges, card metadata rows | +| `small` | 0.875rem | 14px | 500 | Card titles, primary labels | +| `regular` | 0.9375rem | 15px | 400 | Body copy within panels | +| `large` | 1.0625rem | 17px | 600 | Section headings, zone names | + +**Letter spacing**: −0.010em to −0.013em for body/mini (matches Linear's verified values). Uppercase zone labels use +0.10em. + +**Font weights (non-standard for Inter Variable)**: +- Regular: 400 +- Medium: 500 (or 510 per Linear's precise variable-font value) +- Semibold: 590 +- Bold: 680 + +--- + +### Component Style + +**No drop shadows** — verified from Linear's CSS: all `--shadow-*` values resolve to `var(--shadow-none)` on dark backgrounds. Elevation is exclusively via background color stepping. + +**1px explicit borders** (`--border-default: #2E2E3E`) on cards — verified from WandB's `1px solid #34373C` approach. Border-based cards, not shadow-based. + +**Border-radius**: 6px for cards (Linear's `--radius-6`). 4px for badges and inputs (`--radius-4`). 8px for modals/dropdowns (`--radius-8`). + +**Transitions**: `0.1s` for quick (hover states). `0.25s` for regular (state changes). Matches Linear's `--speed-quickTransition` and `--speed-regularTransition`. + +--- + +### Density + +**Target**: 6–8 session cards visible without scrolling in the "Working" zone at 1440px. + +- Card height: ~156px compact / ~200px expanded +- Card width: `minmax(260px, 1fr)` — 3 columns at 1280px, 4 at 1920px +- Grid gap: 12px +- Zone header: 32px +- Page margin: 20px + +This density is closer to Grafana than to Linear. The ao dashboard with 30 agents is a monitoring tool, not a project management tool. + +--- + +### Animation and Motion + +**One continuous animation only**: the working-state activity dot pulse. Everything else is triggered by state change. + +```css +@keyframes activity-pulse { + 0%, 100% { box-shadow: 0 0 0 0 rgba(91, 126, 248, 0.4); } + 50% { box-shadow: 0 0 0 4px rgba(91, 126, 248, 0); } +} + +/* Matches Linear's --speed-regularTransition */ +transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease; +``` + +| Element | Animation | Duration | +|---------|-----------|----------| +| Working dot | Ring pulse (box-shadow) | 2s infinite | +| CI pending | Spinner rotation | 1.5s linear infinite | +| Card state change | bg + border color | 250ms ease | +| New card appear | Fade + 4px slide up | 150ms ease-out | +| Card removal | Fade out | 200ms ease-in | +| Terminal expand | Height (overflow: hidden) | 200ms ease | +| Merge button hover | translateY(−1px) | 100ms ease | + +--- + +### Iconography + +**Lucide Icons** — the shadcn/ui default. 2px stroke weight, clean geometric forms. Pick one library and commit. + +| Semantic | Icon | +|----------|------| +| Working state | Custom CSS dot (not SVG) | +| CI passing | `CheckCircle2` | +| CI failing | `XCircle` | +| CI running | `Loader2` (animated) | +| Branch | `GitBranch` | +| PR | `GitPullRequest` | +| Merge | `GitMerge` | +| Review comment | `MessageSquare` | +| Terminal | `Terminal` | +| Alert/attention | `AlertTriangle` | + +--- + +## 3. Component Designs + +### Session Card + +The primary unit. Each card = one agent session. + +**Anatomy:** + +``` +┌─ 3px status strip ──────────────────────────────────────┐ +│ │ +│ ● working session/ao-58 [···] │ ← 10px dot + 11px mono ID + menu +│ │ +│ Implement UI/UX research dashboard │ ← 14px/500 ticket title (2 lines max) +│ GitHub #58 │ ← 11px tertiary tracker ref +│ │ +│ ⎇ session/ao-58 ↑ PR #104 │ ← 11px mono branch + PR link +│ │ +│ ✓ CI passing ✓ Approved 3m ago │ ← 11px badges + timestamp +│ │ +│ [ Terminal ] [ Merge PR → ] │ ← actions (conditional row) +│ │ +└──────────────────────────────────────────────────────────┘ +``` + +**Visual spec:** +- Background: `--bg-surface` (`#141419`) +- Border: `1px solid --border-default` (`#2E2E3E`) +- Border-radius: `6px` (Linear's `--radius-6`) +- Padding: `12px 14px` +- Left status strip: `3px` wide, full height, color = zone's status color +- Shadow: none (Linear-verified: no shadows in dark mode) + +**State variants** (tinted border + very subtle tinted background for scanability): + +| State | Strip | Border | Background tint | +|-------|-------|--------|-----------------| +| Working | `#5B7EF8` | default | none | +| Needs Merge | `#22C55E` | `rgba(34,197,94,0.2)` | `rgba(34,197,94,0.03)` | +| Needs Attention | `#F59E0B` | `rgba(245,158,11,0.2)` | `rgba(245,158,11,0.03)` | +| Error | `#EF4444` | `rgba(239,68,68,0.2)` | `rgba(239,68,68,0.03)` | +| Done | `#3E3E54` | `--border-subtle` | `--bg-base` (recedes) | + +--- + +### Activity Indicator + +8×8px CSS circle (not SVG — simpler, no scaling artifacts). + +```css +/* Working — the only continuous animation */ +.dot--working { + background: #5B7EF8; + animation: activity-pulse 2s ease-in-out infinite; +} + +/* States */ +.dot--ready { background: #22C55E; } /* static — green is enough */ +.dot--attention { background: #F59E0B; } /* static */ +.dot--idle { background: #6B6B8A; } /* dim, static */ +.dot--error { background: #EF4444; } /* static */ +.dot--done { background: #3E3E54; } /* very dim, static */ +``` + +Label alongside dot: 11px Inter 500, same color as dot. + +--- + +### CI Status Badge + +Height 20px, padding 0 8px, border-radius 10px (fully rounded pill). + +| State | Background | Text | Icon | +|-------|-----------|------|------| +| Passing | `rgba(34,197,94,0.12)` | `#22C55E` | `CheckCircle2` 12px | +| Failing | `rgba(239,68,68,0.12)` | `#EF4444` | `XCircle` 12px | +| Running | `rgba(91,126,248,0.12)` | `#5B7EF8` | `Loader2` 12px, spinning | +| Queued | `rgba(245,158,11,0.12)` | `#F59E0B` | `Clock` 12px | +| Skipped | `rgba(107,107,138,0.12)` | `#6B6B8A` | `Minus` 12px | + +Text: always present (never icon-only). 11px Inter 500. "Passing" / "Failing" / "Running". + +Multiple jobs: show worst-state badge. Hover expands to popover with all job names. + +--- + +### PR Merge Button + +The highest-priority action. When ready, must visually dominate the card. + +**Ready:** +```css +background: #22C55E; +color: #0C0C11; /* dark text on green */ +height: 28px; +padding: 0 12px; +border-radius: 6px; /* Linear's --radius-6 */ +font: 12px/1 "Inter Variable" 600; +/* icon: GitMerge 14px left of "Merge PR" label */ +transition: transform 100ms ease, filter 100ms ease; +&:hover { transform: translateY(-1px); filter: brightness(1.05); } +``` + +**Blocked — CI/review:** +```css +background: #1C1C25; +color: #50506A; +border: 1px solid #2E2E3E; +cursor: not-allowed; +/* tooltip explains why */ +``` + +**Conflicts:** +```css +background: rgba(239,68,68,0.12); +color: #EF4444; +border: 1px solid rgba(239,68,68,0.3); +label: "Conflicts"; +``` + +**After merge (optimistic):** +```css +background: rgba(34,197,94,0.12); +color: #22C55E; +label: "Merged ✓"; +``` + +One click, no confirmation modal. Merging a reviewed PR is the goal state — friction is the enemy. + +--- + +### Terminal Panel + +**Location**: Right-side drawer (preferred — doesn't reflow the 30-card grid). + +``` +Width: 480px or 40vw (whichever larger) +Slide in: transform translateX(100%) → translateX(0), 200ms ease +Backdrop: rgba(0,0,0,0.4) +``` + +**Terminal area:** +```css +background: #0A0A0F; /* deeper than card surface */ +font: 13px/1.5 "Berkeley Mono", "JetBrains Mono", Menlo, monospace; +color: #D4D4D8; /* standard terminal foreground */ +/* cursor: block, #5B7EF8 — brand blue distinguishes from content */ +padding: 12px 16px; +scrollbar-width: 4px; +scrollbar-color: rgba(255,255,255,0.1) transparent; +``` + +**Log format**: `timestamp` in `--text-tertiary` · content in `--text-primary`. Orchestrator-injected messages shown in `rgba(91,126,248,0.2)` highlight. + +--- + +### Attention Zone Headers + +5 zones ordered by priority (top to bottom): + +1. **Needs Merge** — PRs approved + CI passing +2. **Needs Response** — review comments, CI failures, conflicts +3. **Working** — agents running fine +4. **Idle** — agents paused/inactive +5. **Done** — completed, ready for cleanup + +**Header anatomy:** +``` +[●] NEEDS MERGE ───────────────────────────── [3] + ↑ ↑ ↑ + 8px dot flex-1 1px border-subtle count pill +``` + +```css +.zone-header { + display: flex; + align-items: center; + gap: 8px; + padding: 0; + margin: 20px 0 12px; +} +.zone-label { + font: 10px/1 "Inter Variable" 600; + letter-spacing: 0.10em; + text-transform: uppercase; + /* color: zone's status color */ +} +.zone-divider { + flex: 1; + height: 1px; + background: var(--border-subtle); +} +.zone-count { + font: 11px/1 "Inter Variable" 500; + padding: 2px 7px; + border-radius: 10px; + /* background + color: zone's status color at 12% opacity */ +} +``` + +| Zone | Color | Empty behavior | +|------|-------|----------------| +| Needs Merge | `#22C55E` | Collapse entirely | +| Needs Response | `#F59E0B` | Collapse entirely | +| Working | `#5B7EF8` | Collapse if zero | +| Idle | `#6B6B8A` | Collapse by default | +| Done | `#3E3E54` | Collapsed by default | + +--- + +## 4. Inspiration References + +### Linear issue list — *the* density benchmark +**URL**: https://linear.app (see `screenshots/linear-homepage.png`) +**Why**: The product UI visible in Linear's homepage hero screenshot shows exactly the information density and row compactness that ao session cards should match. Issue ID in muted monospace, title truncated, labels as small pill badges, state dot left-aligned. Zero wasted pixels. + +### Vercel deployment list +**URL**: https://vercel.com/dashboard +**Why**: Each deployment row = name (mono) + status dot + branch + timestamp. The status dot on a near-black background carries the full state signal with nothing competing. This is the right level of restraint for ao's done/idle sessions. + +### GitHub Actions job graph +**URL**: https://docs.github.com/en/actions/writing-workflows/quickstart +**Why**: Status-colored nodes (green pass, red fail, gray skip, amber running) in a dependency graph. The best existing model for "pipeline state at a glance." The icon+color combination for each step is directly applicable to ao's CI status display. + +### Grafana panel layout — density reference +**URL**: https://grafana.com/grafana/dashboards +**Why**: Demonstrates that 30+ data panels in one viewport is possible — when organized by visual weight, semantic color, and zone separation. The panel border system (1px subtle border, consistent padding, consistent label typography) is the right density model for ao's session card grid. + +### GitHub Copilot agent mode in VS Code +**URL**: https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode +**Why**: Sequential labeled tool invocations ("Analyzing files... Running tests... Proposing edits...") is the right model for ao's terminal activity feed — transparent step disclosure rather than raw log dump. Each step collapsible. Makes AI activity *legible* rather than just *visible*. + +--- + +## 5. What to Avoid + +### Anti-patterns for this product specifically + +**1. Spacious card proportions** — ao has 30 sessions. Linear/Notion card sizes assume 1 project per screen. + +**2. Status color overloading** — Define strict semantic rules. Amber = "needs human attention." Green = "positive outcome / merge-ready." Red = "error/failure." Never use the same color for two different meanings. + +**3. Badge spam** — Show only badges that diverge from the happy path. CI passing = expected = no badge. CI failing = show badge. If everything is highlighted, nothing is. + +**4. Modal confirmation for merge** — Pre-approved PRs are the goal state. One click. Destructive actions (kill session, delete worktree) use confirmation. Merge does not. + +**5. Wide sidebar** — A 240px sidebar wastes 240px of card grid space. Use a 48px icon rail or a 32px top bar. + +**6. Light mode as design authority** — Design dark first. If you design light first you get light-mode thinking applied to dark backgrounds. + +**7. Competing animations** — One continuous animation (working dot pulse). Everything else is state-change triggered. + +**8. Full-width single-column** — 30 sessions in a single column is 5 viewports tall. Grid layout is mandatory. + +**9. Burying the terminal** — Terminal is a primary debugging surface. One click from any session card. + +**10. Generic icon library mixing** — Pick Lucide or Heroicons. Use it everywhere. One icon per semantic concept. + +**11. Done sessions at full visual weight** — Done cards must visually recede (dim colors, collapsed by default). The eye should skip them automatically. + +**12. Conflating activity state and attention state** — These are separate dimensions. A working agent can need response (CI failing). An idle agent can be merge-ready. Show both independently: left strip = attention state, dot = activity state. + +--- + +## 6. Implementation Stack Recommendation + +**Frontend**: Next.js 15 (App Router) + Tailwind CSS 4 + shadcn/ui (Radix UI primitives) +- Matches ao's existing stack +- Used by Supabase at scale — validated for serious developer tooling + +**Design tokens**: CSS custom properties on `:root`. All colors defined as tokens, not Tailwind classes directly. Enables runtime theming and makes the semantic system enforceable. + +**Terminal**: xterm.js + `@xterm/addon-fit`. Dark theme with the color system above. + +**Real-time**: Server-Sent Events (existing in ao's architecture). State transitions animate via CSS transition (250ms ease). + +**Icons**: `lucide-react` (npm package, tree-shakeable). Same package used by shadcn/ui components. + +**Accessibility**: Status indicators never rely on color alone — always paired with text label or icon. Focus rings use `--accent` at 2px offset. Tab order follows visual reading order. + +--- + +## 7. Current Implementation Audit + +*Added after reading the actual `packages/web/` codebase. Maps recommendations to real files.* + +### Existing Component Inventory + +| File | Purpose | Status | +|------|---------|--------| +| `packages/web/src/app/globals.css` | CSS design tokens (`@theme` block) | ✅ Token system in place, needs repalette | +| `packages/web/src/components/Dashboard.tsx` | Top-level layout: header, stats bar, attention zones, PR table | ✅ Well structured | +| `packages/web/src/components/AttentionZone.tsx` | Zone header + collapsible session list | ✅ Functional, visual polish needed | +| `packages/web/src/components/SessionCard.tsx` | Primary card unit with left border strip, alerts, expand panel | ✅ Core logic solid, visual refinement needed | +| `packages/web/src/components/CIBadge.tsx` | CI check status display | ✅ Exists | +| `packages/web/src/components/PRStatus.tsx` | PR state display + table row | ✅ Exists | +| `packages/web/src/components/DirectTerminal.tsx` | xterm.js + WebSocket terminal (full-page `/sessions/:id`) | ✅ Fully implemented | +| `packages/web/src/lib/types.ts` | `DashboardSession`, `AttentionLevel`, `getAttentionLevel()` | ✅ Well typed | + +### Current Color Token System vs. Recommended + +`packages/web/src/app/globals.css` uses a **GitHub-inspired palette**. The recommended brief palette is a **blue-cast dark**. Mapping: + +| Token | Current (GitHub) | Recommended (Brief) | Delta | +|-------|-----------------|---------------------|-------| +| `--bg-base` / `--color-bg-primary` | `#0d1117` (13,17,23) | `#0C0C11` (12,12,17) | Very close. GitHub has more blue+green, brief more neutral-blue. | +| Surface / `--color-bg-secondary` | `#161b22` (22,27,34) | `#141419` (20,20,25) | GitHub bluer, brief more neutral. Similar luminance. | +| Elevated / `--color-bg-tertiary` | `#1c2128` (28,33,40) | `#1C1C25` (28,28,37) | GitHub bluer. | +| `--color-border-default` | `#30363d` | `#2E2E3E` | GitHub has green tint, brief is blue-neutral. | +| `--color-text-primary` | `#e6edf3` | `#EEEEF5` | GitHub slightly cooler-white; brief slightly warmer. | +| `--color-text-secondary` | `#7d8590` | `#8888A6` | GitHub gray; brief has slight blue cast. | +| Accent blue | `#58a6ff` | `#5B7EF8` | Brief's blue is shifted toward indigo. | +| Green | `#3fb950` | `#22C55E` | Brief's green is more vibrant/saturated. | +| Red | `#f85149` | `#EF4444` | Very similar. | +| Yellow | `#d29922` | `#F59E0B` | Brief is brighter/more saturated. | + +**Assessment**: The current palette is functional and coherent. The recommended palette shifts from GitHub's blue-green cast to a more neutral blue-indigo cast. Both work; the brief's palette aligns more closely with Linear/LangSmith's positioning than GitHub's. + +### Current Typography vs. Recommended + +`globals.css` body font: +```css +font-family: -apple-system, BlinkMacSystemFont, "SF Pro", system-ui, sans-serif; +``` + +`--font-mono`: +```css +--font-mono: "SF Mono", "Menlo", "Consolas", monospace; +``` + +**Brief recommendation**: `"Inter Variable"` as primary, `"Berkeley Mono"` / `"JetBrains Mono"` as monospace. + +**Practical path**: +- Swap body to `"Inter Variable", ...` — load via `next/font/google` (no license cost). This is the highest-impact single change. +- Swap monospace to `"JetBrains Mono", "SF Mono", Menlo, monospace` — JetBrains Mono is free, available via Google Fonts, and widely recognized in developer tooling (LangSmith uses it). +- Berkeley Mono requires a paid license — use as optional upgrade if budget permits. + +### Attention Zone: Actual vs. Recommended + +**Current `AttentionZone.tsx`** header structure: +``` +[ZONE LABEL] [description text] [count pill] [▼] +``` + +**Brief recommendation:** +``` +[●] ZONE LABEL ─────────────────────────────────────── [count pill] +``` + +The current implementation adds a description text (e.g., "PRs ready to merge"). This is informative for new users but creates visual clutter at density. The brief's divider-line approach is more compact and scales better with 30+ sessions. + +**Collapse behavior**: Current correctly collapses "done" by default and returns `null` when empty — matches brief recommendation. + +**6-level zone system** matches brief: `merge → respond → review → pending → working → done`. + +### Session Card: Actual vs. Recommended + +**What the current card gets right:** +- 3px left border strip colored by attention level ✅ +- Left strip color mapped to `borderColorByLevel` record ✅ +- Merge-ready: green border highlight + prominent "merge PR #N" button ✅ +- Alert badges for CI failures, review requests, conflicts, unresolved comments ✅ +- Expandable detail panel with CI checks, unresolved comments, PR diff stats ✅ +- Activity icons for each `ActivityState` ✅ + +**What diverges from brief:** + +1. **Activity icons are Unicode emoji** (`⚡`, `🟢`, `💤`, `❓`, `🚧`, `💀`) — brief recommends 8×8px CSS circles with color semantics. Emoji are charmingly informal but inconsistently sized across platforms and don't carry precise color semantics. The CSS dot approach is more precise. + +2. **Merge button is translucent** (`rgba(63,185,80,0.2)` bg with `#3fb950` text) — brief recommends solid green (`#22C55E` background, dark text). Solid green for the primary action makes it visually dominate correctly. + +3. **Card border-radius is `10px`** (set inline with `style={{ borderRadius: 10 }}`) — brief recommends `6px` (Linear's `--radius-6`). Minor but affects overall tightness. + +4. **`confirm()` dialog on merge** — brief explicitly recommends one-click merge without modal. The current `if (!confirm(...))` on line 66 of `Dashboard.tsx` adds friction for the primary happy-path action. Kill/terminate should keep the confirm; merge should not. + +5. **Single-column list layout** — cards stack vertically within each zone. Brief recommends a multi-column grid for density. At 30 sessions, single-column requires significant scrolling. Grid at `minmax(300px, 1fr)` with `gap: 12px` would show 3 columns at 1100px viewport, matching brief density target. + +### Real-time Updates: Gap + +`packages/web/src/lib/types.ts` defines `SSESnapshotEvent` and `SSEActivityEvent` — the SSE contract is designed. However, the dashboard currently fetches data at page load only (server-side, via `page.tsx`). No client-side SSE listener exists. + +**Brief recommendation**: SSE subscription on `/api/events` to receive `session.activity` updates and re-render affected cards without full refresh. + +**Files to add this to**: +- `packages/web/src/components/Dashboard.tsx` — add `useEffect` with `EventSource` to subscribe to `/api/events` +- On `session.activity` event: update the session in local state and allow CSS transition to reflect new attention level + +### Design Deltas Summary (Priority Order) + +| Priority | Change | File | Impact | +|----------|--------|------|--------| +| 1 | Load Inter Variable via `next/font/google` | `packages/web/src/app/layout.tsx` | Typography lift — biggest visual delta | +| 2 | Load JetBrains Mono via `next/font/google` | `packages/web/src/app/layout.tsx` | Monospace consistency | +| 3 | Swap `globals.css` color tokens to brief palette | `packages/web/src/app/globals.css` | Color system coherence | +| 4 | Merge button: solid green background, no confirm | `packages/web/src/components/SessionCard.tsx`, `Dashboard.tsx` | Primary action clarity | +| 5 | Replace emoji activity icons with CSS dots | `packages/web/src/components/SessionCard.tsx` | Visual precision, cross-platform consistency | +| 6 | Zone header: divider-line layout instead of description text | `packages/web/src/components/AttentionZone.tsx` | Density | +| 7 | Multi-column grid for session cards | `packages/web/src/components/AttentionZone.tsx` | Density at scale | +| 8 | Card border-radius: 10px → 6px | `packages/web/src/components/SessionCard.tsx` | Tighter, more Linear-aligned | +| 9 | SSE live-reload subscription | `packages/web/src/components/Dashboard.tsx` | Real-time updates | +| 10 | Right-side drawer for terminal (vs. full-page nav) | New component or `DirectTerminal.tsx` | Workflow: stay in dashboard while monitoring | + +--- + +## Appendix: Raw Research Notes + +See `competitive-analysis-raw.md` for full text-based analysis of all 14 competitor sites. +See `screenshots/` for Playwright-captured screenshots of Linear and Railway. + +## Companion Documents + +All three pages share this token system and theme: + +| Document | Page | Focus | +|----------|------|-------| +| `design-brief.md` (this file) | `/` — Main dashboard | Session grid, attention zones, triage | +| `session-detail-design-brief.md` | `/sessions/[id]` | Terminal + PR investigation | +| `orchestrator-terminal-design-brief.md` | `/sessions/[orchestrator-id]` | Command center, full-viewport terminal | + +--- + +*Design brief v2. Compiled February 2026.* +*Research methods: Playwright CSS extraction (Linear), Playwright screenshots (Linear, Railway), text-based web analysis (all others).* +*Codebase audit: Read packages/web/src — globals.css, Dashboard.tsx, SessionCard.tsx, AttentionZone.tsx, types.ts, DirectTerminal.tsx.* +*Precision note: Linear color/typography values are verified from live CSS. Railway values are visually estimated from screenshot. All others are from text/HTML analysis.* diff --git a/docs/design/orchestrator-terminal-design-brief.md b/docs/design/orchestrator-terminal-design-brief.md new file mode 100644 index 000000000..5f4b2da70 --- /dev/null +++ b/docs/design/orchestrator-terminal-design-brief.md @@ -0,0 +1,299 @@ +# Orchestrator Terminal Page — Design Brief +*Design specification for `/sessions/[orchestrator-id]` (the orchestrator session)* +*Companion to `design-brief.md` (main dashboard) and `session-detail-design-brief.md`.* + +--- + +## Product Context + +The orchestrator terminal is the **command center**. While agent session pages show one agent's work, the orchestrator session is the parent — the process that spawns, monitors, and auto-handles all agent sessions. + +Users open this page to: +1. Watch the orchestrator's decision-making in real-time ("why did it just spawn a new session?") +2. Issue high-level commands ("spawn sessions for issues 299–305") +3. Debug orchestrator-level problems (config errors, plugin failures, connectivity issues) +4. Get a "god view" — see the state of all sessions from the orchestrator's perspective + +**Key distinction from agent session pages**: There is no PR, no CI, no code review. The orchestrator manages processes, not code. The terminal is 100% of the content payload. Everything else is context scaffolding. + +**User profile**: Senior engineer or CTO who has already built fluency with the dashboard. The orchestrator terminal is a power-user surface. It can lean into density and technical detail. + +--- + +## Layout Architecture + +The orchestrator terminal page should diverge from the generic session detail layout. It needs two things the agent session page does not: + +1. **A status strip** — a compact real-time summary of what the orchestrator is managing (session counts by zone). This replaces the PR Card entirely. +2. **A command history / quick actions strip** — recent orchestrator commands and one-click shortcuts. + +``` +┌─ Nav bar ───────────────────────────────────────────────────────────────┐ +│ ← Agent Orchestrator orchestrator │ +└─────────────────────────────────────────────────────────────────────────┘ + +┌─ Status strip ──────────────────────────────────────────────────────────┐ +│ 3 merge-ready 2 needs-response 12 working 4 done │ +│ ao-orchestrator ● Active · Uptime: 2h 14m │ +└─────────────────────────────────────────────────────────────────────────┘ + +┌─ Terminal (fills remaining height) ─────────────────────────────────────┐ +│ ┌─────────────────────────────────────────────────────────────────────┐ │ +│ │ ● ao-orchestrator Connected XDA [↕ fullscreen] │ │ +│ │─────────────────────────────────────────────────────────────────────│ │ +│ │ │ │ +│ │ [Orchestrator] Spawning session for issue #299... │ │ +│ │ [Orchestrator] Session ao-62 created. │ │ +│ │ [Orchestrator] Checking CI for ao-58: failing (2 checks) │ │ +│ │ [Orchestrator] Sent fix-ci message to ao-58. │ │ +│ │ │ │ +│ └─────────────────────────────────────────────────────────────────────┘ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +**Height distribution**: Nav 40px · Status strip ~64px · Terminal fills `calc(100vh - 104px)`. The terminal is the dominant surface. No scrolling below the fold. + +--- + +## Visual Differentiation from Agent Pages + +The orchestrator page must be visually distinct so users always know which "level" they're on. Three signals achieve this without new components: + +1. **Accent color shift**: Agent pages use `--accent` blue (`#5B7EF8`) for interactive elements. The orchestrator page uses **indigo/violet** (`#7070FF` — Linear's brand color, which happens to match our `--accent-violet: #a371f7` range). This signals "orchestrator = control layer, not work layer." + +2. **Nav label**: The "orchestrator" label persists in the nav bar (right-aligned). Always visible even in fullscreen-adjacent states. + +3. **Terminal chrome**: Instead of the session ID `ao-62`, the orchestrator chrome shows `ao-orchestrator` in a different color — `--accent-violet` instead of the default `--text-muted`. + +These three changes are purely visual and require no structural changes to shared components. + +--- + +## Component Designs + +### Navigation Bar + +Same as session detail bar, plus a persistent right-side label: + +``` +← Agent Orchestrator [orchestrator] +``` + +```css +.nav-orchestrator-badge { + font: 11px/1 "Inter Variable" 500; + letter-spacing: 0.04em; + color: var(--accent-violet); /* #a371f7 */ + padding: 2px 8px; + border-radius: 4px; + background: rgba(163, 113, 247, 0.08); + border: 1px solid rgba(163, 113, 247, 0.15); +} +``` + +--- + +### Status Strip + +A compact horizontal summary bar. Reads left-to-right by urgency (mirrors dashboard zone order). + +``` +[3 merge-ready] [2 responding] [12 working] [4 done] ───── ao-orchestrator ● Active · 2h 14m +``` + +```css +.orchestrator-status-strip { + display: flex; + align-items: center; + gap: 16px; + padding: 10px 32px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-subtle); + font-size: 12px; +} + +.status-count { + display: flex; + align-items: baseline; + gap: 4px; +} +.status-count__value { + font-weight: 600; + font-size: 15px; +} +.status-count__label { + color: var(--text-secondary); + font-size: 11px; +} + +/* Colors match dashboard zone colors */ +.status-count--merge { color: var(--status-ready); } /* green */ +.status-count--respond { color: var(--status-error); } /* red */ +.status-count--working { color: var(--accent); } /* blue */ +.status-count--done { color: var(--text-tertiary); } /* dim */ +``` + +Right side of the strip shows session identity and uptime: +```css +.orchestrator-identity { + margin-left: auto; + display: flex; + align-items: center; + gap: 8px; + font-size: 11px; + color: var(--text-muted); +} +/* "ao-orchestrator" in --font-mono */ +/* Activity dot: same 8px CSS dot as elsewhere */ +/* Uptime: computed from session.createdAt */ +``` + +**Data sourcing**: The status counts come from the sessions API (already available on the page since the page loads session data). Uptime is `Date.now() - session.createdAt`. No new API calls required. + +--- + +### Terminal Panel + +The terminal takes all remaining height. The orchestrator should feel like a true terminal emulator, not an embedded panel. + +**Height**: `calc(100vh - 104px)` (full viewport minus nav + status strip). Never a fixed `600px` on this page. + +**Terminal theme** — same as session detail recommendation, but with the cursor in `--accent-violet` instead of `--accent` blue, reinforcing the orchestrator identity: + +```typescript +theme: { + background: "#0A0A0F", + foreground: "#D4D4D8", + cursor: "#a371f7", // violet: orchestrator identity signal + cursorAccent: "#0A0A0F", + selection: "rgba(163, 113, 247, 0.25)", + fontSize: 13, + fontFamily: '"JetBrains Mono", "SF Mono", Menlo, Monaco, monospace', +} +``` + +**Terminal chrome bar** (the header bar with connection status): +``` +[● violet] ao-orchestrator Connected XDA [↕ fullscreen] +``` + +The session ID `ao-orchestrator` is displayed in `--accent-violet` instead of `--text-muted` to maintain the identity signal. All other chrome elements same as `DirectTerminal.tsx`. + +**Log coloring** (aspirational — requires orchestrator to emit structured ANSI output): + +If the orchestrator emits ANSI escape codes, the terminal will naturally show color-coded output. Even without ANSI, xterm.js renders the raw terminal faithfully. No special handling needed in the UI layer. + +Structured orchestrator log prefix pattern (for the orchestrator to implement, not the UI): +``` +\e[35m[Orchestrator]\e[0m Spawning session for issue #299... (violet prefix) +\e[32m[ao-62]\e[0m Session created on branch feat/issue-299 (green for new) +\e[33m[ao-58]\e[0m CI failing — 2 checks (amber for issues) +\e[31m[ao-45]\e[0m Crashed — activity: exited (red for errors) +``` + +--- + +## Fullscreen Mode + +In fullscreen: +- Nav bar and status strip both hide (fixed position inset-0) +- Terminal takes full viewport +- A minimal overlay in the top-right corner maintains context: + +``` + [ao-orchestrator] [● Active] [exit fullscreen] +``` + +```css +.fullscreen-overlay { + position: fixed; + top: 8px; + right: 12px; + z-index: 100; + display: flex; + align-items: center; + gap: 8px; + padding: 4px 10px; + background: rgba(20, 20, 25, 0.85); + backdrop-filter: blur(4px); + border-radius: 6px; + border: 1px solid var(--border-subtle); + font-size: 11px; +} +``` + +This is a small additive change to `DirectTerminal.tsx` — pass an optional `overlayContent` prop or a specialized `OrchestratorTerminal` wrapper component. + +--- + +## Implementation Strategy + +The orchestrator terminal currently renders as a standard `SessionDetail` page (same component, orchestrator has no PR so the PR card is absent). The terminal itself is identical. + +**Option A — Minimal differentiation** (recommended for v1): +- Detect orchestrator session in `page.tsx` by `id.endsWith("-orchestrator")` +- Pass a prop `isOrchestrator={true}` to `SessionDetail` +- `SessionDetail` conditionally renders the status strip + nav badge + violet terminal theme +- No new components, no routing changes + +**Option B — Dedicated page** (better for v2): +- Create `app/orchestrator/page.tsx` and `components/OrchestratorTerminal.tsx` +- Cleaner separation, allows orchestrator-specific features (command history, session shortcuts) without polluting `SessionDetail` + +**Option A is sufficient for design parity.** Option B becomes worthwhile when orchestrator-specific features (command shortcuts, live session list in sidebar) are added. + +--- + +## Current Implementation Audit + +### What exists + +- `SessionDetail` component handles no-PR state correctly (PR card is absent, terminal is the full content) ✅ +- `DirectTerminal` handles fullscreen, XDA clipboard, responsive sizing ✅ +- The dashboard links to `/sessions/${orchestratorId}` (from `Dashboard.tsx` L93) ✅ +- Session polling every 5s keeps activity state current ✅ + +### What's missing + +| Gap | Description | Priority | +|-----|-------------|----------| +| Visual identity | No distinction between orchestrator and agent session pages | High | +| Status strip | No live session count summary on the orchestrator page | High | +| Nav badge | No persistent "orchestrator" label in nav | Medium | +| Terminal height | Fixed `600px` instead of filling viewport | Medium | +| Terminal theme | Generic xterm black instead of brand-differentiated theme | Medium | +| Violet cursor | Cursor not differentiated from agent sessions | Low | +| Fullscreen overlay | No context overlay in fullscreen mode | Low | + +### Design deltas (priority order) + +| Priority | Change | File | Notes | +|----------|--------|------|-------| +| 1 | Detect orchestrator + pass `isOrchestrator` prop | `packages/web/src/app/page.tsx`, `SessionDetail.tsx` | Enables all other changes | +| 2 | Status strip: session counts by zone | `SessionDetail.tsx` (conditional) or new `OrchestratorStatus.tsx` | Main UX differentiation | +| 3 | Terminal height: `calc(100vh - 104px)` | `DirectTerminal.tsx` or wrapper | Full-viewport terminal | +| 4 | Nav badge: "orchestrator" pill | `SessionDetail.tsx` nav | Identity signal | +| 5 | Terminal theme: violet cursor + `#0A0A0F` bg | `DirectTerminal.tsx` (via `theme` prop) | Identity + quality | +| 6 | Fullscreen overlay with context | `DirectTerminal.tsx` (via `overlayContent` prop) | Fullscreen UX | + +--- + +## Shared Design System Reference + +All three pages share the same design tokens. Use the token names from the main design brief: + +| Token | Value | Usage here | +|-------|-------|-----------| +| `--bg-base` | `#0C0C11` | Page background | +| `--bg-surface` | `#141419` | Nav bar, status strip | +| `--bg-elevated` | `#1C1C25` | Terminal chrome bar | +| `--accent` | `#5B7EF8` | Agent session links, focus rings | +| `--accent-violet` | `#a371f7` | Orchestrator identity color | +| `--status-ready` | `#22C55E` | Merge-ready count | +| `--status-error` | `#EF4444` | Respond-needed count, crashes | +| `--font-mono` | JetBrains Mono | Terminal, session IDs, branch names | + +--- + +*Companion document to `design-brief.md` and `session-detail-design-brief.md`.* +*Compiled February 2026.* diff --git a/docs/design/screenshots/linear-homepage.png b/docs/design/screenshots/linear-homepage.png new file mode 100644 index 0000000000000000000000000000000000000000..353ec321d43e84e31fe14a6e5172b8e3161b6ef7 GIT binary patch literal 311647 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%0AY%IPvB9$-Fh}pjoiQ&9 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 literal 0 HcmV?d00001 diff --git a/docs/design/screenshots/railway-homepage.png b/docs/design/screenshots/railway-homepage.png new file mode 100644 index 0000000000000000000000000000000000000000..e53178632175300cbf126a24040e3a226fe526c6 GIT binary patch literal 444471 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%0DB55p` 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

23?3Jw1Ir=rj0bNAhw2zWnz`ee@&PL%Htjq2QX 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 tz8W(YkhBr8~!U;t1dW&6lNWA?GtB6 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%0A>?0ot)9dYiS=2PiC-O@q%EDK-OP;< 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 tUkIpfU+ zizL=s2P2Q!6kERFqMyup6LOR3T1MT|S6x(Ba%Xwq2gYN{Tw4tY z8klG$=-%#xW3$Jl5SF#psHf>*jkZMZa~AYclW_sRxOCUncEOu{pqLyopuD49i7NiP z*k%ESzpMMI@^G9+(W-(w)GYI}NSiv@a`Flao6;Fj0umw%Wq0aOgLdn6<&G4|0vakR z8pf{V&HNE6su?2-XxLDA@Ii@Fex;ZH%)UK{C@(aLalJwcTKk&8Q2fu{N6Zm$RG{jp z&HpO~C=>#&6R#XIhdTRj1PKX%2#ar!^W4t1E)$v(cCQOUCo*~GWS3H^DgttA#W0jX6i9M+V=j4F6cNjjNXnO@}s(IX5ij_~y7ASy!RWVwP@5z`@!TS5seq^K{( zr&piQ=$%0O?a9Nu9Ex!!-Zr9)y`>B}PXE@(BK3u?F_bawQl*zG3wsTrSaZjUQ<~CN zt!Q_&)|Mubm{0S4UTO;EhGxPWeVR9qj|^r`U(2y#`o{43fbM2~9>rB+={e)X>rDCsvN3fWR?>^I?`TDqkkCb9pov z649xKf-%~e!v6BXUJ>uDRQCZ0!efaQRRdXQbXuDPlGv58P`pB~@>xb66{i``KC|yk zWw6Ts$T#+@pS6@^_>HFu>Sp;>hoaV!6)`C>9(C=`hgh}1lkXzwh^$-{knCjj)N8_C z;#swpHmPE~TNz_nFz-WZvs42^=g>oL<_b65jx~6}e)Mf@o<=?*j zpB8g_rld|!tr9GszVh}eiue2ZlG&Bk{Gd(zyE_OclGss__2@SMEe3YuQ~M;?O#WEK zmW9(eL7SJES!fd z3<=LkpAU!v&}pwx-BI_^KGy3ls$aatBFXdqUmHoByN;*GCY3+?p;%5n4z$n8THu@! zI19`R{yIH0<+e*eJbfB zi#C?`IYec>`T@hH=lNm0h<9~~un<&qri$i?Iw5hOG^|@c^DN- zX7om;@Wds2;UZ;~dqzy66CLOnA|5KOUm%2{W#E@J_HU0_5Ix64VKgCR&oJC6xEv+5 zyepb>i>j%>B6hojbJkKau)8=qPQKN;mv?a=`MWsb5}~_Vb#)$lvMjx!#?gb;qmHFl zvAu{wYAL=%m1Ox49~WPdWYi%a+q&jx*LzTBlS*Tp4J!useB6$|psBed)5&oQa{iR* zxS$HnkXivHSMyz=Jz7!6leZ;%A15!Z*I5nC=FYQ)L$+Fu)g@czGGsu#pzGMXSojCQ zr4m;TjEz`XY2|K-PM7yVg$r1%RU=)#08j85-zxdYa^2%`H-`!As^!4$5KQW-MyjSD z9Coa@d?BrHjHJDnzPmn`+77PRN;b_A)+o zCiQ;3Y_NE~_tegKew9l-XB3bhs=K--Ql{D zk@pFKxqo1FKx&6lLHlJ5=T`pUDnKb*ig;T6bj)@_iHFKn?k5O<_i!1AV_rQKxPl~d zA0)*vL<7XrZ&k4jKSCV8H4);~Mb2|a$;)Jj@&Gaha`ZP5n`mgzFmVwZx&5QodH zOiBArP_$gWN7-v%^3`-wF&IO~ivbhp!c@CWTaeJI41LaCNK+Xl@g-QPkM{2Cd8<;1 z({l`oV{>D!Np0iA)T5<9KHZvX0?+cA)@%xpCdmi{G$?h+*Su-@Caqxz$`Va$ynl<2 zF9mOj6>=#lJ8zhNkeToAYn+eSBLwJ(wDR0gTi#`$L?J+4mx7ps@qtSU>E`@5@}Ekv;f#xY>s|);Gm0h7 zE|c);LmQU{sz>aaiM>@5JYyPgF)TbUAaMIbyEMNV@<2WHj_vmC#|7g{9fYNS1GicJ zWy$}@khBdfey!W`?Oiuk#-jF1gI{nP)eVH)M{Rxz&^zCy-f37YEeV+gmP%_jboz^H- zy!Xi3ZBF&?b9j~0J`C5ksHMf6AIHBjGpD$`EIfd&sF1_)e?*;SKotA?_E9F&;@OHjI7TDrUY8PETm-!rfF-Neq^^PTIy?$7mxrHC4g zPa>C9BEB%AeR}tS0S`W=(1JNMm+let&B~Y*=SZYF;a)qyKc=_ zJA)J2;ZsbUas;AJ?a{OS94OtXIpvFM5%)~Sz@fh)CFtAp>qw^E8Mib7NzWvJ4dHd526-V0wuJK=fwt~LMt zuYRKjp{$lj2JbGCPyezh|1eP_S#VLzU&Q%O9P-z=v&W(4j7{)6WQJty6h|h#T_;OVAe5%WDl}L zM!nC1V>_x_sXjGv2ZLmSh(i!Qw3thO#3X8smMwXmMI&Oq};etWCQN~zOZ-Fc6 zQmz#fO5p5{Jutz0(JFQa3(YB-wuG?l@Y!wlES`(x9F1>JS`7t|GaDVbLO>7^qoaj3 z+Xm@O51>yV%ZRS~%o3HWwk80O$67j*nD(Nwx0AjZ6fOxiDrYh)lX+`y0kZcw@p+H3 z{*>|FKI?O3DqtYJPT~T3;p@ef-d1wn1D<>PfZD*mg$|6M&RR@v_j?Yl2k>8tg^)Tv zu8e4NB;Q>)FI(?foj9}27Bhhv)-_B1^z|<^#=ej7K#_Te6Zw%w>I?EX`#Z>s);6e6%D0y;qA|y`!6K@!X1(y{(%#B74=&aKRuE$5L2p zdBSo*>}V?(JSF4|V0e#N)B&$b4Z!Jjk1LMaM84S%9(LS|v(y9DG-oz_4~6Zz;Z55+ z8~_*D=dTBs&2r3@<_wtoxn@xTbRb8_2GFTuyL5lHFGLZ^#)Dv^ZnJ(TQvG$yscEkB zBGeE($(0dCz9Eq~>c-KyekyUV{kS}n(3H*=%x^?HMWld*G&|=o@LiZuqZ-1{HD=9_ z?@UcaoW(4dbrhJNV9A<`RRJqWbt$?orpj(luD*+&`b=Pcn9On&N9OxKCh78*mE7Ys zR^_^jlmQU?svmhWiG*SbHf=f9C-VrMO;e6ENVEzr1Y!|@5>ak7VBp?n(nKw{rbg$p zi@ai1`$Gs=ugAT?3islAsbENyqe#Bp|))auV;X$D%PWr>L(r*6N(T8UxOu) zEr(yCvq!Mr&e}IULp}`kMi6;6t@(`@p-B@MKQB_m?f)-T3hrDy7Hy#J-taX7kLCw9 z@!&GG*bSL0&j7>H=Ab&sGLb8W8e3Wxg1jy!aHwIeG}!1={zKegQs5WdZ^Ew;`9pKa zU(<8B7~~%=%{PJ_(^XVi-ngTuiu>`@pAcy;$#2hY{!SB5@c6N8ScYD5l)uv@Z5G)ZzYIbLz z3;-2=FU~7Gk@CUfHaCqDnL7Td-psC3zgd$n!|Os-vVSiw8V3;O^9hLZhYTy4%JFwyV24Hta(V( zRN=Mcdmz?%t)192g5+(F9_V+ZHu4pWGjd$_jHEzT9U{^4s$~G+`~sH(F3W%F&;81C zOy}n>hx1T?NVH$ka&!-1wXF1IfA2a8J*?_KoFzVUaiaS(^ST^tz zq#P*hWpOt#+a-rgBl)ZZ@2U7wP(i{} zb|$hn`9}|k{=VgIYP|Mb3^06W8hhQKr!`ktm5)7W7RrZt3Vd~x!4-?m(ki??8zX^E zVC>*psSoQmdN{&;{a0@hDI-6?i&3q>s?P2|pJk(j&mhsoCuAoR-LCMhOQTXs(aPnKmt*Re$5>lP)5g0YMGruJ&_PG=ZBKd!xQUxh z2aMuLvx73`rZc7$+;ofIPJiE6!~xoC6{EU^Sew*dvA?oW-eZfU{W5rSt`_Da`L4iE zQnkIN&e`3@hK&o=_0vvGu)}Hzu3S;GqQ;X#uzdPZw zo+=_szQAN}e%>Bwmuz_@s>?Qj#*@OT-*Pgrw>Pj~sm~2_bMwL)0#O!5SWI}IcAHrw z2T~rgjXJTA#Ri3;`!N1vpQ-x&DXW<##s2qH5O%!E@-!W_lABZwg~cyvlV1d>=>a?3 z%a$J|#VBAF@?kuh`AzmEYGx!Hq*?TR1n3U+)Q&alb-7=T1d8k+HR-RY{e#Rz=bfgebQg57 zl=F{lx!ZvFPpDoT)LG#C2ME#Z63UyTW;s6~|D>k$}$ z1E)e9fGnUyX$}SZtXP^be}-gzZT*h+rt0KZtV$luHCa^#@m;sQ4r-4C$jaXA$$_1Q zU`@RPr?sqZO|Fe^^QVS%=IGO=CB&zg4g+v-maTVtbN5G{gX6iq7XB0*Hvr?#7vzmT z_b9pEb}?}d1o7g$kp#s>k_y;A-c6G|-*~E5=+xV0Dkav9KPAAt9`EY(DkX?Bg?uB! zU2&$#A!D1HxuXKtlZW^CV!ZUxWiDJ5`uX~A6EWNF_ITdpsFpP;2^Wz$C}LTx9?boH z#@_|UcqdZJOjK-r8Js#i6^IVc!|8C^T?=Cp6cwqSwzRXg9UCZBXVh=K(Ms6;Z1<0u z&(}Cc?8gjb_Ip++{yQ|Zjn<(MC28~nvo6dJAs3^;YhkFg&4}Z1X?!p;qL_+mj=+wU zXhsrHXEifLDPxG)&ZEok--H)Kfh%hCy1gvSxEs%nYOkHt+_|jxISJ^{*VQc^P35xH z@jUI`7CeiIDzs>>u68+Elvc{`XMGNItGR$u0YDc4vg%h{2*Zh!4bB;rS zq6VO)QY0(&+MJ%@u_jxl`uD}Z{}tVTq}DLEo?3=$LvVZA1T_zk#OBAVWzos{_8QK- zIqDrQ%m+%OCiL7>%F7m+>qs4xr}gZ}P1VEG$#ezRr-24%YnYtZuj4)oo(d@=Gl~F{ z(xolUlDkLS*Ys2jtUFYG^(^@9*#q2W#VOFK!|{W-xA$tcbkt455G;T1~uapKd!H=t~QbSkt7y zR%TBA8 zqpX6?c7S}$Af^cUREp44oxWE?MlG@HN3(?j$Nkkh7b!VeRvb3-orvAD&+2$Y?-lD| zYD$!=wIOl=M{?u07^aL<4&V^s%p)rzW=GFtexL2h-Lt6mT+v2N<<1ajJSk}lsqTD< zTQF4vW;`FLJJeq!%nu}+EV+nSo+!Kv`k)_-l4N$7WkrLwEXSMgRBx1@_5FLDmVF4i@PuEnX8znp9FvY%5ABb z%POd-Rhtar*0Zd`UuUkl+%ETFOAy#bC|L}h_@Wi=Kea2Vc`AOH;Iv%SG-Qrg6aM#B z0k*4n*5K_`4ddzugu%E{J#YKn2Dc1t=(j*z2}Oqv}mo>=Je>Q%>`_9kz9ySiE1H?s{gkq zxGITojfYUnGwRP(Udrl*uZ3yq?a4UAj!baH(rvlIWl9`PtmIE@B1=up$*ieSN+}5e z#$GbH_^DD|a!mvb0^Z0Til@~x$M8~BQ{B}2=F%zUnZ-d=Qf(4}lioB%lyaLxXNb@~ zr{$a-{-b5*o1EnS{*=@bI^a5JvzllV2jc~|gS)qRwhVGvu(mk2I?K7YRu_A`BFTO# zfUnLhL6{dw=i07&>q&P&Tl(`Jody3Ts*JZ?_+L6lFOj^r!B|%0O5@A4R##m$rYf~h z6O8T|W}1RE)oYjRwDZgaV;_;7*0E{Sj6>IzsWPP-c=#YY3@A1)`HOWqE;Az>i`xvH zQAJD!u=d!qXb1cLxHqORIycsmyBRZ~+P0d}DQDI2HeXqyztN(jbZxq_#FxCLtEEg` z$P-BJ=#1wj>1BDkY)hlugu_vcvbT7etHA;GrKmw|1LM+_@H^78;^8x^raP=XS&&Qwd9iP#&{Ht(=eYju{*!0`|JjWp1tf&)q+V=irn5&qORD8s1ZTh|SJ=A< z&^WfaFHip&;K&>VU>vS{=v%CpVy1gm7tU;>#iNx0z$ft<01fMM+{-Pl8J~JPY_})9 z#d+E7n0A*VuDqhtvnc1?31q&E0!Q^r8?z>R!nak6U^zD082djh0LN9NCr74zEZo{C z=&Le^gp^h>x;TX76&Jz9?942H+N;aiRr)=TfB9Z^4?7k6pK+Scw^O_HqkVr0>oSL& z-9OpBhj)IdU{j||7-umwWk>)MoBCi#dpj0gJU|GGT!SLKd)pR7PcN>#n?dvR5QIL2 zoO(Y!JFBwqY!h`cxdvzkbRC&B%T-SmRTC?EB`w?DayS!gM|lzUAy>-B=kFYW=>xOn zrAaL1yyv8rBX=Q|e&^>_Ep|f3nH^qNU@RetjW_x_sWjLq<6dw3&M1lNhJe$2+Ik2W zXcYqtd;88!n+Tpq0sg29WT0_;Qxf=}thR)-V2d$l;H3uoFC0e9>KoN& zL6iVWOUNdWB*99AV33y$v8)h6@r%XALFbauy%IrVdl3d~x&fuO|D)3z=%n2)L$&&774U$UkkmU|@k`@g0H zV3su8WZa!a%ZgMzzb(|pN=((LvL~_!)F77|iZ|{c7%Xk~ew)1&G1~==YS2Ez0zN(R zJvANp)hlr6=F1SBk%ctZBuVZl1Wn|KC(<|FX;38(^ERR-agCo@%>5cRXhg}T#Z$q; zqzF0Fp`QryS}N22-80E&- zvAA@ls*U0cwZ8Zw>EquQNYN((89@q(gvNPDyI}TH@A)3El${blR0wxdo0(L>vl_T8 zsUpLNr-QDEVU%I}9ICb8NpyiIYF2l7{?|KaV!5J?yABLtp2~NU%*>Dw}5a zm}NWztm&xi@prshx@b6P8~JF>$W*3xinKrmHr`8eeX`T;0t3c!n>wHDf6K+v;MO0A zWi-i}as6+!u~o)d)4F8N4!oSv`9W)V z)ex!*(~_?by5fkA&R-*v*Xqjs7WZtbX;9<;gfJuG*F{6;LcoCIPRx%(g=KP1_JC^O(A6dk~=kj@=0D-7{8 zESPK^AmpW$s&Zp6LMul|sE-~bCy9nxH)tQqy+QWhY+^8EiH~tIU9N@us{M^Sa^cYS zUEQaE0d}~rTy##y0i@FsG+)07| zk#=m+f(66X9r6BtY0^hHII4;hzteN$R_2q#Za-^xS0jcgO__c<^YTDmHMyd$FsER> z*kyl(6@z>aACNu0=Og{0v-atkh!smDwEb~y=DTl1WfXYww* zHmq1^^Rl+M1#^M3Z;roc0P-S-Ke>h$KQ2PKUgapTe#VLGkt?7L%ek7M)YohqFH7Kp z`!myBfJ7pPG9Nv@n8%A6Mr$IR!j$M>7tEMa6nMx-lJ$%$e{k&PTrqZ5W;$|{G9lty< z@!~P=mtsSDv^z7J$fl0DW{hwTk|MrhpiU=03LH%_X$o*4)_?j;G2v(kl3$fk;>2;K zR?Ids3K9IC$NSl7mwWGu2oBdAB0$~GNMfTG{r&MZt5IV-PohKi5~g!LMjU@Z)lE~x zQ0cze@SCEttn#^6vJn!{ZFhq1u){1o1jsvNMe{WzRU2fg_bSRmguw$v=p* zlQQX0xbJqk#~o1f>V{%yG&aJb3vTb`wT59uQ&->0JC^hOxPZITGn|!So!4M0a_#G` zF_#=ds$s-sgu5cc*dC{@rJe+k=!Fr88Oa{vsH2EQDn?l)e* zW`~*UMx!PrR-t+e+V4kyc%9&AyDyIf<=bbv`jezRQf>(#Op+Ml$6%-8cesjv}{J%bN0A!0*}pOh-N*J_=&eaO`aZ2bj0$yms%=sn+8A`TR>LiBE~!8-fJ ze3lEV!mwoKQOrF{nzT(H_`cL2gA;Kqee`0VfEJ@{ zPg<%{{<6`C`=q=8P}UNFV8_hSso6jK!7Y`QGE;56 zXJ`MIO58l#U-~*W?Xz*^KZ!0MR8)olX_}CgqvSQ8GE}cUI}XJ)dadb&Ru}U`M#r@$ zYdxr(D@91`@bD%3aLKUvr_nNoz-9k0&dw%|j_Y3*Lv3EFn5t&=hq4jP6y{BtfRYBx zQ)w`?SvYbNqc`*u%*tqL`qJ^8X3eVu>|g0I)-L^et(58%EhVp+KCU0+X>}^hJC^L| zl`>us(3z!XVl1)2J_ZcZ=1bi=M{yo;?T~Uvw)N^1rm4!f*XN8Y1G7t!#s+3%>x5H>>NTT%d@g ze7O98(yvDL=}z^N3=MP=tCE&iTfhDLTc@tMJX{ipvR0n9Nj;iaa>F!E`qGpq3e@rh zG>E%?A{0B6>QvbYU80A&05irDZPe<#J&WUChOnHjQzCfa;0_S~-qQVaYbD#19u0Dgjnfb?*u;KR+N{= z-VQ%>B@;`Ie3-PQjgC*!T}8DMc3bPqE?X%q6dua^#`3~HzfpPOA(42Ye7Kkhj6H{x ztI%sU?!q%Dvu)!n>>0XQ8`=!V$YnSZUDR9CtTF{M!Gwc*b#rp+E2%ud#q|8*A3IDE z0)&ucT5RB(wH~KL=s77p0%;{Nwsd1%^qd$c$b8SdZSwd!m?&k4&1=eP;;|(Yzf11* zB|HzoMtDmSuQG?fHBXa+mPU|Bk{7YTJMk9`=*m!q=Y zJH}J-`jn;5|E_F*fbvky)`F}ZO*^Gh@v`kKLqE=mx9@m=I9gl1*%9}er~sDJI}BJJV(M5^KY0FFDY7t>tna-}2XAd{g z1LoBvlYf`)pA(Yq+|pjDe)^N!9^sWjMDLGGNGB5**HCOCt>|T5_;c`Sce|mpCG9OC zGUUjFRT>#S*(7fymfN~PYe`P}Efz~M#W}sI<_8n0U{$4{i`;XTlyFHYUICtqk{*V@ zxbW|sCu63d@-|i=oEouV#pnJfR!7~#<Ls=~FS zx8i%wj+xKaW0b&^%l$q;16w{z_;&ZWoV+mlPQbwl-13kw|8VwrEmQ^gssPBM-6!GS zwyp=o0(Uz`Q36jlaq@z~Sotqscm1aY$OxS$>ze^5^@AbQ{;jH5!CO6ajIz#N^@ujB z>VYxb57o}tP`W-d$G&C$m;;P-(4($+t%_uFpyHy1#ftp;BQ3Pz9c8%bj9^al8timu z>Ur0R6@=#eq?n9##-H+8l7X#=Rk>{0V`UzfL%7G7N%r1?h#4AaPaqECj1!yoYy`A3 z(_i`0Zx`~Md6$NVBNl919@n~Of#@Yd1mTQrv!llK#irWLglnLIIFT*N#QzKoUwAZa z-JGslSy_z=-ecJKZl}AF@Hl*0c8rQY>wc?WL`EeS+j89AGI=zXaCvE*$?twP1*C)k z@m6(D93Qv1_lDR;AEur>R=ltE+gvVtF82)xmYrvH!=%6Ixo<8`)2Z*2{~R3rmVlWq zaL>xX#K1tp=hEt9KL6y0ymGcjw|&%h{A4v-(e7}h)0E-S;>g3-k=E)$etXk zIRJuwTwbLw&9-070ydY{FHaBaQ61^xcEF4F@2%hP&iIdEQ$)~uzW$DejeED{ab!-( zuuQpNg$gN>FqcIk>%!h8E{SMyHbWtRD(X^8bD9T+VndxMP}Sdv6dKft%q1a|%Z~l# zb^j4G!eO*hXaX(@A`!KETo=1Vb+iRh@>mR{g`}MmYqv>rsWIs^-Q7)>&d$zoO$rN* zA{m=GSyr7@Ai{lJ5?$LHA~7>xjpRG_db-_a(r@?Lo1%T(Pv(;rzL}9&77wjh*!4Pf zZHHA=eYEmf%_Z}kZCP15zCQN-;}_+9ur5QFzc}@0eB|u%F>dVcQvdlNnawr&=%G&k zUd4j+VeFgW1KaU4xwmlZw!raY-{_-P8>Dg;NUC~vPjN|R^vCtNFzVpmxwg=IyeRZd z&(kIU#q@kuDR}ZD;NmD`9Zc$RW3UhkTYPWlsqHOfpXPP*Q%IVx@Hhjj^*Mm-;m@}r z%m8`sJ2ux9N36qbb)j1;7a<&VMkcb`13RCJ$-~$$kGJ|ah%KX;4;v6AAdzkLDGTc_ z_VUk6z6y!u#`V12_EhrA0=8G#t zlbX>&>Qs1Db;DWZOC0jK4(?L;4ypneT&Yl@*kR3qh;2v@d-HpD^GKTb{T~{~EU6Ux zK2=R0e-iXQ2jyBbrLGA_ahuHGwp4RAm<@^sL`HuK~pB@g)Y@hGA z+D#jpd>-fZpD*>tMR0qsSDt@h`Q8K^`#yW_TUigZPL$rl+n4(xNg5*Sb4h7zivdp}icO>cUpdQ4}n;(ah^={2tqVFg2d*y5dqYE6=3g zA?Sk3SynBsZ&u_7G>~7Pw8xq}rLMl?Mml2uY>&j5UxZG=PT@CQP^GiCSs7LNTr-TQ0rx6B~45k^qVLT*t01Dgj-1vls12OHC?K15qsN| zc^_n!>22!hXl3O%X?s2&gzn-Ozk0T6Vrp7_-SG_H8%cKT)C}aW);_QI%BKlEm*`Tb z)5>O)!|vTLq3V17CjmgF+VfNI zbJMZ`aJ~Kv4|1{uUIymrIL#k|YJ-a&|+Ys`3;pUfdfq=_z-p7Pax&igx#Q7 zs8!5+6=_i`3i`lWBF43%Hiv#BNuu+!I=VJJ-`f*|SpU3?CS$*48JbQ@ii(ZJfoout;aZ!)p(FrGClSc$j7z9%|L!Dgi`%$*;KF0a;9JrVoH_O@JK}SrS45FnRHx~nd^z?wrPPVbSOcABqji$O&4v)} zoxz&bOR=0ilE@WA0A^}_YDssH*d3}UgQhbY>4J8CjZX<{@~?85&{*bz-kZPY-wQmU z{qNM9J=*W~=#D*RTP!wVhd*g3b+20?%#OfYBQd0Rg8k5?`8{zQ%yVCxEJP-*m(+8y zqSftm?R32t2qqqpDO$E^Sh~8is+`u2A@$r!&U~8a6*>hPxbs<`-V{agpM9?r|NBhP zaoGatxitbAJdVi8Xck*u`|s_H_;}{jN0yu$M!ah4>s@wE4Cbd{(8|`k0pL9nK-e+) zjm)EQ5kCDm=zRO{q|28uHqt?^-6aT1pcl=a{I-0xg~?34N2OkKO?@@qcV>((S_vLE zmcaVxtZAQ1>murHvt2?hl}arjSCY=S1rQeGh2TqAt zBoljVqxm6Kd47Ycz*le$Ke{M30=v0C%&A-)5LAY~0x6C_o|$XwS*T+lh}P}-5lg3$ zS@j&_?h)+skjwPAER+Y*_lnPrkU=!rdJ1)$-lzy^BgeaEa`)zkG(M{gqpp2N;`$_ZX}Srn>}}lpGUH- z`O=z{73=ILG)0q#YE&$QifBSbQ)6L1lmqc4pM@KjkITy{#y!8i#h-_?a!6VTEO8>v zvlrFSlU;a#;BuK!c5a)mKqdk`&pTGnK`-EzFQSKSZcoPfuYHWK`WK$al8GK}t)AuU z(J9kCcnGi^j0JL`oZMgXN{xTLPhIZ213~T{pME`(@i=S%FGj4V!;ag4m`nRujNsI< z5gYTIw>Ve=?Xhyok@<2QG3#s(hA;nQeH`7Nov{t~Re1qtCvxO@@9CC63wFZ@%9hiv z40V>0t$tnN!AX>#Hc~sMQ8MdrZzvm6R6CLBp}QzG54l*oZXY!jhCiQIXw3cKQ$W8k zK91DZ_oqbp_s-9pryLt$aCx0R0jZYOo)a%`b-4RrNoV}j=Xo$KVT?C3hHU50;DMy0 z1iT%026cVCxbQTZhG>Hsh17qlmns!uWrCTx9ZPZsW_xQuX{)LBF=SfrlxohrrU;E%~{QRFR8+CTQ&MZar<|%2BSsm&6krL_>=_3PN^{#hlyJP z%Y_nS1qIo*!eN@63Q88}xr~B}p{LYI+AtOOWj2d#)kBtjt{W$&BD)N)ql5#JJeBsP zxFHSYHZ8@Kyo*-oq;Hn>L*$8RM4wdJZDf-`=y98A%B`z>3d?mH=z=Y5@jkYX?US365bCg*P?n<$Ii~rtShEt($|sKAQt3NO0WDz(oRb zisgZRT+`FqNm_EM_tKba(Npv3Q|Mn3Ub>m=(MJ_Pyonk;tr)$>474q6C41&*+MgVK zfpwuvrt7(EWP5z~KxTq(A-`x>R)af(2cZf@3(K^Xh%z(Z2PBu5g{I&QBmA!FSxX`7 z9cO(b6luqu@8Rj;F_jm)WBI$XZ5{&pG}p6?HUUHY(tSv&+86qjLf<`N>DB$}5hfIj zo22dq?tY44+u+S73D=>UShJh;v@$g=a$Z?-NGfkJG^zxsHQmPF*IP1U2G(1<)#p^o zywBWX-3kEQ&bo7Hqeer;o&a}$Dy0_4CF<}rrnGWNXPfzx0tSKo`})SwZX3E9dlB&*$13y8EBG9-ome)fHDVqIB?Mv?3;Wde-C^BR^x}J zLEgshI>fz%`@wjdO81=bk1k*>y7Z~H$7!_BLAD|W$pZ+*grMb94{lx6cUHUd@O{M> znMBq#&^t|O-3r3m-O<<~3JXQu?_sPPo@(90Efq&SQ`r6;b2d%aSjOi50ca}|is7T*h$_`e%-XceJCs}V{aM`vX96 z;Rm3+7Y2>ZU2z*-eq31lg{LmsJa?H`$jbJV$+;gwib*W_4uLY!(%Z_&##;a~4|ziv zms9stEYlFHNU-O01b|U1^WPc6c;oCr4!|5vrts_k%pz}8Q?8TLF${*y)mFM)TtuAD z3A!}J$8WSznkvXgOP;0^!A>$A5(TX)n@vN|@X&Yf7Vmml6EKkgWO_D=b~$&*8xrbL zoKf>i6;`ZZkxwC*Btzk`xc*>+Xms5LX=!V%N`)lS|2w&=L<|!`lia}t4p@oV;y}ZD z^i|<-iujUz*+xKr`#)Yl5lNqwR6`#&U$vQt#_Ftm>{moa;s|@H>Dx#(wb>eaZ9P3q zXG|ribaDZFdV~5V1(<^%7H>QrG!-B+!2CT|l9(W$G>X|m%k$qegmdWuh(#ht@f3S6 z^Fwclqu^Vcg1&exB(E}{AX5`5(beV@^5Tw}3&t6`6e)xVz*9JlhX5*d3IMxyDXHX&^4NH?U^;ANu-`hmB41S!l9uR(Ce5px&fde z_Rr?Sjh z!<4hbh3-#|fzXC=S*8-+oa8-rd@bXL?fvPEqdzk1;EbBuONv;vvivNS`OEdJtv1t~>%L4^Ef+`d%4p)&KtC_zB+LUV1mLlqEYi*}Au!2Cs-$VzGK( ztNpWUnwJ$w&A|m~7A3G3u}g9w`!}&ZIN1y{Hn1F)b^ABo{s-S;5wdHZazt((_7Di=fnMGp0tAei52723BUloX`c{K&ico6OVA}f6xB_)v{30)6##_PRVrK z0{Cb+46720%Z5$mc=cQ{+X?>;)tZ+BtICG)tft1c4))8@)agbMgO#ktrh)}^3n)h& zZN}MVrkAraukHuF3(TuD%eEr`vSKF_o zNGMRIj5{Uf&#yy4GgfN6X6oCuREt2685cm8ecuiOVQMD5p*X=tmEqHSD|uzZhedM}b#Bqp z%cr_uelS>uN)7fgN0wcr8zYr@efgV0?Cj)U%4`VKDfAucV4yodINv(|mEO#bLbE~^hDJ2%R_I{ZVv#_)b1+6owra$DT)brM)Iqt?vf7CD45EI@ z7pV$B5c>Act!>1wEQXpPQo_hnyuOmpE}z5@3jIYYK`FMB<*Bov>)p~jZ2y2{4>Xi8 zuafxIZ}eP8VP}WS6+I8HJRuuIJG?-D6D8>PR`of;;y<1Fe*r=2FC4yW~*Tw>|FcG)Hxs zr%}*RaZvM)%;rYUHjm@DWu5ZC2Yg+7Z~YpZa42=w64XMm?qJK(F0NZq2`<67DiNF7I81Su}OrFT4$CjdAxWDV%ISr2Xd&H@RP zcNL@8YTtM$ax5#wsPWD%XQLjg?mSc`S7Gz^C&M6Q0`IZTLnODVTSU(G``aui52CQ<;U(Xd=UD~Tj|{)!P)kVNth(R==A zGh=De6ua0f(*fI z5ILrB(9xM&n?KWS4O!KlERzW#dbkc)eKpknE)#n_kRNRvhwLfnB0OHp z))O^7cafG7<6i~A#QUjDPjQ9w)&vN59tCk5{2_1lIiErEO~=>u-rJgSU)(3ohj1)DXRs5WBP}UMFou`{eBX~- ze=Un;ok?cM9z&~`XmH%z?@o%3fA}s9?P7i!KCfWeSrlrvT^^_aKoq&*}&v{uk+lu>_u`*7!lB~EjCD6>Dd*aiVRmZ9_ z?KSEqa(t>6Y(XzwjibPR)gTiCMO**7~uahAn&uyXo(GSzWMUQ z&{^`|V*i`Xg+P>Bjl@6+gTmFo6BupFvnPk9fj(2)SOjyUAoRC?9Ws0I_`wN@a6*#z zWY}1ff=#Qv(ge&tp~>?NYI~|RcQJI_+?B=50p5wPN&94wuvLtIp%jA&$|ew-&z?&{ zBMi|$PlMQZPJf>-ZP~}iZ2foFRfWHK139LDh7pJe>c)o;5UL&xK1kPmlZNzY^YjH8 zqwZ1y6Dt^ge)XuV3~y8``h29eU{eU`mZ-%thLZK8{?TtcJ>S=NdN^g)tPM}S2eqZP zl(F^j5=A4$OM%-Y*J#G-&>`#vyB`UJl;WgRUP;hmk}RkQviJH2{rAf0J^A2K#VG7{ z=7~7`Qv6K`2 zJo&rtTu2T^n`(d(o;Y8(?uh&knbgT_C*4Yp~gq+U&U3Z>uzhucu zjM6iulN6=N^cTgY99CYn0?qFK554i5AXj@Vs7_$!ys&B-l2t{jZDS~1wGNxtqn^~s z2gPfErz~9g%0cYBeNv-Y*5popt{K0k{PV~ysB9hjxKNJMf;)o7iUbwY!f3(zp5KfO zDjFFHh1(9sk0FZ_QVB5n?Z>B&#M)xf1+b(#EgP-mO=`~1iHA_+`Qk?^Li$4F>NzId7{Wl_N5wMwt)jSm^Ib}`YHoT$ zO->3LTlw&Ee%X*^>4h*yrva!3Y_Xt>y zm==B~kv&lda2Mo*Q?Z$$80f`jxP_XzASNtrC*YfBOEiy!!<6&(CEPOH$vcPFaGxQ_ zv}6~_j=}6_QK@d+cZDA$J7t$V|3)=wz}n+9#Y>_C73o4^^YF~?6F{Y(LDrAXv0Tac zeg)L}reR_6LCc5OFi!T21jQfcz)*O~2)96iNtu9lp^0Pqvr3Thw6)lwoOWV|ao4TO z#2ZcS0EJL;vb@x`<(@6x;!ZifkRVR4l+H;}iZp3+0|Y0H+RxYxnhXH@@V8YKuoMAo zZ)~W9jj^CHmx^dBmO?xTb^ev-RGml!!(h^I9yW(oBdyWfNyf}Pznm-+ss2jyyvoYd)( zQVt0R8DU{dc_fa)W^uIxSw)DoZ$1o8PG3Uz>1MUcXU20SL>Ewv2&Pt{qNGJ--^t6$ z%DX!UP54{k;SLxS0)VIXM{1gFDbB!<#tv+V?M>h|>oEwDVvWeX-7 zZG9~oGioj~W|M8caYivEg>*%!U;gMm~cu z8V57DX%05YT2qIyV<0vJXc*=s9i_{_Kt=_@2o0LXD7>lAx=Ug!E5)>TLM}t5{o@M+ zQJMz2Vqq`IN)p;7@bJ63zVwArk^>9quWg9J{~qjDdPgxT_w{$XQwl|st%0H8->@M~ z%n@v{{MmB6uO0U1Xq;(3S&$Z#sAvx-}hb;DZnMkWkxc^Xx{%KEH` zf<+LsL!C457^w3@>-P_;+WD6FBF2P>a6>N)YJL8Gum6z^ zdlfYqnKEOq%uLKk<6LE5n4V;lL|&UT7DHw|32HWF(fuiGwW#M&Oi?b^x6tpzUbFLN{=OLTC790HbHuifkHO}JZ zSC%clI1ZH#G}iYOWtA~Jr(<1RN)5R+@hxT99+FlwLY!~NG#Xy3QK9_*>I6R#P=N1W zj6V8OJ0gmYO_O4yj9roXb(N&2;f9VR(yy^1sdefUD=Y<5W$4~BeCZqX7^8#|cslj3 zqh)AKa(?utV1K~0T!P`Ebw6R1fCXBYmX18$ zr6usO>V8U=EFQ+-)ol&_`NSE|AYNU4nXC5czgHIytmXA+9t6iysr$Q98!mK`W3l9? z$0q7XiJMUFEBFO*^Ydg(NsPu2+3G_l1N5U%;*y%X><`K_NxnAN$eiyV5Gg9(bo@^G zA>6UD_iM?8?llkH-v6uWyrY^5y0wpjfFgo`6hVs8yY!BLh;#+%CG=jUw;)~V(mNte zI?@Rx^xgz1(u;IRD4~Reuz4KdBsOkV$=GbZ~|+@9L8= zB#i5r^cI>t2M2RK1c+)?G56!`1r3Czm3_|u!!NFHr$oIWDFrd3+~4mI2@jQYly3;L zD*(ahzgGs4LE8N-ZikN{X^Ro_7jMh7DQG!H`NON;vHMnM5Yu@|ZbWRBebD@>)&Q{K zr#ghxQ4sb`rxQ`(Ec)HnqbpQ)_MsJ%vCOi`QPcM>z=h)71q;XQ*@glekhEj1n(8y) z3@~i+E(~alGOKjK<-RfmfdZV}9=xYOW*LON>y;*<>3>gpU0gU-%(^v{VuScZFDL|v zw0^CQXjUY zcxEPtY7q550ir4iPD`rTx^_Mia)0N-i+p1Dkaf;dCSNkqOvZ;XZcr*#p4V-D9&Nes zO3})ox=5h&d+6_Po`19=eN5ZWveGhrnGf;G)huXCmtrMVEs=(bloCZM1oo~K=_NGT zkJT**1vvtkRRV$_QfcW_ZMh=1Ok$&h@;5nxl}{o)g-?rgOz5`lpM?4_N4ovkW27~L z0`ZEA%&wM7jcy1pJ;#q!y$r z8G>vzyPy5@{f$qkZ1>zh1IlNu+IALB zdtLp|CcC_=E$4qXFeBT46D6kxWe}^bGN;q^lQKSo->+}xp)`v3adDRA$2<`X7a?*cb-b5{qP(*hEOVU)0)&(0Ts$rr3^b9qBy4O%N^XbAer!vMuFZzDf>BTEEC_ra>W<%vgP`K zvAh&pY=fPvz|Lwq9suIz$BL8$wC>)j_rBCyiW66VajdIEEL&})zn9m#HFkEkaeCag z!Ygb5S~C+3%k$I-h;jPFfF#Jr&UvJZo~`$&+^mO@ObPHzO}46vKJqfs1nI|6CM*a0 z@ApK|eAdM2GTv|i(&URiBX=@yO3XX&7R^8Ve0ldA8?EPY3ps_;TN1-=7TRGqJ2E@x zkVD6hrBzu8t$O4EM%%8skgYM35Wn?m+#9u_{Q7nA;TJigw&Te^rzJI(DMq4bK<~<; z^jgqDfeV~_mQa#bXz^(efYLtX&c099W}Z zED5fldD<8imMh!9etx~^Og#5PFAT80+x^`U1{ma4iR@gh29O92bUh~8xQUz#@!r-r z3Kt4e%;FzC14BWVe??_bnb%j%HdQlh}U4mI1;w2~|R6 zw0LBxYUW63SR`eV-aDA|n3R#FF4`_wI!-ewDJ->LwCeKd`e~^|AB1pLRgD3BB5p8O zV14iPse*o>w12&6NyDV&!kj;Kbe&7j>nZdTNgcC`n5?fXfzQp4= zyI<0BNqz5&(77b*%Uu($RwYtMHJt(S}k6xl3vFyP| zClk2m6AUMcB9Vk9`Lu7H@;hmbQGUXAviv~+WNx%tUrEUIDypZriR9c`>Cc@W1o7D4 zO)g|*uZ#(edqeh!DUQoGhq=2F8rb3Ev+Jx>&uwj}?^s`be#yO2T&0Oso&1TicXf7r zVI@a#@G;hc`^1%BMzyFv!;4&%&$Z6}hr>kc?75%OOk>4zNoAY(-Ud6^lE1 zgliWL#pZ!!rNNuNu8!wrrFjJ_s~(dpN(s;W_WSGSUfrY-FfejlSGfj7rGb1g#U#Oh z!*VqOJUk9(@{xZoU{Wu1PKKx__{%btNw8>lo3O;O>MFF#FqVfrF!2|$hf^zXAa%clk zFYK17`mDO6WN+D^3rxdLa2PbSiOYi_Ez$M@_%=GpQhr)ndYrB^BCGi@biNx4>ZD_Z1G4vht4 z+l=FLdV14xi_Sht-ZAr5?i{{sH=Svrt$7k78z{WiEjD0mh(_ z@W9=G7**9^RC6%2vs2^wu{7Lo{!e{P`*jb1nBj)*cEE4Ku&2Qg@bSQAbLY8HK9*bX zWi+5P1pp5yK#KxtX*r4akpdqtHp-%Apk{9f!02?D8^p|HlKrVs@YV4e8eKEfDup^a zUqiyKhAsRyuTQ!3s(+UnO-DB{)CuJUU);qt>r7;2K9{oZiHp0CjxGX}nD%1hh0Yey zOBCrY_XHmd-6*By#Wzjg^$~fs``F;z+p5y3%3<_EFM0e!vHdCoLK(cjI}=j9Rn2S} zJN}Nyk4QfG8x+P?PV{C$p9&VuS9SCF6`uLBFj|8){GaN&(yn#^U5 z_w(9{>W2c)zoai6duNqcnFkz1=s{0@`JgvOWsh?@gHVN2mn6`Of;L!ZOv%jQyeoQx z0mFBTSw}dRnu3wsg7PVUX*%+x+|f$1{+scV6X+Q1PJYMb;^ErOT=OUp*eoo#G@o&^ z2@j3o_McNtWdGfl8a*3L=M_9Y%UboD|HlylZ^Y!++rEC9)b#CE3i($X;c@o&bZ`x` z0LNnBXe@RXYG4F{dsDrEEZR4h(wN*?aO~lKE?Lm0V2;xTez{X^K;7}cxyQLW)1Sh` zd1*Sg;WJr-|J&Aw!by^vA6%}KLEE?8pD5LH2VS|E3bIc;3??cNN`%NGK8;>KNj*FtCEMzVjTn+T6rxU(Nt%opF0XFvP!=7Z;xylB7f0vg4Jk5#C zCpBAmvwf+$ z&B)~xu()DI4migl*o|OJA$e)M?BzmXK5BgJngJ6PtT>V^#JvB?MxIWYyh+me1tSvB zk@Et1?EP=dyK}npnALD1LpvE+@1q~mef=@%!->}seDu;DJ55xkzF#EV_NJysMh+xb zPpQWNBuqD=Q;_nv1&CZ<;X(YRK58u5){W!5gm)0&=>H%)a3pC4)%=XO`u~15hDt^6ZnR zpZbff{Smw$9&?NN*=h$z^Hd(cKl$#;WP$`U8kYQ(xYu zHvrx?$O{rEsdr}VZ`A*L$sA_nV_qP0-tN7zInr7hKNzNcjGoGMmG;?(5I?hG^*{Nu zn->Hyj(Ck*?1*Mc!{jWSVkJo8e%P1^NG*O2FG@{`pfd%Z9&IH^I|y$qtzOO@W~Bm1 zrt2Vhz}0q)9{9S0;c^C3&?`~I8Q*+W=! zhbtrMSNtzqcj0Yt(=1gz-TAZxZrQUvqx~urL(7#V^!j{`(jT!WK)eX}xY{9U*RHeI z(BqR+tKb_1pr-CZ$)K|HF^iyJ+#MSJV2RvEzX6IGL)nOGhMw)ZrPs>$XrIBbJI4nW zahp!ev?|+3eX-XnWuwN{0@2TnO5WKr3$qY8>)F_`BLI)%<9_=hKB_stIqyW+$GyB4 zvsUhOe75$Ry#HSp;3?@ze=8(hrth_{IB+1-(7(z`Z?TuosYzo0j%)-mW%9sd4WP(A z>;x+ToOQ}9x{;ihK)f;CakZ-OAd0ebI}TyKBH}y4sNjG7T6h?lOWTDM&;kouH}A7=r`)b#udq=1yr~fB-et3Idn~{$`}xaNhnvY@xS>3` z|AFpx_)`yq4N8ZL1a+ly&ieJwtegU#S?UxkPo`$fr={g6QmTu~s|zW#>tmk(KW^bQ z6pY!TJw$}NB-1BH$=Uh;c=4gSW_f73vTdp{zDkZXDR4`LpahS#?_FwW;=t!r4hzxglCgGof-3e=W`XBz>;P2)0G3?WQ6paL<;dkCVn(GX~l3Y$WHOKvZ(A#*)s$y!B zh?D%6_57~iE#45$ozT`{qQ4e*)mR@TDi1Wh{(96{{!v56tG;Z!no^PI5@|NY+;6J? z9fH~oK0r@A``mr~q21MNdoHt6R6ln3HZG>_Fl|RXOM$)O?74l2Y#@p@_C04)F4GZC{@j6~gnDGMnnnqeR7e_w))xgq@<_fx;uf{7gx6V43HVlEGl zVQ{Q}FJb8QX2_PB!G~s&4EP$TN6!i1EuoRSSPjhs?tt^1HTY@=Hbc1gXH<}oRypSu zurEP@p4|EbqscP@j>5Z6kx>kopRKEb7Z;9+-fOo=K0Q6hH>7<6Eft5)6pcyo?w~KT z*X}|%%a!Y00{asi%^vJ)c_GP2RQ2`BY|MkI4XOyeiGZn64_r-67 z+Jt|`EVoobE~l}9=j4+3!;j48y-e{#N0QkW@dW3pYUU@X*&^;{{t)ub`sPj$=B(va zroeHG`*d#QcB(&3ICfS&+1lW3R_#`Uyk+EycfF&;8&bSeMgS3*`zps&3=*N)4HR)y z!Lj9DVDGfcxTP1T=d`~NsMEpxb%qy&p^Su^Z^xeBE4BJ;KW$d|jCjRV{`u{~tNvAC z<%u}aiS$@}ED1cUwhrG#zq)8b=*GWy92z}x`qth~DNz_dAGQns!zviB=Kb4ypiftOn$iA7 zt_OzOEI>cj14Y4_Xy>)T=l@KYzgcNuI92 z+)2;!`Rg(w@I0OT)q3y!8vJoH^~lEWoCpO1jvvfxzn3n&ak+ROKn|Y&>z99BqkP(# zA47g$JYNg1G=E@+%|rHR)#aPu8vh5yo{uUIYG+=d%tTUCI`vd3(k=K(EsXmgx5cvB zilpe=aUiuaobgOQ6u$nnTTwq>1D%Et_RNa4{c%~W)-isfBYc194-fP_KS3}SyBTDO zs@9fwsA3tCQ_H{^j(r~vpFafeRp_vUTYU*zUe`_raH4R zb2=?qGNM6a4%r?1w)Aec=aX7ckI)rWdJmcbspA)S6w*tBnSpE13ss`KA=4C%c@#vX zAu2}RrY5t(F15m(Pb}De*T4;O2gT%kwV5&ccV^ta`lcr%|D@b?ID@bCfJ@VRc6U%J z!mYTY%QX8t9&!OBG=Mu%E{2SAd({lO)+KQlH4>bY+cB&1%f!{}GP_QM?h&44s$>Z~ zO2|;i2s9~XCKPgs>sWOf;}5)@btJ6~T0_nW=;K1F4liuDa>XhpcG~>xl2=bBcWDQB zrSz2#b9@Nm@U+P=*YB@4Zf-h*QJ2m$4c1?K*~~J<26%sbA-a*SV>o*0>%no9XC)>Do#^G)zl#eAE_KD_^bI!ff$7q+?2dh3)CsMC)Y);U8CAU&j1`|=-Z zy3gA7>VTfB4lI)}8htdWH5(i6sp!0C>7w~^2Yf~E$Mkrq8}DlJm`J{qtweLmH=sq1 zUJ6>K#6bz-6q7o7rF8tXtk#Gq+h@3~IA{622O(8T?1Mymz4>g2%Q{zFOw8=|wvI_y zeP%C7jp#|(v%rdvy1H6ik5L;fw_~GjSCoNA4djv)J(e-*DjTCD4Px)Y45RK)HLcFJ ztx$fj%hPlEDiFD*ymnEhut37fozw7P-fKA6cY;TM#O&=0)myH+UeXvXGP|X}D`9J< zu2iw&ms7Ic8NKEenji=M$b6fzjTc{Kb_N#j36Np-G!S3AWP4dG<5~8Z3Gavc;!B+? zfR^7K>;sP4rPbt7Fe#GWRz8&zW&<>D zUx?*`R~6|rY91})huk>krtVe@gK0GV{>~$PzEb!y__r3~s~G)U*1g$%Jh{NtsXr%= zN2i_)ZKZvG8GKYiX`;~=aos{Dq8*C)Nfjnq)yBV{xTddN$_`l?e1gCFWU-r<~o2flko5<8i5Iq=l7_pWg)(1TNFvtugJK`hlOT7u3nP zC@y+o(mzmO-uW$fec6;KQcHiJYQK4Dyt;a_yxyVlfil8m9`)hPuf}7WdTFDoltlOY zZ;}!jKbPK%_h7#BOIvD*U!9 zsQVa`sZcr>H}0V(d*m%i4IFIqrtsxQ9P(4YSOcX*8B}Sh#C|)O5fmSm3uV-hU%MI; z^|t)iBDuhj6I@Y8OgJqzW)kjI*yi|%$?oY=h~R?Px2%ym_7Qo)FLMmCp0|OD#it&g z9UsW#9!63;sLYijQ{{8HbePXH$NAcH2B9Q=y|W|y{b*{k{dSC*YJ=$d*oB}_dnaPR zw4&t>?U~HU?N-BkU*gCaRdHqbR%S8q=On)Z4LA<8e94@~g^vM*opW=0#gMOHeUIUlD&okV5wo0A+~WQD-uT!4+B7vD3MSlF zw{@{KPkHL3U}bvlN1cCyT-H3Jkj?ijrl|!HK`Xz*XkHQDAmrhRn+M(0o^HqYzLTcd zM(J6OXtFjqnMSLS;<=NB>bxcGOaC;2XJQMq^h2^Y@Ii&sXs_DxF&+1 zq!${sqU+dGdt5V3)Y_;zQ6uBTk%ZB=S%YOhX+aWldln?mmOaK?_oDpu!rVq1WE~@1rzGrhHX7v{W#m`h>D=i;Rx?0S?PYr*vlR;n55iMK+n@@514?pHkL8(^ya z?^W5?f4MR}7EW;xBw%aHn%ZV7Zu|-m!@2;gI-v-BvQg zu#)*u0<{{niz(-_pT;u4^K$X|WMfjdL=I#KkG^G+-_RCEj*zl&8uHFM%{KO)35{ro zU$~q*%2>&hB6X*m@7cJ@fBqX7y8V8%d=R5mF3)CE@p3);Wn_0*n1bt>RIf-*fugNb z?B?v`xNtbHaNtoh89Dd*wmc#K@WR)(K7=bNT%XHGc;=uMq>6iK^}&AvzxJZ8)6fW7 zew^&4J5>CWb#%72Jup^K#uc&O%Pt4vJx-{TXwEl(fW z^!GRAZ}?HsRfG*mV~ghf7QE|^A=SrS)MK|F+QJ$KqP5kmWT(PSz2a=l&;}`A(Bu-~ zT7)t8NoAh*zz*=k>DVO#cV2LcZBd6ZHZ+Mcp2bdhHcBW!f8Fp_7PfCHvJC`HHvaQ?z}9U8m^3XXM{ob6DoN%m69=PqwbA^DhCN*e@j8y>lKfL+-*N zQPptu`6l^jDZX`Y<8A$`Ay%3eO&da$kAY*BO$9Nz#xmANeO<=$B+g6C>oDPC{spPY zh_1y^JdUh^3bi$+K9Gtt$|2ze&>g(8FS>B)(!-y5{!Oa^W)$CJ( zf5FtRxE>7DbEj)vhxZ2Y>1q5z{HK@Xq*%UPmE=SPDZTH0-)qKHc)CNG%ox)$|2l_@ zrIvSENeK}|lJuVH=@yxVw{)B1*-~d_nWXQL%QAgUsTzcFdA9A?rfuc70ttLkxj-(- zi)Zh3$aW5FM^ZA;(R_}X0BL*EdAJ1YNBX_jZFwFuOl$Yja7k#~o51j8)DwxVuD1=( znru5PQ*+Ayck~)w+MgBO+T(I3=sd{SXa(wBZ|<|&XQiJ1(huPyy;t_fKKdEA7f z?TKRd-i5oAGM;*}Dp<7(@1-|66SWb*rTB=t`=}@P23*P?TA9u_uIErHifg)t=l62* z_x1cN=X~{U&Uvey=D`bg{(wZ}*!`dIqX*f||Kf!IJmB(yqVH&XnW%f0rKV&|_);h2 z_P;0>g-5@wmLq-AdiUb4#p3|$@`u_4rHSDLXeg3S-rM7mxmwsR>h7FUGB@E9D%}&A zP9uUyGuEFJbNbI%wJm;_&4b7uvqz$NX6&2cAAE5>E+hcscBAA2I}~-EQC1E zcOOKT_t?I&3hNn2E0;jjy3e&N*heww(a1i@;j<5@cPdLhHGt8_AuX@D2Xlb!f%%@N zhkqV2V@7Eck>fVjeV-1^EeB&8Hh9MpZ=Y+OdFH@h#Q&Ov50B7>lYGHRF?` / `

` accordion pattern is correct for this use case. Visual refinements: + +``` +▶ Missing error handling · equinox [view →] + packages/web/src/components/Dashboard.tsx + ┊ "Consider wrapping this fetch() call in a try/catch..." + + [Ask Agent to Fix] +``` + +- Chevron: `▶` rotates to `▼` on open — use `transition-transform` (current `group-open:rotate-90` — correct) +- `c.path` in monospace, `--text-muted`, 10px +- Comment body: left-border (`2px solid --border-default`), `pl-3`, `--text-secondary` — current implementation correct +- "Ask Agent to Fix" button states: + +| State | Background | Text | +|-------|-----------|------| +| Default | `--accent` (`#5B7EF8`) | white | +| Sending... | `--accent` at 70% opacity, disabled | white | +| Sent! (3s) | `--status-ready` (`#22C55E`) | white | +| Failed (3s) | `--status-error` (`#EF4444`) | white | + +*Current implementation uses `--color-accent-blue`, `--color-accent-green`, `--color-accent-red` for these states — semantically correct, will just need color token update.* + +**Card border-radius**: Current is `rounded-lg` (8px). This matches the brief's `--radius-8` for panels — correct for a card of this complexity. + +--- + +### Terminal Panel + +The terminal is rendered via `DirectTerminal.tsx` (xterm.js + WebSocket). Design refinements: + +**Terminal chrome (the top bar):** + +Current: +``` +[● green] ao-58 Connected XDA [fullscreen] +``` + +Recommended additions: +``` +[● green] ao-58 Connected [XDA] ──────────── [↕ fullscreen] +``` + +- Connection status dot: green/red/amber pulsing — current correct, uses CSS classes from design token colors +- Session ID: `--font-mono`, `--text-muted`, `12px` — current correct +- Status text: uppercase, `tracking-wide`, semantic color — current correct +- XDA badge: keep as-is, explains the clipboard feature (useful for power users) +- Divider: `flex: 1` spacer pushing fullscreen button to the right — better than `ml-auto` +- Fullscreen button: `↕` icon (Lucide `Maximize2` / `Minimize2`) instead of text label. Or text is fine — don't over-engineer. + +**Terminal area:** + +Current xterm.js config: +```typescript +{ + background: "#000000", // pure black + foreground: "#ffffff", + cursor: "#ffffff", + fontSize: 14, + fontFamily: 'Menlo, Monaco, "Courier New", monospace' +} +``` + +Recommended: +```typescript +{ + background: "#0A0A0F", // slightly off-black, matches brief's terminal bg + foreground: "#D4D4D8", // warmer white (VS Code-style) + cursor: "#5B7EF8", // brand blue distinguishes cursor from content + cursorAccent: "#0A0A0F", + selection: "rgba(91, 126, 248, 0.3)", + fontSize: 13, // 13px recommended (current 14px is fine too) + fontFamily: '"JetBrains Mono", "SF Mono", Menlo, Monaco, monospace' +} +``` + +*The pure black `#000000` is jarring against the dark surface background when the terminal doesn't fill the frame. `#0A0A0F` is less stark and harmonizes.* + +**Height:** +- Normal: `600px` (current) — fine for most viewports +- Fullscreen: `calc(100vh - 40px)` (current, height minus chrome bar) — correct +- **Consideration**: `600px` fixed height means on a 768px laptop, terminal is cut short and page still scrolls. Consider `max(400px, calc(100vh - 360px))` to fill remaining viewport. On 900px viewport with no PR: terminal gets ~760px. With PR: terminal gets ~400px. Both reasonable. + +--- + +## Page States + +| State | Behavior | +|-------|---------| +| Loading | Full-screen centered spinner: `text-sm text-[--text-muted] "Loading session..."`. No skeleton — the terminal itself will show connecting state | +| Error / 404 | Full-screen centered red error text. Add link back to dashboard | +| No PR | PR Card section hidden entirely. Terminal moves up. | +| PR merged | PR Card shows with purple "Merged" badge. Terminal still usable. | +| Session exited | Activity badge: `● Exited` (red). Terminal shows last output (disconnected state). Restore button visible | +| Fullscreen | Nav and header hidden (`position: fixed; inset: 0`). Only terminal. `?fullscreen=true` in URL | + +--- + +## Current Implementation Audit + +### What's already correct + +- Nav bar structure and back link ✅ +- Activity badge with color-mix backgrounds ✅ +- Meta chips (project, PR #, branch, issue) ✅ +- Relative timestamps (`relativeTime()` helper) ✅ +- PR title + diff stats line ✅ +- IssuesList with semantic icons ✅ +- CI check list with expanded/inline layout modes ✅ +- `
` accordion for unresolved comments ✅ +- "Ask Agent to Fix" with sending/sent/error states ✅ +- XDA terminal clipboard support ✅ +- Fullscreen mode with URL sync ✅ +- 5-second polling for session updates ✅ + +### Design deltas (priority order) + +| Priority | Change | File | Notes | +|----------|--------|------|-------| +| 1 | Breadcrumb in nav: `← Agent Orchestrator / ao-58` | `SessionDetail.tsx` | Orientation | +| 2 | Activity indicator: CSS dot instead of emoji | `SessionDetail.tsx` — `activityLabel` map | Visual precision | +| 3 | "Ready to merge" → banner card instead of text line | `SessionDetail.tsx` — `PRCard` | Primary action prominence | +| 4 | Terminal theme: `#0A0A0F` bg, `#5B7EF8` cursor, JetBrains Mono | `DirectTerminal.tsx` | Terminal quality | +| 5 | Terminal height: dynamic `calc(100vh - Npx)` instead of fixed `600px` | `DirectTerminal.tsx` | Viewport utilization | +| 6 | Meta chip border-radius: `4px` instead of `rounded-md` (6px) | `SessionDetail.tsx` | Token consistency | +| 7 | Color tokens: update to recommended palette when `globals.css` is updated | All | Follows main dashboard token migration | + +--- + +*Companion document to `design-brief.md`. Same token system, same typography, same component style.* +*Compiled February 2026.* diff --git a/docs/design/token-reference.css b/docs/design/token-reference.css new file mode 100644 index 000000000..585cec903 --- /dev/null +++ b/docs/design/token-reference.css @@ -0,0 +1,270 @@ +/** + * ao Dashboard — Design Token Reference + * Drop-in replacement for packages/web/src/app/globals.css @theme block. + * + * Research basis: + * - Linear.app CSS: Playwright-extracted ground-truth values (body bg, panel bg, + * accent, status colors, type scale, radius, transitions) + * - WandB, Supabase, LangSmith: text/HTML analysis + * - Design direction: blue-cast dark, closer to LangSmith/Linear than GitHub + * + * Usage: + * Replace the @theme block in packages/web/src/app/globals.css with this file's + * @theme block, and update font-family in body{} to use Inter Variable. + * + * Font setup (in layout.tsx): + * import { Inter } from "next/font/google"; + * import { JetBrains_Mono } from "next/font/google"; + * const inter = Inter({ subsets: ["latin"], variable: "--font-sans" }); + * const mono = JetBrains_Mono({ subsets: ["latin"], variable: "--font-mono" }); + * // Apply: + */ + +@import "tailwindcss"; + +@theme { + /* ── Base surfaces (background stepping, no shadows in dark mode) ── */ + --color-bg-base: #0C0C11; /* Page / app background. L≈5%. near-pure black, blue cast */ + --color-bg-surface: #141419; /* Card backgrounds, nav bar, status strip. L≈8% */ + --color-bg-elevated: #1C1C25; /* Hover states, terminal chrome, dropdowns. L≈12% */ + --color-bg-subtle: #23232F; /* Input backgrounds, inline code, kbd. L≈15% */ + + /* Legacy aliases — keep for backward compat with existing components */ + --color-bg-primary: var(--color-bg-base); + --color-bg-secondary: var(--color-bg-surface); + --color-bg-tertiary: var(--color-bg-elevated); + + /* ── Borders ─────────────────────────────────────────────────────── */ + --color-border-subtle: #22222E; /* Lowest-visibility borders */ + --color-border-default: #2E2E3E; /* Standard card borders */ + --color-border-strong: #3E3E52; /* Focus rings, active borders, emphasis */ + + /* Legacy alias */ + --color-border-muted: var(--color-border-subtle); + --color-border-emphasis: var(--color-border-strong); + + /* ── Text hierarchy (4-tier, modeled on Linear's verified system) ─ */ + --color-text-primary: #EEEEF5; /* Main content, titles, session names */ + --color-text-secondary: #8888A6; /* Metadata, timestamps, labels */ + --color-text-tertiary: #50506A; /* Disabled, de-emphasized */ + --color-text-muted: #50506A; /* Alias for tertiary */ + --color-text-inverse: #0C0C11; /* Text on solid colored buttons */ + + /* ── Interactive accent ──────────────────────────────────────────── */ + /* Derived from Linear #4EA7FC blue + #7070FF brand — split at blue-indigo */ + --color-accent: #5B7EF8; /* Links, focus rings, active nav, working state */ + --color-accent-hover: #7B9CFB; /* Hover state */ + --color-accent-subtle: rgba(91, 126, 248, 0.12); /* Highlight backgrounds */ + + /* Aliases used in current components */ + --color-accent-blue: var(--color-accent); + + /* ── Status colors — semantic only, never decorative ────────────── */ + /* Verified against Linear's palette: green #27A644, red #EB5757, etc. */ + /* ao uses higher-saturation equivalents for better dark-bg contrast. */ + --color-status-working: #5B7EF8; /* Agent actively running — animated pulse */ + --color-status-ready: #22C55E; /* Merge-ready / success — highest priority */ + --color-status-attention: #F59E0B; /* Blocked, CI failing, review needed */ + --color-status-idle: #6B6B8A; /* Agent idle / paused — low visual weight */ + --color-status-done: #3E3E54; /* Complete — visually recedes */ + --color-status-error: #EF4444; /* Crash, hard failure — urgent */ + + /* Semantic aliases for components */ + --color-accent-green: var(--color-status-ready); + --color-accent-yellow: var(--color-status-attention); + --color-accent-orange: #d18616; /* review zone (between yellow and red) */ + --color-accent-red: var(--color-status-error); + --color-accent-violet: #a371f7; /* Orchestrator identity / merged PR state */ + --color-accent-purple: #bc8cff; /* Additional purple variant */ + + /* ── Typography ──────────────────────────────────────────────────── */ + /* Set via next/font/google CSS variables in layout.tsx */ + --font-sans: "Inter Variable", "SF Pro Display", -apple-system, system-ui, sans-serif; + --font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Consolas", monospace; + /* Premium upgrade: replace JetBrains Mono with "Berkeley Mono" (paid license) */ + /* Linear uses "Berkeley Mono" — verified via Playwright CSS extraction */ + + /* ── Type scale (derived from Linear's verified CSS token system) ─ */ + --text-tiny: 0.625rem; /* 10px — zone headers (uppercase + 0.10em tracking) */ + --text-micro: 0.75rem; /* 12px — timestamps, secondary metadata (mono) */ + --text-mini: 0.8125rem; /* 13px — status badges, card metadata rows */ + --text-small: 0.875rem; /* 14px — card titles, primary labels */ + --text-regular: 0.9375rem; /* 15px — body copy within panels */ + --text-large: 1.0625rem; /* 17px — section headings, zone names */ + + /* ── Spacing / border-radius (Linear's verified --radius-* values) ─ */ + --radius-4: 4px; /* Inputs, small badges, meta chips */ + --radius-6: 6px; /* Buttons, session cards */ + --radius-8: 8px; /* Modals, PR card, larger panels */ + --radius-12: 12px; /* Larger surfaces */ + --radius-16: 16px; /* Overlays, fullscreen elements */ + + /* ── Transitions (Linear's verified --speed-* values) ───────────── */ + --transition-quick: 0.1s; /* Hover states */ + --transition-regular: 0.25s; /* State changes (bg, border, color) */ + + /* ── Scrollbar ───────────────────────────────────────────────────── */ + /* Based on Linear's verified scrollbar token values */ + --scrollbar-width: 6px; + --scrollbar-color-default: rgba(255, 255, 255, 0.10); + --scrollbar-color-hover: rgba(255, 255, 255, 0.20); + --scrollbar-color-active: rgba(255, 255, 255, 0.40); +} + +/* ── Base styles ─────────────────────────────────────────────────────── */ + +body { + font-family: var(--font-sans); + background: var(--color-bg-base); + color: var(--color-text-primary); + min-height: 100vh; + /* Verified from Linear: negative letter-spacing at most sizes */ + letter-spacing: -0.011em; +} + +a { + color: var(--color-accent); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +/* ── Scrollbar styling ───────────────────────────────────────────────── */ +/* Verified from Linear's CSS: thin, barely visible at rest */ + +::-webkit-scrollbar { + width: var(--scrollbar-width); + height: var(--scrollbar-width); +} +::-webkit-scrollbar-track { + background: transparent; +} +::-webkit-scrollbar-thumb { + background: var(--scrollbar-color-default); + border-radius: 3px; +} +::-webkit-scrollbar-thumb:hover { + background: var(--scrollbar-color-hover); +} +::-webkit-scrollbar-thumb:active { + background: var(--scrollbar-color-active); +} + +/* Firefox */ +* { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-color-default) transparent; +} + +/* ── Animations ──────────────────────────────────────────────────────── */ + +/* Working state: ring pulse on the activity dot — the ONLY continuous animation */ +@keyframes activity-pulse { + 0%, 100% { box-shadow: 0 0 0 0 rgba(91, 126, 248, 0.4); } + 50% { box-shadow: 0 0 0 4px rgba(91, 126, 248, 0); } +} + +/* CI pending spinner */ +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +/* Generic opacity pulse (for loading/connecting states) */ +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.4; } +} + +/* Card entrance — used when new session appears */ +@keyframes slide-in { + from { opacity: 0; transform: translateY(4px); } + to { opacity: 1; transform: translateY(0); } +} + +/* ── Utility classes ─────────────────────────────────────────────────── */ + +/* Activity dot — 8×8px CSS circle, replaces Unicode emoji */ +.activity-dot { + width: 8px; + height: 8px; + border-radius: 50%; + flex-shrink: 0; +} +.activity-dot--working { background: var(--color-status-working); animation: activity-pulse 2s ease-in-out infinite; } +.activity-dot--ready { background: var(--color-status-ready); } +.activity-dot--attention { background: var(--color-status-attention); } +.activity-dot--idle { background: var(--color-status-idle); } +.activity-dot--error { background: var(--color-status-error); } +.activity-dot--done { background: var(--color-status-done); } +.activity-dot--exited { background: var(--color-status-done); border: 1px solid var(--color-status-idle); } + +/* + * ── Reference: xterm.js terminal theme ─────────────────────────────── + * + * Agent session terminal (blue cursor): + * { + * background: "#0A0A0F", + * foreground: "#D4D4D8", + * cursor: "#5B7EF8", // brand blue + * cursorAccent: "#0A0A0F", + * selectionBackground: "rgba(91, 126, 248, 0.3)", + * fontSize: 13, + * fontFamily: '"JetBrains Mono", "SF Mono", Menlo, Monaco, monospace', + * } + * + * Orchestrator terminal (violet cursor — identity differentiation): + * { + * background: "#0A0A0F", + * foreground: "#D4D4D8", + * cursor: "#a371f7", // violet: orchestrator identity + * cursorAccent: "#0A0A0F", + * selectionBackground: "rgba(163, 113, 247, 0.25)", + * fontSize: 13, + * fontFamily: '"JetBrains Mono", "SF Mono", Menlo, Monaco, monospace', + * } + */ + +/* + * ── Competitor palette reference ───────────────────────────────────── + * (Kept for cross-referencing during implementation) + * + * Linear (Playwright-verified): + * Body bg: #08090A + * Panel bg: #0F1011 (--color-bg-panel) + * Brand accent: #7070FF (--color-accent) + * Blue status: #4EA7FC + * Red status: #EB5757 + * Green status: #27A644 + * Orange status: #FC7840 + * Yellow status: #F0BF00 + * UI font: Inter Variable + * Mono font: Berkeley Mono (premium licensed) + * Serif font: Tiempos Headline (display only) + * + * Railway (visually estimated from screenshot): + * Dark bg: hsl(250, 24%, 9%) ≈ #13111C + * CTA purple: ~#7C3AED + * + * WandB: + * Background: #1A1C1F + * Card: #212429 / #282A2F + * Cyan accent: #00AFC2 + * Border: 1px solid #34373C + * + * LangSmith: + * Background: #030710 (blue-cast near-black) + * Electric blue: #4D65FF + * Primary font: JetBrains Mono (monospace as UI font — unique) + * + * Supabase: + * Brand green: #3ECF8E / #34B27B + * Background: #11181C + * UI font: Inter + * + * Vercel: + * Pure black: #000000 + * Pure white: #FAFAFA + * Font: Geist (proprietary) + */ diff --git a/packages/core/src/__tests__/session-manager.test.ts b/packages/core/src/__tests__/session-manager.test.ts index 0620ca912..96d56edff 100644 --- a/packages/core/src/__tests__/session-manager.test.ts +++ b/packages/core/src/__tests__/session-manager.test.ts @@ -55,7 +55,7 @@ beforeEach(() => { getLaunchCommand: vi.fn().mockReturnValue("mock-agent --start"), getEnvironment: vi.fn().mockReturnValue({ AGENT_VAR: "1" }), detectActivity: vi.fn().mockReturnValue("active"), - getActivityState: vi.fn().mockResolvedValue("active"), + getActivityState: vi.fn().mockResolvedValue({ state: "active" }), isProcessRunning: vi.fn().mockResolvedValue(true), getSessionInfo: vi.fn().mockResolvedValue(null), }; @@ -421,7 +421,7 @@ describe("list", () => { it("detects activity using agent-native mechanism", async () => { const agentWithState: Agent = { ...mockAgent, - getActivityState: vi.fn().mockResolvedValue("active"), + getActivityState: vi.fn().mockResolvedValue({ state: "active" }), }; const registryWithState: PluginRegistry = { ...mockRegistry, @@ -510,6 +510,68 @@ describe("list", () => { expect(agentWithNull.getActivityState).toHaveBeenCalled(); expect(sessions[0].activity).toBeNull(); }); + + it("updates lastActivityAt when detection timestamp is newer", async () => { + const newerTimestamp = new Date(Date.now() + 60_000); // 1 minute in the future + const agentWithTimestamp: Agent = { + ...mockAgent, + getActivityState: vi.fn().mockResolvedValue({ state: "active", timestamp: newerTimestamp }), + }; + const registryWithTimestamp: PluginRegistry = { + ...mockRegistry, + get: vi.fn().mockImplementation((slot: string) => { + if (slot === "runtime") return mockRuntime; + if (slot === "agent") return agentWithTimestamp; + return null; + }), + }; + + writeMetadata(sessionsDir, "app-1", { + worktree: "/tmp", + branch: "a", + status: "working", + project: "my-app", + runtimeHandle: JSON.stringify(makeHandle("rt-1")), + }); + + const sm = createSessionManager({ config, registry: registryWithTimestamp }); + const sessions = await sm.list(); + + expect(sessions[0].activity).toBe("active"); + // lastActivityAt should be updated to the detection timestamp + expect(sessions[0].lastActivityAt).toEqual(newerTimestamp); + }); + + it("does not downgrade lastActivityAt when detection timestamp is older", async () => { + const olderTimestamp = new Date(0); // epoch — definitely older than session creation + const agentWithOldTimestamp: Agent = { + ...mockAgent, + getActivityState: vi.fn().mockResolvedValue({ state: "active", timestamp: olderTimestamp }), + }; + const registryWithOldTimestamp: PluginRegistry = { + ...mockRegistry, + get: vi.fn().mockImplementation((slot: string) => { + if (slot === "runtime") return mockRuntime; + if (slot === "agent") return agentWithOldTimestamp; + return null; + }), + }; + + writeMetadata(sessionsDir, "app-1", { + worktree: "/tmp", + branch: "a", + status: "working", + project: "my-app", + runtimeHandle: JSON.stringify(makeHandle("rt-1")), + }); + + const sm = createSessionManager({ config, registry: registryWithOldTimestamp }); + const sessions = await sm.list(); + + expect(sessions[0].activity).toBe("active"); + // lastActivityAt should NOT be downgraded to the older detection timestamp + expect(sessions[0].lastActivityAt.getTime()).toBeGreaterThan(olderTimestamp.getTime()); + }); }); describe("get", () => { @@ -535,7 +597,7 @@ describe("get", () => { it("detects activity using agent-native mechanism", async () => { const agentWithState: Agent = { ...mockAgent, - getActivityState: vi.fn().mockResolvedValue("idle"), + getActivityState: vi.fn().mockResolvedValue({ state: "idle" }), }; const registryWithState: PluginRegistry = { ...mockRegistry, diff --git a/packages/core/src/session-manager.ts b/packages/core/src/session-manager.ts index f1730d500..c58a286cd 100644 --- a/packages/core/src/session-manager.ts +++ b/packages/core/src/session-manager.ts @@ -250,11 +250,21 @@ export function createSessionManager(deps: SessionManagerDeps): SessionManager { * Enrich session with live runtime state (alive/exited) and activity detection. * Mutates the session object in place. */ + const TERMINAL_SESSION_STATUSES = new Set([ + "killed", "done", "merged", "terminated", "cleanup", + ]); + async function enrichSessionWithRuntimeState( session: Session, plugins: ReturnType, handleFromMetadata: boolean, ): Promise { + // Skip all subprocess/IO work for sessions already known to be terminal. + if (TERMINAL_SESSION_STATUSES.has(session.status)) { + session.activity = "exited"; + return; + } + // Check runtime liveness — but only if the handle came from metadata. // Fabricated handles (constructed as fallback for external sessions) should // NOT override status to "killed" — we don't know if the session ever had @@ -280,11 +290,24 @@ export function createSessionManager(deps: SessionManagerDeps): SessionManager { try { const detected = await plugins.agent.getActivityState(session, config.readyThresholdMs); if (detected !== null) { - session.activity = detected; + session.activity = detected.state; + if (detected.timestamp && detected.timestamp > session.lastActivityAt) { + session.lastActivityAt = detected.timestamp; + } } } catch { // Can't detect activity — keep existing value } + + // Enrich with live agent session info (summary, cost). + try { + const info = await plugins.agent.getSessionInfo(session); + if (info) { + session.agentInfo = info; + } + } catch { + // Can't get session info — keep existing values + } } } @@ -647,16 +670,14 @@ export function createSessionManager(deps: SessionManagerDeps): SessionManager { async function list(projectId?: string): Promise { const allSessions = listAllSessions(projectId); - const sessions: Session[] = []; - for (const { sessionName, projectId: sessionProjectId } of allSessions) { - // Use config key to find project + const sessionPromises = allSessions.map(async ({ sessionName, projectId: sessionProjectId }) => { const project = config.projects[sessionProjectId]; - if (!project) continue; + if (!project) return null; const sessionsDir = getProjectSessionsDir(project); const raw = readMetadataRaw(sessionsDir, sessionName); - if (!raw) continue; + if (!raw) return null; // Get file timestamps for createdAt/lastActivityAt let createdAt: Date | undefined; @@ -673,12 +694,16 @@ export function createSessionManager(deps: SessionManagerDeps): SessionManager { const session = metadataToSession(sessionName, raw, createdAt, modifiedAt); const plugins = resolvePlugins(project); - await ensureHandleAndEnrich(session, sessionName, project, plugins); + // Cap per-session enrichment at 2s — subprocess calls (tmux/ps) can be + // slow under load. If we time out, session keeps its metadata values. + const enrichTimeout = new Promise((resolve) => setTimeout(resolve, 2_000)); + await Promise.race([ensureHandleAndEnrich(session, sessionName, project, plugins), enrichTimeout]); - sessions.push(session); - } + return session; + }); - return sessions; + const results = await Promise.all(sessionPromises); + return results.filter((s): s is Session => s !== null); } async function get(sessionId: SessionId): Promise { diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index ab97d9798..6de795c8f 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -60,6 +60,13 @@ export const ACTIVITY_STATE = { EXITED: "exited" as const, } satisfies Record; +/** Result of activity detection, carrying both the state and an optional timestamp. */ +export interface ActivityDetection { + state: ActivityState; + /** When activity was last observed (e.g., agent log file mtime) */ + timestamp?: Date; +} + /** Default threshold (ms) before a "ready" session becomes "idle". */ export const DEFAULT_READY_THRESHOLD_MS = 300_000; // 5 minutes @@ -273,7 +280,7 @@ export interface Agent { * This is the preferred method for activity detection. * @param readyThresholdMs - ms before "ready" becomes "idle" (default: DEFAULT_READY_THRESHOLD_MS) */ - getActivityState(session: Session, readyThresholdMs?: number): Promise; + getActivityState(session: Session, readyThresholdMs?: number): Promise; /** Check if agent process is running (given runtime handle) */ isProcessRunning(handle: RuntimeHandle): Promise; @@ -352,10 +359,6 @@ export interface AgentSessionInfo { agentSessionId: string | null; /** Estimated cost so far */ cost?: CostEstimate; - /** Last message type in agent's log */ - lastMessageType?: string; - /** When agent's log was last modified */ - lastLogModified?: Date; } export interface CostEstimate { diff --git a/packages/integration-tests/src/agent-aider.integration.test.ts b/packages/integration-tests/src/agent-aider.integration.test.ts index 9dc6182a4..9e8f38c64 100644 --- a/packages/integration-tests/src/agent-aider.integration.test.ts +++ b/packages/integration-tests/src/agent-aider.integration.test.ts @@ -14,7 +14,7 @@ import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import aiderPlugin from "@composio/ao-plugin-agent-aider"; import { @@ -93,11 +93,11 @@ describe.skipIf(!canRun)("agent-aider (integration)", () => { // Observations captured while the agent is alive let aliveRunning = false; - let aliveActivityState: ActivityState | null | undefined; + let aliveActivityState: ActivityDetection | null | undefined; // Observations captured after the agent exits let exitedRunning: boolean; - let exitedActivityState: ActivityState | null; + let exitedActivityState: ActivityDetection | null; let sessionInfo: AgentSessionInfo | null; beforeAll(async () => { @@ -119,7 +119,7 @@ describe.skipIf(!canRun)("agent-aider (integration)", () => { if (running) { aliveRunning = true; const activityState = await agent.getActivityState(session); - if (activityState !== "exited") { + if (activityState?.state !== "exited") { aliveActivityState = activityState; break; } @@ -152,9 +152,9 @@ describe.skipIf(!canRun)("agent-aider (integration)", () => { // Aider checks git commits and chat history mtime for activity detection. // May return null if no chat history exists yet. if (aliveActivityState !== undefined) { - expect(aliveActivityState).not.toBe("exited"); + expect(aliveActivityState?.state).not.toBe("exited"); expect([null, "active", "ready", "idle", "waiting_input", "blocked"]).toContain( - aliveActivityState, + aliveActivityState?.state ?? null, ); } }); @@ -164,7 +164,7 @@ describe.skipIf(!canRun)("agent-aider (integration)", () => { }); it("getActivityState → returns exited after agent process terminates", () => { - expect(exitedActivityState).toBe("exited"); + expect(exitedActivityState?.state).toBe("exited"); }); it("getSessionInfo → null (not implemented for aider)", () => { diff --git a/packages/integration-tests/src/agent-claude-code.integration.test.ts b/packages/integration-tests/src/agent-claude-code.integration.test.ts index 3ebecb339..4e61f7e27 100644 --- a/packages/integration-tests/src/agent-claude-code.integration.test.ts +++ b/packages/integration-tests/src/agent-claude-code.integration.test.ts @@ -19,7 +19,7 @@ import { mkdtemp, readdir, realpath, rm } from "node:fs/promises"; import { homedir, tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import { readLastJsonlEntry, type ActivityState, type AgentSessionInfo } from "@composio/ao-core"; +import { readLastJsonlEntry, type ActivityDetection, type AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it, vi } from "vitest"; import claudeCodePlugin, { toClaudeProjectPath } from "@composio/ao-plugin-agent-claude-code"; import { @@ -178,12 +178,12 @@ describe.skipIf(!canRun)("agent-claude-code (integration)", () => { // Observations captured while the agent is alive let aliveRunning = false; - let aliveActivityState: ActivityState | null | undefined; + let aliveActivityState: ActivityDetection | null | undefined; let aliveSessionInfo: AgentSessionInfo | null = null; // Observations captured after the agent exits let exitedRunning: boolean; - let exitedActivityState: ActivityState | null; + let exitedActivityState: ActivityDetection | null; let exitedSessionInfo: AgentSessionInfo | null; beforeAll(async () => { @@ -209,7 +209,7 @@ describe.skipIf(!canRun)("agent-claude-code (integration)", () => { aliveRunning = true; try { const activityState = await agent.getActivityState(session); - if (activityState !== "exited") { + if (activityState?.state !== "exited") { aliveActivityState = activityState; // Also capture session info while alive aliveSessionInfo = await agent.getSessionInfo(session); @@ -246,10 +246,10 @@ describe.skipIf(!canRun)("agent-claude-code (integration)", () => { it("getActivityState → returns valid non-exited state while agent is alive", () => { expect(aliveActivityState).toBeDefined(); - expect(aliveActivityState).not.toBe("exited"); + expect(aliveActivityState?.state).not.toBe("exited"); // May be null (no JSONL yet) or a concrete state expect([null, "active", "ready", "idle", "waiting_input", "blocked"]).toContain( - aliveActivityState, + aliveActivityState?.state ?? null, ); }); @@ -269,7 +269,7 @@ describe.skipIf(!canRun)("agent-claude-code (integration)", () => { }); it("getActivityState → returns exited after agent process terminates", () => { - expect(exitedActivityState).toBe("exited"); + expect(exitedActivityState?.state).toBe("exited"); }); it("getSessionInfo → returns session data after agent exits (or null if path mismatch)", () => { diff --git a/packages/integration-tests/src/agent-codex.integration.test.ts b/packages/integration-tests/src/agent-codex.integration.test.ts index 01f57c9b3..7e18aa8db 100644 --- a/packages/integration-tests/src/agent-codex.integration.test.ts +++ b/packages/integration-tests/src/agent-codex.integration.test.ts @@ -14,7 +14,7 @@ import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import codexPlugin from "@composio/ao-plugin-agent-codex"; import { @@ -62,11 +62,11 @@ describe.skipIf(!canRun)("agent-codex (integration)", () => { // Observations captured while the agent is alive let aliveRunning = false; - let aliveActivityState: ActivityState | null | undefined; + let aliveActivityState: ActivityDetection | null | undefined; // Observations captured after the agent exits let exitedRunning: boolean; - let exitedActivityState: ActivityState | null; + let exitedActivityState: ActivityDetection | null; let sessionInfo: AgentSessionInfo | null; beforeAll(async () => { @@ -86,7 +86,7 @@ describe.skipIf(!canRun)("agent-codex (integration)", () => { if (running) { aliveRunning = true; const activityState = await agent.getActivityState(session); - if (activityState !== "exited") { + if (activityState?.state !== "exited") { aliveActivityState = activityState; break; } @@ -128,7 +128,7 @@ describe.skipIf(!canRun)("agent-codex (integration)", () => { }); it("getActivityState → returns exited after agent process terminates", () => { - expect(exitedActivityState).toBe("exited"); + expect(exitedActivityState?.state).toBe("exited"); }); it("getSessionInfo → null (not implemented for codex)", () => { diff --git a/packages/integration-tests/src/agent-opencode.integration.test.ts b/packages/integration-tests/src/agent-opencode.integration.test.ts index 7f07d4242..12f714112 100644 --- a/packages/integration-tests/src/agent-opencode.integration.test.ts +++ b/packages/integration-tests/src/agent-opencode.integration.test.ts @@ -14,7 +14,7 @@ import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; -import type { ActivityState, AgentSessionInfo } from "@composio/ao-core"; +import type { ActivityDetection, AgentSessionInfo } from "@composio/ao-core"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import opencodePlugin from "@composio/ao-plugin-agent-opencode"; import { @@ -86,11 +86,11 @@ describe.skipIf(!canRun)("agent-opencode (integration)", () => { // Observations captured while the agent is alive let aliveRunning = false; - let aliveActivityState: ActivityState | null | undefined; + let aliveActivityState: ActivityDetection | null | undefined; // Observations captured after the agent exits let exitedRunning: boolean; - let exitedActivityState: ActivityState | null; + let exitedActivityState: ActivityDetection | null; let sessionInfo: AgentSessionInfo | null; beforeAll(async () => { @@ -110,7 +110,7 @@ describe.skipIf(!canRun)("agent-opencode (integration)", () => { if (running) { aliveRunning = true; const activityState = await agent.getActivityState(session); - if (activityState !== "exited") { + if (activityState?.state !== "exited") { aliveActivityState = activityState; break; } @@ -152,7 +152,7 @@ describe.skipIf(!canRun)("agent-opencode (integration)", () => { }); it("getActivityState → returns exited after agent process terminates", () => { - expect(exitedActivityState).toBe("exited"); + expect(exitedActivityState?.state).toBe("exited"); }); it("getSessionInfo → null (not implemented for opencode)", () => { diff --git a/packages/plugins/agent-aider/src/index.ts b/packages/plugins/agent-aider/src/index.ts index 00d532a16..b103248ca 100644 --- a/packages/plugins/agent-aider/src/index.ts +++ b/packages/plugins/agent-aider/src/index.ts @@ -4,6 +4,7 @@ import { type Agent, type AgentSessionInfo, type AgentLaunchConfig, + type ActivityDetection, type ActivityState, type PluginModule, type RuntimeHandle, @@ -114,20 +115,21 @@ function createAiderAgent(): Agent { async getActivityState( session: Session, readyThresholdMs?: number, - ): Promise { + ): Promise { const threshold = readyThresholdMs ?? DEFAULT_READY_THRESHOLD_MS; // Check if process is running first - if (!session.runtimeHandle) return "exited"; + const exitedAt = new Date(); + if (!session.runtimeHandle) return { state: "exited", timestamp: exitedAt }; const running = await this.isProcessRunning(session.runtimeHandle); - if (!running) return "exited"; + if (!running) return { state: "exited", timestamp: exitedAt }; // Process is running - check for activity signals if (!session.workspacePath) return null; // Check for recent git commits (Aider auto-commits changes) const hasCommits = await hasRecentCommits(session.workspacePath); - if (hasCommits) return "active"; + if (hasCommits) return { state: "active" }; // Check chat history file modification time const chatMtime = await getChatHistoryMtime(session.workspacePath); @@ -139,9 +141,9 @@ function createAiderAgent(): Agent { // Classify by age: <30s active, threshold idle const ageMs = Date.now() - chatMtime.getTime(); const activeWindowMs = Math.min(30_000, threshold); - if (ageMs < activeWindowMs) return "active"; - if (ageMs < threshold) return "ready"; - return "idle"; + if (ageMs < activeWindowMs) return { state: "active", timestamp: chatMtime }; + if (ageMs < threshold) return { state: "ready", timestamp: chatMtime }; + return { state: "idle", timestamp: chatMtime }; }, async isProcessRunning(handle: RuntimeHandle): Promise { diff --git a/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts b/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts index 33a602808..3c6bbfa5b 100644 --- a/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts +++ b/packages/plugins/agent-claude-code/src/__tests__/activity-detection.test.ts @@ -119,17 +119,17 @@ describe("Claude Code Activity Detection", () => { it("returns 'exited' when process is not running", async () => { vi.spyOn(agent, "isProcessRunning").mockResolvedValue(false); writeJsonl([{ type: "assistant" }]); - expect(await agent.getActivityState(makeSession())).toBe("exited"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("exited"); }); it("returns 'exited' when no runtimeHandle", async () => { - expect(await agent.getActivityState(makeSession({ runtimeHandle: undefined }))).toBe( + expect((await agent.getActivityState(makeSession({ runtimeHandle: undefined })))?.state).toBe( "exited", ); }); it("returns 'exited' when runtimeHandle is null", async () => { - expect(await agent.getActivityState(makeSession({ runtimeHandle: null }))).toBe("exited"); + expect((await agent.getActivityState(makeSession({ runtimeHandle: null })))?.state).toBe("exited"); }); // ----------------------------------------------------------------------- @@ -158,37 +158,37 @@ describe("Claude Code Activity Detection", () => { describe("real Claude Code entry types", () => { it("returns 'active' for recent 'progress' entry (streaming)", async () => { writeJsonl([{ type: "progress", status: "running tool" }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("returns 'active' for recent 'user' entry", async () => { writeJsonl([{ type: "user", message: { content: "fix the bug" } }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("returns 'ready' for recent 'assistant' entry", async () => { writeJsonl([{ type: "assistant", message: { content: "Done!" } }]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("returns 'ready' for recent 'system' entry", async () => { writeJsonl([{ type: "system", summary: "session started" }]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("returns 'active' for recent 'file-history-snapshot' (bookkeeping)", async () => { writeJsonl([{ type: "file-history-snapshot" }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("returns 'active' for recent 'queue-operation' (bookkeeping)", async () => { writeJsonl([{ type: "queue-operation" }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("returns 'active' for recent 'pr-link' (bookkeeping)", async () => { writeJsonl([{ type: "pr-link" }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); }); @@ -199,27 +199,27 @@ describe("Claude Code Activity Detection", () => { describe("agent interface spec types", () => { it("returns 'active' for recent 'tool_use' entry", async () => { writeJsonl([{ type: "tool_use" }]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("returns 'waiting_input' for 'permission_request'", async () => { writeJsonl([{ type: "permission_request" }]); - expect(await agent.getActivityState(makeSession())).toBe("waiting_input"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("waiting_input"); }); it("returns 'blocked' for 'error'", async () => { writeJsonl([{ type: "error" }]); - expect(await agent.getActivityState(makeSession())).toBe("blocked"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("blocked"); }); it("returns 'ready' for recent 'summary' entry", async () => { writeJsonl([{ type: "summary", summary: "Implemented login feature" }]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("returns 'ready' for recent 'result' entry", async () => { writeJsonl([{ type: "result" }]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); }); @@ -230,48 +230,48 @@ describe("Claude Code Activity Detection", () => { describe("staleness threshold", () => { it("returns 'idle' for stale 'assistant' entry (> threshold)", async () => { writeJsonl([{ type: "assistant" }], 400_000); // 6+ min old - expect(await agent.getActivityState(makeSession())).toBe("idle"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("idle"); }); it("returns 'idle' for stale 'user' entry (> threshold)", async () => { writeJsonl([{ type: "user" }], 400_000); - expect(await agent.getActivityState(makeSession())).toBe("idle"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("idle"); }); it("returns 'idle' for stale 'progress' entry (> threshold)", async () => { writeJsonl([{ type: "progress" }], 400_000); - expect(await agent.getActivityState(makeSession())).toBe("idle"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("idle"); }); it("returns 'idle' for stale bookkeeping entry (> threshold)", async () => { writeJsonl([{ type: "file-history-snapshot" }], 400_000); - expect(await agent.getActivityState(makeSession())).toBe("idle"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("idle"); }); it("'permission_request' ignores staleness (always waiting_input)", async () => { writeJsonl([{ type: "permission_request" }], 400_000); - expect(await agent.getActivityState(makeSession())).toBe("waiting_input"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("waiting_input"); }); it("'error' ignores staleness (always blocked)", async () => { writeJsonl([{ type: "error" }], 400_000); - expect(await agent.getActivityState(makeSession())).toBe("blocked"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("blocked"); }); it("respects custom readyThresholdMs", async () => { // 2 minutes old — stale with 60s threshold, ready with default 5min writeJsonl([{ type: "assistant" }], 120_000); - expect(await agent.getActivityState(makeSession(), 60_000)).toBe("idle"); - expect(await agent.getActivityState(makeSession(), 300_000)).toBe("ready"); + expect((await agent.getActivityState(makeSession(), 60_000))?.state).toBe("idle"); + expect((await agent.getActivityState(makeSession(), 300_000))?.state).toBe("ready"); }); it("custom threshold applies to active types too", async () => { // 2 minutes old writeJsonl([{ type: "user" }], 120_000); - expect(await agent.getActivityState(makeSession(), 60_000)).toBe("idle"); - expect(await agent.getActivityState(makeSession(), 300_000)).toBe("active"); + expect((await agent.getActivityState(makeSession(), 60_000))?.state).toBe("idle"); + expect((await agent.getActivityState(makeSession(), 300_000))?.state).toBe("active"); }); }); @@ -285,7 +285,7 @@ describe("Claude Code Activity Detection", () => { writeJsonl([{ type: "assistant" }], 10_000, "old-session.jsonl"); writeJsonl([{ type: "user" }], 0, "new-session.jsonl"); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("ignores agent- prefixed JSONL files", async () => { @@ -301,7 +301,7 @@ describe("Claude Code Activity Detection", () => { { type: "progress", status: "thinking" }, { type: "assistant", message: { content: "Done!" } }, ]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("returns null for empty JSONL file", async () => { @@ -321,7 +321,7 @@ describe("Claude Code Activity Detection", () => { writeFileSync(join(projectDir, "notes.txt"), "some notes"); // Write actual JSONL writeJsonl([{ type: "assistant" }]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); }); @@ -338,7 +338,7 @@ describe("Claude Code Activity Detection", () => { { type: "progress", status: "Writing file" }, { type: "progress", status: "Running tool" }, ]); - expect(await agent.getActivityState(makeSession())).toBe("active"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("active"); }); it("detects agent done and waiting (assistant is last entry)", async () => { @@ -348,7 +348,7 @@ describe("Claude Code Activity Detection", () => { { type: "progress", status: "writing" }, { type: "assistant", message: { content: "I've implemented the auth feature." } }, ]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("detects agent done with system summary", async () => { @@ -358,7 +358,7 @@ describe("Claude Code Activity Detection", () => { { type: "assistant", message: { content: "Fixed!" } }, { type: "system", summary: "Fixed failing tests" }, ]); - expect(await agent.getActivityState(makeSession())).toBe("ready"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("ready"); }); it("detects stale finished session", async () => { @@ -369,7 +369,7 @@ describe("Claude Code Activity Detection", () => { ], 600_000, // 10 min old ); - expect(await agent.getActivityState(makeSession())).toBe("idle"); + expect((await agent.getActivityState(makeSession()))?.state).toBe("idle"); }); }); }); diff --git a/packages/plugins/agent-claude-code/src/index.test.ts b/packages/plugins/agent-claude-code/src/index.test.ts index 0ea3a3ce8..937c86ef0 100644 --- a/packages/plugins/agent-claude-code/src/index.test.ts +++ b/packages/plugins/agent-claude-code/src/index.test.ts @@ -606,15 +606,6 @@ describe("getSessionInfo", () => { }); }); - describe("lastLogModified", () => { - it("returns file mtime as lastLogModified", async () => { - const mtime = new Date(1700000000000); - mockJsonlFiles('{"type":"user","message":{"content":"hi"}}', undefined, mtime); - const result = await agent.getSessionInfo(makeSession()); - expect(result?.lastLogModified).toEqual(mtime); - }); - }); - describe("malformed JSONL handling", () => { it("skips malformed lines and parses valid ones", async () => { const jsonl = [ diff --git a/packages/plugins/agent-claude-code/src/index.ts b/packages/plugins/agent-claude-code/src/index.ts index faa75fe51..cb2abbc26 100644 --- a/packages/plugins/agent-claude-code/src/index.ts +++ b/packages/plugins/agent-claude-code/src/index.ts @@ -5,6 +5,7 @@ import { type Agent, type AgentSessionInfo, type AgentLaunchConfig, + type ActivityDetection, type ActivityState, type CostEstimate, type PluginModule, @@ -14,7 +15,7 @@ import { type WorkspaceHooksConfig, } from "@composio/ao-core"; import { execFile } from "node:child_process"; -import { readdir, readFile, stat, writeFile, mkdir, chmod } from "node:fs/promises"; +import { readdir, readFile, stat, open, writeFile, mkdir, chmod } from "node:fs/promises"; import { existsSync } from "node:fs"; import { homedir } from "node:os"; import { basename, join } from "node:path"; @@ -253,21 +254,48 @@ interface JsonlLine { * Now uses the shared readLastJsonlEntry utility from @composio/ao-core. */ -/** Parse JSONL file into lines (skipping invalid JSON) */ -async function parseJsonlFile(filePath: string): Promise { +/** + * Parse only the last `maxBytes` of a JSONL file. + * Summaries and recent activity are always near the end, so reading the whole + * file (which can be 100MB+) is wasteful. For files smaller than maxBytes, + * readFile is used directly. For large files, only the tail is read via a + * file handle to avoid loading the entire file into memory. + */ +async function parseJsonlFileTail(filePath: string, maxBytes = 131_072): Promise { let content: string; + let offset: number; try { - content = await readFile(filePath, "utf-8"); + const { size = 0 } = await stat(filePath); + offset = Math.max(0, size - maxBytes); + if (offset === 0) { + // Small file (or unknown size) — read it whole + content = await readFile(filePath, "utf-8"); + } else { + // Large file — read only the tail via a file handle + const handle = await open(filePath, "r"); + try { + const length = size - offset; + const buffer = Buffer.allocUnsafe(length); + await handle.read(buffer, 0, length, offset); + content = buffer.toString("utf-8"); + } finally { + await handle.close(); + } + } } catch { return []; } + // Skip potentially truncated first line only when we started mid-file. + // If offset === 0 we read from the start so the first line is complete. + const firstNewline = content.indexOf("\n"); + const safeContent = + offset > 0 && firstNewline >= 0 ? content.slice(firstNewline + 1) : content; const lines: JsonlLine[] = []; - for (const line of content.split("\n")) { + for (const line of safeContent.split("\n")) { const trimmed = line.trim(); if (!trimmed) continue; try { const parsed: unknown = JSON.parse(trimmed); - // Skip non-object values (null, numbers, strings, arrays) if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) { lines.push(parsed as JsonlLine); } @@ -618,13 +646,14 @@ function createClaudeCodeAgent(): Agent { async getActivityState( session: Session, readyThresholdMs?: number, - ): Promise { + ): Promise { const threshold = readyThresholdMs ?? DEFAULT_READY_THRESHOLD_MS; // Check if process is running first - if (!session.runtimeHandle) return "exited"; + const exitedAt = new Date(); + if (!session.runtimeHandle) return { state: "exited", timestamp: exitedAt }; const running = await this.isProcessRunning(session.runtimeHandle); - if (!running) return "exited"; + if (!running) return { state: "exited", timestamp: exitedAt }; // Process is running - check JSONL session file for activity if (!session.workspacePath) { @@ -648,48 +677,28 @@ function createClaudeCodeAgent(): Agent { } const ageMs = Date.now() - entry.modifiedAt.getTime(); + const timestamp = entry.modifiedAt; - // Classify based on last JSONL entry type. - // - // Real Claude Code JSONL types (observed in production): - // progress — streaming tokens (most frequent) - // assistant — completed assistant response - // user — user message submitted - // system — system messages - // file-history-snapshot — file change tracking - // queue-operation — internal queue ops - // pr-link — PR URL logged - // - // Types from the Agent interface spec (may appear in future versions): - // tool_use, permission_request, error, summary, result switch (entry.lastType) { case "user": case "tool_use": case "progress": - // Agent is processing: user just sent input, tools running, or - // actively streaming. Stale past threshold. - return ageMs > threshold ? "idle" : "active"; + return { state: ageMs > threshold ? "idle" : "active", timestamp }; case "assistant": case "system": case "summary": case "result": - // Agent finished its turn. If recent, the session is alive and - // ready for the next instruction. Past threshold it's stale. - return ageMs > threshold ? "idle" : "ready"; + return { state: ageMs > threshold ? "idle" : "ready", timestamp }; case "permission_request": - // Agent needs user approval for an action - return "waiting_input"; + return { state: "waiting_input", timestamp }; case "error": - // Agent encountered an error - return "blocked"; + return { state: "blocked", timestamp }; default: - // Unknown/bookkeeping types (file-history-snapshot, queue-operation, - // pr-link, etc.) — if recent, assume active; otherwise idle. - return ageMs > threshold ? "idle" : "active"; + return { state: ageMs > threshold ? "idle" : "active", timestamp }; } }, @@ -704,17 +713,8 @@ function createClaudeCodeAgent(): Agent { const sessionFile = await findLatestSessionFile(projectDir); if (!sessionFile) return null; - // Get file modification time - let lastLogModified: Date | undefined; - try { - const fileStat = await stat(sessionFile); - lastLogModified = fileStat.mtime; - } catch { - // Ignore stat errors - } - - // Parse the JSONL - const lines = await parseJsonlFile(sessionFile); + // Parse only the tail — summaries are always near the end, files can be 100MB+ + const lines = await parseJsonlFileTail(sessionFile); if (lines.length === 0) return null; // Extract session ID from filename @@ -726,7 +726,6 @@ function createClaudeCodeAgent(): Agent { summaryIsFallback: summaryResult?.isFallback, agentSessionId, cost: extractCost(lines), - lastLogModified, }; }, diff --git a/packages/plugins/agent-codex/src/index.ts b/packages/plugins/agent-codex/src/index.ts index 03f1f028f..0c6952052 100644 --- a/packages/plugins/agent-codex/src/index.ts +++ b/packages/plugins/agent-codex/src/index.ts @@ -3,6 +3,7 @@ import { type Agent, type AgentSessionInfo, type AgentLaunchConfig, + type ActivityDetection, type ActivityState, type PluginModule, type RuntimeHandle, @@ -75,11 +76,12 @@ function createCodexAgent(): Agent { return "active"; }, - async getActivityState(session: Session, _readyThresholdMs?: number): Promise { + async getActivityState(session: Session, _readyThresholdMs?: number): Promise { // Check if process is running first - if (!session.runtimeHandle) return "exited"; + const exitedAt = new Date(); + if (!session.runtimeHandle) return { state: "exited", timestamp: exitedAt }; const running = await this.isProcessRunning(session.runtimeHandle); - if (!running) return "exited"; + if (!running) return { state: "exited", timestamp: exitedAt }; // NOTE: Codex stores rollout files in a global ~/.codex/sessions/ directory // without workspace-specific scoping. When multiple Codex sessions run in diff --git a/packages/plugins/agent-opencode/src/index.ts b/packages/plugins/agent-opencode/src/index.ts index 954247585..5b4f2ffd9 100644 --- a/packages/plugins/agent-opencode/src/index.ts +++ b/packages/plugins/agent-opencode/src/index.ts @@ -3,6 +3,7 @@ import { type Agent, type AgentSessionInfo, type AgentLaunchConfig, + type ActivityDetection, type ActivityState, type PluginModule, type RuntimeHandle, @@ -63,11 +64,12 @@ function createOpenCodeAgent(): Agent { return "active"; }, - async getActivityState(session: Session, _readyThresholdMs?: number): Promise { + async getActivityState(session: Session, _readyThresholdMs?: number): Promise { // Check if process is running first - if (!session.runtimeHandle) return "exited"; + const exitedAt = new Date(); + if (!session.runtimeHandle) return { state: "exited", timestamp: exitedAt }; const running = await this.isProcessRunning(session.runtimeHandle); - if (!running) return "exited"; + if (!running) return { state: "exited", timestamp: exitedAt }; // NOTE: OpenCode stores all session data in a single global SQLite database // at ~/.local/share/opencode/opencode.db without per-workspace scoping. When diff --git a/packages/web/server/direct-terminal-ws.ts b/packages/web/server/direct-terminal-ws.ts index 74ad78998..4d37625ce 100644 --- a/packages/web/server/direct-terminal-ws.ts +++ b/packages/web/server/direct-terminal-ws.ts @@ -147,7 +147,11 @@ export function createDirectTerminalServer(tmuxPath?: string): DirectTerminalSer // PTY exit pty.onExit(({ exitCode }) => { console.log(`[DirectTerminal] PTY exited for ${sessionId} with code ${exitCode}`); - activeSessions.delete(sessionId); + // Guard against stale exits: only delete if this pty is still the active one. + // A new connection may have already replaced this session entry. + if (activeSessions.get(sessionId)?.pty === pty) { + activeSessions.delete(sessionId); + } if (ws.readyState === WebSocket.OPEN) { ws.close(1000, "Terminal session ended"); } @@ -177,14 +181,20 @@ export function createDirectTerminalServer(tmuxPath?: string): DirectTerminalSer // WebSocket close ws.on("close", () => { console.log(`[DirectTerminal] WebSocket closed for ${sessionId}`); - activeSessions.delete(sessionId); + // Guard against stale closes replacing a newer session's entry + if (activeSessions.get(sessionId)?.pty === pty) { + activeSessions.delete(sessionId); + } pty.kill(); }); // WebSocket error ws.on("error", (err) => { console.error(`[DirectTerminal] WebSocket error for ${sessionId}:`, err.message); - activeSessions.delete(sessionId); + // Guard against stale error handlers replacing a newer session's entry + if (activeSessions.get(sessionId)?.pty === pty) { + activeSessions.delete(sessionId); + } pty.kill(); }); }); diff --git a/packages/web/src/__tests__/api-routes.test.ts b/packages/web/src/__tests__/api-routes.test.ts index baea1a098..9bae0f315 100644 --- a/packages/web/src/__tests__/api-routes.test.ts +++ b/packages/web/src/__tests__/api-routes.test.ts @@ -185,7 +185,7 @@ describe("API Routes", () => { describe("GET /api/sessions", () => { it("returns sessions array and stats", async () => { - const res = await sessionsGET(); + const res = await sessionsGET(makeRequest("http://localhost:3000/api/sessions")); expect(res.status).toBe(200); const data = await res.json(); expect(data.sessions).toBeDefined(); @@ -196,7 +196,7 @@ describe("API Routes", () => { }); it("stats include expected fields", async () => { - const res = await sessionsGET(); + const res = await sessionsGET(makeRequest("http://localhost:3000/api/sessions")); const data = await res.json(); expect(data.stats).toHaveProperty("totalSessions"); expect(data.stats).toHaveProperty("workingSessions"); @@ -205,7 +205,7 @@ describe("API Routes", () => { }); it("sessions have expected shape", async () => { - const res = await sessionsGET(); + const res = await sessionsGET(makeRequest("http://localhost:3000/api/sessions")); const data = await res.json(); const session = data.sessions[0]; expect(session).toHaveProperty("id"); diff --git a/packages/web/src/__tests__/components.test.tsx b/packages/web/src/__tests__/components.test.tsx index a7e9b9eaa..c2678b8d5 100644 --- a/packages/web/src/__tests__/components.test.tsx +++ b/packages/web/src/__tests__/components.test.tsx @@ -4,8 +4,44 @@ import { CIBadge, CICheckList } from "@/components/CIBadge"; import { PRStatus } from "@/components/PRStatus"; import { SessionCard } from "@/components/SessionCard"; import { AttentionZone } from "@/components/AttentionZone"; +import { ActivityDot } from "@/components/ActivityDot"; import { makeSession, makePR } from "./helpers"; +// ── ActivityDot ─────────────────────────────────────────────────────── + +describe("ActivityDot", () => { + it("renders label pill with activity name", () => { + render(); + expect(screen.getByText("active")).toBeInTheDocument(); + }); + + it("renders all known activity states", () => { + const states = ["active", "ready", "idle", "waiting_input", "blocked", "exited"] as const; + for (const state of states) { + const { unmount } = render(); + const expected = state === "waiting_input" ? "waiting" : state; + expect(screen.getByText(expected)).toBeInTheDocument(); + unmount(); + } + }); + + it("renders unknown activity state with raw label", () => { + render(); + expect(screen.getByText("some_future_state")).toBeInTheDocument(); + }); + + it("renders null activity with 'unknown' label", () => { + render(); + expect(screen.getByText("unknown")).toBeInTheDocument(); + }); + + it("renders only a dot in dotOnly mode (no label)", () => { + render(); + // No label text should appear in dotOnly mode + expect(screen.queryByText("active")).not.toBeInTheDocument(); + }); +}); + // ── CIBadge ────────────────────────────────────────────────────────── describe("CIBadge", () => { @@ -178,20 +214,22 @@ describe("SessionCard", () => { it("shows restore button when agent has exited", () => { const session = makeSession({ activity: "exited" }); render(); - expect(screen.getByText("restore session")).toBeInTheDocument(); + // Header shows compact "restore"; expanded panel shows "restore session" + expect(screen.getByText("restore")).toBeInTheDocument(); }); it("does not show restore button when agent is active", () => { const session = makeSession({ activity: "active" }); render(); - expect(screen.queryByText("restore session")).not.toBeInTheDocument(); + expect(screen.queryByText("restore")).not.toBeInTheDocument(); }); it("calls onRestore when restore button is clicked", () => { const onRestore = vi.fn(); const session = makeSession({ id: "backend-1", activity: "exited" }); render(); - fireEvent.click(screen.getByText("restore session")); + // Click the header "restore" button (always visible) + fireEvent.click(screen.getByText("restore")); expect(onRestore).toHaveBeenCalledWith("backend-1"); }); @@ -209,7 +247,7 @@ describe("SessionCard", () => { }); const session = makeSession({ status: "mergeable", activity: "idle", pr }); render(); - expect(screen.getByText("merge PR #42")).toBeInTheDocument(); + expect(screen.getByText("Merge PR #42")).toBeInTheDocument(); }); it("calls onMerge when merge button is clicked", () => { @@ -227,7 +265,7 @@ describe("SessionCard", () => { }); const session = makeSession({ status: "mergeable", activity: "idle", pr }); render(); - fireEvent.click(screen.getByText("merge PR #42")); + fireEvent.click(screen.getByText("Merge PR #42")); expect(onMerge).toHaveBeenCalledWith(42); }); @@ -271,11 +309,11 @@ describe("SessionCard", () => { }); const session = makeSession({ status: "ci_failed", activity: "idle", pr }); render(); - expect(screen.getByText("CI status unknown")).toBeInTheDocument(); + expect(screen.getByText("CI unknown")).toBeInTheDocument(); // Should NOT show "0 CI check failing" expect(screen.queryByText(/0.*CI check.*failing/i)).not.toBeInTheDocument(); - // Should NOT show "ask to fix CI" action - expect(screen.queryByText("ask to fix CI")).not.toBeInTheDocument(); + // Should NOT show "ask to fix" action for unknown CI + expect(screen.queryByText("ask to fix")).not.toBeInTheDocument(); }); it("shows changes requested alert", () => { @@ -355,7 +393,7 @@ describe("SessionCard", () => { }); const session = makeSession({ activity: "idle", pr }); render(); - expect(screen.getByText("ask to fix CI")).toBeInTheDocument(); + expect(screen.getByText("ask to fix")).toBeInTheDocument(); }); it("hides action buttons when agent is active", () => { @@ -374,7 +412,7 @@ describe("SessionCard", () => { }); const session = makeSession({ activity: "active", pr }); render(); - expect(screen.queryByText("ask to fix CI")).not.toBeInTheDocument(); + expect(screen.queryByText("ask to fix")).not.toBeInTheDocument(); }); it("expands detail panel on click", () => { @@ -387,11 +425,11 @@ describe("SessionCard", () => { expect(screen.getByText("No PR associated with this session.")).toBeInTheDocument(); }); - it("shows terminate session button in expanded view", () => { + it("shows terminate button in expanded view", () => { const session = makeSession({ pr: null }); const { container } = render(); fireEvent.click(container.firstElementChild!); - expect(screen.getByText("terminate session")).toBeInTheDocument(); + expect(screen.getByText("terminate")).toBeInTheDocument(); }); }); @@ -401,9 +439,9 @@ describe("AttentionZone", () => { it("renders zone label and session count", () => { const sessions = [makeSession({ id: "s1" }), makeSession({ id: "s2" })]; render(); - expect(screen.getByText("RESPOND")).toBeInTheDocument(); + // Labels use CSS text-transform:uppercase but DOM text is title-cased + expect(screen.getByText("Respond")).toBeInTheDocument(); expect(screen.getByText("2")).toBeInTheDocument(); - expect(screen.getByText("Agents waiting for your input")).toBeInTheDocument(); }); it("renders nothing when sessions array is empty", () => { @@ -421,29 +459,30 @@ describe("AttentionZone", () => { it("working zone is collapsed by default", () => { const sessions = [makeSession({ id: "s1" })]; render(); - // working is defaultCollapsed: true, so session id should not be visible - expect(screen.queryByText("s1")).not.toBeInTheDocument(); - expect(screen.getByText("WORKING")).toBeInTheDocument(); + // working is defaultCollapsed: false (Kanban always shows), so sessions visible + expect(screen.getByText("Working")).toBeInTheDocument(); }); it("done zone is collapsed by default", () => { const sessions = [makeSession({ id: "s1" })]; render(); + // done is defaultCollapsed: true, so session id should not be visible expect(screen.queryByText("s1")).not.toBeInTheDocument(); - expect(screen.getByText("DONE")).toBeInTheDocument(); + expect(screen.getByText("Done")).toBeInTheDocument(); }); it("toggles collapsed state on click", () => { const sessions = [makeSession({ id: "s1" })]; - render(); + render(); + // done starts collapsed expect(screen.queryByText("s1")).not.toBeInTheDocument(); // Click the zone header to expand - fireEvent.click(screen.getByText("WORKING")); + fireEvent.click(screen.getByText("Done")); expect(screen.getByText("s1")).toBeInTheDocument(); // Click again to collapse - fireEvent.click(screen.getByText("WORKING")); + fireEvent.click(screen.getByText("Done")); expect(screen.queryByText("s1")).not.toBeInTheDocument(); }); @@ -451,7 +490,7 @@ describe("AttentionZone", () => { const onRestore = vi.fn(); const sessions = [makeSession({ id: "s1", activity: "exited" })]; render(); - fireEvent.click(screen.getByText("restore session")); + fireEvent.click(screen.getByText("restore")); expect(onRestore).toHaveBeenCalledWith("s1"); }); }); diff --git a/packages/web/src/app/api/sessions/[id]/route.ts b/packages/web/src/app/api/sessions/[id]/route.ts index e8cfb7ca7..09dccd773 100644 --- a/packages/web/src/app/api/sessions/[id]/route.ts +++ b/packages/web/src/app/api/sessions/[id]/route.ts @@ -22,12 +22,16 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{ // Enrich metadata (issue labels, agent summaries, issue titles) await enrichSessionsMetadata([coreSession], [dashboardSession], config, registry); - // Enrich PR with live data from SCM + // Enrich PR — serve cache immediately, refresh in background if stale if (coreSession.pr) { const project = resolveProject(coreSession, config.projects); const scm = getSCM(registry, project); if (scm) { - await enrichSessionPR(dashboardSession, scm, coreSession.pr); + const cached = await enrichSessionPR(dashboardSession, scm, coreSession.pr, { cacheOnly: true }); + if (!cached) { + // Nothing cached yet — block once to populate, then future calls use cache + await enrichSessionPR(dashboardSession, scm, coreSession.pr); + } } } diff --git a/packages/web/src/app/api/sessions/route.ts b/packages/web/src/app/api/sessions/route.ts index 7e65a833b..5a4318263 100644 --- a/packages/web/src/app/api/sessions/route.ts +++ b/packages/web/src/app/api/sessions/route.ts @@ -36,8 +36,9 @@ export async function GET(request: Request) { dashboardSessions = activeIndices.map((i) => dashboardSessions[i]); } - // Enrich metadata (issue labels, agent summaries, issue titles) - await enrichSessionsMetadata(workerSessions, dashboardSessions, config, registry); + // Enrich metadata (issue labels, agent summaries, issue titles) — cap at 3s + const metaTimeout = new Promise((resolve) => setTimeout(resolve, 3_000)); + await Promise.race([enrichSessionsMetadata(workerSessions, dashboardSessions, config, registry), metaTimeout]); // Enrich sessions that have PRs with live SCM data (CI, reviews, mergeability) const enrichPromises = workerSessions.map((core, i) => { @@ -47,7 +48,8 @@ export async function GET(request: Request) { if (!scm) return Promise.resolve(); return enrichSessionPR(dashboardSessions[i], scm, core.pr); }); - await Promise.allSettled(enrichPromises); + const enrichTimeout = new Promise((resolve) => setTimeout(resolve, 4_000)); + await Promise.race([Promise.allSettled(enrichPromises), enrichTimeout]); return NextResponse.json({ sessions: dashboardSessions, diff --git a/packages/web/src/app/globals.css b/packages/web/src/app/globals.css index f17157b3f..211c3f38f 100644 --- a/packages/web/src/app/globals.css +++ b/packages/web/src/app/globals.css @@ -1,46 +1,206 @@ @import "tailwindcss"; @theme { - --color-bg-primary: #0d1117; - --color-bg-secondary: #161b22; - --color-bg-tertiary: #1c2128; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-border-emphasis: #484f58; - --color-text-primary: #e6edf3; + /* ── Base surfaces ────────────────────────────────────────────────── */ + --color-bg-base: #0d1117; + --color-bg-surface: rgba(22, 27, 34, 0.8); + --color-bg-elevated: rgba(28, 33, 40, 0.9); + --color-bg-subtle: rgba(33, 38, 45, 0.7); + + /* Backward-compat aliases */ + --color-bg-primary: var(--color-bg-base); + --color-bg-secondary: var(--color-bg-surface); + --color-bg-tertiary: var(--color-bg-elevated); + + /* ── Borders ─────────────────────────────────────────────────────── */ + --color-border-subtle: rgba(48, 54, 61, 0.6); + --color-border-default: rgba(48, 54, 61, 1); + --color-border-strong: rgba(72, 79, 88, 1); + + /* Backward-compat aliases */ + --color-border-muted: var(--color-border-subtle); + --color-border-emphasis: var(--color-border-strong); + + /* ── Text ─────────────────────────────────────────────────────────── */ + --color-text-primary: #e6edf3; --color-text-secondary: #7d8590; - --color-text-muted: #484f58; - --color-accent-blue: #58a6ff; - --color-accent-purple: #bc8cff; - --color-accent-green: #3fb950; - --color-accent-yellow: #d29922; - --color-accent-orange: #d18616; - --color-accent-red: #f85149; - --color-accent-violet: #a371f7; - --font-mono: "SF Mono", "Menlo", "Consolas", monospace; + --color-text-tertiary: #484f58; + --color-text-muted: #484f58; + --color-text-inverse: #0d1117; + + /* ── Interactive accent ──────────────────────────────────────────── */ + --color-accent: #58a6ff; + --color-accent-hover: #79b8ff; + --color-accent-subtle: rgba(88, 166, 255, 0.12); + + /* ── Status / semantic colors ────────────────────────────────────── */ + --color-status-working: #58a6ff; + --color-status-ready: #3fb950; + --color-status-attention: #d29922; + --color-status-idle: #484f58; + --color-status-done: #30363d; + --color-status-error: #f85149; + + /* Semantic aliases */ + --color-accent-blue: #58a6ff; + --color-accent-green: #3fb950; + --color-accent-yellow: #d29922; + --color-accent-orange: #d18616; + --color-accent-red: #f85149; + --color-accent-violet: #a371f7; + --color-accent-purple: #bc8cff; + + /* ── Typography ──────────────────────────────────────────────────── */ + --font-sans: var(--font-ibm-plex-sans), "SF Pro Text", -apple-system, system-ui, sans-serif; + --font-mono: var(--font-ibm-plex-mono), "SF Mono", "Menlo", "Consolas", monospace; + + /* ── Border radius ────────────────────────────────────────────────── */ + --radius-sm: 4px; + --radius-md: 6px; + --radius-lg: 8px; + --radius-xl: 12px; + + /* ── Transitions ──────────────────────────────────────────────────── */ + --transition-quick: 0.1s; + --transition-regular: 0.25s; } +/* ── Base styles ─────────────────────────────────────────────────────── */ + body { - font-family: -apple-system, BlinkMacSystemFont, "SF Pro", system-ui, sans-serif; - background: var(--color-bg-primary); + font-family: var(--font-sans); + background: + radial-gradient(ellipse 70% 40% at 15% 0%, rgba(88, 166, 255, 0.05) 0%, transparent 60%), + radial-gradient(ellipse 50% 30% at 85% 90%, rgba(163, 113, 247, 0.04) 0%, transparent 60%), + var(--color-bg-base); color: var(--color-text-primary); min-height: 100vh; + letter-spacing: -0.011em; } a { - color: var(--color-accent-blue); + color: var(--color-accent); text-decoration: none; } a:hover { text-decoration: underline; } -@keyframes pulse { - 0%, - 100% { - opacity: 1; - } - 50% { - opacity: 0.4; - } +/* ── Scrollbar ────────────────────────────────────────────────────────── */ + +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.15); } +::-webkit-scrollbar-thumb:active { background: rgba(255,255,255,0.25); } + +/* ── Animations ──────────────────────────────────────────────────────── */ + +@keyframes activity-pulse { + 0%, 100% { box-shadow: 0 0 0 0 rgba(88, 166, 255, 0.45); } + 50% { box-shadow: 0 0 0 4px rgba(88, 166, 255, 0); } +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.4; } +} + +@keyframes slide-up { + from { opacity: 0; transform: translateY(4px); } + to { opacity: 1; transform: translateY(0); } +} + +/* ── Orchestrator button ──────────────────────────────────────────────── */ + +.orchestrator-btn { + color: var(--color-accent); + background: linear-gradient(175deg, rgba(88,166,255,0.12) 0%, rgba(88,166,255,0.06) 100%); + border: 1px solid rgba(88,166,255,0.25); + box-shadow: + 0 1px 2px rgba(0,0,0,0.6), + 0 3px 8px rgba(0,0,0,0.3), + inset 0 1px 0 rgba(255,255,255,0.08); + transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, border-color 0.12s ease; +} + +.orchestrator-btn:hover { + transform: translateY(-1px); + background: linear-gradient(175deg, rgba(88,166,255,0.18) 0%, rgba(88,166,255,0.1) 100%); + border-color: rgba(88,166,255,0.45); + box-shadow: + 0 2px 6px rgba(0,0,0,0.7), + 0 8px 20px rgba(0,0,0,0.35), + 0 0 20px rgba(88,166,255,0.12), + inset 0 1px 0 rgba(255,255,255,0.12); +} + +/* ── Glass nav ────────────────────────────────────────────────────────── */ + +.nav-glass { + background: rgba(13, 17, 23, 0.88); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); +} + +/* ── Detail page cards — subtle depth, no hover lift ─────────────────── */ + +.detail-card { + background: linear-gradient(175deg, rgba(24,31,40,1) 0%, rgba(17,22,29,1) 100%); + box-shadow: + 0 1px 3px rgba(0,0,0,0.6), + inset 0 1px 0 rgba(255,255,255,0.05); + --color-text-secondary: #8b949e; + --color-text-muted: #656d76; + --color-text-tertiary: #656d76; +} + +/* ── Session cards ────────────────────────────────────────────────────── */ + +.session-card { + background: linear-gradient(175deg, rgba(28,36,47,1) 0%, rgba(18,23,31,1) 100%); + box-shadow: + 0 1px 2px rgba(0,0,0,0.9), + 0 3px 10px rgba(0,0,0,0.55), + inset 0 1px 0 rgba(255,255,255,0.07); + transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease; + + /* Bump dim text colors inside the card — the elevated surface is darker + than the transparent bg these values were calibrated for */ + --color-text-secondary: #8b949e; + --color-text-muted: #656d76; + --color-text-tertiary: #656d76; +} + +.session-card:hover { + transform: translateY(-2px); + box-shadow: + 0 4px 8px rgba(0,0,0,0.85), + 0 14px 36px rgba(0,0,0,0.55), + inset 0 1px 0 rgba(255,255,255,0.1); +} + +.session-card.card-merge-ready { + background: linear-gradient(175deg, rgba(16,40,24,1) 0%, rgba(10,26,15,1) 100%); + box-shadow: + 0 0 0 1px rgba(63,185,80,0.22), + 0 1px 2px rgba(0,0,0,0.9), + 0 3px 10px rgba(0,0,0,0.55), + 0 0 40px rgba(63,185,80,0.13), + inset 0 1px 0 rgba(255,255,255,0.07); +} + +.session-card.card-merge-ready:hover { + transform: translateY(-2px); + box-shadow: + 0 0 0 1px rgba(63,185,80,0.35), + 0 4px 8px rgba(0,0,0,0.85), + 0 14px 36px rgba(0,0,0,0.55), + 0 0 60px rgba(63,185,80,0.2), + inset 0 1px 0 rgba(255,255,255,0.1); } diff --git a/packages/web/src/app/layout.tsx b/packages/web/src/app/layout.tsx index d102c4634..3b408cac2 100644 --- a/packages/web/src/app/layout.tsx +++ b/packages/web/src/app/layout.tsx @@ -1,7 +1,22 @@ import type { Metadata } from "next"; +import { IBM_Plex_Sans, IBM_Plex_Mono } from "next/font/google"; import { getProjectName } from "@/lib/project-name"; import "./globals.css"; +const ibmPlexSans = IBM_Plex_Sans({ + subsets: ["latin"], + variable: "--font-ibm-plex-sans", + display: "swap", + weight: ["300", "400", "500", "600", "700"], +}); + +const ibmPlexMono = IBM_Plex_Mono({ + subsets: ["latin"], + variable: "--font-ibm-plex-mono", + display: "swap", + weight: ["300", "400", "500"], +}); + export async function generateMetadata(): Promise { const projectName = getProjectName(); return { @@ -15,8 +30,8 @@ export async function generateMetadata(): Promise { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - - + + {children} diff --git a/packages/web/src/app/page.tsx b/packages/web/src/app/page.tsx index c06aaeea7..238661c65 100644 --- a/packages/web/src/app/page.tsx +++ b/packages/web/src/app/page.tsx @@ -39,8 +39,9 @@ export default async function Home() { const coreSessions = allSessions.filter((s) => !s.id.endsWith("-orchestrator")); sessions = coreSessions.map(sessionToDashboard); - // Enrich metadata (issue labels, agent summaries, issue titles) - await enrichSessionsMetadata(coreSessions, sessions, config, registry); + // Enrich metadata (issue labels, agent summaries, issue titles) — cap at 3s + const metaTimeout = new Promise((resolve) => setTimeout(resolve, 3_000)); + await Promise.race([enrichSessionsMetadata(coreSessions, sessions, config, registry), metaTimeout]); // Enrich sessions that have PRs with live SCM data // Skip enrichment for terminal sessions (merged, closed, done, terminated) @@ -92,7 +93,9 @@ export default async function Home() { if (!scm) return Promise.resolve(); return enrichSessionPR(sessions[i], scm, core.pr); }); - await Promise.allSettled(enrichPromises); + // Cap enrichment at 4s — if GitHub is slow/rate-limited, serve stale data fast + const enrichTimeout = new Promise((resolve) => setTimeout(resolve, 4_000)); + await Promise.race([Promise.allSettled(enrichPromises), enrichTimeout]); } catch { // Config not found or services unavailable — show empty dashboard } diff --git a/packages/web/src/app/sessions/[id]/page.tsx b/packages/web/src/app/sessions/[id]/page.tsx index 786d72205..e82dcb55d 100644 --- a/packages/web/src/app/sessions/[id]/page.tsx +++ b/packages/web/src/app/sessions/[id]/page.tsx @@ -3,7 +3,7 @@ import { useEffect, useState, useCallback } from "react"; import { useParams } from "next/navigation"; import { SessionDetail } from "@/components/SessionDetail"; -import type { DashboardSession } from "@/lib/types"; +import { type DashboardSession, getAttentionLevel, type AttentionLevel } from "@/lib/types"; import { activityIcon } from "@/lib/activity-icons"; function truncate(s: string, max: number): string { @@ -31,11 +31,22 @@ function buildSessionTitle(session: DashboardSession): string { return emoji ? `${emoji} ${id} | ${detail}` : `${id} | ${detail}`; } +interface ZoneCounts { + merge: number; + respond: number; + review: number; + pending: number; + working: number; + done: number; +} + export default function SessionPage() { const params = useParams(); const id = params.id as string; + const isOrchestrator = id.endsWith("-orchestrator"); const [session, setSession] = useState(null); + const [zoneCounts, setZoneCounts] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); @@ -57,9 +68,7 @@ export default function SessionPage() { setLoading(false); return; } - if (!res.ok) { - throw new Error(`HTTP ${res.status}`); - } + if (!res.ok) throw new Error(`HTTP ${res.status}`); const data = (await res.json()) as DashboardSession; setSession(data); setError(null); @@ -71,32 +80,66 @@ export default function SessionPage() { } }, [id]); - // Initial fetch + const fetchZoneCounts = useCallback(async () => { + if (!isOrchestrator) return; + try { + const res = await fetch("/api/sessions"); + if (!res.ok) return; + const body = (await res.json()) as { sessions: DashboardSession[] }; + const sessions = body.sessions ?? []; + const counts: ZoneCounts = { merge: 0, respond: 0, review: 0, pending: 0, working: 0, done: 0 }; + for (const s of sessions) { + if (!s.id.endsWith("-orchestrator")) { + counts[getAttentionLevel(s) as AttentionLevel]++; + } + } + setZoneCounts(counts); + } catch { + // non-critical — status strip just won't show + } + }, [isOrchestrator]); + + // Initial fetch — session first, zone counts after (avoids blocking on slow /api/sessions) useEffect(() => { fetchSession(); - }, [fetchSession]); + // Delay zone counts so the heavy /api/sessions call doesn't contend with session load + const t = setTimeout(fetchZoneCounts, 2000); + return () => clearTimeout(t); + }, [fetchSession, fetchZoneCounts]); - // Poll for updates every 5 seconds + // Poll every 5s useEffect(() => { - const interval = setInterval(fetchSession, 5000); + const interval = setInterval(() => { + fetchSession(); + fetchZoneCounts(); + }, 5000); return () => clearInterval(interval); - }, [fetchSession]); + }, [fetchSession, fetchZoneCounts]); if (loading) { return ( -
-
Loading session...
+
+
Loading session…
); } if (error || !session) { return ( -
-
{error || "Session not found"}
+
); } - return ; + return ( + + ); } diff --git a/packages/web/src/components/ActivityDot.tsx b/packages/web/src/components/ActivityDot.tsx new file mode 100644 index 000000000..d2abab4b7 --- /dev/null +++ b/packages/web/src/components/ActivityDot.tsx @@ -0,0 +1,66 @@ +"use client"; + +import { cn } from "@/lib/cn"; + +const activityConfig: Record< + string, + { label: string; dot: string; bg: string; text: string } +> = { + active: { label: "active", dot: "var(--color-status-working)", bg: "rgba(88,166,255,0.1)", text: "var(--color-status-working)" }, + ready: { label: "ready", dot: "var(--color-status-ready)", bg: "rgba(63,185,80,0.1)", text: "var(--color-status-ready)" }, + idle: { label: "idle", dot: "var(--color-status-idle)", bg: "rgba(72,79,88,0.25)", text: "var(--color-text-secondary)" }, + waiting_input: { label: "waiting", dot: "var(--color-status-attention)", bg: "rgba(210,153,34,0.12)", text: "var(--color-status-attention)" }, + blocked: { label: "blocked", dot: "var(--color-status-error)", bg: "rgba(248,81,73,0.1)", text: "var(--color-status-error)" }, + exited: { label: "exited", dot: "var(--color-status-done)", bg: "rgba(48,54,61,0.5)", text: "var(--color-text-muted)" }, +}; + +const fallbackConfig = { + dot: "var(--color-text-tertiary)", + bg: "rgba(74,74,74,0.2)", + text: "var(--color-text-muted)", +}; + +interface ActivityDotProps { + activity: string | null; + /** When true renders only the dot (no label pill) — for detail page headers */ + dotOnly?: boolean; + size?: number; +} + +export function ActivityDot({ activity, dotOnly = false, size = 6 }: ActivityDotProps) { + const c = (activity !== null && activityConfig[activity]) || { + label: activity ?? "unknown", + ...fallbackConfig, + }; + const isPulsing = activity === "active"; + + if (dotOnly) { + return ( +
+ ); + } + + return ( + + + + {c.label} + + + ); +} diff --git a/packages/web/src/components/AttentionZone.tsx b/packages/web/src/components/AttentionZone.tsx index df17e24ee..680c58b70 100644 --- a/packages/web/src/components/AttentionZone.tsx +++ b/packages/web/src/components/AttentionZone.tsx @@ -7,6 +7,7 @@ import { SessionCard } from "./SessionCard"; interface AttentionZoneProps { level: AttentionLevel; sessions: DashboardSession[]; + variant?: "column" | "grid"; onSend?: (sessionId: string, message: string) => void; onKill?: (sessionId: string) => void; onMerge?: (prNumber: number) => void; @@ -17,45 +18,38 @@ const zoneConfig: Record< AttentionLevel, { label: string; - description: string; color: string; defaultCollapsed: boolean; } > = { merge: { - label: "MERGE", - description: "PRs ready to merge", - color: "var(--color-accent-green)", + label: "Merge", + color: "var(--color-status-ready)", defaultCollapsed: false, }, respond: { - label: "RESPOND", - description: "Agents waiting for your input", - color: "var(--color-accent-red)", + label: "Respond", + color: "var(--color-status-error)", defaultCollapsed: false, }, review: { - label: "REVIEW", - description: "CI failures, changes requested, conflicts", + label: "Review", color: "var(--color-accent-orange)", defaultCollapsed: false, }, pending: { - label: "PENDING", - description: "Waiting on reviewer or CI", - color: "var(--color-accent-yellow)", + label: "Pending", + color: "var(--color-status-attention)", defaultCollapsed: false, }, working: { - label: "WORKING", - description: "Agents working normally", - color: "var(--color-accent-blue)", + label: "Working", + color: "var(--color-status-working)", defaultCollapsed: false, }, done: { - label: "DONE", - description: "Merged or terminated", - color: "var(--color-text-muted)", + label: "Done", + color: "var(--color-text-tertiary)", defaultCollapsed: true, }, }; @@ -63,6 +57,7 @@ const zoneConfig: Record< export function AttentionZone({ level, sessions, + variant = "grid", onSend, onKill, onMerge, @@ -73,35 +68,95 @@ export function AttentionZone({ if (sessions.length === 0) return null; + if (variant === "column") { + return ( +
+ {/* Column header */} + + + {!collapsed && ( +
+ {sessions.map((session) => ( + + ))} +
+ )} +
+ ); + } + return ( -
+
+ {/* Zone header: [●] LABEL ──────────────────────────────── count [▾] */} {!collapsed && ( -
+
{sessions.map((session) => ( { const zones: Record = { merge: [], @@ -65,7 +69,6 @@ export function Dashboard({ sessions, stats, orchestratorId, projectName }: Dash }; const handleMerge = async (prNumber: number) => { - if (!confirm(`Merge PR #${prNumber}?`)) return; const res = await fetch(`/api/prs/${prNumber}/merge`, { method: "POST" }); if (!res.ok) { console.error(`Failed to merge PR #${prNumber}:`, await res.text()); @@ -82,62 +85,104 @@ export function Dashboard({ sessions, stats, orchestratorId, projectName }: Dash } }; + const hasKanbanSessions = KANBAN_LEVELS.some((l) => grouped[l].length > 0); + + const anyRateLimited = useMemo( + () => sessions.some((s) => s.pr && isPRRateLimited(s.pr)), + [sessions], + ); + return ( -
+
{/* Header */} -
-

- Agent Orchestrator -

-
- {orchestratorId && ( - - orchestrator terminal - - )} - +
+
+

+ Orchestrator +

+
-
- - {/* Stats bar */} -
- - - - -
- - {/* Attention zones */} -
-

- Sessions -

- {(["merge", "respond", "review", "pending", "working", "done"] as AttentionLevel[]).map( - (level) => ( - - ), + {orchestratorId && ( + + + orchestrator + + + + )}
+ {/* Rate limit notice */} + {anyRateLimited && !rateLimitDismissed && ( +
+ + + + + + GitHub API rate limited — PR data (CI status, review state, sizes) may be stale. + {" "}Will retry automatically on next refresh. + + +
+ )} + + {/* Kanban columns for active zones */} + {hasKanbanSessions && ( +
+ {KANBAN_LEVELS.map((level) => + grouped[level].length > 0 ? ( +
+ +
+ ) : null, + )} +
+ )} + + {/* Done — full-width grid below Kanban */} + {grouped.done.length > 0 && ( +
+ +
+ )} + {/* PR Table */} {openPRs.length > 0 && ( -
-

+
+

Pull Requests

-
+
@@ -174,22 +219,40 @@ export function Dashboard({ sessions, stats, orchestratorId, projectName }: Dash ); } -/** Renders timestamp client-side only to avoid hydration mismatch. */ -function ClientTimestamp() { - const [time, setTime] = useState(""); - useEffect(() => { - setTime(new Date().toLocaleString()); - }, []); - return {time}; -} +function StatusLine({ stats }: { stats: DashboardStats }) { + if (stats.totalSessions === 0) { + return no sessions; + } + + const parts: Array<{ value: number; label: string; color?: string }> = [ + { value: stats.totalSessions, label: "sessions" }, + ...(stats.workingSessions > 0 + ? [{ value: stats.workingSessions, label: "active", color: "var(--color-status-working)" }] + : []), + ...(stats.openPRs > 0 ? [{ value: stats.openPRs, label: "PRs" }] : []), + ...(stats.needsReview > 0 + ? [{ value: stats.needsReview, label: "need review", color: "var(--color-status-attention)" }] + : []), + ]; -function Stat({ value, label, color }: { value: number; label: string; color: string }) { return ( -
- - {value} - - {label} +
+ {parts.map((p, i) => ( + + {i > 0 && ( + · + )} + + {p.value} + + + {p.label} + + + ))}
); } diff --git a/packages/web/src/components/DirectTerminal.tsx b/packages/web/src/components/DirectTerminal.tsx index 7fda2273b..a4833a611 100644 --- a/packages/web/src/components/DirectTerminal.tsx +++ b/packages/web/src/components/DirectTerminal.tsx @@ -14,6 +14,11 @@ import type { FitAddon as FitAddonType } from "@xterm/addon-fit"; interface DirectTerminalProps { sessionId: string; startFullscreen?: boolean; + /** Visual variant. "orchestrator" uses violet accent; "agent" (default) uses blue. */ + variant?: "agent" | "orchestrator"; + /** CSS height for the terminal container in normal (non-fullscreen) mode. + * Defaults to "max(440px, calc(100vh - 440px))". */ + height?: string; } /** @@ -26,7 +31,12 @@ interface DirectTerminalProps { * - When tmux sees "XTerm(" in response, it enables TTYC_MS (clipboard) * - xterm.js doesn't implement XDA by default, so we register custom handler */ -export function DirectTerminal({ sessionId, startFullscreen = false }: DirectTerminalProps) { +export function DirectTerminal({ + sessionId, + startFullscreen = false, + variant = "agent", + height = "max(440px, calc(100vh - 440px))", +}: DirectTerminalProps) { const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); @@ -70,21 +80,45 @@ export function DirectTerminal({ sessionId, startFullscreen = false }: DirectTer .then(([Terminal, FitAddon, WebLinksAddon]) => { if (!mounted || !terminalRef.current) return; + // Cursor and selection color differ by variant: + // agent = blue (#5b7ef8), orchestrator = violet (#a371f7) + const cursorColor = variant === "orchestrator" ? "#a371f7" : "#5b7ef8"; + const selectionColor = + variant === "orchestrator" + ? "rgba(163, 113, 247, 0.25)" + : "rgba(91, 126, 248, 0.3)"; + // Initialize xterm.js Terminal const terminal = new Terminal({ cursorBlink: true, - fontSize: 14, - fontFamily: 'Menlo, Monaco, "Courier New", monospace', + fontSize: 13, + fontFamily: '"IBM Plex Mono", "SF Mono", Menlo, Monaco, "Courier New", monospace', theme: { - background: "#000000", - foreground: "#ffffff", - cursor: "#ffffff", - cursorAccent: "#000000", - selectionBackground: "rgba(255, 255, 255, 0.3)", + background: "#0a0a0f", + foreground: "#d4d4d8", + cursor: cursorColor, + cursorAccent: "#0a0a0f", + selectionBackground: selectionColor, + // ANSI colors — slightly warmer than pure defaults + black: "#1a1a24", + red: "#ef4444", + green: "#22c55e", + yellow: "#f59e0b", + blue: "#5b7ef8", + magenta: "#a371f7", + cyan: "#22d3ee", + white: "#d4d4d8", + brightBlack: "#50506a", + brightRed: "#f87171", + brightGreen: "#4ade80", + brightYellow: "#fbbf24", + brightBlue: "#7b9cfb", + brightMagenta: "#c084fc", + brightCyan: "#67e8f9", + brightWhite: "#eeeef5", }, scrollback: 10000, - allowProposedApi: true, // Required for some advanced features - // Smooth scrolling configuration + allowProposedApi: true, fastScrollModifier: "alt", fastScrollSensitivity: 3, scrollSensitivity: 1, @@ -209,7 +243,7 @@ export function DirectTerminal({ sessionId, startFullscreen = false }: DirectTer mounted = false; cleanup?.(); }; - }, [sessionId]); + }, [sessionId, variant]); // Re-fit terminal when fullscreen changes useEffect(() => { @@ -289,56 +323,90 @@ export function DirectTerminal({ sessionId, startFullscreen = false }: DirectTer }; }, [fullscreen]); - const statusColor = + const accentColor = variant === "orchestrator" ? "var(--color-accent-violet)" : "var(--color-accent)"; + + const statusDotClass = status === "connected" - ? "bg-[#3fb950]" + ? "bg-[var(--color-status-ready)]" : status === "error" - ? "bg-[#f85149]" - : "bg-[#d29922] animate-pulse"; + ? "bg-[var(--color-status-error)]" + : "bg-[var(--color-status-attention)] animate-[pulse_1.5s_ease-in-out_infinite]"; const statusText = status === "connected" ? "Connected" : status === "error" ? (error ?? "Error") - : "Connecting..."; + : "Connecting…"; const statusTextColor = status === "connected" - ? "text-[var(--color-accent-green)]" + ? "text-[var(--color-status-ready)]" : status === "error" - ? "text-[var(--color-accent-red)]" - : "text-[var(--color-text-muted)]"; + ? "text-[var(--color-status-error)]" + : "text-[var(--color-text-tertiary)]"; return (
-
-
- + {/* Terminal chrome bar */} +
+
+ {sessionId} - + {statusText} - + {/* XDA clipboard badge */} + XDA
+ {/* Terminal area */}
); diff --git a/packages/web/src/components/PRStatus.tsx b/packages/web/src/components/PRStatus.tsx index 477359ad8..3d0a38de3 100644 --- a/packages/web/src/components/PRStatus.tsx +++ b/packages/web/src/components/PRStatus.tsx @@ -1,6 +1,6 @@ "use client"; -import type { DashboardPR } from "@/lib/types"; +import { type DashboardPR, isPRRateLimited } from "@/lib/types"; import { CIBadge } from "./CIBadge"; function getSizeLabel(additions: number, deletions: number): string { @@ -14,6 +14,7 @@ interface PRStatusProps { export function PRStatus({ pr }: PRStatusProps) { const sizeLabel = getSizeLabel(pr.additions, pr.deletions); + const rateLimited = isPRRateLimited(pr); return (
@@ -22,16 +23,18 @@ export function PRStatus({ pr }: PRStatusProps) { href={pr.url} target="_blank" rel="noopener noreferrer" - className="inline-flex items-center rounded-full bg-[rgba(88,166,255,0.1)] px-2 py-0.5 text-[10px] font-semibold text-[var(--color-accent-blue)] hover:underline" + className="text-[11px] font-medium text-[var(--color-accent)] underline-offset-2 hover:underline" onClick={(e) => e.stopPropagation()} > #{pr.number} - {/* Size */} - - +{pr.additions} -{pr.deletions} {sizeLabel} - + {/* Size — hide when rate limited (would show +0 -0 XS) */} + {!rateLimited && ( + + +{pr.additions} -{pr.deletions} {sizeLabel} + + )} {/* Merged badge */} {pr.state === "merged" && ( @@ -47,11 +50,13 @@ export function PRStatus({ pr }: PRStatusProps) { )} - {/* CI status (only for open PRs) */} - {pr.state === "open" && !pr.isDraft && } + {/* CI status — only when we have real data */} + {pr.state === "open" && !pr.isDraft && !rateLimited && ( + + )} - {/* Review decision (only for open PRs) */} - {pr.state === "open" && pr.reviewDecision === "approved" && ( + {/* Review decision (only for open PRs with real data) */} + {pr.state === "open" && pr.reviewDecision === "approved" && !rateLimited && ( approved @@ -66,22 +71,27 @@ interface PRTableRowProps { export function PRTableRow({ pr }: PRTableRowProps) { const sizeLabel = getSizeLabel(pr.additions, pr.deletions); + const rateLimited = isPRRateLimited(pr); - const reviewLabel = pr.isDraft - ? "draft" - : pr.reviewDecision === "approved" - ? "approved" - : pr.reviewDecision === "changes_requested" - ? "changes requested" - : "needs review"; + const reviewLabel = rateLimited + ? "—" + : pr.isDraft + ? "draft" + : pr.reviewDecision === "approved" + ? "approved" + : pr.reviewDecision === "changes_requested" + ? "changes requested" + : "needs review"; - const reviewClass = pr.isDraft - ? "text-[var(--color-text-muted)]" - : pr.reviewDecision === "approved" - ? "text-[var(--color-accent-green)]" - : pr.reviewDecision === "changes_requested" - ? "text-[var(--color-accent-red)]" - : "text-[var(--color-accent-yellow)]"; + const reviewClass = rateLimited + ? "text-[var(--color-text-tertiary)]" + : pr.isDraft + ? "text-[var(--color-text-muted)]" + : pr.reviewDecision === "approved" + ? "text-[var(--color-accent-green)]" + : pr.reviewDecision === "changes_requested" + ? "text-[var(--color-accent-red)]" + : "text-[var(--color-accent-yellow)]"; return (
@@ -92,12 +102,22 @@ export function PRTableRow({ pr }: PRTableRowProps) {
{pr.title} - +{pr.additions}{" "} - -{pr.deletions}{" "} - {sizeLabel} + {rateLimited ? ( + + ) : ( + <> + +{pr.additions}{" "} + -{pr.deletions}{" "} + {sizeLabel} + + )} - + {rateLimited ? ( + + ) : ( + + )} {reviewLabel} = { - merge: "border-l-[var(--color-accent-green)]", - respond: "border-l-[var(--color-accent-red)]", - review: "border-l-[var(--color-accent-orange)]", - pending: "border-l-[var(--color-accent-yellow)]", - working: "border-l-[var(--color-accent-blue)]", - done: "border-l-[var(--color-border-default)]", + merge: "border-l-[var(--color-status-ready)]", + respond: "border-l-[var(--color-status-error)]", + review: "border-l-[var(--color-accent-orange)]", + pending: "border-l-[var(--color-status-attention)]", + working: "border-l-[var(--color-status-working)]", + done: "border-l-[var(--color-border-default)]", }; export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: SessionCardProps) { @@ -40,9 +41,7 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses const pr = session.pr; useEffect(() => { - return () => { - if (timerRef.current) clearTimeout(timerRef.current); - }; + return () => { if (timerRef.current) clearTimeout(timerRef.current); }; }, []); const handleAction = async (action: string, message: string) => { @@ -52,137 +51,155 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses timerRef.current = setTimeout(() => setSendingAction(null), 2000); }; + const rateLimited = pr ? isPRRateLimited(pr) : false; const alerts = getAlerts(session); - const isReadyToMerge = pr?.mergeability.mergeable && pr.state === "open"; + const isReadyToMerge = !rateLimited && pr?.mergeability.mergeable && pr.state === "open"; const isTerminal = TERMINAL_STATUSES.has(session.status) || (session.activity !== null && TERMINAL_ACTIVITIES.has(session.activity)); - // UI restore button: more permissive than core isRestorable() — shows restore - // when agent has exited even if status is "working" (agent crashed mid-work). - // Only block "merged" (server-side restore will reject anyway). const isRestorable = isTerminal && session.status !== "merged"; + const title = getSessionTitle(session); + return (
{ if ((e.target as HTMLElement).closest("a, button, textarea")) return; setExpanded(!expanded); }} > - {/* Top row */} -
- - {(session.activity && activityIcon[session.activity]) ?? "\u2753"} - - + {/* Header row: dot + session ID + terminal link */} +
+ + {session.id} - - {getSessionTitle(session)} - +
{isRestorable && ( )} {!isTerminal && ( e.stopPropagation()} - className="shrink-0 rounded-md border border-[var(--color-border-default)] px-2.5 py-0.5 text-[11px] text-[var(--color-text-secondary)] transition-colors hover:border-[var(--color-accent-blue)] hover:text-[var(--color-accent-blue)] hover:no-underline" + className="rounded border border-[var(--color-border-default)] bg-[var(--color-bg-subtle)] px-2.5 py-0.5 text-[11px] text-[var(--color-text-muted)] transition-colors hover:border-[var(--color-accent)] hover:text-[var(--color-accent)] hover:no-underline" > terminal )}
+ {/* Title — its own row, bigger, can wrap */} +
+

+ {title} +

+
+ {/* Meta row: branch + PR pills */} -
+
{session.branch && ( - + {session.branch} )} {session.branch && pr && ( - · + · )} {pr && }
- {/* Alert tags */} - {(alerts.length > 0 || isReadyToMerge) && ( -
+ {/* Rate limited indicator */} + {rateLimited && pr?.state === "open" && ( +
+ + + + + + PR data rate limited + +
+ )} + + {/* Merge button or alert tags */} + {!rateLimited && (alerts.length > 0 || isReadyToMerge) && ( +
{isReadyToMerge && pr ? ( ) : ( - alerts.map((alert) => ( - - e.stopPropagation()} - className={cn( - "inline-flex items-center gap-1.5 rounded-md border px-3 py-0.5 text-xs font-bold hover:brightness-125", - alert.className, - )} - > - {alert.count !== undefined && ( - {alert.count} - )} - {alert.label} - - {alert.actionLabel && session.activity !== "active" && ( - - )} - - )) + {alert.count !== undefined && {alert.count}} + {alert.label} + + {alert.actionLabel && session.activity !== "active" && ( + + )} + + ))} +
)}
)} {/* Expandable detail panel */} {expanded && ( -
+
{session.summary && pr?.title && session.summary !== pr.title && ( -

+

{session.summary}

@@ -194,7 +211,7 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses href={session.issueUrl} target="_blank" rel="noopener noreferrer" - className="text-xs text-[var(--color-accent-blue)] hover:underline" + className="text-[12px] text-[var(--color-accent)] hover:underline" > {session.issueLabel || session.issueUrl} {session.issueTitle && `: ${session.issueTitle}`} @@ -212,20 +229,13 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses
{pr.unresolvedComments.map((c) => ( -
- - {"\u25CF"} - - + ))} @@ -234,47 +244,37 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses )} {pr && ( - -

- - {pr.title} - + +

+ {pr.title}
- +{pr.additions}{" "} - -{pr.deletions} - {" \u00B7 "}mergeable: {pr.mergeability.mergeable ? "yes" : "no"} - {" \u00B7 "}review: {pr.reviewDecision} + +{pr.additions}{" "} + -{pr.deletions} + {" · "}mergeable: {pr.mergeability.mergeable ? "yes" : "no"} + {" · "}review: {pr.reviewDecision}

)} {!pr && ( -

- No PR associated with this session. -

+

No PR associated with this session.

)} -
+
{isRestorable && ( )} {!isTerminal && ( )}
@@ -287,7 +287,7 @@ export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: Ses function DetailSection({ label, children }: { label: string; children: React.ReactNode }) { return (
-
+
{label}
{children} @@ -308,79 +308,68 @@ interface Alert { function getAlerts(session: DashboardSession): Alert[] { const pr = session.pr; if (!pr || pr.state !== "open") return []; + if (isPRRateLimited(pr)) return []; const alerts: Alert[] = []; - // CI failing if (pr.ciStatus === CI_STATUS.FAILING) { const failedCheck = pr.ciChecks.find((c) => c.status === "failed"); const failCount = pr.ciChecks.filter((c) => c.status === "failed").length; - - // If ciStatus is "failing" but no failed checks, the API likely failed if (failCount === 0) { alerts.push({ key: "ci-unknown", - label: "CI status unknown", - className: - "border-[rgba(210,153,34,0.3)] bg-[rgba(210,153,34,0.15)] text-[var(--color-accent-yellow)]", + label: "CI unknown", + className: "border-[rgba(245,158,11,0.3)] bg-[rgba(245,158,11,0.08)] text-[var(--color-status-attention)]", url: pr.url + "/checks", }); } else { alerts.push({ key: "ci-fail", label: `${failCount} CI check${failCount > 1 ? "s" : ""} failing`, - className: - "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + className: "border-[rgba(239,68,68,0.3)] bg-[rgba(239,68,68,0.08)] text-[var(--color-status-error)]", url: failedCheck?.url ?? pr.url + "/checks", - actionLabel: "ask to fix CI", + actionLabel: "ask to fix", actionMessage: `Please fix the failing CI checks on ${pr.url}`, }); } } - // Changes requested if (pr.reviewDecision === "changes_requested") { alerts.push({ key: "changes", label: "changes requested", - className: - "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + className: "border-[rgba(239,68,68,0.3)] bg-[rgba(239,68,68,0.08)] text-[var(--color-status-error)]", url: pr.url, }); } else if (!pr.isDraft && (pr.reviewDecision === "pending" || pr.reviewDecision === "none")) { alerts.push({ key: "review", label: "needs review", - className: - "border-[rgba(210,153,34,0.3)] bg-[rgba(210,153,34,0.15)] text-[var(--color-accent-yellow)]", + className: "border-[rgba(245,158,11,0.3)] bg-[rgba(245,158,11,0.08)] text-[var(--color-status-attention)]", url: pr.url, - actionLabel: "ask to post for review", + actionLabel: "ask to post", actionMessage: `Post ${pr.url} on slack asking for a review.`, }); } - // Merge conflict if (!pr.mergeability.noConflicts) { alerts.push({ key: "conflict", label: "merge conflict", - className: - "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + className: "border-[rgba(239,68,68,0.3)] bg-[rgba(239,68,68,0.08)] text-[var(--color-status-error)]", url: pr.url, - actionLabel: "ask to fix conflicts", + actionLabel: "ask to fix", actionMessage: `Please resolve the merge conflicts on ${pr.url} by rebasing on the base branch`, }); } - // Unresolved comments if (pr.unresolvedThreads > 0) { const firstUrl = pr.unresolvedComments[0]?.url ?? pr.url + "/files"; alerts.push({ key: "comments", label: "unresolved comments", count: pr.unresolvedThreads, - className: - "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + className: "border-[rgba(239,68,68,0.3)] bg-[rgba(239,68,68,0.08)] text-[var(--color-status-error)]", url: firstUrl, actionLabel: "ask to resolve", actionMessage: `Please address all unresolved review comments on ${pr.url}`, diff --git a/packages/web/src/components/SessionDetail.tsx b/packages/web/src/components/SessionDetail.tsx index a5403d39f..28344c1c3 100644 --- a/packages/web/src/components/SessionDetail.tsx +++ b/packages/web/src/components/SessionDetail.tsx @@ -7,23 +7,34 @@ import { CI_STATUS } from "@composio/ao-core/types"; import { cn } from "@/lib/cn"; import { CICheckList } from "./CIBadge"; import { DirectTerminal } from "./DirectTerminal"; +import { ActivityDot } from "./ActivityDot"; + +interface OrchestratorZones { + merge: number; + respond: number; + review: number; + pending: number; + working: number; + done: number; +} interface SessionDetailProps { session: DashboardSession; + isOrchestrator?: boolean; + orchestratorZones?: OrchestratorZones; } // ── Helpers ────────────────────────────────────────────────────────── -const activityLabel: Record = { - active: { label: "Active", color: "var(--color-accent-green)" }, - ready: { label: "Ready", color: "var(--color-accent-blue)" }, - idle: { label: "Idle", color: "var(--color-text-muted)" }, - waiting_input: { label: "Waiting for input", color: "var(--color-accent-yellow)" }, - blocked: { label: "Blocked", color: "var(--color-accent-red)" }, - exited: { label: "Exited", color: "var(--color-accent-red)" }, +const activityMeta: Record = { + active: { label: "Active", color: "var(--color-status-working)" }, + ready: { label: "Ready", color: "var(--color-status-ready)" }, + idle: { label: "Idle", color: "var(--color-status-idle)" }, + waiting_input: { label: "Waiting for input", color: "var(--color-status-attention)" }, + blocked: { label: "Blocked", color: "var(--color-status-error)" }, + exited: { label: "Exited", color: "var(--color-status-error)" }, }; -/** Converts snake_case status enum to Title Case display string. */ function humanizeStatus(status: string): string { return status .replace(/_/g, " ") @@ -32,9 +43,10 @@ function humanizeStatus(status: string): string { .replace(/\b\w/g, (c) => c.toUpperCase()); } -/** Converts ISO date string to relative time like "3h ago", "2m ago". Client-side only. */ function relativeTime(iso: string): string { - const diff = Date.now() - new Date(iso).getTime(); + const ms = new Date(iso).getTime(); + if (!iso || isNaN(ms)) return "unknown"; + const diff = Date.now() - ms; const seconds = Math.floor(diff / 1000); if (seconds < 60) return "just now"; const minutes = Math.floor(seconds / 60); @@ -45,42 +57,28 @@ function relativeTime(iso: string): string { return `${days}d ago`; } -/** Clean up review comment body - extract title and description, remove HTML junk */ function cleanBugbotComment(body: string): { title: string; description: string } { - // Check if this is a Bugbot comment (has structured markers) const isBugbot = body.includes("") || body.includes("### "); - if (isBugbot) { - // Extract title (first ### heading) const titleMatch = body.match(/###\s+(.+?)(?:\n|$)/); const title = titleMatch ? titleMatch[1].replace(/\*\*/g, "").trim() : "Comment"; - - // Extract description between DESCRIPTION START/END comments const descMatch = body.match( /\s*([\s\S]*?)\s*/, ); const description = descMatch ? descMatch[1].trim() : body.split("\n")[0] || "No description"; - return { title, description }; - } else { - // For non-Bugbot comments, use full body as description - return { title: "Comment", description: body.trim() }; } + return { title: "Comment", description: body.trim() }; } -/** Builds a GitHub branch URL from PR owner/repo/branch. */ function buildGitHubBranchUrl(pr: DashboardPR): string { return `https://github.com/${pr.owner}/${pr.repo}/tree/${pr.branch}`; } -/** Builds a GitHub repo URL from PR owner/repo. */ function buildGitHubRepoUrl(pr: DashboardPR): string { return `https://github.com/${pr.owner}/${pr.repo}`; } -// ── Main Component ─────────────────────────────────────────────────── - -/** Ask the agent to fix a specific review comment */ async function askAgentToFix( sessionId: string, comment: { url: string; path: string; body: string }, @@ -90,17 +88,12 @@ async function askAgentToFix( try { const { title, description } = cleanBugbotComment(comment.body); const message = `Please address this review comment:\n\nFile: ${comment.path}\nComment: ${title}\nDescription: ${description}\n\nComment URL: ${comment.url}\n\nAfter fixing, mark the comment as resolved at ${comment.url}`; - - const res = await fetch(`/api/sessions/${sessionId}/message`, { + const res = await fetch(`/api/sessions/${encodeURIComponent(sessionId)}/message`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ message }), }); - - if (!res.ok) { - throw new Error(`HTTP ${res.status}`); - } - + if (!res.ok) throw new Error(`HTTP ${res.status}`); onSuccess(); } catch (err) { console.error("Failed to send message to agent:", err); @@ -108,148 +101,285 @@ async function askAgentToFix( } } -export function SessionDetail({ session }: SessionDetailProps) { +// ── Orchestrator status strip ───────────────────────────────────────── + +function OrchestratorStatusStrip({ + zones, + createdAt, +}: { + zones: OrchestratorZones; + createdAt: string; +}) { + const [uptime, setUptime] = useState(""); + + useEffect(() => { + const compute = () => { + const diff = Date.now() - new Date(createdAt).getTime(); + const h = Math.floor(diff / 3_600_000); + const m = Math.floor((diff % 3_600_000) / 60_000); + setUptime(h > 0 ? `${h}h ${m}m` : `${m}m`); + }; + compute(); + const id = setInterval(compute, 30_000); + return () => clearInterval(id); + }, [createdAt]); + + const stats: Array<{ value: number; label: string; color: string; bg: string }> = [ + { value: zones.merge, label: "merge-ready", color: "#3fb950", bg: "rgba(63,185,80,0.1)" }, + { value: zones.respond, label: "responding", color: "#f85149", bg: "rgba(248,81,73,0.1)" }, + { value: zones.review, label: "review", color: "#d18616", bg: "rgba(209,134,22,0.1)" }, + { value: zones.working, label: "working", color: "#58a6ff", bg: "rgba(88,166,255,0.1)" }, + { value: zones.pending, label: "pending", color: "#d29922", bg: "rgba(210,153,34,0.1)" }, + { value: zones.done, label: "done", color: "#484f58", bg: "rgba(72,79,88,0.15)" }, + ].filter((s) => s.value > 0); + + const total = zones.merge + zones.respond + zones.review + zones.working + zones.pending + zones.done; + + return ( +
+
+ {/* Total count */} +
+ + {total} + + agents +
+ +
+ + {/* Per-zone pills */} + {stats.length > 0 ? stats.map((s) => ( +
+ + {s.value} + + + {s.label} + +
+ )) : ( + no active agents + )} + + {uptime && ( + + up {uptime} + + )} +
+
+ ); +} + +// ── Main component ──────────────────────────────────────────────────── + +export function SessionDetail({ session, isOrchestrator = false, orchestratorZones }: SessionDetailProps) { const searchParams = useSearchParams(); const startFullscreen = searchParams.get("fullscreen") === "true"; const pr = session.pr; - const activity = (session.activity && activityLabel[session.activity]) ?? { + const activity = (session.activity && activityMeta[session.activity]) ?? { label: session.activity ?? "unknown", color: "var(--color-text-muted)", }; + const accentColor = "var(--color-accent)"; + const terminalVariant = isOrchestrator ? "orchestrator" : "agent"; + + const terminalHeight = isOrchestrator + ? "calc(100vh - 240px)" + : "max(440px, calc(100vh - 440px))"; + return ( -
- {/* Nav bar */} -