Skip to content

[Gastown] PR 7: Basic Dashboard UI #213

@jrf0110

Description

@jrf0110

Parent: #204 | Phase 1: Single Rig, Single Polecat

Goal

Minimal UI to create a rig, sling work, and watch an agent work. Thin first pass following existing dashboard patterns.

Pages

Route Component Purpose
/gastown Town list List user's towns, create new
/gastown/[townId] Town overview List rigs, active convoys
/gastown/[townId]/rigs/[rigId] Rig detail Bead board, agent list, agent stream

Key Components

  • Bead board: Simple list/kanban of beads by status (open → in_progress → closed). Read from DO via tRPC → Gastown worker API.
  • Agent card: Shows agent identity, status, current hook. Links to conversation stream.
  • Agent stream: WebSocket connection to the container's stream endpoint (via getAgentStreamUrl tRPC query). The container proxies Kilo CLI output events.
  • Sling dialog: Form to create a bead and assign it. Inputs: title, body, model selector.
  • Mayor chat: Direct message input that sends to the Mayor agent. Uses sendMessage tRPC mutation.

Revised: Agent stream now connects to the Town Container's stream endpoint instead of cloud-agent-next WebSocket. Mayor chat input added.

Dependencies

Acceptance Criteria

  • Town list page with create town form
  • Town overview page showing rigs
  • Rig detail page with bead board, agent cards, and agent stream
  • Sling dialog that creates a bead and starts a polecat (via alarm dispatch)
  • Agent stream component connecting to container's WebSocket
  • Mayor chat input component
  • Responsive layout following existing dashboard patterns

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions