use chrono::{DateTime, Utc};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use systemprompt_identifiers::{SessionId, UserId};
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct UserSummary {
pub id: UserId,
pub name: String,
pub email: String,
pub status: Option<String>,
pub roles: Vec<String>,
pub created_at: Option<DateTime<Utc>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct SessionSummary {
pub session_id: SessionId,
pub ip_address: Option<String>,
pub user_agent: Option<String>,
pub device_type: Option<String>,
pub started_at: Option<DateTime<Utc>>,
pub last_activity_at: Option<DateTime<Utc>>,
pub is_active: bool,
}