claude_agent/session/state/
enums.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Default, Serialize, Deserialize)]
6#[serde(tag = "type", rename_all = "snake_case")]
7pub enum SessionMode {
8 #[default]
9 Stateless,
10 Stateful {
11 persistence: String,
12 },
13}
14
15#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
16#[serde(rename_all = "snake_case")]
17pub enum SessionState {
18 #[default]
19 Created,
20 Active,
21 WaitingForTools,
22 WaitingForUser,
23 Paused,
24 Completed,
25 Failed,
26 Cancelled,
27}
28
29#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
30#[serde(tag = "type", rename_all = "snake_case")]
31pub enum SessionType {
32 #[default]
33 Main,
34 Subagent {
35 agent_type: String,
36 description: String,
37 },
38}