pub mod assistants;
pub mod audio;
pub mod batch;
pub mod chat;
pub mod completions;
pub mod embeddings;
pub mod files;
pub mod fine_tuning;
pub mod images;
pub mod models;
pub mod moderations;
pub mod responses;
pub mod threads;
pub mod uploads;
pub mod usage;
pub mod vector_stores;
pub use assistants::{
assistant_with_code_interpreter, assistant_with_file_search, assistant_with_instructions,
assistant_with_tools, simple_assistant, simple_run, simple_thread, streaming_run,
temperature_run, tool_code_interpreter, tool_file_search, AssistantBuilder, AssistantTool,
RunBuilder, ThreadBuilder,
};
pub use audio::*;
pub use batch::*;
pub use chat::{
image_base64_part, image_base64_part_with_detail, image_url_part, image_url_part_with_detail,
system_user, text_part, tool_web_search, user_message, ChatCompletionBuilder,
};
pub use completions::*;
pub use embeddings::*;
pub use files::*;
pub use fine_tuning::*;
pub use images::*;
pub use models::*;
pub use moderations::*;
pub use responses::*;
pub use threads::*;
pub use uploads::*;
pub use usage::*;
pub use vector_stores::*;
pub trait Builder<T> {
fn build(self) -> crate::Result<T>;
}
pub trait Sendable<R> {
async fn send(self) -> crate::Result<R>;
}