neural_conductor_shared/
protocol.rs1use serde::{Deserialize, Serialize};
4use super::{SessionId, TaskStatus};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub enum Request {
9 Ping,
11
12 ExecuteCommand {
14 session_id: SessionId,
15 command: String,
16 args: Vec<String>,
17 workdir: Option<String>,
18 },
19
20 CreateSession {
22 session_id: SessionId,
23 workspace_path: String,
24 },
25
26 TerminateSession {
28 session_id: SessionId,
29 },
30
31 GetSessionStatus {
33 session_id: SessionId,
34 },
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
39pub enum Response {
40 Pong {
42 agent_info: super::AgentInfo,
43 },
44
45 CommandResult {
47 session_id: SessionId,
48 exit_code: i32,
49 stdout: String,
50 stderr: String,
51 },
52
53 SessionCreated {
55 session_id: SessionId,
56 },
57
58 SessionTerminated {
60 session_id: SessionId,
61 },
62
63 SessionStatus {
65 session_id: SessionId,
66 status: TaskStatus,
67 },
68
69 Error {
71 message: String,
72 },
73}