agtrace_runtime/runtime/
events.rs

1use agtrace_engine::AgentSession;
2use agtrace_index::SessionSummary;
3use agtrace_types::AgentEvent;
4use std::path::PathBuf;
5
6#[derive(Debug, Clone)]
7pub enum DiscoveryEvent {
8    NewSession {
9        summary: SessionSummary,
10    },
11    SessionUpdated {
12        session_id: String,
13        provider_name: String,
14        is_new: bool,
15    },
16    SessionRemoved {
17        session_id: String,
18    },
19}
20
21#[derive(Debug, Clone)]
22pub enum StreamEvent {
23    Attached {
24        session_id: String,
25        path: PathBuf,
26    },
27    Events {
28        events: Vec<AgentEvent>,
29        session: Option<AgentSession>,
30    },
31    Disconnected {
32        reason: String,
33    },
34}
35
36#[derive(Debug, Clone)]
37pub enum WorkspaceEvent {
38    Discovery(DiscoveryEvent),
39    Stream(StreamEvent),
40    Error(String),
41}