Skip to main content

siumai_protocol_openai/
lib.rs

1//! siumai-protocol-openai
2//!
3//! OpenAI(-like) protocol family mapping for siumai.
4//!
5//! This crate owns the vendor-agnostic protocol layer for the OpenAI family:
6//! - OpenAI-like protocol mapping (Chat/Embedding/Image/Rerank)
7//! - OpenAI-compatible protocol building blocks (types + transformers)
8//! - OpenAI Responses API mapping (feature-gated)
9//!
10//! Provider crates (e.g. `siumai-provider-openai`, `siumai-provider-xai`,
11//! `siumai-provider-openai-compatible`) should depend on this crate, and keep provider-specific
12//! quirks behind provider-owned presets/wrappers.
13#![deny(unsafe_code)]
14
15// Re-export the provider-agnostic core modules required by the standard implementation.
16// This preserves existing internal-style module paths in migrated code (e.g. `crate::types::*`).
17pub use siumai_core::{
18    LlmError, auth, client, core, defaults, encoding, error, execution, hosted_tools,
19    observability, retry, retry_api, streaming, tools, traits, types, utils,
20};
21
22/// Builder utilities shared across provider crates.
23pub mod builder {
24    pub use siumai_core::builder::*;
25}
26
27/// Protocol-owned typed metadata views.
28pub mod provider_metadata;
29
30pub mod standards;