Jam architecture main at 59f67f5d0 · 2026-09-29
View source

#Daemon event kinds

Sources: crates/jam-domain/src/event.rs, apps/desktop/src/stores/daemon.ts.

Control::events streams these EventKind values to every client as newline-delimited JSON on GET /v1/events. Delivery is best-effort: events can drop under burst or disconnect, so the query methods remain the source of truth and clients re-hydrate after a gap. The desktop column shows whether useDaemonStore.applyEvent has a case for the kind.

Kind Desktop applyEvent Meaning
room_connectivity_changed yes Complete manager-owned external connectivity for one observed room.
peer_added yes A peer was added to the registry (provisioned + started).
peer_removed yes A peer was removed from the registry (stopped + deleted).
chat_added yes The peer was added to (or created) a chat room — the UI adds the row live.
chat_title_changed yes A room's display title changed.
chat_removed yes The peer was removed from a chat room — the UI drops the row.
participant_added yes A participant joined a room the peer is in — the UI adds them live.
participant_removed yes A participant left a room the peer is in — the UI drops them.
participant_blocked yes A participant became blocked.
participant_presence_replaced yes A successful participant-channel join supplied a complete replacement.
participant_presence_changed yes One participant-presence value changed within an accepted join generation.
participant_presence_unavailable yes The participant channel stopped supplying authoritative room evidence.
remote_activity_replaced yes A room-activity join supplied the complete ephemeral working set.
remote_activity_changed yes One remote execution started or stopped working.
remote_activity_unavailable yes One room-activity topic stopped supplying authoritative state.
remote_activity_reset yes The enclosing feed ended one connection generation.
room_live_state_reset yes A fresh IPC subscription replaces all Platform-derived room live state.
peer_state yes A peer's worker state changed.
peer_updated yes A peer's record changed in place — e.g.
peer_activity yes A message flowed through the peer's worker (inbound or outbound) — the UI stamps the peer's last_activity_at so the connectivity glyph's recency fill stays fresh without a re-hydrate.
inbound yes A newly-queued inbound message.
queued_unrouted A message was retained because no live session owned its room.
warning yes A non-fatal warning (e.g.
runtime_issue yes Set or clear a non-terminal issue owned by one exact room session.
error yes A fatal error for the peer.
work_items yes A room's Layer-1 work-item list changed — the UI replaces that lane wholesale (last-write-wins).
task_lane_changed yes An authoritative Layer-1 task lane changed (doc 73 §3.3) — a compact, fixed-size invalidation, never the fat per-room list: the transport is a drop-prone cap-256 broadcast, so the client hydrates the changed lane via paginated lane_task_list instead of trusting a pushed payload.
stream_resync yes Relay-internal in-band marker — not a peer event. A bounded manager or client event stream dropped one or more events without ending the connection.
room_board yes A room's shared task board changed — the UI replaces that board wholesale (last-write-wins keyed by chat_id).
room_plan yes A room's plan changed — the attached document, its cached body, or the live node overlay (an agent's focus/status move).
room_artifacts yes A room's artifact list changed — a file was attached, bound, or deleted.
room_message yes An unsequenced local projection for a daemon- or runtime-originated room row.
room_thought_stream yes Ephemeral local-only thought snapshot.
room_directory_snapshot yes A complete account room-directory replacement after successful cursor enumeration.
fresh_room_directory yes A successful, complete remote room-directory refresh accepted by the manager.
room_head_snapshot yes Complete retained newest-head replacement for one room.
inbox_snapshot yes Complete combined Inbox replacement for one account.
inbox_attention_changed yes Durable Inbox attention changed for one account.
attention_candidate A direct human mention committed to durable attention storage.
notification_preferences_changed yes Installation-wide operating-system notification preferences changed.
room_recovery_status yes Recovery status changed independently of a snapshot payload.
room_message_mutation yes A sequence-bearing server observation from the active human room feed.
room_org yes The human's local room organization changed (pins / folders / assignments / collapse) for the account whose human/<profile> sentinel peer is on the enclosing [Event].
activity yes A bound coding-agent session reported activity — a turn, a tool call, a notification, or session lifecycle (doc 31).
artifact_fetch_progress yes A file download moved.
runtime_gauges yes A daemon-owned runtime's gauges changed (doc 54 W5): the account-scoped plan/rate-limit snapshot and/or the per-thread context pressure.
account_rate_limits yes A provider account's plan windows changed.
agent_questions_asked yes A runtime asked the room a question and it was attached to a Work-board task — the Human-in-the-loop column projection (doc 54a G1 + the HITL board spec).
agent_questions_resolved yes The question group resolved (answered in the room / from the board, or timed out) — the card returns to In progress.
agent_question_reply_accepted yes The manager accepted a specific room reply for a question group.
runtime_permission_requested yes A daemon-owned runtime asked for permission to continue an action.
runtime_permission_resolved yes A runtime permission request reached a terminal decision.
stats_changed yes The account's analytics counters changed (any stats bump path: the live human feed, a local agent's outbound funnel write, or the startup backfill).
discovery_changed yes The LAN-discovery view changed (a source appeared/refreshed/left, or the discoverable toggle moved).
experiments_changed yes The daemon-global experiment snapshot changed.
deployment_changed yes The daemon's deployment selection or affected account set changed.
teams_changed yes The profile's teams changed (created, edited, deleted, or imported).
contacts_changed yes The contacts graph changed for some scope (a WS contact event, or a local mutation converged).
account_auth_changed yes An account's live authentication state changed (doc 55 TJ-3): the daemon refresh loop entered auth_required (refresh token rejected) or recovered to active.
Scroll to zoom, drag to pan.