openai-client-base 0.12.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};

/// RealtimeConversationItem : A single item within a Realtime conversation.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
#[allow(unreachable_patterns)]
pub enum RealtimeConversationItem {
    MessageSystem(Box<models::RealtimeConversationItemMessageSystem>),
    MessageUser(Box<models::RealtimeConversationItemMessageUser>),
    MessageAssistant(Box<models::RealtimeConversationItemMessageAssistant>),
    FunctionCall(Box<models::RealtimeConversationItemFunctionCall>),
    FunctionCallOutput(Box<models::RealtimeConversationItemFunctionCallOutput>),
    RealtimeMcpApprovalResponse(Box<models::RealtimeMcpApprovalResponse>),
    RealtimeMcpListTools(Box<models::RealtimeMcpListTools>),
    RealtimeMcpToolCall(Box<models::RealtimeMcpToolCall>),
    RealtimeMcpApprovalRequest(Box<models::RealtimeMcpApprovalRequest>),
}

/// Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
    RealtimeItem,
}

/// The status of the item. Has no effect on the conversation.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
    Completed,
    Incomplete,
    InProgress,
}

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