vtcode_core/gemini/models/
request.rs1use super::{Content, SystemInstruction, Tool, ToolConfig};
2use serde::{Deserialize, Serialize};
3use serde_json::Value;
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct GenerateContentRequest {
7 pub contents: Vec<Content>,
8 #[serde(skip_serializing_if = "Option::is_none")]
9 pub tools: Option<Vec<Tool>>,
10 #[serde(skip_serializing_if = "Option::is_none", rename = "toolConfig")]
11 pub tool_config: Option<ToolConfig>,
12 #[serde(skip_serializing_if = "Option::is_none", rename = "systemInstruction")]
13 pub system_instruction: Option<SystemInstruction>,
14 #[serde(skip_serializing_if = "Option::is_none", rename = "generationConfig")]
15 pub generation_config: Option<Value>,
16 #[serde(skip_serializing_if = "Option::is_none", rename = "reasoningConfig")]
17 pub reasoning_config: Option<Value>,
18}