Files
Genarrative/server-rs/crates/module-creative-agent/src/commands.rs
2026-05-08 11:44:42 +08:00

90 lines
3.0 KiB
Rust

use serde::{Deserialize, Serialize};
#[cfg(feature = "spacetime-types")]
use spacetimedb::SpacetimeType;
use crate::{
CreativeAgentMessageKind, CreativeAgentMessageRole, CreativeAgentStage,
CreativeInputSummarySnapshot, CreativeTargetPlayType, CreativeTargetStage,
};
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentSessionCreateInput {
pub session_id: String,
pub owner_user_id: String,
pub input_summary: CreativeInputSummarySnapshot,
pub welcome_message_id: Option<String>,
pub welcome_message_text: Option<String>,
pub created_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentSessionGetInput {
pub session_id: String,
pub owner_user_id: String,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentMessageAppendInput {
pub session_id: String,
pub owner_user_id: String,
pub message_id: String,
pub role: CreativeAgentMessageRole,
pub kind: CreativeAgentMessageKind,
pub text: String,
pub created_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentStageUpdateInput {
pub session_id: String,
pub owner_user_id: String,
pub stage: CreativeAgentStage,
pub updated_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentTemplateConfirmInput {
pub session_id: String,
pub owner_user_id: String,
pub template_selection_json: String,
pub updated_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentLevelPlanSaveInput {
pub session_id: String,
pub owner_user_id: String,
pub level_plan_json: String,
pub updated_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentTargetBindInput {
pub binding_id: String,
pub session_id: String,
pub owner_user_id: String,
pub play_type: CreativeTargetPlayType,
pub target_session_id: String,
pub target_stage: CreativeTargetStage,
pub result_profile_id: Option<String>,
pub created_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CreativeAgentFinalizeInput {
pub session_id: String,
pub owner_user_id: String,
pub stage: CreativeAgentStage,
pub assistant_message_id: Option<String>,
pub assistant_message_text: Option<String>,
pub updated_at_micros: i64,
}