Skip to main content

DaemonMessage

Enum DaemonMessage 

Source
pub enum DaemonMessage {
Show 19 variants AuthOk(AuthOkMsg), ResponseOk { request_id: String, data: Option<Value>, }, ResponseError { request_id: String, error: String, code: ErrorCode, }, SessionListResult { request_id: String, sessions: Vec<SessionInfo>, }, ModelsListResult { request_id: String, models: Vec<ModelInfo>, live: bool, provider: Option<String>, }, SessionMessage(SessionMessage), SessionMessageDelta(SessionMessageDelta), SessionStatusChange { session_id: String, status: SessionStatus, timestamp: String, }, SessionInfoUpdate { session: SessionInfo, timestamp: String, }, ScrollbackReplay { session_id: String, messages: Vec<SessionMessage>, tail: Option<bool>, has_more: Option<bool>, }, ScrollbackPageResult { request_id: String, session_id: String, messages: Vec<SessionMessage>, has_more: bool, source: String, }, SessionSearchResult { request_id: String, query: String, sessions: Vec<SessionSearchHit>, workspace_id: String, limit: u32, }, ClaudeConfigResult { request_id: String, workdir: String, agents: Vec<ClaudeConfigAgent>, skills: Vec<ClaudeConfigSkill>, mcp_servers: Vec<ClaudeConfigMcpServer>, hooks: Vec<ClaudeConfigHook>, }, SessionExportResult { request_id: String, manifest: SessionExportManifest, payload: SessionExportPayload, }, SessionImportResult { request_id: String, new_session_id: String, imported_messages: u32, imported_episodes: u32, imported_turns: u32, pinned_files_written: u32, warnings: Vec<String>, }, SessionUiRequest(SessionUiRequestMsg), SessionUiResolved { session_id: String, request_id: String, reason: UiResolvedReason, timestamp: String, }, SessionCommandsResult { request_id: String, session_id: String, provider_id: String, commands: Vec<ProviderCommand>, }, Unknown,
}
Expand description

Tagged union of every message the daemon can push to a client.

Variants§

§

AuthOk(AuthOkMsg)

§

ResponseOk

Fields

§request_id: String
§

ResponseError

Fields

§request_id: String
§error: String
§

SessionListResult

Fields

§request_id: String
§sessions: Vec<SessionInfo>
§

ModelsListResult

Fields

§request_id: String
§models: Vec<ModelInfo>
§live: bool

True when these came from the live backend; false = built-in fallback.

§provider: Option<String>

Which backend this catalog is for — lets the client drop a stale result after a fast backend switch. Absent on older daemons.

§

SessionMessage(SessionMessage)

§

SessionMessageDelta(SessionMessageDelta)

§

SessionStatusChange

Fields

§session_id: String
§timestamp: String
§

SessionInfoUpdate

Fields

§session: SessionInfo
§timestamp: String
§

ScrollbackReplay

Fields

§session_id: String
§tail: Option<bool>

scrollback.paging: this snapshot is only the NEWEST window; older history is fetched on demand via scrollback.page.

§has_more: Option<bool>

With tail: true — whether history older than the window exists.

§

ScrollbackPageResult

Answer to scrollback.page — history strictly OLDER than the anchor, oldest→newest; the client PREPENDS (dedup by message id).

Fields

§request_id: String
§session_id: String
§has_more: bool
§source: String

“buffer” | “transcript” — diagnostics only; kept as a string so new sources stay wire-additive.

§

SessionSearchResult

Fields

§request_id: String
§query: String
§workspace_id: String
§limit: u32
§

ClaudeConfigResult

§

SessionExportResult

Fields

§request_id: String
§

SessionImportResult

Fields

§request_id: String
§new_session_id: String
§imported_messages: u32
§imported_episodes: u32
§imported_turns: u32
§pinned_files_written: u32
§warnings: Vec<String>
§

SessionUiRequest(SessionUiRequestMsg)

Provider-initiated dialog (extension confirm gates, pick-one lists, free text). Only sent to clients that declared the ui.dialogs capability on their auth frame; answered with ClientMessage::SessionUiResponse. The daemon re-sends pending requests on attach and enforces timeout_ms itself — clients only display the countdown.

§

SessionUiResolved

A dialog settled (answered here or elsewhere, timed out, or the turn was interrupted). Dismiss the local copy; unknown reasons = dismiss.

Fields

§session_id: String
§request_id: String
§timestamp: String
§

SessionCommandsResult

Reply to session.commands — the backing provider’s slash-command catalog (extension commands, prompt templates, skills). Invoke by sending "/name args" as plain session.send text.

Fields

§request_id: String
§session_id: String
§provider_id: String
§

Unknown

Forward-compat sink. Preserves raw JSON so the TUI can log it.

Trait Implementations§

Source§

impl Clone for DaemonMessage

Source§

fn clone(&self) -> DaemonMessage

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DaemonMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DaemonMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for DaemonMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.