openai-client-base 0.16.0

Auto-generated Rust client for the OpenAI API
/*
 * OpenAI API
 *
 * The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
 *
 * The version of the OpenAPI document: 2.3.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// AgentOutputItemResource : An output item produced by an agent.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum AgentOutputItemResource {
    AssistantMessageItemResource(Box<models::AssistantMessageItemResource>),
    ReasoningItemResource(Box<models::ReasoningItemResource>),
    FunctionCallItemResource(Box<models::FunctionCallItemResource>),
    McpCallItemResource(Box<models::McpCallItemResource>),
    ComputerUseCallItemResource(Box<models::ComputerUseCallItemResource>),
    BrowserAuthenticationRequestItemResource(Box<models::BrowserAuthenticationRequestItemResource>),
    WebSearchCallItemResource(Box<models::WebSearchCallItemResource>),
    CommandExecutionItemResource(Box<models::CommandExecutionItemResource>),
    CreateSubagentCallItemResource(Box<models::CreateSubagentCallItemResource>),
    SendSubagentInputCallItemResource(Box<models::SendSubagentInputCallItemResource>),
    ResumeSubagentCallItemResource(Box<models::ResumeSubagentCallItemResource>),
    WaitForSubagentsCallItemResource(Box<models::WaitForSubagentsCallItemResource>),
    InterruptSubagentCallItemResource(Box<models::InterruptSubagentCallItemResource>),
    CloseSubagentCallItemResource(Box<models::CloseSubagentCallItemResource>),
}

/// The role of the message author. Always `assistant`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Role {
    Assistant,
}

impl Default for Role {
    fn default() -> Role {
        Self::Assistant
    }
}