#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. |