Mission Control
Mission Control is a desktop application inside Agency — not the Agency system, and not the whole web UI.
Agency (the product) is an agent operating system. After /login/,
operators land on the Agency desktop (schema type: desktop): wallpaper,
icons, floating windows, drawer (Menu / Windows / Inbox). That desktop hosts
several apps (Help, Camera, Documents, Displays, System, …).
Mission Control is the dispatch app on that desktop. It is the operator surface for Agents, Missions, and Executions, plus the REST/Channels APIs that start, watch, continue, and resume those executions.
What it includes
Windows (default desktop / Menu → Dispatch):
Agents (
agents) — catalog explorer: properties, tools, related executionsMissions (
missions) — catalog explorer: prompt, loop, dispatchExecutions (
executions) — history listExecution windows (
execution.<uuid>) — live thread: conversation, collapsible tool steps, continue-turn, HITL overlay
APIs (same app, usable without the windows):
GET/POST /api/agent/,GET/PATCH /api/agent/<id>/GET/POST /api/mission/,GET/PATCH /api/mission/<id>/POST /api/mission/<id>/dispatch/— start an executionGET /api/execution/,GET /api/execution/<id>/continue-turn on the execution resource (Mission Control chat)
PATCH /api/interruption/<id>/— HITL answer (also via/channel/)
Realtime: REST hydrate + Channels projection on /channel/ (catalog observe,
thread messages, interruptions). Details: Connections.
What it is not
Do not call the following “Mission Control”:
The Agency desktop / SPA shell at
/Help, Camera, Documents, Search, Displays, System, Chat, user profile, schema inspector
Django admin (
/admin/,/system/,/custom/)Veronica (secretary agent) — she may open Mission Control windows, but she is not Mission Control
Those are other desktop apps or host surfaces. Schema types and Vue components:
Frontend components (agency-ui). Default layout: agency/data/default_desktop.json.
Operator flows
Execute — from Missions,
POST .../dispatch/→ openexecution.<id>→ timeline on/channel/filtered bythread_id.Loop missions — same Execution/Thread across iterations; supervisor
LoopDecisionbetween turns. Technical: Execution Runtime.Continue — operator chat in the execution window (not a new dispatch).
HITL — interruption frames → overlay → answer on
/channel/or REST. Tutorial: Human-in-the-Loop.
Bootstrap / observe from Python: Python: serving the SPA. Desktop window addresses: UI.