172 lines
5.1 KiB
Rust
172 lines
5.1 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct CreateSquareHoleSessionRequest {
|
|
#[serde(default)]
|
|
pub seed_text: Option<String>,
|
|
#[serde(default)]
|
|
pub theme_text: Option<String>,
|
|
#[serde(default)]
|
|
pub twist_rule: Option<String>,
|
|
#[serde(default)]
|
|
pub shape_count: Option<u32>,
|
|
#[serde(default)]
|
|
pub difficulty: Option<u32>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SendSquareHoleMessageRequest {
|
|
pub client_message_id: String,
|
|
pub text: String,
|
|
#[serde(default)]
|
|
pub quick_fill_requested: Option<bool>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct ExecuteSquareHoleActionRequest {
|
|
pub action: String,
|
|
#[serde(default)]
|
|
pub game_name: Option<String>,
|
|
#[serde(default)]
|
|
pub summary: Option<String>,
|
|
#[serde(default)]
|
|
pub tags: Option<Vec<String>>,
|
|
#[serde(default)]
|
|
pub cover_image_src: Option<String>,
|
|
#[serde(default)]
|
|
pub regenerate_visual_assets: Option<bool>,
|
|
#[serde(default)]
|
|
pub visual_asset_slot: Option<String>,
|
|
#[serde(default)]
|
|
pub visual_asset_option_id: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleShapeOptionResponse {
|
|
pub option_id: String,
|
|
pub shape_kind: String,
|
|
pub label: String,
|
|
pub target_hole_id: String,
|
|
pub image_prompt: String,
|
|
#[serde(default)]
|
|
pub image_src: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleHoleOptionResponse {
|
|
pub hole_id: String,
|
|
pub hole_kind: String,
|
|
pub label: String,
|
|
pub image_prompt: String,
|
|
#[serde(default)]
|
|
pub image_src: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleAnchorItemResponse {
|
|
pub key: String,
|
|
pub label: String,
|
|
pub value: String,
|
|
pub status: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleAnchorPackResponse {
|
|
pub theme: SquareHoleAnchorItemResponse,
|
|
pub twist_rule: SquareHoleAnchorItemResponse,
|
|
pub shape_count: SquareHoleAnchorItemResponse,
|
|
pub difficulty: SquareHoleAnchorItemResponse,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleCreatorConfigResponse {
|
|
pub theme_text: String,
|
|
pub twist_rule: String,
|
|
pub shape_count: u32,
|
|
pub difficulty: u32,
|
|
#[serde(default)]
|
|
pub shape_options: Vec<SquareHoleShapeOptionResponse>,
|
|
#[serde(default)]
|
|
pub hole_options: Vec<SquareHoleHoleOptionResponse>,
|
|
#[serde(default)]
|
|
pub background_prompt: String,
|
|
#[serde(default)]
|
|
pub cover_image_src: Option<String>,
|
|
#[serde(default)]
|
|
pub background_image_src: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleResultDraftResponse {
|
|
pub profile_id: String,
|
|
pub game_name: String,
|
|
pub theme_text: String,
|
|
pub twist_rule: String,
|
|
pub summary: String,
|
|
pub tags: Vec<String>,
|
|
#[serde(default)]
|
|
pub cover_image_src: Option<String>,
|
|
#[serde(default)]
|
|
pub background_prompt: String,
|
|
#[serde(default)]
|
|
pub background_image_src: Option<String>,
|
|
#[serde(default)]
|
|
pub shape_options: Vec<SquareHoleShapeOptionResponse>,
|
|
#[serde(default)]
|
|
pub hole_options: Vec<SquareHoleHoleOptionResponse>,
|
|
pub shape_count: u32,
|
|
pub difficulty: u32,
|
|
pub publish_ready: bool,
|
|
pub blockers: Vec<String>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleAgentMessageResponse {
|
|
pub id: String,
|
|
pub role: String,
|
|
pub kind: String,
|
|
pub text: String,
|
|
pub created_at: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleSessionSnapshotResponse {
|
|
pub session_id: String,
|
|
pub current_turn: u32,
|
|
pub progress_percent: u32,
|
|
pub stage: String,
|
|
pub anchor_pack: SquareHoleAnchorPackResponse,
|
|
pub config: SquareHoleCreatorConfigResponse,
|
|
#[serde(default)]
|
|
pub draft: Option<SquareHoleResultDraftResponse>,
|
|
pub messages: Vec<SquareHoleAgentMessageResponse>,
|
|
#[serde(default)]
|
|
pub last_assistant_reply: Option<String>,
|
|
#[serde(default)]
|
|
pub published_profile_id: Option<String>,
|
|
pub updated_at: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleSessionResponse {
|
|
pub session: SquareHoleSessionSnapshotResponse,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SquareHoleActionResponse {
|
|
pub session: SquareHoleSessionSnapshotResponse,
|
|
}
|