Skip to main content

manabrew_protocol/prompts/
reorder_cards.rs

1use serde::{Deserialize, Serialize};
2use ts_rs::TS;
3
4use crate::game::CardDto;
5use crate::prompts::common::PromptPresentation;
6
7#[derive(Debug, Clone, Serialize, Deserialize, TS)]
8#[serde(rename_all = "camelCase")]
9#[ts(export, export_to = "prompts/reorderCards.ts")]
10pub struct ReorderCardsInput {
11    pub presentation: PromptPresentation,
12    pub cards: Vec<CardDto>,
13    pub target_label: String,
14    pub top_of_deck: bool,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize, TS)]
18#[serde(
19    tag = "type",
20    rename_all = "camelCase",
21    rename_all_fields = "camelCase"
22)]
23#[ts(export, export_to = "prompts/reorderCards.ts")]
24pub enum ReorderCardsOutput {
25    ReorderDecision { ordered_card_ids: Vec<String> },
26}