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};

/// BetaItem : Content item used to generate a response.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum BetaItem {
    BetaInputMessage(Box<models::BetaInputMessage>),
    BetaOutputMessage(Box<models::BetaOutputMessage>),
    BetaFileSearchToolCall(Box<models::BetaFileSearchToolCall>),
    BetaComputerToolCall(Box<models::BetaComputerToolCall>),
    BetaComputerCallOutputItemParam(Box<models::BetaComputerCallOutputItemParam>),
    BetaWebSearchToolCall(Box<models::BetaWebSearchToolCall>),
    BetaFunctionToolCall(Box<models::BetaFunctionToolCall>),
    BetaFunctionCallOutputItemParam(Box<models::BetaFunctionCallOutputItemParam>),
    BetaAgentMessageItemParam(Box<models::BetaAgentMessageItemParam>),
    BetaMultiAgentCallItemParam(Box<models::BetaMultiAgentCallItemParam>),
    BetaMultiAgentCallOutputItemParam(Box<models::BetaMultiAgentCallOutputItemParam>),
    BetaToolSearchCallItemParam(Box<models::BetaToolSearchCallItemParam>),
    BetaToolSearchOutputItemParam(Box<models::BetaToolSearchOutputItemParam>),
    BetaAdditionalToolsItemParam(Box<models::BetaAdditionalToolsItemParam>),
    BetaResponseConfigurationUpdateItemParam(Box<models::BetaResponseConfigurationUpdateItemParam>),
    BetaReasoningItem(Box<models::BetaReasoningItem>),
    BetaCompactionSummaryItemParam(Box<models::BetaCompactionSummaryItemParam>),
    BetaImageGenToolCall(Box<models::BetaImageGenToolCall>),
    BetaCodeInterpreterToolCall(Box<models::BetaCodeInterpreterToolCall>),
    BetaLocalShellToolCall(Box<models::BetaLocalShellToolCall>),
    BetaLocalShellToolCallOutput(Box<models::BetaLocalShellToolCallOutput>),
    BetaFunctionShellCallItemParam(Box<models::BetaFunctionShellCallItemParam>),
    BetaFunctionShellCallOutputItemParam(Box<models::BetaFunctionShellCallOutputItemParam>),
    BetaApplyPatchToolCallItemParam(Box<models::BetaApplyPatchToolCallItemParam>),
    BetaApplyPatchToolCallOutputItemParam(Box<models::BetaApplyPatchToolCallOutputItemParam>),
    BetaMcpListTools(Box<models::BetaMcpListTools>),
    BetaMcpApprovalRequest(Box<models::BetaMcpApprovalRequest>),
    BetaMcpApprovalResponse(Box<models::BetaMcpApprovalResponse>),
    BetaMcpToolCall(Box<models::BetaMcpToolCall>),
    BetaCustomToolCallOutput(Box<models::BetaCustomToolCallOutput>),
    BetaCustomToolCall(Box<models::BetaCustomToolCall>),
}

/// The role that provided the additional tools. Only `developer` is supported.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Role {
    Developer,
}

impl Default for Role {
    fn default() -> Role {
        Self::Developer
    }
}
/// The quality of the image generated by the image generation tool call. One of `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Quality {
    Low,
    Medium,
    High,
    Xhigh,
    Max,
    Auto,
}

impl Default for Quality {
    fn default() -> Quality {
        Self::Low
    }
}