pub enum DaemonMessage {
Show 30 variants
Frame {
tab_id: u64,
frame: EcsFrame,
metadata: PageMetadata,
},
FrameDelta {
tab_id: u64,
sequence_number: u64,
scroll_offset: (f32, f32),
viewport: (f32, f32),
entities: ChangedEntities,
},
Metadata {
tab_id: u64,
title: String,
url: String,
},
Error {
tab_id: u64,
code: ErrorCode,
description: String,
},
EvaluateResult {
tab_id: u64,
result: String,
},
FoundEntities {
tab_id: u64,
entities: Vec<EntitySummary>,
},
Navigate {
tab_id: u64,
url: String,
format: u8,
},
Scroll {
tab_id: u64,
dx: f32,
dy: f32,
},
Click {
tab_id: u64,
x: f32,
y: f32,
},
Input {
tab_id: u64,
text: String,
},
Resize {
tab_id: u64,
width: u32,
height: u32,
},
NewTab {
url: Option<String>,
},
CloseTab {
tab_id: u64,
},
GoBack {
tab_id: u64,
},
GoForward {
tab_id: u64,
},
Evaluate {
tab_id: u64,
js: String,
timeout_ms: u32,
},
FindEntities {
tab_id: u64,
query: EntityQuery,
},
EntitySnapshot {
tab_id: u64,
},
ClickEntity {
tab_id: u64,
entity_id: u64,
},
InputEntity {
tab_id: u64,
entity_id: u64,
value: String,
},
ActionLog {
tab_id: u64,
entries: Vec<ActionEntry>,
},
ClickSelector {
tab_id: u64,
query: EntityQuery,
},
GetActionLog {
tab_id: u64,
},
CompareTabs {
tab_a: u64,
tab_b: u64,
},
TabComparison {
tab_a: u64,
tab_b: u64,
summary: String,
},
TransferTab {
from: u64,
to: u64,
},
Health,
HealthResult {
pid: u32,
uptime_secs: u64,
rss_kb: u64,
connections: u32,
version: String,
},
ApiKey {
key: String,
},
Handshake {
version: u32,
capabilities: Vec<String>,
},
}Expand description
Messages sent over Unix Domain Socket between daemon and client.
⚠ DISCRIMINANT ORDER IS FIXED — never reorder, never insert between groups. Adding new variants: APPEND to the end. Reordering WILL silently break all existing clients via bincode encoding.
Current layout: Daemon→Client: Frame=0, FrameDelta=1, Metadata=2, Error=3, EvaluateResult=4, FoundEntities=5 Client→Daemon: Navigate=6, Scroll=7, Click=8, Input=9, Resize=10, NewTab=11, CloseTab=12, GoBack=13, GoForward=14, Evaluate=15 Agent: FindEntities=16, EntitySnapshot=17, ClickEntity=18, InputEntity=19 Extensions: ActionLog=20, ClickSelector=21, GetActionLog=22, CompareTabs=23, TabComparison=24, TransferTab=25 Health: Health=26, HealthResult=27 Auth/Version: ApiKey=28, Handshake=29
Variants§
Frame
FrameDelta
Fields
entities: ChangedEntitiesMetadata
Error
EvaluateResult
FoundEntities
Scroll
Click
Input
Resize
NewTab
CloseTab
GoBack
GoForward
Evaluate
FindEntities
EntitySnapshot
ClickEntity
InputEntity
ActionLog
Daemon → Client: action history for agent reasoning.
ClickSelector
Click the first entity matching a semantic selector.
GetActionLog
Get action history for a tab.
CompareTabs
Compare two tabs’ entity states.
TabComparison
Daemon → Client: result of CompareTabs.
TransferTab
Transfer focus / content from one tab to another.
Health
Client → Daemon: request daemon health/status info.
HealthResult
Daemon → Client: health/status response.
ApiKey
Client → Daemon: authenticate with API key (must be first message).
Handshake
Bidirectional: protocol version handshake.
Trait Implementations§
Source§impl Clone for DaemonMessage
impl Clone for DaemonMessage
Source§fn clone(&self) -> DaemonMessage
fn clone(&self) -> DaemonMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more