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

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ThreadItem {
    UserMessageItem(Box<models::UserMessageItem>),
    AssistantMessageItem(Box<models::AssistantMessageItem>),
    WidgetMessageItem(Box<models::WidgetMessageItem>),
    ClientToolCallItem(Box<models::ClientToolCallItem>),
    TaskItem(Box<models::TaskItem>),
    TaskGroupItem(Box<models::TaskGroupItem>),
}

/// Type discriminator that is always `chatkit.thread_item`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
    ChatkitThreadItem,
}

impl Default for Object {
    fn default() -> Object {
        Self::ChatkitThreadItem
    }
}