Skip to main content

ai_agent/utils/
session_start.rs

1//! Session start utilities.
2
3use serde::{Deserialize, Serialize};
4
5/// Session start configuration
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct SessionStartConfig {
8    pub model: Option<String>,
9    pub system_prompt: Option<String>,
10    pub temperature: Option<f32>,
11    pub max_tokens: Option<u32>,
12}
13
14impl Default for SessionStartConfig {
15    fn default() -> Self {
16        Self {
17            model: None,
18            system_prompt: None,
19            temperature: None,
20            max_tokens: None,
21        }
22    }
23}
24
25/// Create a new session
26pub fn create_session(config: SessionStartConfig) -> SessionStartResult {
27    // Generate a new session ID
28    let session_id = uuid::Uuid::new_v4().to_string();
29
30    SessionStartResult { session_id, config }
31}
32
33/// Result of session creation
34#[derive(Debug, Clone)]
35pub struct SessionStartResult {
36    pub session_id: String,
37    pub config: SessionStartConfig,
38}