Skip to main content

objectiveai_sdk/agent/completions/request/
agent_completion_create_params.rs

1//! Agent completion request parameters.
2
3use serde::{Deserialize, Serialize};
4use schemars::JsonSchema;
5
6/// Parameters for creating a agent completion.
7#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
8#[schemars(rename = "agent.completions.request.AgentCompletionCreateParams")]
9pub struct AgentCompletionCreateParams {
10    /// The conversation messages.
11    pub messages: Vec<super::super::message::Message>,
12    /// Provider routing preferences.
13    #[serde(skip_serializing_if = "Option::is_none")]
14    #[schemars(extend("omitempty" = true))]
15    pub provider: Option<super::Provider>,
16    /// The agent to use (inline Agent or stored ID).
17    pub agent: crate::agent::InlineAgentBaseWithFallbacksOrRemoteCommitOptional,
18    /// Output format constraints (text, JSON, or JSON schema).
19    #[serde(skip_serializing_if = "Option::is_none")]
20    #[schemars(extend("omitempty" = true))]
21    pub response_format: Option<super::ResponseFormatParam>,
22    /// Random seed for deterministic generation.
23    #[serde(skip_serializing_if = "Option::is_none")]
24    #[schemars(extend("omitempty" = true))]
25    pub seed: Option<i64>,
26    /// Whether to stream the response.
27    #[serde(skip_serializing_if = "Option::is_none")]
28    #[schemars(extend("omitempty" = true))]
29    pub stream: Option<bool>,
30    /// Continuation from a previous completion, as a base64-encoded string.
31    #[serde(skip_serializing_if = "Option::is_none")]
32    #[schemars(extend("omitempty" = true))]
33    pub continuation: Option<String>,
34}