gproxy_protocol/protocol/claude/common/
fallback.rs1use serde::{Deserialize, Serialize};
2
3use super::{ClaudeModel, JsonObject, OutputConfig, Speed, ThinkingConfig};
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub struct FallbackParam {
10 pub model: ClaudeModel,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub max_tokens: Option<u64>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub output_config: Option<OutputConfig>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub speed: Option<Speed>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub thinking: Option<ThinkingConfig>,
19 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
20 pub extra: JsonObject,
21}