Expand description
Broker events with a typed payload (docs/specs/SPEC_TYPED_EVENT_PAYLOADS_2026_10_13.md).
Each event is a marker type naming its wire name and its payload type, declared once in the
events! list below. That list is also the schema: schema() (exported to
frontend/types/rpc/event-schema.json) feeds the generated MuxEventPayloads map, so the
frontend’s onMuxEvent(WpsEvent.X, (data) => …) gets data as the Rust type. Publish one with
Broker::publish_event. An event not listed here is still
published as a plain MuxEvent with untyped data.
An event sent under a name per id (agent:memory:changed:<agent id>) is a PerIdEvent,
declared in the per_id_events! list by the name before the id, and published with
Broker::publish_event_for.
Macros§
- client_
events 🔒 - events 🔒
- per_
id_ 🔒events
Structs§
- Agent
Content Changed - An agent’s stored content changed (
setagentcontent). - Agent
Context Usage Changed - Where an agent’s CLI auto-compacts.
- Agent
Credentials Revoked - An agent’s provider login was unlinked (
agentcredentials:revoked:<agent id>). - Agent
Event Stream - An agent pane’s output, translated (
agent_event:<block id>). - Agent
Failed - An agent failed, classified (
agents::failure). - Agent
History Changed - An entry was appended to an agent’s history.
- Agent
Identities Changed - An agent’s identity links changed (
agentidentities:changed:<agent id>). - Agent
Instances Changed - A definition’s instances changed (
agentinstances:changed:<definition id>). - Agent
Memory Changed - An agent’s native memory files changed (
agent:memory:changed:<agent id>). - Agent
Message Accepted - A queued message reached the agent.
- Agent
Process Added - A process joined an agent pane’s tree, or left it (
process_tracker::registry). - Agent
Process Exited - Agent
Progress - An agent’s checklist and current tool (
reactive::progress_watcher). - Agent
Progress Event agent:progress: an agent’s checklist and the tool it is running.- Agent
Reactive Registered - A reactive agent pane registered, or went (the Swarm refreshes).
- Agent
Reactive Unregistered - Agent
Resume Retry - A stale
--resumeis being retried, or the retry resolved. - Agent
Runtime - What an agent process runs with, and whether a restart is pending.
- Agent
Shutdown - One line of a closing agent pane’s shutdown log (
sagas::close_pane::publish_shutdown). - Agent
Shutdown Pending - A shutdown waiting for the user to keep the agent, and its end (
sagas::pending_shutdown). - Agent
Shutdown Pending Cleared - Agent
Skills Changed - The skills installed for an agent changed.
- Agent
Turn - An agent’s turn ledger changed (
blockcontroller::health::ledger_publisher). - Agents
Changed - The agents list changed.
- Ambient
Narration - A line of narration for an agent pane (
continued_note, the narrate route). - Ambient
Narration Event ambient-narration: a line to show in an agent pane.- Ambient
Spent - What one ambient model call spent (
ambient::spend). - AppServer
Output - One protocol frame from an app-server agent (
app_server_controller). - Attachment
Batch Done - Attachment
Failed - Attachment
Progress - An attachment batch’s progress, per item (
backend::attachments). - Attachment
Ready - Background
Task Updated - A pane’s background tasks changed; the dashboard reads the list again.
- Block
Activity - An agent pane’s activity, from its terminal title (
mps::publish_block_activity). - Block
Activity Event block:activity: what an agent pane is doing, from its terminal title.- Block
File - A block file changed: terminal output, an agent transcript append (
blockcontroller). - Block
RefEvent - An event about one pane:
background-task-updated,mcp:observed,agent:reactive-(un)registered. - Block
Reveal - Tell a window’s renderer to reveal a block (
notify::router). - Block
Stats - One pane’s process-tree stats sample (
sysinfo). - BtwAnswer
Chunk - One streamed piece of a side question’s answer (
agent_handlers::side_question). - BtwAnswer
Chunk Event btw_answer_chunk: one event of a side question’s answer.done(notevent.type) says the answer is complete.- Compaction
Started - Claude Code began compacting (
agentmux-bashwrap precompact). - Config
- The full config, redacted for the renderer: on connect, and when it changes.
- Config
Event config: the full config, redacted for the renderer.- Conn
Change - A connection’s status changed (
backend::remote::status). - Controller
Status - A block controller’s runtime status (
publish_controller_status). - Credentials
Revoked Event agentcredentials:revoked:<agent id>: the agent still holds the provider’s tokens until it restarts.- Cron
Changed - Scheduled jobs changed.
- Dispatch
Activity - A workflow dispatch’s coalesced new events.
- Dispatch
Updated - Dock
Clear muxspect dock clearremoved a node from a pane’s dock.- Dock
Clear Event dock:clear: the dock node to remove.- Drone
Run - One step of a drone run (
dronerun:<run id>). - Drones
Changed - The drones changed.
- Editor
File Changed - A file an editor pane shows changed on disk.
- Files
Changed - A folder a Files pane lists changed.
- Files
Changed Event files:changed: the folder that changed, as the Files pane shows it.- FilesOp
- A copy/move/delete job’s progress (
fs_ops::jobs). - Identity
Accounts Changed - The provider accounts changed.
- Identity
NoDirect Links - An agent instance’s identity has no direct links (
identity::resolver::inject); a diagnostic. - Install
Chunk - One line of an install’s output, or its end (
install.start,system.install). - Install
Progress - A line of an agent CLI’s install progress, for its pane (
mps::publish_install_progress). - Install
Progress Event install_progress: one line of install progress.- LanInstances
- The LAN peers this instance sees (
lan_discovery). - LanInstances
Error - LAN discovery couldn’t start, or a daemon rebuild failed.
- LanInstances
Firewall - The OS firewall’s verdict on LAN peers reaching this machine (
lan_firewall). - LanInstances
Health - Whether this instance is discoverable on every LAN interface (the mDNS watchdog).
- LspMessage
- One message from a language server (
lsp::supervisor). - LspMessage
Event lsp:message: one JSON-RPC message from a language server, as it sent it.- McpChanged
- The MCP servers changed.
- McpObserved
- A pane’s reported MCP servers changed (
mcp_observed). - Media
File Changed - A file a media pane shows changed on disk.
- Memories
Changed - Memory entries changed.
- MuxObj
Batched Updates - Several object updates from one atomic transition, applied in one flush (
EventBus::broadcast_mux_obj_updates). - MuxObj
Updated - A wave object changed (
wcore::event). - Muxbus
Status - Cloud delivery’s state changed (
muxbus::delivery_status). - Named
Agents Changed - A named agent was hidden.
- NoDirect
Links Event identity:no-direct-links: the instance and the identity that has no direct links.- Notification
- An OS notification to show, retract or act on (
notify::router). - Notification
Activate - Notification
Retract - Notification
State - What the notification tray shows (
notify::router). - Open
Floating Pane - Ask one window to open a pane as its own floating OS window (
app_api::pane). - Open
Floating Pane Event openfloatingpane: the pane to float, now alone in its own workspace.- Path
Changed Event editor:file_changed/media:file_changed: the file that changed.- Process
Added Event agent:process-added: a process joined an agent pane’s tree.- Process
Exited Event agent:process-exited: a process left an agent pane’s tree.- Process
Status Changed - A pane’s process status changed (
broker::process). - Protocol
Frame output: one app-server protocol frame, as the agent sent it.- Remotes
Changed - The configured remotes changed.
- Resume
Retry Event - The
agent-resume-retryevent’s payload (mps_events::AgentResumeRetry). - Shell
Chunk - One line a Shell command wrote, or its exit (
backend::shell_node). - Shell
Node Create - A Shell command started (
server::http_shell). - Singleton
Claim - A window claimed or released a singleton modal (
frontend/app/store/singleton-modal.ts). - Singleton
Claim Event singleton:claim, tosingleton:<kind>withpersist: 1: the latest one names the window holding that kind of singleton modal.- Skills
Changed - The skill library changed.
- SrvInfo
- srv’s version and machine, sent once on every WebSocket connect.
- Subagent
Abandoned - Subagent
Activity - New events from one subagent (
subagent_watcher). - Subagent
Backfill Status - A resumed pane’s subagent backfill started or finished.
- Subagent
Block Pruned - Subagent
Completed - Subagent
Named - Subagent
Spawned - Subagent
Updated - SysInfo
- One sysinfo sample for a connection (
sysinfo::run_sysinfo_loop). - Tool
Chunk - A line of a Bash call’s output, its exit, its pid or which call it is (
agentmux-bashwrap). - Tracked
Blocks Changed - The process broker’s set of tracked blocks changed.
- User
Attention - A call to action srv holds open started, or ended (
backend::user_attention). - Viewer
Paired - A mobile viewer paired with this machine (
http_viewer). - Viewer
Paired Event viewer:paired: the device that just paired.- Widget
Packages - The installed widget packages.
- Widget
Packages Event widgetpackages: every installed widget package.- Widget
Requests - The agents’ widget install requests waiting for the user.
- Widget
Requests Event widgetrequests: the install requests waiting for the user.- Widget
Storage - A widget package’s storage changed: which keys, never their values.
- Widget
Storage Event widgetstorage: the keys of a widget package’s storage that changed.- Work
Queue Changed - The work queue changed.
Traits§
- Event
- A broker event with a typed payload.
- PerId
Event - A broker event sent under a name per id: its prefix, then the id.
Functions§
- is_
client_ event - Whether
nameis one of the client events. - is_
per_ id_ event - Whether
nameis a per-id event’s name: one of the prefixes above, then an id. - is_
srv_ event - Whether only srv publishes
name: a declared event, or a per-id one, that isn’t a client event. Its subscribers read it as its payload type, so the relay doesn’t take it from outside. - is_
typed_ event - Whether
nameis one of the events above (not a per-id one:is_per_id_event). - payload_
data - An event’s
data: its payload as JSON, or none for an event that carries none ((), a pure “something changed” signal), so such an event goes out with nodatafield at all. - publish_
client_ event - Publishes an event a process outside srv sent (
POST /agentmux/wps/publish) if it is a client event:Noneifnameisn’t one, an error ifdataisn’t its payload type.