claude_agent/session/state/
config.rs1use serde::{Deserialize, Serialize};
4
5use super::enums::SessionMode;
6use super::policy::PermissionPolicy;
7
8#[derive(Clone, Debug, Serialize, Deserialize)]
9pub struct SessionConfig {
10 pub model: String,
11 pub max_tokens: u32,
12 #[serde(default)]
13 pub permission_policy: PermissionPolicy,
14 #[serde(default)]
15 pub mode: SessionMode,
16 pub ttl_secs: Option<u64>,
17 pub system_prompt: Option<String>,
18}
19
20impl Default for SessionConfig {
21 fn default() -> Self {
22 Self {
23 model: "claude-sonnet-4-5".to_string(),
24 max_tokens: 16384,
25 permission_policy: PermissionPolicy::default(),
26 mode: SessionMode::default(),
27 ttl_secs: None,
28 system_prompt: None,
29 }
30 }
31}