Skip to main content

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}