steer_grpc/client_api/
event.rs1use super::types::{
2 CompactResult, CompactionRecord, McpServerState, Message, MessageId, ModelId, OpId,
3 QueuedWorkItem, RequestId, SessionConfig, ToolCall, ToolCallDelta, ToolCallId, ToolResult,
4};
5
6#[derive(Debug, Clone)]
7pub enum ClientEvent {
8 AssistantMessageAdded {
9 message: Message,
10 model: ModelId,
11 },
12 UserMessageAdded {
13 message: Message,
14 },
15 ToolMessageAdded {
16 message: Message,
17 },
18 MessageUpdated {
19 message: Message,
20 },
21 MessageDelta {
22 id: MessageId,
23 delta: String,
24 },
25 ThinkingDelta {
26 op_id: OpId,
27 message_id: MessageId,
28 delta: String,
29 },
30 ToolCallDelta {
31 op_id: OpId,
32 message_id: MessageId,
33 tool_call_id: ToolCallId,
34 delta: ToolCallDelta,
35 },
36
37 CompactResult {
38 result: CompactResult,
39 },
40
41 ConversationCompacted {
42 record: CompactionRecord,
43 },
44
45 ToolStarted {
46 id: ToolCallId,
47 name: String,
48 parameters: serde_json::Value,
49 },
50 ToolCompleted {
51 id: ToolCallId,
52 name: String,
53 result: ToolResult,
54 },
55 ToolFailed {
56 id: ToolCallId,
57 name: String,
58 error: String,
59 },
60
61 ApprovalRequested {
62 request_id: RequestId,
63 tool_call: ToolCall,
64 },
65
66 ProcessingStarted {
67 op_id: OpId,
68 },
69 ProcessingCompleted {
70 op_id: OpId,
71 },
72 OperationCancelled {
73 op_id: OpId,
74 pending_tool_calls: usize,
75 popped_queued_item: Option<QueuedWorkItem>,
76 },
77 WorkspaceChanged,
78 WorkspaceFiles {
79 files: Vec<String>,
80 },
81 Error {
82 message: String,
83 },
84 McpServerStateChanged {
85 server_name: String,
86 state: McpServerState,
87 },
88 SessionConfigUpdated {
89 config: Box<SessionConfig>,
90 primary_agent_id: String,
91 },
92
93 QueueUpdated {
94 head: Option<QueuedWorkItem>,
95 count: usize,
96 },
97}