gitdataai/lib/channel/event/ai.rs
2026-05-30 01:38:40 +08:00

45 lines
1.0 KiB
Rust

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::event::{AgentInfo, RoomInfo};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiAgentJoinedService {
pub room: RoomInfo,
pub agent: AgentInfo,
pub joined_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiAgentLeftService {
pub room: RoomInfo,
pub agent: AgentInfo,
pub left_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RoomAiEntry {
pub agent_session: Uuid,
pub name: String,
pub agent_kind: String,
pub model_version: Option<Uuid>,
pub enabled: bool,
pub auto_reply: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RoomAiListService {
pub room: RoomInfo,
pub agents: Vec<RoomAiEntry>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiAgentStatusChangedService {
pub room: RoomInfo,
pub agent: AgentInfo,
pub old_status: String,
pub new_status: String,
pub changed_at: DateTime<Utc>,
}