ai_lib_rust/protocol/request.rs
1//! Unified request format for protocol compilation
2
3/// Unified request format (for protocol compilation)
4#[derive(Debug, Clone, Default)]
5pub struct UnifiedRequest {
6 /// Operation intent used for endpoint routing (e.g. "chat", "completions", "embeddings")
7 pub operation: String,
8 /// Provider model id (e.g. "deepseek-chat", "gpt-4o-mini")
9 pub model: String,
10 pub messages: Vec<crate::types::message::Message>,
11 pub temperature: Option<f64>,
12 pub max_tokens: Option<u32>,
13 pub stream: bool,
14 pub tools: Option<Vec<crate::types::tool::ToolDefinition>>,
15 /// OpenAI-style tool choice. Examples:
16 /// - "auto"
17 /// - "none"
18 /// - {"type":"function","function":{"name":"web_search"}}
19 pub tool_choice: Option<serde_json::Value>,
20}